@sapui5/sap.fe.templates 1.142.0 → 1.142.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.fe.templates",
3
- "version": "1.142.0",
3
+ "version": "1.142.1",
4
4
  "description": "SAPUI5 Library sap.fe.templates",
5
5
  "keywords": [
6
6
  "sapui5",
@@ -6,7 +6,7 @@
6
6
  SAP UI development toolkit for HTML5 (SAPUI5)
7
7
  (c) Copyright 2009-2021 SAP SE. All rights reserved
8
8
  </copyright>
9
- <version>1.142.0</version>
9
+ <version>1.142.1</version>
10
10
 
11
11
  <documentation>UI5 library: sap.fe.templates</documentation>
12
12
 
@@ -4,7 +4,7 @@
4
4
  "id": "sap.fe.templates.AnalyticalListPage",
5
5
  "type": "component",
6
6
  "applicationVersion": {
7
- "version": "1.142.0"
7
+ "version": "1.142.1"
8
8
  },
9
9
  "title": "Analytical List Page",
10
10
  "tags": {
@@ -71,6 +71,9 @@ sap.ui.define(["sap/ui/core/Messaging", "sap/ui/core/message/Message"], function
71
71
  type: message.type,
72
72
  target: [rowBindingPath],
73
73
  persistent: false,
74
+ technicalDetails: {
75
+ isCustomMessageFromExtensionAPI: true
76
+ },
74
77
  processor
75
78
  }) : null;
76
79
  this.customMessageInfo.messageManagerDataBinding.detachChange(this._eventHandlerCustomMessage, this);
@@ -166,4 +169,4 @@ sap.ui.define(["sap/ui/core/Messaging", "sap/ui/core/message/Message"], function
166
169
  _exports.LRMessageStrip = LRMessageStrip;
167
170
  return _exports;
168
171
  }, false);
169
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMUk1lc3NhZ2VTdHJpcCIsImN1c3RvbU1lc3NhZ2VJbmZvIiwibWVzc2FnZU1hbmFnZXJEYXRhQmluZGluZyIsIk1lc3NhZ2luZyIsImdldE1lc3NhZ2VNb2RlbCIsImJpbmRMaXN0IiwibXVsdGlNb2RlQ29udHJvbE1lc3NhZ2VzTWFwIiwiX2V4cG9ydHMiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJnZXRDdXN0b21NZXNzYWdlSW5mbyIsImRlc3Ryb3kiLCJkZXRhY2hDaGFuZ2UiLCJfZXZlbnRIYW5kbGVyQ3VzdG9tTWVzc2FnZSIsIl9nZXRNZXNzYWdlc1dpdGhTYW1lVGFyZ2V0VGhhbkN1c3RvbU1lc3NhZ2UiLCJnZXREYXRhIiwiZmlsdGVyIiwibXNnIiwiZ2V0VGFyZ2V0cyIsImN1cnJlbnRNZXNzYWdlIiwiYU1lc3NhZ2VXaXRoU2FtZVRhcmdldFRoYW5DdXN0b21NZXNzYWdlIiwiaXNDdXN0b21NZXNzYWdlSW5NZXNzYWdlTWFuYWdlciIsImZpbmQiLCJsZW5ndGgiLCJyZW1vdmVNZXNzYWdlcyIsImFkZE1lc3NhZ2VzIiwiY3JlYXRlQ3VzdG9tTWVzc2FnZSIsImV2ZW50Iiwib0RhdGEiLCJtZXNzYWdlIiwidGFibGUiLCJza2lwTWVzc2FnZU1hbmFnZXJVcGRhdGUiLCJyb3dCaW5kaW5nUGF0aCIsImdldFJvd0JpbmRpbmciLCJnZXRQYXRoIiwiY3VzdG9tTWVzc2FnZU1hcCIsImdldElkIiwiYXR0YWNoRXZlbnRPbmNlIiwib25DbG9zZSIsImdldERhdGFTdGF0ZUluZGljYXRvciIsImRldGFjaEV2ZW50IiwicHJvY2Vzc29yIiwiZ2V0TW9kZWwiLCJvTWVzc2FnZSIsIk1lc3NhZ2UiLCJ0eXBlIiwidGFyZ2V0IiwicGVyc2lzdGVudCIsImF0dGFjaENoYW5nZSIsImF0dGFjaERhdGFTdGF0ZUluZGljYXRvckNsb3NlRXZlbnQiLCJmbk9uQ2xvc2UiLCJvblNlbGVjdE11bHRpcGxlTW9kZUNvbnRyb2wiLCJjb250cm9sbGVyIiwiX2dldFRhYmxlIiwic2hvd0N1c3RvbU1lc3NhZ2UiLCJ0YWJLZXkiLCJfdGFiS2V5IiwiQXJyYXkiLCJpc0FycmF5IiwiaXNNdWx0aU1vZGUiLCJfaXNNdWx0aU1vZGUiLCJtdWx0aXBsZU1vZGVDb250cm9sIiwiX2dldE11bHRpTW9kZUNvbnRyb2wiLCJhdHRhY2hFdmVudCIsImdldEFsbElubmVyQ29udHJvbHMiLCJmb3JFYWNoIiwiaW5uZXJDb250cm9sIiwiaW5kZXgiLCJpc0EiLCJpbmNsdWRlcyIsInRvU3RyaW5nIiwiZ2V0Q29udGVudCIsImdldFNlbGVjdGVkSW5uZXJDb250cm9sIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJMUk1lc3NhZ2VTdHJpcC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBUYWJsZUFQSSBmcm9tIFwic2FwL2ZlL21hY3Jvcy90YWJsZS9UYWJsZUFQSVwiO1xuaW1wb3J0IHR5cGUgTGlzdFJlcG9ydENvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS90ZW1wbGF0ZXMvTGlzdFJlcG9ydC9MaXN0UmVwb3J0Q29udHJvbGxlci5jb250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSB7IElubmVyQ29udHJvbFR5cGUgfSBmcm9tIFwic2FwL2ZlL3RlbXBsYXRlcy9MaXN0UmVwb3J0L2NvbnRyb2xzL011bHRpcGxlTW9kZUNvbnRyb2xcIjtcbmltcG9ydCB0eXBlIEV2ZW50IGZyb20gXCJzYXAvdWkvYmFzZS9FdmVudFwiO1xuaW1wb3J0IE1lc3NhZ2luZyBmcm9tIFwic2FwL3VpL2NvcmUvTWVzc2FnaW5nXCI7XG5pbXBvcnQgTWVzc2FnZSBmcm9tIFwic2FwL3VpL2NvcmUvbWVzc2FnZS9NZXNzYWdlXCI7XG5pbXBvcnQgdHlwZSBNZXNzYWdlVHlwZSBmcm9tIFwic2FwL3VpL2NvcmUvbWVzc2FnZS9NZXNzYWdlVHlwZVwiO1xuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE1EQ1RhYmxlIH0gZnJvbSBcInNhcC91aS9tZGMvVGFibGVcIjtcbmltcG9ydCB0eXBlIExpc3RCaW5kaW5nIGZyb20gXCJzYXAvdWkvbW9kZWwvTGlzdEJpbmRpbmdcIjtcbmltcG9ydCB0eXBlIE1lc3NhZ2VNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL21lc3NhZ2UvTWVzc2FnZU1vZGVsXCI7XG5cbmV4cG9ydCB0eXBlIExSQ3VzdG9tTWVzc2FnZSA9IHtcblx0bWVzc2FnZTogc3RyaW5nO1xuXHR0eXBlPzogTWVzc2FnZVR5cGU7XG5cdG9uQ2xvc2U/OiBGdW5jdGlvbjtcbn07XG5cbmV4cG9ydCBjbGFzcyBMUk1lc3NhZ2VTdHJpcCB7XG5cdGN1c3RvbU1lc3NhZ2VJbmZvIToge1xuXHRcdG1lc3NhZ2VNYW5hZ2VyRGF0YUJpbmRpbmc6IExpc3RCaW5kaW5nO1xuXHRcdGN1cnJlbnRNZXNzYWdlPzogTWVzc2FnZTtcblx0XHRtdWx0aU1vZGVDb250cm9sTWVzc2FnZXNNYXA6IHsgW2tleTogc3RyaW5nXTogTFJDdXN0b21NZXNzYWdlIHwgdW5kZWZpbmVkIH07XG5cdH07XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5jdXN0b21NZXNzYWdlSW5mbyA9IHtcblx0XHRcdG1lc3NhZ2VNYW5hZ2VyRGF0YUJpbmRpbmc6IE1lc3NhZ2luZy5nZXRNZXNzYWdlTW9kZWwoKS5iaW5kTGlzdChcIi9cIiksXG5cdFx0XHRtdWx0aU1vZGVDb250cm9sTWVzc2FnZXNNYXA6IHt9XG5cdFx0fTtcblx0fVxuXG5cdGdldEN1c3RvbU1lc3NhZ2VJbmZvKCk6IHtcblx0XHRtZXNzYWdlTWFuYWdlckRhdGFCaW5kaW5nOiBMaXN0QmluZGluZztcblx0XHRjdXJyZW50TWVzc2FnZT86IE1lc3NhZ2U7XG5cdFx0bXVsdGlNb2RlQ29udHJvbE1lc3NhZ2VzTWFwOiB7IFtrZXk6IHN0cmluZ106IExSQ3VzdG9tTWVzc2FnZSB8IHVuZGVmaW5lZCB9O1xuXHR9IHtcblx0XHRyZXR1cm4gdGhpcy5jdXN0b21NZXNzYWdlSW5mbztcblx0fVxuXG5cdGRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5jdXN0b21NZXNzYWdlSW5mby5tZXNzYWdlTWFuYWdlckRhdGFCaW5kaW5nLmRldGFjaENoYW5nZSh0aGlzLl9ldmVudEhhbmRsZXJDdXN0b21NZXNzYWdlLCB0aGlzKTtcblx0fVxuXG5cdF9nZXRNZXNzYWdlc1dpdGhTYW1lVGFyZ2V0VGhhbkN1c3RvbU1lc3NhZ2UoKTogTWVzc2FnZU1vZGVsW10ge1xuXHRcdHJldHVybiBNZXNzYWdpbmcuZ2V0TWVzc2FnZU1vZGVsKClcblx0XHRcdC5nZXREYXRhKClcblx0XHRcdC5maWx0ZXIoXG5cdFx0XHRcdChtc2c6IE1lc3NhZ2UpID0+XG5cdFx0XHRcdFx0bXNnLmdldFRhcmdldHMoKVswXSA9PT0gdGhpcy5jdXN0b21NZXNzYWdlSW5mby5jdXJyZW50TWVzc2FnZT8uZ2V0VGFyZ2V0cygpWzBdICYmXG5cdFx0XHRcdFx0bXNnICE9PSB0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLmN1cnJlbnRNZXNzYWdlXG5cdFx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIE1lc3NhZ2VNYW5hZ2VyIEV2ZW50IEhhbmRsZXIgcmVzcG9uc2libGUgdG8gYWRkIG9yIHJlbW92ZSB0aGUgY3VycmVudCBjdXN0b21NZXNzYWdlLlxuXHQgKlxuXHQgKi9cblx0X2V2ZW50SGFuZGxlckN1c3RvbU1lc3NhZ2UoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuY3VzdG9tTWVzc2FnZUluZm8uY3VycmVudE1lc3NhZ2UpIHtcblx0XHRcdGNvbnN0IGFNZXNzYWdlV2l0aFNhbWVUYXJnZXRUaGFuQ3VzdG9tTWVzc2FnZSA9IHRoaXMuX2dldE1lc3NhZ2VzV2l0aFNhbWVUYXJnZXRUaGFuQ3VzdG9tTWVzc2FnZSgpO1xuXHRcdFx0Y29uc3QgaXNDdXN0b21NZXNzYWdlSW5NZXNzYWdlTWFuYWdlciA9ICEhTWVzc2FnaW5nLmdldE1lc3NhZ2VNb2RlbCgpXG5cdFx0XHRcdC5nZXREYXRhKClcblx0XHRcdFx0LmZpbmQoKG1zZzogTWVzc2FnZSkgPT4gbXNnID09PSB0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLmN1cnJlbnRNZXNzYWdlKTtcblxuXHRcdFx0aWYgKGFNZXNzYWdlV2l0aFNhbWVUYXJnZXRUaGFuQ3VzdG9tTWVzc2FnZS5sZW5ndGggPiAwICYmIGlzQ3VzdG9tTWVzc2FnZUluTWVzc2FnZU1hbmFnZXIpIHtcblx0XHRcdFx0Ly9pZiB0aGVyZSBhcmUgb3RoZXIgbWVzc2FnZXMgd2l0aCB0aGUgc2FtZSBtZXNzYWdlIG9uIHRoZSBNZXNzYWdlTWFuYWdlciBhbmQgdGhlIGN1c3RvbU1lc3NhZ2Vcblx0XHRcdFx0Ly90aGVuIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBjdXN0b21lTWVzc2FnZSBmcm9tIHRoZSBNZXNzYWdlTWFuYWdlclxuXHRcdFx0XHRNZXNzYWdpbmcucmVtb3ZlTWVzc2FnZXMoW3RoaXMuY3VzdG9tTWVzc2FnZUluZm8/LmN1cnJlbnRNZXNzYWdlXSk7XG5cdFx0XHR9IGVsc2UgaWYgKGFNZXNzYWdlV2l0aFNhbWVUYXJnZXRUaGFuQ3VzdG9tTWVzc2FnZS5sZW5ndGggPT09IDAgJiYgIWlzQ3VzdG9tTWVzc2FnZUluTWVzc2FnZU1hbmFnZXIpIHtcblx0XHRcdFx0TWVzc2FnaW5nLmFkZE1lc3NhZ2VzKFt0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLmN1cnJlbnRNZXNzYWdlXSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFRoaXMgZnVuY3Rpb24gbWFuYWdlcyB0aGUgbGlmZWN5Y2xlIG9mIHRoZSBjdXN0b20gbWVzc2FnZSAocG9wdWxhdGVzIHRoZSBjdXN0b21NZXNzYWdlSW5mbyBvYmplY3QsIGF0dGFjaGVzIGFuIGV2ZW50IHRvIHRoZSBtZXNzYWdlIG1hbmFnZXIgYW5kIGluc2VydHMgYSBtZXNzYWdlKS5cblx0ICogQHBhcmFtIGV2ZW50IEV2ZW50IG9iamVjdCAob3B0aW9uYWwpLlxuXHQgKiBAcGFyYW0gb0RhdGEgUGFyYW1ldGVyc1xuXHQgKiBAcGFyYW0gb0RhdGEubWVzc2FnZSBUaGUgTFJDdXN0b21NZXNzYWdlIHRvIGJlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIG1lc3NhZ2Ugb2JqZWN0XG5cdCAqIEBwYXJhbSBvRGF0YS50YWJsZSBUaGUgdGFibGUgdGFyZ2V0ZWQgYnkgdGhlIG1lc3NhZ2Vcblx0ICogQHBhcmFtIG9EYXRhLnNraXBNZXNzYWdlTWFuYWdlclVwZGF0ZSBTaG91bGQgc2tpcCB0byBpbnNlcnQgdGhlIG1lc3NhZ2UgaW4gdGhlIE1lc3NhZ2VNYW5hZ2VyXG5cdCAqL1xuXHRjcmVhdGVDdXN0b21NZXNzYWdlKFxuXHRcdGV2ZW50OiBFdmVudCB8IG51bGwsXG5cdFx0b0RhdGE6IHsgbWVzc2FnZTogTFJDdXN0b21NZXNzYWdlIHwgdW5kZWZpbmVkOyB0YWJsZTogTURDVGFibGU7IHNraXBNZXNzYWdlTWFuYWdlclVwZGF0ZT86IGJvb2xlYW4gfVxuXHQpOiB2b2lkIHtcblx0XHRjb25zdCBtZXNzYWdlID0gb0RhdGEubWVzc2FnZTtcblx0XHRjb25zdCB0YWJsZSA9IG9EYXRhLnRhYmxlO1xuXHRcdGNvbnN0IHNraXBNZXNzYWdlTWFuYWdlclVwZGF0ZSA9IG9EYXRhLnNraXBNZXNzYWdlTWFuYWdlclVwZGF0ZTtcblx0XHRjb25zdCByb3dCaW5kaW5nUGF0aCA9IHRhYmxlLmdldFJvd0JpbmRpbmcoKT8uZ2V0UGF0aCgpO1xuXHRcdGNvbnN0IGN1c3RvbU1lc3NhZ2VNYXAgPSB0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLm11bHRpTW9kZUNvbnRyb2xNZXNzYWdlc01hcDtcblx0XHRjdXN0b21NZXNzYWdlTWFwW3RhYmxlLmdldElkKCldID0gbWVzc2FnZTtcblx0XHRpZiAoIXJvd0JpbmRpbmdQYXRoKSB7XG5cdFx0XHR0YWJsZS5hdHRhY2hFdmVudE9uY2UoXCJiaW5kaW5nVXBkYXRlZFwiLCBvRGF0YSwgdGhpcy5jcmVhdGVDdXN0b21NZXNzYWdlLCB0aGlzKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRpZiAoY3VzdG9tTWVzc2FnZU1hcFt0YWJsZS5nZXRJZCgpXT8ub25DbG9zZSkge1xuXHRcdFx0dGFibGUuZ2V0RGF0YVN0YXRlSW5kaWNhdG9yKCkuZGV0YWNoRXZlbnQoXCJjbG9zZVwiLCBjdXN0b21NZXNzYWdlTWFwW3RhYmxlLmdldElkKCldPy5vbkNsb3NlIGFzIEZ1bmN0aW9uLCB0aGlzKTtcblx0XHR9XG5cblx0XHRjb25zdCBwcm9jZXNzb3IgPSB0YWJsZS5nZXRNb2RlbCgpO1xuXHRcdGNvbnN0IG9NZXNzYWdlID0gbWVzc2FnZVxuXHRcdFx0PyBuZXcgTWVzc2FnZSh7XG5cdFx0XHRcdFx0bWVzc2FnZTogbWVzc2FnZS5tZXNzYWdlLFxuXHRcdFx0XHRcdHR5cGU6IG1lc3NhZ2UudHlwZSxcblx0XHRcdFx0XHR0YXJnZXQ6IFtyb3dCaW5kaW5nUGF0aF0sXG5cdFx0XHRcdFx0cGVyc2lzdGVudDogZmFsc2UsXG5cdFx0XHRcdFx0cHJvY2Vzc29yXG5cdFx0XHQgIH0pXG5cdFx0XHQ6IG51bGw7XG5cblx0XHR0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLm1lc3NhZ2VNYW5hZ2VyRGF0YUJpbmRpbmcuZGV0YWNoQ2hhbmdlKHRoaXMuX2V2ZW50SGFuZGxlckN1c3RvbU1lc3NhZ2UsIHRoaXMpO1xuXHRcdGlmICghc2tpcE1lc3NhZ2VNYW5hZ2VyVXBkYXRlKSB7XG5cdFx0XHRpZiAodGhpcy5jdXN0b21NZXNzYWdlSW5mby5jdXJyZW50TWVzc2FnZSkge1xuXHRcdFx0XHRNZXNzYWdpbmcucmVtb3ZlTWVzc2FnZXMoW3RoaXMuY3VzdG9tTWVzc2FnZUluZm8uY3VycmVudE1lc3NhZ2VdKTtcblx0XHRcdH1cblx0XHRcdGlmIChvTWVzc2FnZSkge1xuXHRcdFx0XHR0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLmN1cnJlbnRNZXNzYWdlID0gb01lc3NhZ2U7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRkZWxldGUgdGhpcy5jdXN0b21NZXNzYWdlSW5mby5jdXJyZW50TWVzc2FnZTtcblx0XHRcdH1cblx0XHRcdGlmIChvTWVzc2FnZSAmJiB0aGlzLl9nZXRNZXNzYWdlc1dpdGhTYW1lVGFyZ2V0VGhhbkN1c3RvbU1lc3NhZ2UoKS5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0TWVzc2FnaW5nLmFkZE1lc3NhZ2VzKFtvTWVzc2FnZV0pO1xuXHRcdFx0fVxuXHRcdH1cblx0XHR0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLm1lc3NhZ2VNYW5hZ2VyRGF0YUJpbmRpbmcuYXR0YWNoQ2hhbmdlKHRoaXMuX2V2ZW50SGFuZGxlckN1c3RvbU1lc3NhZ2UsIHRoaXMpO1xuXG5cdFx0dGhpcy5hdHRhY2hEYXRhU3RhdGVJbmRpY2F0b3JDbG9zZUV2ZW50KHRhYmxlLCBjdXN0b21NZXNzYWdlTWFwLCBtZXNzYWdlPy5vbkNsb3NlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGlzIGZ1bmN0aW9uIGF0dGFjaGVzIHRoZSBvbkNsb3NlIGV2ZW50IGZ1bmN0aW9uIHRvIHRoZSBkYXRhU3RhdGVJbmRpY2F0b3IuXG5cdCAqIEBwYXJhbSB0YWJsZSBUaGUgdGFibGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBkYXRhU3RhdGVJbmRpY2F0b3Jcblx0ICogQHBhcmFtIGN1c3RvbU1lc3NhZ2VNYXAgVGhlIEN1c3RvbU1lc3NhZ2VNYXAgb2JqZWN0XG5cdCAqIEBwYXJhbSBmbk9uQ2xvc2UgQSBmdW5jdGlvbiB0byBiZSBhdHRhY2hlZCB0byB0aGUgXCJjbG9zZVwiIGV2ZW50XG5cdCAqL1xuXHRhdHRhY2hEYXRhU3RhdGVJbmRpY2F0b3JDbG9zZUV2ZW50KFxuXHRcdHRhYmxlOiBNRENUYWJsZSxcblx0XHRjdXN0b21NZXNzYWdlTWFwOiB7IFtrZXk6IHN0cmluZ106IExSQ3VzdG9tTWVzc2FnZSB8IHVuZGVmaW5lZCB9LFxuXHRcdGZuT25DbG9zZT86IEZ1bmN0aW9uXG5cdCk6IHZvaWQge1xuXHRcdGlmIChmbk9uQ2xvc2UpIHtcblx0XHRcdHRhYmxlLmdldERhdGFTdGF0ZUluZGljYXRvcigpLmF0dGFjaEV2ZW50T25jZShcImNsb3NlXCIsIGZuT25DbG9zZSwgdGhpcyk7XG5cdFx0fVxuXHRcdC8vV2hlbiBjbG9zaW5nIHRoZSB0aGUgbWVzc2FnZVN0cmlwLCB0aGUgYXNzb2NpYXRlZCBtZXNzYWdlIGlzIHJlbW92ZWRcblx0XHR0YWJsZS5nZXREYXRhU3RhdGVJbmRpY2F0b3IoKS5hdHRhY2hFdmVudE9uY2UoXCJjbG9zZVwiLCAoKSA9PiB7XG5cdFx0XHRkZWxldGUgY3VzdG9tTWVzc2FnZU1hcFt0YWJsZS5nZXRJZCgpXTtcblx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBNdWx0aXBsZU1vZGVDb250cm9sIEV2ZW50IGhhbmRsZXIgcmVzcG9uc2libGUgZm9yIGRpc3BsYXlpbmcgdGhlIGNvcnJlY3QgY3VzdG9tIG1lc3NhZ2Ugd2hlbiBhIHNwZWNpZmljIHRhYiBpcyBzZWxlY3RlZC5cblx0ICpcblx0ICovXG5cblx0b25TZWxlY3RNdWx0aXBsZU1vZGVDb250cm9sKGV2ZW50OiBFdmVudCwgY29udHJvbGxlcjogTGlzdFJlcG9ydENvbnRyb2xsZXIpOiB2b2lkIHtcblx0XHRjb25zdCB0YWJsZSA9IGNvbnRyb2xsZXIuX2dldFRhYmxlKCkgYXMgTURDVGFibGU7XG5cdFx0Y29uc3QgbWVzc2FnZSA9IHRoaXMuY3VzdG9tTWVzc2FnZUluZm8ubXVsdGlNb2RlQ29udHJvbE1lc3NhZ2VzTWFwW3RhYmxlLmdldElkKCldO1xuXHRcdHRoaXMuY3JlYXRlQ3VzdG9tTWVzc2FnZShudWxsLCB7IG1lc3NhZ2UsIHRhYmxlIH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFByb3ZpZGUgYW4gb3B0aW9uIGZvciBzaG93aW5nIGEgY3VzdG9tIG1lc3NhZ2UgaW4gdGhlIG1lc3NhZ2UgYmFyIGFib3ZlIHRoZSBsaXN0IHJlcG9ydCB0YWJsZS5cblx0ICogQHBhcmFtIFttZXNzYWdlXSBDdXN0b20gbWVzc2FnZSBhbG9uZyB3aXRoIHRoZSBtZXNzYWdlIHR5cGUgdG8gYmUgc2V0IG9uIHRoZSB0YWJsZS5cblx0ICogQHBhcmFtIFttZXNzYWdlLm1lc3NhZ2VdIE1lc3NhZ2Ugc3RyaW5nIHRvIGJlIGRpc3BsYXllZC5cblx0ICogQHBhcmFtIFttZXNzYWdlLnR5cGVdIEluZGljYXRlcyB0aGUgdHlwZSBvZiBtZXNzYWdlLlxuXHQgKiBAcGFyYW0gW2NvbnRyb2xsZXJdIENvbnRyb2xsZXIgb2YgdGhlIGN1cnJlbnQgdmlldy5cblx0ICogQHBhcmFtIFt0YWJLZXldIFRoZSBlbnRpdHlTZXQgaWRlbnRpZnlpbmcgdGhlIHRhYmxlIGluIHdoaWNoIHRvIGRpc3BsYXkgdGhlIGN1c3RvbSBtZXNzYWdlLlxuXHQgKiBAcGFyYW0gW29uQ2xvc2VdIEEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciBjbG9zZXMgdGhlIG1lc3NhZ2UgYmFyLlxuXHQgKi9cblx0c2hvd0N1c3RvbU1lc3NhZ2UoXG5cdFx0bWVzc2FnZTogTFJDdXN0b21NZXNzYWdlIHwgdW5kZWZpbmVkLFxuXHRcdGNvbnRyb2xsZXI6IExpc3RSZXBvcnRDb250cm9sbGVyLFxuXHRcdHRhYktleT86IHN0cmluZ1tdIHwgc3RyaW5nIHwgbnVsbCxcblx0XHRvbkNsb3NlPzogRnVuY3Rpb25cblx0KTogdm9pZCB7XG5cdFx0Y29uc3QgX3RhYktleSA9IEFycmF5LmlzQXJyYXkodGFiS2V5KSA/IHRhYktleSA6IFt0YWJLZXldO1xuXHRcdGNvbnN0IGlzTXVsdGlNb2RlID0gY29udHJvbGxlci5faXNNdWx0aU1vZGUoKTtcblx0XHRsZXQgdGFibGU6IE1EQ1RhYmxlO1xuXHRcdGlmIChtZXNzYWdlKSB7XG5cdFx0XHRtZXNzYWdlLm9uQ2xvc2UgPSBvbkNsb3NlO1xuXHRcdH1cblx0XHRpZiAoaXNNdWx0aU1vZGUpIHtcblx0XHRcdGNvbnN0IG11bHRpcGxlTW9kZUNvbnRyb2wgPSBjb250cm9sbGVyLl9nZXRNdWx0aU1vZGVDb250cm9sKCk7XG5cdFx0XHQvL3dlIGZpc3J0IG5lZWQgdG8gZGV0YWNoIHRoZSBzZWxlY3QgZXZlbnQgdG8gcHJldmVudCBtdWx0aXBsZSBhdHRhY2htZW50cy5cblx0XHRcdG11bHRpcGxlTW9kZUNvbnRyb2wuZGV0YWNoRXZlbnQoXCJzZWxlY3RcIiwgdGhpcy5vblNlbGVjdE11bHRpcGxlTW9kZUNvbnRyb2wsIHRoaXMpO1xuXHRcdFx0bXVsdGlwbGVNb2RlQ29udHJvbC5hdHRhY2hFdmVudChcInNlbGVjdFwiLCBjb250cm9sbGVyLCB0aGlzLm9uU2VsZWN0TXVsdGlwbGVNb2RlQ29udHJvbCwgdGhpcyk7XG5cblx0XHRcdG11bHRpcGxlTW9kZUNvbnRyb2wuZ2V0QWxsSW5uZXJDb250cm9scyh0cnVlKS5mb3JFYWNoKChpbm5lckNvbnRyb2w6IElubmVyQ29udHJvbFR5cGUsIGluZGV4OiBudW1iZXIpID0+IHtcblx0XHRcdFx0aWYgKGlubmVyQ29udHJvbC5pc0E8VGFibGVBUEk+KFwic2FwLmZlLm1hY3Jvcy50YWJsZS5UYWJsZUFQSVwiKSkge1xuXHRcdFx0XHRcdGlmICghdGFiS2V5IHx8IF90YWJLZXkuaW5jbHVkZXMoaW5kZXgudG9TdHJpbmcoKSkpIHtcblx0XHRcdFx0XHRcdHRhYmxlID0gaW5uZXJDb250cm9sLmdldENvbnRlbnQoKTtcblx0XHRcdFx0XHRcdHRoaXMuY3JlYXRlQ3VzdG9tTWVzc2FnZShudWxsLCB7XG5cdFx0XHRcdFx0XHRcdG1lc3NhZ2UsXG5cdFx0XHRcdFx0XHRcdHRhYmxlLFxuXHRcdFx0XHRcdFx0XHRza2lwTWVzc2FnZU1hbmFnZXJVcGRhdGU6IG11bHRpcGxlTW9kZUNvbnRyb2wuZ2V0U2VsZWN0ZWRJbm5lckNvbnRyb2woKSAhPT0gaW5uZXJDb250cm9sXG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRhYmxlID0gY29udHJvbGxlci5fZ2V0VGFibGUoKSBhcyBNRENUYWJsZTtcblx0XHR0aGlzLmNyZWF0ZUN1c3RvbU1lc3NhZ2UobnVsbCwgeyBtZXNzYWdlLCB0YWJsZSB9KTtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztNQWlCYUEsY0FBYztJQU8xQixTQUFBQSxlQUFBLEVBQWM7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
172
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMUk1lc3NhZ2VTdHJpcCIsImN1c3RvbU1lc3NhZ2VJbmZvIiwibWVzc2FnZU1hbmFnZXJEYXRhQmluZGluZyIsIk1lc3NhZ2luZyIsImdldE1lc3NhZ2VNb2RlbCIsImJpbmRMaXN0IiwibXVsdGlNb2RlQ29udHJvbE1lc3NhZ2VzTWFwIiwiX2V4cG9ydHMiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJnZXRDdXN0b21NZXNzYWdlSW5mbyIsImRlc3Ryb3kiLCJkZXRhY2hDaGFuZ2UiLCJfZXZlbnRIYW5kbGVyQ3VzdG9tTWVzc2FnZSIsIl9nZXRNZXNzYWdlc1dpdGhTYW1lVGFyZ2V0VGhhbkN1c3RvbU1lc3NhZ2UiLCJnZXREYXRhIiwiZmlsdGVyIiwibXNnIiwiZ2V0VGFyZ2V0cyIsImN1cnJlbnRNZXNzYWdlIiwiYU1lc3NhZ2VXaXRoU2FtZVRhcmdldFRoYW5DdXN0b21NZXNzYWdlIiwiaXNDdXN0b21NZXNzYWdlSW5NZXNzYWdlTWFuYWdlciIsImZpbmQiLCJsZW5ndGgiLCJyZW1vdmVNZXNzYWdlcyIsImFkZE1lc3NhZ2VzIiwiY3JlYXRlQ3VzdG9tTWVzc2FnZSIsImV2ZW50Iiwib0RhdGEiLCJtZXNzYWdlIiwidGFibGUiLCJza2lwTWVzc2FnZU1hbmFnZXJVcGRhdGUiLCJyb3dCaW5kaW5nUGF0aCIsImdldFJvd0JpbmRpbmciLCJnZXRQYXRoIiwiY3VzdG9tTWVzc2FnZU1hcCIsImdldElkIiwiYXR0YWNoRXZlbnRPbmNlIiwib25DbG9zZSIsImdldERhdGFTdGF0ZUluZGljYXRvciIsImRldGFjaEV2ZW50IiwicHJvY2Vzc29yIiwiZ2V0TW9kZWwiLCJvTWVzc2FnZSIsIk1lc3NhZ2UiLCJ0eXBlIiwidGFyZ2V0IiwicGVyc2lzdGVudCIsInRlY2huaWNhbERldGFpbHMiLCJpc0N1c3RvbU1lc3NhZ2VGcm9tRXh0ZW5zaW9uQVBJIiwiYXR0YWNoQ2hhbmdlIiwiYXR0YWNoRGF0YVN0YXRlSW5kaWNhdG9yQ2xvc2VFdmVudCIsImZuT25DbG9zZSIsIm9uU2VsZWN0TXVsdGlwbGVNb2RlQ29udHJvbCIsImNvbnRyb2xsZXIiLCJfZ2V0VGFibGUiLCJzaG93Q3VzdG9tTWVzc2FnZSIsInRhYktleSIsIl90YWJLZXkiLCJBcnJheSIsImlzQXJyYXkiLCJpc011bHRpTW9kZSIsIl9pc011bHRpTW9kZSIsIm11bHRpcGxlTW9kZUNvbnRyb2wiLCJfZ2V0TXVsdGlNb2RlQ29udHJvbCIsImF0dGFjaEV2ZW50IiwiZ2V0QWxsSW5uZXJDb250cm9scyIsImZvckVhY2giLCJpbm5lckNvbnRyb2wiLCJpbmRleCIsImlzQSIsImluY2x1ZGVzIiwidG9TdHJpbmciLCJnZXRDb250ZW50IiwiZ2V0U2VsZWN0ZWRJbm5lckNvbnRyb2wiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkxSTWVzc2FnZVN0cmlwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIFRhYmxlQVBJIGZyb20gXCJzYXAvZmUvbWFjcm9zL3RhYmxlL1RhYmxlQVBJXCI7XG5pbXBvcnQgdHlwZSBMaXN0UmVwb3J0Q29udHJvbGxlciBmcm9tIFwic2FwL2ZlL3RlbXBsYXRlcy9MaXN0UmVwb3J0L0xpc3RSZXBvcnRDb250cm9sbGVyLmNvbnRyb2xsZXJcIjtcbmltcG9ydCB0eXBlIHsgSW5uZXJDb250cm9sVHlwZSB9IGZyb20gXCJzYXAvZmUvdGVtcGxhdGVzL0xpc3RSZXBvcnQvY29udHJvbHMvTXVsdGlwbGVNb2RlQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgRXZlbnQgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50XCI7XG5pbXBvcnQgTWVzc2FnaW5nIGZyb20gXCJzYXAvdWkvY29yZS9NZXNzYWdpbmdcIjtcbmltcG9ydCBNZXNzYWdlIGZyb20gXCJzYXAvdWkvY29yZS9tZXNzYWdlL01lc3NhZ2VcIjtcbmltcG9ydCB0eXBlIE1lc3NhZ2VUeXBlIGZyb20gXCJzYXAvdWkvY29yZS9tZXNzYWdlL01lc3NhZ2VUeXBlXCI7XG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgTURDVGFibGUgfSBmcm9tIFwic2FwL3VpL21kYy9UYWJsZVwiO1xuaW1wb3J0IHR5cGUgTGlzdEJpbmRpbmcgZnJvbSBcInNhcC91aS9tb2RlbC9MaXN0QmluZGluZ1wiO1xuaW1wb3J0IHR5cGUgTWVzc2FnZU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvbWVzc2FnZS9NZXNzYWdlTW9kZWxcIjtcblxuZXhwb3J0IHR5cGUgTFJDdXN0b21NZXNzYWdlID0ge1xuXHRtZXNzYWdlOiBzdHJpbmc7XG5cdHR5cGU/OiBNZXNzYWdlVHlwZTtcblx0b25DbG9zZT86IEZ1bmN0aW9uO1xufTtcblxuZXhwb3J0IGNsYXNzIExSTWVzc2FnZVN0cmlwIHtcblx0Y3VzdG9tTWVzc2FnZUluZm8hOiB7XG5cdFx0bWVzc2FnZU1hbmFnZXJEYXRhQmluZGluZzogTGlzdEJpbmRpbmc7XG5cdFx0Y3VycmVudE1lc3NhZ2U/OiBNZXNzYWdlO1xuXHRcdG11bHRpTW9kZUNvbnRyb2xNZXNzYWdlc01hcDogeyBba2V5OiBzdHJpbmddOiBMUkN1c3RvbU1lc3NhZ2UgfCB1bmRlZmluZWQgfTtcblx0fTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvID0ge1xuXHRcdFx0bWVzc2FnZU1hbmFnZXJEYXRhQmluZGluZzogTWVzc2FnaW5nLmdldE1lc3NhZ2VNb2RlbCgpLmJpbmRMaXN0KFwiL1wiKSxcblx0XHRcdG11bHRpTW9kZUNvbnRyb2xNZXNzYWdlc01hcDoge31cblx0XHR9O1xuXHR9XG5cblx0Z2V0Q3VzdG9tTWVzc2FnZUluZm8oKToge1xuXHRcdG1lc3NhZ2VNYW5hZ2VyRGF0YUJpbmRpbmc6IExpc3RCaW5kaW5nO1xuXHRcdGN1cnJlbnRNZXNzYWdlPzogTWVzc2FnZTtcblx0XHRtdWx0aU1vZGVDb250cm9sTWVzc2FnZXNNYXA6IHsgW2tleTogc3RyaW5nXTogTFJDdXN0b21NZXNzYWdlIHwgdW5kZWZpbmVkIH07XG5cdH0ge1xuXHRcdHJldHVybiB0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvO1xuXHR9XG5cblx0ZGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLm1lc3NhZ2VNYW5hZ2VyRGF0YUJpbmRpbmcuZGV0YWNoQ2hhbmdlKHRoaXMuX2V2ZW50SGFuZGxlckN1c3RvbU1lc3NhZ2UsIHRoaXMpO1xuXHR9XG5cblx0X2dldE1lc3NhZ2VzV2l0aFNhbWVUYXJnZXRUaGFuQ3VzdG9tTWVzc2FnZSgpOiBNZXNzYWdlTW9kZWxbXSB7XG5cdFx0cmV0dXJuIE1lc3NhZ2luZy5nZXRNZXNzYWdlTW9kZWwoKVxuXHRcdFx0LmdldERhdGEoKVxuXHRcdFx0LmZpbHRlcihcblx0XHRcdFx0KG1zZzogTWVzc2FnZSkgPT5cblx0XHRcdFx0XHRtc2cuZ2V0VGFyZ2V0cygpWzBdID09PSB0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLmN1cnJlbnRNZXNzYWdlPy5nZXRUYXJnZXRzKClbMF0gJiZcblx0XHRcdFx0XHRtc2cgIT09IHRoaXMuY3VzdG9tTWVzc2FnZUluZm8uY3VycmVudE1lc3NhZ2Vcblx0XHRcdCk7XG5cdH1cblxuXHQvKipcblx0ICogTWVzc2FnZU1hbmFnZXIgRXZlbnQgSGFuZGxlciByZXNwb25zaWJsZSB0byBhZGQgb3IgcmVtb3ZlIHRoZSBjdXJyZW50IGN1c3RvbU1lc3NhZ2UuXG5cdCAqXG5cdCAqL1xuXHRfZXZlbnRIYW5kbGVyQ3VzdG9tTWVzc2FnZSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5jdXN0b21NZXNzYWdlSW5mby5jdXJyZW50TWVzc2FnZSkge1xuXHRcdFx0Y29uc3QgYU1lc3NhZ2VXaXRoU2FtZVRhcmdldFRoYW5DdXN0b21NZXNzYWdlID0gdGhpcy5fZ2V0TWVzc2FnZXNXaXRoU2FtZVRhcmdldFRoYW5DdXN0b21NZXNzYWdlKCk7XG5cdFx0XHRjb25zdCBpc0N1c3RvbU1lc3NhZ2VJbk1lc3NhZ2VNYW5hZ2VyID0gISFNZXNzYWdpbmcuZ2V0TWVzc2FnZU1vZGVsKClcblx0XHRcdFx0LmdldERhdGEoKVxuXHRcdFx0XHQuZmluZCgobXNnOiBNZXNzYWdlKSA9PiBtc2cgPT09IHRoaXMuY3VzdG9tTWVzc2FnZUluZm8uY3VycmVudE1lc3NhZ2UpO1xuXG5cdFx0XHRpZiAoYU1lc3NhZ2VXaXRoU2FtZVRhcmdldFRoYW5DdXN0b21NZXNzYWdlLmxlbmd0aCA+IDAgJiYgaXNDdXN0b21NZXNzYWdlSW5NZXNzYWdlTWFuYWdlcikge1xuXHRcdFx0XHQvL2lmIHRoZXJlIGFyZSBvdGhlciBtZXNzYWdlcyB3aXRoIHRoZSBzYW1lIG1lc3NhZ2Ugb24gdGhlIE1lc3NhZ2VNYW5hZ2VyIGFuZCB0aGUgY3VzdG9tTWVzc2FnZVxuXHRcdFx0XHQvL3RoZW4gd2UgbmVlZCB0byByZW1vdmUgdGhlIGN1c3RvbWVNZXNzYWdlIGZyb20gdGhlIE1lc3NhZ2VNYW5hZ2VyXG5cdFx0XHRcdE1lc3NhZ2luZy5yZW1vdmVNZXNzYWdlcyhbdGhpcy5jdXN0b21NZXNzYWdlSW5mbz8uY3VycmVudE1lc3NhZ2VdKTtcblx0XHRcdH0gZWxzZSBpZiAoYU1lc3NhZ2VXaXRoU2FtZVRhcmdldFRoYW5DdXN0b21NZXNzYWdlLmxlbmd0aCA9PT0gMCAmJiAhaXNDdXN0b21NZXNzYWdlSW5NZXNzYWdlTWFuYWdlcikge1xuXHRcdFx0XHRNZXNzYWdpbmcuYWRkTWVzc2FnZXMoW3RoaXMuY3VzdG9tTWVzc2FnZUluZm8uY3VycmVudE1lc3NhZ2VdKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBmdW5jdGlvbiBtYW5hZ2VzIHRoZSBsaWZlY3ljbGUgb2YgdGhlIGN1c3RvbSBtZXNzYWdlIChwb3B1bGF0ZXMgdGhlIGN1c3RvbU1lc3NhZ2VJbmZvIG9iamVjdCwgYXR0YWNoZXMgYW4gZXZlbnQgdG8gdGhlIG1lc3NhZ2UgbWFuYWdlciBhbmQgaW5zZXJ0cyBhIG1lc3NhZ2UpLlxuXHQgKiBAcGFyYW0gZXZlbnQgRXZlbnQgb2JqZWN0IChvcHRpb25hbCkuXG5cdCAqIEBwYXJhbSBvRGF0YSBQYXJhbWV0ZXJzXG5cdCAqIEBwYXJhbSBvRGF0YS5tZXNzYWdlIFRoZSBMUkN1c3RvbU1lc3NhZ2UgdG8gYmUgdXNlZCB0byBnZW5lcmF0ZSB0aGUgbWVzc2FnZSBvYmplY3Rcblx0ICogQHBhcmFtIG9EYXRhLnRhYmxlIFRoZSB0YWJsZSB0YXJnZXRlZCBieSB0aGUgbWVzc2FnZVxuXHQgKiBAcGFyYW0gb0RhdGEuc2tpcE1lc3NhZ2VNYW5hZ2VyVXBkYXRlIFNob3VsZCBza2lwIHRvIGluc2VydCB0aGUgbWVzc2FnZSBpbiB0aGUgTWVzc2FnZU1hbmFnZXJcblx0ICovXG5cdGNyZWF0ZUN1c3RvbU1lc3NhZ2UoXG5cdFx0ZXZlbnQ6IEV2ZW50IHwgbnVsbCxcblx0XHRvRGF0YTogeyBtZXNzYWdlOiBMUkN1c3RvbU1lc3NhZ2UgfCB1bmRlZmluZWQ7IHRhYmxlOiBNRENUYWJsZTsgc2tpcE1lc3NhZ2VNYW5hZ2VyVXBkYXRlPzogYm9vbGVhbiB9XG5cdCk6IHZvaWQge1xuXHRcdGNvbnN0IG1lc3NhZ2UgPSBvRGF0YS5tZXNzYWdlO1xuXHRcdGNvbnN0IHRhYmxlID0gb0RhdGEudGFibGU7XG5cdFx0Y29uc3Qgc2tpcE1lc3NhZ2VNYW5hZ2VyVXBkYXRlID0gb0RhdGEuc2tpcE1lc3NhZ2VNYW5hZ2VyVXBkYXRlO1xuXHRcdGNvbnN0IHJvd0JpbmRpbmdQYXRoID0gdGFibGUuZ2V0Um93QmluZGluZygpPy5nZXRQYXRoKCk7XG5cdFx0Y29uc3QgY3VzdG9tTWVzc2FnZU1hcCA9IHRoaXMuY3VzdG9tTWVzc2FnZUluZm8ubXVsdGlNb2RlQ29udHJvbE1lc3NhZ2VzTWFwO1xuXHRcdGN1c3RvbU1lc3NhZ2VNYXBbdGFibGUuZ2V0SWQoKV0gPSBtZXNzYWdlO1xuXHRcdGlmICghcm93QmluZGluZ1BhdGgpIHtcblx0XHRcdHRhYmxlLmF0dGFjaEV2ZW50T25jZShcImJpbmRpbmdVcGRhdGVkXCIsIG9EYXRhLCB0aGlzLmNyZWF0ZUN1c3RvbU1lc3NhZ2UsIHRoaXMpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGlmIChjdXN0b21NZXNzYWdlTWFwW3RhYmxlLmdldElkKCldPy5vbkNsb3NlKSB7XG5cdFx0XHR0YWJsZS5nZXREYXRhU3RhdGVJbmRpY2F0b3IoKS5kZXRhY2hFdmVudChcImNsb3NlXCIsIGN1c3RvbU1lc3NhZ2VNYXBbdGFibGUuZ2V0SWQoKV0/Lm9uQ2xvc2UgYXMgRnVuY3Rpb24sIHRoaXMpO1xuXHRcdH1cblxuXHRcdGNvbnN0IHByb2Nlc3NvciA9IHRhYmxlLmdldE1vZGVsKCk7XG5cdFx0Y29uc3Qgb01lc3NhZ2UgPSBtZXNzYWdlXG5cdFx0XHQ/IG5ldyBNZXNzYWdlKHtcblx0XHRcdFx0XHRtZXNzYWdlOiBtZXNzYWdlLm1lc3NhZ2UsXG5cdFx0XHRcdFx0dHlwZTogbWVzc2FnZS50eXBlLFxuXHRcdFx0XHRcdHRhcmdldDogW3Jvd0JpbmRpbmdQYXRoXSxcblx0XHRcdFx0XHRwZXJzaXN0ZW50OiBmYWxzZSxcblx0XHRcdFx0XHR0ZWNobmljYWxEZXRhaWxzOiB7XG5cdFx0XHRcdFx0XHRpc0N1c3RvbU1lc3NhZ2VGcm9tRXh0ZW5zaW9uQVBJOiB0cnVlXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRwcm9jZXNzb3Jcblx0XHRcdCAgfSlcblx0XHRcdDogbnVsbDtcblxuXHRcdHRoaXMuY3VzdG9tTWVzc2FnZUluZm8ubWVzc2FnZU1hbmFnZXJEYXRhQmluZGluZy5kZXRhY2hDaGFuZ2UodGhpcy5fZXZlbnRIYW5kbGVyQ3VzdG9tTWVzc2FnZSwgdGhpcyk7XG5cdFx0aWYgKCFza2lwTWVzc2FnZU1hbmFnZXJVcGRhdGUpIHtcblx0XHRcdGlmICh0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLmN1cnJlbnRNZXNzYWdlKSB7XG5cdFx0XHRcdE1lc3NhZ2luZy5yZW1vdmVNZXNzYWdlcyhbdGhpcy5jdXN0b21NZXNzYWdlSW5mby5jdXJyZW50TWVzc2FnZV0pO1xuXHRcdFx0fVxuXHRcdFx0aWYgKG9NZXNzYWdlKSB7XG5cdFx0XHRcdHRoaXMuY3VzdG9tTWVzc2FnZUluZm8uY3VycmVudE1lc3NhZ2UgPSBvTWVzc2FnZTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGRlbGV0ZSB0aGlzLmN1c3RvbU1lc3NhZ2VJbmZvLmN1cnJlbnRNZXNzYWdlO1xuXHRcdFx0fVxuXHRcdFx0aWYgKG9NZXNzYWdlICYmIHRoaXMuX2dldE1lc3NhZ2VzV2l0aFNhbWVUYXJnZXRUaGFuQ3VzdG9tTWVzc2FnZSgpLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRNZXNzYWdpbmcuYWRkTWVzc2FnZXMoW29NZXNzYWdlXSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHRoaXMuY3VzdG9tTWVzc2FnZUluZm8ubWVzc2FnZU1hbmFnZXJEYXRhQmluZGluZy5hdHRhY2hDaGFuZ2UodGhpcy5fZXZlbnRIYW5kbGVyQ3VzdG9tTWVzc2FnZSwgdGhpcyk7XG5cblx0XHR0aGlzLmF0dGFjaERhdGFTdGF0ZUluZGljYXRvckNsb3NlRXZlbnQodGFibGUsIGN1c3RvbU1lc3NhZ2VNYXAsIG1lc3NhZ2U/Lm9uQ2xvc2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoaXMgZnVuY3Rpb24gYXR0YWNoZXMgdGhlIG9uQ2xvc2UgZXZlbnQgZnVuY3Rpb24gdG8gdGhlIGRhdGFTdGF0ZUluZGljYXRvci5cblx0ICogQHBhcmFtIHRhYmxlIFRoZSB0YWJsZSBhc3NvY2lhdGVkIHdpdGggdGhlIGRhdGFTdGF0ZUluZGljYXRvclxuXHQgKiBAcGFyYW0gY3VzdG9tTWVzc2FnZU1hcCBUaGUgQ3VzdG9tTWVzc2FnZU1hcCBvYmplY3Rcblx0ICogQHBhcmFtIGZuT25DbG9zZSBBIGZ1bmN0aW9uIHRvIGJlIGF0dGFjaGVkIHRvIHRoZSBcImNsb3NlXCIgZXZlbnRcblx0ICovXG5cdGF0dGFjaERhdGFTdGF0ZUluZGljYXRvckNsb3NlRXZlbnQoXG5cdFx0dGFibGU6IE1EQ1RhYmxlLFxuXHRcdGN1c3RvbU1lc3NhZ2VNYXA6IHsgW2tleTogc3RyaW5nXTogTFJDdXN0b21NZXNzYWdlIHwgdW5kZWZpbmVkIH0sXG5cdFx0Zm5PbkNsb3NlPzogRnVuY3Rpb25cblx0KTogdm9pZCB7XG5cdFx0aWYgKGZuT25DbG9zZSkge1xuXHRcdFx0dGFibGUuZ2V0RGF0YVN0YXRlSW5kaWNhdG9yKCkuYXR0YWNoRXZlbnRPbmNlKFwiY2xvc2VcIiwgZm5PbkNsb3NlLCB0aGlzKTtcblx0XHR9XG5cdFx0Ly9XaGVuIGNsb3NpbmcgdGhlIHRoZSBtZXNzYWdlU3RyaXAsIHRoZSBhc3NvY2lhdGVkIG1lc3NhZ2UgaXMgcmVtb3ZlZFxuXHRcdHRhYmxlLmdldERhdGFTdGF0ZUluZGljYXRvcigpLmF0dGFjaEV2ZW50T25jZShcImNsb3NlXCIsICgpID0+IHtcblx0XHRcdGRlbGV0ZSBjdXN0b21NZXNzYWdlTWFwW3RhYmxlLmdldElkKCldO1xuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIE11bHRpcGxlTW9kZUNvbnRyb2wgRXZlbnQgaGFuZGxlciByZXNwb25zaWJsZSBmb3IgZGlzcGxheWluZyB0aGUgY29ycmVjdCBjdXN0b20gbWVzc2FnZSB3aGVuIGEgc3BlY2lmaWMgdGFiIGlzIHNlbGVjdGVkLlxuXHQgKlxuXHQgKi9cblxuXHRvblNlbGVjdE11bHRpcGxlTW9kZUNvbnRyb2woZXZlbnQ6IEV2ZW50LCBjb250cm9sbGVyOiBMaXN0UmVwb3J0Q29udHJvbGxlcik6IHZvaWQge1xuXHRcdGNvbnN0IHRhYmxlID0gY29udHJvbGxlci5fZ2V0VGFibGUoKSBhcyBNRENUYWJsZTtcblx0XHRjb25zdCBtZXNzYWdlID0gdGhpcy5jdXN0b21NZXNzYWdlSW5mby5tdWx0aU1vZGVDb250cm9sTWVzc2FnZXNNYXBbdGFibGUuZ2V0SWQoKV07XG5cdFx0dGhpcy5jcmVhdGVDdXN0b21NZXNzYWdlKG51bGwsIHsgbWVzc2FnZSwgdGFibGUgfSk7XG5cdH1cblxuXHQvKipcblx0ICogUHJvdmlkZSBhbiBvcHRpb24gZm9yIHNob3dpbmcgYSBjdXN0b20gbWVzc2FnZSBpbiB0aGUgbWVzc2FnZSBiYXIgYWJvdmUgdGhlIGxpc3QgcmVwb3J0IHRhYmxlLlxuXHQgKiBAcGFyYW0gW21lc3NhZ2VdIEN1c3RvbSBtZXNzYWdlIGFsb25nIHdpdGggdGhlIG1lc3NhZ2UgdHlwZSB0byBiZSBzZXQgb24gdGhlIHRhYmxlLlxuXHQgKiBAcGFyYW0gW21lc3NhZ2UubWVzc2FnZV0gTWVzc2FnZSBzdHJpbmcgdG8gYmUgZGlzcGxheWVkLlxuXHQgKiBAcGFyYW0gW21lc3NhZ2UudHlwZV0gSW5kaWNhdGVzIHRoZSB0eXBlIG9mIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSBbY29udHJvbGxlcl0gQ29udHJvbGxlciBvZiB0aGUgY3VycmVudCB2aWV3LlxuXHQgKiBAcGFyYW0gW3RhYktleV0gVGhlIGVudGl0eVNldCBpZGVudGlmeWluZyB0aGUgdGFibGUgaW4gd2hpY2ggdG8gZGlzcGxheSB0aGUgY3VzdG9tIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSBbb25DbG9zZV0gQSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGNsb3NlcyB0aGUgbWVzc2FnZSBiYXIuXG5cdCAqL1xuXHRzaG93Q3VzdG9tTWVzc2FnZShcblx0XHRtZXNzYWdlOiBMUkN1c3RvbU1lc3NhZ2UgfCB1bmRlZmluZWQsXG5cdFx0Y29udHJvbGxlcjogTGlzdFJlcG9ydENvbnRyb2xsZXIsXG5cdFx0dGFiS2V5Pzogc3RyaW5nW10gfCBzdHJpbmcgfCBudWxsLFxuXHRcdG9uQ2xvc2U/OiBGdW5jdGlvblxuXHQpOiB2b2lkIHtcblx0XHRjb25zdCBfdGFiS2V5ID0gQXJyYXkuaXNBcnJheSh0YWJLZXkpID8gdGFiS2V5IDogW3RhYktleV07XG5cdFx0Y29uc3QgaXNNdWx0aU1vZGUgPSBjb250cm9sbGVyLl9pc011bHRpTW9kZSgpO1xuXHRcdGxldCB0YWJsZTogTURDVGFibGU7XG5cdFx0aWYgKG1lc3NhZ2UpIHtcblx0XHRcdG1lc3NhZ2Uub25DbG9zZSA9IG9uQ2xvc2U7XG5cdFx0fVxuXHRcdGlmIChpc011bHRpTW9kZSkge1xuXHRcdFx0Y29uc3QgbXVsdGlwbGVNb2RlQ29udHJvbCA9IGNvbnRyb2xsZXIuX2dldE11bHRpTW9kZUNvbnRyb2woKTtcblx0XHRcdC8vd2UgZmlzcnQgbmVlZCB0byBkZXRhY2ggdGhlIHNlbGVjdCBldmVudCB0byBwcmV2ZW50IG11bHRpcGxlIGF0dGFjaG1lbnRzLlxuXHRcdFx0bXVsdGlwbGVNb2RlQ29udHJvbC5kZXRhY2hFdmVudChcInNlbGVjdFwiLCB0aGlzLm9uU2VsZWN0TXVsdGlwbGVNb2RlQ29udHJvbCwgdGhpcyk7XG5cdFx0XHRtdWx0aXBsZU1vZGVDb250cm9sLmF0dGFjaEV2ZW50KFwic2VsZWN0XCIsIGNvbnRyb2xsZXIsIHRoaXMub25TZWxlY3RNdWx0aXBsZU1vZGVDb250cm9sLCB0aGlzKTtcblxuXHRcdFx0bXVsdGlwbGVNb2RlQ29udHJvbC5nZXRBbGxJbm5lckNvbnRyb2xzKHRydWUpLmZvckVhY2goKGlubmVyQ29udHJvbDogSW5uZXJDb250cm9sVHlwZSwgaW5kZXg6IG51bWJlcikgPT4ge1xuXHRcdFx0XHRpZiAoaW5uZXJDb250cm9sLmlzQTxUYWJsZUFQST4oXCJzYXAuZmUubWFjcm9zLnRhYmxlLlRhYmxlQVBJXCIpKSB7XG5cdFx0XHRcdFx0aWYgKCF0YWJLZXkgfHwgX3RhYktleS5pbmNsdWRlcyhpbmRleC50b1N0cmluZygpKSkge1xuXHRcdFx0XHRcdFx0dGFibGUgPSBpbm5lckNvbnRyb2wuZ2V0Q29udGVudCgpO1xuXHRcdFx0XHRcdFx0dGhpcy5jcmVhdGVDdXN0b21NZXNzYWdlKG51bGwsIHtcblx0XHRcdFx0XHRcdFx0bWVzc2FnZSxcblx0XHRcdFx0XHRcdFx0dGFibGUsXG5cdFx0XHRcdFx0XHRcdHNraXBNZXNzYWdlTWFuYWdlclVwZGF0ZTogbXVsdGlwbGVNb2RlQ29udHJvbC5nZXRTZWxlY3RlZElubmVyQ29udHJvbCgpICE9PSBpbm5lckNvbnRyb2xcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGFibGUgPSBjb250cm9sbGVyLl9nZXRUYWJsZSgpIGFzIE1EQ1RhYmxlO1xuXHRcdHRoaXMuY3JlYXRlQ3VzdG9tTWVzc2FnZShudWxsLCB7IG1lc3NhZ2UsIHRhYmxlIH0pO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O01BaUJhQSxjQUFjO0lBTzFCLFNBQUFBLGVBQUEsRUFBYztNQUNiLElBQUksQ0FBQ0MsaUJBQWlCLEdBQUc7UUFDeEJDLHlCQUF5QixFQUFFQyxTQUFTLENBQUNDLGVBQWUsQ0FBQyxDQUFDLENBQUNDLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDcEVDLDJCQUEyQixFQUFFLENBQUM7TUFDL0IsQ0FBQztJQUNGO0lBQUNDLFFBQUEsQ0FBQVAsY0FBQSxHQUFBQSxjQUFBO0lBQUEsSUFBQVEsTUFBQSxHQUFBUixjQUFBLENBQUFTLFNBQUE7SUFBQUQsTUFBQSxDQUVERSxvQkFBb0IsR0FBcEIsU0FBQUEsb0JBQW9CQSxDQUFBLEVBSWxCO01BQ0QsT0FBTyxJQUFJLENBQUNULGlCQUFpQjtJQUM5QixDQUFDO0lBQUFPLE1BQUEsQ0FFREcsT0FBTyxHQUFQLFNBQUFBLE9BQU9BLENBQUEsRUFBUztNQUNmLElBQUksQ0FBQ1YsaUJBQWlCLENBQUNDLHlCQUF5QixDQUFDVSxZQUFZLENBQUMsSUFBSSxDQUFDQywwQkFBMEIsRUFBRSxJQUFJLENBQUM7SUFDckcsQ0FBQztJQUFBTCxNQUFBLENBRURNLDJDQUEyQyxHQUEzQyxTQUFBQSwyQ0FBMkNBLENBQUEsRUFBbUI7TUFDN0QsT0FBT1gsU0FBUyxDQUFDQyxlQUFlLENBQUMsQ0FBQyxDQUNoQ1csT0FBTyxDQUFDLENBQUMsQ0FDVEMsTUFBTSxDQUNMQyxHQUFZLElBQ1pBLEdBQUcsQ0FBQ0MsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUNqQixpQkFBaUIsQ0FBQ2tCLGNBQWMsRUFBRUQsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFDOUVELEdBQUcsS0FBSyxJQUFJLENBQUNoQixpQkFBaUIsQ0FBQ2tCLGNB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
@@ -106,6 +106,9 @@ export class LRMessageStrip {
106
106
  type: message.type,
107
107
  target: [rowBindingPath],
108
108
  persistent: false,
109
+ technicalDetails: {
110
+ isCustomMessageFromExtensionAPI: true
111
+ },
109
112
  processor
110
113
  })
111
114
  : null;
@@ -356,13 +356,14 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/core/CommonUt
356
356
  * Get the count of the Tab containing the macro passed as parameter.
357
357
  * @param macroAPI The content of the tab we want to refresh
358
358
  */;
359
- _proto.refreshTabCount = function refreshTabCount(macroAPI) {
359
+ _proto.refreshTabCount = async function refreshTabCount(macroAPI) {
360
360
  const iconTabFilter = this._getTabFromInnerControl(macroAPI);
361
361
  if (!iconTabFilter) {
362
362
  return;
363
363
  }
364
364
  if (macroAPI?.getCounts) {
365
365
  iconTabFilter.setCount("...");
366
+ await this._getViewController().editFlow.syncTask(); // ensure all pending changes are done before refreshing counts
366
367
  macroAPI.getCounts().then(count => {
367
368
  return iconTabFilter.setCount(count || "0");
368
369
  }).catch(function (error) {
@@ -512,4 +513,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/core/CommonUt
512
513
  }), _class2)) || _class);
513
514
  return MultipleModeControl;
514
515
  }, false);
515
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCaW5kaW5nQWN0aW9uIiwiTXVsdGlwbGVNb2RlQ29udHJvbCIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJkZWZhdWx0VmFsdWUiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiaXNEZWZhdWx0IiwiX2RlYzciLCJhc3NvY2lhdGlvbiIsIl9kZWM4IiwiX2RlYzkiLCJldmVudCIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQ29udHJvbCIsImlkIiwic2V0dGluZ3MiLCJfdGhpcyIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiX2Rlc2NyaXB0b3IzIiwiX2Rlc2NyaXB0b3I0IiwiX2Rlc2NyaXB0b3I1IiwiX2Rlc2NyaXB0b3I2IiwiX2Rlc2NyaXB0b3I3IiwiX2Rlc2NyaXB0b3I4IiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJvbkJlZm9yZVJlbmRlcmluZyIsImdldFRhYnNNb2RlbCIsIm9GaWx0ZXJDb250cm9sIiwiX2dldEZpbHRlckNvbnRyb2wiLCJzZXRDb3VudHNPdXREYXRlZCIsIm9GaWx0ZXJCYXJBUEkiLCJnZXRQYXJlbnQiLCJnZXRBbGxJbm5lckNvbnRyb2xzIiwiZm9yRWFjaCIsIm9NYWNyb0FQSSIsInNob3dDb3VudHMiLCJhdHRhY2hFdmVudCIsImludGVybmFsUmVmcmVzaFRhYnNDb3VudCIsImJpbmQiLCJzdXNwZW5kQmluZGluZyIsIl9vblNlYXJjaCIsIl9vbkZpbHRlckNoYW5nZWQiLCJvbkFmdGVyUmVuZGVyaW5nIiwiZ2V0U2VsZWN0ZWRJbm5lckNvbnRyb2wiLCJyZXN1bWVCaW5kaW5nIiwiZ2V0UHJvcGVydHkiLCJzZXRWaXNpYmxlT3ZlcnJpZGRlbiIsInNldFByb3BlcnR5IiwibWFjcm9BUEkiLCJpY29uVGFiRmlsdGVyIiwiX2dldFRhYkZyb21Jbm5lckNvbnRyb2wiLCJvcmlnaW5TZXRWaXNpYmxlIiwic2V0VmlzaWJsZSIsInZhbHVlIiwiZ2V0VmlzaWJsZSIsInJlZnJlc2hUYWJDb3VudCIsInJlbmRlciIsIm9SbSIsIm9Db250cm9sIiwicmVuZGVyQ29udHJvbCIsImNvbnRlbnQiLCJzVGFic01vZGVsIiwib0NvbnRlbnQiLCJ1bmRlZmluZWQiLCJvTW9kZWwiLCJnZXRNb2RlbCIsIkpTT05Nb2RlbCIsInNldE1vZGVsIiwib1NlbGVjdGVkVGFiIiwiZ2V0SXRlbXMiLCJmaW5kIiwib0l0ZW0iLCJnZXRLZXkiLCJnZXRTZWxlY3RlZEtleSIsImhhbmRsZVRhYkNoYW5nZSIsIm9FdmVudCIsIm9JY29uVGFiQmFyIiwiZ2V0U291cmNlIiwib011bHRpQ29udHJvbCIsIm1QYXJhbWV0ZXJzIiwiZ2V0UGFyYW1ldGVycyIsIl9zZXRJbm5lckJpbmRpbmciLCJzUHJldmlvdXNTZWxlY3RlZEtleSIsInByZXZpb3VzS2V5Iiwic1NlbGVjdGVkS2V5Iiwic2VsZWN0ZWRLZXkiLCJwZXJzb25hbGl6YXRpb25Qcm9taXNlIiwib0ZpbHRlckJhciIsIl9yZWZyZXNoQ3VzdG9tVmlldyIsImdldEZpbHRlckNvbmRpdGlvbnMiLCJoYW5kbGVQZXJzb25hbGl6YXRpb25VcGRhdGUiLCJfZ2V0Vmlld0NvbnRyb2xsZXIiLCJnZXRFeHRlbnNpb25BUEkiLCJ1cGRhdGVBcHBTdGF0ZSIsImZpcmVFdmVudCIsImljb25UYWJCYXIiLCJDb250cm9sUGVyc29uYWxpemF0aW9uV3JpdGVBUEkiLCJfX3VpNV9yZXF1aXJlX2FzeW5jIiwiZGVmYXVsdCIsImFkZCIsImNoYW5nZXMiLCJjaGFuZ2VTcGVjaWZpY0RhdGEiLCJjaGFuZ2VUeXBlIiwicHJldmlvdXNTZWxlY3RlZEtleSIsInNlbGVjdG9yRWxlbWVudCIsImVycm9yIiwiTG9nIiwicmVmcmVzaFNlbGVjdGVkSW5uZXJDb250cm9sQ29udGVudCIsImludmFsaWRhdGVDb250ZW50Iiwia2V5cyIsImtleSIsImJWYWx1ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNldEZyZWV6ZUNvbnRlbnQiLCJfdXBkYXRlTXVsdGlUYWJOb3RBcHBsaWNhYmxlRmllbGRzIiwidGFic01vZGVsIiwicmVzdWx0cyIsInZpZXciLCJDb21tb25VdGlscyIsImdldFRhcmdldFZpZXciLCJ2aWV3RGF0YSIsImdldFZpZXdEYXRhIiwidXNlSGlkZGVuRmlsdGVyQmFyIiwib1RhYiIsInNUYWJJZCIsIm1JZ25vcmVkRmllbGRzIiwicmVmcmVzaE5vdEFwcGxpY2FibGVGaWVsZHMiLCJub3RBcHBsaWNhYmxlIiwiZmllbGRzIiwidGl0bGUiLCJfc2V0VGFiTWVzc2FnZVN0cmlwIiwiZW50aXR5VHlwZVBhdGgiLCJkYXRhIiwiaWdub3JlZEZpZWxkcyIsImdldFRleHQiLCJpc0EiLCJjaGVja05vbkZpbHRlcmFibGVFbnRpdHlTZXQiLCJzZXREYXRhIiwicmVzb3VyY2VNb2RlbCIsImdldFJlc291cmNlTW9kZWwiLCJvQ2hhcnQiLCJnZXRDb250ZW50IiwiYkVudGl0eVNldEZpbGVyYWJsZSIsIk1ldGFNb2RlbENvbnZlcnRlciIsImdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyIsImdldE1ldGFNb2RlbCIsImdldENvbnRleHQiLCJ0YXJnZXRPYmplY3QiLCJhbm5vdGF0aW9ucyIsIkNhcGFiaWxpdGllcyIsIkZpbHRlclJlc3RyaWN0aW9ucyIsIkZpbHRlcmFibGUiLCJpbmNsdWRlcyIsImJPbmx5Rm9yVmlzaWJsZVRhYiIsImlubmVyQ29udHJvbHMiLCJyZWR1Y2UiLCJhSW5uZXJDb250cm9scyIsInNJbm5lckNvbnRyb2wiLCJVSTVFbGVtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJwdXNoIiwiZmlsdGVyIiwib0lubmVyQ29udHJvbCIsImZpbHRlckNvbnRyb2wiLCJvVmlldyIsImdldENvbnRyb2xsZXIiLCJvRmlsdGVyQ29uZGl0aW9ucyIsInNSZWZyZXNoQ2F1c2UiLCJvblZpZXdOZWVkc1JlZnJlc2giLCJmaWx0ZXJDb25kaXRpb25zIiwiY3VycmVudFRhYklkIiwicmVmcmVzaENhdXNlIiwiZ2V0Q291bnRzIiwic2V0Q291bnQiLCJ0aGVuIiwiY291bnQiLCJjYXRjaCIsInRhYmxlRXZlbnQiLCJldmVudE1hY3JvQVBJIiwidGFyZ2V0S2V5IiwidGFiS2V5cyIsIm1hcCIsInRhYiIsInNwbGl0IiwicmVmcmVzaFRhYnNDb3VudCIsIm9JY29uVGFiRmlsdGVyIiwiY291bnRzT3V0RGF0ZWQiLCJzZXRUYWJDb250ZW50VG9CZVJlZnJlc2hlZE9uTmV4dE9wZW5pbmciLCJzZWxlY3RlZFRhYktleSIsInJlZnJlc2hTZWxlY3RlZFRhYkNvbnRlbnQiLCJiUmVxdWVzdElmTm90SW5pdGlhbGl6ZWQiLCJiSXNTZWxlY3RlZEtleSIsInNBY3Rpb24iLCJSZXN1bWUiLCJTdXNwZW5kIiwicHJvcGVydGllcyIsInNUZXh0IiwiYUlnbm9yZWRGaWVsZHMiLCJBcnJheSIsImlzQXJyYXkiLCJhSWdub3JlZExhYmVscyIsIk1lc3NhZ2VTdHJpcCIsImdldExhYmVscyIsImdldFBhcmFtZXRlciIsIkNvbnRyb2wiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIk11bHRpcGxlTW9kZUNvbnRyb2wudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFbnRpdHlTZXQgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBhZ2dyZWdhdGlvbiwgYXNzb2NpYXRpb24sIGRlZmluZVVJNUNsYXNzLCBldmVudCwgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBQYWdlQ29udHJvbGxlciBmcm9tIFwic2FwL2ZlL2NvcmUvUGFnZUNvbnRyb2xsZXJcIjtcbmltcG9ydCAqIGFzIE1ldGFNb2RlbENvbnZlcnRlciBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCBNZXNzYWdlU3RyaXAgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTWVzc2FnZVN0cmlwXCI7XG5pbXBvcnQgeyBnZXRSZXNvdXJjZU1vZGVsIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvUmVzb3VyY2VNb2RlbEhlbHBlclwiO1xuaW1wb3J0IHR5cGUgTWFjcm9BUEkgZnJvbSBcInNhcC9mZS9tYWNyb3MvTWFjcm9BUElcIjtcbmltcG9ydCB0eXBlIEZpbHRlckJhciBmcm9tIFwic2FwL2ZlL21hY3Jvcy9jb250cm9scy9GaWx0ZXJCYXJcIjtcbmltcG9ydCB0eXBlIExpc3RSZXBvcnRDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvdGVtcGxhdGVzL0xpc3RSZXBvcnQvTGlzdFJlcG9ydENvbnRyb2xsZXIuY29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgSWNvblRhYkJhciBmcm9tIFwic2FwL20vSWNvblRhYkJhclwiO1xuaW1wb3J0IHR5cGUgeyBJY29uVGFiQmFyJFNlbGVjdEV2ZW50IH0gZnJvbSBcInNhcC9tL0ljb25UYWJCYXJcIjtcbmltcG9ydCB0eXBlIEljb25UYWJGaWx0ZXIgZnJvbSBcInNhcC9tL0ljb25UYWJGaWx0ZXJcIjtcbmltcG9ydCB0eXBlIENvcmVFdmVudCBmcm9tIFwic2FwL3VpL2Jhc2UvRXZlbnRcIjtcbmltcG9ydCB0eXBlIHsgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IFVJNUVsZW1lbnQgZnJvbSBcInNhcC91aS9jb3JlL0VsZW1lbnRcIjtcbmltcG9ydCB0eXBlIFJlbmRlck1hbmFnZXIgZnJvbSBcInNhcC91aS9jb3JlL1JlbmRlck1hbmFnZXJcIjtcbmltcG9ydCBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTW9kZWxcIjtcblxuZXhwb3J0IHR5cGUgSW5uZXJDb250cm9sVHlwZSA9IE1hY3JvQVBJICZcblx0UGFydGlhbDx7XG5cdFx0cmVzdW1lQmluZGluZzogRnVuY3Rpb247XG5cdFx0c3VzcGVuZEJpbmRpbmc6IEZ1bmN0aW9uO1xuXHRcdGdldENvdW50czogRnVuY3Rpb247XG5cdFx0cmVmcmVzaE5vdEFwcGxpY2FibGVGaWVsZHM6IEZ1bmN0aW9uO1xuXHRcdGludmFsaWRhdGVDb250ZW50OiBGdW5jdGlvbjtcblx0XHRnZXRDb250ZW50OiBGdW5jdGlvbjtcblx0fT47XG5cbnR5cGUgTWVzc2FnZVN0cmlwUHJvcGVydGllcyA9IHtcblx0ZW50aXR5VHlwZVBhdGg6IHN0cmluZztcblx0aWdub3JlZEZpZWxkczogc3RyaW5nW107XG5cdHRpdGxlOiBzdHJpbmc7XG59O1xuXG5lbnVtIEJpbmRpbmdBY3Rpb24ge1xuXHRTdXNwZW5kID0gXCJzdXNwZW5kQmluZGluZ1wiLFxuXHRSZXN1bWUgPSBcInJlc3VtZUJpbmRpbmdcIlxufVxuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUudGVtcGxhdGVzLkxpc3RSZXBvcnQuY29udHJvbHMuTXVsdGlwbGVNb2RlQ29udHJvbFwiKVxuY2xhc3MgTXVsdGlwbGVNb2RlQ29udHJvbCBleHRlbmRzIENvbnRyb2wge1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRzaG93Q291bnRzITogYm9vbGVhbjtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiwgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuXHRzZXRWaXNpYmxlT3ZlcnJpZGRlbiE6IGJvb2xlYW47XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIsIGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcblx0ZnJlZXplQ29udGVudCE6IGJvb2xlYW47XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIsIGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcblx0Y291bnRzT3V0RGF0ZWQhOiBib29sZWFuO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uSWNvblRhYkJhclwiLCBtdWx0aXBsZTogZmFsc2UsIGlzRGVmYXVsdDogdHJ1ZSB9KVxuXHRjb250ZW50ITogSWNvblRhYkJhcjtcblxuXHRAYXNzb2NpYXRpb24oeyB0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIiwgbXVsdGlwbGU6IHRydWUgfSlcblx0aW5uZXJDb250cm9scyE6IHN0cmluZ1tdO1xuXG5cdEBhc3NvY2lhdGlvbih7IHR5cGU6IFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5GaWx0ZXJCYXJcIiwgbXVsdGlwbGU6IGZhbHNlIH0pXG5cdGZpbHRlckNvbnRyb2whOiBzdHJpbmc7XG5cblx0QGV2ZW50KClcblx0c2VsZWN0ITogRnVuY3Rpb247XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0aWQ/OiBzdHJpbmcgfCB1bmRlZmluZWQgfCAoUHJvcGVydGllc09mPE11bHRpcGxlTW9kZUNvbnRyb2w+ICYgJENvbnRyb2xTZXR0aW5ncyksXG5cdFx0c2V0dGluZ3M/OiAkQ29udHJvbFNldHRpbmdzICYgUHJvcGVydGllc09mPE11bHRpcGxlTW9kZUNvbnRyb2w+XG5cdCkge1xuXHRcdHN1cGVyKGlkIGFzIHN0cmluZywgc2V0dGluZ3MpO1xuXHR9XG5cblx0b25CZWZvcmVSZW5kZXJpbmcoKTogdm9pZCB7XG5cdFx0dGhpcy5nZXRUYWJzTW9kZWwoKTsgLy8gR2VuZXJhdGUgdGhlIG1vZGVsIHdoaWNoIGlzIG1hbmRhdG9yeSBmb3Igc29tZSBiaW5kaW5nc1xuXG5cdFx0Y29uc3Qgb0ZpbHRlckNvbnRyb2wgPSB0aGlzLl9nZXRGaWx0ZXJDb250cm9sKCk7XG5cdFx0aWYgKCFvRmlsdGVyQ29udHJvbCkge1xuXHRcdFx0Ly8gSW4gY2FzZSB0aGVyZSdzIG5vIGZpbHRlcmJhciwgd2UgaGF2ZSB0byB1cGRhdGUgdGhlIGNvdW50cyBpbiB0aGUgdGFicyBpbW1lZGlhdGVseVxuXHRcdFx0dGhpcy5zZXRDb3VudHNPdXREYXRlZCh0cnVlKTtcblx0XHR9XG5cdFx0Y29uc3Qgb0ZpbHRlckJhckFQSSA9IG9GaWx0ZXJDb250cm9sPy5nZXRQYXJlbnQoKTtcblx0XHR0aGlzLmdldEFsbElubmVyQ29udHJvbHMoKS5mb3JFYWNoKChvTWFjcm9BUEkpID0+IHtcblx0XHRcdGlmICh0aGlzLnNob3dDb3VudHMpIHtcblx0XHRcdFx0b01hY3JvQVBJLmF0dGFjaEV2ZW50KFwiaW50ZXJuYWxEYXRhUmVxdWVzdGVkXCIsIHRoaXMuaW50ZXJuYWxSZWZyZXNoVGFic0NvdW50LmJpbmQodGhpcykpO1xuXHRcdFx0fVxuXHRcdFx0b01hY3JvQVBJLnN1c3BlbmRCaW5kaW5nPy4oKTtcblx0XHR9KTtcblx0XHRpZiAob0ZpbHRlckJhckFQSSkge1xuXHRcdFx0b0ZpbHRlckJhckFQSS5hdHRhY2hFdmVudChcImludGVybmFsU2VhcmNoXCIsIHRoaXMuX29uU2VhcmNoLmJpbmQodGhpcykpO1xuXHRcdFx0b0ZpbHRlckJhckFQSS5hdHRhY2hFdmVudChcImludGVybmFsRmlsdGVyQ2hhbmdlZFwiLCB0aGlzLl9vbkZpbHRlckNoYW5nZWQuYmluZCh0aGlzKSk7XG5cdFx0fVxuXHR9XG5cblx0b25BZnRlclJlbmRlcmluZygpOiB2b2lkIHtcblx0XHR0aGlzLmdldFNlbGVjdGVkSW5uZXJDb250cm9sKCk/LnJlc3VtZUJpbmRpbmc/LighdGhpcy5nZXRQcm9wZXJ0eShcImZyZWV6ZUNvbnRlbnRcIikpO1xuXHRcdGlmICh0aGlzLnNob3dDb3VudHMgJiYgIXRoaXMuc2V0VmlzaWJsZU92ZXJyaWRkZW4pIHtcblx0XHRcdHRoaXMuc2V0UHJvcGVydHkoXCJzZXRWaXNpYmxlT3ZlcnJpZGRlblwiLCB0cnVlKTtcblx0XHRcdHRoaXMuZ2V0QWxsSW5uZXJDb250cm9scygpLmZvckVhY2goKG1hY3JvQVBJOiBNYWNyb0FQSSk6IHZvaWQgPT4ge1xuXHRcdFx0XHRjb25zdCBpY29uVGFiRmlsdGVyID0gdGhpcy5fZ2V0VGFiRnJvbUlubmVyQ29udHJvbChtYWNyb0FQSSk7XG5cdFx0XHRcdC8vIE5vIGNvdW50IHRvIHNob3dcblx0XHRcdFx0aWYgKCFpY29uVGFiRmlsdGVyKSByZXR1cm47XG5cblx0XHRcdFx0Y29uc3Qgb3JpZ2luU2V0VmlzaWJsZSA9IGljb25UYWJGaWx0ZXIuc2V0VmlzaWJsZTtcblx0XHRcdFx0aWNvblRhYkZpbHRlci5zZXRWaXNpYmxlID0gKHZhbHVlOiBib29sZWFuKTogSWNvblRhYkZpbHRlciA9PiB7XG5cdFx0XHRcdFx0aWYgKGljb25UYWJGaWx0ZXIuZ2V0VmlzaWJsZSgpID09PSBmYWxzZSAmJiB2YWx1ZSkge1xuXHRcdFx0XHRcdFx0dGhpcy5yZWZyZXNoVGFiQ291bnQobWFjcm9BUEkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gb3JpZ2luU2V0VmlzaWJsZS5iaW5kKGljb25UYWJGaWx0ZXIpKHZhbHVlKTtcblx0XHRcdFx0fTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdHN0YXRpYyByZW5kZXIob1JtOiBSZW5kZXJNYW5hZ2VyLCBvQ29udHJvbDogTXVsdGlwbGVNb2RlQ29udHJvbCk6IHZvaWQge1xuXHRcdG9SbS5yZW5kZXJDb250cm9sKG9Db250cm9sLmNvbnRlbnQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG1vZGVsIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gcmVsYXRlZCB0byB0aGUgSWNvblRhYkZpbHRlcnMuXG5cdCAqIEByZXR1cm5zIFRoZSBtb2RlbFxuXHQgKi9cblx0Z2V0VGFic01vZGVsKCk6IEpTT05Nb2RlbCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3Qgc1RhYnNNb2RlbCA9IFwidGFic0ludGVybmFsXCI7XG5cdFx0Y29uc3Qgb0NvbnRlbnQgPSB0aGlzLmNvbnRlbnQ7XG5cdFx0aWYgKCFvQ29udGVudCkge1xuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHR9XG5cdFx0bGV0IG9Nb2RlbCA9IG9Db250ZW50LmdldE1vZGVsKHNUYWJzTW9kZWwpIGFzIEpTT05Nb2RlbCB8IHVuZGVmaW5lZDtcblx0XHRpZiAoIW9Nb2RlbCkge1xuXHRcdFx0b01vZGVsID0gbmV3IEpTT05Nb2RlbCh7fSk7XG5cdFx0XHRvQ29udGVudC5zZXRNb2RlbChvTW9kZWwsIHNUYWJzTW9kZWwpO1xuXHRcdH1cblx0XHRyZXR1cm4gb01vZGVsO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGlubmVyIGNvbnRyb2wgb2YgdGhlIGRpc3BsYXllZCB0YWIuXG5cdCAqIEByZXR1cm5zIFRoZSBjb250cm9sXG5cdCAqL1xuXHRnZXRTZWxlY3RlZElubmVyQ29udHJvbCgpOiBJbm5lckNvbnRyb2xUeXBlIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBvU2VsZWN0ZWRUYWIgPSB0aGlzLmNvbnRlbnQ/LmdldEl0ZW1zKCkuZmluZCgob0l0ZW0pID0+IChvSXRlbSBhcyBJY29uVGFiRmlsdGVyKS5nZXRLZXkoKSA9PT0gdGhpcy5jb250ZW50LmdldFNlbGVjdGVkS2V5KCkpO1xuXHRcdHJldHVybiBvU2VsZWN0ZWRUYWJcblx0XHRcdD8gdGhpcy5nZXRBbGxJbm5lckNvbnRyb2xzKCkuZmluZCgob01hY3JvQVBJKSA9PiB0aGlzLl9nZXRUYWJGcm9tSW5uZXJDb250cm9sKG9NYWNyb0FQSSkgPT09IG9TZWxlY3RlZFRhYilcblx0XHRcdDogdW5kZWZpbmVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIE1hbmFnZXMgdGhlIGJpbmRpbmcgb2YgYWxsIGlubmVyIGNvbnRyb2xzIHdoZW4gdGhlIHNlbGVjdGVkIEljb25UYWJGaWx0ZXIgaXMgY2hhbmdlZC5cblx0ICogQHBhcmFtIG9FdmVudCBFdmVudCBmaXJlZCBieSB0aGUgSWNvblRhYkJhclxuXHQgKiBAcmV0dXJucyBBIHByb21pc2UgaWYgdGhlIHBlcnNvbmFsaXphdGlvbiBpcyB1cGRhdGVkLCBvdGhlcndpc2Ugbm90aGluZ1xuXHQgKi9cblx0c3RhdGljIGhhbmRsZVRhYkNoYW5nZShvRXZlbnQ6IEljb25UYWJCYXIkU2VsZWN0RXZlbnQpOiBQcm9taXNlPHZvaWQ+IHwgdm9pZCB7XG5cdFx0Y29uc3Qgb0ljb25UYWJCYXIgPSBvRXZlbnQuZ2V0U291cmNlKCk7XG5cdFx0Y29uc3Qgb011bHRpQ29udHJvbCA9IG9JY29uVGFiQmFyLmdldFBhcmVudCgpIGFzIE11bHRpcGxlTW9kZUNvbnRyb2w7XG5cblx0XHRjb25zdCBtUGFyYW1ldGVycyA9IG9FdmVudC5nZXRQYXJhbWV0ZXJzKCk7XG5cdFx0b011bHRpQ29udHJvbC5fc2V0SW5uZXJCaW5kaW5nKHRydWUpO1xuXHRcdGNvbnN0IHNQcmV2aW91c1NlbGVjdGVkS2V5ID0gbVBhcmFtZXRlcnM/LnByZXZpb3VzS2V5O1xuXHRcdGNvbnN0IHNTZWxlY3RlZEtleSA9IG1QYXJhbWV0ZXJzPy5zZWxlY3RlZEtleTtcblx0XHRsZXQgcGVyc29uYWxpemF0aW9uUHJvbWlzZTtcblx0XHRpZiAoc1NlbGVjdGVkS2V5ICYmIHNQcmV2aW91c1NlbGVjdGVkS2V5ICE9PSBzU2VsZWN0ZWRLZXkpIHtcblx0XHRcdGNvbnN0IG9GaWx0ZXJCYXIgPSBvTXVsdGlDb250cm9sLl9nZXRGaWx0ZXJDb250cm9sKCk7XG5cdFx0XHRpZiAob0ZpbHRlckJhciAmJiAhb011bHRpQ29udHJvbC5nZXRQcm9wZXJ0eShcImZyZWV6ZUNvbnRlbnRcIikpIHtcblx0XHRcdFx0aWYgKCFvTXVsdGlDb250cm9sLmdldFNlbGVjdGVkSW5uZXJDb250cm9sKCkpIHtcblx0XHRcdFx0XHQvL2N1c3RvbSB0YWJcblx0XHRcdFx0XHRvTXVsdGlDb250cm9sLl9yZWZyZXNoQ3VzdG9tVmlldyhvRmlsdGVyQmFyLmdldEZpbHRlckNvbmRpdGlvbnMoKSwgXCJ0YWJDaGFuZ2VkXCIpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRwZXJzb25hbGl6YXRpb25Qcm9taXNlID0gTXVsdGlwbGVNb2RlQ29udHJvbC5oYW5kbGVQZXJzb25hbGl6YXRpb25VcGRhdGUoc1NlbGVjdGVkS2V5LCBzUHJldmlvdXNTZWxlY3RlZEtleSwgb0ljb25UYWJCYXIpO1xuXHRcdH1cblxuXHRcdG9NdWx0aUNvbnRyb2wuX2dldFZpZXdDb250cm9sbGVyKCk/LmdldEV4dGVuc2lvbkFQSSgpPy51cGRhdGVBcHBTdGF0ZSgpO1xuXG5cdFx0b011bHRpQ29udHJvbC5maXJlRXZlbnQoXCJzZWxlY3RcIiwge1xuXHRcdFx0aWNvblRhYkJhcjogb0ljb25UYWJCYXIsXG5cdFx0XHRzZWxlY3RlZEtleTogc1NlbGVjdGVkS2V5LFxuXHRcdFx0cHJldmlvdXNLZXk6IHNQcmV2aW91c1NlbGVjdGVkS2V5XG5cdFx0fSk7XG5cdFx0cmV0dXJuIHBlcnNvbmFsaXphdGlvblByb21pc2U7XG5cdH1cblxuXHRwcml2YXRlIHN0YXRpYyBhc3luYyBoYW5kbGVQZXJzb25hbGl6YXRpb25VcGRhdGUoXG5cdFx0c1NlbGVjdGVkS2V5OiBzdHJpbmcsXG5cdFx0c1ByZXZpb3VzU2VsZWN0ZWRLZXk6IHN0cmluZyB8IHVuZGVmaW5lZCxcblx0XHRvSWNvblRhYkJhcjogSWNvblRhYkJhclxuXHQpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgQ29udHJvbFBlcnNvbmFsaXphdGlvbldyaXRlQVBJID0gKGF3YWl0IGltcG9ydChcInNhcC91aS9mbC93cml0ZS9hcGkvQ29udHJvbFBlcnNvbmFsaXphdGlvbldyaXRlQVBJXCIpKS5kZWZhdWx0O1xuXHRcdFx0Q29udHJvbFBlcnNvbmFsaXphdGlvbldyaXRlQVBJLmFkZCh7XG5cdFx0XHRcdGNoYW5nZXM6IFtcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRjaGFuZ2VTcGVjaWZpY0RhdGE6IHtcblx0XHRcdFx0XHRcdFx0Y2hhbmdlVHlwZTogXCJzZWxlY3RJY29uVGFiQmFyRmlsdGVyXCIsXG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IHtcblx0XHRcdFx0XHRcdFx0XHRzZWxlY3RlZEtleTogc1NlbGVjdGVkS2V5LFxuXHRcdFx0XHRcdFx0XHRcdHByZXZpb3VzU2VsZWN0ZWRLZXk6IHNQcmV2aW91c1NlbGVjdGVkS2V5XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRzZWxlY3RvckVsZW1lbnQ6IG9JY29uVGFiQmFyXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRdXG5cdFx0XHR9KTtcblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0TG9nLmVycm9yKFwiU29tZXRoaW5nIHdlbnQgd3Jvbmcgd2hpbGUgdXBkYXRpbmcgdGhlIHBlcnNvbmFsaXphdGlvbiBzdGF0ZSBvZiB0aGUgTXVsdGlwbGVNb2RlQ29udHJvbFwiLCBlcnJvciBhcyBzdHJpbmcpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBSZWZyZXNoZXMgdGhlIGNvbnRlbnQgb2YgdGhlIHNlbGVjdGVkIGlubmVyIGNvbnRyb2wuXG5cdCAqXG5cdCAqL1xuXHRyZWZyZXNoU2VsZWN0ZWRJbm5lckNvbnRyb2xDb250ZW50KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmdldFNlbGVjdGVkSW5uZXJDb250cm9sKCkpIHtcblx0XHRcdHRoaXMuZ2V0U2VsZWN0ZWRJbm5lckNvbnRyb2woKT8uaW52YWxpZGF0ZUNvbnRlbnQ/LigpO1xuXHRcdFx0dGhpcy5nZXRTZWxlY3RlZElubmVyQ29udHJvbCgpPy5yZXN1bWVCaW5kaW5nPy4odHJ1ZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIGN1c3RvbSB0YWJcblx0XHRcdHRoaXMuX3JlZnJlc2hDdXN0b21WaWV3KHVuZGVmaW5lZCwgXCJmb3JjZWRSZWZyZXNoXCIpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBJbnZhbGlkYXRlcyB0aGUgY29udGVudCBvZiB0aGUgaW5uZXIgY29udHJvbHMuXG5cdCAqIEBwYXJhbSBba2V5c10gVGhlIGxpc3Qgb2YgdGhlIGtleXMgaWRlbnRpZnlpbmcgdGhlIHZpZXdzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0IGZvciB3aGljaCB0aGUgdmlld3MnIGNvbnRlbnQgd2lsbCBiZSBpbnZhbGlkYXRlZC4gSWYgbm90IHByb3ZpZGVkLCBhbGwgdGhlIHZpZXdzJyBjb250ZW50IHdpbGwgYmUgaW52YWxpZGF0ZWRcblx0ICovXG5cdGludmFsaWRhdGVDb250ZW50KGtleXM/OiBzdHJpbmdbXSk6IHZvaWQge1xuXHRcdHRoaXMuc2V0Q291bnRzT3V0RGF0ZWQodHJ1ZSk7XG5cdFx0dGhpcy5nZXRBbGxJbm5lckNvbnRyb2xzKCkuZm9yRWFjaCgobWFjcm9BUEkpID0+IHtcblx0XHRcdGlmIChrZXlzKSB7XG5cdFx0XHRcdGNvbnN0IGljb25UYWJGaWx0ZXIgPSB0aGlzLl9nZXRUYWJGcm9tSW5uZXJDb250cm9sKG1hY3JvQVBJKTtcblx0XHRcdFx0Zm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuXHRcdFx0XHRcdGlmIChcblx0XHRcdFx0XHRcdGljb25UYWJGaWx0ZXIgJiZcblx0XHRcdFx0XHRcdChpY29uVGFiRmlsdGVyLmdldEtleSgpID09PSBgZmU6OnRhYmxlOjoke2tleX06OkxpbmVJdGVtYCB8fCBpY29uVGFiRmlsdGVyLmdldEtleSgpID09PSBgZmU6OkN1c3RvbVRhYjo6JHtrZXl9YClcblx0XHRcdFx0XHQpIHtcblx0XHRcdFx0XHRcdG1hY3JvQVBJLmludmFsaWRhdGVDb250ZW50Py4oKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdG1hY3JvQVBJLmludmFsaWRhdGVDb250ZW50Py4oKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBjb3VudHMgdG8gXCJvdXQgb2YgZGF0ZVwiIG9yIFwidXAgdG8gZGF0ZVwiXG5cdCAqIElmIHRoZSBjb3VudHMgYXJlIHNldCB0byBcIm91dCBvZiBkYXRlXCIgYW5kIHRoZSBzZWxlY3RlZCBJY29uVGFiRmlsdGVyIGRvZXNuJ3QgY29udGFpbiBhbiBpbm5lciBjb250cm9sLCBhbGwgaW5uZXIgY29udHJvbHMgYXJlIHJlcXVlc3RlZCB0byBnZXQgdGhlIG5ldyBjb3VudHMuXG5cdCAqIEBwYXJhbSBiVmFsdWUgRWl0aGVyIGZyZWV6ZXMgdGhlIGNvbnRyb2wgb3Igbm90XG5cdCAqL1xuXHRzZXRDb3VudHNPdXREYXRlZChiVmFsdWUgPSB0cnVlKTogdm9pZCB7XG5cdFx0dGhpcy5zZXRQcm9wZXJ0eShcImNvdW50c091dERhdGVkXCIsIGJWYWx1ZSk7XG5cdFx0Ly8gaWYgdGhlIGN1cnJlbnQgdGFiIGlzIG5vdCBjb25maWd1cmVkIHdpdGggbm8gaW5uZXIgQ29udHJvbFxuXHRcdC8vIHRoZSB0YWIgY291bnRzIG11c3QgYmUgbWFudWFsbHkgcmVmcmVzaGVkIHNpbmNlIG5vIE1hY3JvIEFQSSB3aWxsIHNlbnQgZXZlbnQgaW50ZXJuYWxEYXRhUmVxdWVzdGVkXG5cdFx0aWYgKGJWYWx1ZSAmJiAhdGhpcy5nZXRTZWxlY3RlZElubmVyQ29udHJvbCgpKSB7XG5cdFx0XHR0aGlzLmludGVybmFsUmVmcmVzaFRhYnNDb3VudCgpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBGcmVlemVzIHRoZSBjb250ZW50IDpcblx0ICogLSBjb250ZW50IGlzIGZyb3plbjogdGhlIGJpbmRpbmcgb2YgdGhlIGlubmVyIGNvbnRyb2xzIGFyZSBzdXNwZW5kZWQuXG5cdCAqIC0gY29udGVudCBpcyB1bmZyb3plbjogdGhlIGJpbmRpbmcgb2YgaW5uZXIgY29udHJvbCByZWxhdGVkIHRvIHRoZSBzZWxlY3RlZCBJY29uVGFiRmlsdGVyIGlzIHJlc3VtZWQuXG5cdCAqIEBwYXJhbSBiVmFsdWUgRnJlZXplIG9yIG5vdCB0aGUgY29udHJvbFxuXHQgKi9cblx0c2V0RnJlZXplQ29udGVudChiVmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcblx0XHR0aGlzLnNldFByb3BlcnR5KFwiZnJlZXplQ29udGVudFwiLCBiVmFsdWUpO1xuXHRcdHRoaXMuX3NldElubmVyQmluZGluZygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFVwZGF0ZXMgdGhlIGludGVybmFsIG1vZGVsIHdpdGggdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgbm90IGFwcGxpY2FibGUgb24gZWFjaCBJY29uVGFiRmlsdGVyIChjb250YWluaW5nIGlubmVyIGNvbnRyb2wpIGFjY29yZGluZyB0byB0aGUgZW50aXR5VHlwZSBvZiB0aGUgZmlsdGVyIGNvbnRyb2wuXG5cdCAqXG5cdCAqL1xuXHRfdXBkYXRlTXVsdGlUYWJOb3RBcHBsaWNhYmxlRmllbGRzKCk6IHZvaWQge1xuXHRcdGNvbnN0IHRhYnNNb2RlbCA9IHRoaXMuZ2V0VGFic01vZGVsKCk7XG5cdFx0Y29uc3Qgb0ZpbHRlckNvbnRyb2wgPSB0aGlzLl9nZXRGaWx0ZXJDb250cm9sKCkgYXMgQ29udHJvbDtcblx0XHRpZiAodGFic01vZGVsICYmIG9GaWx0ZXJDb250cm9sKSB7XG5cdFx0XHRjb25zdCByZXN1bHRzOiBSZWNvcmQ8c3RyaW5nLCB7IG5vdEFwcGxpY2FibGU6IHsgZmllbGRzOiBzdHJpbmdbXTsgdGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZCB9IH0+ID0ge307XG5cdFx0XHRjb25zdCB2aWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzKTtcblx0XHRcdGNvbnN0IHZpZXdEYXRhID0gdmlldy5nZXRWaWV3RGF0YSgpO1xuXHRcdFx0aWYgKCF2aWV3RGF0YS51c2VIaWRkZW5GaWx0ZXJCYXIpIHtcblx0XHRcdFx0dGhpcy5nZXRBbGxJbm5lckNvbnRyb2xzKCkuZm9yRWFjaCgob01hY3JvQVBJKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3Qgb1RhYiA9IHRoaXMuX2dldFRhYkZyb21Jbm5lckNvbnRyb2wob01hY3JvQVBJKTtcblx0XHRcdFx0XHRpZiAob1RhYikge1xuXHRcdFx0XHRcdFx0Y29uc3Qgc1RhYklkID0gb1RhYi5nZXRLZXkoKTtcblx0XHRcdFx0XHRcdGNvbnN0IG1JZ25vcmVkRmllbGRzID0gb01hY3JvQVBJLnJlZnJlc2hOb3RBcHBsaWNhYmxlRmllbGRzPy4ob0ZpbHRlckNvbnRyb2wpIHx8IFtdO1xuXHRcdFx0XHRcdFx0cmVzdWx0c1tzVGFiSWRdID0ge1xuXHRcdFx0XHRcdFx0XHRub3RBcHBsaWNhYmxlOiB7XG5cdFx0XHRcdFx0XHRcdFx0ZmllbGRzOiBtSWdub3JlZEZpZWxkcyxcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogdGhpcy5fc2V0VGFiTWVzc2FnZVN0cmlwKHtcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVR5cGVQYXRoOiBvRmlsdGVyQ29udHJvbC5kYXRhKFwiZW50aXR5VHlwZVwiKSxcblx0XHRcdFx0XHRcdFx0XHRcdGlnbm9yZWRGaWVsZHM6IG1JZ25vcmVkRmllbGRzLFxuXHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6IG9UYWIuZ2V0VGV4dCgpXG5cdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRcdGlmIChvTWFjcm9BUEkgJiYgb01hY3JvQVBJLmlzQShcInNhcC5mZS5tYWNyb3MuQ2hhcnRcIikpIHtcblx0XHRcdFx0XHRcdFx0cmVzdWx0c1tzVGFiSWRdID0gdGhpcy5jaGVja05vbkZpbHRlcmFibGVFbnRpdHlTZXQob01hY3JvQVBJLCBzVGFiSWQsIHJlc3VsdHMpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHRcdHRhYnNNb2RlbC5zZXREYXRhKHJlc3VsdHMpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBNb2RpZmllcyB0aGUgbWVzc2FnZXN0cmlwIG1lc3NhZ2UgYmFzZWQgb24gZW50aXR5IHNldCBpcyBmaWxlcmFibGUgb3Igbm90LlxuXHQgKiBAcGFyYW0gb01hY3JvQVBJIE1hY3JvIGNoYXJ0IGFwaVxuXHQgKiBAcGFyYW0gc1RhYklkIFRhYiBrZXkgSURcblx0ICogQHBhcmFtIHJlc3VsdHMgU2hvdWxkIGNvbnRhaW4gZmllbGRzIGFuZCB0aXRsZVxuXHQgKiBAcmV0dXJucyBBbiBvYmplY3Qgb2YgbW9kaWZpZWQgZmllbGRzIGFuZCB0aXRsZVxuXHQgKi9cblx0Y2hlY2tOb25GaWx0ZXJhYmxlRW50aXR5U2V0KFxuXHRcdG9NYWNyb0FQSTogSW5uZXJDb250cm9sVHlwZSxcblx0XHRzVGFiSWQ6IHN0cmluZyxcblx0XHRyZXN1bHRzOiBSZWNvcmQ8c3RyaW5nLCB7IG5vdEFwcGxpY2FibGU6IHsgZmllbGRzOiBzdHJpbmdbXTsgdGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZCB9IH0+XG5cdCk6IHsgbm90QXBwbGljYWJsZTogeyBmaWVsZHM6IHN0cmluZ1tdOyB0aXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkIH0gfSB7XG5cdFx0Y29uc3QgcmVzb3VyY2VNb2RlbCA9IGdldFJlc291cmNlTW9kZWwob01hY3JvQVBJKTtcblx0XHRjb25zdCBvQ2hhcnQgPSBvTWFjcm9BUEk/LmdldENvbnRlbnQgPyBvTWFjcm9BUEkuZ2V0Q29udGVudCgpIDogdW5kZWZpbmVkO1xuXHRcdGNvbnN0IGJFbnRpdHlTZXRGaWxlcmFibGUgPVxuXHRcdFx0b0NoYXJ0ICYmXG5cdFx0XHRNZXRhTW9kZWxDb252ZXJ0ZXIuZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzPEVudGl0eVNldD4oXG5cdFx0XHRcdChvQ2hhcnQuZ2V0TW9kZWwoKSBhcyBPRGF0YU1vZGVsKS5nZXRNZXRhTW9kZWwoKS5nZXRDb250ZXh0KGAke29DaGFydC5kYXRhKFwidGFyZ2V0Q29sbGVjdGlvblBhdGhcIil9YClcblx0XHRcdCk/LnRhcmdldE9iamVjdD8uYW5ub3RhdGlvbnM/LkNhcGFiaWxpdGllcz8uRmlsdGVyUmVzdHJpY3Rpb25zPy5GaWx0ZXJhYmxlO1xuXHRcdGlmIChiRW50aXR5U2V0RmlsZXJhYmxlICE9PSB1bmRlZmluZWQgJiYgIWJFbnRpdHlTZXRGaWxlcmFibGUpIHtcblx0XHRcdGlmIChyZXN1bHRzW3NUYWJJZF0ubm90QXBwbGljYWJsZS5maWVsZHMuaW5jbHVkZXMoXCIkc2VhcmNoXCIpKSB7XG5cdFx0XHRcdHJlc3VsdHNbc1RhYklkXS5ub3RBcHBsaWNhYmxlLnRpdGxlICs9IFwiIFwiICsgcmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiQ19MUl9NVUxUSVZJWl9DSEFSVF9NVUxUSV9OT05fRklMVEVSQUJMRVwiKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJlc3VsdHNbc1RhYklkXS5ub3RBcHBsaWNhYmxlLmZpZWxkcyA9IFtcIm5vbkZpbHRlcmFibGVcIl07XG5cdFx0XHRcdHJlc3VsdHNbc1RhYklkXS5ub3RBcHBsaWNhYmxlLnRpdGxlID0gcmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiQ19MUl9NVUxUSVZJWl9DSEFSVF9NVUxUSV9OT05fRklMVEVSQUJMRVwiKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHJlc3VsdHNbc1RhYklkXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBpbm5lciBjb250cm9scy5cblx0ICogQHBhcmFtIGJPbmx5Rm9yVmlzaWJsZVRhYiBTaG91bGQgZGlzcGxheSBvbmx5IHRoZSB2aXNpYmxlIGNvbnRyb2xzXG5cdCAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGNvbnRyb2xzXG5cdCAqL1xuXHRnZXRBbGxJbm5lckNvbnRyb2xzKGJPbmx5Rm9yVmlzaWJsZVRhYiA9IGZhbHNlKTogSW5uZXJDb250cm9sVHlwZVtdIHtcblx0XHRyZXR1cm4gKFxuXHRcdFx0dGhpcy5pbm5lckNvbnRyb2xzLnJlZHVjZSgoYUlubmVyQ29udHJvbHM6IElubmVyQ29udHJvbFR5cGVbXSwgc0lubmVyQ29udHJvbDogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdGNvbnN0IG9Db250cm9sID0gVUk1RWxlbWVudC5nZXRFbGVtZW50QnlJZChzSW5uZXJDb250cm9sKSBhcyBJbm5lckNvbnRyb2xUeXBlO1xuXHRcdFx0XHRpZiAob0NvbnRyb2wpIHtcblx0XHRcdFx0XHRhSW5uZXJDb250cm9scy5wdXNoKG9Db250cm9sKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gYUlubmVyQ29udHJvbHMuZmlsdGVyKFxuXHRcdFx0XHRcdChvSW5uZXJDb250cm9sKSA9PiAhYk9ubHlGb3JWaXNpYmxlVGFiIHx8IHRoaXMuX2dldFRhYkZyb21Jbm5lckNvbnRyb2wob0lubmVyQ29udHJvbCk/LmdldFZpc2libGUoKVxuXHRcdFx0XHQpO1xuXHRcdFx0fSwgW10pIHx8IFtdXG5cdFx0KTtcblx0fVxuXG5cdF9nZXRGaWx0ZXJDb250cm9sKCk6IEZpbHRlckJhciB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIFVJNUVsZW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5maWx0ZXJDb250cm9sKSBhcyBGaWx0ZXJCYXIgfCB1bmRlZmluZWQ7XG5cdH1cblxuXHRfZ2V0VGFiRnJvbUlubmVyQ29udHJvbChvQ29udHJvbDogQ29udHJvbCk6IEljb25UYWJGaWx0ZXIgfCB1bmRlZmluZWQge1xuXHRcdGxldCBvVGFiOiBVSTVFbGVtZW50IHwgdW5kZWZpbmVkID0gb0NvbnRyb2w7XG5cdFx0aWYgKG9UYWIgJiYgIW9UYWIuaXNBPEljb25UYWJGaWx0ZXI+KFwic2FwLm0uSWNvblRhYkZpbHRlclwiKSAmJiAob1RhYiBhcyB7IGdldFBhcmVudD86IEZ1bmN0aW9uIH0pLmdldFBhcmVudCkge1xuXHRcdFx0b1RhYiA9IG9Db250cm9sLmdldFBhcmVudCgpIGFzIFVJNUVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cdFx0fVxuXHRcdHJldHVybiBvVGFiICYmIG9UYWIuaXNBPEljb25UYWJGaWx0ZXI+KFwic2FwLm0uSWNvblRhYkZpbHRlclwiKSA/IG9UYWIgOiB1bmRlZmluZWQ7XG5cdH1cblxuXHRfZ2V0Vmlld0NvbnRyb2xsZXIoKTogUGFnZUNvbnRyb2xsZXIge1xuXHRcdGNvbnN0IG9WaWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzKTtcblx0XHRyZXR1cm4gb1ZpZXcgJiYgb1ZpZXcuZ2V0Q29udHJvbGxlcigpO1xuXHR9XG5cblx0X3JlZnJlc2hDdXN0b21WaWV3KG9GaWx0ZXJDb25kaXRpb25zOiB1bmtub3duLCBzUmVmcmVzaENhdXNlOiBzdHJpbmcpOiB2b2lkIHtcblx0XHQodGhpcy5fZ2V0Vmlld0NvbnRyb2xsZXIoKSBhcyBMaXN0UmVwb3J0Q29udHJvbGxlcik/Lm9uVmlld05lZWRzUmVmcmVzaD8uKHtcblx0XHRcdGZpbHRlckNvbmRpdGlvbnM6IG9GaWx0ZXJDb25kaXRpb25zLFxuXHRcdFx0Y3VycmVudFRhYklkOiB0aGlzLmNvbnRlbnQuZ2V0U2VsZWN0ZWRLZXkoKSxcblx0XHRcdHJlZnJlc2hDYXVzZTogc1JlZnJlc2hDYXVzZVxuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldCB0aGUgY291bnQgb2YgdGhlIFRhYiBjb250YWluaW5nIHRoZSBtYWNybyBwYXNzZWQgYXMgcGFyYW1ldGVyLlxuXHQgKiBAcGFyYW0gbWFjcm9BUEkgVGhlIGNvbnRlbnQgb2YgdGhlIHRhYiB3ZSB3YW50IHRvIHJlZnJlc2hcblx0ICovXG5cdHJlZnJlc2hUYWJDb3VudChtYWNyb0FQSTogSW5uZXJDb250cm9sVHlwZSk6IHZvaWQge1xuXHRcdGNvbnN0IGljb25UYWJGaWx0ZXIgPSB0aGlzLl9nZXRUYWJGcm9tSW5uZXJDb250cm9sKG1hY3JvQVBJKTtcblx0XHRpZiAoIWljb25UYWJGaWx0ZXIpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0aWYgKG1hY3JvQVBJPy5nZXRDb3VudHMpIHtcblx0XHRcdGljb25UYWJGaWx0ZXIuc2V0Q291bnQoXCIuLi5cIik7XG5cdFx0XHRtYWNyb0FQSVxuXHRcdFx0XHQuZ2V0Q291bnRzKClcblx0XHRcdFx0LnRoZW4oKGNvdW50OiBzdHJpbmcpOiBJY29uVGFiRmlsdGVyID0+IHtcblx0XHRcdFx0XHRyZXR1cm4gaWNvblRhYkZpbHRlci5zZXRDb3VudChjb3VudCB8fCBcIjBcIik7XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5jYXRjaChmdW5jdGlvbiAoZXJyb3I6IHVua25vd24pOiB2b2lkIHtcblx0XHRcdFx0XHRMb2cuZXJyb3IoYEVycm9yIHdoaWxlIHJlcXVlc3RpbmcgQ291bnRzIGZvciBDb250cm9sOiAke2Vycm9yfWApO1xuXHRcdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRpbnRlcm5hbFJlZnJlc2hUYWJzQ291bnQodGFibGVFdmVudD86IENvcmVFdmVudCk6IHZvaWQge1xuXHRcdC8vIElmIHRoZSByZWZyZXNoIGlzIHRyaWdnZXJlZCBieSBhbiBldmVudCAoaW50ZXJuYWxEYXRhUmVxdWVzdGVkKVxuXHRcdC8vIHdlIGNhbm5vdCB1c2UgdGhlIHNlbGVjdGVkIGtleSBhcyByZWZlcmVuY2Ugc2luY2UgdGFibGUgY2FuIGJlIHJlZnJlc2hlZCBieSBTaWRlRWZmZWN0c1xuXHRcdC8vIHNvIHRoZSB0YWJsZSBjb3VsZCBiZSBpbnRvIGEgZGlmZmVyZW50IHRhYiAtPiB3ZSB1c2UgdGhlIHNvdXJjZSBvZiB0aGUgZXZlbnQgdG8gZmluZCB0aGUgdGFyZ2V0ZWQgdGFiXG5cdFx0Ly8gSWYgbm90IHRyaWdnZXJlZCBieSBhbiBldmVudCAtPiByZWZyZXNoIGF0IGxlYXN0IHRoZSBjb3VudHMgb2YgdGhlIGN1cnJlbnQgTWFjcm9BUElcblx0XHRjb25zdCBldmVudE1hY3JvQVBJID0gdGFibGVFdmVudD8uZ2V0U291cmNlKCkgYXMgTWFjcm9BUEk7XG5cdFx0Y29uc3QgdGFyZ2V0S2V5ID0gZXZlbnRNYWNyb0FQSSA/IHRoaXMuX2dldFRhYkZyb21Jbm5lckNvbnRyb2woZXZlbnRNYWNyb0FQSSk/LmdldEtleSgpIDogdGhpcy5jb250ZW50Py5nZXRTZWxlY3RlZEtleSgpO1xuXHRcdGlmICh0eXBlb2YgdGFyZ2V0S2V5ID09PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRpZiAodGFyZ2V0S2V5ID09PSBcIlwiKSB7XG5cdFx0XHRcdGNvbnN0IHRhYktleXMgPSB0aGlzLmNvbnRlbnQ/LmdldEl0ZW1zKCkubWFwKCh0YWIpID0+ICh0YWIgYXMgSWNvblRhYkZpbHRlcikuZ2V0S2V5KCkuc3BsaXQoXCI6OlwiKVsyXSkgPz8gW107XG5cdFx0XHRcdHRoaXMucmVmcmVzaFRhYnNDb3VudCh0YWJLZXlzKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMucmVmcmVzaFRhYnNDb3VudChbdGFyZ2V0S2V5LnNwbGl0KFwiOjpcIilbMl1dKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmVmcmVzaGVzIHRoZSBjb3VudCBvZiB0aGUgdmlld3MgaW4gdGhlIE11bHRpTW9kZSBjb250cm9sLlxuXHQgKiBAcGFyYW0gW2tleXNdIFRoZSBsaXN0IG9mIHRoZSBrZXlzIGlkZW50aWZ5aW5nIHRoZSB2aWV3cyBkZWZpbmVkIGluIHRoZSBtYW5pZmVzdCBmb3Igd2hpY2ggdGhlIHZpZXdzJyBjb3VudCB3aWxsIGJlIHJlZnJlc2hlZC4gSWYgbm90IHByb3ZpZGVkLCBhbGwgdGhlIHZpZXdzJyBjb3VudCB3aWxsIGJlIHJlZnJlc2hlZFxuXHQgKi9cblx0cmVmcmVzaFRhYnNDb3VudChrZXlzPzogc3RyaW5nW10pOiB2b2lkIHtcblx0XHRpZiAoIWtleXMpIHtcblx0XHRcdHRoaXMuc2V0Q291bnRzT3V0RGF0ZWQodHJ1ZSk7XG5cdFx0fVxuXHRcdHRoaXMuZ2V0QWxsSW5uZXJDb250cm9scyh0cnVlKS5mb3JFYWNoKChvTWFjcm9BUEkpOiB2b2lkID0+IHtcblx0XHRcdGNvbnN0IG9JY29uVGFiRmlsdGVyID0gdGhpcy5fZ2V0VGFiRnJvbUlubmVyQ29udHJvbChvTWFjcm9BUEkpO1xuXHRcdFx0aWYgKHRoaXMuY291bnRzT3V0RGF0ZWQgfHwgKGtleXMgJiYgb0ljb25UYWJGaWx0ZXIgJiYga2V5cy5pbmNsdWRlcyhvSWNvblRhYkZpbHRlci5nZXRLZXkoKS5zcGxpdChcIjo6XCIpWzJdKSkpIHtcblx0XHRcdFx0dGhpcy5yZWZyZXNoVGFiQ291bnQob01hY3JvQVBJKTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHR0aGlzLnNldENvdW50c091dERhdGVkKGZhbHNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZWZyZXNoZXMgdGhlIGNvbnRlbnQgb2YgdGhlIHVuZGVybHlpbmcgdmlld3MgdXBvbiB0aGUgbmV4dCBvcGVuaW5nLlxuXHQgKiBOb3RlOiBUaGUgY29udGVudCBvZiB0aGUgc2VsZWN0ZWQgdmlldywgaWYgcGFydCBvZiB0aGUgcHJvdmlkZWQga2V5cywgd2lsbCBiZSByZWZyZXNoZWQgaW1tZWRpYXRlbHkuXG5cdCAqIEBwYXJhbSBba2V5c10gVGhlIGxpc3Qgb2YgdGhlIGtleXMgaWRlbnRpZnlpbmcgdGhlIHZpZXdzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0IGZvciB3aGljaCB0aGUgdmlld3MnIGNvbnRlbnQgd2lsbCBiZSByZWZyZXNoZWQuIElmIG5vdCBwcm92aWRlZCwgYWxsIHRoZSB2aWV3cycgY29udGVudCB3aWxsIGJlIHJlZnJlc2hlZFxuXHQgKi9cblx0c2V0VGFiQ29udGVudFRvQmVSZWZyZXNoZWRPbk5leHRPcGVuaW5nKGtleXM/OiBzdHJpbmdbXSk6IHZvaWQge1xuXHRcdGNvbnN0IHNlbGVjdGVkVGFiS2V5ID0gdGhpcz8uY29udGVudC5nZXRTZWxlY3RlZEtleSgpO1xuXHRcdGNvbnN0IHRhYktleXM6IHN0cmluZ1tdID0gW107XG5cdFx0Y29uc3QgcmVmcmVzaFNlbGVjdGVkVGFiQ29udGVudCA9IGtleXMgPyBrZXlzLmluY2x1ZGVzKHNlbGVjdGVkVGFiS2V5Py5zcGxpdChcIjo6XCIpWzJdKSA6IHRydWU7XG5cdFx0aWYgKGtleXMpIHtcblx0XHRcdGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcblx0XHRcdFx0aWYgKHNlbGVjdGVkVGFiS2V5ICE9PSBgZmU6OnRhYmxlOjoke2tleX06OkxpbmVJdGVtYCAmJiBzZWxlY3RlZFRhYktleSAhPT0gYGZlOjpDdXN0b21UYWI6OiR7a2V5fWApIHtcblx0XHRcdFx0XHR0YWJLZXlzLnB1c2goa2V5KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzPy5nZXRBbGxJbm5lckNvbnRyb2xzKCkuZm9yRWFjaCgobWFjcm9BUEkpID0+IHtcblx0XHRcdFx0Y29uc3QgaWNvblRhYkZpbHRlciA9IHRoaXM/Ll9nZXRUYWJGcm9tSW5uZXJDb250cm9sKG1hY3JvQVBJKTtcblx0XHRcdFx0aWYgKGljb25UYWJGaWx0ZXIgJiYgaWNvblRhYkZpbHRlci5nZXRLZXkoKSAhPT0gc2VsZWN0ZWRUYWJLZXkpIHtcblx0XHRcdFx0XHR0YWJLZXlzLnB1c2goaWNvblRhYkZpbHRlci5nZXRLZXkoKS5zcGxpdChcIjo6XCIpWzJdKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdHRoaXM/LmludmFsaWRhdGVDb250ZW50KHRhYktleXMpO1xuXHRcdGlmIChyZWZyZXNoU2VsZWN0ZWRUYWJDb250ZW50KSB7XG5cdFx0XHR0aGlzPy5yZWZyZXNoU2VsZWN0ZWRJbm5lckNvbnRyb2xDb250ZW50KCk7XG5cdFx0fVxuXHR9XG5cblx0X3NldElubmVyQmluZGluZyhiUmVxdWVzdElmTm90SW5pdGlhbGl6ZWQgPSBmYWxzZSk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmNvbnRlbnQpIHtcblx0XHRcdHRoaXMuZ2V0QWxsSW5uZXJDb250cm9scygpLmZvckVhY2goKG9NYWNyb0FQSSkgPT4ge1xuXHRcdFx0XHRjb25zdCBvSWNvblRhYkZpbHRlciA9IHRoaXMuX2dldFRhYkZyb21Jbm5lckNvbnRyb2wob01hY3JvQVBJKTtcblx0XHRcdFx0Y29uc3QgYklzU2VsZWN0ZWRLZXkgPSBvSWNvblRhYkZpbHRlcj8uZ2V0S2V5KCkgPT09IHRoaXMuY29udGVudC5nZXRTZWxlY3RlZEtleSgpO1xuXHRcdFx0XHRjb25zdCBzQWN0aW9uID0gYklzU2VsZWN0ZWRLZXkgJiYgIXRoaXMuZ2V0UHJvcGVydHkoXCJmcmVlemVDb250ZW50XCIpID8gQmluZGluZ0FjdGlvbi5SZXN1bWUgOiBCaW5kaW5nQWN0aW9uLlN1c3BlbmQ7XG5cdFx0XHRcdG9NYWNyb0FQSVtzQWN0aW9uXT8uKHNBY3Rpb24gPT09IEJpbmRpbmdBY3Rpb24uUmVzdW1lID8gYlJlcXVlc3RJZk5vdEluaXRpYWxpemVkICYmIGJJc1NlbGVjdGVkS2V5IDogdW5kZWZpbmVkKTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdF9zZXRUYWJNZXNzYWdlU3RyaXAocHJvcGVydGllczogTWVzc2FnZVN0cmlwUHJvcGVydGllcyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdFx0bGV0IHNUZXh0ID0gXCJcIjtcblx0XHRjb25zdCBhSWdub3JlZEZpZWxkcyA9IHByb3BlcnRpZXMuaWdub3JlZEZpZWxkcztcblx0XHRjb25zdCBvRmlsdGVyQ29udHJvbCA9IHRoaXMuX2dldEZpbHRlckNvbnRyb2woKSBhcyBDb250cm9sO1xuXHRcdGlmIChvRmlsdGVyQ29udHJvbCAmJiBBcnJheS5pc0FycmF5KGFJZ25vcmVkRmllbGRzKSAmJiBhSWdub3JlZEZpZWxkcy5sZW5ndGggPiAwICYmIHByb3BlcnRpZXMudGl0bGUpIHtcblx0XHRcdGNvbnN0IGFJZ25vcmVkTGFiZWxzID0gTWVzc2FnZVN0cmlwLmdldExhYmVscyhcblx0XHRcdFx0YUlnbm9yZWRGaWVsZHMsXG5cdFx0XHRcdHByb3BlcnRpZXMuZW50aXR5VHlwZVBhdGgsXG5cdFx0XHRcdG9GaWx0ZXJDb250cm9sLFxuXHRcdFx0XHRnZXRSZXNvdXJjZU1vZGVsKG9GaWx0ZXJDb250cm9sKVxuXHRcdFx0KTtcblx0XHRcdHNUZXh0ID0gTWVzc2FnZVN0cmlwLmdldFRleHQoYUlnbm9yZWRMYWJlbHMsIG9GaWx0ZXJDb250cm9sLCBwcm9wZXJ0aWVzLnRpdGxlKTtcblx0XHRcdHJldHVybiBzVGV4dDtcblx0XHR9XG5cdH1cblxuXHRfb25TZWFyY2gob0V2ZW50OiBDb3JlRXZlbnQ8eyBjb25kaXRpb25zOiB1bmtub3duIH0+KTogdm9pZCB7XG5cdFx0dGhpcy5zZXRDb3VudHNPdXREYXRlZCh0cnVlKTtcblx0XHR0aGlzLnNldEZyZWV6ZUNvbnRlbnQoZmFsc2UpO1xuXHRcdGlmICh0aGlzLmdldFNlbGVjdGVkSW5uZXJDb250cm9sKCkpIHtcblx0XHRcdHRoaXMuX3VwZGF0ZU11bHRpVGFiTm90QXBwbGljYWJsZUZpZWxkcygpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBjdXN0b20gdGFiXG5cdFx0XHR0aGlzLl9yZWZyZXNoQ3VzdG9tVmlldyhvRXZlbnQuZ2V0UGFyYW1ldGVyKFwiY29uZGl0aW9uc1wiKSwgXCJzZWFyY2hcIik7XG5cdFx0fVxuXHR9XG5cblx0X29uRmlsdGVyQ2hhbmdlZChvRXZlbnQ6IENvcmVFdmVudDx7IGNvbmRpdGlvbnNCYXNlZDogYm9vbGVhbiB9Pik6IHZvaWQge1xuXHRcdGlmIChvRXZlbnQuZ2V0UGFyYW1ldGVyKFwiY29uZGl0aW9uc0Jhc2VkXCIpKSB7XG5cdFx0XHR0aGlzLnNldEZyZWV6ZUNvbnRlbnQodHJ1ZSk7XG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE11bHRpcGxlTW9kZUNvbnRyb2w7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQXVDS0EsYUFBYSwwQkFBYkEsYUFBYTtJQUFiQSxhQUFhO0lBQWJBLGFBQWE7SUFBQSxPQUFiQSxhQUFhO0VBQUEsRUFBYkEsYUFBYTtFQUFBLElBTVpDLG1CQUFtQixJQUFBQyxJQUFBLEdBRHhCQyxjQUFjLENBQUMsMERBQTBELENBQUMsRUFBQUMsS0FBQSxHQUV6RUMsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBRzdCRixR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
516
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCaW5kaW5nQWN0aW9uIiwiTXVsdGlwbGVNb2RlQ29udHJvbCIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJkZWZhdWx0VmFsdWUiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiaXNEZWZhdWx0IiwiX2RlYzciLCJhc3NvY2lhdGlvbiIsIl9kZWM4IiwiX2RlYzkiLCJldmVudCIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQ29udHJvbCIsImlkIiwic2V0dGluZ3MiLCJfdGhpcyIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiX2Rlc2NyaXB0b3IzIiwiX2Rlc2NyaXB0b3I0IiwiX2Rlc2NyaXB0b3I1IiwiX2Rlc2NyaXB0b3I2IiwiX2Rlc2NyaXB0b3I3IiwiX2Rlc2NyaXB0b3I4IiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJvbkJlZm9yZVJlbmRlcmluZyIsImdldFRhYnNNb2RlbCIsIm9GaWx0ZXJDb250cm9sIiwiX2dldEZpbHRlckNvbnRyb2wiLCJzZXRDb3VudHNPdXREYXRlZCIsIm9GaWx0ZXJCYXJBUEkiLCJnZXRQYXJlbnQiLCJnZXRBbGxJbm5lckNvbnRyb2xzIiwiZm9yRWFjaCIsIm9NYWNyb0FQSSIsInNob3dDb3VudHMiLCJhdHRhY2hFdmVudCIsImludGVybmFsUmVmcmVzaFRhYnNDb3VudCIsImJpbmQiLCJzdXNwZW5kQmluZGluZyIsIl9vblNlYXJjaCIsIl9vbkZpbHRlckNoYW5nZWQiLCJvbkFmdGVyUmVuZGVyaW5nIiwiZ2V0U2VsZWN0ZWRJbm5lckNvbnRyb2wiLCJyZXN1bWVCaW5kaW5nIiwiZ2V0UHJvcGVydHkiLCJzZXRWaXNpYmxlT3ZlcnJpZGRlbiIsInNldFByb3BlcnR5IiwibWFjcm9BUEkiLCJpY29uVGFiRmlsdGVyIiwiX2dldFRhYkZyb21Jbm5lckNvbnRyb2wiLCJvcmlnaW5TZXRWaXNpYmxlIiwic2V0VmlzaWJsZSIsInZhbHVlIiwiZ2V0VmlzaWJsZSIsInJlZnJlc2hUYWJDb3VudCIsInJlbmRlciIsIm9SbSIsIm9Db250cm9sIiwicmVuZGVyQ29udHJvbCIsImNvbnRlbnQiLCJzVGFic01vZGVsIiwib0NvbnRlbnQiLCJ1bmRlZmluZWQiLCJvTW9kZWwiLCJnZXRNb2RlbCIsIkpTT05Nb2RlbCIsInNldE1vZGVsIiwib1NlbGVjdGVkVGFiIiwiZ2V0SXRlbXMiLCJmaW5kIiwib0l0ZW0iLCJnZXRLZXkiLCJnZXRTZWxlY3RlZEtleSIsImhhbmRsZVRhYkNoYW5nZSIsIm9FdmVudCIsIm9JY29uVGFiQmFyIiwiZ2V0U291cmNlIiwib011bHRpQ29udHJvbCIsIm1QYXJhbWV0ZXJzIiwiZ2V0UGFyYW1ldGVycyIsIl9zZXRJbm5lckJpbmRpbmciLCJzUHJldmlvdXNTZWxlY3RlZEtleSIsInByZXZpb3VzS2V5Iiwic1NlbGVjdGVkS2V5Iiwic2VsZWN0ZWRLZXkiLCJwZXJzb25hbGl6YXRpb25Qcm9taXNlIiwib0ZpbHRlckJhciIsIl9yZWZyZXNoQ3VzdG9tVmlldyIsImdldEZpbHRlckNvbmRpdGlvbnMiLCJoYW5kbGVQZXJzb25hbGl6YXRpb25VcGRhdGUiLCJfZ2V0Vmlld0NvbnRyb2xsZXIiLCJnZXRFeHRlbnNpb25BUEkiLCJ1cGRhdGVBcHBTdGF0ZSIsImZpcmVFdmVudCIsImljb25UYWJCYXIiLCJDb250cm9sUGVyc29uYWxpemF0aW9uV3JpdGVBUEkiLCJfX3VpNV9yZXF1aXJlX2FzeW5jIiwiZGVmYXVsdCIsImFkZCIsImNoYW5nZXMiLCJjaGFuZ2VTcGVjaWZpY0RhdGEiLCJjaGFuZ2VUeXBlIiwicHJldmlvdXNTZWxlY3RlZEtleSIsInNlbGVjdG9yRWxlbWVudCIsImVycm9yIiwiTG9nIiwicmVmcmVzaFNlbGVjdGVkSW5uZXJDb250cm9sQ29udGVudCIsImludmFsaWRhdGVDb250ZW50Iiwia2V5cyIsImtleSIsImJWYWx1ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNldEZyZWV6ZUNvbnRlbnQiLCJfdXBkYXRlTXVsdGlUYWJOb3RBcHBsaWNhYmxlRmllbGRzIiwidGFic01vZGVsIiwicmVzdWx0cyIsInZpZXciLCJDb21tb25VdGlscyIsImdldFRhcmdldFZpZXciLCJ2aWV3RGF0YSIsImdldFZpZXdEYXRhIiwidXNlSGlkZGVuRmlsdGVyQmFyIiwib1RhYiIsInNUYWJJZCIsIm1JZ25vcmVkRmllbGRzIiwicmVmcmVzaE5vdEFwcGxpY2FibGVGaWVsZHMiLCJub3RBcHBsaWNhYmxlIiwiZmllbGRzIiwidGl0bGUiLCJfc2V0VGFiTWVzc2FnZVN0cmlwIiwiZW50aXR5VHlwZVBhdGgiLCJkYXRhIiwiaWdub3JlZEZpZWxkcyIsImdldFRleHQiLCJpc0EiLCJjaGVja05vbkZpbHRlcmFibGVFbnRpdHlTZXQiLCJzZXREYXRhIiwicmVzb3VyY2VNb2RlbCIsImdldFJlc291cmNlTW9kZWwiLCJvQ2hhcnQiLCJnZXRDb250ZW50IiwiYkVudGl0eVNldEZpbGVyYWJsZSIsIk1ldGFNb2RlbENvbnZlcnRlciIsImdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyIsImdldE1ldGFNb2RlbCIsImdldENvbnRleHQiLCJ0YXJnZXRPYmplY3QiLCJhbm5vdGF0aW9ucyIsIkNhcGFiaWxpdGllcyIsIkZpbHRlclJlc3RyaWN0aW9ucyIsIkZpbHRlcmFibGUiLCJpbmNsdWRlcyIsImJPbmx5Rm9yVmlzaWJsZVRhYiIsImlubmVyQ29udHJvbHMiLCJyZWR1Y2UiLCJhSW5uZXJDb250cm9scyIsInNJbm5lckNvbnRyb2wiLCJVSTVFbGVtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJwdXNoIiwiZmlsdGVyIiwib0lubmVyQ29udHJvbCIsImZpbHRlckNvbnRyb2wiLCJvVmlldyIsImdldENvbnRyb2xsZXIiLCJvRmlsdGVyQ29uZGl0aW9ucyIsInNSZWZyZXNoQ2F1c2UiLCJvblZpZXdOZWVkc1JlZnJlc2giLCJmaWx0ZXJDb25kaXRpb25zIiwiY3VycmVudFRhYklkIiwicmVmcmVzaENhdXNlIiwiZ2V0Q291bnRzIiwic2V0Q291bnQiLCJlZGl0RmxvdyIsInN5bmNUYXNrIiwidGhlbiIsImNvdW50IiwiY2F0Y2giLCJ0YWJsZUV2ZW50IiwiZXZlbnRNYWNyb0FQSSIsInRhcmdldEtleSIsInRhYktleXMiLCJtYXAiLCJ0YWIiLCJzcGxpdCIsInJlZnJlc2hUYWJzQ291bnQiLCJvSWNvblRhYkZpbHRlciIsImNvdW50c091dERhdGVkIiwic2V0VGFiQ29udGVudFRvQmVSZWZyZXNoZWRPbk5leHRPcGVuaW5nIiwic2VsZWN0ZWRUYWJLZXkiLCJyZWZyZXNoU2VsZWN0ZWRUYWJDb250ZW50IiwiYlJlcXVlc3RJZk5vdEluaXRpYWxpemVkIiwiYklzU2VsZWN0ZWRLZXkiLCJzQWN0aW9uIiwiUmVzdW1lIiwiU3VzcGVuZCIsInByb3BlcnRpZXMiLCJzVGV4dCIsImFJZ25vcmVkRmllbGRzIiwiQXJyYXkiLCJpc0FycmF5IiwiYUlnbm9yZWRMYWJlbHMiLCJNZXNzYWdlU3RyaXAiLCJnZXRMYWJlbHMiLCJnZXRQYXJhbWV0ZXIiLCJDb250cm9sIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJNdWx0aXBsZU1vZGVDb250cm9sLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW50aXR5U2V0IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgYWdncmVnYXRpb24sIGFzc29jaWF0aW9uLCBkZWZpbmVVSTVDbGFzcywgZXZlbnQsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IHR5cGUgUGFnZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL1BhZ2VDb250cm9sbGVyXCI7XG5pbXBvcnQgKiBhcyBNZXRhTW9kZWxDb252ZXJ0ZXIgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5pbXBvcnQgTWVzc2FnZVN0cmlwIGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL01lc3NhZ2VTdHJpcFwiO1xuaW1wb3J0IHsgZ2V0UmVzb3VyY2VNb2RlbCB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1Jlc291cmNlTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB0eXBlIE1hY3JvQVBJIGZyb20gXCJzYXAvZmUvbWFjcm9zL01hY3JvQVBJXCI7XG5pbXBvcnQgdHlwZSBGaWx0ZXJCYXIgZnJvbSBcInNhcC9mZS9tYWNyb3MvY29udHJvbHMvRmlsdGVyQmFyXCI7XG5pbXBvcnQgdHlwZSBMaXN0UmVwb3J0Q29udHJvbGxlciBmcm9tIFwic2FwL2ZlL3RlbXBsYXRlcy9MaXN0UmVwb3J0L0xpc3RSZXBvcnRDb250cm9sbGVyLmNvbnRyb2xsZXJcIjtcbmltcG9ydCB0eXBlIEljb25UYWJCYXIgZnJvbSBcInNhcC9tL0ljb25UYWJCYXJcIjtcbmltcG9ydCB0eXBlIHsgSWNvblRhYkJhciRTZWxlY3RFdmVudCB9IGZyb20gXCJzYXAvbS9JY29uVGFiQmFyXCI7XG5pbXBvcnQgdHlwZSBJY29uVGFiRmlsdGVyIGZyb20gXCJzYXAvbS9JY29uVGFiRmlsdGVyXCI7XG5pbXBvcnQgdHlwZSBDb3JlRXZlbnQgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50XCI7XG5pbXBvcnQgdHlwZSB7ICRDb250cm9sU2V0dGluZ3MgfSBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCBVSTVFbGVtZW50IGZyb20gXCJzYXAvdWkvY29yZS9FbGVtZW50XCI7XG5pbXBvcnQgdHlwZSBSZW5kZXJNYW5hZ2VyIGZyb20gXCJzYXAvdWkvY29yZS9SZW5kZXJNYW5hZ2VyXCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIE9EYXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1vZGVsXCI7XG5cbmV4cG9ydCB0eXBlIElubmVyQ29udHJvbFR5cGUgPSBNYWNyb0FQSSAmXG5cdFBhcnRpYWw8e1xuXHRcdHJlc3VtZUJpbmRpbmc6IEZ1bmN0aW9uO1xuXHRcdHN1c3BlbmRCaW5kaW5nOiBGdW5jdGlvbjtcblx0XHRnZXRDb3VudHM6IEZ1bmN0aW9uO1xuXHRcdHJlZnJlc2hOb3RBcHBsaWNhYmxlRmllbGRzOiBGdW5jdGlvbjtcblx0XHRpbnZhbGlkYXRlQ29udGVudDogRnVuY3Rpb247XG5cdFx0Z2V0Q29udGVudDogRnVuY3Rpb247XG5cdH0+O1xuXG50eXBlIE1lc3NhZ2VTdHJpcFByb3BlcnRpZXMgPSB7XG5cdGVudGl0eVR5cGVQYXRoOiBzdHJpbmc7XG5cdGlnbm9yZWRGaWVsZHM6IHN0cmluZ1tdO1xuXHR0aXRsZTogc3RyaW5nO1xufTtcblxuZW51bSBCaW5kaW5nQWN0aW9uIHtcblx0U3VzcGVuZCA9IFwic3VzcGVuZEJpbmRpbmdcIixcblx0UmVzdW1lID0gXCJyZXN1bWVCaW5kaW5nXCJcbn1cblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LmNvbnRyb2xzLk11bHRpcGxlTW9kZUNvbnRyb2xcIilcbmNsYXNzIE11bHRpcGxlTW9kZUNvbnRyb2wgZXh0ZW5kcyBDb250cm9sIHtcblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd0NvdW50cyE6IGJvb2xlYW47XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIsIGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcblx0c2V0VmlzaWJsZU92ZXJyaWRkZW4hOiBib29sZWFuO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiLCBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG5cdGZyZWV6ZUNvbnRlbnQhOiBib29sZWFuO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiLCBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG5cdGNvdW50c091dERhdGVkITogYm9vbGVhbjtcblxuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC5tLkljb25UYWJCYXJcIiwgbXVsdGlwbGU6IGZhbHNlLCBpc0RlZmF1bHQ6IHRydWUgfSlcblx0Y29udGVudCE6IEljb25UYWJCYXI7XG5cblx0QGFzc29jaWF0aW9uKHsgdHlwZTogXCJzYXAudWkuY29yZS5Db250cm9sXCIsIG11bHRpcGxlOiB0cnVlIH0pXG5cdGlubmVyQ29udHJvbHMhOiBzdHJpbmdbXTtcblxuXHRAYXNzb2NpYXRpb24oeyB0eXBlOiBcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuRmlsdGVyQmFyXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRmaWx0ZXJDb250cm9sITogc3RyaW5nO1xuXG5cdEBldmVudCgpXG5cdHNlbGVjdCE6IEZ1bmN0aW9uO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdGlkPzogc3RyaW5nIHwgdW5kZWZpbmVkIHwgKFByb3BlcnRpZXNPZjxNdWx0aXBsZU1vZGVDb250cm9sPiAmICRDb250cm9sU2V0dGluZ3MpLFxuXHRcdHNldHRpbmdzPzogJENvbnRyb2xTZXR0aW5ncyAmIFByb3BlcnRpZXNPZjxNdWx0aXBsZU1vZGVDb250cm9sPlxuXHQpIHtcblx0XHRzdXBlcihpZCBhcyBzdHJpbmcsIHNldHRpbmdzKTtcblx0fVxuXG5cdG9uQmVmb3JlUmVuZGVyaW5nKCk6IHZvaWQge1xuXHRcdHRoaXMuZ2V0VGFic01vZGVsKCk7IC8vIEdlbmVyYXRlIHRoZSBtb2RlbCB3aGljaCBpcyBtYW5kYXRvcnkgZm9yIHNvbWUgYmluZGluZ3NcblxuXHRcdGNvbnN0IG9GaWx0ZXJDb250cm9sID0gdGhpcy5fZ2V0RmlsdGVyQ29udHJvbCgpO1xuXHRcdGlmICghb0ZpbHRlckNvbnRyb2wpIHtcblx0XHRcdC8vIEluIGNhc2UgdGhlcmUncyBubyBmaWx0ZXJiYXIsIHdlIGhhdmUgdG8gdXBkYXRlIHRoZSBjb3VudHMgaW4gdGhlIHRhYnMgaW1tZWRpYXRlbHlcblx0XHRcdHRoaXMuc2V0Q291bnRzT3V0RGF0ZWQodHJ1ZSk7XG5cdFx0fVxuXHRcdGNvbnN0IG9GaWx0ZXJCYXJBUEkgPSBvRmlsdGVyQ29udHJvbD8uZ2V0UGFyZW50KCk7XG5cdFx0dGhpcy5nZXRBbGxJbm5lckNvbnRyb2xzKCkuZm9yRWFjaCgob01hY3JvQVBJKSA9PiB7XG5cdFx0XHRpZiAodGhpcy5zaG93Q291bnRzKSB7XG5cdFx0XHRcdG9NYWNyb0FQSS5hdHRhY2hFdmVudChcImludGVybmFsRGF0YVJlcXVlc3RlZFwiLCB0aGlzLmludGVybmFsUmVmcmVzaFRhYnNDb3VudC5iaW5kKHRoaXMpKTtcblx0XHRcdH1cblx0XHRcdG9NYWNyb0FQSS5zdXNwZW5kQmluZGluZz8uKCk7XG5cdFx0fSk7XG5cdFx0aWYgKG9GaWx0ZXJCYXJBUEkpIHtcblx0XHRcdG9GaWx0ZXJCYXJBUEkuYXR0YWNoRXZlbnQoXCJpbnRlcm5hbFNlYXJjaFwiLCB0aGlzLl9vblNlYXJjaC5iaW5kKHRoaXMpKTtcblx0XHRcdG9GaWx0ZXJCYXJBUEkuYXR0YWNoRXZlbnQoXCJpbnRlcm5hbEZpbHRlckNoYW5nZWRcIiwgdGhpcy5fb25GaWx0ZXJDaGFuZ2VkLmJpbmQodGhpcykpO1xuXHRcdH1cblx0fVxuXG5cdG9uQWZ0ZXJSZW5kZXJpbmcoKTogdm9pZCB7XG5cdFx0dGhpcy5nZXRTZWxlY3RlZElubmVyQ29udHJvbCgpPy5yZXN1bWVCaW5kaW5nPy4oIXRoaXMuZ2V0UHJvcGVydHkoXCJmcmVlemVDb250ZW50XCIpKTtcblx0XHRpZiAodGhpcy5zaG93Q291bnRzICYmICF0aGlzLnNldFZpc2libGVPdmVycmlkZGVuKSB7XG5cdFx0XHR0aGlzLnNldFByb3BlcnR5KFwic2V0VmlzaWJsZU92ZXJyaWRkZW5cIiwgdHJ1ZSk7XG5cdFx0XHR0aGlzLmdldEFsbElubmVyQ29udHJvbHMoKS5mb3JFYWNoKChtYWNyb0FQSTogTWFjcm9BUEkpOiB2b2lkID0+IHtcblx0XHRcdFx0Y29uc3QgaWNvblRhYkZpbHRlciA9IHRoaXMuX2dldFRhYkZyb21Jbm5lckNvbnRyb2wobWFjcm9BUEkpO1xuXHRcdFx0XHQvLyBObyBjb3VudCB0byBzaG93XG5cdFx0XHRcdGlmICghaWNvblRhYkZpbHRlcikgcmV0dXJuO1xuXG5cdFx0XHRcdGNvbnN0IG9yaWdpblNldFZpc2libGUgPSBpY29uVGFiRmlsdGVyLnNldFZpc2libGU7XG5cdFx0XHRcdGljb25UYWJGaWx0ZXIuc2V0VmlzaWJsZSA9ICh2YWx1ZTogYm9vbGVhbik6IEljb25UYWJGaWx0ZXIgPT4ge1xuXHRcdFx0XHRcdGlmIChpY29uVGFiRmlsdGVyLmdldFZpc2libGUoKSA9PT0gZmFsc2UgJiYgdmFsdWUpIHtcblx0XHRcdFx0XHRcdHRoaXMucmVmcmVzaFRhYkNvdW50KG1hY3JvQVBJKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIG9yaWdpblNldFZpc2libGUuYmluZChpY29uVGFiRmlsdGVyKSh2YWx1ZSk7XG5cdFx0XHRcdH07XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRzdGF0aWMgcmVuZGVyKG9SbTogUmVuZGVyTWFuYWdlciwgb0NvbnRyb2w6IE11bHRpcGxlTW9kZUNvbnRyb2wpOiB2b2lkIHtcblx0XHRvUm0ucmVuZGVyQ29udHJvbChvQ29udHJvbC5jb250ZW50KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBtb2RlbCBjb250YWluaW5nIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gdGhlIEljb25UYWJGaWx0ZXJzLlxuXHQgKiBAcmV0dXJucyBUaGUgbW9kZWxcblx0ICovXG5cdGdldFRhYnNNb2RlbCgpOiBKU09OTW9kZWwgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHNUYWJzTW9kZWwgPSBcInRhYnNJbnRlcm5hbFwiO1xuXHRcdGNvbnN0IG9Db250ZW50ID0gdGhpcy5jb250ZW50O1xuXHRcdGlmICghb0NvbnRlbnQpIHtcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0fVxuXHRcdGxldCBvTW9kZWwgPSBvQ29udGVudC5nZXRNb2RlbChzVGFic01vZGVsKSBhcyBKU09OTW9kZWwgfCB1bmRlZmluZWQ7XG5cdFx0aWYgKCFvTW9kZWwpIHtcblx0XHRcdG9Nb2RlbCA9IG5ldyBKU09OTW9kZWwoe30pO1xuXHRcdFx0b0NvbnRlbnQuc2V0TW9kZWwob01vZGVsLCBzVGFic01vZGVsKTtcblx0XHR9XG5cdFx0cmV0dXJuIG9Nb2RlbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBpbm5lciBjb250cm9sIG9mIHRoZSBkaXNwbGF5ZWQgdGFiLlxuXHQgKiBAcmV0dXJucyBUaGUgY29udHJvbFxuXHQgKi9cblx0Z2V0U2VsZWN0ZWRJbm5lckNvbnRyb2woKTogSW5uZXJDb250cm9sVHlwZSB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3Qgb1NlbGVjdGVkVGFiID0gdGhpcy5jb250ZW50Py5nZXRJdGVtcygpLmZpbmQoKG9JdGVtKSA9PiAob0l0ZW0gYXMgSWNvblRhYkZpbHRlcikuZ2V0S2V5KCkgPT09IHRoaXMuY29udGVudC5nZXRTZWxlY3RlZEtleSgpKTtcblx0XHRyZXR1cm4gb1NlbGVjdGVkVGFiXG5cdFx0XHQ/IHRoaXMuZ2V0QWxsSW5uZXJDb250cm9scygpLmZpbmQoKG9NYWNyb0FQSSkgPT4gdGhpcy5fZ2V0VGFiRnJvbUlubmVyQ29udHJvbChvTWFjcm9BUEkpID09PSBvU2VsZWN0ZWRUYWIpXG5cdFx0XHQ6IHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBNYW5hZ2VzIHRoZSBiaW5kaW5nIG9mIGFsbCBpbm5lciBjb250cm9scyB3aGVuIHRoZSBzZWxlY3RlZCBJY29uVGFiRmlsdGVyIGlzIGNoYW5nZWQuXG5cdCAqIEBwYXJhbSBvRXZlbnQgRXZlbnQgZmlyZWQgYnkgdGhlIEljb25UYWJCYXJcblx0ICogQHJldHVybnMgQSBwcm9taXNlIGlmIHRoZSBwZXJzb25hbGl6YXRpb24gaXMgdXBkYXRlZCwgb3RoZXJ3aXNlIG5vdGhpbmdcblx0ICovXG5cdHN0YXRpYyBoYW5kbGVUYWJDaGFuZ2Uob0V2ZW50OiBJY29uVGFiQmFyJFNlbGVjdEV2ZW50KTogUHJvbWlzZTx2b2lkPiB8IHZvaWQge1xuXHRcdGNvbnN0IG9JY29uVGFiQmFyID0gb0V2ZW50LmdldFNvdXJjZSgpO1xuXHRcdGNvbnN0IG9NdWx0aUNvbnRyb2wgPSBvSWNvblRhYkJhci5nZXRQYXJlbnQoKSBhcyBNdWx0aXBsZU1vZGVDb250cm9sO1xuXG5cdFx0Y29uc3QgbVBhcmFtZXRlcnMgPSBvRXZlbnQuZ2V0UGFyYW1ldGVycygpO1xuXHRcdG9NdWx0aUNvbnRyb2wuX3NldElubmVyQmluZGluZyh0cnVlKTtcblx0XHRjb25zdCBzUHJldmlvdXNTZWxlY3RlZEtleSA9IG1QYXJhbWV0ZXJzPy5wcmV2aW91c0tleTtcblx0XHRjb25zdCBzU2VsZWN0ZWRLZXkgPSBtUGFyYW1ldGVycz8uc2VsZWN0ZWRLZXk7XG5cdFx0bGV0IHBlcnNvbmFsaXphdGlvblByb21pc2U7XG5cdFx0aWYgKHNTZWxlY3RlZEtleSAmJiBzUHJldmlvdXNTZWxlY3RlZEtleSAhPT0gc1NlbGVjdGVkS2V5KSB7XG5cdFx0XHRjb25zdCBvRmlsdGVyQmFyID0gb011bHRpQ29udHJvbC5fZ2V0RmlsdGVyQ29udHJvbCgpO1xuXHRcdFx0aWYgKG9GaWx0ZXJCYXIgJiYgIW9NdWx0aUNvbnRyb2wuZ2V0UHJvcGVydHkoXCJmcmVlemVDb250ZW50XCIpKSB7XG5cdFx0XHRcdGlmICghb011bHRpQ29udHJvbC5nZXRTZWxlY3RlZElubmVyQ29udHJvbCgpKSB7XG5cdFx0XHRcdFx0Ly9jdXN0b20gdGFiXG5cdFx0XHRcdFx0b011bHRpQ29udHJvbC5fcmVmcmVzaEN1c3RvbVZpZXcob0ZpbHRlckJhci5nZXRGaWx0ZXJDb25kaXRpb25zKCksIFwidGFiQ2hhbmdlZFwiKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cGVyc29uYWxpemF0aW9uUHJvbWlzZSA9IE11bHRpcGxlTW9kZUNvbnRyb2wuaGFuZGxlUGVyc29uYWxpemF0aW9uVXBkYXRlKHNTZWxlY3RlZEtleSwgc1ByZXZpb3VzU2VsZWN0ZWRLZXksIG9JY29uVGFiQmFyKTtcblx0XHR9XG5cblx0XHRvTXVsdGlDb250cm9sLl9nZXRWaWV3Q29udHJvbGxlcigpPy5nZXRFeHRlbnNpb25BUEkoKT8udXBkYXRlQXBwU3RhdGUoKTtcblxuXHRcdG9NdWx0aUNvbnRyb2wuZmlyZUV2ZW50KFwic2VsZWN0XCIsIHtcblx0XHRcdGljb25UYWJCYXI6IG9JY29uVGFiQmFyLFxuXHRcdFx0c2VsZWN0ZWRLZXk6IHNTZWxlY3RlZEtleSxcblx0XHRcdHByZXZpb3VzS2V5OiBzUHJldmlvdXNTZWxlY3RlZEtleVxuXHRcdH0pO1xuXHRcdHJldHVybiBwZXJzb25hbGl6YXRpb25Qcm9taXNlO1xuXHR9XG5cblx0cHJpdmF0ZSBzdGF0aWMgYXN5bmMgaGFuZGxlUGVyc29uYWxpemF0aW9uVXBkYXRlKFxuXHRcdHNTZWxlY3RlZEtleTogc3RyaW5nLFxuXHRcdHNQcmV2aW91c1NlbGVjdGVkS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQsXG5cdFx0b0ljb25UYWJCYXI6IEljb25UYWJCYXJcblx0KTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IENvbnRyb2xQZXJzb25hbGl6YXRpb25Xcml0ZUFQSSA9IChhd2FpdCBpbXBvcnQoXCJzYXAvdWkvZmwvd3JpdGUvYXBpL0NvbnRyb2xQZXJzb25hbGl6YXRpb25Xcml0ZUFQSVwiKSkuZGVmYXVsdDtcblx0XHRcdENvbnRyb2xQZXJzb25hbGl6YXRpb25Xcml0ZUFQSS5hZGQoe1xuXHRcdFx0XHRjaGFuZ2VzOiBbXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0Y2hhbmdlU3BlY2lmaWNEYXRhOiB7XG5cdFx0XHRcdFx0XHRcdGNoYW5nZVR5cGU6IFwic2VsZWN0SWNvblRhYkJhckZpbHRlclwiLFxuXHRcdFx0XHRcdFx0XHRjb250ZW50OiB7XG5cdFx0XHRcdFx0XHRcdFx0c2VsZWN0ZWRLZXk6IHNTZWxlY3RlZEtleSxcblx0XHRcdFx0XHRcdFx0XHRwcmV2aW91c1NlbGVjdGVkS2V5OiBzUHJldmlvdXNTZWxlY3RlZEtleVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0c2VsZWN0b3JFbGVtZW50OiBvSWNvblRhYkJhclxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XVxuXHRcdFx0fSk7XG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdExvZy5lcnJvcihcIlNvbWV0aGluZyB3ZW50IHdyb25nIHdoaWxlIHVwZGF0aW5nIHRoZSBwZXJzb25hbGl6YXRpb24gc3RhdGUgb2YgdGhlIE11bHRpcGxlTW9kZUNvbnRyb2xcIiwgZXJyb3IgYXMgc3RyaW5nKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmVmcmVzaGVzIHRoZSBjb250ZW50IG9mIHRoZSBzZWxlY3RlZCBpbm5lciBjb250cm9sLlxuXHQgKlxuXHQgKi9cblx0cmVmcmVzaFNlbGVjdGVkSW5uZXJDb250cm9sQ29udGVudCgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5nZXRTZWxlY3RlZElubmVyQ29udHJvbCgpKSB7XG5cdFx0XHR0aGlzLmdldFNlbGVjdGVkSW5uZXJDb250cm9sKCk/LmludmFsaWRhdGVDb250ZW50Py4oKTtcblx0XHRcdHRoaXMuZ2V0U2VsZWN0ZWRJbm5lckNvbnRyb2woKT8ucmVzdW1lQmluZGluZz8uKHRydWUpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBjdXN0b20gdGFiXG5cdFx0XHR0aGlzLl9yZWZyZXNoQ3VzdG9tVmlldyh1bmRlZmluZWQsIFwiZm9yY2VkUmVmcmVzaFwiKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogSW52YWxpZGF0ZXMgdGhlIGNvbnRlbnQgb2YgdGhlIGlubmVyIGNvbnRyb2xzLlxuXHQgKiBAcGFyYW0gW2tleXNdIFRoZSBsaXN0IG9mIHRoZSBrZXlzIGlkZW50aWZ5aW5nIHRoZSB2aWV3cyBkZWZpbmVkIGluIHRoZSBtYW5pZmVzdCBmb3Igd2hpY2ggdGhlIHZpZXdzJyBjb250ZW50IHdpbGwgYmUgaW52YWxpZGF0ZWQuIElmIG5vdCBwcm92aWRlZCwgYWxsIHRoZSB2aWV3cycgY29udGVudCB3aWxsIGJlIGludmFsaWRhdGVkXG5cdCAqL1xuXHRpbnZhbGlkYXRlQ29udGVudChrZXlzPzogc3RyaW5nW10pOiB2b2lkIHtcblx0XHR0aGlzLnNldENvdW50c091dERhdGVkKHRydWUpO1xuXHRcdHRoaXMuZ2V0QWxsSW5uZXJDb250cm9scygpLmZvckVhY2goKG1hY3JvQVBJKSA9PiB7XG5cdFx0XHRpZiAoa2V5cykge1xuXHRcdFx0XHRjb25zdCBpY29uVGFiRmlsdGVyID0gdGhpcy5fZ2V0VGFiRnJvbUlubmVyQ29udHJvbChtYWNyb0FQSSk7XG5cdFx0XHRcdGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcblx0XHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0XHRpY29uVGFiRmlsdGVyICYmXG5cdFx0XHRcdFx0XHQoaWNvblRhYkZpbHRlci5nZXRLZXkoKSA9PT0gYGZlOjp0YWJsZTo6JHtrZXl9OjpMaW5lSXRlbWAgfHwgaWNvblRhYkZpbHRlci5nZXRLZXkoKSA9PT0gYGZlOjpDdXN0b21UYWI6OiR7a2V5fWApXG5cdFx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0XHRtYWNyb0FQSS5pbnZhbGlkYXRlQ29udGVudD8uKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRtYWNyb0FQSS5pbnZhbGlkYXRlQ29udGVudD8uKCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgY291bnRzIHRvIFwib3V0IG9mIGRhdGVcIiBvciBcInVwIHRvIGRhdGVcIlxuXHQgKiBJZiB0aGUgY291bnRzIGFyZSBzZXQgdG8gXCJvdXQgb2YgZGF0ZVwiIGFuZCB0aGUgc2VsZWN0ZWQgSWNvblRhYkZpbHRlciBkb2Vzbid0IGNvbnRhaW4gYW4gaW5uZXIgY29udHJvbCwgYWxsIGlubmVyIGNvbnRyb2xzIGFyZSByZXF1ZXN0ZWQgdG8gZ2V0IHRoZSBuZXcgY291bnRzLlxuXHQgKiBAcGFyYW0gYlZhbHVlIEVpdGhlciBmcmVlemVzIHRoZSBjb250cm9sIG9yIG5vdFxuXHQgKi9cblx0c2V0Q291bnRzT3V0RGF0ZWQoYlZhbHVlID0gdHJ1ZSk6IHZvaWQge1xuXHRcdHRoaXMuc2V0UHJvcGVydHkoXCJjb3VudHNPdXREYXRlZFwiLCBiVmFsdWUpO1xuXHRcdC8vIGlmIHRoZSBjdXJyZW50IHRhYiBpcyBub3QgY29uZmlndXJlZCB3aXRoIG5vIGlubmVyIENvbnRyb2xcblx0XHQvLyB0aGUgdGFiIGNvdW50cyBtdXN0IGJlIG1hbnVhbGx5IHJlZnJlc2hlZCBzaW5jZSBubyBNYWNybyBBUEkgd2lsbCBzZW50IGV2ZW50IGludGVybmFsRGF0YVJlcXVlc3RlZFxuXHRcdGlmIChiVmFsdWUgJiYgIXRoaXMuZ2V0U2VsZWN0ZWRJbm5lckNvbnRyb2woKSkge1xuXHRcdFx0dGhpcy5pbnRlcm5hbFJlZnJlc2hUYWJzQ291bnQoKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogRnJlZXplcyB0aGUgY29udGVudCA6XG5cdCAqIC0gY29udGVudCBpcyBmcm96ZW46IHRoZSBiaW5kaW5nIG9mIHRoZSBpbm5lciBjb250cm9scyBhcmUgc3VzcGVuZGVkLlxuXHQgKiAtIGNvbnRlbnQgaXMgdW5mcm96ZW46IHRoZSBiaW5kaW5nIG9mIGlubmVyIGNvbnRyb2wgcmVsYXRlZCB0byB0aGUgc2VsZWN0ZWQgSWNvblRhYkZpbHRlciBpcyByZXN1bWVkLlxuXHQgKiBAcGFyYW0gYlZhbHVlIEZyZWV6ZSBvciBub3QgdGhlIGNvbnRyb2xcblx0ICovXG5cdHNldEZyZWV6ZUNvbnRlbnQoYlZhbHVlOiBib29sZWFuKTogdm9pZCB7XG5cdFx0dGhpcy5zZXRQcm9wZXJ0eShcImZyZWV6ZUNvbnRlbnRcIiwgYlZhbHVlKTtcblx0XHR0aGlzLl9zZXRJbm5lckJpbmRpbmcoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBVcGRhdGVzIHRoZSBpbnRlcm5hbCBtb2RlbCB3aXRoIHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIG5vdCBhcHBsaWNhYmxlIG9uIGVhY2ggSWNvblRhYkZpbHRlciAoY29udGFpbmluZyBpbm5lciBjb250cm9sKSBhY2NvcmRpbmcgdG8gdGhlIGVudGl0eVR5cGUgb2YgdGhlIGZpbHRlciBjb250cm9sLlxuXHQgKlxuXHQgKi9cblx0X3VwZGF0ZU11bHRpVGFiTm90QXBwbGljYWJsZUZpZWxkcygpOiB2b2lkIHtcblx0XHRjb25zdCB0YWJzTW9kZWwgPSB0aGlzLmdldFRhYnNNb2RlbCgpO1xuXHRcdGNvbnN0IG9GaWx0ZXJDb250cm9sID0gdGhpcy5fZ2V0RmlsdGVyQ29udHJvbCgpIGFzIENvbnRyb2w7XG5cdFx0aWYgKHRhYnNNb2RlbCAmJiBvRmlsdGVyQ29udHJvbCkge1xuXHRcdFx0Y29uc3QgcmVzdWx0czogUmVjb3JkPHN0cmluZywgeyBub3RBcHBsaWNhYmxlOiB7IGZpZWxkczogc3RyaW5nW107IHRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQgfSB9PiA9IHt9O1xuXHRcdFx0Y29uc3QgdmlldyA9IENvbW1vblV0aWxzLmdldFRhcmdldFZpZXcodGhpcyk7XG5cdFx0XHRjb25zdCB2aWV3RGF0YSA9IHZpZXcuZ2V0Vmlld0RhdGEoKTtcblx0XHRcdGlmICghdmlld0RhdGEudXNlSGlkZGVuRmlsdGVyQmFyKSB7XG5cdFx0XHRcdHRoaXMuZ2V0QWxsSW5uZXJDb250cm9scygpLmZvckVhY2goKG9NYWNyb0FQSSkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IG9UYWIgPSB0aGlzLl9nZXRUYWJGcm9tSW5uZXJDb250cm9sKG9NYWNyb0FQSSk7XG5cdFx0XHRcdFx0aWYgKG9UYWIpIHtcblx0XHRcdFx0XHRcdGNvbnN0IHNUYWJJZCA9IG9UYWIuZ2V0S2V5KCk7XG5cdFx0XHRcdFx0XHRjb25zdCBtSWdub3JlZEZpZWxkcyA9IG9NYWNyb0FQSS5yZWZyZXNoTm90QXBwbGljYWJsZUZpZWxkcz8uKG9GaWx0ZXJDb250cm9sKSB8fCBbXTtcblx0XHRcdFx0XHRcdHJlc3VsdHNbc1RhYklkXSA9IHtcblx0XHRcdFx0XHRcdFx0bm90QXBwbGljYWJsZToge1xuXHRcdFx0XHRcdFx0XHRcdGZpZWxkczogbUlnbm9yZWRGaWVsZHMsXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6IHRoaXMuX3NldFRhYk1lc3NhZ2VTdHJpcCh7XG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlUeXBlUGF0aDogb0ZpbHRlckNvbnRyb2wuZGF0YShcImVudGl0eVR5cGVcIiksXG5cdFx0XHRcdFx0XHRcdFx0XHRpZ25vcmVkRmllbGRzOiBtSWdub3JlZEZpZWxkcyxcblx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBvVGFiLmdldFRleHQoKVxuXHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHRpZiAob01hY3JvQVBJICYmIG9NYWNyb0FQSS5pc0EoXCJzYXAuZmUubWFjcm9zLkNoYXJ0XCIpKSB7XG5cdFx0XHRcdFx0XHRcdHJlc3VsdHNbc1RhYklkXSA9IHRoaXMuY2hlY2tOb25GaWx0ZXJhYmxlRW50aXR5U2V0KG9NYWNyb0FQSSwgc1RhYklkLCByZXN1bHRzKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHR0YWJzTW9kZWwuc2V0RGF0YShyZXN1bHRzKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogTW9kaWZpZXMgdGhlIG1lc3NhZ2VzdHJpcCBtZXNzYWdlIGJhc2VkIG9uIGVudGl0eSBzZXQgaXMgZmlsZXJhYmxlIG9yIG5vdC5cblx0ICogQHBhcmFtIG9NYWNyb0FQSSBNYWNybyBjaGFydCBhcGlcblx0ICogQHBhcmFtIHNUYWJJZCBUYWIga2V5IElEXG5cdCAqIEBwYXJhbSByZXN1bHRzIFNob3VsZCBjb250YWluIGZpZWxkcyBhbmQgdGl0bGVcblx0ICogQHJldHVybnMgQW4gb2JqZWN0IG9mIG1vZGlmaWVkIGZpZWxkcyBhbmQgdGl0bGVcblx0ICovXG5cdGNoZWNrTm9uRmlsdGVyYWJsZUVudGl0eVNldChcblx0XHRvTWFjcm9BUEk6IElubmVyQ29udHJvbFR5cGUsXG5cdFx0c1RhYklkOiBzdHJpbmcsXG5cdFx0cmVzdWx0czogUmVjb3JkPHN0cmluZywgeyBub3RBcHBsaWNhYmxlOiB7IGZpZWxkczogc3RyaW5nW107IHRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQgfSB9PlxuXHQpOiB7IG5vdEFwcGxpY2FibGU6IHsgZmllbGRzOiBzdHJpbmdbXTsgdGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZCB9IH0ge1xuXHRcdGNvbnN0IHJlc291cmNlTW9kZWwgPSBnZXRSZXNvdXJjZU1vZGVsKG9NYWNyb0FQSSk7XG5cdFx0Y29uc3Qgb0NoYXJ0ID0gb01hY3JvQVBJPy5nZXRDb250ZW50ID8gb01hY3JvQVBJLmdldENvbnRlbnQoKSA6IHVuZGVmaW5lZDtcblx0XHRjb25zdCBiRW50aXR5U2V0RmlsZXJhYmxlID1cblx0XHRcdG9DaGFydCAmJlxuXHRcdFx0TWV0YU1vZGVsQ29udmVydGVyLmdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0czxFbnRpdHlTZXQ+KFxuXHRcdFx0XHQob0NoYXJ0LmdldE1vZGVsKCkgYXMgT0RhdGFNb2RlbCkuZ2V0TWV0YU1vZGVsKCkuZ2V0Q29udGV4dChgJHtvQ2hhcnQuZGF0YShcInRhcmdldENvbGxlY3Rpb25QYXRoXCIpfWApXG5cdFx0XHQpPy50YXJnZXRPYmplY3Q/LmFubm90YXRpb25zPy5DYXBhYmlsaXRpZXM/LkZpbHRlclJlc3RyaWN0aW9ucz8uRmlsdGVyYWJsZTtcblx0XHRpZiAoYkVudGl0eVNldEZpbGVyYWJsZSAhPT0gdW5kZWZpbmVkICYmICFiRW50aXR5U2V0RmlsZXJhYmxlKSB7XG5cdFx0XHRpZiAocmVzdWx0c1tzVGFiSWRdLm5vdEFwcGxpY2FibGUuZmllbGRzLmluY2x1ZGVzKFwiJHNlYXJjaFwiKSkge1xuXHRcdFx0XHRyZXN1bHRzW3NUYWJJZF0ubm90QXBwbGljYWJsZS50aXRsZSArPSBcIiBcIiArIHJlc291cmNlTW9kZWwuZ2V0VGV4dChcIkNfTFJfTVVMVElWSVpfQ0hBUlRfTVVMVElfTk9OX0ZJTFRFUkFCTEVcIik7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXN1bHRzW3NUYWJJZF0ubm90QXBwbGljYWJsZS5maWVsZHMgPSBbXCJub25GaWx0ZXJhYmxlXCJdO1xuXHRcdFx0XHRyZXN1bHRzW3NUYWJJZF0ubm90QXBwbGljYWJsZS50aXRsZSA9IHJlc291cmNlTW9kZWwuZ2V0VGV4dChcIkNfTFJfTVVMVElWSVpfQ0hBUlRfTVVMVElfTk9OX0ZJTFRFUkFCTEVcIik7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiByZXN1bHRzW3NUYWJJZF07XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgaW5uZXIgY29udHJvbHMuXG5cdCAqIEBwYXJhbSBiT25seUZvclZpc2libGVUYWIgU2hvdWxkIGRpc3BsYXkgb25seSB0aGUgdmlzaWJsZSBjb250cm9sc1xuXHQgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBjb250cm9sc1xuXHQgKi9cblx0Z2V0QWxsSW5uZXJDb250cm9scyhiT25seUZvclZpc2libGVUYWIgPSBmYWxzZSk6IElubmVyQ29udHJvbFR5cGVbXSB7XG5cdFx0cmV0dXJuIChcblx0XHRcdHRoaXMuaW5uZXJDb250cm9scy5yZWR1Y2UoKGFJbm5lckNvbnRyb2xzOiBJbm5lckNvbnRyb2xUeXBlW10sIHNJbm5lckNvbnRyb2w6IHN0cmluZykgPT4ge1xuXHRcdFx0XHRjb25zdCBvQ29udHJvbCA9IFVJNUVsZW1lbnQuZ2V0RWxlbWVudEJ5SWQoc0lubmVyQ29udHJvbCkgYXMgSW5uZXJDb250cm9sVHlwZTtcblx0XHRcdFx0aWYgKG9Db250cm9sKSB7XG5cdFx0XHRcdFx0YUlubmVyQ29udHJvbHMucHVzaChvQ29udHJvbCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIGFJbm5lckNvbnRyb2xzLmZpbHRlcihcblx0XHRcdFx0XHQob0lubmVyQ29udHJvbCkgPT4gIWJPbmx5Rm9yVmlzaWJsZVRhYiB8fCB0aGlzLl9nZXRUYWJGcm9tSW5uZXJDb250cm9sKG9Jbm5lckNvbnRyb2wpPy5nZXRWaXNpYmxlKClcblx0XHRcdFx0KTtcblx0XHRcdH0sIFtdKSB8fCBbXVxuXHRcdCk7XG5cdH1cblxuXHRfZ2V0RmlsdGVyQ29udHJvbCgpOiBGaWx0ZXJCYXIgfCB1bmRlZmluZWQge1xuXHRcdHJldHVybiBVSTVFbGVtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuZmlsdGVyQ29udHJvbCkgYXMgRmlsdGVyQmFyIHwgdW5kZWZpbmVkO1xuXHR9XG5cblx0X2dldFRhYkZyb21Jbm5lckNvbnRyb2wob0NvbnRyb2w6IENvbnRyb2wpOiBJY29uVGFiRmlsdGVyIHwgdW5kZWZpbmVkIHtcblx0XHRsZXQgb1RhYjogVUk1RWxlbWVudCB8IHVuZGVmaW5lZCA9IG9Db250cm9sO1xuXHRcdGlmIChvVGFiICYmICFvVGFiLmlzQTxJY29uVGFiRmlsdGVyPihcInNhcC5tLkljb25UYWJGaWx0ZXJcIikgJiYgKG9UYWIgYXMgeyBnZXRQYXJlbnQ/OiBGdW5jdGlvbiB9KS5nZXRQYXJlbnQpIHtcblx0XHRcdG9UYWIgPSBvQ29udHJvbC5nZXRQYXJlbnQoKSBhcyBVSTVFbGVtZW50IHwgdW5kZWZpbmVkO1xuXHRcdH1cblx0XHRyZXR1cm4gb1RhYiAmJiBvVGFiLmlzQTxJY29uVGFiRmlsdGVyPihcInNhcC5tLkljb25UYWJGaWx0ZXJcIikgPyBvVGFiIDogdW5kZWZpbmVkO1xuXHR9XG5cblx0X2dldFZpZXdDb250cm9sbGVyKCk6IFBhZ2VDb250cm9sbGVyIHtcblx0XHRjb25zdCBvVmlldyA9IENvbW1vblV0aWxzLmdldFRhcmdldFZpZXcodGhpcyk7XG5cdFx0cmV0dXJuIG9WaWV3ICYmIG9WaWV3LmdldENvbnRyb2xsZXIoKTtcblx0fVxuXG5cdF9yZWZyZXNoQ3VzdG9tVmlldyhvRmlsdGVyQ29uZGl0aW9uczogdW5rbm93biwgc1JlZnJlc2hDYXVzZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0KHRoaXMuX2dldFZpZXdDb250cm9sbGVyKCkgYXMgTGlzdFJlcG9ydENvbnRyb2xsZXIpPy5vblZpZXdOZWVkc1JlZnJlc2g/Lih7XG5cdFx0XHRmaWx0ZXJDb25kaXRpb25zOiBvRmlsdGVyQ29uZGl0aW9ucyxcblx0XHRcdGN1cnJlbnRUYWJJZDogdGhpcy5jb250ZW50LmdldFNlbGVjdGVkS2V5KCksXG5cdFx0XHRyZWZyZXNoQ2F1c2U6IHNSZWZyZXNoQ2F1c2Vcblx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIGNvdW50IG9mIHRoZSBUYWIgY29udGFpbmluZyB0aGUgbWFjcm8gcGFzc2VkIGFzIHBhcmFtZXRlci5cblx0ICogQHBhcmFtIG1hY3JvQVBJIFRoZSBjb250ZW50IG9mIHRoZSB0YWIgd2Ugd2FudCB0byByZWZyZXNoXG5cdCAqL1xuXHRhc3luYyByZWZyZXNoVGFiQ291bnQobWFjcm9BUEk6IElubmVyQ29udHJvbFR5cGUpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRjb25zdCBpY29uVGFiRmlsdGVyID0gdGhpcy5fZ2V0VGFiRnJvbUlubmVyQ29udHJvbChtYWNyb0FQSSk7XG5cdFx0aWYgKCFpY29uVGFiRmlsdGVyKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGlmIChtYWNyb0FQST8uZ2V0Q291bnRzKSB7XG5cdFx0XHRpY29uVGFiRmlsdGVyLnNldENvdW50KFwiLi4uXCIpO1xuXHRcdFx0YXdhaXQgdGhpcy5fZ2V0Vmlld0NvbnRyb2xsZXIoKS5lZGl0Rmxvdy5zeW5jVGFzaygpOyAvLyBlbnN1cmUgYWxsIHBlbmRpbmcgY2hhbmdlcyBhcmUgZG9uZSBiZWZvcmUgcmVmcmVzaGluZyBjb3VudHNcblx0XHRcdG1hY3JvQVBJXG5cdFx0XHRcdC5nZXRDb3VudHMoKVxuXHRcdFx0XHQudGhlbigoY291bnQ6IHN0cmluZyk6IEljb25UYWJGaWx0ZXIgPT4ge1xuXHRcdFx0XHRcdHJldHVybiBpY29uVGFiRmlsdGVyLnNldENvdW50KGNvdW50IHx8IFwiMFwiKTtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChlcnJvcjogdW5rbm93bik6IHZvaWQge1xuXHRcdFx0XHRcdExvZy5lcnJvcihgRXJyb3Igd2hpbGUgcmVxdWVzdGluZyBDb3VudHMgZm9yIENvbnRyb2w6ICR7ZXJyb3J9YCk7XG5cdFx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdGludGVybmFsUmVmcmVzaFRhYnNDb3VudCh0YWJsZUV2ZW50PzogQ29yZUV2ZW50KTogdm9pZCB7XG5cdFx0Ly8gSWYgdGhlIHJlZnJlc2ggaXMgdHJpZ2dlcmVkIGJ5IGFuIGV2ZW50IChpbnRlcm5hbERhdGFSZXF1ZXN0ZWQpXG5cdFx0Ly8gd2UgY2Fubm90IHVzZSB0aGUgc2VsZWN0ZWQga2V5IGFzIHJlZmVyZW5jZSBzaW5jZSB0YWJsZSBjYW4gYmUgcmVmcmVzaGVkIGJ5IFNpZGVFZmZlY3RzXG5cdFx0Ly8gc28gdGhlIHRhYmxlIGNvdWxkIGJlIGludG8gYSBkaWZmZXJlbnQgdGFiIC0+IHdlIHVzZSB0aGUgc291cmNlIG9mIHRoZSBldmVudCB0byBmaW5kIHRoZSB0YXJnZXRlZCB0YWJcblx0XHQvLyBJZiBub3QgdHJpZ2dlcmVkIGJ5IGFuIGV2ZW50IC0+IHJlZnJlc2ggYXQgbGVhc3QgdGhlIGNvdW50cyBvZiB0aGUgY3VycmVudCBNYWNyb0FQSVxuXHRcdGNvbnN0IGV2ZW50TWFjcm9BUEkgPSB0YWJsZUV2ZW50Py5nZXRTb3VyY2UoKSBhcyBNYWNyb0FQSTtcblx0XHRjb25zdCB0YXJnZXRLZXkgPSBldmVudE1hY3JvQVBJID8gdGhpcy5fZ2V0VGFiRnJvbUlubmVyQ29udHJvbChldmVudE1hY3JvQVBJKT8uZ2V0S2V5KCkgOiB0aGlzLmNvbnRlbnQ/LmdldFNlbGVjdGVkS2V5KCk7XG5cdFx0aWYgKHR5cGVvZiB0YXJnZXRLZXkgPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdGlmICh0YXJnZXRLZXkgPT09IFwiXCIpIHtcblx0XHRcdFx0Y29uc3QgdGFiS2V5cyA9IHRoaXMuY29udGVudD8uZ2V0SXRlbXMoKS5tYXAoKHRhYikgPT4gKHRhYiBhcyBJY29uVGFiRmlsdGVyKS5nZXRLZXkoKS5zcGxpdChcIjo6XCIpWzJdKSA/PyBbXTtcblx0XHRcdFx0dGhpcy5yZWZyZXNoVGFic0NvdW50KHRhYktleXMpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5yZWZyZXNoVGFic0NvdW50KFt0YXJnZXRLZXkuc3BsaXQoXCI6OlwiKVsyXV0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBSZWZyZXNoZXMgdGhlIGNvdW50IG9mIHRoZSB2aWV3cyBpbiB0aGUgTXVsdGlNb2RlIGNvbnRyb2wuXG5cdCAqIEBwYXJhbSBba2V5c10gVGhlIGxpc3Qgb2YgdGhlIGtleXMgaWRlbnRpZnlpbmcgdGhlIHZpZXdzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0IGZvciB3aGljaCB0aGUgdmlld3MnIGNvdW50IHdpbGwgYmUgcmVmcmVzaGVkLiBJZiBub3QgcHJvdmlkZWQsIGFsbCB0aGUgdmlld3MnIGNvdW50IHdpbGwgYmUgcmVmcmVzaGVkXG5cdCAqL1xuXHRyZWZyZXNoVGFic0NvdW50KGtleXM/OiBzdHJpbmdbXSk6IHZvaWQge1xuXHRcdGlmICgha2V5cykge1xuXHRcdFx0dGhpcy5zZXRDb3VudHNPdXREYXRlZCh0cnVlKTtcblx0XHR9XG5cdFx0dGhpcy5nZXRBbGxJbm5lckNvbnRyb2xzKHRydWUpLmZvckVhY2goKG9NYWNyb0FQSSk6IHZvaWQgPT4ge1xuXHRcdFx0Y29uc3Qgb0ljb25UYWJGaWx0ZXIgPSB0aGlzLl9nZXRUYWJGcm9tSW5uZXJDb250cm9sKG9NYWNyb0FQSSk7XG5cdFx0XHRpZiAodGhpcy5jb3VudHNPdXREYXRlZCB8fCAoa2V5cyAmJiBvSWNvblRhYkZpbHRlciAmJiBrZXlzLmluY2x1ZGVzKG9JY29uVGFiRmlsdGVyLmdldEtleSgpLnNwbGl0KFwiOjpcIilbMl0pKSkge1xuXHRcdFx0XHR0aGlzLnJlZnJlc2hUYWJDb3VudChvTWFjcm9BUEkpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdHRoaXMuc2V0Q291bnRzT3V0RGF0ZWQoZmFsc2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlZnJlc2hlcyB0aGUgY29udGVudCBvZiB0aGUgdW5kZXJseWluZyB2aWV3cyB1cG9uIHRoZSBuZXh0IG9wZW5pbmcuXG5cdCAqIE5vdGU6IFRoZSBjb250ZW50IG9mIHRoZSBzZWxlY3RlZCB2aWV3LCBpZiBwYXJ0IG9mIHRoZSBwcm92aWRlZCBrZXlzLCB3aWxsIGJlIHJlZnJlc2hlZCBpbW1lZGlhdGVseS5cblx0ICogQHBhcmFtIFtrZXlzXSBUaGUgbGlzdCBvZiB0aGUga2V5cyBpZGVudGlmeWluZyB0aGUgdmlld3MgZGVmaW5lZCBpbiB0aGUgbWFuaWZlc3QgZm9yIHdoaWNoIHRoZSB2aWV3cycgY29udGVudCB3aWxsIGJlIHJlZnJlc2hlZC4gSWYgbm90IHByb3ZpZGVkLCBhbGwgdGhlIHZpZXdzJyBjb250ZW50IHdpbGwgYmUgcmVmcmVzaGVkXG5cdCAqL1xuXHRzZXRUYWJDb250ZW50VG9CZVJlZnJlc2hlZE9uTmV4dE9wZW5pbmcoa2V5cz86IHN0cmluZ1tdKTogdm9pZCB7XG5cdFx0Y29uc3Qgc2VsZWN0ZWRUYWJLZXkgPSB0aGlzPy5jb250ZW50LmdldFNlbGVjdGVkS2V5KCk7XG5cdFx0Y29uc3QgdGFiS2V5czogc3RyaW5nW10gPSBbXTtcblx0XHRjb25zdCByZWZyZXNoU2VsZWN0ZWRUYWJDb250ZW50ID0ga2V5cyA/IGtleXMuaW5jbHVkZXMoc2VsZWN0ZWRUYWJLZXk/LnNwbGl0KFwiOjpcIilbMl0pIDogdHJ1ZTtcblx0XHRpZiAoa2V5cykge1xuXHRcdFx0Zm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuXHRcdFx0XHRpZiAoc2VsZWN0ZWRUYWJLZXkgIT09IGBmZTo6dGFibGU6OiR7a2V5fTo6TGluZUl0ZW1gICYmIHNlbGVjdGVkVGFiS2V5ICE9PSBgZmU6OkN1c3RvbVRhYjo6JHtrZXl9YCkge1xuXHRcdFx0XHRcdHRhYktleXMucHVzaChrZXkpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXM/LmdldEFsbElubmVyQ29udHJvbHMoKS5mb3JFYWNoKChtYWNyb0FQSSkgPT4ge1xuXHRcdFx0XHRjb25zdCBpY29uVGFiRmlsdGVyID0gdGhpcz8uX2dldFRhYkZyb21Jbm5lckNvbnRyb2wobWFjcm9BUEkpO1xuXHRcdFx0XHRpZiAoaWNvblRhYkZpbHRlciAmJiBpY29uVGFiRmlsdGVyLmdldEtleSgpICE9PSBzZWxlY3RlZFRhYktleSkge1xuXHRcdFx0XHRcdHRhYktleXMucHVzaChpY29uVGFiRmlsdGVyLmdldEtleSgpLnNwbGl0KFwiOjpcIilbMl0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9XG5cdFx0dGhpcz8uaW52YWxpZGF0ZUNvbnRlbnQodGFiS2V5cyk7XG5cdFx0aWYgKHJlZnJlc2hTZWxlY3RlZFRhYkNvbnRlbnQpIHtcblx0XHRcdHRoaXM/LnJlZnJlc2hTZWxlY3RlZElubmVyQ29udHJvbENvbnRlbnQoKTtcblx0XHR9XG5cdH1cblxuXHRfc2V0SW5uZXJCaW5kaW5nKGJSZXF1ZXN0SWZOb3RJbml0aWFsaXplZCA9IGZhbHNlKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuY29udGVudCkge1xuXHRcdFx0dGhpcy5nZXRBbGxJbm5lckNvbnRyb2xzKCkuZm9yRWFjaCgob01hY3JvQVBJKSA9PiB7XG5cdFx0XHRcdGNvbnN0IG9JY29uVGFiRmlsdGVyID0gdGhpcy5fZ2V0VGFiRnJvbUlubmVyQ29udHJvbChvTWFjcm9BUEkpO1xuXHRcdFx0XHRjb25zdCBiSXNTZWxlY3RlZEtleSA9IG9JY29uVGFiRmlsdGVyPy5nZXRLZXkoKSA9PT0gdGhpcy5jb250ZW50LmdldFNlbGVjdGVkS2V5KCk7XG5cdFx0XHRcdGNvbnN0IHNBY3Rpb24gPSBiSXNTZWxlY3RlZEtleSAmJiAhdGhpcy5nZXRQcm9wZXJ0eShcImZyZWV6ZUNvbnRlbnRcIikgPyBCaW5kaW5nQWN0aW9uLlJlc3VtZSA6IEJpbmRpbmdBY3Rpb24uU3VzcGVuZDtcblx0XHRcdFx0b01hY3JvQVBJW3NBY3Rpb25dPy4oc0FjdGlvbiA9PT0gQmluZGluZ0FjdGlvbi5SZXN1bWUgPyBiUmVxdWVzdElmTm90SW5pdGlhbGl6ZWQgJiYgYklzU2VsZWN0ZWRLZXkgOiB1bmRlZmluZWQpO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0X3NldFRhYk1lc3NhZ2VTdHJpcChwcm9wZXJ0aWVzOiBNZXNzYWdlU3RyaXBQcm9wZXJ0aWVzKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRsZXQgc1RleHQgPSBcIlwiO1xuXHRcdGNvbnN0IGFJZ25vcmVkRmllbGRzID0gcHJvcGVydGllcy5pZ25vcmVkRmllbGRzO1xuXHRcdGNvbnN0IG9GaWx0ZXJDb250cm9sID0gdGhpcy5fZ2V0RmlsdGVyQ29udHJvbCgpIGFzIENvbnRyb2w7XG5cdFx0aWYgKG9GaWx0ZXJDb250cm9sICYmIEFycmF5LmlzQXJyYXkoYUlnbm9yZWRGaWVsZHMpICYmIGFJZ25vcmVkRmllbGRzLmxlbmd0aCA+IDAgJiYgcHJvcGVydGllcy50aXRsZSkge1xuXHRcdFx0Y29uc3QgYUlnbm9yZWRMYWJlbHMgPSBNZXNzYWdlU3RyaXAuZ2V0TGFiZWxzKFxuXHRcdFx0XHRhSWdub3JlZEZpZWxkcyxcblx0XHRcdFx0cHJvcGVydGllcy5lbnRpdHlUeXBlUGF0aCxcblx0XHRcdFx0b0ZpbHRlckNvbnRyb2wsXG5cdFx0XHRcdGdldFJlc291cmNlTW9kZWwob0ZpbHRlckNvbnRyb2wpXG5cdFx0XHQpO1xuXHRcdFx0c1RleHQgPSBNZXNzYWdlU3RyaXAuZ2V0VGV4dChhSWdub3JlZExhYmVscywgb0ZpbHRlckNvbnRyb2wsIHByb3BlcnRpZXMudGl0bGUpO1xuXHRcdFx0cmV0dXJuIHNUZXh0O1xuXHRcdH1cblx0fVxuXG5cdF9vblNlYXJjaChvRXZlbnQ6IENvcmVFdmVudDx7IGNvbmRpdGlvbnM6IHVua25vd24gfT4pOiB2b2lkIHtcblx0XHR0aGlzLnNldENvdW50c091dERhdGVkKHRydWUpO1xuXHRcdHRoaXMuc2V0RnJlZXplQ29udGVudChmYWxzZSk7XG5cdFx0aWYgKHRoaXMuZ2V0U2VsZWN0ZWRJbm5lckNvbnRyb2woKSkge1xuXHRcdFx0dGhpcy5fdXBkYXRlTXVsdGlUYWJOb3RBcHBsaWNhYmxlRmllbGRzKCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIGN1c3RvbSB0YWJcblx0XHRcdHRoaXMuX3JlZnJlc2hDdXN0b21WaWV3KG9FdmVudC5nZXRQYXJhbWV0ZXIoXCJjb25kaXRpb25zXCIpLCBcInNlYXJjaFwiKTtcblx0XHR9XG5cdH1cblxuXHRfb25GaWx0ZXJDaGFuZ2VkKG9FdmVudDogQ29yZUV2ZW50PHsgY29uZGl0aW9uc0Jhc2VkOiBib29sZWFuIH0+KTogdm9pZCB7XG5cdFx0aWYgKG9FdmVudC5nZXRQYXJhbWV0ZXIoXCJjb25kaXRpb25zQmFzZWRcIikpIHtcblx0XHRcdHRoaXMuc2V0RnJlZXplQ29udGVudCh0cnVlKTtcblx0XHR9XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTXVsdGlwbGVNb2RlQ29udHJvbDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BdUNLQSxhQUFhLDBCQUFiQSxhQUFhO0lBQWJBLGFBQWE7SUFBYkEsYUFBYTtJQUFBLE9B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
@@ -387,13 +387,14 @@ class MultipleModeControl extends Control {
387
387
  * Get the count of the Tab containing the macro passed as parameter.
388
388
  * @param macroAPI The content of the tab we want to refresh
389
389
  */
390
- refreshTabCount(macroAPI: InnerControlType): void {
390
+ async refreshTabCount(macroAPI: InnerControlType): Promise<void> {
391
391
  const iconTabFilter = this._getTabFromInnerControl(macroAPI);
392
392
  if (!iconTabFilter) {
393
393
  return;
394
394
  }
395
395
  if (macroAPI?.getCounts) {
396
396
  iconTabFilter.setCount("...");
397
+ await this._getViewController().editFlow.syncTask(); // ensure all pending changes are done before refreshing counts
397
398
  macroAPI
398
399
  .getCounts()
399
400
  .then((count: string): IconTabFilter => {
@@ -5,7 +5,7 @@
5
5
  "type": "component",
6
6
  "i18n": "../messagebundle.properties",
7
7
  "applicationVersion": {
8
- "version": "1.142.0"
8
+ "version": "1.142.1"
9
9
  },
10
10
  "title": "List Report",
11
11
  "tags": {
@@ -31,6 +31,7 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/m/HBox", "sap/ui/core/StashedCon
31
31
  /*
32
32
  * Title of the Header Facet. Not visible on the UI. Visible on the UI is the Title or Link control inside the items aggregation of the Header Facet.
33
33
  * Must always be in sync with the visible Title or Link control.
34
+ * This is used when renaming through the flexibility dialog.
34
35
  */
35
36
  _initializerDefineProperty(_this, "title", _descriptor, _this);
36
37
  /*
@@ -42,38 +43,18 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/m/HBox", "sap/ui/core/StashedCon
42
43
  }
43
44
  _inheritsLoose(StashableHBox, _HBox);
44
45
  var _proto = StashableHBox.prototype;
45
- /*
46
- * Set title of visible Title/Link control and own title property.
47
- */
48
- _proto.setTitle = function setTitle(sTitle) {
49
- const oControl = this.getTitleControl();
50
- if (oControl) {
51
- oControl.setText(sTitle);
52
- }
53
- this.title = sTitle;
54
- return this;
55
- }
56
-
57
46
  /*
58
47
  * Return the title property.
59
- */;
48
+ */
60
49
  _proto.getTitle = function getTitle() {
61
- return this.title || this.fallbackTitle;
62
- }
63
-
64
- /*
65
- * In case of UI changes, Title/Link text needs to be set to new value after Header Facet control and inner controls are rendered.
66
- * Else: title property needs to be initialized.
67
- */;
68
- _proto.onAfterRendering = function onAfterRendering() {
50
+ return this.title ?? this.getTitleControl()?.getText() ?? this.fallbackTitle;
51
+ };
52
+ _proto.onBeforeRendering = function onBeforeRendering(oEvent) {
53
+ // In case we have a title coming from the RTA, we need to set it to the inner control before rendering
69
54
  if (this.title) {
70
- this.setTitle(this.title);
71
- } else {
72
- const oControl = this.getTitleControl();
73
- if (oControl) {
74
- this.title = oControl.getText();
75
- }
55
+ this.getTitleControl()?.setText(this.title);
76
56
  }
57
+ return _HBox.prototype.onBeforeRendering.call(this, oEvent);
77
58
  };
78
59
  _proto.getControlItems = function getControlItems(items) {
79
60
  let aItems = [],
@@ -84,7 +65,7 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/m/HBox", "sap/ui/core/StashedCon
84
65
  aItems = items[i].getItems();
85
66
  } else if (items[i].getMicroChartTitle) {
86
67
  aItems = items[i].getMicroChartTitle();
87
- } else if (items[i].getContent().getMicroChartTitle) {
68
+ } else if (items[i].getContent?.()?.getMicroChartTitle) {
88
69
  aItems = items[i].getContent().getMicroChartTitle();
89
70
  }
90
71
  }
@@ -173,4 +154,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/m/HBox", "sap/ui/core/StashedCon
173
154
  StashedControlSupport.mixInto(StashableHBox);
174
155
  return StashableHBox;
175
156
  }, false);
176
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdGFzaGFibGVIQm94IiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiZGVzaWdudGltZSIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJfZGVjNCIsIl9jbGFzcyIsIl9jbGFzczIiLCJfSEJveCIsIl90aGlzIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9kZXNjcmlwdG9yMyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwic2V0VGl0bGUiLCJzVGl0bGUiLCJvQ29udHJvbCIsImdldFRpdGxlQ29udHJvbCIsInNldFRleHQiLCJ0aXRsZSIsImdldFRpdGxlIiwiZmFsbGJhY2tUaXRsZSIsIm9uQWZ0ZXJSZW5kZXJpbmciLCJnZXRUZXh0IiwiZ2V0Q29udHJvbEl0ZW1zIiwiaXRlbXMiLCJhSXRlbXMiLCJpIiwiZ2V0SXRlbXMiLCJnZXRNaWNyb0NoYXJ0VGl0bGUiLCJnZXRDb250ZW50IiwiY29udGVudCIsIml0ZW0iLCJpc0EiLCJzZXRfZGlzY29ubmVjdGVkIiwiZGlzY29ubmVjdGVkIiwiX2Rpc2Nvbm5lY3RlZCIsInNldEJpbmRpbmdDb250ZXh0IiwidW5kZWZpbmVkIiwiZ2V0Rm9ybUxhYmVscyIsInJldCIsImZvcm1WQm94IiwiZm9yRWFjaCIsImZvcm1FbGVtZW50SEJveCIsImxhYmVsQ3RybCIsInB1c2giLCJIQm94IiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIiwiU3Rhc2hlZENvbnRyb2xTdXBwb3J0IiwibWl4SW50byJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiU3Rhc2hhYmxlSEJveC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVuaGFuY2VXaXRoVUk1IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgTWljcm9DaGFydCBmcm9tIFwic2FwL2ZlL21hY3Jvcy9NaWNyb0NoYXJ0XCI7XG5pbXBvcnQgdHlwZSBUaXRsZUxpbmsgZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvVGl0bGVMaW5rXCI7XG5pbXBvcnQgdHlwZSBNaWNyb0NoYXJ0Q29udGFpbmVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL21pY3JvY2hhcnQvTWljcm9DaGFydENvbnRhaW5lclwiO1xuaW1wb3J0IEhCb3ggZnJvbSBcInNhcC9tL0hCb3hcIjtcbmltcG9ydCB0eXBlIExhYmVsIGZyb20gXCJzYXAvbS9MYWJlbFwiO1xuaW1wb3J0IHR5cGUgTGluayBmcm9tIFwic2FwL20vTGlua1wiO1xuaW1wb3J0IHR5cGUgVGl0bGUgZnJvbSBcInNhcC9tL1RpdGxlXCI7XG5pbXBvcnQgdHlwZSBWQm94IGZyb20gXCJzYXAvbS9WQm94XCI7XG5pbXBvcnQgdHlwZSBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgU3Rhc2hlZENvbnRyb2xTdXBwb3J0IGZyb20gXCJzYXAvdWkvY29yZS9TdGFzaGVkQ29udHJvbFN1cHBvcnRcIjtcbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5jb250cm9scy5TdGFzaGFibGVIQm94XCIsIHtcblx0ZGVzaWdudGltZTogXCJzYXAvZmUvdGVtcGxhdGVzL09iamVjdFBhZ2UvZGVzaWdudGltZS9TdGFzaGFibGVIQm94LmRlc2lnbnRpbWVcIlxufSlcbmNsYXNzIFN0YXNoYWJsZUhCb3ggZXh0ZW5kcyBIQm94IHtcblx0Lypcblx0ICogVGl0bGUgb2YgdGhlIEhlYWRlciBGYWNldC4gTm90IHZpc2libGUgb24gdGhlIFVJLiBWaXNpYmxlIG9uIHRoZSBVSSBpcyB0aGUgVGl0bGUgb3IgTGluayBjb250cm9sIGluc2lkZSB0aGUgaXRlbXMgYWdncmVnYXRpb24gb2YgdGhlIEhlYWRlciBGYWNldC5cblx0ICogTXVzdCBhbHdheXMgYmUgaW4gc3luYyB3aXRoIHRoZSB2aXNpYmxlIFRpdGxlIG9yIExpbmsgY29udHJvbC5cblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0dGl0bGUhOiBzdHJpbmc7XG5cblx0Lypcblx0ICogRmFsbGJhY2sgdGl0bGUgdG8gYmUgZGlzcGxheWVkIGlmIG5vIHRpdGxlIGlzIGF2YWlsYWJsZSAob25seSBuZWVkZWQgZm9yIGRpc3BsYXlpbmcgc3Rhc2hlZCBoZWFkZXIgZmFjZXRzIGluIEZsZXggZGlhbG9nKVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRmYWxsYmFja1RpdGxlITogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdF9kaXNjb25uZWN0ZWQhOiBib29sZWFuO1xuXG5cdC8qXG5cdCAqIFNldCB0aXRsZSBvZiB2aXNpYmxlIFRpdGxlL0xpbmsgY29udHJvbCBhbmQgb3duIHRpdGxlIHByb3BlcnR5LlxuXHQgKi9cblx0c2V0VGl0bGUoc1RpdGxlOiBzdHJpbmcpOiB0aGlzIHtcblx0XHRjb25zdCBvQ29udHJvbCA9IHRoaXMuZ2V0VGl0bGVDb250cm9sKCk7XG5cdFx0aWYgKG9Db250cm9sKSB7XG5cdFx0XHRvQ29udHJvbC5zZXRUZXh0KHNUaXRsZSk7XG5cdFx0fVxuXHRcdHRoaXMudGl0bGUgPSBzVGl0bGU7XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qXG5cdCAqIFJldHVybiB0aGUgdGl0bGUgcHJvcGVydHkuXG5cdCAqL1xuXHRnZXRUaXRsZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLnRpdGxlIHx8IHRoaXMuZmFsbGJhY2tUaXRsZTtcblx0fVxuXG5cdC8qXG5cdCAqIEluIGNhc2Ugb2YgVUkgY2hhbmdlcywgVGl0bGUvTGluayB0ZXh0IG5lZWRzIHRvIGJlIHNldCB0byBuZXcgdmFsdWUgYWZ0ZXIgSGVhZGVyIEZhY2V0IGNvbnRyb2wgYW5kIGlubmVyIGNvbnRyb2xzIGFyZSByZW5kZXJlZC5cblx0ICogRWxzZTogdGl0bGUgcHJvcGVydHkgbmVlZHMgdG8gYmUgaW5pdGlhbGl6ZWQuXG5cdCAqL1xuXHRvbkFmdGVyUmVuZGVyaW5nKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLnRpdGxlKSB7XG5cdFx0XHR0aGlzLnNldFRpdGxlKHRoaXMudGl0bGUpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjb25zdCBvQ29udHJvbCA9IHRoaXMuZ2V0VGl0bGVDb250cm9sKCk7XG5cdFx0XHRpZiAob0NvbnRyb2wpIHtcblx0XHRcdFx0dGhpcy50aXRsZSA9IG9Db250cm9sLmdldFRleHQoKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRnZXRDb250cm9sSXRlbXMoaXRlbXM6IENvbnRyb2xbXSk6IENvbnRyb2xbXSB7XG5cdFx0bGV0IGFJdGVtczogQ29udHJvbFtdID0gW10sXG5cdFx0XHRpO1xuXHRcdGlmIChpdGVtcykge1xuXHRcdFx0Zm9yIChpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdGlmICgoaXRlbXNbaV0gYXMgSEJveCkuZ2V0SXRlbXMpIHtcblx0XHRcdFx0XHRhSXRlbXMgPSAoaXRlbXNbaV0gYXMgSEJveCkuZ2V0SXRlbXMoKTtcblx0XHRcdFx0fSBlbHNlIGlmICgoaXRlbXNbaV0gYXMgRW5oYW5jZVdpdGhVSTU8TWljcm9DaGFydENvbnRhaW5lcj4pLmdldE1pY3JvQ2hhcnRUaXRsZSkge1xuXHRcdFx0XHRcdGFJdGVtcyA9IChpdGVtc1tpXSBhcyBFbmhhbmNlV2l0aFVJNTxNaWNyb0NoYXJ0Q29udGFpbmVyPikuZ2V0TWljcm9DaGFydFRpdGxlKCk7XG5cdFx0XHRcdH0gZWxzZSBpZiAoXG5cdFx0XHRcdFx0KChpdGVtc1tpXSBhcyBFbmhhbmNlV2l0aFVJNTxNaWNyb0NoYXJ0PikuZ2V0Q29udGVudCgpIGFzIEVuaGFuY2VXaXRoVUk1PE1pY3JvQ2hhcnRDb250YWluZXI+KS5nZXRNaWNyb0NoYXJ0VGl0bGVcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0YUl0ZW1zID0gKFxuXHRcdFx0XHRcdFx0KGl0ZW1zW2ldIGFzIEVuaGFuY2VXaXRoVUk1PE1pY3JvQ2hhcnQ+KS5nZXRDb250ZW50KCkgYXMgRW5oYW5jZVdpdGhVSTU8TWljcm9DaGFydENvbnRhaW5lcj5cblx0XHRcdFx0XHQpLmdldE1pY3JvQ2hhcnRUaXRsZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBhSXRlbXM7XG5cdH1cblxuXHQvKlxuXHQgKiBSZXRyaWV2ZXMgVGl0bGUvTGluayBjb250cm9sIGZyb20gaXRlbXMgYWdncmVnYXRpb24uXG5cdCAqL1xuXHRnZXRUaXRsZUNvbnRyb2woKTogTGluayB8IG51bGwge1xuXHRcdGxldCBhSXRlbXM6IENvbnRyb2xbXSA9IFtdLFxuXHRcdFx0Y29udGVudCxcblx0XHRcdGk7XG5cdFx0Y29uc3QgaXRlbXMgPSB0aGlzLmdldEl0ZW1zKCk7XG5cdFx0YUl0ZW1zID0gdGhpcy5nZXRDb250cm9sSXRlbXMoaXRlbXMpO1xuXHRcdGZvciAoaSA9IDA7IGkgPCBhSXRlbXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdGNvbnN0IGl0ZW0gPSBhSXRlbXNbaV0uaXNBKFwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbC5UaXRsZUxpbmtcIikgPyAoYUl0ZW1zW2ldIGFzIFRpdGxlTGluaykuZ2V0Q29udGVudCgpIDogYUl0ZW1zW2ldO1xuXHRcdFx0aWYgKGl0ZW0pIHtcblx0XHRcdFx0aWYgKGl0ZW0uaXNBPFRpdGxlPihcInNhcC5tLlRpdGxlXCIpIHx8IGl0ZW0uaXNBPExpbms+KFwic2FwLm0uTGlua1wiKSkge1xuXHRcdFx0XHRcdGlmIChpdGVtLmlzQTxUaXRsZT4oXCJzYXAubS5UaXRsZVwiKSkge1xuXHRcdFx0XHRcdFx0Ly8gSWYgYSB0aXRsZSB3YXMgZm91bmQsIGNoZWNrIGlmIHRoZXJlIGlzIGEgbGluayBpbiB0aGUgY29udGVudCBhZ2dyZWdhdGlvblxuXHRcdFx0XHRcdFx0Y29udGVudCA9IGl0ZW0uZ2V0Q29udGVudCgpIGFzIHVua25vd24gYXMgQ29udHJvbCB8IHVuZGVmaW5lZDtcblx0XHRcdFx0XHRcdGlmIChjb250ZW50ICYmIGNvbnRlbnQuaXNBPExpbms+KFwic2FwLm0uTGlua1wiKSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gY29udGVudDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIGl0ZW0gYXMgTGluaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdHNldF9kaXNjb25uZWN0ZWQoZGlzY29ubmVjdGVkOiBib29sZWFuKTogdGhpcyB7XG5cdFx0dGhpcy5fZGlzY29ubmVjdGVkID0gZGlzY29ubmVjdGVkO1xuXHRcdC8vIEJ5IHNldHRpbmcgdGhlIGJpbmRpbmcgY29udGV4dCB0byBgbnVsbGAgd2UgYXJlIHByZXZlbnRpbmcgZGF0YSBsb2FkaW5nXG5cdFx0Ly8gU2V0dGluZyBpdCBiYWNrIHRvIGB1bmRlZmluZWRgIGVuc3VyZXMgdGhhdCB0aGUgcGFyZW50IGNvbnRleHQgaXMgYXBwbGllZFxuXHRcdGlmIChkaXNjb25uZWN0ZWQpIHtcblx0XHRcdHRoaXMuc2V0QmluZGluZ0NvbnRleHQobnVsbCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuc2V0QmluZGluZ0NvbnRleHQodW5kZWZpbmVkKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKlxuXHQgKiBSZXRyaWV2ZXMgbGFiZWwgY29udHJvbHMgZnJvbSBpdGVtcyBhZ2dyZWdhdGlvbi5cblx0ICovXG5cdGdldEZvcm1MYWJlbHMoKTogTGFiZWxbXSB7XG5cdFx0Ly8gTk9URTogUHJlc2VudCBpbXBsZW1lbnRhdGlvbiBvbmx5IHN1cHBvcnRzIGZvciBkaXJlY3QgUmVmZXJlbmNlRmFjZXRzKFZCb3gpIGluIFVJLkZhY2V0cyBhcyBwZXIgdGhlIHJlcXVpcmVtZW50IGZvciBnZXR0aW5nIExhYmVscyBmcm9tIGZvcm1zLlxuXHRcdGNvbnN0IHJldDogTGFiZWxbXSA9IFtdLFxuXHRcdFx0Zm9ybVZCb3ggPSB0aGlzLmdldEl0ZW1zICYmIHRoaXMuZ2V0SXRlbXMoKVswXTtcblxuXHRcdC8vIFZCb3ggaXMgZXF1aXZhbGVudCBvZiBmb3JtXG5cdFx0aWYgKGZvcm1WQm94Py5pc0E8VkJveD4oXCJzYXAubS5WQm94XCIpKSB7XG5cdFx0XHRmb3JtVkJveC5nZXRJdGVtcygpLmZvckVhY2goKGZvcm1FbGVtZW50SEJveCkgPT4ge1xuXHRcdFx0XHQvLyBIQm94IGlzIGVxdWl2YWxlbnQgb2YgZm9ybSBlbGVtZW50XG5cdFx0XHRcdGlmIChmb3JtRWxlbWVudEhCb3guaXNBPEhCb3g+KFwic2FwLm0uSEJveFwiKSkge1xuXHRcdFx0XHRcdGNvbnN0IGxhYmVsQ3RybCA9IGZvcm1FbGVtZW50SEJveC5nZXRJdGVtcygpWzBdO1xuXHRcdFx0XHRcdGlmIChsYWJlbEN0cmw/LmlzQTxMYWJlbD4oXCJzYXAubS5MYWJlbFwiKSkge1xuXHRcdFx0XHRcdFx0Ly8gRmlyc3QgZWxlbWVudCBpcyBsYWJlbFxuXHRcdFx0XHRcdFx0cmV0LnB1c2gobGFiZWxDdHJsKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblx0XHRyZXR1cm4gcmV0O1xuXHR9XG59XG5TdGFzaGVkQ29udHJvbFN1cHBvcnQubWl4SW50byhTdGFzaGFibGVIQm94KTtcblxuZXhwb3J0IGRlZmF1bHQgU3Rhc2hhYmxlSEJveDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O01BZU1BLGFBQWEsSUFBQUMsSUFBQSxHQUhs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
157
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdGFzaGFibGVIQm94IiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiZGVzaWdudGltZSIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJfZGVjNCIsIl9jbGFzcyIsIl9jbGFzczIiLCJfSEJveCIsIl90aGlzIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9kZXNjcmlwdG9yMyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwiZ2V0VGl0bGUiLCJ0aXRsZSIsImdldFRpdGxlQ29udHJvbCIsImdldFRleHQiLCJmYWxsYmFja1RpdGxlIiwib25CZWZvcmVSZW5kZXJpbmciLCJvRXZlbnQiLCJzZXRUZXh0IiwiZ2V0Q29udHJvbEl0ZW1zIiwiaXRlbXMiLCJhSXRlbXMiLCJpIiwiZ2V0SXRlbXMiLCJnZXRNaWNyb0NoYXJ0VGl0bGUiLCJnZXRDb250ZW50IiwiY29udGVudCIsIml0ZW0iLCJpc0EiLCJzZXRfZGlzY29ubmVjdGVkIiwiZGlzY29ubmVjdGVkIiwiX2Rpc2Nvbm5lY3RlZCIsInNldEJpbmRpbmdDb250ZXh0IiwidW5kZWZpbmVkIiwiZ2V0Rm9ybUxhYmVscyIsInJldCIsImZvcm1WQm94IiwiZm9yRWFjaCIsImZvcm1FbGVtZW50SEJveCIsImxhYmVsQ3RybCIsInB1c2giLCJIQm94IiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIiwiU3Rhc2hlZENvbnRyb2xTdXBwb3J0IiwibWl4SW50byJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiU3Rhc2hhYmxlSEJveC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVuaGFuY2VXaXRoVUk1IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgTWljcm9DaGFydCBmcm9tIFwic2FwL2ZlL21hY3Jvcy9NaWNyb0NoYXJ0XCI7XG5pbXBvcnQgdHlwZSBUaXRsZUxpbmsgZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvVGl0bGVMaW5rXCI7XG5pbXBvcnQgdHlwZSBNaWNyb0NoYXJ0Q29udGFpbmVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL21pY3JvY2hhcnQvTWljcm9DaGFydENvbnRhaW5lclwiO1xuaW1wb3J0IEhCb3ggZnJvbSBcInNhcC9tL0hCb3hcIjtcbmltcG9ydCB0eXBlIExhYmVsIGZyb20gXCJzYXAvbS9MYWJlbFwiO1xuaW1wb3J0IHR5cGUgTGluayBmcm9tIFwic2FwL20vTGlua1wiO1xuaW1wb3J0IHR5cGUgVGl0bGUgZnJvbSBcInNhcC9tL1RpdGxlXCI7XG5pbXBvcnQgdHlwZSBWQm94IGZyb20gXCJzYXAvbS9WQm94XCI7XG5pbXBvcnQgdHlwZSBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgU3Rhc2hlZENvbnRyb2xTdXBwb3J0IGZyb20gXCJzYXAvdWkvY29yZS9TdGFzaGVkQ29udHJvbFN1cHBvcnRcIjtcbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5jb250cm9scy5TdGFzaGFibGVIQm94XCIsIHtcblx0ZGVzaWdudGltZTogXCJzYXAvZmUvdGVtcGxhdGVzL09iamVjdFBhZ2UvZGVzaWdudGltZS9TdGFzaGFibGVIQm94LmRlc2lnbnRpbWVcIlxufSlcbmNsYXNzIFN0YXNoYWJsZUhCb3ggZXh0ZW5kcyBIQm94IHtcblx0Lypcblx0ICogVGl0bGUgb2YgdGhlIEhlYWRlciBGYWNldC4gTm90IHZpc2libGUgb24gdGhlIFVJLiBWaXNpYmxlIG9uIHRoZSBVSSBpcyB0aGUgVGl0bGUgb3IgTGluayBjb250cm9sIGluc2lkZSB0aGUgaXRlbXMgYWdncmVnYXRpb24gb2YgdGhlIEhlYWRlciBGYWNldC5cblx0ICogTXVzdCBhbHdheXMgYmUgaW4gc3luYyB3aXRoIHRoZSB2aXNpYmxlIFRpdGxlIG9yIExpbmsgY29udHJvbC5cblx0ICogVGhpcyBpcyB1c2VkIHdoZW4gcmVuYW1pbmcgdGhyb3VnaCB0aGUgZmxleGliaWxpdHkgZGlhbG9nLlxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHR0aXRsZT86IHN0cmluZztcblxuXHQvKlxuXHQgKiBGYWxsYmFjayB0aXRsZSB0byBiZSBkaXNwbGF5ZWQgaWYgbm8gdGl0bGUgaXMgYXZhaWxhYmxlIChvbmx5IG5lZWRlZCBmb3IgZGlzcGxheWluZyBzdGFzaGVkIGhlYWRlciBmYWNldHMgaW4gRmxleCBkaWFsb2cpXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGZhbGxiYWNrVGl0bGUhOiBzdHJpbmc7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0X2Rpc2Nvbm5lY3RlZCE6IGJvb2xlYW47XG5cblx0Lypcblx0ICogUmV0dXJuIHRoZSB0aXRsZSBwcm9wZXJ0eS5cblx0ICovXG5cdGdldFRpdGxlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMudGl0bGUgPz8gdGhpcy5nZXRUaXRsZUNvbnRyb2woKT8uZ2V0VGV4dCgpID8/IHRoaXMuZmFsbGJhY2tUaXRsZTtcblx0fVxuXG5cdG9uQmVmb3JlUmVuZGVyaW5nKG9FdmVudDogalF1ZXJ5LkV2ZW50KTogdm9pZCB8IHVuZGVmaW5lZCB7XG5cdFx0Ly8gSW4gY2FzZSB3ZSBoYXZlIGEgdGl0bGUgY29taW5nIGZyb20gdGhlIFJUQSwgd2UgbmVlZCB0byBzZXQgaXQgdG8gdGhlIGlubmVyIGNvbnRyb2wgYmVmb3JlIHJlbmRlcmluZ1xuXHRcdGlmICh0aGlzLnRpdGxlKSB7XG5cdFx0XHR0aGlzLmdldFRpdGxlQ29udHJvbCgpPy5zZXRUZXh0KHRoaXMudGl0bGUpO1xuXHRcdH1cblx0XHRyZXR1cm4gc3VwZXIub25CZWZvcmVSZW5kZXJpbmcob0V2ZW50KTtcblx0fVxuXG5cdGdldENvbnRyb2xJdGVtcyhpdGVtczogQ29udHJvbFtdKTogQ29udHJvbFtdIHtcblx0XHRsZXQgYUl0ZW1zOiBDb250cm9sW10gPSBbXSxcblx0XHRcdGk7XG5cdFx0aWYgKGl0ZW1zKSB7XG5cdFx0XHRmb3IgKGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0aWYgKChpdGVtc1tpXSBhcyBIQm94KS5nZXRJdGVtcykge1xuXHRcdFx0XHRcdGFJdGVtcyA9IChpdGVtc1tpXSBhcyBIQm94KS5nZXRJdGVtcygpO1xuXHRcdFx0XHR9IGVsc2UgaWYgKChpdGVtc1tpXSBhcyBFbmhhbmNlV2l0aFVJNTxNaWNyb0NoYXJ0Q29udGFpbmVyPikuZ2V0TWljcm9DaGFydFRpdGxlKSB7XG5cdFx0XHRcdFx0YUl0ZW1zID0gKGl0ZW1zW2ldIGFzIEVuaGFuY2VXaXRoVUk1PE1pY3JvQ2hhcnRDb250YWluZXI+KS5nZXRNaWNyb0NoYXJ0VGl0bGUoKTtcblx0XHRcdFx0fSBlbHNlIGlmIChcblx0XHRcdFx0XHQoKGl0ZW1zW2ldIGFzIEVuaGFuY2VXaXRoVUk1PE1pY3JvQ2hhcnQ+KS5nZXRDb250ZW50Py4oKSBhcyBFbmhhbmNlV2l0aFVJNTxNaWNyb0NoYXJ0Q29udGFpbmVyPik/LmdldE1pY3JvQ2hhcnRUaXRsZVxuXHRcdFx0XHQpIHtcblx0XHRcdFx0XHRhSXRlbXMgPSAoXG5cdFx0XHRcdFx0XHQoaXRlbXNbaV0gYXMgRW5oYW5jZVdpdGhVSTU8TWljcm9DaGFydD4pLmdldENvbnRlbnQoKSBhcyBFbmhhbmNlV2l0aFVJNTxNaWNyb0NoYXJ0Q29udGFpbmVyPlxuXHRcdFx0XHRcdCkuZ2V0TWljcm9DaGFydFRpdGxlKCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIGFJdGVtcztcblx0fVxuXG5cdC8qXG5cdCAqIFJldHJpZXZlcyBUaXRsZS9MaW5rIGNvbnRyb2wgZnJvbSBpdGVtcyBhZ2dyZWdhdGlvbi5cblx0ICovXG5cdGdldFRpdGxlQ29udHJvbCgpOiBMaW5rIHwgbnVsbCB7XG5cdFx0bGV0IGFJdGVtczogQ29udHJvbFtdID0gW10sXG5cdFx0XHRjb250ZW50LFxuXHRcdFx0aTtcblx0XHRjb25zdCBpdGVtcyA9IHRoaXMuZ2V0SXRlbXMoKTtcblx0XHRhSXRlbXMgPSB0aGlzLmdldENvbnRyb2xJdGVtcyhpdGVtcyk7XG5cdFx0Zm9yIChpID0gMDsgaSA8IGFJdGVtcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0Y29uc3QgaXRlbSA9IGFJdGVtc1tpXS5pc0EoXCJzYXAuZmUubWFjcm9zLmludGVybmFsLlRpdGxlTGlua1wiKSA/IChhSXRlbXNbaV0gYXMgVGl0bGVMaW5rKS5nZXRDb250ZW50KCkgOiBhSXRlbXNbaV07XG5cdFx0XHRpZiAoaXRlbSkge1xuXHRcdFx0XHRpZiAoaXRlbS5pc0E8VGl0bGU+KFwic2FwLm0uVGl0bGVcIikgfHwgaXRlbS5pc0E8TGluaz4oXCJzYXAubS5MaW5rXCIpKSB7XG5cdFx0XHRcdFx0aWYgKGl0ZW0uaXNBPFRpdGxlPihcInNhcC5tLlRpdGxlXCIpKSB7XG5cdFx0XHRcdFx0XHQvLyBJZiBhIHRpdGxlIHdhcyBmb3VuZCwgY2hlY2sgaWYgdGhlcmUgaXMgYSBsaW5rIGluIHRoZSBjb250ZW50IGFnZ3JlZ2F0aW9uXG5cdFx0XHRcdFx0XHRjb250ZW50ID0gaXRlbS5nZXRDb250ZW50KCkgYXMgdW5rbm93biBhcyBDb250cm9sIHwgdW5kZWZpbmVkO1xuXHRcdFx0XHRcdFx0aWYgKGNvbnRlbnQgJiYgY29udGVudC5pc0E8TGluaz4oXCJzYXAubS5MaW5rXCIpKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBjb250ZW50O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gaXRlbSBhcyBMaW5rO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBudWxsO1xuXHR9XG5cblx0c2V0X2Rpc2Nvbm5lY3RlZChkaXNjb25uZWN0ZWQ6IGJvb2xlYW4pOiB0aGlzIHtcblx0XHR0aGlzLl9kaXNjb25uZWN0ZWQgPSBkaXNjb25uZWN0ZWQ7XG5cdFx0Ly8gQnkgc2V0dGluZyB0aGUgYmluZGluZyBjb250ZXh0IHRvIGBudWxsYCB3ZSBhcmUgcHJldmVudGluZyBkYXRhIGxvYWRpbmdcblx0XHQvLyBTZXR0aW5nIGl0IGJhY2sgdG8gYHVuZGVmaW5lZGAgZW5zdXJlcyB0aGF0IHRoZSBwYXJlbnQgY29udGV4dCBpcyBhcHBsaWVkXG5cdFx0aWYgKGRpc2Nvbm5lY3RlZCkge1xuXHRcdFx0dGhpcy5zZXRCaW5kaW5nQ29udGV4dChudWxsKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5zZXRCaW5kaW5nQ29udGV4dCh1bmRlZmluZWQpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qXG5cdCAqIFJldHJpZXZlcyBsYWJlbCBjb250cm9scyBmcm9tIGl0ZW1zIGFnZ3JlZ2F0aW9uLlxuXHQgKi9cblx0Z2V0Rm9ybUxhYmVscygpOiBMYWJlbFtdIHtcblx0XHQvLyBOT1RFOiBQcmVzZW50IGltcGxlbWVudGF0aW9uIG9ubHkgc3VwcG9ydHMgZm9yIGRpcmVjdCBSZWZlcmVuY2VGYWNldHMoVkJveCkgaW4gVUkuRmFjZXRzIGFzIHBlciB0aGUgcmVxdWlyZW1lbnQgZm9yIGdldHRpbmcgTGFiZWxzIGZyb20gZm9ybXMuXG5cdFx0Y29uc3QgcmV0OiBMYWJlbFtdID0gW10sXG5cdFx0XHRmb3JtVkJveCA9IHRoaXMuZ2V0SXRlbXMgJiYgdGhpcy5nZXRJdGVtcygpWzBdO1xuXG5cdFx0Ly8gVkJveCBpcyBlcXVpdmFsZW50IG9mIGZvcm1cblx0XHRpZiAoZm9ybVZCb3g/LmlzQTxWQm94PihcInNhcC5tLlZCb3hcIikpIHtcblx0XHRcdGZvcm1WQm94LmdldEl0ZW1zKCkuZm9yRWFjaCgoZm9ybUVsZW1lbnRIQm94KSA9PiB7XG5cdFx0XHRcdC8vIEhCb3ggaXMgZXF1aXZhbGVudCBvZiBmb3JtIGVsZW1lbnRcblx0XHRcdFx0aWYgKGZvcm1FbGVtZW50SEJveC5pc0E8SEJveD4oXCJzYXAubS5IQm94XCIpKSB7XG5cdFx0XHRcdFx0Y29uc3QgbGFiZWxDdHJsID0gZm9ybUVsZW1lbnRIQm94LmdldEl0ZW1zKClbMF07XG5cdFx0XHRcdFx0aWYgKGxhYmVsQ3RybD8uaXNBPExhYmVsPihcInNhcC5tLkxhYmVsXCIpKSB7XG5cdFx0XHRcdFx0XHQvLyBGaXJzdCBlbGVtZW50IGlzIGxhYmVsXG5cdFx0XHRcdFx0XHRyZXQucHVzaChsYWJlbEN0cmwpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdHJldHVybiByZXQ7XG5cdH1cbn1cblN0YXNoZWRDb250cm9sU3VwcG9ydC5taXhJbnRvKFN0YXNoYWJsZUhCb3gpO1xuXG5leHBvcnQgZGVmYXVsdCBTdGFzaGFibGVIQm94O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7TUFlTUEsYUFBYSxJQUFBQyxJQUFBLEdBSGxCQyxjQUFjLENBQUMsb0RBQW9ELEVBQUU7SUFDckVDLFVBQVUsRUFBRTtFQUNiLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBT0FDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU01QkYsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBRSxLQUFBLEdBRzVCSCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUFMLElBQUEsQ0FBQVEsTUFBQSxJQUFBQyxPQUFBLDBCQUFBQyxLQUFBO0lBQUEsU0FBQVgsY0FBQTtNQUFBLElBQUFZLEtBQUE7TUFBQSxTQUFBQyxJQUFB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
@@ -17,9 +17,10 @@ class StashableHBox extends HBox {
17
17
  /*
18
18
  * Title of the Header Facet. Not visible on the UI. Visible on the UI is the Title or Link control inside the items aggregation of the Header Facet.
19
19
  * Must always be in sync with the visible Title or Link control.
20
+ * This is used when renaming through the flexibility dialog.
20
21
  */
21
22
  @property({ type: "string" })
22
- title!: string;
23
+ title?: string;
23
24
 
24
25
  /*
25
26
  * Fallback title to be displayed if no title is available (only needed for displaying stashed header facets in Flex dialog)
@@ -30,39 +31,19 @@ class StashableHBox extends HBox {
30
31
  @property({ type: "boolean" })
31
32
  _disconnected!: boolean;
32
33
 
33
- /*
34
- * Set title of visible Title/Link control and own title property.
35
- */
36
- setTitle(sTitle: string): this {
37
- const oControl = this.getTitleControl();
38
- if (oControl) {
39
- oControl.setText(sTitle);
40
- }
41
- this.title = sTitle;
42
-
43
- return this;
44
- }
45
-
46
34
  /*
47
35
  * Return the title property.
48
36
  */
49
37
  getTitle(): string {
50
- return this.title || this.fallbackTitle;
38
+ return this.title ?? this.getTitleControl()?.getText() ?? this.fallbackTitle;
51
39
  }
52
40
 
53
- /*
54
- * In case of UI changes, Title/Link text needs to be set to new value after Header Facet control and inner controls are rendered.
55
- * Else: title property needs to be initialized.
56
- */
57
- onAfterRendering(): void {
41
+ onBeforeRendering(oEvent: jQuery.Event): void | undefined {
42
+ // In case we have a title coming from the RTA, we need to set it to the inner control before rendering
58
43
  if (this.title) {
59
- this.setTitle(this.title);
60
- } else {
61
- const oControl = this.getTitleControl();
62
- if (oControl) {
63
- this.title = oControl.getText();
64
- }
44
+ this.getTitleControl()?.setText(this.title);
65
45
  }
46
+ return super.onBeforeRendering(oEvent);
66
47
  }
67
48
 
68
49
  getControlItems(items: Control[]): Control[] {
@@ -75,7 +56,7 @@ class StashableHBox extends HBox {
75
56
  } else if ((items[i] as EnhanceWithUI5<MicroChartContainer>).getMicroChartTitle) {
76
57
  aItems = (items[i] as EnhanceWithUI5<MicroChartContainer>).getMicroChartTitle();
77
58
  } else if (
78
- ((items[i] as EnhanceWithUI5<MicroChart>).getContent() as EnhanceWithUI5<MicroChartContainer>).getMicroChartTitle
59
+ ((items[i] as EnhanceWithUI5<MicroChart>).getContent?.() as EnhanceWithUI5<MicroChartContainer>)?.getMicroChartTitle
79
60
  ) {
80
61
  aItems = (
81
62
  (items[i] as EnhanceWithUI5<MicroChart>).getContent() as EnhanceWithUI5<MicroChartContainer>
@@ -4,7 +4,7 @@
4
4
  "id": "sap.fe.templates.ObjectPage",
5
5
  "type": "component",
6
6
  "applicationVersion": {
7
- "version": "1.142.0"
7
+ "version": "1.142.1"
8
8
  },
9
9
  "title": "Object Page",
10
10
  "tags": {
@@ -169,7 +169,7 @@
169
169
  visible="{subSection>dataVisualizationTitleVisible}"
170
170
  />
171
171
  </template:if>
172
- <opcontrol:SubSectionBlock visible="{subSection>visible}">
172
+ <opcontrol:SubSectionBlock>
173
173
  <opcontrol:content>
174
174
  <template:if test="{= ${subSection>sideContent} !== undefined}">
175
175
  <template:then>
@@ -36,7 +36,7 @@ sap.ui.define(["sap/f/library", "sap/fe/core/library", "sap/fe/macros/library",
36
36
  controls: [],
37
37
  elements: [],
38
38
  // eslint-disable-next-line no-template-curly-in-string
39
- version: "1.142.0",
39
+ version: "1.142.1",
40
40
  noLibraryCSS: true
41
41
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
42
  });
package/ui5.yaml CHANGED
@@ -28,7 +28,12 @@ builder:
28
28
  filters:
29
29
  - sap/fe/base/**/*
30
30
  - sap/fe/core/**/*
31
+ - sap/fe/core/manifest.json
31
32
  - sap/fe/templates/**/*
33
+ - sap/fe/templates/manifest.json
34
+ - sap/fe/templates/ListReport/manifest.json
35
+ - sap/fe/templates/ObjectPage/manifest.json
36
+ - sap/fe/templates/AnalyticalListPage/manifest.json
32
37
  - sap/fe/navigation/**/*
33
38
  - sap/fe/macros/**/*
34
39
  - sap/fe/controls/**/*