@sapui5/sap.fe.templates 1.111.1 → 1.112.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 (129) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/templates/.library +1 -1
  3. package/src/sap/fe/templates/AnalyticalListPage/manifest.json +1 -1
  4. package/src/sap/fe/templates/ListComponent-dbg.js +1 -1
  5. package/src/sap/fe/templates/ListComponent.ts +2 -0
  6. package/src/sap/fe/templates/ListReport/Component-dbg.js +1 -1
  7. package/src/sap/fe/templates/ListReport/Component.ts +2 -0
  8. package/src/sap/fe/templates/ListReport/ExtensionAPI-dbg.js +2 -1
  9. package/src/sap/fe/templates/ListReport/ExtensionAPI.js.map +1 -1
  10. package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +3 -0
  11. package/src/sap/fe/templates/ListReport/LRMessageStrip-dbg.js +1 -1
  12. package/src/sap/fe/templates/ListReport/LRMessageStrip.ts +4 -0
  13. package/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +37 -32
  14. package/src/sap/fe/templates/ListReport/ListReportController.controller.js +1 -1
  15. package/src/sap/fe/templates/ListReport/ListReportController.controller.js.map +1 -1
  16. package/src/sap/fe/templates/ListReport/ListReportController.controller.ts +58 -52
  17. package/src/sap/fe/templates/ListReport/controls/MultipleModeControl-dbg.js +32 -8
  18. package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.js +1 -1
  19. package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.js.map +1 -1
  20. package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.ts +38 -7
  21. package/src/sap/fe/templates/ListReport/manifest.json +1 -1
  22. package/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +47 -7
  23. package/src/sap/fe/templates/ListReport/overrides/ViewState.js +1 -1
  24. package/src/sap/fe/templates/ListReport/overrides/ViewState.js.map +1 -1
  25. package/src/sap/fe/templates/ListReport/overrides/ViewState.ts +49 -6
  26. package/src/sap/fe/templates/ListReport/view/fragments/MacroChart.fragment.xml +1 -1
  27. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.block-dbg.js +122 -0
  28. package/src/sap/fe/templates/ListReport/view/fragments/{MultipleMode.fragment.js → MultipleMode.block.js} +3 -3
  29. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.block.js.map +1 -0
  30. package/src/sap/fe/templates/ListReport/view/fragments/{MultipleMode.fragment.ts → MultipleMode.block.ts} +14 -15
  31. package/src/sap/fe/templates/ObjectPage/Component-dbg.js +11 -2
  32. package/src/sap/fe/templates/ObjectPage/Component.js +1 -1
  33. package/src/sap/fe/templates/ObjectPage/Component.js.map +1 -1
  34. package/src/sap/fe/templates/ObjectPage/Component.ts +12 -0
  35. package/src/sap/fe/templates/ObjectPage/ExtensionAPI-dbg.js +8 -12
  36. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +1 -1
  37. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.js.map +1 -1
  38. package/src/sap/fe/templates/ObjectPage/ExtensionAPI.ts +9 -12
  39. package/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +3 -2
  40. package/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +38 -90
  41. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1 -1
  42. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js.map +1 -1
  43. package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +65 -104
  44. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating-dbg.js +44 -146
  45. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js +1 -1
  46. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.js.map +1 -1
  47. package/src/sap/fe/templates/ObjectPage/ObjectPageTemplating.ts +60 -185
  48. package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.block-dbg.js +145 -0
  49. package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.block.js +6 -0
  50. package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.block.js.map +1 -0
  51. package/src/sap/fe/templates/ObjectPage/components/{DraftHandlerButton.tsx → DraftHandlerButton.block.tsx} +15 -12
  52. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox-dbg.js +1 -1
  53. package/src/sap/fe/templates/ObjectPage/controls/StashableHBox.ts +1 -0
  54. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock-dbg.js +2 -1
  55. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.js.map +1 -1
  56. package/src/sap/fe/templates/ObjectPage/controls/SubSectionBlock.ts +5 -0
  57. package/src/sap/fe/templates/ObjectPage/manifest.json +1 -1
  58. package/src/sap/fe/templates/ObjectPage/overrides/Share.js.map +1 -1
  59. package/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +4 -3
  60. package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.block-dbg.js +257 -0
  61. package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.block.js +6 -0
  62. package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.block.js.map +1 -0
  63. package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.block.tsx +280 -0
  64. package/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +8 -33
  65. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +144 -112
  66. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionEmbeddedComponent.fragment.xml +24 -0
  67. package/src/sap/fe/templates/library-dbg.js +6 -5
  68. package/src/sap/fe/templates/library-preload.js +26 -22
  69. package/src/sap/fe/templates/library-preload.js.map +1 -1
  70. package/src/sap/fe/templates/library.js +1 -1
  71. package/src/sap/fe/templates/library.js.map +1 -1
  72. package/src/sap/fe/templates/library.ts +6 -4
  73. package/src/sap/fe/templates/manifest.json +1 -1
  74. package/src/sap/fe/templates/messagebundle.properties +5 -0
  75. package/src/sap/fe/templates/messagebundle_ar.properties +3 -0
  76. package/src/sap/fe/templates/messagebundle_bg.properties +3 -0
  77. package/src/sap/fe/templates/messagebundle_ca.properties +3 -0
  78. package/src/sap/fe/templates/messagebundle_cs.properties +3 -0
  79. package/src/sap/fe/templates/messagebundle_cy.properties +3 -0
  80. package/src/sap/fe/templates/messagebundle_da.properties +3 -0
  81. package/src/sap/fe/templates/messagebundle_de.properties +3 -0
  82. package/src/sap/fe/templates/messagebundle_el.properties +3 -0
  83. package/src/sap/fe/templates/messagebundle_en.properties +5 -0
  84. package/src/sap/fe/templates/messagebundle_en_GB.properties +3 -0
  85. package/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +3 -0
  86. package/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +3 -0
  87. package/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +3 -0
  88. package/src/sap/fe/templates/messagebundle_es.properties +5 -2
  89. package/src/sap/fe/templates/messagebundle_es_MX.properties +3 -0
  90. package/src/sap/fe/templates/messagebundle_et.properties +5 -2
  91. package/src/sap/fe/templates/messagebundle_fi.properties +3 -0
  92. package/src/sap/fe/templates/messagebundle_fr.properties +3 -0
  93. package/src/sap/fe/templates/messagebundle_fr_CA.properties +3 -0
  94. package/src/sap/fe/templates/messagebundle_hi.properties +3 -0
  95. package/src/sap/fe/templates/messagebundle_hr.properties +3 -0
  96. package/src/sap/fe/templates/messagebundle_hu.properties +3 -0
  97. package/src/sap/fe/templates/messagebundle_id.properties +3 -0
  98. package/src/sap/fe/templates/messagebundle_it.properties +3 -0
  99. package/src/sap/fe/templates/messagebundle_iw.properties +3 -0
  100. package/src/sap/fe/templates/messagebundle_ja.properties +3 -0
  101. package/src/sap/fe/templates/messagebundle_kk.properties +3 -0
  102. package/src/sap/fe/templates/messagebundle_ko.properties +3 -0
  103. package/src/sap/fe/templates/messagebundle_lt.properties +3 -0
  104. package/src/sap/fe/templates/messagebundle_lv.properties +3 -0
  105. package/src/sap/fe/templates/messagebundle_ms.properties +3 -0
  106. package/src/sap/fe/templates/messagebundle_nl.properties +3 -0
  107. package/src/sap/fe/templates/messagebundle_no.properties +3 -0
  108. package/src/sap/fe/templates/messagebundle_pl.properties +3 -0
  109. package/src/sap/fe/templates/messagebundle_pt.properties +3 -0
  110. package/src/sap/fe/templates/messagebundle_pt_PT.properties +3 -0
  111. package/src/sap/fe/templates/messagebundle_ro.properties +5 -2
  112. package/src/sap/fe/templates/messagebundle_ru.properties +3 -0
  113. package/src/sap/fe/templates/messagebundle_sh.properties +5 -2
  114. package/src/sap/fe/templates/messagebundle_sk.properties +3 -0
  115. package/src/sap/fe/templates/messagebundle_sl.properties +3 -0
  116. package/src/sap/fe/templates/messagebundle_sv.properties +3 -0
  117. package/src/sap/fe/templates/messagebundle_th.properties +5 -2
  118. package/src/sap/fe/templates/messagebundle_tr.properties +3 -0
  119. package/src/sap/fe/templates/messagebundle_uk.properties +3 -0
  120. package/src/sap/fe/templates/messagebundle_vi.properties +5 -2
  121. package/src/sap/fe/templates/messagebundle_zh_CN.properties +5 -2
  122. package/src/sap/fe/templates/messagebundle_zh_TW.properties +3 -0
  123. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode-dbg.fragment.js +0 -123
  124. package/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.js.map +0 -1
  125. package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton-dbg.js +0 -147
  126. package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.js +0 -6
  127. package/src/sap/fe/templates/ObjectPage/components/DraftHandlerButton.js.map +0 -1
  128. package/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +0 -125
  129. package/src/sap/fe/templates/ObjectPage/view/fragments/SectionContentLazyLoader.fragment.xml +0 -199
@@ -47,13 +47,13 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
47
47
  oSideEffectsService = oAppComponent.getSideEffectsService(),
48
48
  oMetaModel = oBindingContext.getModel().getMetaModel(),
49
49
  oSideEffects = {
50
- TargetProperties: [],
51
- TargetEntities: []
50
+ targetProperties: [],
51
+ targetEntities: []
52
52
  };
53
53
  let aPaths, sPath, sBaseEntitySet, sKind;
54
54
  if (vPath === undefined || vPath === null) {
55
55
  // we just add an empty path which should refresh the page with all dependent bindings
56
- oSideEffects.TargetEntities.push({
56
+ oSideEffects.targetEntities.push({
57
57
  $NavigationPropertyPath: ""
58
58
  });
59
59
  } else {
@@ -63,26 +63,22 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
63
63
  sPath = aPaths[i];
64
64
  if (sPath === "") {
65
65
  // an empty path shall refresh the entity without dependencies which means * for the model
66
- oSideEffects.TargetProperties.push({
67
- $PropertyPath: "*"
68
- });
66
+ oSideEffects.targetProperties.push("*");
69
67
  } else {
70
68
  sKind = oMetaModel.getObject(`/${sBaseEntitySet}/${sPath}/$kind`);
71
69
  if (sKind === "NavigationProperty") {
72
- oSideEffects.TargetEntities.push({
70
+ oSideEffects.targetEntities.push({
73
71
  $NavigationPropertyPath: sPath
74
72
  });
75
73
  } else if (sKind) {
76
- oSideEffects.TargetProperties.push({
77
- $PropertyPath: sPath
78
- });
74
+ oSideEffects.targetProperties.push(sPath);
79
75
  } else {
80
76
  return Promise.reject(`${sPath} is not a valid path to be refreshed`);
81
77
  }
82
78
  }
83
79
  }
84
80
  }
85
- return oSideEffectsService.requestSideEffects(oSideEffects.TargetEntities.concat(oSideEffects.TargetProperties), oBindingContext);
81
+ return oSideEffectsService.requestSideEffects([...oSideEffects.targetEntities, ...oSideEffects.targetProperties], oBindingContext);
86
82
  }
87
83
 
88
84
  /**
@@ -219,4 +215,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
219
215
  }(ExtensionAPI)) || _class);
220
216
  return ObjectPageExtensionAPI;
221
217
  }, false);
222
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3RQYWdlRXh0ZW5zaW9uQVBJIiwiZGVmaW5lVUk1Q2xhc3MiLCJyZWZyZXNoIiwidlBhdGgiLCJvQmluZGluZ0NvbnRleHQiLCJfdmlldyIsImdldEJpbmRpbmdDb250ZXh0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJvQXBwQ29tcG9uZW50IiwiQ29tbW9uVXRpbHMiLCJnZXRBcHBDb21wb25lbnQiLCJvU2lkZUVmZmVjdHNTZXJ2aWNlIiwiZ2V0U2lkZUVmZmVjdHNTZXJ2aWNlIiwib01ldGFNb2RlbCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwib1NpZGVFZmZlY3RzIiwiVGFyZ2V0UHJvcGVydGllcyIsIlRhcmdldEVudGl0aWVzIiwiYVBhdGhzIiwic1BhdGgiLCJzQmFzZUVudGl0eVNldCIsInNLaW5kIiwidW5kZWZpbmVkIiwicHVzaCIsIiROYXZpZ2F0aW9uUHJvcGVydHlQYXRoIiwiQXJyYXkiLCJpc0FycmF5IiwiX2NvbnRyb2xsZXIiLCJnZXRPd25lckNvbXBvbmVudCIsImdldEVudGl0eVNldCIsImkiLCJsZW5ndGgiLCIkUHJvcGVydHlQYXRoIiwiZ2V0T2JqZWN0IiwicmVqZWN0IiwicmVxdWVzdFNpZGVFZmZlY3RzIiwiY29uY2F0IiwiZ2V0U2VsZWN0ZWRDb250ZXh0cyIsInNUYWJsZUlkIiwib1RhYmxlIiwiYnlJZCIsImlzQSIsImdldENvbnRlbnQiLCJzaG93U2lkZUNvbnRlbnQiLCJzU3ViU2VjdGlvbktleSIsImJTaG93Iiwic0Jsb2NrSUQiLCJnZXRTaWRlQ29udGVudExheW91dElEIiwib0Jsb2NrIiwiYkJsb2NrU3RhdGUiLCJnZXRTaG93U2lkZUNvbnRlbnQiLCJzZXRTaG93U2lkZUNvbnRlbnQiLCJfYnVpbGRPUE1lc3NhZ2UiLCJtZXNzYWdlcyIsInZpZXciLCJyZXNvdXJjZUJ1bmRsZSIsImdldFJlc291cmNlQnVuZGxlIiwibWVzc2FnZSIsIm1lc3NhZ2VTdGF0cyIsIkVycm9yIiwiaWQiLCJjb3VudCIsIldhcm5pbmciLCJJbmZvcm1hdGlvbiIsInJlZHVjZSIsImFjYyIsImN1cnJlbnRWYWx1ZSIsImN1cnJlbnRUeXBlIiwiZ2V0VHlwZSIsInNldFR5cGUiLCJNZXNzYWdlIiwidHlwZSIsIk1lc3NhZ2VUeXBlIiwic2V0TWVzc2FnZSIsImdldFRleHQiLCJzaG93TWVzc2FnZXMiLCJpbnRlcm5hbE1vZGVsQ29udGV4dCIsInNldFByb3BlcnR5IiwiZ2V0TWVzc2FnZSIsIkludmlzaWJsZU1lc3NhZ2UiLCJnZXRJbnN0YW5jZSIsImFubm91bmNlIiwiSW52aXNpYmxlTWVzc2FnZU1vZGUiLCJBc3NlcnRpdmUiLCJoaWRlTWVzc2FnZSIsImVyciIsIkxvZyIsImVycm9yIiwiRXh0ZW5zaW9uQVBJIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJFeHRlbnNpb25BUEkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgeyBnZXRTaWRlQ29udGVudExheW91dElEIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvaGVscGVycy9JRFwiO1xuaW1wb3J0IEV4dGVuc2lvbkFQSSBmcm9tIFwic2FwL2ZlL2NvcmUvRXh0ZW5zaW9uQVBJXCI7XG5pbXBvcnQgdHlwZSB7IEVuaGFuY2VXaXRoVUk1IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcyB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgVGFibGVBUEkgZnJvbSBcInNhcC9mZS9tYWNyb3MvdGFibGUvVGFibGVBUElcIjtcbmltcG9ydCBJbnZpc2libGVNZXNzYWdlIGZyb20gXCJzYXAvdWkvY29yZS9JbnZpc2libGVNZXNzYWdlXCI7XG5pbXBvcnQgeyBJbnZpc2libGVNZXNzYWdlTW9kZSwgTWVzc2FnZVR5cGUgfSBmcm9tIFwic2FwL3VpL2NvcmUvbGlicmFyeVwiO1xuaW1wb3J0IE1lc3NhZ2UgZnJvbSBcInNhcC91aS9jb3JlL21lc3NhZ2UvTWVzc2FnZVwiO1xuaW1wb3J0IHR5cGUgRHluYW1pY1NpZGVDb250ZW50IGZyb20gXCJzYXAvdWkvbGF5b3V0L0R5bmFtaWNTaWRlQ29udGVudFwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbmltcG9ydCBSZXNvdXJjZU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvcmVzb3VyY2UvUmVzb3VyY2VNb2RlbFwiO1xuXG4vKipcbiAqIEV4dGVuc2lvbiBBUEkgZm9yIG9iamVjdCBwYWdlcyBvbiBTQVAgRmlvcmkgZWxlbWVudHMgZm9yIE9EYXRhIFY0LlxuICpcbiAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJXG4gKiBAcHVibGljXG4gKiBAaGlkZWNvbnN0cnVjdG9yXG4gKiBAZmluYWxcbiAqIEBzaW5jZSAxLjc5LjBcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSVwiKVxuY2xhc3MgT2JqZWN0UGFnZUV4dGVuc2lvbkFQSSBleHRlbmRzIEV4dGVuc2lvbkFQSSB7XG5cdC8qKlxuXHQgKiBSZWZyZXNoZXMgZWl0aGVyIHRoZSB3aG9sZSBvYmplY3QgcGFnZSBvciBvbmx5IHBhcnRzIG9mIGl0LlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNyZWZyZXNoXG5cdCAqIEBwYXJhbSBbdlBhdGhdIFBhdGggb3IgYXJyYXkgb2YgcGF0aHMgcmVmZXJyaW5nIHRvIGVudGl0aWVzIG9yIHByb3BlcnRpZXMgdG8gYmUgcmVmcmVzaGVkLlxuXHQgKiBJZiBvbWl0dGVkLCB0aGUgd2hvbGUgb2JqZWN0IHBhZ2UgaXMgcmVmcmVzaGVkLiBUaGUgcGF0aCBcIlwiIHJlZnJlc2hlcyB0aGUgZW50aXR5IGFzc2lnbmVkIHRvIHRoZSBvYmplY3QgcGFnZVxuXHQgKiB3aXRob3V0IG5hdmlnYXRpb25zXG5cdCAqIEByZXR1cm5zIFJlc29sdmVkIG9uY2UgdGhlIGRhdGEgaXMgcmVmcmVzaGVkIG9yIHJlamVjdGVkIGlmIHRoZSByZXF1ZXN0IGZhaWxlZFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRyZWZyZXNoKHZQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuXHRcdGNvbnN0IG9CaW5kaW5nQ29udGV4dCA9IHRoaXMuX3ZpZXcuZ2V0QmluZGluZ0NvbnRleHQoKSBhcyBDb250ZXh0O1xuXHRcdGlmICghb0JpbmRpbmdDb250ZXh0KSB7XG5cdFx0XHQvLyBub3RoaW5nIHRvIGJlIHJlZnJlc2hlZCAtIGRvIG5vdCBibG9jayB0aGUgYXBwIVxuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuXHRcdH1cblx0XHRjb25zdCBvQXBwQ29tcG9uZW50ID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KHRoaXMuX3ZpZXcpLFxuXHRcdFx0b1NpZGVFZmZlY3RzU2VydmljZSA9IG9BcHBDb21wb25lbnQuZ2V0U2lkZUVmZmVjdHNTZXJ2aWNlKCksXG5cdFx0XHRvTWV0YU1vZGVsID0gb0JpbmRpbmdDb250ZXh0LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCksXG5cdFx0XHRvU2lkZUVmZmVjdHM6IGFueSA9IHtcblx0XHRcdFx0VGFyZ2V0UHJvcGVydGllczogW10sXG5cdFx0XHRcdFRhcmdldEVudGl0aWVzOiBbXVxuXHRcdFx0fTtcblx0XHRsZXQgYVBhdGhzLCBzUGF0aCwgc0Jhc2VFbnRpdHlTZXQsIHNLaW5kO1xuXG5cdFx0aWYgKHZQYXRoID09PSB1bmRlZmluZWQgfHwgdlBhdGggPT09IG51bGwpIHtcblx0XHRcdC8vIHdlIGp1c3QgYWRkIGFuIGVtcHR5IHBhdGggd2hpY2ggc2hvdWxkIHJlZnJlc2ggdGhlIHBhZ2Ugd2l0aCBhbGwgZGVwZW5kZW50IGJpbmRpbmdzXG5cdFx0XHRvU2lkZUVmZmVjdHMuVGFyZ2V0RW50aXRpZXMucHVzaCh7XG5cdFx0XHRcdCROYXZpZ2F0aW9uUHJvcGVydHlQYXRoOiBcIlwiXG5cdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0YVBhdGhzID0gQXJyYXkuaXNBcnJheSh2UGF0aCkgPyB2UGF0aCA6IFt2UGF0aF07XG5cdFx0XHRzQmFzZUVudGl0eVNldCA9ICh0aGlzLl9jb250cm9sbGVyLmdldE93bmVyQ29tcG9uZW50KCkgYXMgYW55KS5nZXRFbnRpdHlTZXQoKTtcblxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhUGF0aHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0c1BhdGggPSBhUGF0aHNbaV07XG5cdFx0XHRcdGlmIChzUGF0aCA9PT0gXCJcIikge1xuXHRcdFx0XHRcdC8vIGFuIGVtcHR5IHBhdGggc2hhbGwgcmVmcmVzaCB0aGUgZW50aXR5IHdpdGhvdXQgZGVwZW5kZW5jaWVzIHdoaWNoIG1lYW5zICogZm9yIHRoZSBtb2RlbFxuXHRcdFx0XHRcdG9TaWRlRWZmZWN0cy5UYXJnZXRQcm9wZXJ0aWVzLnB1c2goe1xuXHRcdFx0XHRcdFx0JFByb3BlcnR5UGF0aDogXCIqXCJcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzS2luZCA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KGAvJHtzQmFzZUVudGl0eVNldH0vJHtzUGF0aH0vJGtpbmRgKTtcblxuXHRcdFx0XHRcdGlmIChzS2luZCA9PT0gXCJOYXZpZ2F0aW9uUHJvcGVydHlcIikge1xuXHRcdFx0XHRcdFx0b1NpZGVFZmZlY3RzLlRhcmdldEVudGl0aWVzLnB1c2goe1xuXHRcdFx0XHRcdFx0XHQkTmF2aWdhdGlvblByb3BlcnR5UGF0aDogc1BhdGhcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH0gZWxzZSBpZiAoc0tpbmQpIHtcblx0XHRcdFx0XHRcdG9TaWRlRWZmZWN0cy5UYXJnZXRQcm9wZXJ0aWVzLnB1c2goe1xuXHRcdFx0XHRcdFx0XHQkUHJvcGVydHlQYXRoOiBzUGF0aFxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHJldHVybiBQcm9taXNlLnJlamVjdChgJHtzUGF0aH0gaXMgbm90IGEgdmFsaWQgcGF0aCB0byBiZSByZWZyZXNoZWRgKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIG9TaWRlRWZmZWN0c1NlcnZpY2UucmVxdWVzdFNpZGVFZmZlY3RzKG9TaWRlRWZmZWN0cy5UYXJnZXRFbnRpdGllcy5jb25jYXQob1NpZGVFZmZlY3RzLlRhcmdldFByb3BlcnRpZXMpLCBvQmluZGluZ0NvbnRleHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGxpc3QgZW50cmllcyBjdXJyZW50bHkgc2VsZWN0ZWQgZm9yIHRoZSB0YWJsZS5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUEkjZ2V0U2VsZWN0ZWRDb250ZXh0c1xuXHQgKiBAcGFyYW0gc1RhYmxlSWQgVGhlIElEIGlkZW50aWZ5aW5nIHRoZSB0YWJsZSB0aGUgc2VsZWN0ZWQgY29udGV4dCBpcyByZXF1ZXN0ZWQgZm9yXG5cdCAqIEByZXR1cm5zIEFycmF5IGNvbnRhaW5pbmcgdGhlIHNlbGVjdGVkIGNvbnRleHRzXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGdldFNlbGVjdGVkQ29udGV4dHMoc1RhYmxlSWQ6IHN0cmluZykge1xuXHRcdGxldCBvVGFibGUgPSB0aGlzLl92aWV3LmJ5SWQoc1RhYmxlSWQpO1xuXHRcdGlmIChvVGFibGUgJiYgb1RhYmxlLmlzQShcInNhcC5mZS5tYWNyb3MudGFibGUuVGFibGVBUElcIikpIHtcblx0XHRcdG9UYWJsZSA9IChvVGFibGUgYXMgRW5oYW5jZVdpdGhVSTU8VGFibGVBUEk+KS5nZXRDb250ZW50KCk7XG5cdFx0fVxuXHRcdHJldHVybiAob1RhYmxlICYmIG9UYWJsZS5pc0EoXCJzYXAudWkubWRjLlRhYmxlXCIpICYmIChvVGFibGUgYXMgYW55KS5nZXRTZWxlY3RlZENvbnRleHRzKCkpIHx8IFtdO1xuXHR9XG5cblx0LyoqXG5cdCAqIERpc3BsYXlzIG9yIGhpZGVzIHRoZSBzaWRlIGNvbnRlbnQgb2YgYW4gb2JqZWN0IHBhZ2UuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI3Nob3dTaWRlQ29udGVudFxuXHQgKiBAcGFyYW0gc1N1YlNlY3Rpb25LZXkgS2V5IG9mIHRoZSBzaWRlIGNvbnRlbnQgZnJhZ21lbnQgYXMgZGVmaW5lZCBpbiB0aGUgbWFuaWZlc3QuanNvblxuXHQgKiBAcGFyYW0gW2JTaG93XSBPcHRpb25hbCBCb29sZWFuIGZsYWcgdG8gc2hvdyBvciBoaWRlIHRoZSBzaWRlIGNvbnRlbnRcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0c2hvd1NpZGVDb250ZW50KHNTdWJTZWN0aW9uS2V5OiBzdHJpbmcsIGJTaG93OiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG5cdFx0Y29uc3Qgc0Jsb2NrSUQgPSBnZXRTaWRlQ29udGVudExheW91dElEKHNTdWJTZWN0aW9uS2V5KSxcblx0XHRcdG9CbG9jayA9IHRoaXMuX3ZpZXcuYnlJZChzQmxvY2tJRCksXG5cdFx0XHRiQmxvY2tTdGF0ZSA9IGJTaG93ID09PSB1bmRlZmluZWQgPyAhKG9CbG9jayBhcyBEeW5hbWljU2lkZUNvbnRlbnQpLmdldFNob3dTaWRlQ29udGVudCgpIDogYlNob3c7XG5cdFx0KG9CbG9jayBhcyBEeW5hbWljU2lkZUNvbnRlbnQpLnNldFNob3dTaWRlQ29udGVudChiQmxvY2tTdGF0ZSwgZmFsc2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGJvdW5kIGNvbnRleHQgb2YgdGhlIGN1cnJlbnQgb2JqZWN0IHBhZ2UuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI2dldEJpbmRpbmdDb250ZXh0XG5cdCAqIEByZXR1cm5zIENvbnRleHQgYm91bmQgdG8gdGhlIG9iamVjdCBwYWdlXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGdldEJpbmRpbmdDb250ZXh0KCkge1xuXHRcdHJldHVybiB0aGlzLl92aWV3LmdldEJpbmRpbmdDb250ZXh0KCk7XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGQgYSBtZXNzYWdlIHRvIGJlIGRpc3BsYXllZCBiZWxvdyB0aGUgYW5jaG9yIGJhci5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUEkjX2J1aWxkT1BNZXNzYWdlXG5cdCAqIEBwYXJhbSB7c2FwLnVpLmNvcmUubWVzc2FnZS5NZXNzYWdlW119IG1lc3NhZ2VzIEFycmF5IG9mIG1lc3NhZ2VzIHVzZWQgdG8gZ2VuZXJhdGVkIHRoZSBtZXNzYWdlXG5cdCAqIEByZXR1cm5zIHtQcm9taXNlPE1lc3NhZ2U+fSBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIGdlbmVyYXRlZCBtZXNzYWdlXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRhc3luYyBfYnVpbGRPUE1lc3NhZ2UobWVzc2FnZXM6IE1lc3NhZ2VbXSk6IFByb21pc2U8TWVzc2FnZSB8IG51bGw+IHtcblx0XHRjb25zdCB2aWV3ID0gdGhpcy5fdmlldztcblx0XHRjb25zdCByZXNvdXJjZUJ1bmRsZSA9IGF3YWl0ICh2aWV3LmdldE1vZGVsKFwic2FwLmZlLmkxOG5cIikgYXMgUmVzb3VyY2VNb2RlbCkuZ2V0UmVzb3VyY2VCdW5kbGUoKTtcblx0XHRsZXQgbWVzc2FnZTogTWVzc2FnZSB8IG51bGwgPSBudWxsO1xuXHRcdHN3aXRjaCAobWVzc2FnZXMubGVuZ3RoKSB7XG5cdFx0XHRjYXNlIDA6XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAxOlxuXHRcdFx0XHRtZXNzYWdlID0gbWVzc2FnZXNbMF07XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0Y29uc3QgbWVzc2FnZVN0YXRzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xuXHRcdFx0XHRcdEVycm9yOiB7IGlkOiAyLCBjb3VudDogMCB9LFxuXHRcdFx0XHRcdFdhcm5pbmc6IHsgaWQ6IDEsIGNvdW50OiAwIH0sXG5cdFx0XHRcdFx0SW5mb3JtYXRpb246IHsgaWQ6IDAsIGNvdW50OiAwIH1cblx0XHRcdFx0fTtcblx0XHRcdFx0bWVzc2FnZSA9IG1lc3NhZ2VzLnJlZHVjZSgoYWNjLCBjdXJyZW50VmFsdWUpID0+IHtcblx0XHRcdFx0XHRjb25zdCBjdXJyZW50VHlwZSA9IGN1cnJlbnRWYWx1ZS5nZXRUeXBlKCk7XG5cdFx0XHRcdFx0YWNjLnNldFR5cGUobWVzc2FnZVN0YXRzW2N1cnJlbnRUeXBlXS5pZCA+IG1lc3NhZ2VTdGF0c1thY2MuZ2V0VHlwZSgpXS5pZCA/IGN1cnJlbnRUeXBlIDogYWNjLmdldFR5cGUoKSk7XG5cdFx0XHRcdFx0bWVzc2FnZVN0YXRzW2N1cnJlbnRUeXBlXS5jb3VudCsrO1xuXHRcdFx0XHRcdHJldHVybiBhY2M7XG5cdFx0XHRcdH0sIG5ldyBNZXNzYWdlKHsgdHlwZTogTWVzc2FnZVR5cGUuSW5mb3JtYXRpb24gfSkpO1xuXG5cdFx0XHRcdGlmIChtZXNzYWdlU3RhdHMuRXJyb3IuY291bnQgPT09IDAgJiYgbWVzc2FnZVN0YXRzLldhcm5pbmcuY291bnQgPT09IDAgJiYgbWVzc2FnZVN0YXRzLkluZm9ybWF0aW9uLmNvdW50ID4gMCkge1xuXHRcdFx0XHRcdG1lc3NhZ2Uuc2V0TWVzc2FnZShyZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiT0JKRUNUUEFHRVNUQVRFX0lORk9STUFUSU9OXCIpKTtcblx0XHRcdFx0fSBlbHNlIGlmICgobWVzc2FnZVN0YXRzLkVycm9yLmNvdW50ID4gMCAmJiBtZXNzYWdlU3RhdHMuV2FybmluZy5jb3VudCA+IDApIHx8IG1lc3NhZ2VTdGF0cy5JbmZvcm1hdGlvbi5jb3VudCA+IDApIHtcblx0XHRcdFx0XHRtZXNzYWdlLnNldE1lc3NhZ2UocmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk9CSkVDVFBBR0VTVEFURV9JU1NVRVwiKSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0bWVzc2FnZS5zZXRNZXNzYWdlKFxuXHRcdFx0XHRcdFx0cmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcblx0XHRcdFx0XHRcdFx0bWVzc2FnZS5nZXRUeXBlKCkgPT09IE1lc3NhZ2VUeXBlLkVycm9yID8gXCJPQkpFQ1RQQUdFU1RBVEVfRVJST1JcIiA6IFwiT0JKRUNUUEFHRVNUQVRFX1dBUk5JTkdcIlxuXHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIG1lc3NhZ2U7XG5cdH1cblxuXHQvKipcblx0ICogRGlzcGxheXMgdGhlIG1lc3NhZ2Ugc3RyaXAgYmV0d2VlbiB0aGUgdGl0bGUgYW5kIHRoZSBoZWFkZXIgb2YgdGhlIE9iamVjdFBhZ2UuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI3Nob3dNZXNzYWdlc1xuXHQgKiBAcGFyYW0ge3NhcC51aS5jb3JlLm1lc3NhZ2UuTWVzc2FnZX0gbWVzc2FnZXMgVGhlIG1lc3NhZ2UgdG8gYmUgZGlzcGxheWVkXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cblx0YXN5bmMgc2hvd01lc3NhZ2VzKG1lc3NhZ2VzOiBNZXNzYWdlW10pIHtcblx0XHRjb25zdCB2aWV3ID0gdGhpcy5fdmlldztcblx0XHRjb25zdCBpbnRlcm5hbE1vZGVsQ29udGV4dCA9IHZpZXcuZ2V0QmluZGluZ0NvbnRleHQoXCJpbnRlcm5hbFwiKTtcblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgbWVzc2FnZSA9IGF3YWl0IHRoaXMuX2J1aWxkT1BNZXNzYWdlKG1lc3NhZ2VzKTtcblx0XHRcdGlmIChtZXNzYWdlKSB7XG5cdFx0XHRcdChpbnRlcm5hbE1vZGVsQ29udGV4dCBhcyBhbnkpPy5zZXRQcm9wZXJ0eShcIk9QTWVzc2FnZVN0cmlwVmlzaWJpbGl0eVwiLCB0cnVlKTtcblx0XHRcdFx0KGludGVybmFsTW9kZWxDb250ZXh0IGFzIGFueSk/LnNldFByb3BlcnR5KFwiT1BNZXNzYWdlU3RyaXBUZXh0XCIsIG1lc3NhZ2UuZ2V0TWVzc2FnZSgpKTtcblx0XHRcdFx0KGludGVybmFsTW9kZWxDb250ZXh0IGFzIGFueSk/LnNldFByb3BlcnR5KFwiT1BNZXNzYWdlU3RyaXBUeXBlXCIsIG1lc3NhZ2UuZ2V0VHlwZSgpKTtcblx0XHRcdFx0SW52aXNpYmxlTWVzc2FnZS5nZXRJbnN0YW5jZSgpLmFubm91bmNlKG1lc3NhZ2UuZ2V0TWVzc2FnZSgpLCBJbnZpc2libGVNZXNzYWdlTW9kZS5Bc3NlcnRpdmUpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5oaWRlTWVzc2FnZSgpO1xuXHRcdFx0fVxuXHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0TG9nLmVycm9yKFwiQ2Fubm90IGRpc3BsYXkgT2JqZWN0UGFnZSBtZXNzYWdlXCIpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBIaWRlcyB0aGUgbWVzc2FnZSBzdHJpcCBiZWxvdyB0aGUgYW5jaG9yIGJhci5cblx0ICpcblx0ICogQGFsaWFzIHNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5FeHRlbnNpb25BUEkjaGlkZU1lc3NhZ2Vcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0aGlkZU1lc3NhZ2UoKSB7XG5cdFx0Y29uc3QgdmlldyA9IHRoaXMuX3ZpZXc7XG5cdFx0Y29uc3QgaW50ZXJuYWxNb2RlbENvbnRleHQgPSB2aWV3LmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIik7XG5cdFx0KGludGVybmFsTW9kZWxDb250ZXh0IGFzIGFueSk/LnNldFByb3BlcnR5KFwiT1BNZXNzYWdlU3RyaXBWaXNpYmlsaXR5XCIsIGZhbHNlKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBPYmplY3RQYWdlRXh0ZW5zaW9uQVBJO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7OztFQWNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQVJBLElBVU1BLHNCQUFzQixXQUQzQkMsY0FBYyxDQUFDLDBDQUEwQyxDQUFDO0lBQUE7SUFBQTtNQUFBO0lBQUE7SUFBQTtJQUUxRDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQVRDLE9BVUFDLE9BQU8sR0FBUCxpQkFBUUMsS0FBb0MsRUFBRTtNQUM3QyxNQUFNQyxlQUFlLEdBQUcsSUFBSSxDQUFDQyxLQUFLLENBQUNDLGlCQUFpQixFQUFhO01BQ2pFLElBQUksQ0FBQ0YsZUFBZSxFQUFFO1FBQ3JCO1FBQ0EsT0FBT0csT0FBTyxDQUFDQyxPQUFPLEVBQUU7TUFDekI7TUFDQSxNQUFNQyxhQUFhLEdBQUdDLFdBQVcsQ0FBQ0MsZUFBZSxDQUFDLElBQUksQ0FBQ04sS0FBSyxDQUFDO1FBQzVETyxtQkFBbUIsR0FBR0gsYUFBYSxDQUFDSSxxQkFBcUIsRUFBRTtRQUMzREMsVUFBVSxHQUFHVixlQUFlLENBQUNXLFFBQVEsRUFBRSxDQUFDQyxZQUFZLEVBQUU7UUFDdERDLFlBQWlCLEdBQUc7VUFDbkJDLGdCQUFnQixFQUFFLEVBQUU7VUFDcEJDLGNBQWMsRUFBRTtRQUNqQixDQUFDO01BQ0YsSUFBSUMsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLGNBQWMsRUFBRUMsS0FBSztNQUV4QyxJQUFJcEIsS0FBSyxLQUFLcUIsU0FBUyxJQUFJckIsS0FBSyxLQUFLLElBQUksRUFBRTtRQUMxQztRQUNBYyxZQUFZLENBQUNFLGNBQWMsQ0FBQ00sSUFBSSxDQUFDO1VBQ2hDQyx1QkFBdUIsRUFBRTtRQUMxQixDQUFDLENBQUM7TUFDSCxDQUFDLE1BQU07UUFDTk4sTUFBTSxH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
218
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3RQYWdlRXh0ZW5zaW9uQVBJIiwiZGVmaW5lVUk1Q2xhc3MiLCJyZWZyZXNoIiwidlBhdGgiLCJvQmluZGluZ0NvbnRleHQiLCJfdmlldyIsImdldEJpbmRpbmdDb250ZXh0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJvQXBwQ29tcG9uZW50IiwiQ29tbW9uVXRpbHMiLCJnZXRBcHBDb21wb25lbnQiLCJvU2lkZUVmZmVjdHNTZXJ2aWNlIiwiZ2V0U2lkZUVmZmVjdHNTZXJ2aWNlIiwib01ldGFNb2RlbCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwib1NpZGVFZmZlY3RzIiwidGFyZ2V0UHJvcGVydGllcyIsInRhcmdldEVudGl0aWVzIiwiYVBhdGhzIiwic1BhdGgiLCJzQmFzZUVudGl0eVNldCIsInNLaW5kIiwidW5kZWZpbmVkIiwicHVzaCIsIiROYXZpZ2F0aW9uUHJvcGVydHlQYXRoIiwiQXJyYXkiLCJpc0FycmF5IiwiX2NvbnRyb2xsZXIiLCJnZXRPd25lckNvbXBvbmVudCIsImdldEVudGl0eVNldCIsImkiLCJsZW5ndGgiLCJnZXRPYmplY3QiLCJyZWplY3QiLCJyZXF1ZXN0U2lkZUVmZmVjdHMiLCJnZXRTZWxlY3RlZENvbnRleHRzIiwic1RhYmxlSWQiLCJvVGFibGUiLCJieUlkIiwiaXNBIiwiZ2V0Q29udGVudCIsInNob3dTaWRlQ29udGVudCIsInNTdWJTZWN0aW9uS2V5IiwiYlNob3ciLCJzQmxvY2tJRCIsImdldFNpZGVDb250ZW50TGF5b3V0SUQiLCJvQmxvY2siLCJiQmxvY2tTdGF0ZSIsImdldFNob3dTaWRlQ29udGVudCIsInNldFNob3dTaWRlQ29udGVudCIsIl9idWlsZE9QTWVzc2FnZSIsIm1lc3NhZ2VzIiwidmlldyIsInJlc291cmNlQnVuZGxlIiwiZ2V0UmVzb3VyY2VCdW5kbGUiLCJtZXNzYWdlIiwibWVzc2FnZVN0YXRzIiwiRXJyb3IiLCJpZCIsImNvdW50IiwiV2FybmluZyIsIkluZm9ybWF0aW9uIiwicmVkdWNlIiwiYWNjIiwiY3VycmVudFZhbHVlIiwiY3VycmVudFR5cGUiLCJnZXRUeXBlIiwic2V0VHlwZSIsIk1lc3NhZ2UiLCJ0eXBlIiwiTWVzc2FnZVR5cGUiLCJzZXRNZXNzYWdlIiwiZ2V0VGV4dCIsInNob3dNZXNzYWdlcyIsImludGVybmFsTW9kZWxDb250ZXh0Iiwic2V0UHJvcGVydHkiLCJnZXRNZXNzYWdlIiwiSW52aXNpYmxlTWVzc2FnZSIsImdldEluc3RhbmNlIiwiYW5ub3VuY2UiLCJJbnZpc2libGVNZXNzYWdlTW9kZSIsIkFzc2VydGl2ZSIsImhpZGVNZXNzYWdlIiwiZXJyIiwiTG9nIiwiZXJyb3IiLCJFeHRlbnNpb25BUEkiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkV4dGVuc2lvbkFQSS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB7IGdldFNpZGVDb250ZW50TGF5b3V0SUQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9oZWxwZXJzL0lEXCI7XG5pbXBvcnQgRXh0ZW5zaW9uQVBJIGZyb20gXCJzYXAvZmUvY29yZS9FeHRlbnNpb25BUElcIjtcbmltcG9ydCB0eXBlIHsgRW5oYW5jZVdpdGhVSTUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBTaWRlRWZmZWN0c1RhcmdldFR5cGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXMvU2lkZUVmZmVjdHNTZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IHR5cGUgVGFibGVBUEkgZnJvbSBcInNhcC9mZS9tYWNyb3MvdGFibGUvVGFibGVBUElcIjtcbmltcG9ydCBJbnZpc2libGVNZXNzYWdlIGZyb20gXCJzYXAvdWkvY29yZS9JbnZpc2libGVNZXNzYWdlXCI7XG5pbXBvcnQgeyBJbnZpc2libGVNZXNzYWdlTW9kZSwgTWVzc2FnZVR5cGUgfSBmcm9tIFwic2FwL3VpL2NvcmUvbGlicmFyeVwiO1xuaW1wb3J0IE1lc3NhZ2UgZnJvbSBcInNhcC91aS9jb3JlL21lc3NhZ2UvTWVzc2FnZVwiO1xuaW1wb3J0IHR5cGUgRHluYW1pY1NpZGVDb250ZW50IGZyb20gXCJzYXAvdWkvbGF5b3V0L0R5bmFtaWNTaWRlQ29udGVudFwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbmltcG9ydCBSZXNvdXJjZU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvcmVzb3VyY2UvUmVzb3VyY2VNb2RlbFwiO1xuXG4vKipcbiAqIEV4dGVuc2lvbiBBUEkgZm9yIG9iamVjdCBwYWdlcyBvbiBTQVAgRmlvcmkgZWxlbWVudHMgZm9yIE9EYXRhIFY0LlxuICpcbiAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJXG4gKiBAcHVibGljXG4gKiBAaGlkZWNvbnN0cnVjdG9yXG4gKiBAZmluYWxcbiAqIEBzaW5jZSAxLjc5LjBcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSVwiKVxuY2xhc3MgT2JqZWN0UGFnZUV4dGVuc2lvbkFQSSBleHRlbmRzIEV4dGVuc2lvbkFQSSB7XG5cdC8qKlxuXHQgKiBSZWZyZXNoZXMgZWl0aGVyIHRoZSB3aG9sZSBvYmplY3QgcGFnZSBvciBvbmx5IHBhcnRzIG9mIGl0LlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNyZWZyZXNoXG5cdCAqIEBwYXJhbSBbdlBhdGhdIFBhdGggb3IgYXJyYXkgb2YgcGF0aHMgcmVmZXJyaW5nIHRvIGVudGl0aWVzIG9yIHByb3BlcnRpZXMgdG8gYmUgcmVmcmVzaGVkLlxuXHQgKiBJZiBvbWl0dGVkLCB0aGUgd2hvbGUgb2JqZWN0IHBhZ2UgaXMgcmVmcmVzaGVkLiBUaGUgcGF0aCBcIlwiIHJlZnJlc2hlcyB0aGUgZW50aXR5IGFzc2lnbmVkIHRvIHRoZSBvYmplY3QgcGFnZVxuXHQgKiB3aXRob3V0IG5hdmlnYXRpb25zXG5cdCAqIEByZXR1cm5zIFJlc29sdmVkIG9uY2UgdGhlIGRhdGEgaXMgcmVmcmVzaGVkIG9yIHJlamVjdGVkIGlmIHRoZSByZXF1ZXN0IGZhaWxlZFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRyZWZyZXNoKHZQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuXHRcdGNvbnN0IG9CaW5kaW5nQ29udGV4dCA9IHRoaXMuX3ZpZXcuZ2V0QmluZGluZ0NvbnRleHQoKSBhcyBDb250ZXh0O1xuXHRcdGlmICghb0JpbmRpbmdDb250ZXh0KSB7XG5cdFx0XHQvLyBub3RoaW5nIHRvIGJlIHJlZnJlc2hlZCAtIGRvIG5vdCBibG9jayB0aGUgYXBwIVxuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuXHRcdH1cblx0XHRjb25zdCBvQXBwQ29tcG9uZW50ID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KHRoaXMuX3ZpZXcpLFxuXHRcdFx0b1NpZGVFZmZlY3RzU2VydmljZSA9IG9BcHBDb21wb25lbnQuZ2V0U2lkZUVmZmVjdHNTZXJ2aWNlKCksXG5cdFx0XHRvTWV0YU1vZGVsID0gb0JpbmRpbmdDb250ZXh0LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCksXG5cdFx0XHRvU2lkZUVmZmVjdHM6IFNpZGVFZmZlY3RzVGFyZ2V0VHlwZSA9IHtcblx0XHRcdFx0dGFyZ2V0UHJvcGVydGllczogW10sXG5cdFx0XHRcdHRhcmdldEVudGl0aWVzOiBbXVxuXHRcdFx0fTtcblx0XHRsZXQgYVBhdGhzLCBzUGF0aCwgc0Jhc2VFbnRpdHlTZXQsIHNLaW5kO1xuXG5cdFx0aWYgKHZQYXRoID09PSB1bmRlZmluZWQgfHwgdlBhdGggPT09IG51bGwpIHtcblx0XHRcdC8vIHdlIGp1c3QgYWRkIGFuIGVtcHR5IHBhdGggd2hpY2ggc2hvdWxkIHJlZnJlc2ggdGhlIHBhZ2Ugd2l0aCBhbGwgZGVwZW5kZW50IGJpbmRpbmdzXG5cdFx0XHRvU2lkZUVmZmVjdHMudGFyZ2V0RW50aXRpZXMucHVzaCh7XG5cdFx0XHRcdCROYXZpZ2F0aW9uUHJvcGVydHlQYXRoOiBcIlwiXG5cdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0YVBhdGhzID0gQXJyYXkuaXNBcnJheSh2UGF0aCkgPyB2UGF0aCA6IFt2UGF0aF07XG5cdFx0XHRzQmFzZUVudGl0eVNldCA9ICh0aGlzLl9jb250cm9sbGVyLmdldE93bmVyQ29tcG9uZW50KCkgYXMgYW55KS5nZXRFbnRpdHlTZXQoKTtcblxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhUGF0aHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0c1BhdGggPSBhUGF0aHNbaV07XG5cdFx0XHRcdGlmIChzUGF0aCA9PT0gXCJcIikge1xuXHRcdFx0XHRcdC8vIGFuIGVtcHR5IHBhdGggc2hhbGwgcmVmcmVzaCB0aGUgZW50aXR5IHdpdGhvdXQgZGVwZW5kZW5jaWVzIHdoaWNoIG1lYW5zICogZm9yIHRoZSBtb2RlbFxuXHRcdFx0XHRcdG9TaWRlRWZmZWN0cy50YXJnZXRQcm9wZXJ0aWVzLnB1c2goXCIqXCIpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHNLaW5kID0gb01ldGFNb2RlbC5nZXRPYmplY3QoYC8ke3NCYXNlRW50aXR5U2V0fS8ke3NQYXRofS8ka2luZGApO1xuXG5cdFx0XHRcdFx0aWYgKHNLaW5kID09PSBcIk5hdmlnYXRpb25Qcm9wZXJ0eVwiKSB7XG5cdFx0XHRcdFx0XHRvU2lkZUVmZmVjdHMudGFyZ2V0RW50aXRpZXMucHVzaCh7XG5cdFx0XHRcdFx0XHRcdCROYXZpZ2F0aW9uUHJvcGVydHlQYXRoOiBzUGF0aFxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fSBlbHNlIGlmIChzS2luZCkge1xuXHRcdFx0XHRcdFx0b1NpZGVFZmZlY3RzLnRhcmdldFByb3BlcnRpZXMucHVzaChzUGF0aCk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHJldHVybiBQcm9taXNlLnJlamVjdChgJHtzUGF0aH0gaXMgbm90IGEgdmFsaWQgcGF0aCB0byBiZSByZWZyZXNoZWRgKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIG9TaWRlRWZmZWN0c1NlcnZpY2UucmVxdWVzdFNpZGVFZmZlY3RzKFsuLi5vU2lkZUVmZmVjdHMudGFyZ2V0RW50aXRpZXMsIC4uLm9TaWRlRWZmZWN0cy50YXJnZXRQcm9wZXJ0aWVzXSwgb0JpbmRpbmdDb250ZXh0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBsaXN0IGVudHJpZXMgY3VycmVudGx5IHNlbGVjdGVkIGZvciB0aGUgdGFibGUuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI2dldFNlbGVjdGVkQ29udGV4dHNcblx0ICogQHBhcmFtIHNUYWJsZUlkIFRoZSBJRCBpZGVudGlmeWluZyB0aGUgdGFibGUgdGhlIHNlbGVjdGVkIGNvbnRleHQgaXMgcmVxdWVzdGVkIGZvclxuXHQgKiBAcmV0dXJucyBBcnJheSBjb250YWluaW5nIHRoZSBzZWxlY3RlZCBjb250ZXh0c1xuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRTZWxlY3RlZENvbnRleHRzKHNUYWJsZUlkOiBzdHJpbmcpIHtcblx0XHRsZXQgb1RhYmxlID0gdGhpcy5fdmlldy5ieUlkKHNUYWJsZUlkKTtcblx0XHRpZiAob1RhYmxlICYmIG9UYWJsZS5pc0EoXCJzYXAuZmUubWFjcm9zLnRhYmxlLlRhYmxlQVBJXCIpKSB7XG5cdFx0XHRvVGFibGUgPSAob1RhYmxlIGFzIEVuaGFuY2VXaXRoVUk1PFRhYmxlQVBJPikuZ2V0Q29udGVudCgpO1xuXHRcdH1cblx0XHRyZXR1cm4gKG9UYWJsZSAmJiBvVGFibGUuaXNBKFwic2FwLnVpLm1kYy5UYWJsZVwiKSAmJiAob1RhYmxlIGFzIGFueSkuZ2V0U2VsZWN0ZWRDb250ZXh0cygpKSB8fCBbXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwbGF5cyBvciBoaWRlcyB0aGUgc2lkZSBjb250ZW50IG9mIGFuIG9iamVjdCBwYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNzaG93U2lkZUNvbnRlbnRcblx0ICogQHBhcmFtIHNTdWJTZWN0aW9uS2V5IEtleSBvZiB0aGUgc2lkZSBjb250ZW50IGZyYWdtZW50IGFzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0Lmpzb25cblx0ICogQHBhcmFtIFtiU2hvd10gT3B0aW9uYWwgQm9vbGVhbiBmbGFnIHRvIHNob3cgb3IgaGlkZSB0aGUgc2lkZSBjb250ZW50XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHNob3dTaWRlQ29udGVudChzU3ViU2VjdGlvbktleTogc3RyaW5nLCBiU2hvdzogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuXHRcdGNvbnN0IHNCbG9ja0lEID0gZ2V0U2lkZUNvbnRlbnRMYXlvdXRJRChzU3ViU2VjdGlvbktleSksXG5cdFx0XHRvQmxvY2sgPSB0aGlzLl92aWV3LmJ5SWQoc0Jsb2NrSUQpLFxuXHRcdFx0YkJsb2NrU3RhdGUgPSBiU2hvdyA9PT0gdW5kZWZpbmVkID8gIShvQmxvY2sgYXMgRHluYW1pY1NpZGVDb250ZW50KS5nZXRTaG93U2lkZUNvbnRlbnQoKSA6IGJTaG93O1xuXHRcdChvQmxvY2sgYXMgRHluYW1pY1NpZGVDb250ZW50KS5zZXRTaG93U2lkZUNvbnRlbnQoYkJsb2NrU3RhdGUsIGZhbHNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBib3VuZCBjb250ZXh0IG9mIHRoZSBjdXJyZW50IG9iamVjdCBwYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNnZXRCaW5kaW5nQ29udGV4dFxuXHQgKiBAcmV0dXJucyBDb250ZXh0IGJvdW5kIHRvIHRoZSBvYmplY3QgcGFnZVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRCaW5kaW5nQ29udGV4dCgpIHtcblx0XHRyZXR1cm4gdGhpcy5fdmlldy5nZXRCaW5kaW5nQ29udGV4dCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkIGEgbWVzc2FnZSB0byBiZSBkaXNwbGF5ZWQgYmVsb3cgdGhlIGFuY2hvciBiYXIuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI19idWlsZE9QTWVzc2FnZVxuXHQgKiBAcGFyYW0ge3NhcC51aS5jb3JlLm1lc3NhZ2UuTWVzc2FnZVtdfSBtZXNzYWdlcyBBcnJheSBvZiBtZXNzYWdlcyB1c2VkIHRvIGdlbmVyYXRlZCB0aGUgbWVzc2FnZVxuXHQgKiBAcmV0dXJucyB7UHJvbWlzZTxNZXNzYWdlPn0gUHJvbWlzZSBjb250YWluaW5nIHRoZSBnZW5lcmF0ZWQgbWVzc2FnZVxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0YXN5bmMgX2J1aWxkT1BNZXNzYWdlKG1lc3NhZ2VzOiBNZXNzYWdlW10pOiBQcm9taXNlPE1lc3NhZ2UgfCBudWxsPiB7XG5cdFx0Y29uc3QgdmlldyA9IHRoaXMuX3ZpZXc7XG5cdFx0Y29uc3QgcmVzb3VyY2VCdW5kbGUgPSBhd2FpdCAodmlldy5nZXRNb2RlbChcInNhcC5mZS5pMThuXCIpIGFzIFJlc291cmNlTW9kZWwpLmdldFJlc291cmNlQnVuZGxlKCk7XG5cdFx0bGV0IG1lc3NhZ2U6IE1lc3NhZ2UgfCBudWxsID0gbnVsbDtcblx0XHRzd2l0Y2ggKG1lc3NhZ2VzLmxlbmd0aCkge1xuXHRcdFx0Y2FzZSAwOlxuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgMTpcblx0XHRcdFx0bWVzc2FnZSA9IG1lc3NhZ2VzWzBdO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdGNvbnN0IG1lc3NhZ2VTdGF0czogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHtcblx0XHRcdFx0XHRFcnJvcjogeyBpZDogMiwgY291bnQ6IDAgfSxcblx0XHRcdFx0XHRXYXJuaW5nOiB7IGlkOiAxLCBjb3VudDogMCB9LFxuXHRcdFx0XHRcdEluZm9ybWF0aW9uOiB7IGlkOiAwLCBjb3VudDogMCB9XG5cdFx0XHRcdH07XG5cdFx0XHRcdG1lc3NhZ2UgPSBtZXNzYWdlcy5yZWR1Y2UoKGFjYywgY3VycmVudFZhbHVlKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgY3VycmVudFR5cGUgPSBjdXJyZW50VmFsdWUuZ2V0VHlwZSgpO1xuXHRcdFx0XHRcdGFjYy5zZXRUeXBlKG1lc3NhZ2VTdGF0c1tjdXJyZW50VHlwZV0uaWQgPiBtZXNzYWdlU3RhdHNbYWNjLmdldFR5cGUoKV0uaWQgPyBjdXJyZW50VHlwZSA6IGFjYy5nZXRUeXBlKCkpO1xuXHRcdFx0XHRcdG1lc3NhZ2VTdGF0c1tjdXJyZW50VHlwZV0uY291bnQrKztcblx0XHRcdFx0XHRyZXR1cm4gYWNjO1xuXHRcdFx0XHR9LCBuZXcgTWVzc2FnZSh7IHR5cGU6IE1lc3NhZ2VUeXBlLkluZm9ybWF0aW9uIH0pKTtcblxuXHRcdFx0XHRpZiAobWVzc2FnZVN0YXRzLkVycm9yLmNvdW50ID09PSAwICYmIG1lc3NhZ2VTdGF0cy5XYXJuaW5nLmNvdW50ID09PSAwICYmIG1lc3NhZ2VTdGF0cy5JbmZvcm1hdGlvbi5jb3VudCA+IDApIHtcblx0XHRcdFx0XHRtZXNzYWdlLnNldE1lc3NhZ2UocmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk9CSkVDVFBBR0VTVEFURV9JTkZPUk1BVElPTlwiKSk7XG5cdFx0XHRcdH0gZWxzZSBpZiAoKG1lc3NhZ2VTdGF0cy5FcnJvci5jb3VudCA+IDAgJiYgbWVzc2FnZVN0YXRzLldhcm5pbmcuY291bnQgPiAwKSB8fCBtZXNzYWdlU3RhdHMuSW5mb3JtYXRpb24uY291bnQgPiAwKSB7XG5cdFx0XHRcdFx0bWVzc2FnZS5zZXRNZXNzYWdlKHJlc291cmNlQnVuZGxlLmdldFRleHQoXCJPQkpFQ1RQQUdFU1RBVEVfSVNTVUVcIikpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdG1lc3NhZ2Uuc2V0TWVzc2FnZShcblx0XHRcdFx0XHRcdHJlc291cmNlQnVuZGxlLmdldFRleHQoXG5cdFx0XHRcdFx0XHRcdG1lc3NhZ2UuZ2V0VHlwZSgpID09PSBNZXNzYWdlVHlwZS5FcnJvciA/IFwiT0JKRUNUUEFHRVNUQVRFX0VSUk9SXCIgOiBcIk9CSkVDVFBBR0VTVEFURV9XQVJOSU5HXCJcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBtZXNzYWdlO1xuXHR9XG5cblx0LyoqXG5cdCAqIERpc3BsYXlzIHRoZSBtZXNzYWdlIHN0cmlwIGJldHdlZW4gdGhlIHRpdGxlIGFuZCB0aGUgaGVhZGVyIG9mIHRoZSBPYmplY3RQYWdlLlxuXHQgKlxuXHQgKiBAYWxpYXMgc2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLkV4dGVuc2lvbkFQSSNzaG93TWVzc2FnZXNcblx0ICogQHBhcmFtIHtzYXAudWkuY29yZS5tZXNzYWdlLk1lc3NhZ2V9IG1lc3NhZ2VzIFRoZSBtZXNzYWdlIHRvIGJlIGRpc3BsYXllZFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXG5cdGFzeW5jIHNob3dNZXNzYWdlcyhtZXNzYWdlczogTWVzc2FnZVtdKSB7XG5cdFx0Y29uc3QgdmlldyA9IHRoaXMuX3ZpZXc7XG5cdFx0Y29uc3QgaW50ZXJuYWxNb2RlbENvbnRleHQgPSB2aWV3LmdldEJpbmRpbmdDb250ZXh0KFwiaW50ZXJuYWxcIik7XG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCB0aGlzLl9idWlsZE9QTWVzc2FnZShtZXNzYWdlcyk7XG5cdFx0XHRpZiAobWVzc2FnZSkge1xuXHRcdFx0XHQoaW50ZXJuYWxNb2RlbENvbnRleHQgYXMgYW55KT8uc2V0UHJvcGVydHkoXCJPUE1lc3NhZ2VTdHJpcFZpc2liaWxpdHlcIiwgdHJ1ZSk7XG5cdFx0XHRcdChpbnRlcm5hbE1vZGVsQ29udGV4dCBhcyBhbnkpPy5zZXRQcm9wZXJ0eShcIk9QTWVzc2FnZVN0cmlwVGV4dFwiLCBtZXNzYWdlLmdldE1lc3NhZ2UoKSk7XG5cdFx0XHRcdChpbnRlcm5hbE1vZGVsQ29udGV4dCBhcyBhbnkpPy5zZXRQcm9wZXJ0eShcIk9QTWVzc2FnZVN0cmlwVHlwZVwiLCBtZXNzYWdlLmdldFR5cGUoKSk7XG5cdFx0XHRcdEludmlzaWJsZU1lc3NhZ2UuZ2V0SW5zdGFuY2UoKS5hbm5vdW5jZShtZXNzYWdlLmdldE1lc3NhZ2UoKSwgSW52aXNpYmxlTWVzc2FnZU1vZGUuQXNzZXJ0aXZlKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuaGlkZU1lc3NhZ2UoKTtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdExvZy5lcnJvcihcIkNhbm5vdCBkaXNwbGF5IE9iamVjdFBhZ2UgbWVzc2FnZVwiKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogSGlkZXMgdGhlIG1lc3NhZ2Ugc3RyaXAgYmVsb3cgdGhlIGFuY2hvciBiYXIuXG5cdCAqXG5cdCAqIEBhbGlhcyBzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuRXh0ZW5zaW9uQVBJI2hpZGVNZXNzYWdlXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGhpZGVNZXNzYWdlKCkge1xuXHRcdGNvbnN0IHZpZXcgPSB0aGlzLl92aWV3O1xuXHRcdGNvbnN0IGludGVybmFsTW9kZWxDb250ZXh0ID0gdmlldy5nZXRCaW5kaW5nQ29udGV4dChcImludGVybmFsXCIpO1xuXHRcdChpbnRlcm5hbE1vZGVsQ29udGV4dCBhcyBhbnkpPy5zZXRQcm9wZXJ0eShcIk9QTWVzc2FnZVN0cmlwVmlzaWJpbGl0eVwiLCBmYWxzZSk7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgT2JqZWN0UGFnZUV4dGVuc2lvbkFQSTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7RUFlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFSQSxJQVVNQSxzQkFBc0IsV0FEM0JDLGNBQWMsQ0FBQywwQ0FBMEMsQ0FBQztJQUFBO0lBQUE7TUFBQTtJQUFBO0lBQUE7SUFFMUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFUQyxPQVVBQyxPQUFPLEdBQVAsaUJBQVFDLEtBQW9DLEVBQUU7TUFDN0MsTUFBTUMsZUFBZSxHQUFHLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxpQkFBaUIsRUFBYTtNQUNqRSxJQUFJLENBQUNGLGVBQWUsRUFBRTtRQUNyQjtRQUNBLE9BQU9HLE9BQU8sQ0FBQ0MsT0FBTyxFQUFFO01BQ3pCO01BQ0EsTUFBTUMsYUFBYSxHQUFHQyxXQUFXLENBQUNDLGVBQWUsQ0FBQyxJQUFJLENBQUNOLEtBQUssQ0FBQztRQUM1RE8sbUJBQW1CLEdBQUdILGFBQWEsQ0FBQ0kscUJBQXFCLEVBQUU7UUFDM0RDLFVBQVUsR0FBR1YsZUFBZSxDQUFDVyxRQUFRLEVBQUUsQ0FBQ0MsWUFBWSxFQUFFO1FBQ3REQyxZQUFtQyxHQUFHO1VBQ3JDQyxnQkFBZ0IsRUFBRSxFQUFFO1VBQ3BCQyxjQUFjLEVBQUU7UUFDakIsQ0FBQztNQUNGLElBQUlDLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxjQUFjLEVBQUVDLEtBQUs7TUFFeEMsSUFBSXBCLEtBQUssS0FBS3FCLFNBQVMsSUFBSXJCLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDMUM7UUFDQWMsWUFBWSxDQUFDRSxjQUFjLENBQUNNLElBQUksQ0FBQztVQUNoQ0MsdUJBQXVCLEVBQUU7UUFDMUIsQ0FBQyxDQUFDO01BQ0gsQ0FBQyxNQUFNO1FBQ05OLE1BQU0sR0FBR08s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
@@ -2,5 +2,5 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log","sap/fe/core/CommonUtils","sap/fe/core/converters/helpers/ID","sap/fe/core/ExtensionAPI","sap/fe/core/helpers/ClassSupport","sap/ui/core/InvisibleMessage","sap/ui/core/library","sap/ui/core/message/Message"],function(e,t,n,s,i,r,o,a){"use strict";var c,g;var p=o.MessageType;var u=o.InvisibleMessageMode;var l=i.defineUI5Class;var d=n.getSideContentLayoutID;function f(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;y(e,t)}function y(e,t){y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,n){t.__proto__=n;return t};return y(e,t)}let h=(c=l("sap.fe.templates.ObjectPage.ExtensionAPI"),c(g=function(n){f(s,n);function s(){return n.apply(this,arguments)||this}var i=s.prototype;i.refresh=function e(n){const s=this._view.getBindingContext();if(!s){return Promise.resolve()}const i=t.getAppComponent(this._view),r=i.getSideEffectsService(),o=s.getModel().getMetaModel(),a={TargetProperties:[],TargetEntities:[]};let c,g,p,u;if(n===undefined||n===null){a.TargetEntities.push({$NavigationPropertyPath:""})}else{c=Array.isArray(n)?n:[n];p=this._controller.getOwnerComponent().getEntitySet();for(let e=0;e<c.length;e++){g=c[e];if(g===""){a.TargetProperties.push({$PropertyPath:"*"})}else{u=o.getObject(`/${p}/${g}/$kind`);if(u==="NavigationProperty"){a.TargetEntities.push({$NavigationPropertyPath:g})}else if(u){a.TargetProperties.push({$PropertyPath:g})}else{return Promise.reject(`${g} is not a valid path to be refreshed`)}}}}return r.requestSideEffects(a.TargetEntities.concat(a.TargetProperties),s)};i.getSelectedContexts=function e(t){let n=this._view.byId(t);if(n&&n.isA("sap.fe.macros.table.TableAPI")){n=n.getContent()}return n&&n.isA("sap.ui.mdc.Table")&&n.getSelectedContexts()||[]};i.showSideContent=function e(t,n){const s=d(t),i=this._view.byId(s),r=n===undefined?!i.getShowSideContent():n;i.setShowSideContent(r,false)};i.getBindingContext=function e(){return this._view.getBindingContext()};i._buildOPMessage=async function e(t){const n=this._view;const s=await n.getModel("sap.fe.i18n").getResourceBundle();let i=null;switch(t.length){case 0:break;case 1:i=t[0];break;default:const e={Error:{id:2,count:0},Warning:{id:1,count:0},Information:{id:0,count:0}};i=t.reduce((t,n)=>{const s=n.getType();t.setType(e[s].id>e[t.getType()].id?s:t.getType());e[s].count++;return t},new a({type:p.Information}));if(e.Error.count===0&&e.Warning.count===0&&e.Information.count>0){i.setMessage(s.getText("OBJECTPAGESTATE_INFORMATION"))}else if(e.Error.count>0&&e.Warning.count>0||e.Information.count>0){i.setMessage(s.getText("OBJECTPAGESTATE_ISSUE"))}else{i.setMessage(s.getText(i.getType()===p.Error?"OBJECTPAGESTATE_ERROR":"OBJECTPAGESTATE_WARNING"))}}return i};i.showMessages=async function t(n){const s=this._view;const i=s.getBindingContext("internal");try{const e=await this._buildOPMessage(n);if(e){i===null||i===void 0?void 0:i.setProperty("OPMessageStripVisibility",true);i===null||i===void 0?void 0:i.setProperty("OPMessageStripText",e.getMessage());i===null||i===void 0?void 0:i.setProperty("OPMessageStripType",e.getType());r.getInstance().announce(e.getMessage(),u.Assertive)}else{this.hideMessage()}}catch(t){e.error("Cannot display ObjectPage message")}};i.hideMessage=function e(){const t=this._view;const n=t.getBindingContext("internal");n===null||n===void 0?void 0:n.setProperty("OPMessageStripVisibility",false)};return s}(s))||g);return h},false);
5
+ sap.ui.define(["sap/base/Log","sap/fe/core/CommonUtils","sap/fe/core/converters/helpers/ID","sap/fe/core/ExtensionAPI","sap/fe/core/helpers/ClassSupport","sap/ui/core/InvisibleMessage","sap/ui/core/library","sap/ui/core/message/Message"],function(e,t,s,n,i,r,o,a){"use strict";var g,c;var p=o.MessageType;var u=o.InvisibleMessageMode;var l=i.defineUI5Class;var d=s.getSideContentLayoutID;function f(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;y(e,t)}function y(e,t){y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,s){t.__proto__=s;return t};return y(e,t)}let h=(g=l("sap.fe.templates.ObjectPage.ExtensionAPI"),g(c=function(s){f(n,s);function n(){return s.apply(this,arguments)||this}var i=n.prototype;i.refresh=function e(s){const n=this._view.getBindingContext();if(!n){return Promise.resolve()}const i=t.getAppComponent(this._view),r=i.getSideEffectsService(),o=n.getModel().getMetaModel(),a={targetProperties:[],targetEntities:[]};let g,c,p,u;if(s===undefined||s===null){a.targetEntities.push({$NavigationPropertyPath:""})}else{g=Array.isArray(s)?s:[s];p=this._controller.getOwnerComponent().getEntitySet();for(let e=0;e<g.length;e++){c=g[e];if(c===""){a.targetProperties.push("*")}else{u=o.getObject(`/${p}/${c}/$kind`);if(u==="NavigationProperty"){a.targetEntities.push({$NavigationPropertyPath:c})}else if(u){a.targetProperties.push(c)}else{return Promise.reject(`${c} is not a valid path to be refreshed`)}}}}return r.requestSideEffects([...a.targetEntities,...a.targetProperties],n)};i.getSelectedContexts=function e(t){let s=this._view.byId(t);if(s&&s.isA("sap.fe.macros.table.TableAPI")){s=s.getContent()}return s&&s.isA("sap.ui.mdc.Table")&&s.getSelectedContexts()||[]};i.showSideContent=function e(t,s){const n=d(t),i=this._view.byId(n),r=s===undefined?!i.getShowSideContent():s;i.setShowSideContent(r,false)};i.getBindingContext=function e(){return this._view.getBindingContext()};i._buildOPMessage=async function e(t){const s=this._view;const n=await s.getModel("sap.fe.i18n").getResourceBundle();let i=null;switch(t.length){case 0:break;case 1:i=t[0];break;default:const e={Error:{id:2,count:0},Warning:{id:1,count:0},Information:{id:0,count:0}};i=t.reduce((t,s)=>{const n=s.getType();t.setType(e[n].id>e[t.getType()].id?n:t.getType());e[n].count++;return t},new a({type:p.Information}));if(e.Error.count===0&&e.Warning.count===0&&e.Information.count>0){i.setMessage(n.getText("OBJECTPAGESTATE_INFORMATION"))}else if(e.Error.count>0&&e.Warning.count>0||e.Information.count>0){i.setMessage(n.getText("OBJECTPAGESTATE_ISSUE"))}else{i.setMessage(n.getText(i.getType()===p.Error?"OBJECTPAGESTATE_ERROR":"OBJECTPAGESTATE_WARNING"))}}return i};i.showMessages=async function t(s){const n=this._view;const i=n.getBindingContext("internal");try{const e=await this._buildOPMessage(s);if(e){i===null||i===void 0?void 0:i.setProperty("OPMessageStripVisibility",true);i===null||i===void 0?void 0:i.setProperty("OPMessageStripText",e.getMessage());i===null||i===void 0?void 0:i.setProperty("OPMessageStripType",e.getType());r.getInstance().announce(e.getMessage(),u.Assertive)}else{this.hideMessage()}}catch(t){e.error("Cannot display ObjectPage message")}};i.hideMessage=function e(){const t=this._view;const s=t.getBindingContext("internal");s===null||s===void 0?void 0:s.setProperty("OPMessageStripVisibility",false)};return n}(n))||c);return h},false);
6
6
  //# sourceMappingURL=ExtensionAPI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionAPI.js","names":["sap","ui","define","Log","CommonUtils","ID","ExtensionAPI","ClassSupport","InvisibleMessage","library","Message","_dec","_class","MessageType","InvisibleMessageMode","defineUI5Class","getSideContentLayoutID","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","ObjectPageExtensionAPI","_ExtensionAPI","apply","this","arguments","_proto","refresh","vPath","oBindingContext","_view","getBindingContext","Promise","resolve","oAppComponent","getAppComponent","oSideEffectsService","getSideEffectsService","oMetaModel","getModel","getMetaModel","oSideEffects","TargetProperties","TargetEntities","aPaths","sPath","sBaseEntitySet","sKind","undefined","push","$NavigationPropertyPath","Array","isArray","_controller","getOwnerComponent","getEntitySet","i","length","$PropertyPath","getObject","reject","requestSideEffects","concat","getSelectedContexts","sTableId","oTable","byId","isA","getContent","showSideContent","sSubSectionKey","bShow","sBlockID","oBlock","bBlockState","getShowSideContent","setShowSideContent","_buildOPMessage","async","messages","view","resourceBundle","getResourceBundle","message","messageStats","Error","id","count","Warning","Information","reduce","acc","currentValue","currentType","getType","setType","type","setMessage","getText","showMessages","internalModelContext","setProperty","getMessage","getInstance","announce","Assertive","hideMessage","err","error"],"sources":["ExtensionAPI-dbg.js"],"mappings":"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"}
1
+ {"version":3,"file":"ExtensionAPI.js","names":["sap","ui","define","Log","CommonUtils","ID","ExtensionAPI","ClassSupport","InvisibleMessage","library","Message","_dec","_class","MessageType","InvisibleMessageMode","defineUI5Class","getSideContentLayoutID","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","ObjectPageExtensionAPI","_ExtensionAPI","apply","this","arguments","_proto","refresh","vPath","oBindingContext","_view","getBindingContext","Promise","resolve","oAppComponent","getAppComponent","oSideEffectsService","getSideEffectsService","oMetaModel","getModel","getMetaModel","oSideEffects","targetProperties","targetEntities","aPaths","sPath","sBaseEntitySet","sKind","undefined","push","$NavigationPropertyPath","Array","isArray","_controller","getOwnerComponent","getEntitySet","i","length","getObject","reject","requestSideEffects","getSelectedContexts","sTableId","oTable","byId","isA","getContent","showSideContent","sSubSectionKey","bShow","sBlockID","oBlock","bBlockState","getShowSideContent","setShowSideContent","_buildOPMessage","async","messages","view","resourceBundle","getResourceBundle","message","messageStats","Error","id","count","Warning","Information","reduce","acc","currentValue","currentType","getType","setType","type","setMessage","getText","showMessages","internalModelContext","setProperty","getMessage","getInstance","announce","Assertive","hideMessage","err","error"],"sources":["ExtensionAPI-dbg.js"],"mappings":"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"}
@@ -4,6 +4,7 @@ import { getSideContentLayoutID } from "sap/fe/core/converters/helpers/ID";
4
4
  import ExtensionAPI from "sap/fe/core/ExtensionAPI";
5
5
  import type { EnhanceWithUI5 } from "sap/fe/core/helpers/ClassSupport";
6
6
  import { defineUI5Class } from "sap/fe/core/helpers/ClassSupport";
7
+ import { SideEffectsTargetType } from "sap/fe/core/services/SideEffectsServiceFactory";
7
8
  import type TableAPI from "sap/fe/macros/table/TableAPI";
8
9
  import InvisibleMessage from "sap/ui/core/InvisibleMessage";
9
10
  import { InvisibleMessageMode, MessageType } from "sap/ui/core/library";
@@ -42,15 +43,15 @@ class ObjectPageExtensionAPI extends ExtensionAPI {
42
43
  const oAppComponent = CommonUtils.getAppComponent(this._view),
43
44
  oSideEffectsService = oAppComponent.getSideEffectsService(),
44
45
  oMetaModel = oBindingContext.getModel().getMetaModel(),
45
- oSideEffects: any = {
46
- TargetProperties: [],
47
- TargetEntities: []
46
+ oSideEffects: SideEffectsTargetType = {
47
+ targetProperties: [],
48
+ targetEntities: []
48
49
  };
49
50
  let aPaths, sPath, sBaseEntitySet, sKind;
50
51
 
51
52
  if (vPath === undefined || vPath === null) {
52
53
  // we just add an empty path which should refresh the page with all dependent bindings
53
- oSideEffects.TargetEntities.push({
54
+ oSideEffects.targetEntities.push({
54
55
  $NavigationPropertyPath: ""
55
56
  });
56
57
  } else {
@@ -61,27 +62,23 @@ class ObjectPageExtensionAPI extends ExtensionAPI {
61
62
  sPath = aPaths[i];
62
63
  if (sPath === "") {
63
64
  // an empty path shall refresh the entity without dependencies which means * for the model
64
- oSideEffects.TargetProperties.push({
65
- $PropertyPath: "*"
66
- });
65
+ oSideEffects.targetProperties.push("*");
67
66
  } else {
68
67
  sKind = oMetaModel.getObject(`/${sBaseEntitySet}/${sPath}/$kind`);
69
68
 
70
69
  if (sKind === "NavigationProperty") {
71
- oSideEffects.TargetEntities.push({
70
+ oSideEffects.targetEntities.push({
72
71
  $NavigationPropertyPath: sPath
73
72
  });
74
73
  } else if (sKind) {
75
- oSideEffects.TargetProperties.push({
76
- $PropertyPath: sPath
77
- });
74
+ oSideEffects.targetProperties.push(sPath);
78
75
  } else {
79
76
  return Promise.reject(`${sPath} is not a valid path to be refreshed`);
80
77
  }
81
78
  }
82
79
  }
83
80
  }
84
- return oSideEffectsService.requestSideEffects(oSideEffects.TargetEntities.concat(oSideEffects.TargetProperties), oBindingContext);
81
+ return oSideEffectsService.requestSideEffects([...oSideEffects.targetEntities, ...oSideEffects.targetProperties], oBindingContext);
85
82
  }
86
83
 
87
84
  /**
@@ -7,6 +7,7 @@
7
7
  xmlns:uxap="sap.uxap"
8
8
  xmlns="sap.m"
9
9
  xmlns:control="sap.fe.core.controls"
10
+ xmlns:fragments="sap.fe.templates.ObjectPage.view.fragments"
10
11
  xmlns:fe="sap.fe.templates.controls"
11
12
  xmlns:dt="sap.ui.dt"
12
13
  xmlns:fl="sap.ui.fl"
@@ -112,7 +113,7 @@
112
113
  >
113
114
  <internalMacro:ActionCommand
114
115
  action="{footerAction>}"
115
- onExecuteAction="{= OP.getPressExpressionForFooterAnnotationAction(${dataField>}, ${entitySet>@sapui.name}, ${footerAction>}) }"
116
+ onExecuteAction="{= OP.getPressExpressionForFooterAnnotationAction(${dataField>@@UI.getDataModelObjectPath}, ${entitySet>@sapui.name}, ${footerAction>}) }"
116
117
  onExecuteIBN="{footerAction>press}"
117
118
  onExecuteManifest="{= COMMON.buildActionWrapper(${footerAction>})}"
118
119
  isIBNEnabled="{footerAction>enabled}"
@@ -206,7 +207,7 @@
206
207
  <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.Section" type="XML" />
207
208
  </uxap:sections>
208
209
  <uxap:footer>
209
- <core:Fragment fragmentName="sap.fe.templates.ObjectPage.view.fragments.FooterContent" type="XML" />
210
+ <fragments:FooterContent id="fe::FooterBar" actions="{converterContext>/footerActions}" />
210
211
  </uxap:footer>
211
212
  </uxap:ObjectPageLayout>
212
213
  </template:with>