@sapui5/sap.fe.macros 1.142.0 → 1.143.0

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 (102) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/macros/.library +1 -1
  3. package/src/sap/fe/macros/CollaborativeDraftHandler.js +1 -7
  4. package/src/sap/fe/macros/CollaborativeDraftHandler.tsx +0 -6
  5. package/src/sap/fe/macros/ConditionalSwitch.js +1 -2
  6. package/src/sap/fe/macros/ConditionalSwitch.tsx +0 -1
  7. package/src/sap/fe/macros/ConditionalSwitchProperty.js +1 -3
  8. package/src/sap/fe/macros/ConditionalSwitchProperty.tsx +0 -2
  9. package/src/sap/fe/macros/Field.js +5 -5
  10. package/src/sap/fe/macros/Field.ts +5 -3
  11. package/src/sap/fe/macros/FooterContent.js +3 -2
  12. package/src/sap/fe/macros/FooterContent.tsx +2 -10
  13. package/src/sap/fe/macros/KPITag.js +6 -6
  14. package/src/sap/fe/macros/KPITag.tsx +5 -5
  15. package/src/sap/fe/macros/MacroAPI.js +2 -2
  16. package/src/sap/fe/macros/MacroAPI.ts +1 -1
  17. package/src/sap/fe/macros/MessageButton.js +3 -3
  18. package/src/sap/fe/macros/MessageButton.tsx +3 -2
  19. package/src/sap/fe/macros/MicroChart.js +3 -2
  20. package/src/sap/fe/macros/MicroChart.tsx +1 -1
  21. package/src/sap/fe/macros/Share.js +7 -7
  22. package/src/sap/fe/macros/Share.tsx +9 -6
  23. package/src/sap/fe/macros/Status.js +6 -5
  24. package/src/sap/fe/macros/Status.tsx +3 -4
  25. package/src/sap/fe/macros/ai/EasyFillDialog.js +2 -1
  26. package/src/sap/fe/macros/ai/EasyFillDialog.tsx +1 -0
  27. package/src/sap/fe/macros/ai/SummarizationButton.js +6 -4
  28. package/src/sap/fe/macros/ai/SummarizationButton.tsx +5 -3
  29. package/src/sap/fe/macros/chart/ChartDelegate.js +22 -1
  30. package/src/sap/fe/macros/chart/ChartDelegate.ts +29 -2
  31. package/src/sap/fe/macros/chart/MdcChartTemplate.js +5 -2
  32. package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +5 -2
  33. package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.js +7 -7
  34. package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.ts +3 -2
  35. package/src/sap/fe/macros/controls/FileWrapper.js +11 -5
  36. package/src/sap/fe/macros/controls/FileWrapper.ts +10 -4
  37. package/src/sap/fe/macros/controls/NumberWithUnitOrCurrency.js +3 -1
  38. package/src/sap/fe/macros/controls/NumberWithUnitOrCurrency.tsx +2 -0
  39. package/src/sap/fe/macros/coreUI/CreateDialog.js +2 -2
  40. package/src/sap/fe/macros/coreUI/CreateDialog.tsx +1 -1
  41. package/src/sap/fe/macros/coreUI/OperationParameterDialog.js +4 -4
  42. package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +3 -3
  43. package/src/sap/fe/macros/field/FieldFormatOptions.js +2 -2
  44. package/src/sap/fe/macros/field/FieldFormatOptions.ts +1 -1
  45. package/src/sap/fe/macros/field/FieldRuntime.js +7 -2
  46. package/src/sap/fe/macros/field/FieldRuntime.ts +7 -1
  47. package/src/sap/fe/macros/filter/FilterUtils.js +31 -5
  48. package/src/sap/fe/macros/filter/FilterUtils.ts +40 -6
  49. package/src/sap/fe/macros/filterBar/FilterBarAPI.js +6 -3
  50. package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +5 -1
  51. package/src/sap/fe/macros/filterBar/FilterBarDelegate.js +19 -9
  52. package/src/sap/fe/macros/filterBar/FilterBarDelegate.ts +76 -61
  53. package/src/sap/fe/macros/filterBar/UOMValidationDelegate.js +376 -0
  54. package/src/sap/fe/macros/filterBar/UOMValidationDelegate.ts +463 -0
  55. package/src/sap/fe/macros/form/FormContainer.block.js +22 -6
  56. package/src/sap/fe/macros/form/FormContainer.block.ts +24 -6
  57. package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +2 -2
  58. package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.ts +2 -1
  59. package/src/sap/fe/macros/library.js +5 -6
  60. package/src/sap/fe/macros/{library.ts → library.tsx} +1 -1
  61. package/src/sap/fe/macros/messagebundle.properties +6 -0
  62. package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +1 -1
  63. package/src/sap/fe/macros/messages/MessageButton.js +21 -12
  64. package/src/sap/fe/macros/messages/MessageButton.ts +21 -11
  65. package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.js +7 -3
  66. package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.ts +8 -2
  67. package/src/sap/fe/macros/quickView/QuickView.js +5 -4
  68. package/src/sap/fe/macros/quickView/QuickView.tsx +10 -3
  69. package/src/sap/fe/macros/table/Action.js +7 -4
  70. package/src/sap/fe/macros/table/Action.ts +3 -3
  71. package/src/sap/fe/macros/table/Column.js +3 -2
  72. package/src/sap/fe/macros/table/Column.ts +1 -1
  73. package/src/sap/fe/macros/table/MdcTableTemplate.js +6 -9
  74. package/src/sap/fe/macros/table/MdcTableTemplate.tsx +5 -7
  75. package/src/sap/fe/macros/table/Table.block.js +6 -3
  76. package/src/sap/fe/macros/table/Table.block.tsx +13 -3
  77. package/src/sap/fe/macros/table/TableAPI.js +13 -8
  78. package/src/sap/fe/macros/table/TableAPI.ts +10 -3
  79. package/src/sap/fe/macros/table/TableDefinition.js +2 -2
  80. package/src/sap/fe/macros/table/TableDefinition.ts +1 -1
  81. package/src/sap/fe/macros/table/TableEventHandlerProvider.js +3 -1
  82. package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +4 -0
  83. package/src/sap/fe/macros/table/TableRuntime.js +24 -12
  84. package/src/sap/fe/macros/table/TableRuntime.ts +27 -11
  85. package/src/sap/fe/macros/table/Utils.js +9 -3
  86. package/src/sap/fe/macros/table/Utils.ts +14 -8
  87. package/src/sap/fe/macros/table/delegates/TableDelegate.js +6 -4
  88. package/src/sap/fe/macros/table/delegates/TableDelegate.ts +6 -5
  89. package/src/sap/fe/macros/table/massEdit/MassEditDialog.js +41 -15
  90. package/src/sap/fe/macros/table/massEdit/MassEditDialog.tsx +41 -22
  91. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.js +14 -5
  92. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.tsx +13 -4
  93. package/src/sap/fe/macros/table/mixin/ContextMenuHandler.js +2 -3
  94. package/src/sap/fe/macros/table/mixin/ContextMenuHandler.ts +3 -2
  95. package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.js +37 -10
  96. package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.ts +39 -15
  97. package/src/sap/fe/macros/table/mixin/TableHierarchy.js +3 -4
  98. package/src/sap/fe/macros/table/mixin/TableHierarchy.ts +2 -3
  99. package/src/sap/fe/macros/table/uploadTable/UploadTableRuntime.js +5 -4
  100. package/src/sap/fe/macros/table/uploadTable/UploadTableRuntime.ts +6 -3
  101. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +17 -10
  102. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +24 -9
@@ -1,4 +1,4 @@
1
- import type { PrimitiveType, PropertyPath } from "@sap-ux/vocabularies-types";
1
+ import type { NavigationProperty, PrimitiveType, PropertyPath } from "@sap-ux/vocabularies-types";
2
2
  import type { AggregatedProperty } from "@sap-ux/vocabularies-types/vocabularies/Analytics";
3
3
  import { AnalyticsAnnotationTerms } from "@sap-ux/vocabularies-types/vocabularies/Analytics";
4
4
  import { CoreAnnotationTerms } from "@sap-ux/vocabularies-types/vocabularies/Core";
@@ -1817,7 +1817,10 @@ function initialise(
1817
1817
  chartDimensionKeyAndRole: chartBlock.chartDefinition?.chartDimensionKeyAndRole,
1818
1818
  chartMeasureKeyAndRole: chartBlock.chartDefinition?.chartMeasureKeyAndRole
1819
1819
  };
1820
- if (chartBlock.chartDefinition.isParameterizedEntitySet) {
1820
+ const navProps = contextObjectPath.navigationProperties as NavigationProperty[];
1821
+ const lastNavProp = navProps[navProps.length - 1];
1822
+ const isContainment = lastNavProp?.containsTarget && contextObjectPath.targetEntitySet === undefined;
1823
+ if ((chartBlock.chartDefinition.isParameterizedEntitySet ?? false) || (isContainment ?? false)) {
1821
1824
  chartBlock._customData.entitySet = chartBlock.chartDefinition.collection.substring(1);
1822
1825
  }
1823
1826
  } else {
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/base/jsx-runtime/jsx-xml", "sap/ui/core/Element"], function (ClassSupport, jsxXml, UI5Element) {
5
+ sap.ui.define(["sap/fe/base/BuildingBlockBase", "sap/fe/base/ClassSupport", "sap/fe/base/jsx-runtime/jsx-xml"], function (BuildingBlockBase, ClassSupport, jsxXml) {
6
6
  "use strict";
7
7
 
8
8
  var _dec, _class;
@@ -14,12 +14,12 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/base/jsx-runtime/jsx-xml", "s
14
14
  * Base class for building block complex object properties that can be serialized to XML.
15
15
  * @public
16
16
  */
17
- let BuildingBlockObjectProperty = (_dec = defineUI5Class("sap.fe.macros.controls.BuildingBlockObjectProperty"), _dec(_class = /*#__PURE__*/function (_UI5Element) {
17
+ let BuildingBlockObjectProperty = (_dec = defineUI5Class("sap.fe.macros.controls.BuildingBlockObjectProperty"), _dec(_class = /*#__PURE__*/function (_BuildingBlockBase) {
18
18
  function BuildingBlockObjectProperty() {
19
- return _UI5Element.apply(this, arguments) || this;
19
+ return _BuildingBlockBase.apply(this, arguments) || this;
20
20
  }
21
21
  _exports = BuildingBlockObjectProperty;
22
- _inheritsLoose(BuildingBlockObjectProperty, _UI5Element);
22
+ _inheritsLoose(BuildingBlockObjectProperty, _BuildingBlockBase);
23
23
  var _proto = BuildingBlockObjectProperty.prototype;
24
24
  _proto.getPropertyBag = function getPropertyBag() {
25
25
  const settings = {};
@@ -92,13 +92,13 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/base/jsx-runtime/jsx-xml", "s
92
92
  if (propertyMetadata?.bindable === false && propertyMetadata.group === "Data") {
93
93
  this[name] = bindingInfo;
94
94
  } else {
95
- _UI5Element.prototype.bindProperty.call(this, name, bindingInfo);
95
+ _BuildingBlockBase.prototype.bindProperty.call(this, name, bindingInfo);
96
96
  }
97
97
  return this;
98
98
  };
99
99
  return BuildingBlockObjectProperty;
100
- }(UI5Element)) || _class);
100
+ }(BuildingBlockBase)) || _class);
101
101
  _exports = BuildingBlockObjectProperty;
102
102
  return _exports;
103
103
  }, false);
104
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfY2xhc3MiLCJfVUk1RWxlbWVudCIsImFwcGx5IiwiYXJndW1lbnRzIiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsImdldFByb3BlcnR5QmFnIiwic2V0dGluZ3MiLCJwcm9wZXJ0aWVzIiwiZ2V0TWV0YWRhdGEiLCJnZXRBbGxQcm9wZXJ0aWVzIiwiYWdncmVnYXRpb25zIiwiZ2V0QWxsQWdncmVnYXRpb25zIiwicHJvcGVydHlOYW1lIiwicHJvcGVydHkiLCJnZXRQcm9wZXJ0eSIsImFnZ3JlZ2F0aW9uTmFtZSIsImFnZ3JlZ2F0aW9uQ29udGVudCIsImdldEFnZ3JlZ2F0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwiY2hpbGRyZW5BcnJheSIsIm1hbmFnZWRPYmplY3QiLCJpc0EiLCJwdXNoIiwiZ2V0SWQiLCJzZXJpYWxpemUiLCJvdmVycmlkZU5vZGVOYW1lIiwiZXZlbnRzIiwiZ2V0QWxsRXZlbnRzIiwiY2hpbGRyZW4iLCJldmVudE5hbWUiLCJqc3hYbWwiLCJnZXRDbGFzcyIsInVuZGVmaW5lZCIsImJpbmRQcm9wZXJ0eSIsIm5hbWUiLCJiaW5kaW5nSW5mbyIsInByb3BlcnR5TWV0YWRhdGEiLCJiaW5kYWJsZSIsImdyb3VwIiwiY2FsbCIsIlVJNUVsZW1lbnQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgeyBDb250cm9sUHJvcGVydGllcywgTm9uQ29udHJvbFByb3BlcnRpZXMgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvanN4LXJ1bnRpbWUvanN4XCI7XG5pbXBvcnQganN4WG1sIGZyb20gXCJzYXAvZmUvYmFzZS9qc3gtcnVudGltZS9qc3gteG1sXCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5QmluZGluZ0luZm8gfSBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IFVJNUVsZW1lbnQgZnJvbSBcInNhcC91aS9jb3JlL0VsZW1lbnRcIjtcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBidWlsZGluZyBibG9jayBjb21wbGV4IG9iamVjdCBwcm9wZXJ0aWVzIHRoYXQgY2FuIGJlIHNlcmlhbGl6ZWQgdG8gWE1MLlxuICogQHB1YmxpY1xuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLkJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eVwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5IGV4dGVuZHMgVUk1RWxlbWVudCB7XG5cdGdldFByb3BlcnR5QmFnKCk6IFByb3BlcnRpZXNPZjx0aGlzPiB7XG5cdFx0Y29uc3Qgc2V0dGluZ3M6IFByb3BlcnRpZXNPZjx0aGlzPiA9IHt9IGFzIFByb3BlcnRpZXNPZjx0aGlzPjtcblx0XHRjb25zdCBwcm9wZXJ0aWVzID0gdGhpcy5nZXRNZXRhZGF0YSgpLmdldEFsbFByb3BlcnRpZXMoKTtcblx0XHRjb25zdCBhZ2dyZWdhdGlvbnMgPSB0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWxsQWdncmVnYXRpb25zKCk7XG5cdFx0Zm9yIChjb25zdCBwcm9wZXJ0eU5hbWUgaW4gcHJvcGVydGllcykge1xuXHRcdFx0Y29uc3QgcHJvcGVydHkgPSB0aGlzLmdldFByb3BlcnR5KHByb3BlcnR5TmFtZSk7XG5cdFx0XHRpZiAodHlwZW9mIHByb3BlcnR5ICE9PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRcdFx0c2V0dGluZ3NbcHJvcGVydHlOYW1lIGFzIGtleW9mIFByb3BlcnRpZXNPZjx0aGlzPl0gPSBwcm9wZXJ0eTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Zm9yIChjb25zdCBhZ2dyZWdhdGlvbk5hbWUgaW4gYWdncmVnYXRpb25zKSB7XG5cdFx0XHRjb25zdCBhZ2dyZWdhdGlvbkNvbnRlbnQgPSB0aGlzLmdldEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uTmFtZSk7XG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheShhZ2dyZWdhdGlvbkNvbnRlbnQpKSB7XG5cdFx0XHRcdGNvbnN0IGNoaWxkcmVuQXJyYXkgPSBbXTtcblx0XHRcdFx0Zm9yIChjb25zdCBtYW5hZ2VkT2JqZWN0IG9mIGFnZ3JlZ2F0aW9uQ29udGVudCkge1xuXHRcdFx0XHRcdGlmIChtYW5hZ2VkT2JqZWN0LmlzQTxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+KFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIikpIHtcblx0XHRcdFx0XHRcdGNoaWxkcmVuQXJyYXkucHVzaChtYW5hZ2VkT2JqZWN0LmdldFByb3BlcnR5QmFnKCkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRzZXR0aW5nc1thZ2dyZWdhdGlvbk5hbWUgYXMga2V5b2YgUHJvcGVydGllc09mPHRoaXM+XSA9IGNoaWxkcmVuQXJyYXk7XG5cdFx0XHR9IGVsc2UgaWYgKGFnZ3JlZ2F0aW9uQ29udGVudCkge1xuXHRcdFx0XHRpZiAoYWdncmVnYXRpb25Db250ZW50LmlzQTxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+KFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIikpIHtcblx0XHRcdFx0XHRzZXR0aW5nc1thZ2dyZWdhdGlvbk5hbWUgYXMga2V5b2YgUHJvcGVydGllc09mPHRoaXM+XSA9IGFnZ3JlZ2F0aW9uQ29udGVudC5nZXRQcm9wZXJ0eUJhZygpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHNldHRpbmdzW2FnZ3JlZ2F0aW9uTmFtZSBhcyBrZXlvZiBQcm9wZXJ0aWVzT2Y8dGhpcz5dID0gYWdncmVnYXRpb25Db250ZW50LmdldElkKCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHNldHRpbmdzO1xuXHR9XG5cblx0c2VyaWFsaXplKG92ZXJyaWRlTm9kZU5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWxsUHJvcGVydGllcygpO1xuXHRcdGNvbnN0IGV2ZW50cyA9IHRoaXMuZ2V0TWV0YWRhdGEoKS5nZXRBbGxFdmVudHMoKTtcblx0XHRjb25zdCBhZ2dyZWdhdGlvbnMgPSB0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWxsQWdncmVnYXRpb25zKCk7XG5cdFx0Y29uc3Qgc2V0dGluZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ICYgeyBjaGlsZHJlbjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfSA9IHsgY2hpbGRyZW46IHt9IH07XG5cdFx0Zm9yIChjb25zdCBldmVudE5hbWUgaW4gZXZlbnRzKSB7XG5cdFx0XHRzZXR0aW5nc1tldmVudE5hbWVdID0gYFRISVMuX2ZpcmVFdmVudCgkZXZlbnQsICRjb250cm9sbGVyLCAnJHtldmVudE5hbWV9JylgO1xuXHRcdH1cblx0XHRmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBpbiBwcm9wZXJ0aWVzKSB7XG5cdFx0XHRjb25zdCBwcm9wZXJ0eSA9IHRoaXMuZ2V0UHJvcGVydHkocHJvcGVydHlOYW1lKTtcblx0XHRcdGlmICh0eXBlb2YgcHJvcGVydHkgIT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0XHRzZXR0aW5nc1twcm9wZXJ0eU5hbWVdID0gcHJvcGVydHk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGZvciAoY29uc3QgYWdncmVnYXRpb25OYW1lIGluIGFnZ3JlZ2F0aW9ucykge1xuXHRcdFx0Y29uc3QgYWdncmVnYXRpb25Db250ZW50ID0gdGhpcy5nZXRBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbk5hbWUpO1xuXHRcdFx0aWYgKEFycmF5LmlzQXJyYXkoYWdncmVnYXRpb25Db250ZW50KSkge1xuXHRcdFx0XHRjb25zdCBjaGlsZHJlbkFycmF5ID0gW107XG5cdFx0XHRcdGZvciAoY29uc3QgbWFuYWdlZE9iamVjdCBvZiBhZ2dyZWdhdGlvbkNvbnRlbnQpIHtcblx0XHRcdFx0XHRpZiAobWFuYWdlZE9iamVjdC5pc0E8QnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5PihcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5XCIpKSB7XG5cdFx0XHRcdFx0XHRjaGlsZHJlbkFycmF5LnB1c2gobWFuYWdlZE9iamVjdC5zZXJpYWxpemUoKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHNldHRpbmdzLmNoaWxkcmVuW2FnZ3JlZ2F0aW9uTmFtZV0gPSBjaGlsZHJlbkFycmF5O1xuXHRcdFx0fSBlbHNlIGlmIChhZ2dyZWdhdGlvbkNvbnRlbnQpIHtcblx0XHRcdFx0aWYgKGFnZ3JlZ2F0aW9uQ29udGVudC5pc0E8QnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5PihcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5XCIpKSB7XG5cdFx0XHRcdFx0c2V0dGluZ3MuY2hpbGRyZW5bYWdncmVnYXRpb25OYW1lXSA9IGFnZ3JlZ2F0aW9uQ29udGVudC5zZXJpYWxpemUoKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzZXR0aW5nc1thZ2dyZWdhdGlvbk5hbWVdID0gYWdncmVnYXRpb25Db250ZW50LmdldElkKCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIGpzeFhtbDxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+KFxuXHRcdFx0dGhpcy5nZXRNZXRhZGF0YSgpLmdldENsYXNzKCkgYXMgdW5rbm93biBhcyB0eXBlb2YgQ29udHJvbCxcblx0XHRcdHNldHRpbmdzIGFzIE5vbkNvbnRyb2xQcm9wZXJ0aWVzPEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eT4gJiB7XG5cdFx0XHRcdGtleT86IHN0cmluZztcblx0XHRcdFx0Y2hpbGRyZW4/OiBVSTVFbGVtZW50IHwgQ29udHJvbFByb3BlcnRpZXM8QnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5Pjtcblx0XHRcdH0sXG5cdFx0XHR1bmRlZmluZWQsXG5cdFx0XHR7fSxcblx0XHRcdG92ZXJyaWRlTm9kZU5hbWVcblx0XHQpO1xuXHR9XG5cblx0b3ZlcnJpZGUgYmluZFByb3BlcnR5KG5hbWU6IHN0cmluZywgYmluZGluZ0luZm86IFByb3BlcnR5QmluZGluZ0luZm8pOiB0aGlzIHtcblx0XHRjb25zdCBwcm9wZXJ0eU1ldGFkYXRhID0gdGhpcy5nZXRNZXRhZGF0YSgpLmdldFByb3BlcnR5KG5hbWUpO1xuXHRcdGlmIChwcm9wZXJ0eU1ldGFkYXRhPy5iaW5kYWJsZSA9PT0gZmFsc2UgJiYgcHJvcGVydHlNZXRhZGF0YS5ncm91cCA9PT0gXCJEYXRhXCIpIHtcblx0XHRcdCh0aGlzIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtuYW1lXSA9IGJpbmRpbmdJbmZvO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzdXBlci5iaW5kUHJvcGVydHkobmFtZSwgYmluZGluZ0luZm8pO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcztcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7RUFRQTtBQUNBO0FBQ0E7QUFDQTtFQUhBLElBS3FCQSwyQkFBMkIsSUFBQUMsSUFBQSxHQUQvQ0MsY0FBYyxDQUFDLG9EQUFvRCxDQUFDLEVBQUFELElBQUEsQ0FBQUUsTUFBQSwwQkFBQUMsV0FBQTtJQUFBLFNBQUFKLDRCQUFBO01B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
104
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfY2xhc3MiLCJfQnVpbGRpbmdCbG9ja0Jhc2UiLCJhcHBseSIsImFyZ3VtZW50cyIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJnZXRQcm9wZXJ0eUJhZyIsInNldHRpbmdzIiwicHJvcGVydGllcyIsImdldE1ldGFkYXRhIiwiZ2V0QWxsUHJvcGVydGllcyIsImFnZ3JlZ2F0aW9ucyIsImdldEFsbEFnZ3JlZ2F0aW9ucyIsInByb3BlcnR5TmFtZSIsInByb3BlcnR5IiwiZ2V0UHJvcGVydHkiLCJhZ2dyZWdhdGlvbk5hbWUiLCJhZ2dyZWdhdGlvbkNvbnRlbnQiLCJnZXRBZ2dyZWdhdGlvbiIsIkFycmF5IiwiaXNBcnJheSIsImNoaWxkcmVuQXJyYXkiLCJtYW5hZ2VkT2JqZWN0IiwiaXNBIiwicHVzaCIsImdldElkIiwic2VyaWFsaXplIiwib3ZlcnJpZGVOb2RlTmFtZSIsImV2ZW50cyIsImdldEFsbEV2ZW50cyIsImNoaWxkcmVuIiwiZXZlbnROYW1lIiwianN4WG1sIiwiZ2V0Q2xhc3MiLCJ1bmRlZmluZWQiLCJiaW5kUHJvcGVydHkiLCJuYW1lIiwiYmluZGluZ0luZm8iLCJwcm9wZXJ0eU1ldGFkYXRhIiwiYmluZGFibGUiLCJncm91cCIsImNhbGwiLCJCdWlsZGluZ0Jsb2NrQmFzZSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWlsZGluZ0Jsb2NrQmFzZSBmcm9tIFwic2FwL2ZlL2Jhc2UvQnVpbGRpbmdCbG9ja0Jhc2VcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IENvbnRyb2xQcm9wZXJ0aWVzLCBOb25Db250cm9sUHJvcGVydGllcyB9IGZyb20gXCJzYXAvZmUvYmFzZS9qc3gtcnVudGltZS9qc3hcIjtcbmltcG9ydCBqc3hYbWwgZnJvbSBcInNhcC9mZS9iYXNlL2pzeC1ydW50aW1lL2pzeC14bWxcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHlCaW5kaW5nSW5mbyB9IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5pbXBvcnQgdHlwZSBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBVSTVFbGVtZW50IGZyb20gXCJzYXAvdWkvY29yZS9FbGVtZW50XCI7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYnVpbGRpbmcgYmxvY2sgY29tcGxleCBvYmplY3QgcHJvcGVydGllcyB0aGF0IGNhbiBiZSBzZXJpYWxpemVkIHRvIFhNTC5cbiAqIEBwdWJsaWNcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSBleHRlbmRzIEJ1aWxkaW5nQmxvY2tCYXNlIHtcblx0Z2V0UHJvcGVydHlCYWcoKTogUHJvcGVydGllc09mPHRoaXM+IHtcblx0XHRjb25zdCBzZXR0aW5nczogUHJvcGVydGllc09mPHRoaXM+ID0ge30gYXMgUHJvcGVydGllc09mPHRoaXM+O1xuXHRcdGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWxsUHJvcGVydGllcygpO1xuXHRcdGNvbnN0IGFnZ3JlZ2F0aW9ucyA9IHRoaXMuZ2V0TWV0YWRhdGEoKS5nZXRBbGxBZ2dyZWdhdGlvbnMoKTtcblx0XHRmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBpbiBwcm9wZXJ0aWVzKSB7XG5cdFx0XHRjb25zdCBwcm9wZXJ0eSA9IHRoaXMuZ2V0UHJvcGVydHkocHJvcGVydHlOYW1lKTtcblx0XHRcdGlmICh0eXBlb2YgcHJvcGVydHkgIT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0XHRzZXR0aW5nc1twcm9wZXJ0eU5hbWUgYXMga2V5b2YgUHJvcGVydGllc09mPHRoaXM+XSA9IHByb3BlcnR5O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRmb3IgKGNvbnN0IGFnZ3JlZ2F0aW9uTmFtZSBpbiBhZ2dyZWdhdGlvbnMpIHtcblx0XHRcdGNvbnN0IGFnZ3JlZ2F0aW9uQ29udGVudCA9IHRoaXMuZ2V0QWdncmVnYXRpb24oYWdncmVnYXRpb25OYW1lKTtcblx0XHRcdGlmIChBcnJheS5pc0FycmF5KGFnZ3JlZ2F0aW9uQ29udGVudCkpIHtcblx0XHRcdFx0Y29uc3QgY2hpbGRyZW5BcnJheSA9IFtdO1xuXHRcdFx0XHRmb3IgKGNvbnN0IG1hbmFnZWRPYmplY3Qgb2YgYWdncmVnYXRpb25Db250ZW50KSB7XG5cdFx0XHRcdFx0aWYgKG1hbmFnZWRPYmplY3QuaXNBPEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eT4oXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLkJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eVwiKSkge1xuXHRcdFx0XHRcdFx0Y2hpbGRyZW5BcnJheS5wdXNoKG1hbmFnZWRPYmplY3QuZ2V0UHJvcGVydHlCYWcoKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHNldHRpbmdzW2FnZ3JlZ2F0aW9uTmFtZSBhcyBrZXlvZiBQcm9wZXJ0aWVzT2Y8dGhpcz5dID0gY2hpbGRyZW5BcnJheTtcblx0XHRcdH0gZWxzZSBpZiAoYWdncmVnYXRpb25Db250ZW50KSB7XG5cdFx0XHRcdGlmIChhZ2dyZWdhdGlvbkNvbnRlbnQuaXNBPEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eT4oXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLkJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eVwiKSkge1xuXHRcdFx0XHRcdHNldHRpbmdzW2FnZ3JlZ2F0aW9uTmFtZSBhcyBrZXlvZiBQcm9wZXJ0aWVzT2Y8dGhpcz5dID0gYWdncmVnYXRpb25Db250ZW50LmdldFByb3BlcnR5QmFnKCk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0c2V0dGluZ3NbYWdncmVnYXRpb25OYW1lIGFzIGtleW9mIFByb3BlcnRpZXNPZjx0aGlzPl0gPSBhZ2dyZWdhdGlvbkNvbnRlbnQuZ2V0SWQoKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gc2V0dGluZ3M7XG5cdH1cblxuXHRzZXJpYWxpemUob3ZlcnJpZGVOb2RlTmFtZT86IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0Y29uc3QgcHJvcGVydGllcyA9IHRoaXMuZ2V0TWV0YWRhdGEoKS5nZXRBbGxQcm9wZXJ0aWVzKCk7XG5cdFx0Y29uc3QgZXZlbnRzID0gdGhpcy5nZXRNZXRhZGF0YSgpLmdldEFsbEV2ZW50cygpO1xuXHRcdGNvbnN0IGFnZ3JlZ2F0aW9ucyA9IHRoaXMuZ2V0TWV0YWRhdGEoKS5nZXRBbGxBZ2dyZWdhdGlvbnMoKTtcblx0XHRjb25zdCBzZXR0aW5nczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gJiB7IGNoaWxkcmVuOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB9ID0geyBjaGlsZHJlbjoge30gfTtcblx0XHRmb3IgKGNvbnN0IGV2ZW50TmFtZSBpbiBldmVudHMpIHtcblx0XHRcdHNldHRpbmdzW2V2ZW50TmFtZV0gPSBgVEhJUy5fZmlyZUV2ZW50KCRldmVudCwgJGNvbnRyb2xsZXIsICcke2V2ZW50TmFtZX0nKWA7XG5cdFx0fVxuXHRcdGZvciAoY29uc3QgcHJvcGVydHlOYW1lIGluIHByb3BlcnRpZXMpIHtcblx0XHRcdGNvbnN0IHByb3BlcnR5ID0gdGhpcy5nZXRQcm9wZXJ0eShwcm9wZXJ0eU5hbWUpO1xuXHRcdFx0aWYgKHR5cGVvZiBwcm9wZXJ0eSAhPT0gXCJmdW5jdGlvblwiKSB7XG5cdFx0XHRcdHNldHRpbmdzW3Byb3BlcnR5TmFtZV0gPSBwcm9wZXJ0eTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Zm9yIChjb25zdCBhZ2dyZWdhdGlvbk5hbWUgaW4gYWdncmVnYXRpb25zKSB7XG5cdFx0XHRjb25zdCBhZ2dyZWdhdGlvbkNvbnRlbnQgPSB0aGlzLmdldEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uTmFtZSk7XG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheShhZ2dyZWdhdGlvbkNvbnRlbnQpKSB7XG5cdFx0XHRcdGNvbnN0IGNoaWxkcmVuQXJyYXkgPSBbXTtcblx0XHRcdFx0Zm9yIChjb25zdCBtYW5hZ2VkT2JqZWN0IG9mIGFnZ3JlZ2F0aW9uQ29udGVudCkge1xuXHRcdFx0XHRcdGlmIChtYW5hZ2VkT2JqZWN0LmlzQTxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+KFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIikpIHtcblx0XHRcdFx0XHRcdGNoaWxkcmVuQXJyYXkucHVzaChtYW5hZ2VkT2JqZWN0LnNlcmlhbGl6ZSgpKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0c2V0dGluZ3MuY2hpbGRyZW5bYWdncmVnYXRpb25OYW1lXSA9IGNoaWxkcmVuQXJyYXk7XG5cdFx0XHR9IGVsc2UgaWYgKGFnZ3JlZ2F0aW9uQ29udGVudCkge1xuXHRcdFx0XHRpZiAoYWdncmVnYXRpb25Db250ZW50LmlzQTxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+KFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIikpIHtcblx0XHRcdFx0XHRzZXR0aW5ncy5jaGlsZHJlblthZ2dyZWdhdGlvbk5hbWVdID0gYWdncmVnYXRpb25Db250ZW50LnNlcmlhbGl6ZSgpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHNldHRpbmdzW2FnZ3JlZ2F0aW9uTmFtZV0gPSBhZ2dyZWdhdGlvbkNvbnRlbnQuZ2V0SWQoKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4ganN4WG1sPEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eT4oXG5cdFx0XHR0aGlzLmdldE1ldGFkYXRhKCkuZ2V0Q2xhc3MoKSBhcyB1bmtub3duIGFzIHR5cGVvZiBDb250cm9sLFxuXHRcdFx0c2V0dGluZ3MgYXMgTm9uQ29udHJvbFByb3BlcnRpZXM8QnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5PiAmIHtcblx0XHRcdFx0a2V5Pzogc3RyaW5nO1xuXHRcdFx0XHRjaGlsZHJlbj86IFVJNUVsZW1lbnQgfCBDb250cm9sUHJvcGVydGllczxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+O1xuXHRcdFx0fSxcblx0XHRcdHVuZGVmaW5lZCxcblx0XHRcdHt9LFxuXHRcdFx0b3ZlcnJpZGVOb2RlTmFtZVxuXHRcdCk7XG5cdH1cblxuXHRvdmVycmlkZSBiaW5kUHJvcGVydHkobmFtZTogc3RyaW5nLCBiaW5kaW5nSW5mbzogUHJvcGVydHlCaW5kaW5nSW5mbyk6IHRoaXMge1xuXHRcdGNvbnN0IHByb3BlcnR5TWV0YWRhdGEgPSB0aGlzLmdldE1ldGFkYXRhKCkuZ2V0UHJvcGVydHkobmFtZSk7XG5cdFx0aWYgKHByb3BlcnR5TWV0YWRhdGE/LmJpbmRhYmxlID09PSBmYWxzZSAmJiBwcm9wZXJ0eU1ldGFkYXRhLmdyb3VwID09PSBcIkRhdGFcIikge1xuXHRcdFx0KHRoaXMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW25hbWVdID0gYmluZGluZ0luZm87XG5cdFx0fSBlbHNlIHtcblx0XHRcdHN1cGVyLmJpbmRQcm9wZXJ0eShuYW1lLCBiaW5kaW5nSW5mbyk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztFQVNBO0FBQ0E7QUFDQTtBQUNBO0VBSEEsSUFLcUJBLDJCQUEyQixJ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
@@ -1,17 +1,18 @@
1
+ import BuildingBlockBase from "sap/fe/base/BuildingBlockBase";
1
2
  import type { PropertiesOf } from "sap/fe/base/ClassSupport";
2
3
  import { defineUI5Class } from "sap/fe/base/ClassSupport";
3
4
  import type { ControlProperties, NonControlProperties } from "sap/fe/base/jsx-runtime/jsx";
4
5
  import jsxXml from "sap/fe/base/jsx-runtime/jsx-xml";
5
6
  import type { PropertyBindingInfo } from "sap/ui/base/ManagedObject";
6
7
  import type Control from "sap/ui/core/Control";
7
- import UI5Element from "sap/ui/core/Element";
8
+ import type UI5Element from "sap/ui/core/Element";
8
9
 
9
10
  /**
10
11
  * Base class for building block complex object properties that can be serialized to XML.
11
12
  * @public
12
13
  */
13
14
  @defineUI5Class("sap.fe.macros.controls.BuildingBlockObjectProperty")
14
- export default class BuildingBlockObjectProperty extends UI5Element {
15
+ export default class BuildingBlockObjectProperty extends BuildingBlockBase {
15
16
  getPropertyBag(): PropertiesOf<this> {
16
17
  const settings: PropertiesOf<this> = {} as PropertiesOf<this>;
17
18
  const properties = this.getMetadata().getAllProperties();
@@ -164,10 +164,16 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/co
164
164
  return view && view.getController();
165
165
  };
166
166
  _proto.getUploadUrl = function getUploadUrl() {
167
- // set upload url as canonical url for NavigationProperties
168
- // this is a workaround as some backends cannot resolve NavigationsProperties for stream types
169
167
  const context = this.getBindingContext();
170
- return context && this.uploadUrl ? this.uploadUrl.replace(context.getPath(), context.getCanonicalPath()) : "";
168
+ if (context && this.uploadUrl) {
169
+ // If the backend did not explicitly set AddressViaNavigationPath, we need to use the canonical path for upload
170
+ if (context.getModel().getMetaModel().getObject("/@com.sap.vocabularies.Common.v1.AddressViaNavigationPath") === true) {
171
+ return this.uploadUrl;
172
+ } else {
173
+ return this.uploadUrl.replace(context.getPath(), context.getCanonicalPath());
174
+ }
175
+ }
176
+ return "";
171
177
  };
172
178
  _proto.setUIBusy = function setUIBusy(busy) {
173
179
  // eslint-disable-next-line @typescript-eslint/no-this-alias
@@ -200,7 +206,7 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/co
200
206
  innerDivMinWidth = "3rem";
201
207
  } else {
202
208
  // Depending on display or edit mode we have to reserve some space for the file upload and delete button (2rem each + 1rem margin)
203
- innerDivMaxWidth = CommonUtils.getIsEditable(fileWrapper) ? "calc(100% - 5rem)" : "100%";
209
+ innerDivMaxWidth = CommonUtils.getIsEditable(fileWrapper) ? "calc(100% - 6rem)" : "100%";
204
210
  innerDivMinWidth = "4.5rem";
205
211
  }
206
212
  renderManager.openStart("div", fileWrapper); // FileWrapper control div
@@ -309,4 +315,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/co
309
315
  }), _class2)) || _class);
310
316
  return FileWrapper;
311
317
  }, false);
312
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWxlV3JhcHBlciIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiX2RlYzExIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9GaWVsZFdyYXBwZXIiLCJpZCIsInNldHRpbmdzIiwiX3RoaXMiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9kZXNjcmlwdG9yMyIsIl9kZXNjcmlwdG9yNCIsIl9kZXNjcmlwdG9yNSIsIl9kZXNjcmlwdG9yNiIsIl9kZXNjcmlwdG9yNyIsIl9kZXNjcmlwdG9yOCIsIl9kZXNjcmlwdG9yOSIsIl9kZXNjcmlwdG9yMTAiLCJfYnVzeSIsImF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlIiwib0VsZW1lbnQiLCJtQXJpYVByb3BzIiwib25CZWZvcmVSZW5kZXJpbmciLCJfc2V0QXJpYUxhYmVsbGVkQnkiLCJfc2V0QXJpYVJlcXVpcmVkIiwiX2FkZFNpZGVFZmZlY3RzIiwiX3JlZnJlc2hBdmF0YXIiLCJsaW5rIiwib1BhcmVudCIsImdldFBhcmVudCIsImxhYmVsbGVkYnkiLCJ1bmRlZmluZWQiLCJhZGRBcmlhTGFiZWxsZWRCeSIsImdldElkRm9yTGFiZWwiLCJvQ29udGVudCIsInRleHQiLCJhdmF0YXIiLCJ2aWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3IiwiY29sbGFib3JhdGl2ZURyYWZ0IiwiZ2V0Q29udHJvbGxlciIsImlzQ29sbGFib3JhdGlvbkVuYWJsZWQiLCJhdmF0YXJCaW5kaW5nIiwiZ2V0QmluZGluZ0luZm8iLCJiaW5kaW5nIiwiYXR0YWNoRXZlbnQiLCJyZWZyZXNoQXZhdGFyQ2FjaGVCdXN0aW5nIiwidmlld0RhdGFGdWxsQ29udGV4dFBhdGgiLCJnZXRWaWV3RGF0YSIsImZ1bGxDb250ZXh0UGF0aCIsIm1ldGFNb2RlbCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwibWV0YUNvbnRleHQiLCJnZXRDb250ZXh0IiwibWV0YVBhdGhDb250ZXh0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJwcm9wZXJ0eVBhdGgiLCJkYXRhVmlld01vZGVsUGF0aCIsIk1ldGFNb2RlbENvbnZlcnRlciIsImdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyIsInN0cmVhbVByb3BlcnR5IiwidGFyZ2V0T2JqZWN0IiwicmVxdWlyZWRFeHByZXNzaW9uIiwiVUlGb3JtYXR0ZXJzIiwiZ2V0UmVxdWlyZWRFeHByZXNzaW9uIiwibmF2aWdhdGlvblByb3BlcnRpZXMiLCJtZXRhTW9kZWxQYXRoIiwiZ2V0TWV0YVBhdGgiLCJ2aWV3Q29udGV4dCIsInNvdXJjZVBhdGgiLCJkYXRhIiwiZmllbGRQYXRoIiwicmVwbGFjZSIsInBhdGgiLCJwdXNoIiwiJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGgiLCJmaWxlbmFtZSIsIm1lZGlhVHlwZSIsIl9nZXRTaWRlRWZmZWN0Q29udHJvbGxlciIsImFkZENvbnRyb2xTaWRlRWZmZWN0cyIsInRhcmdldEVudGl0eVR5cGUiLCJmdWxseVF1YWxpZmllZE5hbWUiLCJzb3VyY2VQcm9wZXJ0aWVzIiwidGFyZ2V0RW50aXRpZXMiLCJzb3VyY2VDb250cm9sSWQiLCJnZXRJZCIsImNvbnRyb2xsZXIiLCJfZ2V0Vmlld0NvbnRyb2xsZXIiLCJfc2lkZUVmZmVjdHMiLCJnZXRVcGxvYWRVcmwiLCJjb250ZXh0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJ1cGxvYWRVcmwiLCJnZXRQYXRoIiwiZ2V0Q2Fub25pY2FsUGF0aCIsInNldFVJQnVzeSIsImJ1c3kiLCJ0aGF0IiwiYnVzeURpYWxvZyIsIkJ1c3lEaWFsb2ciLCJnZXRSZXNvdXJjZU1vZGVsIiwiZ2V0VGV4dCIsInNob3dDYW5jZWxCdXR0b24iLCJzZXRUaW1lb3V0Iiwib3BlbiIsImNsb3NlIiwiZ2V0VUlCdXN5IiwicmVuZGVyIiwicmVuZGVyTWFuYWdlciIsImZpbGVXcmFwcGVyIiwiaW5uZXJEaXZNYXhXaWR0aCIsImlubmVyRGl2TWluV2lkdGgiLCJnZXRJc0VkaXRhYmxlIiwib3BlblN0YXJ0Iiwic3R5bGUiLCJ3aWR0aCIsIm9wZW5FbmQiLCJyZW5kZXJDb250cm9sIiwiaWNvbiIsImZpbGVVcGxvYWRlciIsImRlbGV0ZUJ1dHRvbiIsImRlc3Ryb3kiLCJiU3VwcHJlc3NJbnZhbGlkYXRlIiwib1NpZGVFZmZlY3RzIiwicmVtb3ZlQ29udHJvbFNpZGVFZmZlY3RzIiwiRmllbGRXcmFwcGVyIiwiYXBwbHkiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZpbGVXcmFwcGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgYWdncmVnYXRpb24sIGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIFBhZ2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9QYWdlQ29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgU2lkZUVmZmVjdHNDb250cm9sbGVyRXh0ZW5zaW9uIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9TaWRlRWZmZWN0c1wiO1xuaW1wb3J0ICogYXMgTWV0YU1vZGVsQ29udmVydGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHsgZ2V0UmVzb3VyY2VNb2RlbCB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1Jlc291cmNlTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB0eXBlIHsgU2lkZUVmZmVjdHNFbnRpdHlUeXBlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL1NpZGVFZmZlY3RzU2VydmljZUZhY3RvcnlcIjtcbmltcG9ydCAqIGFzIFVJRm9ybWF0dGVycyBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9VSUZvcm1hdHRlcnNcIjtcbmltcG9ydCB0eXBlIEF2YXRhciBmcm9tIFwic2FwL20vQXZhdGFyXCI7XG5pbXBvcnQgQnVzeURpYWxvZyBmcm9tIFwic2FwL20vQnVzeURpYWxvZ1wiO1xuaW1wb3J0IHR5cGUgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCB0eXBlIExpbmsgZnJvbSBcInNhcC9tL0xpbmtcIjtcbmltcG9ydCB0eXBlIFRleHQgZnJvbSBcInNhcC9tL1RleHRcIjtcbmltcG9ydCB0eXBlIE1hbmFnZWRPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIHsgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBJY29uIGZyb20gXCJzYXAvdWkvY29yZS9JY29uXCI7XG5pbXBvcnQgdHlwZSBSZW5kZXJNYW5hZ2VyIGZyb20gXCJzYXAvdWkvY29yZS9SZW5kZXJNYW5hZ2VyXCI7XG5pbXBvcnQgdHlwZSB7IFVSSSB9IGZyb20gXCJzYXAvdWkvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgRmlsZVVwbG9hZGVyIGZyb20gXCJzYXAvdWkvdW5pZmllZC9GaWxlVXBsb2FkZXJcIjtcbmltcG9ydCBGaWVsZFdyYXBwZXIgZnJvbSBcIi4vRmllbGRXcmFwcGVyXCI7XG50eXBlIENvbnRyb2xXaXRoQWNjZXNzaWJpbGl0eSA9IENvbnRyb2wgJiB7IGFkZEFyaWFMYWJlbGxlZEJ5PzogKGlkOiBzdHJpbmcpID0+IHZvaWQgfTtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5GaWxlV3JhcHBlclwiKVxuY2xhc3MgRmlsZVdyYXBwZXIgZXh0ZW5kcyBGaWVsZFdyYXBwZXIge1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInNhcC51aS5jb3JlLlVSSVwiIH0pXG5cdHVwbG9hZFVybCE6IFVSSTtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHByb3BlcnR5UGF0aCE6IHN0cmluZztcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGZpbGVuYW1lITogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0bWVkaWFUeXBlITogc3RyaW5nO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uQXZhdGFyXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRhdmF0YXI6IEF2YXRhciB8IHVuZGVmaW5lZDtcblxuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS5jb3JlLkljb25cIiwgbXVsdGlwbGU6IGZhbHNlIH0pXG5cdGljb24hOiBJY29uO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uTGlua1wiLCBtdWx0aXBsZTogZmFsc2UgfSlcblx0bGluayE6IExpbms7XG5cblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAubS5UZXh0XCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHR0ZXh0ITogVGV4dDtcblxuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS51bmlmaWVkLkZpbGVVcGxvYWRlclwiLCBtdWx0aXBsZTogZmFsc2UgfSlcblx0ZmlsZVVwbG9hZGVyITogRmlsZVVwbG9hZGVyO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uQnV0dG9uXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRkZWxldGVCdXR0b24hOiBCdXR0b247XG5cblx0cHJpdmF0ZSByZXF1aXJlZEV4cHJlc3Npb24/OiBzdHJpbmc7XG5cblx0cHJpdmF0ZSBfZmlsZVVwbG9hZGVyTWFuZGF0b3J5PzogQ29udHJvbDtcblxuXHRwcml2YXRlIF9idXN5ID0gZmFsc2U7XG5cblx0cHJpdmF0ZSBhdmF0YXJDYWNoZUJ1c3RpbmdJbml0aWFsaXplZCA9IGZhbHNlO1xuXG5cdHByaXZhdGUgYnVzeURpYWxvZz86IEJ1c3lEaWFsb2c7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0aWQ/OiBzdHJpbmcgfCB1bmRlZmluZWQgfCAoUHJvcGVydGllc09mPEZpbGVXcmFwcGVyPiAmICRDb250cm9sU2V0dGluZ3MpLFxuXHRcdHNldHRpbmdzPzogUHJvcGVydGllc09mPEZpbGVXcmFwcGVyPiAmICRDb250cm9sU2V0dGluZ3Ncblx0KSB7XG5cdFx0c3VwZXIoaWQgYXMgc3RyaW5nLCBzZXR0aW5ncyk7XG5cdH1cblxuXHRlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlKG9FbGVtZW50OiBvYmplY3QsIG1BcmlhUHJvcHM6IG9iamVjdCk6IG9iamVjdCB7XG5cdFx0Ly8gV2UgZG8gbm90IHdhbnQgdG8gcGFzcyBhcmlhLWxhYmVsbGVkYnkgdG8gYWxsIGNoaWxkIGNvbnRyb2xzLCBvbmx5IHVzZSBpdCBvbmNlIGFzIGEgbGFiZWwgb24gdGhlIHdyYXBwZXIgd2l0aCByb2xlIGdyb3VwLlxuXHRcdHJldHVybiBtQXJpYVByb3BzO1xuXHR9XG5cblx0b25CZWZvcmVSZW5kZXJpbmcoKTogdm9pZCB7XG5cdFx0dGhpcy5fc2V0QXJpYUxhYmVsbGVkQnkoKTtcblx0XHR0aGlzLl9zZXRBcmlhUmVxdWlyZWQoKTtcblx0XHR0aGlzLl9hZGRTaWRlRWZmZWN0cygpO1xuXHRcdHRoaXMuX3JlZnJlc2hBdmF0YXIoKTtcblx0fVxuXG5cdF9zZXRBcmlhTGFiZWxsZWRCeSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5saW5rKSB7XG5cdFx0XHRjb25zdCBvUGFyZW50ID0gdGhpcy5nZXRQYXJlbnQoKTtcblx0XHRcdGNvbnN0IG1BcmlhUHJvcHM6IHsgbGFiZWxsZWRieTogdW5kZWZpbmVkIHwgc3RyaW5nIH0gPSB7IGxhYmVsbGVkYnk6IHVuZGVmaW5lZCB9O1xuXG5cdFx0XHRpZiAob1BhcmVudCAmJiAob1BhcmVudCBhcyBNYW5hZ2VkT2JqZWN0ICYgeyBlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlPzogRnVuY3Rpb24gfSkuZW5oYW5jZUFjY2Vzc2liaWxpdHlTdGF0ZSkge1xuXHRcdFx0XHQob1BhcmVudCBhcyBNYW5hZ2VkT2JqZWN0ICYgeyBlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlOiBGdW5jdGlvbiB9KS5lbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlKHRoaXMubGluaywgbUFyaWFQcm9wcyk7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChtQXJpYVByb3BzLmxhYmVsbGVkYnkpIHtcblx0XHRcdFx0KHRoaXMgYXMgQ29udHJvbFdpdGhBY2Nlc3NpYmlsaXR5KS5hZGRBcmlhTGFiZWxsZWRCeSEobUFyaWFQcm9wcy5sYWJlbGxlZGJ5KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgRE9NTm9kZSBJRCB0byBiZSB1c2VkIGZvciB0aGUgXCJsYWJlbEZvclwiIGF0dHJpYnV0ZS5cblx0ICpcblx0ICogV2UgZm9yd2FyZCB0aGUgY2FsbCBvZiB0aGlzIG1ldGhvZCB0byB0aGUgY29udGVudCBjb250cm9sLlxuXHQgKiBAcmV0dXJucyBJRCB0byBiZSB1c2VkIGZvciB0aGUgPGNvZGU+bGFiZWxGb3I8L2NvZGU+XG5cdCAqL1xuXHRnZXRJZEZvckxhYmVsKCk6IHN0cmluZyB7XG5cdFx0Ly8gV2UgZWl0aGVyIGhhdmUgYSBsaW5rIHRvIGRvd25sb2FkIHRoZSBmaWxlLCBhIHRleHQgaW5kaWNhdGluZyBhbiBlbXB0eSBmaWxlLCBvciBhbiBhdmF0YXIgYW5kIG5vIGxpbmsgb3IgdGV4dFxuXHRcdGNvbnN0IG9Db250ZW50ID0gdGhpcy5saW5rIHx8IHRoaXMudGV4dCB8fCB0aGlzLmF2YXRhcjtcblx0XHRyZXR1cm4gKG9Db250ZW50IGFzIENvbnRyb2wpLmdldElkRm9yTGFiZWwoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJZiBpbiB0aGUgY29sbGFib3JhdGl2ZSBkcmFmdCwgc2VuZCBhIHJlcXVlc3QgdG8gcmVsb2FkIHRoZSBmaWxlLlxuXHQgKi9cblx0X3JlZnJlc2hBdmF0YXIoKTogdm9pZCB7XG5cdFx0Y29uc3QgdmlldyA9IENvbW1vblV0aWxzLmdldFRhcmdldFZpZXcodGhpcyBhcyBDb250cm9sKTtcblx0XHRjb25zdCBjb2xsYWJvcmF0aXZlRHJhZnQgPSB2aWV3LmdldENvbnRyb2xsZXIoKS5jb2xsYWJvcmF0aXZlRHJhZnQ7XG5cdFx0aWYgKGNvbGxhYm9yYXRpdmVEcmFmdC5pc0NvbGxhYm9yYXRpb25FbmFibGVkKCkpIHtcblx0XHRcdGNvbnN0IGF2YXRhckJpbmRpbmcgPSB0aGlzLmF2YXRhcj8uZ2V0QmluZGluZ0luZm8oXCJzcmNcIikuYmluZGluZztcblx0XHRcdGlmIChhdmF0YXJCaW5kaW5nICYmICF0aGlzLmF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkKSB7XG5cdFx0XHRcdGF2YXRhckJpbmRpbmcuYXR0YWNoRXZlbnQoXCJjaGFuZ2VcIiwgKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuYXZhdGFyPy5yZWZyZXNoQXZhdGFyQ2FjaGVCdXN0aW5nKCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHR0aGlzLmF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkID0gdHJ1ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRfc2V0QXJpYVJlcXVpcmVkKCk6IHZvaWQge1xuXHRcdGNvbnN0IHZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KHRoaXMgYXMgQ29udHJvbCksXG5cdFx0XHR2aWV3RGF0YUZ1bGxDb250ZXh0UGF0aCA9IHZpZXcuZ2V0Vmlld0RhdGEoKS5mdWxsQ29udGV4dFBhdGgsXG5cdFx0XHRtZXRhTW9kZWwgPSB2aWV3LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCksXG5cdFx0XHRtZXRhQ29udGV4dCA9IG1ldGFNb2RlbC5nZXRDb250ZXh0KHZpZXdEYXRhRnVsbENvbnRleHRQYXRoKSxcblx0XHRcdG1ldGFQYXRoQ29udGV4dCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dCh0aGlzLnByb3BlcnR5UGF0aCwgbWV0YUNvbnRleHQpLFxuXHRcdFx0ZGF0YVZpZXdNb2RlbFBhdGggPSBNZXRhTW9kZWxDb252ZXJ0ZXIuZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKG1ldGFQYXRoQ29udGV4dCwgbWV0YUNvbnRleHQpO1xuXG5cdFx0Y29uc3Qgc3RyZWFtUHJvcGVydHkgPSBkYXRhVmlld01vZGVsUGF0aC50YXJnZXRPYmplY3QgYXMgUHJvcGVydHk7XG5cdFx0dGhpcy5yZXF1aXJlZEV4cHJlc3Npb24gPSBVSUZvcm1hdHRlcnMuZ2V0UmVxdWlyZWRFeHByZXNzaW9uKFxuXHRcdFx0c3RyZWFtUHJvcGVydHksXG5cdFx0XHR1bmRlZmluZWQsXG5cdFx0XHRmYWxzZSxcblx0XHRcdGZhbHNlLFxuXHRcdFx0e30sXG5cdFx0XHRkYXRhVmlld01vZGVsUGF0aFxuXHRcdCkgYXMgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb247XG5cdH1cblxuXHRfYWRkU2lkZUVmZmVjdHMoKTogdm9pZCB7XG5cdFx0Ly8gYWRkIGNvbnRyb2wgU2lkZUVmZmVjdHMgZm9yIHN0cmVhbSBjb250ZW50LCBmaWxlbmFtZSBhbmQgbWVkaWF0eXBlXG5cdFx0Y29uc3QgbmF2aWdhdGlvblByb3BlcnRpZXM6IFNpZGVFZmZlY3RzRW50aXR5VHlwZVtdID0gW10sXG5cdFx0XHR2aWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzIGFzIENvbnRyb2wpLFxuXHRcdFx0dmlld0RhdGFGdWxsQ29udGV4dFBhdGggPSB2aWV3LmdldFZpZXdEYXRhKCkuZnVsbENvbnRleHRQYXRoLFxuXHRcdFx0bWV0YU1vZGVsID0gdmlldy5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpLFxuXHRcdFx0bWV0YU1vZGVsUGF0aCA9IG1ldGFNb2RlbC5nZXRNZXRhUGF0aCh2aWV3RGF0YUZ1bGxDb250ZXh0UGF0aCksXG5cdFx0XHR2aWV3Q29udGV4dCA9IG1ldGFNb2RlbC5nZXRDb250ZXh0KHZpZXdEYXRhRnVsbENvbnRleHRQYXRoKSxcblx0XHRcdGRhdGFWaWV3TW9kZWxQYXRoID0gTWV0YU1vZGVsQ29udmVydGVyLmdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyh2aWV3Q29udGV4dCksXG5cdFx0XHRzb3VyY2VQYXRoID0gdGhpcy5kYXRhKFwic291cmNlUGF0aFwiKSBhcyBzdHJpbmcsXG5cdFx0XHRmaWVsZFBhdGggPSBzb3VyY2VQYXRoLnJlcGxhY2UoYCR7bWV0YU1vZGVsUGF0aH1gLCBcIlwiKSxcblx0XHRcdHBhdGggPSBmaWVsZFBhdGgucmVwbGFjZSh0aGlzLnByb3BlcnR5UGF0aCwgXCJcIik7XG5cblx0XHRuYXZpZ2F0aW9uUHJvcGVydGllcy5wdXNoKHsgJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IGZpZWxkUGF0aCB9KTtcblx0XHRpZiAodGhpcy5maWxlbmFtZSkge1xuXHRcdFx0bmF2aWdhdGlvblByb3BlcnRpZXMucHVzaCh7ICROYXZpZ2F0aW9uUHJvcGVydHlQYXRoOiBwYXRoICsgdGhpcy5maWxlbmFtZSB9KTtcblx0XHR9XG5cdFx0aWYgKHRoaXMubWVkaWFUeXBlKSB7XG5cdFx0XHRuYXZpZ2F0aW9uUHJvcGVydGllcy5wdXNoKHsgJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IHBhdGggKyB0aGlzLm1lZGlhVHlwZSB9KTtcblx0XHR9XG5cdFx0dGhpcy5fZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIoKT8uYWRkQ29udHJvbFNpZGVFZmZlY3RzKGRhdGFWaWV3TW9kZWxQYXRoLnRhcmdldEVudGl0eVR5cGUuZnVsbHlRdWFsaWZpZWROYW1lLCB7XG5cdFx0XHRzb3VyY2VQcm9wZXJ0aWVzOiBbZmllbGRQYXRoXSxcblx0XHRcdHRhcmdldEVudGl0aWVzOiBuYXZpZ2F0aW9uUHJvcGVydGllcyxcblx0XHRcdHNvdXJjZUNvbnRyb2xJZDogdGhpcy5nZXRJZCgpXG5cdFx0fSk7XG5cdH1cblxuXHRfZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIoKTogU2lkZUVmZmVjdHNDb250cm9sbGVyRXh0ZW5zaW9uIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBjb250cm9sbGVyID0gdGhpcy5fZ2V0Vmlld0NvbnRyb2xsZXIoKSBhcyBQYWdlQ29udHJvbGxlciB8IHVuZGVmaW5lZDtcblx0XHRyZXR1cm4gY29udHJvbGxlciA/IGNvbnRyb2xsZXIuX3NpZGVFZmZlY3RzIDogdW5kZWZpbmVkO1xuXHR9XG5cblx0X2dldFZpZXdDb250cm9sbGVyKCk6IFBhZ2VDb250cm9sbGVyIHtcblx0XHRjb25zdCB2aWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzIGFzIENvbnRyb2wpO1xuXHRcdHJldHVybiB2aWV3ICYmIHZpZXcuZ2V0Q29udHJvbGxlcigpO1xuXHR9XG5cblx0Z2V0VXBsb2FkVXJsKCk6IHN0cmluZyB7XG5cdFx0Ly8gc2V0IHVwbG9hZCB1cmwgYXMgY2Fub25pY2FsIHVybCBmb3IgTmF2aWdhdGlvblByb3BlcnRpZXNcblx0XHQvLyB0aGlzIGlzIGEgd29ya2Fyb3VuZCBhcyBzb21lIGJhY2tlbmRzIGNhbm5vdCByZXNvbHZlIE5hdmlnYXRpb25zUHJvcGVydGllcyBmb3Igc3RyZWFtIHR5cGVzXG5cdFx0Y29uc3QgY29udGV4dCA9IHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoKSBhcyBDb250ZXh0O1xuXHRcdHJldHVybiBjb250ZXh0ICYmIHRoaXMudXBsb2FkVXJsID8gdGhpcy51cGxvYWRVcmwucmVwbGFjZShjb250ZXh0LmdldFBhdGgoKSwgY29udGV4dC5nZXRDYW5vbmljYWxQYXRoKCkpIDogXCJcIjtcblx0fVxuXG5cdHNldFVJQnVzeShidXN5OiBib29sZWFuKTogdm9pZCB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG5cdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0dGhpcy5fYnVzeSA9IGJ1c3k7XG5cdFx0aWYgKGJ1c3kpIHtcblx0XHRcdGlmICghdGhpcy5idXN5RGlhbG9nKSB7XG5cdFx0XHRcdHRoaXMuYnVzeURpYWxvZyA9IG5ldyBCdXN5RGlhbG9nKHtcblx0XHRcdFx0XHR0ZXh0OiBnZXRSZXNvdXJjZU1vZGVsKHRoaXMpLmdldFRleHQoXCJNX0ZJTEVXUkFQUEVSX0JVU1lfRElBTE9HX1RJVExFXCIpLFxuXHRcdFx0XHRcdHNob3dDYW5jZWxCdXR0b246IGZhbHNlXG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdFx0c2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdGlmICh0aGF0Ll9idXN5KSB7XG5cdFx0XHRcdFx0dGhhdC5idXN5RGlhbG9nPy5vcGVuKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0sIDEwMDApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmJ1c3lEaWFsb2c/LmNsb3NlKGZhbHNlKTtcblx0XHR9XG5cdH1cblxuXHRnZXRVSUJ1c3koKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2J1c3k7XG5cdH1cblxuXHRzdGF0aWMgcmVuZGVyKHJlbmRlck1hbmFnZXI6IFJlbmRlck1hbmFnZXIsIGZpbGVXcmFwcGVyOiBGaWxlV3JhcHBlcik6IHZvaWQge1xuXHRcdGxldCBpbm5lckRpdk1heFdpZHRoLCBpbm5lckRpdk1pbldpZHRoO1xuXHRcdGlmIChmaWxlV3JhcHBlci5hdmF0YXIpIHtcblx0XHRcdC8vIFRoZSBhdmF0YXIgaGFzIGEgZml4ZWQgd2lkdGggKDNyZW0pIHRoZXJlZm9yZSB0aGUgaW5uZXIgZGl2IGNhbiBoYXZlIGEgbG93ZXIgbWluIHdpZHRoIHRoYW4gaWNvbiBhbmQgbGlua1xuXHRcdFx0aW5uZXJEaXZNYXhXaWR0aCA9IFwiMTAwJVwiO1xuXHRcdFx0aW5uZXJEaXZNaW5XaWR0aCA9IFwiM3JlbVwiO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBEZXBlbmRpbmcgb24gZGlzcGxheSBvciBlZGl0IG1vZGUgd2UgaGF2ZSB0byByZXNlcnZlIHNvbWUgc3BhY2UgZm9yIHRoZSBmaWxlIHVwbG9hZCBhbmQgZGVsZXRlIGJ1dHRvbiAoMnJlbSBlYWNoICsgMXJlbSBtYXJnaW4pXG5cdFx0XHRpbm5lckRpdk1heFdpZHRoID0gQ29tbW9uVXRpbHMuZ2V0SXNFZGl0YWJsZShmaWxlV3JhcHBlciBhcyB1bmtub3duIGFzIE1hbmFnZWRPYmplY3QpID8gXCJjYWxjKDEwMCUgLSA1cmVtKVwiIDogXCIxMDAlXCI7XG5cdFx0XHRpbm5lckRpdk1pbldpZHRoID0gXCI0LjVyZW1cIjtcblx0XHR9XG5cblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5TdGFydChcImRpdlwiLCBmaWxlV3JhcHBlcik7IC8vIEZpbGVXcmFwcGVyIGNvbnRyb2wgZGl2XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcIndpZHRoXCIsIGZpbGVXcmFwcGVyLndpZHRoKTtcblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5FbmQoKTtcblxuXHRcdC8vIE91dGVyIEJveFxuXHRcdHJlbmRlck1hbmFnZXIub3BlblN0YXJ0KFwiZGl2XCIpOyAvLyBkaXYgZm9yIGFsbCBjb250cm9sc1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJkaXNwbGF5XCIsIFwiZmxleFwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiYm94LXNpemluZ1wiLCBcImJvcmRlci1ib3hcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImp1c3RpZnktY29udGVudFwiLCBcInNwYWNlLWJldHdlZW5cIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImFsaWduLWl0ZW1zXCIsIFwiY2VudGVyXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJmbGV4LXdyYXBcIiwgXCJ3cmFwXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJhbGlnbi1jb250ZW50XCIsIFwic3RyZXRjaFwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwid2lkdGhcIiwgXCIxMDAlXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIub3BlbkVuZCgpO1xuXG5cdFx0Ly8gRGlzcGxheSBNb2RlXG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuU3RhcnQoXCJkaXZcIik7IC8vIGRpdiBmb3IgY29udHJvbHMgc2hvd24gaW4gRGlzcGxheSBtb2RlXG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImRpc3BsYXlcIiwgXCJmbGV4XCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJhbGlnbi1pdGVtc1wiLCBcImNlbnRlclwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwibWF4LXdpZHRoXCIsIGlubmVyRGl2TWF4V2lkdGgpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJtaW4td2lkdGhcIiwgaW5uZXJEaXZNaW5XaWR0aCk7XG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuRW5kKCk7XG5cblx0XHRpZiAoZmlsZVdyYXBwZXIuYXZhdGFyKSB7XG5cdFx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIuYXZhdGFyKTsgLy8gcmVuZGVyIHRoZSBBdmF0YXIgQ29udHJvbFxuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIuaWNvbik7IC8vIHJlbmRlciB0aGUgSWNvbiBDb250cm9sXG5cdFx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIubGluayk7IC8vIHJlbmRlciB0aGUgTGluayBDb250cm9sXG5cdFx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIudGV4dCk7IC8vIHJlbmRlciB0aGUgVGV4dCBDb250cm9sIGZvciBlbXB0eSBmaWxlIGluZGljYXRpb25cblx0XHR9XG5cdFx0cmVuZGVyTWFuYWdlci5jbG9zZShcImRpdlwiKTsgLy8gZGl2IGZvciBjb250cm9scyBzaG93biBpbiBEaXNwbGF5IG1vZGVcblxuXHRcdC8vIEFkZGl0aW9uYWwgY29udGVudCBmb3IgRWRpdCBNb2RlXG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuU3RhcnQoXCJkaXZcIik7IC8vIGRpdiBmb3IgY29udHJvbHMgc2hvd24gaW4gRGlzcGxheSArIEVkaXQgbW9kZVxuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJkaXNwbGF5XCIsIFwiZmxleFwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiYWxpZ24taXRlbXNcIiwgXCJjZW50ZXJcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuRW5kKCk7XG5cdFx0cmVuZGVyTWFuYWdlci5yZW5kZXJDb250cm9sKGZpbGVXcmFwcGVyLmZpbGVVcGxvYWRlcik7IC8vIHJlbmRlciB0aGUgRmlsZVVwbG9hZGVyIENvbnRyb2xcblx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIuZGVsZXRlQnV0dG9uKTsgLy8gcmVuZGVyIHRoZSBEZWxldGUgQnV0dG9uIENvbnRyb2xcblx0XHRyZW5kZXJNYW5hZ2VyLmNsb3NlKFwiZGl2XCIpOyAvLyBkaXYgZm9yIGNvbnRyb2xzIHNob3duIGluIERpc3BsYXkgKyBFZGl0IG1vZGVcblxuXHRcdHJlbmRlck1hbmFnZXIuY2xvc2UoXCJkaXZcIik7IC8vIGRpdiBmb3IgYWxsIGNvbnRyb2xzXG5cblx0XHRyZW5kZXJNYW5hZ2VyLmNsb3NlKFwiZGl2XCIpOyAvLyBlbmQgb2YgdGhlIGNvbXBsZXRlIENvbnRyb2xcblx0fVxuXG5cdGRlc3Ryb3koYlN1cHByZXNzSW52YWxpZGF0ZTogYm9vbGVhbik6IHZvaWQge1xuXHRcdGNvbnN0IG9TaWRlRWZmZWN0cyA9IHRoaXMuX2dldFNpZGVFZmZlY3RDb250cm9sbGVyKCk7XG5cdFx0aWYgKG9TaWRlRWZmZWN0cykge1xuXHRcdFx0b1NpZGVFZmZlY3RzLnJlbW92ZUNvbnRyb2xTaWRlRWZmZWN0cyh0aGlzKTtcblx0XHR9XG5cdFx0ZGVsZXRlIHRoaXMuYnVzeURpYWxvZztcblx0XHRGaWVsZFdyYXBwZXIucHJvdG90eXBlLmRlc3Ryb3kuYXBwbHkodGhpcywgW2JTdXBwcmVzc0ludmFsaWRhdGVdKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBGaWxlV3JhcHBlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7TUE0Qk1BLFdBQVcsSUFBQUMsSUFBQSxHQURoQkMsY0FBYyxDQUFDLG9DQUFvQyxDQUFDLEVBQUFDLEtBQUEsR0FFbkRDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBa0IsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FHckNGLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUUsS0FBQSxHQUc1QkgsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBRyxLQUFBLEdBRzVCSixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFJLEtBQUEsR0FHNUJDLFdBQVcsQ0FBQztJQUFFTCxJ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QUFBaEksWUFBQSxHQUFBNEgseUJBQUEsQ0FBQXBJLE9BQUEsQ0FBQXFCLFNBQUEsbUJBQUFqQyxLQUFBO0lBQUFpSixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQS9ILFlBQUEsR0FBQTJILHlCQUFBLENBQUFwSSxPQUFBLENBQUFxQixTQUFBLGVBQUFoQyxLQUFBO0lBQUFnSixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQTlILFlBQUEsR0FBQTBILHlCQUFBLENBQUFwSSxPQUFBLENBQUFxQixTQUFBLGdCQUFBL0IsS0FBQTtJQUFBK0ksWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUE3SCxZQUFBLEdBQUF5SCx5QkFBQSxDQUFBcEksT0FBQSxDQUFBcUIsU0FBQSxhQUFBOUIsS0FBQTtJQUFBOEksWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUE1SCxZQUFBLEdBQUF3SCx5QkFBQSxDQUFBcEksT0FBQSxDQUFBcUIsU0FBQSxXQUFBM0IsS0FBQTtJQUFBMkksWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUEzSCxZQUFBLEdBQUF1SCx5QkFBQSxDQUFBcEksT0FBQSxDQUFBcUIsU0FBQSxXQUFBMUIsS0FBQTtJQUFBMEksWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUExSCxZQUFBLEdBQUFzSCx5QkFBQSxDQUFBcEksT0FBQSxDQUFBcUIsU0FBQSxXQUFBekIsS0FBQTtJQUFBeUksWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUF6SCxZQUFBLEdBQUFxSCx5QkFBQSxDQUFBcEksT0FBQSxDQUFBcUIsU0FBQSxtQkFBQXhCLE1BQUE7SUFBQXdJLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBeEgsYUFBQSxHQUFBb0gseUJBQUEsQ0FBQXBJLE9BQUEsQ0FBQXFCLFNBQUEsbUJBQUF2QixNQUFBO0lBQUF1SSxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQXhJLE9BQUEsTUFBQUQsTUFBQTtFQUFBLE9Bb1F2QmpCLFdBQVc7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
318
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWxlV3JhcHBlciIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiX2RlYzExIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9GaWVsZFdyYXBwZXIiLCJpZCIsInNldHRpbmdzIiwiX3RoaXMiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9kZXNjcmlwdG9yMyIsIl9kZXNjcmlwdG9yNCIsIl9kZXNjcmlwdG9yNSIsIl9kZXNjcmlwdG9yNiIsIl9kZXNjcmlwdG9yNyIsIl9kZXNjcmlwdG9yOCIsIl9kZXNjcmlwdG9yOSIsIl9kZXNjcmlwdG9yMTAiLCJfYnVzeSIsImF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlIiwib0VsZW1lbnQiLCJtQXJpYVByb3BzIiwib25CZWZvcmVSZW5kZXJpbmciLCJfc2V0QXJpYUxhYmVsbGVkQnkiLCJfc2V0QXJpYVJlcXVpcmVkIiwiX2FkZFNpZGVFZmZlY3RzIiwiX3JlZnJlc2hBdmF0YXIiLCJsaW5rIiwib1BhcmVudCIsImdldFBhcmVudCIsImxhYmVsbGVkYnkiLCJ1bmRlZmluZWQiLCJhZGRBcmlhTGFiZWxsZWRCeSIsImdldElkRm9yTGFiZWwiLCJvQ29udGVudCIsInRleHQiLCJhdmF0YXIiLCJ2aWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3IiwiY29sbGFib3JhdGl2ZURyYWZ0IiwiZ2V0Q29udHJvbGxlciIsImlzQ29sbGFib3JhdGlvbkVuYWJsZWQiLCJhdmF0YXJCaW5kaW5nIiwiZ2V0QmluZGluZ0luZm8iLCJiaW5kaW5nIiwiYXR0YWNoRXZlbnQiLCJyZWZyZXNoQXZhdGFyQ2FjaGVCdXN0aW5nIiwidmlld0RhdGFGdWxsQ29udGV4dFBhdGgiLCJnZXRWaWV3RGF0YSIsImZ1bGxDb250ZXh0UGF0aCIsIm1ldGFNb2RlbCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwibWV0YUNvbnRleHQiLCJnZXRDb250ZXh0IiwibWV0YVBhdGhDb250ZXh0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJwcm9wZXJ0eVBhdGgiLCJkYXRhVmlld01vZGVsUGF0aCIsIk1ldGFNb2RlbENvbnZlcnRlciIsImdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyIsInN0cmVhbVByb3BlcnR5IiwidGFyZ2V0T2JqZWN0IiwicmVxdWlyZWRFeHByZXNzaW9uIiwiVUlGb3JtYXR0ZXJzIiwiZ2V0UmVxdWlyZWRFeHByZXNzaW9uIiwibmF2aWdhdGlvblByb3BlcnRpZXMiLCJtZXRhTW9kZWxQYXRoIiwiZ2V0TWV0YVBhdGgiLCJ2aWV3Q29udGV4dCIsInNvdXJjZVBhdGgiLCJkYXRhIiwiZmllbGRQYXRoIiwicmVwbGFjZSIsInBhdGgiLCJwdXNoIiwiJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGgiLCJmaWxlbmFtZSIsIm1lZGlhVHlwZSIsIl9nZXRTaWRlRWZmZWN0Q29udHJvbGxlciIsImFkZENvbnRyb2xTaWRlRWZmZWN0cyIsInRhcmdldEVudGl0eVR5cGUiLCJmdWxseVF1YWxpZmllZE5hbWUiLCJzb3VyY2VQcm9wZXJ0aWVzIiwidGFyZ2V0RW50aXRpZXMiLCJzb3VyY2VDb250cm9sSWQiLCJnZXRJZCIsImNvbnRyb2xsZXIiLCJfZ2V0Vmlld0NvbnRyb2xsZXIiLCJfc2lkZUVmZmVjdHMiLCJnZXRVcGxvYWRVcmwiLCJjb250ZXh0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJ1cGxvYWRVcmwiLCJnZXRPYmplY3QiLCJnZXRQYXRoIiwiZ2V0Q2Fub25pY2FsUGF0aCIsInNldFVJQnVzeSIsImJ1c3kiLCJ0aGF0IiwiYnVzeURpYWxvZyIsIkJ1c3lEaWFsb2ciLCJnZXRSZXNvdXJjZU1vZGVsIiwiZ2V0VGV4dCIsInNob3dDYW5jZWxCdXR0b24iLCJzZXRUaW1lb3V0Iiwib3BlbiIsImNsb3NlIiwiZ2V0VUlCdXN5IiwicmVuZGVyIiwicmVuZGVyTWFuYWdlciIsImZpbGVXcmFwcGVyIiwiaW5uZXJEaXZNYXhXaWR0aCIsImlubmVyRGl2TWluV2lkdGgiLCJnZXRJc0VkaXRhYmxlIiwib3BlblN0YXJ0Iiwic3R5bGUiLCJ3aWR0aCIsIm9wZW5FbmQiLCJyZW5kZXJDb250cm9sIiwiaWNvbiIsImZpbGVVcGxvYWRlciIsImRlbGV0ZUJ1dHRvbiIsImRlc3Ryb3kiLCJiU3VwcHJlc3NJbnZhbGlkYXRlIiwib1NpZGVFZmZlY3RzIiwicmVtb3ZlQ29udHJvbFNpZGVFZmZlY3RzIiwiRmllbGRXcmFwcGVyIiwiYXBwbHkiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZpbGVXcmFwcGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgYWdncmVnYXRpb24sIGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIFBhZ2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9QYWdlQ29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgU2lkZUVmZmVjdHNDb250cm9sbGVyRXh0ZW5zaW9uIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9TaWRlRWZmZWN0c1wiO1xuaW1wb3J0ICogYXMgTWV0YU1vZGVsQ29udmVydGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHsgZ2V0UmVzb3VyY2VNb2RlbCB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1Jlc291cmNlTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB0eXBlIHsgU2lkZUVmZmVjdHNFbnRpdHlUeXBlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL1NpZGVFZmZlY3RzU2VydmljZUZhY3RvcnlcIjtcbmltcG9ydCAqIGFzIFVJRm9ybWF0dGVycyBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9VSUZvcm1hdHRlcnNcIjtcbmltcG9ydCB0eXBlIEF2YXRhciBmcm9tIFwic2FwL20vQXZhdGFyXCI7XG5pbXBvcnQgQnVzeURpYWxvZyBmcm9tIFwic2FwL20vQnVzeURpYWxvZ1wiO1xuaW1wb3J0IHR5cGUgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCB0eXBlIExpbmsgZnJvbSBcInNhcC9tL0xpbmtcIjtcbmltcG9ydCB0eXBlIFRleHQgZnJvbSBcInNhcC9tL1RleHRcIjtcbmltcG9ydCB0eXBlIE1hbmFnZWRPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIHsgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBJY29uIGZyb20gXCJzYXAvdWkvY29yZS9JY29uXCI7XG5pbXBvcnQgdHlwZSBSZW5kZXJNYW5hZ2VyIGZyb20gXCJzYXAvdWkvY29yZS9SZW5kZXJNYW5hZ2VyXCI7XG5pbXBvcnQgdHlwZSB7IFVSSSB9IGZyb20gXCJzYXAvdWkvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgRmlsZVVwbG9hZGVyIGZyb20gXCJzYXAvdWkvdW5pZmllZC9GaWxlVXBsb2FkZXJcIjtcbmltcG9ydCBGaWVsZFdyYXBwZXIgZnJvbSBcIi4vRmllbGRXcmFwcGVyXCI7XG50eXBlIENvbnRyb2xXaXRoQWNjZXNzaWJpbGl0eSA9IENvbnRyb2wgJiB7IGFkZEFyaWFMYWJlbGxlZEJ5PzogKGlkOiBzdHJpbmcpID0+IHZvaWQgfTtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5GaWxlV3JhcHBlclwiKVxuY2xhc3MgRmlsZVdyYXBwZXIgZXh0ZW5kcyBGaWVsZFdyYXBwZXIge1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInNhcC51aS5jb3JlLlVSSVwiIH0pXG5cdHVwbG9hZFVybCE6IFVSSTtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHByb3BlcnR5UGF0aCE6IHN0cmluZztcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGZpbGVuYW1lITogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0bWVkaWFUeXBlITogc3RyaW5nO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uQXZhdGFyXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRhdmF0YXI6IEF2YXRhciB8IHVuZGVmaW5lZDtcblxuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS5jb3JlLkljb25cIiwgbXVsdGlwbGU6IGZhbHNlIH0pXG5cdGljb24hOiBJY29uO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uTGlua1wiLCBtdWx0aXBsZTogZmFsc2UgfSlcblx0bGluayE6IExpbms7XG5cblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAubS5UZXh0XCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHR0ZXh0ITogVGV4dDtcblxuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS51bmlmaWVkLkZpbGVVcGxvYWRlclwiLCBtdWx0aXBsZTogZmFsc2UgfSlcblx0ZmlsZVVwbG9hZGVyITogRmlsZVVwbG9hZGVyO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uQnV0dG9uXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRkZWxldGVCdXR0b24hOiBCdXR0b247XG5cblx0cHJpdmF0ZSByZXF1aXJlZEV4cHJlc3Npb24/OiBzdHJpbmc7XG5cblx0cHJpdmF0ZSBfZmlsZVVwbG9hZGVyTWFuZGF0b3J5PzogQ29udHJvbDtcblxuXHRwcml2YXRlIF9idXN5ID0gZmFsc2U7XG5cblx0cHJpdmF0ZSBhdmF0YXJDYWNoZUJ1c3RpbmdJbml0aWFsaXplZCA9IGZhbHNlO1xuXG5cdHByaXZhdGUgYnVzeURpYWxvZz86IEJ1c3lEaWFsb2c7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0aWQ/OiBzdHJpbmcgfCB1bmRlZmluZWQgfCAoUHJvcGVydGllc09mPEZpbGVXcmFwcGVyPiAmICRDb250cm9sU2V0dGluZ3MpLFxuXHRcdHNldHRpbmdzPzogUHJvcGVydGllc09mPEZpbGVXcmFwcGVyPiAmICRDb250cm9sU2V0dGluZ3Ncblx0KSB7XG5cdFx0c3VwZXIoaWQgYXMgc3RyaW5nLCBzZXR0aW5ncyk7XG5cdH1cblxuXHRlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlKG9FbGVtZW50OiBvYmplY3QsIG1BcmlhUHJvcHM6IG9iamVjdCk6IG9iamVjdCB7XG5cdFx0Ly8gV2UgZG8gbm90IHdhbnQgdG8gcGFzcyBhcmlhLWxhYmVsbGVkYnkgdG8gYWxsIGNoaWxkIGNvbnRyb2xzLCBvbmx5IHVzZSBpdCBvbmNlIGFzIGEgbGFiZWwgb24gdGhlIHdyYXBwZXIgd2l0aCByb2xlIGdyb3VwLlxuXHRcdHJldHVybiBtQXJpYVByb3BzO1xuXHR9XG5cblx0b25CZWZvcmVSZW5kZXJpbmcoKTogdm9pZCB7XG5cdFx0dGhpcy5fc2V0QXJpYUxhYmVsbGVkQnkoKTtcblx0XHR0aGlzLl9zZXRBcmlhUmVxdWlyZWQoKTtcblx0XHR0aGlzLl9hZGRTaWRlRWZmZWN0cygpO1xuXHRcdHRoaXMuX3JlZnJlc2hBdmF0YXIoKTtcblx0fVxuXG5cdF9zZXRBcmlhTGFiZWxsZWRCeSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5saW5rKSB7XG5cdFx0XHRjb25zdCBvUGFyZW50ID0gdGhpcy5nZXRQYXJlbnQoKTtcblx0XHRcdGNvbnN0IG1BcmlhUHJvcHM6IHsgbGFiZWxsZWRieTogdW5kZWZpbmVkIHwgc3RyaW5nIH0gPSB7IGxhYmVsbGVkYnk6IHVuZGVmaW5lZCB9O1xuXG5cdFx0XHRpZiAob1BhcmVudCAmJiAob1BhcmVudCBhcyBNYW5hZ2VkT2JqZWN0ICYgeyBlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlPzogRnVuY3Rpb24gfSkuZW5oYW5jZUFjY2Vzc2liaWxpdHlTdGF0ZSkge1xuXHRcdFx0XHQob1BhcmVudCBhcyBNYW5hZ2VkT2JqZWN0ICYgeyBlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlOiBGdW5jdGlvbiB9KS5lbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlKHRoaXMubGluaywgbUFyaWFQcm9wcyk7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChtQXJpYVByb3BzLmxhYmVsbGVkYnkpIHtcblx0XHRcdFx0KHRoaXMgYXMgQ29udHJvbFdpdGhBY2Nlc3NpYmlsaXR5KS5hZGRBcmlhTGFiZWxsZWRCeSEobUFyaWFQcm9wcy5sYWJlbGxlZGJ5KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgRE9NTm9kZSBJRCB0byBiZSB1c2VkIGZvciB0aGUgXCJsYWJlbEZvclwiIGF0dHJpYnV0ZS5cblx0ICpcblx0ICogV2UgZm9yd2FyZCB0aGUgY2FsbCBvZiB0aGlzIG1ldGhvZCB0byB0aGUgY29udGVudCBjb250cm9sLlxuXHQgKiBAcmV0dXJucyBJRCB0byBiZSB1c2VkIGZvciB0aGUgPGNvZGU+bGFiZWxGb3I8L2NvZGU+XG5cdCAqL1xuXHRnZXRJZEZvckxhYmVsKCk6IHN0cmluZyB7XG5cdFx0Ly8gV2UgZWl0aGVyIGhhdmUgYSBsaW5rIHRvIGRvd25sb2FkIHRoZSBmaWxlLCBhIHRleHQgaW5kaWNhdGluZyBhbiBlbXB0eSBmaWxlLCBvciBhbiBhdmF0YXIgYW5kIG5vIGxpbmsgb3IgdGV4dFxuXHRcdGNvbnN0IG9Db250ZW50ID0gdGhpcy5saW5rIHx8IHRoaXMudGV4dCB8fCB0aGlzLmF2YXRhcjtcblx0XHRyZXR1cm4gKG9Db250ZW50IGFzIENvbnRyb2wpLmdldElkRm9yTGFiZWwoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJZiBpbiB0aGUgY29sbGFib3JhdGl2ZSBkcmFmdCwgc2VuZCBhIHJlcXVlc3QgdG8gcmVsb2FkIHRoZSBmaWxlLlxuXHQgKi9cblx0X3JlZnJlc2hBdmF0YXIoKTogdm9pZCB7XG5cdFx0Y29uc3QgdmlldyA9IENvbW1vblV0aWxzLmdldFRhcmdldFZpZXcodGhpcyBhcyBDb250cm9sKTtcblx0XHRjb25zdCBjb2xsYWJvcmF0aXZlRHJhZnQgPSB2aWV3LmdldENvbnRyb2xsZXIoKS5jb2xsYWJvcmF0aXZlRHJhZnQ7XG5cdFx0aWYgKGNvbGxhYm9yYXRpdmVEcmFmdC5pc0NvbGxhYm9yYXRpb25FbmFibGVkKCkpIHtcblx0XHRcdGNvbnN0IGF2YXRhckJpbmRpbmcgPSB0aGlzLmF2YXRhcj8uZ2V0QmluZGluZ0luZm8oXCJzcmNcIikuYmluZGluZztcblx0XHRcdGlmIChhdmF0YXJCaW5kaW5nICYmICF0aGlzLmF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkKSB7XG5cdFx0XHRcdGF2YXRhckJpbmRpbmcuYXR0YWNoRXZlbnQoXCJjaGFuZ2VcIiwgKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuYXZhdGFyPy5yZWZyZXNoQXZhdGFyQ2FjaGVCdXN0aW5nKCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHR0aGlzLmF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkID0gdHJ1ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRfc2V0QXJpYVJlcXVpcmVkKCk6IHZvaWQge1xuXHRcdGNvbnN0IHZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KHRoaXMgYXMgQ29udHJvbCksXG5cdFx0XHR2aWV3RGF0YUZ1bGxDb250ZXh0UGF0aCA9IHZpZXcuZ2V0Vmlld0RhdGEoKS5mdWxsQ29udGV4dFBhdGgsXG5cdFx0XHRtZXRhTW9kZWwgPSB2aWV3LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCksXG5cdFx0XHRtZXRhQ29udGV4dCA9IG1ldGFNb2RlbC5nZXRDb250ZXh0KHZpZXdEYXRhRnVsbENvbnRleHRQYXRoKSxcblx0XHRcdG1ldGFQYXRoQ29udGV4dCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dCh0aGlzLnByb3BlcnR5UGF0aCwgbWV0YUNvbnRleHQpLFxuXHRcdFx0ZGF0YVZpZXdNb2RlbFBhdGggPSBNZXRhTW9kZWxDb252ZXJ0ZXIuZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKG1ldGFQYXRoQ29udGV4dCwgbWV0YUNvbnRleHQpO1xuXG5cdFx0Y29uc3Qgc3RyZWFtUHJvcGVydHkgPSBkYXRhVmlld01vZGVsUGF0aC50YXJnZXRPYmplY3QgYXMgUHJvcGVydHk7XG5cdFx0dGhpcy5yZXF1aXJlZEV4cHJlc3Npb24gPSBVSUZvcm1hdHRlcnMuZ2V0UmVxdWlyZWRFeHByZXNzaW9uKFxuXHRcdFx0c3RyZWFtUHJvcGVydHksXG5cdFx0XHR1bmRlZmluZWQsXG5cdFx0XHRmYWxzZSxcblx0XHRcdGZhbHNlLFxuXHRcdFx0e30sXG5cdFx0XHRkYXRhVmlld01vZGVsUGF0aFxuXHRcdCkgYXMgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb247XG5cdH1cblxuXHRfYWRkU2lkZUVmZmVjdHMoKTogdm9pZCB7XG5cdFx0Ly8gYWRkIGNvbnRyb2wgU2lkZUVmZmVjdHMgZm9yIHN0cmVhbSBjb250ZW50LCBmaWxlbmFtZSBhbmQgbWVkaWF0eXBlXG5cdFx0Y29uc3QgbmF2aWdhdGlvblByb3BlcnRpZXM6IFNpZGVFZmZlY3RzRW50aXR5VHlwZVtdID0gW10sXG5cdFx0XHR2aWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzIGFzIENvbnRyb2wpLFxuXHRcdFx0dmlld0RhdGFGdWxsQ29udGV4dFBhdGggPSB2aWV3LmdldFZpZXdEYXRhKCkuZnVsbENvbnRleHRQYXRoLFxuXHRcdFx0bWV0YU1vZGVsID0gdmlldy5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpLFxuXHRcdFx0bWV0YU1vZGVsUGF0aCA9IG1ldGFNb2RlbC5nZXRNZXRhUGF0aCh2aWV3RGF0YUZ1bGxDb250ZXh0UGF0aCksXG5cdFx0XHR2aWV3Q29udGV4dCA9IG1ldGFNb2RlbC5nZXRDb250ZXh0KHZpZXdEYXRhRnVsbENvbnRleHRQYXRoKSxcblx0XHRcdGRhdGFWaWV3TW9kZWxQYXRoID0gTWV0YU1vZGVsQ29udmVydGVyLmdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyh2aWV3Q29udGV4dCksXG5cdFx0XHRzb3VyY2VQYXRoID0gdGhpcy5kYXRhKFwic291cmNlUGF0aFwiKSBhcyBzdHJpbmcsXG5cdFx0XHRmaWVsZFBhdGggPSBzb3VyY2VQYXRoLnJlcGxhY2UoYCR7bWV0YU1vZGVsUGF0aH1gLCBcIlwiKSxcblx0XHRcdHBhdGggPSBmaWVsZFBhdGgucmVwbGFjZSh0aGlzLnByb3BlcnR5UGF0aCwgXCJcIik7XG5cblx0XHRuYXZpZ2F0aW9uUHJvcGVydGllcy5wdXNoKHsgJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IGZpZWxkUGF0aCB9KTtcblx0XHRpZiAodGhpcy5maWxlbmFtZSkge1xuXHRcdFx0bmF2aWdhdGlvblByb3BlcnRpZXMucHVzaCh7ICROYXZpZ2F0aW9uUHJvcGVydHlQYXRoOiBwYXRoICsgdGhpcy5maWxlbmFtZSB9KTtcblx0XHR9XG5cdFx0aWYgKHRoaXMubWVkaWFUeXBlKSB7XG5cdFx0XHRuYXZpZ2F0aW9uUHJvcGVydGllcy5wdXNoKHsgJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IHBhdGggKyB0aGlzLm1lZGlhVHlwZSB9KTtcblx0XHR9XG5cdFx0dGhpcy5fZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIoKT8uYWRkQ29udHJvbFNpZGVFZmZlY3RzKGRhdGFWaWV3TW9kZWxQYXRoLnRhcmdldEVudGl0eVR5cGUuZnVsbHlRdWFsaWZpZWROYW1lLCB7XG5cdFx0XHRzb3VyY2VQcm9wZXJ0aWVzOiBbZmllbGRQYXRoXSxcblx0XHRcdHRhcmdldEVudGl0aWVzOiBuYXZpZ2F0aW9uUHJvcGVydGllcyxcblx0XHRcdHNvdXJjZUNvbnRyb2xJZDogdGhpcy5nZXRJZCgpXG5cdFx0fSk7XG5cdH1cblxuXHRfZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIoKTogU2lkZUVmZmVjdHNDb250cm9sbGVyRXh0ZW5zaW9uIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBjb250cm9sbGVyID0gdGhpcy5fZ2V0Vmlld0NvbnRyb2xsZXIoKSBhcyBQYWdlQ29udHJvbGxlciB8IHVuZGVmaW5lZDtcblx0XHRyZXR1cm4gY29udHJvbGxlciA/IGNvbnRyb2xsZXIuX3NpZGVFZmZlY3RzIDogdW5kZWZpbmVkO1xuXHR9XG5cblx0X2dldFZpZXdDb250cm9sbGVyKCk6IFBhZ2VDb250cm9sbGVyIHtcblx0XHRjb25zdCB2aWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzIGFzIENvbnRyb2wpO1xuXHRcdHJldHVybiB2aWV3ICYmIHZpZXcuZ2V0Q29udHJvbGxlcigpO1xuXHR9XG5cblx0Z2V0VXBsb2FkVXJsKCk6IHN0cmluZyB7XG5cdFx0Y29uc3QgY29udGV4dCA9IHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoKSBhcyBDb250ZXh0O1xuXHRcdGlmIChjb250ZXh0ICYmIHRoaXMudXBsb2FkVXJsKSB7XG5cdFx0XHQvLyBJZiB0aGUgYmFja2VuZCBkaWQgbm90IGV4cGxpY2l0bHkgc2V0IEFkZHJlc3NWaWFOYXZpZ2F0aW9uUGF0aCwgd2UgbmVlZCB0byB1c2UgdGhlIGNhbm9uaWNhbCBwYXRoIGZvciB1cGxvYWRcblx0XHRcdGlmIChjb250ZXh0LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCkuZ2V0T2JqZWN0KFwiL0Bjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuQWRkcmVzc1ZpYU5hdmlnYXRpb25QYXRoXCIpID09PSB0cnVlKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLnVwbG9hZFVybDtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLnVwbG9hZFVybC5yZXBsYWNlKGNvbnRleHQuZ2V0UGF0aCgpLCBjb250ZXh0LmdldENhbm9uaWNhbFBhdGgoKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBcIlwiO1xuXHR9XG5cblx0c2V0VUlCdXN5KGJ1c3k6IGJvb2xlYW4pOiB2b2lkIHtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcblx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHR0aGlzLl9idXN5ID0gYnVzeTtcblx0XHRpZiAoYnVzeSkge1xuXHRcdFx0aWYgKCF0aGlzLmJ1c3lEaWFsb2cpIHtcblx0XHRcdFx0dGhpcy5idXN5RGlhbG9nID0gbmV3IEJ1c3lEaWFsb2coe1xuXHRcdFx0XHRcdHRleHQ6IGdldFJlc291cmNlTW9kZWwodGhpcykuZ2V0VGV4dChcIk1fRklMRVdSQVBQRVJfQlVTWV9ESUFMT0dfVElUTEVcIiksXG5cdFx0XHRcdFx0c2hvd0NhbmNlbEJ1dHRvbjogZmFsc2Vcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0XHRzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0aWYgKHRoYXQuX2J1c3kpIHtcblx0XHRcdFx0XHR0aGF0LmJ1c3lEaWFsb2c/Lm9wZW4oKTtcblx0XHRcdFx0fVxuXHRcdFx0fSwgMTAwMCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuYnVzeURpYWxvZz8uY2xvc2UoZmFsc2UpO1xuXHRcdH1cblx0fVxuXG5cdGdldFVJQnVzeSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5fYnVzeTtcblx0fVxuXG5cdHN0YXRpYyByZW5kZXIocmVuZGVyTWFuYWdlcjogUmVuZGVyTWFuYWdlciwgZmlsZVdyYXBwZXI6IEZpbGVXcmFwcGVyKTogdm9pZCB7XG5cdFx0bGV0IGlubmVyRGl2TWF4V2lkdGgsIGlubmVyRGl2TWluV2lkdGg7XG5cdFx0aWYgKGZpbGVXcmFwcGVyLmF2YXRhcikge1xuXHRcdFx0Ly8gVGhlIGF2YXRhciBoYXMgYSBmaXhlZCB3aWR0aCAoM3JlbSkgdGhlcmVmb3JlIHRoZSBpbm5lciBkaXYgY2FuIGhhdmUgYSBsb3dlciBtaW4gd2lkdGggdGhhbiBpY29uIGFuZCBsaW5rXG5cdFx0XHRpbm5lckRpdk1heFdpZHRoID0gXCIxMDAlXCI7XG5cdFx0XHRpbm5lckRpdk1pbldpZHRoID0gXCIzcmVtXCI7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIERlcGVuZGluZyBvbiBkaXNwbGF5IG9yIGVkaXQgbW9kZSB3ZSBoYXZlIHRvIHJlc2VydmUgc29tZSBzcGFjZSBmb3IgdGhlIGZpbGUgdXBsb2FkIGFuZCBkZWxldGUgYnV0dG9uICgycmVtIGVhY2ggKyAxcmVtIG1hcmdpbilcblx0XHRcdGlubmVyRGl2TWF4V2lkdGggPSBDb21tb25VdGlscy5nZXRJc0VkaXRhYmxlKGZpbGVXcmFwcGVyIGFzIHVua25vd24gYXMgTWFuYWdlZE9iamVjdCkgPyBcImNhbGMoMTAwJSAtIDZyZW0pXCIgOiBcIjEwMCVcIjtcblx0XHRcdGlubmVyRGl2TWluV2lkdGggPSBcIjQuNXJlbVwiO1xuXHRcdH1cblxuXHRcdHJlbmRlck1hbmFnZXIub3BlblN0YXJ0KFwiZGl2XCIsIGZpbGVXcmFwcGVyKTsgLy8gRmlsZVdyYXBwZXIgY29udHJvbCBkaXZcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwid2lkdGhcIiwgZmlsZVdyYXBwZXIud2lkdGgpO1xuXHRcdHJlbmRlck1hbmFnZXIub3BlbkVuZCgpO1xuXG5cdFx0Ly8gT3V0ZXIgQm94XG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuU3RhcnQoXCJkaXZcIik7IC8vIGRpdiBmb3IgYWxsIGNvbnRyb2xzXG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImRpc3BsYXlcIiwgXCJmbGV4XCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJib3gtc2l6aW5nXCIsIFwiYm9yZGVyLWJveFwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwianVzdGlmeS1jb250ZW50XCIsIFwic3BhY2UtYmV0d2VlblwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiYWxpZ24taXRlbXNcIiwgXCJjZW50ZXJcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImZsZXgtd3JhcFwiLCBcIndyYXBcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImFsaWduLWNvbnRlbnRcIiwgXCJzdHJldGNoXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJ3aWR0aFwiLCBcIjEwMCVcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuRW5kKCk7XG5cblx0XHQvLyBEaXNwbGF5IE1vZGVcblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5TdGFydChcImRpdlwiKTsgLy8gZGl2IGZvciBjb250cm9scyBzaG93biBpbiBEaXNwbGF5IG1vZGVcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiZGlzcGxheVwiLCBcImZsZXhcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImFsaWduLWl0ZW1zXCIsIFwiY2VudGVyXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJtYXgtd2lkdGhcIiwgaW5uZXJEaXZNYXhXaWR0aCk7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcIm1pbi13aWR0aFwiLCBpbm5lckRpdk1pbldpZHRoKTtcblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5FbmQoKTtcblxuXHRcdGlmIChmaWxlV3JhcHBlci5hdmF0YXIpIHtcblx0XHRcdHJlbmRlck1hbmFnZXIucmVuZGVyQ29udHJvbChmaWxlV3JhcHBlci5hdmF0YXIpOyAvLyByZW5kZXIgdGhlIEF2YXRhciBDb250cm9sXG5cdFx0fSBlbHNlIHtcblx0XHRcdHJlbmRlck1hbmFnZXIucmVuZGVyQ29udHJvbChmaWxlV3JhcHBlci5pY29uKTsgLy8gcmVuZGVyIHRoZSBJY29uIENvbnRyb2xcblx0XHRcdHJlbmRlck1hbmFnZXIucmVuZGVyQ29udHJvbChmaWxlV3JhcHBlci5saW5rKTsgLy8gcmVuZGVyIHRoZSBMaW5rIENvbnRyb2xcblx0XHRcdHJlbmRlck1hbmFnZXIucmVuZGVyQ29udHJvbChmaWxlV3JhcHBlci50ZXh0KTsgLy8gcmVuZGVyIHRoZSBUZXh0IENvbnRyb2wgZm9yIGVtcHR5IGZpbGUgaW5kaWNhdGlvblxuXHRcdH1cblx0XHRyZW5kZXJNYW5hZ2VyLmNsb3NlKFwiZGl2XCIpOyAvLyBkaXYgZm9yIGNvbnRyb2xzIHNob3duIGluIERpc3BsYXkgbW9kZVxuXG5cdFx0Ly8gQWRkaXRpb25hbCBjb250ZW50IGZvciBFZGl0IE1vZGVcblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5TdGFydChcImRpdlwiKTsgLy8gZGl2IGZvciBjb250cm9scyBzaG93biBpbiBEaXNwbGF5ICsgRWRpdCBtb2RlXG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImRpc3BsYXlcIiwgXCJmbGV4XCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJhbGlnbi1pdGVtc1wiLCBcImNlbnRlclwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5FbmQoKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIuZmlsZVVwbG9hZGVyKTsgLy8gcmVuZGVyIHRoZSBGaWxlVXBsb2FkZXIgQ29udHJvbFxuXHRcdHJlbmRlck1hbmFnZXIucmVuZGVyQ29udHJvbChmaWxlV3JhcHBlci5kZWxldGVCdXR0b24pOyAvLyByZW5kZXIgdGhlIERlbGV0ZSBCdXR0b24gQ29udHJvbFxuXHRcdHJlbmRlck1hbmFnZXIuY2xvc2UoXCJkaXZcIik7IC8vIGRpdiBmb3IgY29udHJvbHMgc2hvd24gaW4gRGlzcGxheSArIEVkaXQgbW9kZVxuXG5cdFx0cmVuZGVyTWFuYWdlci5jbG9zZShcImRpdlwiKTsgLy8gZGl2IGZvciBhbGwgY29udHJvbHNcblxuXHRcdHJlbmRlck1hbmFnZXIuY2xvc2UoXCJkaXZcIik7IC8vIGVuZCBvZiB0aGUgY29tcGxldGUgQ29udHJvbFxuXHR9XG5cblx0ZGVzdHJveShiU3VwcHJlc3NJbnZhbGlkYXRlOiBib29sZWFuKTogdm9pZCB7XG5cdFx0Y29uc3Qgb1NpZGVFZmZlY3RzID0gdGhpcy5fZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIoKTtcblx0XHRpZiAob1NpZGVFZmZlY3RzKSB7XG5cdFx0XHRvU2lkZUVmZmVjdHMucmVtb3ZlQ29udHJvbFNpZGVFZmZlY3RzKHRoaXMpO1xuXHRcdH1cblx0XHRkZWxldGUgdGhpcy5idXN5RGlhbG9nO1xuXHRcdEZpZWxkV3JhcHBlci5wcm90b3R5cGUuZGVzdHJveS5hcHBseSh0aGlzLCBbYlN1cHByZXNzSW52YWxpZGF0ZV0pO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZpbGVXcmFwcGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztNQTRCTUEsV0FBVyxJQUFBQyxJQUFBLEdBRGhCQyxjQUFjLENBQUMsb0NBQW9DLENBQUMsRUFBQUMsS0FBQSxHQUVuREMsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFrQixDQUFDLENBQUMsRUFBQUMsS0FBQSxHQUdyQ0YsUUFBUSxDQUFD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
@@ -187,10 +187,16 @@ class FileWrapper extends FieldWrapper {
187
187
  }
188
188
 
189
189
  getUploadUrl(): string {
190
- // set upload url as canonical url for NavigationProperties
191
- // this is a workaround as some backends cannot resolve NavigationsProperties for stream types
192
190
  const context = this.getBindingContext() as Context;
193
- return context && this.uploadUrl ? this.uploadUrl.replace(context.getPath(), context.getCanonicalPath()) : "";
191
+ if (context && this.uploadUrl) {
192
+ // If the backend did not explicitly set AddressViaNavigationPath, we need to use the canonical path for upload
193
+ if (context.getModel().getMetaModel().getObject("/@com.sap.vocabularies.Common.v1.AddressViaNavigationPath") === true) {
194
+ return this.uploadUrl;
195
+ } else {
196
+ return this.uploadUrl.replace(context.getPath(), context.getCanonicalPath());
197
+ }
198
+ }
199
+ return "";
194
200
  }
195
201
 
196
202
  setUIBusy(busy: boolean): void {
@@ -226,7 +232,7 @@ class FileWrapper extends FieldWrapper {
226
232
  innerDivMinWidth = "3rem";
227
233
  } else {
228
234
  // Depending on display or edit mode we have to reserve some space for the file upload and delete button (2rem each + 1rem margin)
229
- innerDivMaxWidth = CommonUtils.getIsEditable(fileWrapper as unknown as ManagedObject) ? "calc(100% - 5rem)" : "100%";
235
+ innerDivMaxWidth = CommonUtils.getIsEditable(fileWrapper as unknown as ManagedObject) ? "calc(100% - 6rem)" : "100%";
230
236
  innerDivMinWidth = "4.5rem";
231
237
  }
232
238
 
@@ -18,9 +18,11 @@ sap.ui.define(["sap/fe/base/BuildingBlockBase", "sap/fe/base/ClassSupport", "sap
18
18
  type: "string"
19
19
  }), _dec3 = property({
20
20
  type: "string",
21
+ group: "Data",
21
22
  bindToState: true
22
23
  }), _dec4 = property({
23
24
  type: "string",
25
+ group: "Data",
24
26
  bindToState: true
25
27
  }), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlockBase) {
26
28
  function NumberWithUnitOrCurrency(propertiesOrId, properties) {
@@ -84,4 +86,4 @@ sap.ui.define(["sap/fe/base/BuildingBlockBase", "sap/fe/base/ClassSupport", "sap
84
86
  _exports = NumberWithUnitOrCurrency;
85
87
  return _exports;
86
88
  }, false);
87
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOdW1iZXJXaXRoVW5pdE9yQ3VycmVuY3kiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsInByb3BlcnR5IiwidHlwZSIsIl9kZWMzIiwiYmluZFRvU3RhdGUiLCJfZGVjNCIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQnVpbGRpbmdCbG9ja0Jhc2UiLCJwcm9wZXJ0aWVzT3JJZCIsInByb3BlcnRpZXMiLCJfdGhpcyIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiX2Rlc2NyaXB0b3IzIiwic3RhdGUiLCJ2aXNpYmxlIiwic2hvdWxkQmVWaXNpYmxlIiwibnVtYmVyIiwiY29udGVudCIsImNyZWF0ZUNvbnRlbnQiLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwib25TdGF0ZUNoYW5nZSIsImNoYW5nZWRLZXlzIiwiaW5jbHVkZXMiLCJ2YWx1ZSIsInRyaW0iLCJfanN4cyIsIkhCb3giLCJyZW5kZXJUeXBlIiwianVzdGlmeUNvbnRlbnQiLCJjbGFzcyIsImJpbmRTdGF0ZSIsImNoaWxkcmVuIiwiX2pzeCIsIlRleHQiLCJ0ZXh0RGlyZWN0aW9uIiwid3JhcHBpbmciLCJ0ZXh0QWxpZ24iLCJ0ZXh0Iiwid2lkdGgiLCJCdWlsZGluZ0Jsb2NrQmFzZSIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJpbml0aWFsaXplciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiTnVtYmVyV2l0aFVuaXRPckN1cnJlbmN5LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnVpbGRpbmdCbG9ja0Jhc2UgZnJvbSBcInNhcC9mZS9iYXNlL0J1aWxkaW5nQmxvY2tCYXNlXCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgcHJvcGVydHksIHR5cGUgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IEhCb3ggZnJvbSBcInNhcC9tL0hCb3hcIjtcbmltcG9ydCBUZXh0IGZyb20gXCJzYXAvbS9UZXh0XCI7XG5cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuTnVtYmVyV2l0aFVuaXRPckN1cnJlbmN5XCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOdW1iZXJXaXRoVW5pdE9yQ3VycmVuY3kgZXh0ZW5kcyBCdWlsZGluZ0Jsb2NrQmFzZTxcblx0SEJveCxcblx0eyBudW1iZXI6IHN0cmluZzsgdW5pdE9yQ3VycmVuY3k6IHN0cmluZzsgdmlzaWJsZTogYm9vbGVhbiB9XG4+IHtcblx0QHByb3BlcnR5KHtcblx0XHR0eXBlOiBcInN0cmluZ1wiXG5cdH0pXG5cdHB1YmxpYyBpZCE6IHN0cmluZztcblxuXHRAcHJvcGVydHkoe1xuXHRcdHR5cGU6IFwic3RyaW5nXCIsXG5cdFx0YmluZFRvU3RhdGU6IHRydWVcblx0fSlcblx0cHVibGljIG51bWJlciE6IHN0cmluZyB8IG51bWJlcjtcblxuXHRAcHJvcGVydHkoe1xuXHRcdHR5cGU6IFwic3RyaW5nXCIsXG5cdFx0YmluZFRvU3RhdGU6IHRydWVcblx0fSlcblx0cHVibGljIHVuaXRPckN1cnJlbmN5ITogc3RyaW5nO1xuXG5cdGNvbnN0cnVjdG9yKHByb3BlcnRpZXNPcklkOiBzdHJpbmcgfCBQcm9wZXJ0aWVzT2Y8TnVtYmVyV2l0aFVuaXRPckN1cnJlbmN5PiwgcHJvcGVydGllcz86IFByb3BlcnRpZXNPZjxOdW1iZXJXaXRoVW5pdE9yQ3VycmVuY3k+KSB7XG5cdFx0c3VwZXIocHJvcGVydGllc09ySWQsIHByb3BlcnRpZXMpO1xuXHRcdHRoaXMuc3RhdGUudmlzaWJsZSA9IHRoaXMuc2hvdWxkQmVWaXNpYmxlKHRoaXMuc3RhdGUubnVtYmVyKTtcblx0XHR0aGlzLmNvbnRlbnQgPSB0aGlzLmNyZWF0ZUNvbnRlbnQoKTtcblx0fVxuXG5cdG9uU3RhdGVDaGFuZ2UoY2hhbmdlZEtleXM6IHN0cmluZ1tdKTogdm9pZCB7XG5cdFx0aWYgKGNoYW5nZWRLZXlzPy5pbmNsdWRlcyhcIm51bWJlclwiKSkge1xuXHRcdFx0dGhpcy5zdGF0ZS52aXNpYmxlID0gdGhpcy5zaG91bGRCZVZpc2libGUodGhpcy5zdGF0ZS5udW1iZXIpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgc2hvdWxkQmVWaXNpYmxlKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgdmFsdWUudHJpbSgpICE9PSBcIlwiKSB8fCAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiICYmIHZhbHVlICE9PSAwKTtcblx0fVxuXG5cdGNyZWF0ZUNvbnRlbnQoKTogSEJveCB7XG5cdFx0cmV0dXJuIChcblx0XHRcdDxIQm94IHJlbmRlclR5cGU9XCJCYXJlXCIganVzdGlmeUNvbnRlbnQ9XCJFbmRcIiBjbGFzcz1cInNhcEZlQ29udHJvbHNVbml0Q3VycmVuY3lIYm94XCIgdmlzaWJsZT17dGhpcy5iaW5kU3RhdGUoXCJ2aXNpYmxlXCIpfT5cblx0XHRcdFx0PFRleHQgdGV4dERpcmVjdGlvbj1cIkxUUlwiIHdyYXBwaW5nPVwiZmFsc2VcIiB0ZXh0QWxpZ249XCJFbmRcIiB0ZXh0PXt0aGlzLmJpbmRTdGF0ZShcIm51bWJlclwiKX0+PC9UZXh0PlxuXHRcdFx0XHQ8VGV4dCB0ZXh0RGlyZWN0aW9uPVwiTFRSXCIgd3JhcHBpbmc9XCJmYWxzZVwiIHRleHRBbGlnbj1cIkVuZFwiIHRleHQ9e3RoaXMuYmluZFN0YXRlKFwidW5pdE9yQ3VycmVuY3lcIil9IHdpZHRoPVwiMy4zZW1cIj48L1RleHQ+XG5cdFx0XHQ8L0hCb3g+XG5cdFx0KTtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O01BTXFCQSx3QkFBd0IsSUFBQUMsSUFBQSxHQUQ1Q0MsY0FBYyxDQUFDLGlEQUFp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
89
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOdW1iZXJXaXRoVW5pdE9yQ3VycmVuY3kiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsInByb3BlcnR5IiwidHlwZSIsIl9kZWMzIiwiZ3JvdXAiLCJiaW5kVG9TdGF0ZSIsIl9kZWM0IiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CdWlsZGluZ0Jsb2NrQmFzZSIsInByb3BlcnRpZXNPcklkIiwicHJvcGVydGllcyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJzdGF0ZSIsInZpc2libGUiLCJzaG91bGRCZVZpc2libGUiLCJudW1iZXIiLCJjb250ZW50IiwiY3JlYXRlQ29udGVudCIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJvblN0YXRlQ2hhbmdlIiwiY2hhbmdlZEtleXMiLCJpbmNsdWRlcyIsInZhbHVlIiwidHJpbSIsIl9qc3hzIiwiSEJveCIsInJlbmRlclR5cGUiLCJqdXN0aWZ5Q29udGVudCIsImNsYXNzIiwiYmluZFN0YXRlIiwiY2hpbGRyZW4iLCJfanN4IiwiVGV4dCIsInRleHREaXJlY3Rpb24iLCJ3cmFwcGluZyIsInRleHRBbGlnbiIsInRleHQiLCJ3aWR0aCIsIkJ1aWxkaW5nQmxvY2tCYXNlIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJOdW1iZXJXaXRoVW5pdE9yQ3VycmVuY3kudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWlsZGluZ0Jsb2NrQmFzZSBmcm9tIFwic2FwL2ZlL2Jhc2UvQnVpbGRpbmdCbG9ja0Jhc2VcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSwgdHlwZSBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgSEJveCBmcm9tIFwic2FwL20vSEJveFwiO1xuaW1wb3J0IFRleHQgZnJvbSBcInNhcC9tL1RleHRcIjtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5OdW1iZXJXaXRoVW5pdE9yQ3VycmVuY3lcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE51bWJlcldpdGhVbml0T3JDdXJyZW5jeSBleHRlbmRzIEJ1aWxkaW5nQmxvY2tCYXNlPFxuXHRIQm94LFxuXHR7IG51bWJlcjogc3RyaW5nOyB1bml0T3JDdXJyZW5jeTogc3RyaW5nOyB2aXNpYmxlOiBib29sZWFuIH1cbj4ge1xuXHRAcHJvcGVydHkoe1xuXHRcdHR5cGU6IFwic3RyaW5nXCJcblx0fSlcblx0cHVibGljIGlkITogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJzdHJpbmdcIixcblx0XHRncm91cDogXCJEYXRhXCIsXG5cdFx0YmluZFRvU3RhdGU6IHRydWVcblx0fSlcblx0cHVibGljIG51bWJlciE6IHN0cmluZyB8IG51bWJlcjtcblxuXHRAcHJvcGVydHkoe1xuXHRcdHR5cGU6IFwic3RyaW5nXCIsXG5cdFx0Z3JvdXA6IFwiRGF0YVwiLFxuXHRcdGJpbmRUb1N0YXRlOiB0cnVlXG5cdH0pXG5cdHB1YmxpYyB1bml0T3JDdXJyZW5jeSE6IHN0cmluZztcblxuXHRjb25zdHJ1Y3Rvcihwcm9wZXJ0aWVzT3JJZDogc3RyaW5nIHwgUHJvcGVydGllc09mPE51bWJlcldpdGhVbml0T3JDdXJyZW5jeT4sIHByb3BlcnRpZXM/OiBQcm9wZXJ0aWVzT2Y8TnVtYmVyV2l0aFVuaXRPckN1cnJlbmN5Pikge1xuXHRcdHN1cGVyKHByb3BlcnRpZXNPcklkLCBwcm9wZXJ0aWVzKTtcblx0XHR0aGlzLnN0YXRlLnZpc2libGUgPSB0aGlzLnNob3VsZEJlVmlzaWJsZSh0aGlzLnN0YXRlLm51bWJlcik7XG5cdFx0dGhpcy5jb250ZW50ID0gdGhpcy5jcmVhdGVDb250ZW50KCk7XG5cdH1cblxuXHRvblN0YXRlQ2hhbmdlKGNoYW5nZWRLZXlzOiBzdHJpbmdbXSk6IHZvaWQge1xuXHRcdGlmIChjaGFuZ2VkS2V5cz8uaW5jbHVkZXMoXCJudW1iZXJcIikpIHtcblx0XHRcdHRoaXMuc3RhdGUudmlzaWJsZSA9IHRoaXMuc2hvdWxkQmVWaXNpYmxlKHRoaXMuc3RhdGUubnVtYmVyKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHNob3VsZEJlVmlzaWJsZSh2YWx1ZTogdW5rbm93bik6IGJvb2xlYW4ge1xuXHRcdHJldHVybiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiICYmIHZhbHVlLnRyaW0oKSAhPT0gXCJcIikgfHwgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIiAmJiB2YWx1ZSAhPT0gMCk7XG5cdH1cblxuXHRjcmVhdGVDb250ZW50KCk6IEhCb3gge1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8SEJveCByZW5kZXJUeXBlPVwiQmFyZVwiIGp1c3RpZnlDb250ZW50PVwiRW5kXCIgY2xhc3M9XCJzYXBGZUNvbnRyb2xzVW5pdEN1cnJlbmN5SGJveFwiIHZpc2libGU9e3RoaXMuYmluZFN0YXRlKFwidmlzaWJsZVwiKX0+XG5cdFx0XHRcdDxUZXh0IHRleHREaXJlY3Rpb249XCJMVFJcIiB3cmFwcGluZz1cImZhbHNlXCIgdGV4dEFsaWduPVwiRW5kXCIgdGV4dD17dGhpcy5iaW5kU3RhdGUoXCJudW1iZXJcIil9PjwvVGV4dD5cblx0XHRcdFx0PFRleHQgdGV4dERpcmVjdGlvbj1cIkxUUlwiIHdyYXBwaW5nPVwiZmFsc2VcIiB0ZXh0QWxpZ249XCJFbmRcIiB0ZXh0PXt0aGlzLmJpbmRTdGF0ZShcInVuaXRPckN1cnJlbmN5XCIpfSB3aWR0aD1cIjMuM2VtXCI+PC9UZXh0PlxuXHRcdFx0PC9IQm94PlxuXHRcdCk7XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7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
@@ -15,12 +15,14 @@ export default class NumberWithUnitOrCurrency extends BuildingBlockBase<
15
15
 
16
16
  @property({
17
17
  type: "string",
18
+ group: "Data",
18
19
  bindToState: true
19
20
  })
20
21
  public number!: string | number;
21
22
 
22
23
  @property({
23
24
  type: "string",
25
+ group: "Data",
24
26
  bindToState: true
25
27
  })
26
28
  public unitOrCurrency!: string;