@sapui5/sap.fe.macros 1.142.1 → 1.142.2
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 +1 -1
- package/src/sap/fe/macros/.library +1 -1
- package/src/sap/fe/macros/controls/FileWrapper.js +4 -3
- package/src/sap/fe/macros/controls/FileWrapper.ts +3 -2
- package/src/sap/fe/macros/controls/Section.js +3 -2
- package/src/sap/fe/macros/controls/Section.ts +1 -1
- package/src/sap/fe/macros/field/FieldTemplating.js +1 -1
- package/src/sap/fe/macros/field/FieldTemplating.ts +1 -1
- package/src/sap/fe/macros/internal/field/DisplayStyle.js +3 -2
- package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +1 -0
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +23 -3
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.ts +24 -2
- package/src/sap/fe/macros/library.js +1 -1
- package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.js +5 -1
- package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.ts +4 -0
- package/src/sap/fe/macros/table/MdcTableTemplate.js +5 -4
- package/src/sap/fe/macros/table/MdcTableTemplate.tsx +4 -3
- package/src/sap/fe/macros/table/TableAPI.js +17 -4
- package/src/sap/fe/macros/table/TableAPI.ts +15 -0
- package/src/sap/fe/macros/table/TableEventHandlerProvider.js +10 -1
- package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +10 -0
- package/src/sap/fe/macros/table/TableRuntime.js +6 -4
- package/src/sap/fe/macros/table/TableRuntime.ts +16 -3
- package/src/sap/fe/macros/table/mixin/ContextMenuHandler.js +2 -4
- package/src/sap/fe/macros/table/mixin/ContextMenuHandler.ts +1 -2
- package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.js +10 -4
- package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.ts +9 -3
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +25 -9
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +33 -17
package/package.json
CHANGED
|
@@ -199,8 +199,9 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/co
|
|
|
199
199
|
innerDivMaxWidth = "100%";
|
|
200
200
|
innerDivMinWidth = "3rem";
|
|
201
201
|
} else {
|
|
202
|
-
//
|
|
203
|
-
|
|
202
|
+
// In display mode we can only occupy 90% otherwise the link would be cut off when in a table
|
|
203
|
+
// In edit mode we have to reserve some space for the file upload and delete button (2rem each + 1rem margin)
|
|
204
|
+
innerDivMaxWidth = CommonUtils.getIsEditable(fileWrapper) ? "calc(100% - 6rem)" : "90%";
|
|
204
205
|
innerDivMinWidth = "4.5rem";
|
|
205
206
|
}
|
|
206
207
|
renderManager.openStart("div", fileWrapper); // FileWrapper control div
|
|
@@ -309,4 +310,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/co
|
|
|
309
310
|
}), _class2)) || _class);
|
|
310
311
|
return FileWrapper;
|
|
311
312
|
}, false);
|
|
312
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWxlV3JhcHBlciIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiX2RlYzExIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9GaWVsZFdyYXBwZXIiLCJpZCIsInNldHRpbmdzIiwiX3RoaXMiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9kZXNjcmlwdG9yMyIsIl9kZXNjcmlwdG9yNCIsIl9kZXNjcmlwdG9yNSIsIl9kZXNjcmlwdG9yNiIsIl9kZXNjcmlwdG9yNyIsIl9kZXNjcmlwdG9yOCIsIl9kZXNjcmlwdG9yOSIsIl9kZXNjcmlwdG9yMTAiLCJfYnVzeSIsImF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlIiwib0VsZW1lbnQiLCJtQXJpYVByb3BzIiwib25CZWZvcmVSZW5kZXJpbmciLCJfc2V0QXJpYUxhYmVsbGVkQnkiLCJfc2V0QXJpYVJlcXVpcmVkIiwiX2FkZFNpZGVFZmZlY3RzIiwiX3JlZnJlc2hBdmF0YXIiLCJsaW5rIiwib1BhcmVudCIsImdldFBhcmVudCIsImxhYmVsbGVkYnkiLCJ1bmRlZmluZWQiLCJhZGRBcmlhTGFiZWxsZWRCeSIsImdldElkRm9yTGFiZWwiLCJvQ29udGVudCIsInRleHQiLCJhdmF0YXIiLCJ2aWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3IiwiY29sbGFib3JhdGl2ZURyYWZ0IiwiZ2V0Q29udHJvbGxlciIsImlzQ29sbGFib3JhdGlvbkVuYWJsZWQiLCJhdmF0YXJCaW5kaW5nIiwiZ2V0QmluZGluZ0luZm8iLCJiaW5kaW5nIiwiYXR0YWNoRXZlbnQiLCJyZWZyZXNoQXZhdGFyQ2FjaGVCdXN0aW5nIiwidmlld0RhdGFGdWxsQ29udGV4dFBhdGgiLCJnZXRWaWV3RGF0YSIsImZ1bGxDb250ZXh0UGF0aCIsIm1ldGFNb2RlbCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwibWV0YUNvbnRleHQiLCJnZXRDb250ZXh0IiwibWV0YVBhdGhDb250ZXh0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJwcm9wZXJ0eVBhdGgiLCJkYXRhVmlld01vZGVsUGF0aCIsIk1ldGFNb2RlbENvbnZlcnRlciIsImdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyIsInN0cmVhbVByb3BlcnR5IiwidGFyZ2V0T2JqZWN0IiwicmVxdWlyZWRFeHByZXNzaW9uIiwiVUlGb3JtYXR0ZXJzIiwiZ2V0UmVxdWlyZWRFeHByZXNzaW9uIiwibmF2aWdhdGlvblByb3BlcnRpZXMiLCJtZXRhTW9kZWxQYXRoIiwiZ2V0TWV0YVBhdGgiLCJ2aWV3Q29udGV4dCIsInNvdXJjZVBhdGgiLCJkYXRhIiwiZmllbGRQYXRoIiwicmVwbGFjZSIsInBhdGgiLCJwdXNoIiwiJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGgiLCJmaWxlbmFtZSIsIm1lZGlhVHlwZSIsIl9nZXRTaWRlRWZmZWN0Q29udHJvbGxlciIsImFkZENvbnRyb2xTaWRlRWZmZWN0cyIsInRhcmdldEVudGl0eVR5cGUiLCJmdWxseVF1YWxpZmllZE5hbWUiLCJzb3VyY2VQcm9wZXJ0aWVzIiwidGFyZ2V0RW50aXRpZXMiLCJzb3VyY2VDb250cm9sSWQiLCJnZXRJZCIsImNvbnRyb2xsZXIiLCJfZ2V0Vmlld0NvbnRyb2xsZXIiLCJfc2lkZUVmZmVjdHMiLCJnZXRVcGxvYWRVcmwiLCJjb250ZXh0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJ1cGxvYWRVcmwiLCJnZXRQYXRoIiwiZ2V0Q2Fub25pY2FsUGF0aCIsInNldFVJQnVzeSIsImJ1c3kiLCJ0aGF0IiwiYnVzeURpYWxvZyIsIkJ1c3lEaWFsb2ciLCJnZXRSZXNvdXJjZU1vZGVsIiwiZ2V0VGV4dCIsInNob3dDYW5jZWxCdXR0b24iLCJzZXRUaW1lb3V0Iiwib3BlbiIsImNsb3NlIiwiZ2V0VUlCdXN5IiwicmVuZGVyIiwicmVuZGVyTWFuYWdlciIsImZpbGVXcmFwcGVyIiwiaW5uZXJEaXZNYXhXaWR0aCIsImlubmVyRGl2TWluV2lkdGgiLCJnZXRJc0VkaXRhYmxlIiwib3BlblN0YXJ0Iiwic3R5bGUiLCJ3aWR0aCIsIm9wZW5FbmQiLCJyZW5kZXJDb250cm9sIiwiaWNvbiIsImZpbGVVcGxvYWRlciIsImRlbGV0ZUJ1dHRvbiIsImRlc3Ryb3kiLCJiU3VwcHJlc3NJbnZhbGlkYXRlIiwib1NpZGVFZmZlY3RzIiwicmVtb3ZlQ29udHJvbFNpZGVFZmZlY3RzIiwiRmllbGRXcmFwcGVyIiwiYXBwbHkiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZpbGVXcmFwcGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgYWdncmVnYXRpb24sIGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIFBhZ2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9QYWdlQ29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgU2lkZUVmZmVjdHNDb250cm9sbGVyRXh0ZW5zaW9uIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9TaWRlRWZmZWN0c1wiO1xuaW1wb3J0ICogYXMgTWV0YU1vZGVsQ29udmVydGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHsgZ2V0UmVzb3VyY2VNb2RlbCB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1Jlc291cmNlTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB0eXBlIHsgU2lkZUVmZmVjdHNFbnRpdHlUeXBlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL1NpZGVFZmZlY3RzU2VydmljZUZhY3RvcnlcIjtcbmltcG9ydCAqIGFzIFVJRm9ybWF0dGVycyBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9VSUZvcm1hdHRlcnNcIjtcbmltcG9ydCB0eXBlIEF2YXRhciBmcm9tIFwic2FwL20vQXZhdGFyXCI7XG5pbXBvcnQgQnVzeURpYWxvZyBmcm9tIFwic2FwL20vQnVzeURpYWxvZ1wiO1xuaW1wb3J0IHR5cGUgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCB0eXBlIExpbmsgZnJvbSBcInNhcC9tL0xpbmtcIjtcbmltcG9ydCB0eXBlIFRleHQgZnJvbSBcInNhcC9tL1RleHRcIjtcbmltcG9ydCB0eXBlIE1hbmFnZWRPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIHsgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBJY29uIGZyb20gXCJzYXAvdWkvY29yZS9JY29uXCI7XG5pbXBvcnQgdHlwZSBSZW5kZXJNYW5hZ2VyIGZyb20gXCJzYXAvdWkvY29yZS9SZW5kZXJNYW5hZ2VyXCI7XG5pbXBvcnQgdHlwZSB7IFVSSSB9IGZyb20gXCJzYXAvdWkvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgRmlsZVVwbG9hZGVyIGZyb20gXCJzYXAvdWkvdW5pZmllZC9GaWxlVXBsb2FkZXJcIjtcbmltcG9ydCBGaWVsZFdyYXBwZXIgZnJvbSBcIi4vRmllbGRXcmFwcGVyXCI7XG50eXBlIENvbnRyb2xXaXRoQWNjZXNzaWJpbGl0eSA9IENvbnRyb2wgJiB7IGFkZEFyaWFMYWJlbGxlZEJ5PzogKGlkOiBzdHJpbmcpID0+IHZvaWQgfTtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5GaWxlV3JhcHBlclwiKVxuY2xhc3MgRmlsZVdyYXBwZXIgZXh0ZW5kcyBGaWVsZFdyYXBwZXIge1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInNhcC51aS5jb3JlLlVSSVwiIH0pXG5cdHVwbG9hZFVybCE6IFVSSTtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHByb3BlcnR5UGF0aCE6IHN0cmluZztcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGZpbGVuYW1lITogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0bWVkaWFUeXBlITogc3RyaW5nO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uQXZhdGFyXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRhdmF0YXI6IEF2YXRhciB8IHVuZGVmaW5lZDtcblxuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS5jb3JlLkljb25cIiwgbXVsdGlwbGU6IGZhbHNlIH0pXG5cdGljb24hOiBJY29uO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uTGlua1wiLCBtdWx0aXBsZTogZmFsc2UgfSlcblx0bGluayE6IExpbms7XG5cblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAubS5UZXh0XCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHR0ZXh0ITogVGV4dDtcblxuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS51bmlmaWVkLkZpbGVVcGxvYWRlclwiLCBtdWx0aXBsZTogZmFsc2UgfSlcblx0ZmlsZVVwbG9hZGVyITogRmlsZVVwbG9hZGVyO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uQnV0dG9uXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRkZWxldGVCdXR0b24hOiBCdXR0b247XG5cblx0cHJpdmF0ZSByZXF1aXJlZEV4cHJlc3Npb24/OiBzdHJpbmc7XG5cblx0cHJpdmF0ZSBfZmlsZVVwbG9hZGVyTWFuZGF0b3J5PzogQ29udHJvbDtcblxuXHRwcml2YXRlIF9idXN5ID0gZmFsc2U7XG5cblx0cHJpdmF0ZSBhdmF0YXJDYWNoZUJ1c3RpbmdJbml0aWFsaXplZCA9IGZhbHNlO1xuXG5cdHByaXZhdGUgYnVzeURpYWxvZz86IEJ1c3lEaWFsb2c7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0aWQ/OiBzdHJpbmcgfCB1bmRlZmluZWQgfCAoUHJvcGVydGllc09mPEZpbGVXcmFwcGVyPiAmICRDb250cm9sU2V0dGluZ3MpLFxuXHRcdHNldHRpbmdzPzogUHJvcGVydGllc09mPEZpbGVXcmFwcGVyPiAmICRDb250cm9sU2V0dGluZ3Ncblx0KSB7XG5cdFx0c3VwZXIoaWQgYXMgc3RyaW5nLCBzZXR0aW5ncyk7XG5cdH1cblxuXHRlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlKG9FbGVtZW50OiBvYmplY3QsIG1BcmlhUHJvcHM6IG9iamVjdCk6IG9iamVjdCB7XG5cdFx0Ly8gV2UgZG8gbm90IHdhbnQgdG8gcGFzcyBhcmlhLWxhYmVsbGVkYnkgdG8gYWxsIGNoaWxkIGNvbnRyb2xzLCBvbmx5IHVzZSBpdCBvbmNlIGFzIGEgbGFiZWwgb24gdGhlIHdyYXBwZXIgd2l0aCByb2xlIGdyb3VwLlxuXHRcdHJldHVybiBtQXJpYVByb3BzO1xuXHR9XG5cblx0b25CZWZvcmVSZW5kZXJpbmcoKTogdm9pZCB7XG5cdFx0dGhpcy5fc2V0QXJpYUxhYmVsbGVkQnkoKTtcblx0XHR0aGlzLl9zZXRBcmlhUmVxdWlyZWQoKTtcblx0XHR0aGlzLl9hZGRTaWRlRWZmZWN0cygpO1xuXHRcdHRoaXMuX3JlZnJlc2hBdmF0YXIoKTtcblx0fVxuXG5cdF9zZXRBcmlhTGFiZWxsZWRCeSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5saW5rKSB7XG5cdFx0XHRjb25zdCBvUGFyZW50ID0gdGhpcy5nZXRQYXJlbnQoKTtcblx0XHRcdGNvbnN0IG1BcmlhUHJvcHM6IHsgbGFiZWxsZWRieTogdW5kZWZpbmVkIHwgc3RyaW5nIH0gPSB7IGxhYmVsbGVkYnk6IHVuZGVmaW5lZCB9O1xuXG5cdFx0XHRpZiAob1BhcmVudCAmJiAob1BhcmVudCBhcyBNYW5hZ2VkT2JqZWN0ICYgeyBlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlPzogRnVuY3Rpb24gfSkuZW5oYW5jZUFjY2Vzc2liaWxpdHlTdGF0ZSkge1xuXHRcdFx0XHQob1BhcmVudCBhcyBNYW5hZ2VkT2JqZWN0ICYgeyBlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlOiBGdW5jdGlvbiB9KS5lbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlKHRoaXMubGluaywgbUFyaWFQcm9wcyk7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChtQXJpYVByb3BzLmxhYmVsbGVkYnkpIHtcblx0XHRcdFx0KHRoaXMgYXMgQ29udHJvbFdpdGhBY2Nlc3NpYmlsaXR5KS5hZGRBcmlhTGFiZWxsZWRCeSEobUFyaWFQcm9wcy5sYWJlbGxlZGJ5KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgRE9NTm9kZSBJRCB0byBiZSB1c2VkIGZvciB0aGUgXCJsYWJlbEZvclwiIGF0dHJpYnV0ZS5cblx0ICpcblx0ICogV2UgZm9yd2FyZCB0aGUgY2FsbCBvZiB0aGlzIG1ldGhvZCB0byB0aGUgY29udGVudCBjb250cm9sLlxuXHQgKiBAcmV0dXJucyBJRCB0byBiZSB1c2VkIGZvciB0aGUgPGNvZGU+bGFiZWxGb3I8L2NvZGU+XG5cdCAqL1xuXHRnZXRJZEZvckxhYmVsKCk6IHN0cmluZyB7XG5cdFx0Ly8gV2UgZWl0aGVyIGhhdmUgYSBsaW5rIHRvIGRvd25sb2FkIHRoZSBmaWxlLCBhIHRleHQgaW5kaWNhdGluZyBhbiBlbXB0eSBmaWxlLCBvciBhbiBhdmF0YXIgYW5kIG5vIGxpbmsgb3IgdGV4dFxuXHRcdGNvbnN0IG9Db250ZW50ID0gdGhpcy5saW5rIHx8IHRoaXMudGV4dCB8fCB0aGlzLmF2YXRhcjtcblx0XHRyZXR1cm4gKG9Db250ZW50IGFzIENvbnRyb2wpLmdldElkRm9yTGFiZWwoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJZiBpbiB0aGUgY29sbGFib3JhdGl2ZSBkcmFmdCwgc2VuZCBhIHJlcXVlc3QgdG8gcmVsb2FkIHRoZSBmaWxlLlxuXHQgKi9cblx0X3JlZnJlc2hBdmF0YXIoKTogdm9pZCB7XG5cdFx0Y29uc3QgdmlldyA9IENvbW1vblV0aWxzLmdldFRhcmdldFZpZXcodGhpcyBhcyBDb250cm9sKTtcblx0XHRjb25zdCBjb2xsYWJvcmF0aXZlRHJhZnQgPSB2aWV3LmdldENvbnRyb2xsZXIoKS5jb2xsYWJvcmF0aXZlRHJhZnQ7XG5cdFx0aWYgKGNvbGxhYm9yYXRpdmVEcmFmdC5pc0NvbGxhYm9yYXRpb25FbmFibGVkKCkpIHtcblx0XHRcdGNvbnN0IGF2YXRhckJpbmRpbmcgPSB0aGlzLmF2YXRhcj8uZ2V0QmluZGluZ0luZm8oXCJzcmNcIikuYmluZGluZztcblx0XHRcdGlmIChhdmF0YXJCaW5kaW5nICYmICF0aGlzLmF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkKSB7XG5cdFx0XHRcdGF2YXRhckJpbmRpbmcuYXR0YWNoRXZlbnQoXCJjaGFuZ2VcIiwgKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuYXZhdGFyPy5yZWZyZXNoQXZhdGFyQ2FjaGVCdXN0aW5nKCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHR0aGlzLmF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkID0gdHJ1ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRfc2V0QXJpYVJlcXVpcmVkKCk6IHZvaWQge1xuXHRcdGNvbnN0IHZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KHRoaXMgYXMgQ29udHJvbCksXG5cdFx0XHR2aWV3RGF0YUZ1bGxDb250ZXh0UGF0aCA9IHZpZXcuZ2V0Vmlld0RhdGEoKS5mdWxsQ29udGV4dFBhdGgsXG5cdFx0XHRtZXRhTW9kZWwgPSB2aWV3LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCksXG5cdFx0XHRtZXRhQ29udGV4dCA9IG1ldGFNb2RlbC5nZXRDb250ZXh0KHZpZXdEYXRhRnVsbENvbnRleHRQYXRoKSxcblx0XHRcdG1ldGFQYXRoQ29udGV4dCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dCh0aGlzLnByb3BlcnR5UGF0aCwgbWV0YUNvbnRleHQpLFxuXHRcdFx0ZGF0YVZpZXdNb2RlbFBhdGggPSBNZXRhTW9kZWxDb252ZXJ0ZXIuZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKG1ldGFQYXRoQ29udGV4dCwgbWV0YUNvbnRleHQpO1xuXG5cdFx0Y29uc3Qgc3RyZWFtUHJvcGVydHkgPSBkYXRhVmlld01vZGVsUGF0aC50YXJnZXRPYmplY3QgYXMgUHJvcGVydHk7XG5cdFx0dGhpcy5yZXF1aXJlZEV4cHJlc3Npb24gPSBVSUZvcm1hdHRlcnMuZ2V0UmVxdWlyZWRFeHByZXNzaW9uKFxuXHRcdFx0c3RyZWFtUHJvcGVydHksXG5cdFx0XHR1bmRlZmluZWQsXG5cdFx0XHRmYWxzZSxcblx0XHRcdGZhbHNlLFxuXHRcdFx0e30sXG5cdFx0XHRkYXRhVmlld01vZGVsUGF0aFxuXHRcdCkgYXMgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb247XG5cdH1cblxuXHRfYWRkU2lkZUVmZmVjdHMoKTogdm9pZCB7XG5cdFx0Ly8gYWRkIGNvbnRyb2wgU2lkZUVmZmVjdHMgZm9yIHN0cmVhbSBjb250ZW50LCBmaWxlbmFtZSBhbmQgbWVkaWF0eXBlXG5cdFx0Y29uc3QgbmF2aWdhdGlvblByb3BlcnRpZXM6IFNpZGVFZmZlY3RzRW50aXR5VHlwZVtdID0gW10sXG5cdFx0XHR2aWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzIGFzIENvbnRyb2wpLFxuXHRcdFx0dmlld0RhdGFGdWxsQ29udGV4dFBhdGggPSB2aWV3LmdldFZpZXdEYXRhKCkuZnVsbENvbnRleHRQYXRoLFxuXHRcdFx0bWV0YU1vZGVsID0gdmlldy5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpLFxuXHRcdFx0bWV0YU1vZGVsUGF0aCA9IG1ldGFNb2RlbC5nZXRNZXRhUGF0aCh2aWV3RGF0YUZ1bGxDb250ZXh0UGF0aCksXG5cdFx0XHR2aWV3Q29udGV4dCA9IG1ldGFNb2RlbC5nZXRDb250ZXh0KHZpZXdEYXRhRnVsbENvbnRleHRQYXRoKSxcblx0XHRcdGRhdGFWaWV3TW9kZWxQYXRoID0gTWV0YU1vZGVsQ29udmVydGVyLmdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyh2aWV3Q29udGV4dCksXG5cdFx0XHRzb3VyY2VQYXRoID0gdGhpcy5kYXRhKFwic291cmNlUGF0aFwiKSBhcyBzdHJpbmcsXG5cdFx0XHRmaWVsZFBhdGggPSBzb3VyY2VQYXRoLnJlcGxhY2UoYCR7bWV0YU1vZGVsUGF0aH1gLCBcIlwiKSxcblx0XHRcdHBhdGggPSBmaWVsZFBhdGgucmVwbGFjZSh0aGlzLnByb3BlcnR5UGF0aCwgXCJcIik7XG5cblx0XHRuYXZpZ2F0aW9uUHJvcGVydGllcy5wdXNoKHsgJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IGZpZWxkUGF0aCB9KTtcblx0XHRpZiAodGhpcy5maWxlbmFtZSkge1xuXHRcdFx0bmF2aWdhdGlvblByb3BlcnRpZXMucHVzaCh7ICROYXZpZ2F0aW9uUHJvcGVydHlQYXRoOiBwYXRoICsgdGhpcy5maWxlbmFtZSB9KTtcblx0XHR9XG5cdFx0aWYgKHRoaXMubWVkaWFUeXBlKSB7XG5cdFx0XHRuYXZpZ2F0aW9uUHJvcGVydGllcy5wdXNoKHsgJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IHBhdGggKyB0aGlzLm1lZGlhVHlwZSB9KTtcblx0XHR9XG5cdFx0dGhpcy5fZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIoKT8uYWRkQ29udHJvbFNpZGVFZmZlY3RzKGRhdGFWaWV3TW9kZWxQYXRoLnRhcmdldEVudGl0eVR5cGUuZnVsbHlRdWFsaWZpZWROYW1lLCB7XG5cdFx0XHRzb3VyY2VQcm9wZXJ0aWVzOiBbZmllbGRQYXRoXSxcblx0XHRcdHRhcmdldEVudGl0aWVzOiBuYXZpZ2F0aW9uUHJvcGVydGllcyxcblx0XHRcdHNvdXJjZUNvbnRyb2xJZDogdGhpcy5nZXRJZCgpXG5cdFx0fSk7XG5cdH1cblxuXHRfZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIoKTogU2lkZUVmZmVjdHNDb250cm9sbGVyRXh0ZW5zaW9uIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBjb250cm9sbGVyID0gdGhpcy5fZ2V0Vmlld0NvbnRyb2xsZXIoKSBhcyBQYWdlQ29udHJvbGxlciB8IHVuZGVmaW5lZDtcblx0XHRyZXR1cm4gY29udHJvbGxlciA/IGNvbnRyb2xsZXIuX3NpZGVFZmZlY3RzIDogdW5kZWZpbmVkO1xuXHR9XG5cblx0X2dldFZpZXdDb250cm9sbGVyKCk6IFBhZ2VDb250cm9sbGVyIHtcblx0XHRjb25zdCB2aWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzIGFzIENvbnRyb2wpO1xuXHRcdHJldHVybiB2aWV3ICYmIHZpZXcuZ2V0Q29udHJvbGxlcigpO1xuXHR9XG5cblx0Z2V0VXBsb2FkVXJsKCk6IHN0cmluZyB7XG5cdFx0Ly8gc2V0IHVwbG9hZCB1cmwgYXMgY2Fub25pY2FsIHVybCBmb3IgTmF2aWdhdGlvblByb3BlcnRpZXNcblx0XHQvLyB0aGlzIGlzIGEgd29ya2Fyb3VuZCBhcyBzb21lIGJhY2tlbmRzIGNhbm5vdCByZXNvbHZlIE5hdmlnYXRpb25zUHJvcGVydGllcyBmb3Igc3RyZWFtIHR5cGVzXG5cdFx0Y29uc3QgY29udGV4dCA9IHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoKSBhcyBDb250ZXh0O1xuXHRcdHJldHVybiBjb250ZXh0ICYmIHRoaXMudXBsb2FkVXJsID8gdGhpcy51cGxvYWRVcmwucmVwbGFjZShjb250ZXh0LmdldFBhdGgoKSwgY29udGV4dC5nZXRDYW5vbmljYWxQYXRoKCkpIDogXCJcIjtcblx0fVxuXG5cdHNldFVJQnVzeShidXN5OiBib29sZWFuKTogdm9pZCB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG5cdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0dGhpcy5fYnVzeSA9IGJ1c3k7XG5cdFx0aWYgKGJ1c3kpIHtcblx0XHRcdGlmICghdGhpcy5idXN5RGlhbG9nKSB7XG5cdFx0XHRcdHRoaXMuYnVzeURpYWxvZyA9IG5ldyBCdXN5RGlhbG9nKHtcblx0XHRcdFx0XHR0ZXh0OiBnZXRSZXNvdXJjZU1vZGVsKHRoaXMpLmdldFRleHQoXCJNX0ZJTEVXUkFQUEVSX0JVU1lfRElBTE9HX1RJVExFXCIpLFxuXHRcdFx0XHRcdHNob3dDYW5jZWxCdXR0b246IGZhbHNlXG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdFx0c2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdGlmICh0aGF0Ll9idXN5KSB7XG5cdFx0XHRcdFx0dGhhdC5idXN5RGlhbG9nPy5vcGVuKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0sIDEwMDApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmJ1c3lEaWFsb2c/LmNsb3NlKGZhbHNlKTtcblx0XHR9XG5cdH1cblxuXHRnZXRVSUJ1c3koKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2J1c3k7XG5cdH1cblxuXHRzdGF0aWMgcmVuZGVyKHJlbmRlck1hbmFnZXI6IFJlbmRlck1hbmFnZXIsIGZpbGVXcmFwcGVyOiBGaWxlV3JhcHBlcik6IHZvaWQge1xuXHRcdGxldCBpbm5lckRpdk1heFdpZHRoLCBpbm5lckRpdk1pbldpZHRoO1xuXHRcdGlmIChmaWxlV3JhcHBlci5hdmF0YXIpIHtcblx0XHRcdC8vIFRoZSBhdmF0YXIgaGFzIGEgZml4ZWQgd2lkdGggKDNyZW0pIHRoZXJlZm9yZSB0aGUgaW5uZXIgZGl2IGNhbiBoYXZlIGEgbG93ZXIgbWluIHdpZHRoIHRoYW4gaWNvbiBhbmQgbGlua1xuXHRcdFx0aW5uZXJEaXZNYXhXaWR0aCA9IFwiMTAwJVwiO1xuXHRcdFx0aW5uZXJEaXZNaW5XaWR0aCA9IFwiM3JlbVwiO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBEZXBlbmRpbmcgb24gZGlzcGxheSBvciBlZGl0IG1vZGUgd2UgaGF2ZSB0byByZXNlcnZlIHNvbWUgc3BhY2UgZm9yIHRoZSBmaWxlIHVwbG9hZCBhbmQgZGVsZXRlIGJ1dHRvbiAoMnJlbSBlYWNoICsgMXJlbSBtYXJnaW4pXG5cdFx0XHRpbm5lckRpdk1heFdpZHRoID0gQ29tbW9uVXRpbHMuZ2V0SXNFZGl0YWJsZShmaWxlV3JhcHBlciBhcyB1bmtub3duIGFzIE1hbmFnZWRPYmplY3QpID8gXCJjYWxjKDEwMCUgLSA1cmVtKVwiIDogXCIxMDAlXCI7XG5cdFx0XHRpbm5lckRpdk1pbldpZHRoID0gXCI0LjVyZW1cIjtcblx0XHR9XG5cblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5TdGFydChcImRpdlwiLCBmaWxlV3JhcHBlcik7IC8vIEZpbGVXcmFwcGVyIGNvbnRyb2wgZGl2XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcIndpZHRoXCIsIGZpbGVXcmFwcGVyLndpZHRoKTtcblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5FbmQoKTtcblxuXHRcdC8vIE91dGVyIEJveFxuXHRcdHJlbmRlck1hbmFnZXIub3BlblN0YXJ0KFwiZGl2XCIpOyAvLyBkaXYgZm9yIGFsbCBjb250cm9sc1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJkaXNwbGF5XCIsIFwiZmxleFwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiYm94LXNpemluZ1wiLCBcImJvcmRlci1ib3hcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImp1c3RpZnktY29udGVudFwiLCBcInNwYWNlLWJldHdlZW5cIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImFsaWduLWl0ZW1zXCIsIFwiY2VudGVyXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJmbGV4LXdyYXBcIiwgXCJ3cmFwXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJhbGlnbi1jb250ZW50XCIsIFwic3RyZXRjaFwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwid2lkdGhcIiwgXCIxMDAlXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIub3BlbkVuZCgpO1xuXG5cdFx0Ly8gRGlzcGxheSBNb2RlXG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuU3RhcnQoXCJkaXZcIik7IC8vIGRpdiBmb3IgY29udHJvbHMgc2hvd24gaW4gRGlzcGxheSBtb2RlXG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImRpc3BsYXlcIiwgXCJmbGV4XCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJhbGlnbi1pdGVtc1wiLCBcImNlbnRlclwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwibWF4LXdpZHRoXCIsIGlubmVyRGl2TWF4V2lkdGgpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJtaW4td2lkdGhcIiwgaW5uZXJEaXZNaW5XaWR0aCk7XG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuRW5kKCk7XG5cblx0XHRpZiAoZmlsZVdyYXBwZXIuYXZhdGFyKSB7XG5cdFx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIuYXZhdGFyKTsgLy8gcmVuZGVyIHRoZSBBdmF0YXIgQ29udHJvbFxuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIuaWNvbik7IC8vIHJlbmRlciB0aGUgSWNvbiBDb250cm9sXG5cdFx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIubGluayk7IC8vIHJlbmRlciB0aGUgTGluayBDb250cm9sXG5cdFx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIudGV4dCk7IC8vIHJlbmRlciB0aGUgVGV4dCBDb250cm9sIGZvciBlbXB0eSBmaWxlIGluZGljYXRpb25cblx0XHR9XG5cdFx0cmVuZGVyTWFuYWdlci5jbG9zZShcImRpdlwiKTsgLy8gZGl2IGZvciBjb250cm9scyBzaG93biBpbiBEaXNwbGF5IG1vZGVcblxuXHRcdC8vIEFkZGl0aW9uYWwgY29udGVudCBmb3IgRWRpdCBNb2RlXG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuU3RhcnQoXCJkaXZcIik7IC8vIGRpdiBmb3IgY29udHJvbHMgc2hvd24gaW4gRGlzcGxheSArIEVkaXQgbW9kZVxuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJkaXNwbGF5XCIsIFwiZmxleFwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiYWxpZ24taXRlbXNcIiwgXCJjZW50ZXJcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuRW5kKCk7XG5cdFx0cmVuZGVyTWFuYWdlci5yZW5kZXJDb250cm9sKGZpbGVXcmFwcGVyLmZpbGVVcGxvYWRlcik7IC8vIHJlbmRlciB0aGUgRmlsZVVwbG9hZGVyIENvbnRyb2xcblx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIuZGVsZXRlQnV0dG9uKTsgLy8gcmVuZGVyIHRoZSBEZWxldGUgQnV0dG9uIENvbnRyb2xcblx0XHRyZW5kZXJNYW5hZ2VyLmNsb3NlKFwiZGl2XCIpOyAvLyBkaXYgZm9yIGNvbnRyb2xzIHNob3duIGluIERpc3BsYXkgKyBFZGl0IG1vZGVcblxuXHRcdHJlbmRlck1hbmFnZXIuY2xvc2UoXCJkaXZcIik7IC8vIGRpdiBmb3IgYWxsIGNvbnRyb2xzXG5cblx0XHRyZW5kZXJNYW5hZ2VyLmNsb3NlKFwiZGl2XCIpOyAvLyBlbmQgb2YgdGhlIGNvbXBsZXRlIENvbnRyb2xcblx0fVxuXG5cdGRlc3Ryb3koYlN1cHByZXNzSW52YWxpZGF0ZTogYm9vbGVhbik6IHZvaWQge1xuXHRcdGNvbnN0IG9TaWRlRWZmZWN0cyA9IHRoaXMuX2dldFNpZGVFZmZlY3RDb250cm9sbGVyKCk7XG5cdFx0aWYgKG9TaWRlRWZmZWN0cykge1xuXHRcdFx0b1NpZGVFZmZlY3RzLnJlbW92ZUNvbnRyb2xTaWRlRWZmZWN0cyh0aGlzKTtcblx0XHR9XG5cdFx0ZGVsZXRlIHRoaXMuYnVzeURpYWxvZztcblx0XHRGaWVsZFdyYXBwZXIucHJvdG90eXBlLmRlc3Ryb3kuYXBwbHkodGhpcywgW2JTdXBwcmVzc0ludmFsaWRhdGVdKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBGaWxlV3JhcHBlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7TUE0Qk1BLFdBQVcsSUFBQUMsSUFBQSxHQURoQkMsY0FBYyxDQUFDLG9DQUFvQyxDQUFDLEVBQUFDLEtBQUEsR0FFbkRDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBa0IsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FHckNGLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUUsS0FBQSxHQUc1QkgsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBRyxLQUFBLEdBRzVCSixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFJLEtBQUEsR0FHNUJDLFdBQVcsQ0FBQztJQUFFTCxJ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QUFBaEksWUFBQSxHQUFBNEgseUJBQUEsQ0FBQXBJLE9BQUEsQ0FBQXFCLFNBQUEsbUJBQUFqQyxLQUFBO0lBQUFpSixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQS9ILFlBQUEsR0FBQTJILHlCQUFBLENBQUFwSSxPQUFBLENBQUFxQixTQUFBLGVBQUFoQyxLQUFBO0lBQUFnSixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQTlILFlBQUEsR0FBQTBILHlCQUFBLENBQUFwSSxPQUFBLENBQUFxQixTQUFBLGdCQUFBL0IsS0FBQTtJQUFBK0ksWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUE3SCxZQUFBLEdBQUF5SCx5QkFBQSxDQUFBcEksT0FBQSxDQUFBcUIsU0FBQSxhQUFBOUIsS0FBQTtJQUFBOEksWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUE1SCxZQUFBLEdBQUF3SCx5QkFBQSxDQUFBcEksT0FBQSxDQUFBcUIsU0FBQSxXQUFBM0IsS0FBQTtJQUFBMkksWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUEzSCxZQUFBLEdBQUF1SCx5QkFBQSxDQUFBcEksT0FBQSxDQUFBcUIsU0FBQSxXQUFBMUIsS0FBQTtJQUFBMEksWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUExSCxZQUFBLEdBQUFzSCx5QkFBQSxDQUFBcEksT0FBQSxDQUFBcUIsU0FBQSxXQUFBekIsS0FBQTtJQUFBeUksWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUF6SCxZQUFBLEdBQUFxSCx5QkFBQSxDQUFBcEksT0FBQSxDQUFBcUIsU0FBQSxtQkFBQXhCLE1BQUE7SUFBQXdJLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBeEgsYUFBQSxHQUFBb0gseUJBQUEsQ0FBQXBJLE9BQUEsQ0FBQXFCLFNBQUEsbUJBQUF2QixNQUFBO0lBQUF1SSxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQXhJLE9BQUEsTUFBQUQsTUFBQTtFQUFBLE9Bb1F2QmpCLFdBQVc7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
313
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWxlV3JhcHBlciIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiX2RlYzExIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9GaWVsZFdyYXBwZXIiLCJpZCIsInNldHRpbmdzIiwiX3RoaXMiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9kZXNjcmlwdG9yMyIsIl9kZXNjcmlwdG9yNCIsIl9kZXNjcmlwdG9yNSIsIl9kZXNjcmlwdG9yNiIsIl9kZXNjcmlwdG9yNyIsIl9kZXNjcmlwdG9yOCIsIl9kZXNjcmlwdG9yOSIsIl9kZXNjcmlwdG9yMTAiLCJfYnVzeSIsImF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlIiwib0VsZW1lbnQiLCJtQXJpYVByb3BzIiwib25CZWZvcmVSZW5kZXJpbmciLCJfc2V0QXJpYUxhYmVsbGVkQnkiLCJfc2V0QXJpYVJlcXVpcmVkIiwiX2FkZFNpZGVFZmZlY3RzIiwiX3JlZnJlc2hBdmF0YXIiLCJsaW5rIiwib1BhcmVudCIsImdldFBhcmVudCIsImxhYmVsbGVkYnkiLCJ1bmRlZmluZWQiLCJhZGRBcmlhTGFiZWxsZWRCeSIsImdldElkRm9yTGFiZWwiLCJvQ29udGVudCIsInRleHQiLCJhdmF0YXIiLCJ2aWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3IiwiY29sbGFib3JhdGl2ZURyYWZ0IiwiZ2V0Q29udHJvbGxlciIsImlzQ29sbGFib3JhdGlvbkVuYWJsZWQiLCJhdmF0YXJCaW5kaW5nIiwiZ2V0QmluZGluZ0luZm8iLCJiaW5kaW5nIiwiYXR0YWNoRXZlbnQiLCJyZWZyZXNoQXZhdGFyQ2FjaGVCdXN0aW5nIiwidmlld0RhdGFGdWxsQ29udGV4dFBhdGgiLCJnZXRWaWV3RGF0YSIsImZ1bGxDb250ZXh0UGF0aCIsIm1ldGFNb2RlbCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwibWV0YUNvbnRleHQiLCJnZXRDb250ZXh0IiwibWV0YVBhdGhDb250ZXh0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJwcm9wZXJ0eVBhdGgiLCJkYXRhVmlld01vZGVsUGF0aCIsIk1ldGFNb2RlbENvbnZlcnRlciIsImdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyIsInN0cmVhbVByb3BlcnR5IiwidGFyZ2V0T2JqZWN0IiwicmVxdWlyZWRFeHByZXNzaW9uIiwiVUlGb3JtYXR0ZXJzIiwiZ2V0UmVxdWlyZWRFeHByZXNzaW9uIiwibmF2aWdhdGlvblByb3BlcnRpZXMiLCJtZXRhTW9kZWxQYXRoIiwiZ2V0TWV0YVBhdGgiLCJ2aWV3Q29udGV4dCIsInNvdXJjZVBhdGgiLCJkYXRhIiwiZmllbGRQYXRoIiwicmVwbGFjZSIsInBhdGgiLCJwdXNoIiwiJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGgiLCJmaWxlbmFtZSIsIm1lZGlhVHlwZSIsIl9nZXRTaWRlRWZmZWN0Q29udHJvbGxlciIsImFkZENvbnRyb2xTaWRlRWZmZWN0cyIsInRhcmdldEVudGl0eVR5cGUiLCJmdWxseVF1YWxpZmllZE5hbWUiLCJzb3VyY2VQcm9wZXJ0aWVzIiwidGFyZ2V0RW50aXRpZXMiLCJzb3VyY2VDb250cm9sSWQiLCJnZXRJZCIsImNvbnRyb2xsZXIiLCJfZ2V0Vmlld0NvbnRyb2xsZXIiLCJfc2lkZUVmZmVjdHMiLCJnZXRVcGxvYWRVcmwiLCJjb250ZXh0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJ1cGxvYWRVcmwiLCJnZXRQYXRoIiwiZ2V0Q2Fub25pY2FsUGF0aCIsInNldFVJQnVzeSIsImJ1c3kiLCJ0aGF0IiwiYnVzeURpYWxvZyIsIkJ1c3lEaWFsb2ciLCJnZXRSZXNvdXJjZU1vZGVsIiwiZ2V0VGV4dCIsInNob3dDYW5jZWxCdXR0b24iLCJzZXRUaW1lb3V0Iiwib3BlbiIsImNsb3NlIiwiZ2V0VUlCdXN5IiwicmVuZGVyIiwicmVuZGVyTWFuYWdlciIsImZpbGVXcmFwcGVyIiwiaW5uZXJEaXZNYXhXaWR0aCIsImlubmVyRGl2TWluV2lkdGgiLCJnZXRJc0VkaXRhYmxlIiwib3BlblN0YXJ0Iiwic3R5bGUiLCJ3aWR0aCIsIm9wZW5FbmQiLCJyZW5kZXJDb250cm9sIiwiaWNvbiIsImZpbGVVcGxvYWRlciIsImRlbGV0ZUJ1dHRvbiIsImRlc3Ryb3kiLCJiU3VwcHJlc3NJbnZhbGlkYXRlIiwib1NpZGVFZmZlY3RzIiwicmVtb3ZlQ29udHJvbFNpZGVFZmZlY3RzIiwiRmllbGRXcmFwcGVyIiwiYXBwbHkiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZpbGVXcmFwcGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgYWdncmVnYXRpb24sIGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIFBhZ2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9QYWdlQ29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgU2lkZUVmZmVjdHNDb250cm9sbGVyRXh0ZW5zaW9uIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9TaWRlRWZmZWN0c1wiO1xuaW1wb3J0ICogYXMgTWV0YU1vZGVsQ29udmVydGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHsgZ2V0UmVzb3VyY2VNb2RlbCB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1Jlc291cmNlTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB0eXBlIHsgU2lkZUVmZmVjdHNFbnRpdHlUeXBlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL1NpZGVFZmZlY3RzU2VydmljZUZhY3RvcnlcIjtcbmltcG9ydCAqIGFzIFVJRm9ybWF0dGVycyBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9VSUZvcm1hdHRlcnNcIjtcbmltcG9ydCB0eXBlIEF2YXRhciBmcm9tIFwic2FwL20vQXZhdGFyXCI7XG5pbXBvcnQgQnVzeURpYWxvZyBmcm9tIFwic2FwL20vQnVzeURpYWxvZ1wiO1xuaW1wb3J0IHR5cGUgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCB0eXBlIExpbmsgZnJvbSBcInNhcC9tL0xpbmtcIjtcbmltcG9ydCB0eXBlIFRleHQgZnJvbSBcInNhcC9tL1RleHRcIjtcbmltcG9ydCB0eXBlIE1hbmFnZWRPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIHsgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBJY29uIGZyb20gXCJzYXAvdWkvY29yZS9JY29uXCI7XG5pbXBvcnQgdHlwZSBSZW5kZXJNYW5hZ2VyIGZyb20gXCJzYXAvdWkvY29yZS9SZW5kZXJNYW5hZ2VyXCI7XG5pbXBvcnQgdHlwZSB7IFVSSSB9IGZyb20gXCJzYXAvdWkvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgRmlsZVVwbG9hZGVyIGZyb20gXCJzYXAvdWkvdW5pZmllZC9GaWxlVXBsb2FkZXJcIjtcbmltcG9ydCBGaWVsZFdyYXBwZXIgZnJvbSBcIi4vRmllbGRXcmFwcGVyXCI7XG50eXBlIENvbnRyb2xXaXRoQWNjZXNzaWJpbGl0eSA9IENvbnRyb2wgJiB7IGFkZEFyaWFMYWJlbGxlZEJ5PzogKGlkOiBzdHJpbmcpID0+IHZvaWQgfTtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5GaWxlV3JhcHBlclwiKVxuY2xhc3MgRmlsZVdyYXBwZXIgZXh0ZW5kcyBGaWVsZFdyYXBwZXIge1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInNhcC51aS5jb3JlLlVSSVwiIH0pXG5cdHVwbG9hZFVybCE6IFVSSTtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHByb3BlcnR5UGF0aCE6IHN0cmluZztcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGZpbGVuYW1lITogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0bWVkaWFUeXBlITogc3RyaW5nO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uQXZhdGFyXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRhdmF0YXI6IEF2YXRhciB8IHVuZGVmaW5lZDtcblxuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS5jb3JlLkljb25cIiwgbXVsdGlwbGU6IGZhbHNlIH0pXG5cdGljb24hOiBJY29uO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uTGlua1wiLCBtdWx0aXBsZTogZmFsc2UgfSlcblx0bGluayE6IExpbms7XG5cblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAubS5UZXh0XCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHR0ZXh0ITogVGV4dDtcblxuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS51bmlmaWVkLkZpbGVVcGxvYWRlclwiLCBtdWx0aXBsZTogZmFsc2UgfSlcblx0ZmlsZVVwbG9hZGVyITogRmlsZVVwbG9hZGVyO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uQnV0dG9uXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRkZWxldGVCdXR0b24hOiBCdXR0b247XG5cblx0cHJpdmF0ZSByZXF1aXJlZEV4cHJlc3Npb24/OiBzdHJpbmc7XG5cblx0cHJpdmF0ZSBfZmlsZVVwbG9hZGVyTWFuZGF0b3J5PzogQ29udHJvbDtcblxuXHRwcml2YXRlIF9idXN5ID0gZmFsc2U7XG5cblx0cHJpdmF0ZSBhdmF0YXJDYWNoZUJ1c3RpbmdJbml0aWFsaXplZCA9IGZhbHNlO1xuXG5cdHByaXZhdGUgYnVzeURpYWxvZz86IEJ1c3lEaWFsb2c7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0aWQ/OiBzdHJpbmcgfCB1bmRlZmluZWQgfCAoUHJvcGVydGllc09mPEZpbGVXcmFwcGVyPiAmICRDb250cm9sU2V0dGluZ3MpLFxuXHRcdHNldHRpbmdzPzogUHJvcGVydGllc09mPEZpbGVXcmFwcGVyPiAmICRDb250cm9sU2V0dGluZ3Ncblx0KSB7XG5cdFx0c3VwZXIoaWQgYXMgc3RyaW5nLCBzZXR0aW5ncyk7XG5cdH1cblxuXHRlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlKG9FbGVtZW50OiBvYmplY3QsIG1BcmlhUHJvcHM6IG9iamVjdCk6IG9iamVjdCB7XG5cdFx0Ly8gV2UgZG8gbm90IHdhbnQgdG8gcGFzcyBhcmlhLWxhYmVsbGVkYnkgdG8gYWxsIGNoaWxkIGNvbnRyb2xzLCBvbmx5IHVzZSBpdCBvbmNlIGFzIGEgbGFiZWwgb24gdGhlIHdyYXBwZXIgd2l0aCByb2xlIGdyb3VwLlxuXHRcdHJldHVybiBtQXJpYVByb3BzO1xuXHR9XG5cblx0b25CZWZvcmVSZW5kZXJpbmcoKTogdm9pZCB7XG5cdFx0dGhpcy5fc2V0QXJpYUxhYmVsbGVkQnkoKTtcblx0XHR0aGlzLl9zZXRBcmlhUmVxdWlyZWQoKTtcblx0XHR0aGlzLl9hZGRTaWRlRWZmZWN0cygpO1xuXHRcdHRoaXMuX3JlZnJlc2hBdmF0YXIoKTtcblx0fVxuXG5cdF9zZXRBcmlhTGFiZWxsZWRCeSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5saW5rKSB7XG5cdFx0XHRjb25zdCBvUGFyZW50ID0gdGhpcy5nZXRQYXJlbnQoKTtcblx0XHRcdGNvbnN0IG1BcmlhUHJvcHM6IHsgbGFiZWxsZWRieTogdW5kZWZpbmVkIHwgc3RyaW5nIH0gPSB7IGxhYmVsbGVkYnk6IHVuZGVmaW5lZCB9O1xuXG5cdFx0XHRpZiAob1BhcmVudCAmJiAob1BhcmVudCBhcyBNYW5hZ2VkT2JqZWN0ICYgeyBlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlPzogRnVuY3Rpb24gfSkuZW5oYW5jZUFjY2Vzc2liaWxpdHlTdGF0ZSkge1xuXHRcdFx0XHQob1BhcmVudCBhcyBNYW5hZ2VkT2JqZWN0ICYgeyBlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlOiBGdW5jdGlvbiB9KS5lbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlKHRoaXMubGluaywgbUFyaWFQcm9wcyk7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChtQXJpYVByb3BzLmxhYmVsbGVkYnkpIHtcblx0XHRcdFx0KHRoaXMgYXMgQ29udHJvbFdpdGhBY2Nlc3NpYmlsaXR5KS5hZGRBcmlhTGFiZWxsZWRCeSEobUFyaWFQcm9wcy5sYWJlbGxlZGJ5KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgRE9NTm9kZSBJRCB0byBiZSB1c2VkIGZvciB0aGUgXCJsYWJlbEZvclwiIGF0dHJpYnV0ZS5cblx0ICpcblx0ICogV2UgZm9yd2FyZCB0aGUgY2FsbCBvZiB0aGlzIG1ldGhvZCB0byB0aGUgY29udGVudCBjb250cm9sLlxuXHQgKiBAcmV0dXJucyBJRCB0byBiZSB1c2VkIGZvciB0aGUgPGNvZGU+bGFiZWxGb3I8L2NvZGU+XG5cdCAqL1xuXHRnZXRJZEZvckxhYmVsKCk6IHN0cmluZyB7XG5cdFx0Ly8gV2UgZWl0aGVyIGhhdmUgYSBsaW5rIHRvIGRvd25sb2FkIHRoZSBmaWxlLCBhIHRleHQgaW5kaWNhdGluZyBhbiBlbXB0eSBmaWxlLCBvciBhbiBhdmF0YXIgYW5kIG5vIGxpbmsgb3IgdGV4dFxuXHRcdGNvbnN0IG9Db250ZW50ID0gdGhpcy5saW5rIHx8IHRoaXMudGV4dCB8fCB0aGlzLmF2YXRhcjtcblx0XHRyZXR1cm4gKG9Db250ZW50IGFzIENvbnRyb2wpLmdldElkRm9yTGFiZWwoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJZiBpbiB0aGUgY29sbGFib3JhdGl2ZSBkcmFmdCwgc2VuZCBhIHJlcXVlc3QgdG8gcmVsb2FkIHRoZSBmaWxlLlxuXHQgKi9cblx0X3JlZnJlc2hBdmF0YXIoKTogdm9pZCB7XG5cdFx0Y29uc3QgdmlldyA9IENvbW1vblV0aWxzLmdldFRhcmdldFZpZXcodGhpcyBhcyBDb250cm9sKTtcblx0XHRjb25zdCBjb2xsYWJvcmF0aXZlRHJhZnQgPSB2aWV3LmdldENvbnRyb2xsZXIoKS5jb2xsYWJvcmF0aXZlRHJhZnQ7XG5cdFx0aWYgKGNvbGxhYm9yYXRpdmVEcmFmdC5pc0NvbGxhYm9yYXRpb25FbmFibGVkKCkpIHtcblx0XHRcdGNvbnN0IGF2YXRhckJpbmRpbmcgPSB0aGlzLmF2YXRhcj8uZ2V0QmluZGluZ0luZm8oXCJzcmNcIikuYmluZGluZztcblx0XHRcdGlmIChhdmF0YXJCaW5kaW5nICYmICF0aGlzLmF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkKSB7XG5cdFx0XHRcdGF2YXRhckJpbmRpbmcuYXR0YWNoRXZlbnQoXCJjaGFuZ2VcIiwgKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuYXZhdGFyPy5yZWZyZXNoQXZhdGFyQ2FjaGVCdXN0aW5nKCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHR0aGlzLmF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkID0gdHJ1ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRfc2V0QXJpYVJlcXVpcmVkKCk6IHZvaWQge1xuXHRcdGNvbnN0IHZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KHRoaXMgYXMgQ29udHJvbCksXG5cdFx0XHR2aWV3RGF0YUZ1bGxDb250ZXh0UGF0aCA9IHZpZXcuZ2V0Vmlld0RhdGEoKS5mdWxsQ29udGV4dFBhdGgsXG5cdFx0XHRtZXRhTW9kZWwgPSB2aWV3LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCksXG5cdFx0XHRtZXRhQ29udGV4dCA9IG1ldGFNb2RlbC5nZXRDb250ZXh0KHZpZXdEYXRhRnVsbENvbnRleHRQYXRoKSxcblx0XHRcdG1ldGFQYXRoQ29udGV4dCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dCh0aGlzLnByb3BlcnR5UGF0aCwgbWV0YUNvbnRleHQpLFxuXHRcdFx0ZGF0YVZpZXdNb2RlbFBhdGggPSBNZXRhTW9kZWxDb252ZXJ0ZXIuZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKG1ldGFQYXRoQ29udGV4dCwgbWV0YUNvbnRleHQpO1xuXG5cdFx0Y29uc3Qgc3RyZWFtUHJvcGVydHkgPSBkYXRhVmlld01vZGVsUGF0aC50YXJnZXRPYmplY3QgYXMgUHJvcGVydHk7XG5cdFx0dGhpcy5yZXF1aXJlZEV4cHJlc3Npb24gPSBVSUZvcm1hdHRlcnMuZ2V0UmVxdWlyZWRFeHByZXNzaW9uKFxuXHRcdFx0c3RyZWFtUHJvcGVydHksXG5cdFx0XHR1bmRlZmluZWQsXG5cdFx0XHRmYWxzZSxcblx0XHRcdGZhbHNlLFxuXHRcdFx0e30sXG5cdFx0XHRkYXRhVmlld01vZGVsUGF0aFxuXHRcdCkgYXMgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb247XG5cdH1cblxuXHRfYWRkU2lkZUVmZmVjdHMoKTogdm9pZCB7XG5cdFx0Ly8gYWRkIGNvbnRyb2wgU2lkZUVmZmVjdHMgZm9yIHN0cmVhbSBjb250ZW50LCBmaWxlbmFtZSBhbmQgbWVkaWF0eXBlXG5cdFx0Y29uc3QgbmF2aWdhdGlvblByb3BlcnRpZXM6IFNpZGVFZmZlY3RzRW50aXR5VHlwZVtdID0gW10sXG5cdFx0XHR2aWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzIGFzIENvbnRyb2wpLFxuXHRcdFx0dmlld0RhdGFGdWxsQ29udGV4dFBhdGggPSB2aWV3LmdldFZpZXdEYXRhKCkuZnVsbENvbnRleHRQYXRoLFxuXHRcdFx0bWV0YU1vZGVsID0gdmlldy5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpLFxuXHRcdFx0bWV0YU1vZGVsUGF0aCA9IG1ldGFNb2RlbC5nZXRNZXRhUGF0aCh2aWV3RGF0YUZ1bGxDb250ZXh0UGF0aCksXG5cdFx0XHR2aWV3Q29udGV4dCA9IG1ldGFNb2RlbC5nZXRDb250ZXh0KHZpZXdEYXRhRnVsbENvbnRleHRQYXRoKSxcblx0XHRcdGRhdGFWaWV3TW9kZWxQYXRoID0gTWV0YU1vZGVsQ29udmVydGVyLmdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyh2aWV3Q29udGV4dCksXG5cdFx0XHRzb3VyY2VQYXRoID0gdGhpcy5kYXRhKFwic291cmNlUGF0aFwiKSBhcyBzdHJpbmcsXG5cdFx0XHRmaWVsZFBhdGggPSBzb3VyY2VQYXRoLnJlcGxhY2UoYCR7bWV0YU1vZGVsUGF0aH1gLCBcIlwiKSxcblx0XHRcdHBhdGggPSBmaWVsZFBhdGgucmVwbGFjZSh0aGlzLnByb3BlcnR5UGF0aCwgXCJcIik7XG5cblx0XHRuYXZpZ2F0aW9uUHJvcGVydGllcy5wdXNoKHsgJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IGZpZWxkUGF0aCB9KTtcblx0XHRpZiAodGhpcy5maWxlbmFtZSkge1xuXHRcdFx0bmF2aWdhdGlvblByb3BlcnRpZXMucHVzaCh7ICROYXZpZ2F0aW9uUHJvcGVydHlQYXRoOiBwYXRoICsgdGhpcy5maWxlbmFtZSB9KTtcblx0XHR9XG5cdFx0aWYgKHRoaXMubWVkaWFUeXBlKSB7XG5cdFx0XHRuYXZpZ2F0aW9uUHJvcGVydGllcy5wdXNoKHsgJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IHBhdGggKyB0aGlzLm1lZGlhVHlwZSB9KTtcblx0XHR9XG5cdFx0dGhpcy5fZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIoKT8uYWRkQ29udHJvbFNpZGVFZmZlY3RzKGRhdGFWaWV3TW9kZWxQYXRoLnRhcmdldEVudGl0eVR5cGUuZnVsbHlRdWFsaWZpZWROYW1lLCB7XG5cdFx0XHRzb3VyY2VQcm9wZXJ0aWVzOiBbZmllbGRQYXRoXSxcblx0XHRcdHRhcmdldEVudGl0aWVzOiBuYXZpZ2F0aW9uUHJvcGVydGllcyxcblx0XHRcdHNvdXJjZUNvbnRyb2xJZDogdGhpcy5nZXRJZCgpXG5cdFx0fSk7XG5cdH1cblxuXHRfZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIoKTogU2lkZUVmZmVjdHNDb250cm9sbGVyRXh0ZW5zaW9uIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBjb250cm9sbGVyID0gdGhpcy5fZ2V0Vmlld0NvbnRyb2xsZXIoKSBhcyBQYWdlQ29udHJvbGxlciB8IHVuZGVmaW5lZDtcblx0XHRyZXR1cm4gY29udHJvbGxlciA/IGNvbnRyb2xsZXIuX3NpZGVFZmZlY3RzIDogdW5kZWZpbmVkO1xuXHR9XG5cblx0X2dldFZpZXdDb250cm9sbGVyKCk6IFBhZ2VDb250cm9sbGVyIHtcblx0XHRjb25zdCB2aWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzIGFzIENvbnRyb2wpO1xuXHRcdHJldHVybiB2aWV3ICYmIHZpZXcuZ2V0Q29udHJvbGxlcigpO1xuXHR9XG5cblx0Z2V0VXBsb2FkVXJsKCk6IHN0cmluZyB7XG5cdFx0Ly8gc2V0IHVwbG9hZCB1cmwgYXMgY2Fub25pY2FsIHVybCBmb3IgTmF2aWdhdGlvblByb3BlcnRpZXNcblx0XHQvLyB0aGlzIGlzIGEgd29ya2Fyb3VuZCBhcyBzb21lIGJhY2tlbmRzIGNhbm5vdCByZXNvbHZlIE5hdmlnYXRpb25zUHJvcGVydGllcyBmb3Igc3RyZWFtIHR5cGVzXG5cdFx0Y29uc3QgY29udGV4dCA9IHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoKSBhcyBDb250ZXh0O1xuXHRcdHJldHVybiBjb250ZXh0ICYmIHRoaXMudXBsb2FkVXJsID8gdGhpcy51cGxvYWRVcmwucmVwbGFjZShjb250ZXh0LmdldFBhdGgoKSwgY29udGV4dC5nZXRDYW5vbmljYWxQYXRoKCkpIDogXCJcIjtcblx0fVxuXG5cdHNldFVJQnVzeShidXN5OiBib29sZWFuKTogdm9pZCB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG5cdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0dGhpcy5fYnVzeSA9IGJ1c3k7XG5cdFx0aWYgKGJ1c3kpIHtcblx0XHRcdGlmICghdGhpcy5idXN5RGlhbG9nKSB7XG5cdFx0XHRcdHRoaXMuYnVzeURpYWxvZyA9IG5ldyBCdXN5RGlhbG9nKHtcblx0XHRcdFx0XHR0ZXh0OiBnZXRSZXNvdXJjZU1vZGVsKHRoaXMpLmdldFRleHQoXCJNX0ZJTEVXUkFQUEVSX0JVU1lfRElBTE9HX1RJVExFXCIpLFxuXHRcdFx0XHRcdHNob3dDYW5jZWxCdXR0b246IGZhbHNlXG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdFx0c2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdGlmICh0aGF0Ll9idXN5KSB7XG5cdFx0XHRcdFx0dGhhdC5idXN5RGlhbG9nPy5vcGVuKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0sIDEwMDApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmJ1c3lEaWFsb2c/LmNsb3NlKGZhbHNlKTtcblx0XHR9XG5cdH1cblxuXHRnZXRVSUJ1c3koKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2J1c3k7XG5cdH1cblxuXHRzdGF0aWMgcmVuZGVyKHJlbmRlck1hbmFnZXI6IFJlbmRlck1hbmFnZXIsIGZpbGVXcmFwcGVyOiBGaWxlV3JhcHBlcik6IHZvaWQge1xuXHRcdGxldCBpbm5lckRpdk1heFdpZHRoLCBpbm5lckRpdk1pbldpZHRoO1xuXHRcdGlmIChmaWxlV3JhcHBlci5hdmF0YXIpIHtcblx0XHRcdC8vIFRoZSBhdmF0YXIgaGFzIGEgZml4ZWQgd2lkdGggKDNyZW0pIHRoZXJlZm9yZSB0aGUgaW5uZXIgZGl2IGNhbiBoYXZlIGEgbG93ZXIgbWluIHdpZHRoIHRoYW4gaWNvbiBhbmQgbGlua1xuXHRcdFx0aW5uZXJEaXZNYXhXaWR0aCA9IFwiMTAwJVwiO1xuXHRcdFx0aW5uZXJEaXZNaW5XaWR0aCA9IFwiM3JlbVwiO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBJbiBkaXNwbGF5IG1vZGUgd2UgY2FuIG9ubHkgb2NjdXB5IDkwJSBvdGhlcndpc2UgdGhlIGxpbmsgd291bGQgYmUgY3V0IG9mZiB3aGVuIGluIGEgdGFibGVcblx0XHRcdC8vIEluIGVkaXQgbW9kZSB3ZSBoYXZlIHRvIHJlc2VydmUgc29tZSBzcGFjZSBmb3IgdGhlIGZpbGUgdXBsb2FkIGFuZCBkZWxldGUgYnV0dG9uICgycmVtIGVhY2ggKyAxcmVtIG1hcmdpbilcblx0XHRcdGlubmVyRGl2TWF4V2lkdGggPSBDb21tb25VdGlscy5nZXRJc0VkaXRhYmxlKGZpbGVXcmFwcGVyIGFzIHVua25vd24gYXMgTWFuYWdlZE9iamVjdCkgPyBcImNhbGMoMTAwJSAtIDZyZW0pXCIgOiBcIjkwJVwiO1xuXHRcdFx0aW5uZXJEaXZNaW5XaWR0aCA9IFwiNC41cmVtXCI7XG5cdFx0fVxuXG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuU3RhcnQoXCJkaXZcIiwgZmlsZVdyYXBwZXIpOyAvLyBGaWxlV3JhcHBlciBjb250cm9sIGRpdlxuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJ3aWR0aFwiLCBmaWxlV3JhcHBlci53aWR0aCk7XG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuRW5kKCk7XG5cblx0XHQvLyBPdXRlciBCb3hcblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5TdGFydChcImRpdlwiKTsgLy8gZGl2IGZvciBhbGwgY29udHJvbHNcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiZGlzcGxheVwiLCBcImZsZXhcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImJveC1zaXppbmdcIiwgXCJib3JkZXItYm94XCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJqdXN0aWZ5LWNvbnRlbnRcIiwgXCJzcGFjZS1iZXR3ZWVuXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJhbGlnbi1pdGVtc1wiLCBcImNlbnRlclwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiZmxleC13cmFwXCIsIFwid3JhcFwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiYWxpZ24tY29udGVudFwiLCBcInN0cmV0Y2hcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcIndpZHRoXCIsIFwiMTAwJVwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5FbmQoKTtcblxuXHRcdC8vIERpc3BsYXkgTW9kZVxuXHRcdHJlbmRlck1hbmFnZXIub3BlblN0YXJ0KFwiZGl2XCIpOyAvLyBkaXYgZm9yIGNvbnRyb2xzIHNob3duIGluIERpc3BsYXkgbW9kZVxuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJkaXNwbGF5XCIsIFwiZmxleFwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiYWxpZ24taXRlbXNcIiwgXCJjZW50ZXJcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcIm1heC13aWR0aFwiLCBpbm5lckRpdk1heFdpZHRoKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwibWluLXdpZHRoXCIsIGlubmVyRGl2TWluV2lkdGgpO1xuXHRcdHJlbmRlck1hbmFnZXIub3BlbkVuZCgpO1xuXG5cdFx0aWYgKGZpbGVXcmFwcGVyLmF2YXRhcikge1xuXHRcdFx0cmVuZGVyTWFuYWdlci5yZW5kZXJDb250cm9sKGZpbGVXcmFwcGVyLmF2YXRhcik7IC8vIHJlbmRlciB0aGUgQXZhdGFyIENvbnRyb2xcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmVuZGVyTWFuYWdlci5yZW5kZXJDb250cm9sKGZpbGVXcmFwcGVyLmljb24pOyAvLyByZW5kZXIgdGhlIEljb24gQ29udHJvbFxuXHRcdFx0cmVuZGVyTWFuYWdlci5yZW5kZXJDb250cm9sKGZpbGVXcmFwcGVyLmxpbmspOyAvLyByZW5kZXIgdGhlIExpbmsgQ29udHJvbFxuXHRcdFx0cmVuZGVyTWFuYWdlci5yZW5kZXJDb250cm9sKGZpbGVXcmFwcGVyLnRleHQpOyAvLyByZW5kZXIgdGhlIFRleHQgQ29udHJvbCBmb3IgZW1wdHkgZmlsZSBpbmRpY2F0aW9uXG5cdFx0fVxuXHRcdHJlbmRlck1hbmFnZXIuY2xvc2UoXCJkaXZcIik7IC8vIGRpdiBmb3IgY29udHJvbHMgc2hvd24gaW4gRGlzcGxheSBtb2RlXG5cblx0XHQvLyBBZGRpdGlvbmFsIGNvbnRlbnQgZm9yIEVkaXQgTW9kZVxuXHRcdHJlbmRlck1hbmFnZXIub3BlblN0YXJ0KFwiZGl2XCIpOyAvLyBkaXYgZm9yIGNvbnRyb2xzIHNob3duIGluIERpc3BsYXkgKyBFZGl0IG1vZGVcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiZGlzcGxheVwiLCBcImZsZXhcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImFsaWduLWl0ZW1zXCIsIFwiY2VudGVyXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIub3BlbkVuZCgpO1xuXHRcdHJlbmRlck1hbmFnZXIucmVuZGVyQ29udHJvbChmaWxlV3JhcHBlci5maWxlVXBsb2FkZXIpOyAvLyByZW5kZXIgdGhlIEZpbGVVcGxvYWRlciBDb250cm9sXG5cdFx0cmVuZGVyTWFuYWdlci5yZW5kZXJDb250cm9sKGZpbGVXcmFwcGVyLmRlbGV0ZUJ1dHRvbik7IC8vIHJlbmRlciB0aGUgRGVsZXRlIEJ1dHRvbiBDb250cm9sXG5cdFx0cmVuZGVyTWFuYWdlci5jbG9zZShcImRpdlwiKTsgLy8gZGl2IGZvciBjb250cm9scyBzaG93biBpbiBEaXNwbGF5ICsgRWRpdCBtb2RlXG5cblx0XHRyZW5kZXJNYW5hZ2VyLmNsb3NlKFwiZGl2XCIpOyAvLyBkaXYgZm9yIGFsbCBjb250cm9sc1xuXG5cdFx0cmVuZGVyTWFuYWdlci5jbG9zZShcImRpdlwiKTsgLy8gZW5kIG9mIHRoZSBjb21wbGV0ZSBDb250cm9sXG5cdH1cblxuXHRkZXN0cm95KGJTdXBwcmVzc0ludmFsaWRhdGU6IGJvb2xlYW4pOiB2b2lkIHtcblx0XHRjb25zdCBvU2lkZUVmZmVjdHMgPSB0aGlzLl9nZXRTaWRlRWZmZWN0Q29udHJvbGxlcigpO1xuXHRcdGlmIChvU2lkZUVmZmVjdHMpIHtcblx0XHRcdG9TaWRlRWZmZWN0cy5yZW1vdmVDb250cm9sU2lkZUVmZmVjdHModGhpcyk7XG5cdFx0fVxuXHRcdGRlbGV0ZSB0aGlzLmJ1c3lEaWFsb2c7XG5cdFx0RmllbGRXcmFwcGVyLnByb3RvdHlwZS5kZXN0cm95LmFwcGx5KHRoaXMsIFtiU3VwcHJlc3NJbnZhbGlkYXRlXSk7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRmlsZVdyYXBwZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O01BNEJNQSxXQUFXLElBQUFDLElBQUEsR0FEaEJDLGNBQWMsQ0FBQyxvQ0FBb0MsQ0FBQyxFQUFBQyxLQUFBLEdBRW5EQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQWtCLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBR3JDRixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFFLEtBQUEsR0FHNUJILFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUcsS0FBQSxHQUc1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
|
|
@@ -225,8 +225,9 @@ class FileWrapper extends FieldWrapper {
|
|
|
225
225
|
innerDivMaxWidth = "100%";
|
|
226
226
|
innerDivMinWidth = "3rem";
|
|
227
227
|
} else {
|
|
228
|
-
//
|
|
229
|
-
|
|
228
|
+
// In display mode we can only occupy 90% otherwise the link would be cut off when in a table
|
|
229
|
+
// In edit mode we have to reserve some space for the file upload and delete button (2rem each + 1rem margin)
|
|
230
|
+
innerDivMaxWidth = CommonUtils.getIsEditable(fileWrapper as unknown as ManagedObject) ? "calc(100% - 6rem)" : "90%";
|
|
230
231
|
innerDivMinWidth = "4.5rem";
|
|
231
232
|
}
|
|
232
233
|
|
|
@@ -333,7 +333,8 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/base/HookSupp
|
|
|
333
333
|
const subSections = this.getSubSections();
|
|
334
334
|
const hasMultipleSubsections = !!(subSections?.length > 1);
|
|
335
335
|
sectionOnlyContent.sendDataToConsumer({
|
|
336
|
-
titleLevel:
|
|
336
|
+
titleLevel: hasMultipleSubsections ? "H4" : "H3",
|
|
337
|
+
// For section header level is H3 the for subsections header level should be h4,
|
|
337
338
|
title: title,
|
|
338
339
|
headerStyle: hasMultipleSubsections ? "H5" : "H4"
|
|
339
340
|
});
|
|
@@ -433,4 +434,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/base/HookSupp
|
|
|
433
434
|
}), _class2)) || _class) || _class);
|
|
434
435
|
return Section;
|
|
435
436
|
}, false);
|
|
436
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZWN0aW9uIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiZGVzaWdudGltZSIsIl9kZWMyIiwibWl4aW4iLCJTZWN0aW9uU3RhdGVIYW5kbGVyIiwiX2RlYzMiLCJwcm9wZXJ0eSIsInR5cGUiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX09iamVjdFBhZ2VTZWN0aW9uIiwicHJvcGVydGllcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJyZWdpc3RlckRlbGVnYXRlIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJldmVudERlbGVnYXRlcyIsIm9uQWZ0ZXJSZW5kZXJpbmciLCJzdWJTZWN0aW9ucyIsImdldFN1YlNlY3Rpb25zIiwibGVuZ3RoIiwiZm9yRWFjaCIsInN1YlNlY3Rpb24iLCJnZXRCbG9ja3MiLCJzdWJTZWN0aW9uRXZlbnREZWxlZ2F0ZSIsIm9uQmVmb3JlUmVuZGVyaW5nIiwiY2hlY2tBbmRBZGp1c3RTZWN0aW9uQ29udGVudCIsInJlbW92ZUV2ZW50RGVsZWdhdGUiLCJhZGRFdmVudERlbGVnYXRlIiwidmlldyIsIkNvbW1vblV0aWxzIiwiZ2V0VGFyZ2V0VmlldyIsInVzZVNpbmdsZVRleHRBcmVhRmllbGRBc05vdGVzIiwiY2hlY2tBbmRBZGp1c3RTZWN0aW9uQ29udGVudEZvclRleHRBcmVhIiwiY2hlY2tBbmRBZGp1c3RGb3JTaW5nbGVDb250ZW50Iiwic2V0T25TZWN0aW9uTG9hZGVkIiwib25TZWN0aW9uTG9hZGVkIiwibG9hZFNwbGl0Iiwic3BsaXQiLCJfc2VjdGlvbkxvYWRNZXRob2ROYW1lIiwicG9wIiwiX3NlY3Rpb25Mb2FkTW9kdWxlTmFtZSIsImpvaW4iLCJzZXRQcm9wZXJ0eSIsImFwcGx5U2V0dGluZ3MiLCJtU2V0dGluZ3MiLCJvU2NvcGUiLCJ0ZW1wbGF0ZUNvbXBvbmVudCIsIkNvbXBvbmVudCIsImdldE93bmVyQ29tcG9uZW50Rm9yIiwicGFnZUNvbnRyb2xsZXIiLCJnZXRSb290Q29udHJvbGxlciIsIkhvb2tTdXBwb3J0IiwiaW5pdENvbnRyb2xsZXJFeHRlbnNpb25Ib29rSGFuZGxlcnMiLCJ1cGRhdGVOb25UYWJsZVN1YlNlY3Rpb25CYWNrZ3JvdW5kIiwiYWRqdXN0bWVudFJlc3VsdHMiLCJoYXNTdHlsZUNsYXNzIiwiX3JlZiIsInRhYmxlc0FkanVzdGVkIiwicmVtb3ZlU3R5bGVDbGFzcyIsImFkZFN0eWxlQ2xhc3MiLCJ2aXNpYmxlU3ViU2VjdGlvbnMiLCJnZXRWaXNpYmxlU3ViU2VjdGlvbnMiLCJyZWR1Y2UiLCJyZXN1bHRzIiwiY29udGVudCIsImdldFNpbmdsZUNvbnRlbnQiLCJhZGp1c3RGb3JTaW5nbGVDb250ZW50IiwicHVzaCIsImdldFZpZXdEYXRhIiwic2VjdGlvbkxheW91dCIsInNpbmdsZUNvbnRlbnQiLCJpc0EiLCJjaGVja0lmTm90ZXNSZXVzZUNvbXBvbmVudCIsInNpbmdsZUNvbnRlbnRUYWJsZUFkanVzdGVkIiwiRlBNSGVscGVyIiwibG9hZE1vZHVsZUFuZENhbGxNZXRob2QiLCJjaGVja0FuZEFkanVzdFRpdGxlcyIsIkxvZyIsImRlYnVnIiwiZ2V0SWQiLCJpbmNsdWRlcyIsInNpbmdsZVN1YlNlY3Rpb25UYWJsZUFkanVzdGVkIiwiYWRqdXN0U2VjdGlvbkNvbnRlbnRXaXRoVGl0bGUiLCJzdWJzZWN0aW9uIiwiYmxvY2tzIiwiZ2V0QWdncmVnYXRpb24iLCJzZWN0aW9uRnJvbVJlZmVyZW5jZUZhY2V0IiwiU3ViU2VjdGlvbiIsInNob3dUaXRsZSIsImdldE1haW5Db250ZW50IiwiRnVuY3Rpb24iLCJhZGp1c3RtZW50UHJvcHMiLCJzZWN0aW9uZnJvbUNvbGxlY3Rpb25GYWNldCIsIlRpdGxlIiwiZ2V0VmlzaWJsZSIsImdldFNlY3Rpb25UaXRsZSIsInRpdGxlIiwiZ2V0VGl0bGUiLCJzZWN0aW9uRGV0YWlscyIsImNsYXNzZXNUb0FkZCIsIlNldCIsInNlY3Rpb25Pbmx5Q29udGVudCIsImNvbnRlbnRSb2xlIiwiZ2V0U2VjdGlvbkNvbnRlbnRSb2xlIiwiaW5mb0Zyb21Qcm92aWRlciIsImdldERhdGFGcm9tUHJvdmlkZXIiLCJzZXRTaG93VGl0bGUiLCJhZGQiLCJnZXRUZXh0Iiwic2V0VmlzaWJsZSIsInNlbmREYXRhVG9Db25zdW1lciIsImhhc011bHRpcGxlU3Vic2VjdGlvbnMiLCJ0aXRsZUxldmVsIiwiZ2V0VGl0bGVMZXZlbCIsImhlYWRlclN0eWxlIiwibXVsdGlwbGVTdWJTZWN0aW9uc1dpdGhSZXVzZUNvbXBvbmVudCIsInNldFRleHQiLCJzZXRUaXRsZVN0eWxlIiwic2V0TGV2ZWwiLCJ2Qm94SXRlbXMiLCJnZXRJdGVtcyIsInZCb3hJdGVtIiwiaGVhZGVyVG9vbGJhciIsImdldENvbnRlbnQiLCJjb250cm9sIiwibm90ZXNUaXRsZSIsIkFycmF5IiwiZnJvbSIsImhhcyIsIk9iamVjdFBhZ2VTZWN0aW9uIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJTZWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgbWl4aW4sIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0ICogYXMgSG9va1N1cHBvcnQgZnJvbSBcInNhcC9mZS9iYXNlL0hvb2tTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IEZFVmlldyB9IGZyb20gXCJzYXAvZmUvY29yZS9CYXNlQ29udHJvbGxlclwiO1xuaW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IHR5cGUgVGVtcGxhdGVDb21wb25lbnQgZnJvbSBcInNhcC9mZS9jb3JlL1RlbXBsYXRlQ29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSB7IE9iamVjdFBhZ2VNYW5pZmVzdFNldHRpbmdzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWFuaWZlc3RTZXR0aW5nc1wiO1xuaW1wb3J0IEZQTUhlbHBlciBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9GUE1IZWxwZXJcIjtcbmltcG9ydCB0eXBlIElTaW5nbGVTZWN0aW9uQ29udHJpYnV0b3IgZnJvbSBcInNhcC9mZS9tYWNyb3MvY29udHJvbHMvc2VjdGlvbi9JU2luZ2xlU2VjdGlvbkNvbnRyaWJ1dG9yXCI7XG5pbXBvcnQgU2VjdGlvblN0YXRlSGFuZGxlciBmcm9tIFwic2FwL2ZlL21hY3Jvcy9jb250cm9scy9zZWN0aW9uL21peGluL1NlY3Rpb25TdGF0ZUhhbmRsZXJcIjtcbmltcG9ydCB0eXBlIFN1YlNlY3Rpb25CbG9jayBmcm9tIFwic2FwL2ZlL3RlbXBsYXRlcy9PYmplY3RQYWdlL2NvbnRyb2xzL1N1YlNlY3Rpb25CbG9ja1wiO1xuaW1wb3J0IHR5cGUgT3ZlcmZsb3dUb29sYmFyIGZyb20gXCJzYXAvbS9PdmVyZmxvd1Rvb2xiYXJcIjtcbmltcG9ydCB0eXBlIFRpdGxlIGZyb20gXCJzYXAvbS9UaXRsZVwiO1xuaW1wb3J0IHR5cGUgVkJveCBmcm9tIFwic2FwL20vVkJveFwiO1xuaW1wb3J0IHR5cGUgTWFuYWdlZE9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IHR5cGUgeyAkTWFuYWdlZE9iamVjdFNldHRpbmdzIH0gZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCBDb21wb25lbnQgZnJvbSBcInNhcC91aS9jb3JlL0NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgRHluYW1pY1NpZGVDb250ZW50IGZyb20gXCJzYXAvdWkvbGF5b3V0L0R5bmFtaWNTaWRlQ29udGVudFwiO1xuaW1wb3J0IHR5cGUgeyAkT2JqZWN0UGFnZVNlY3Rpb25TZXR0aW5ncyB9IGZyb20gXCJzYXAvdXhhcC9PYmplY3RQYWdlU2VjdGlvblwiO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXN0cmljdGVkLWltcG9ydHNcbmltcG9ydCBPYmplY3RQYWdlU2VjdGlvbiBmcm9tIFwic2FwL3V4YXAvT2JqZWN0UGFnZVNlY3Rpb25cIjtcbmltcG9ydCB0eXBlIE9iamVjdFBhZ2VTdWJTZWN0aW9uIGZyb20gXCJzYXAvdXhhcC9PYmplY3RQYWdlU3ViU2VjdGlvblwiO1xuaW1wb3J0IHR5cGUgU3ViU2VjdGlvbiBmcm9tIFwiLi9zZWN0aW9uL1N1YlNlY3Rpb25cIjtcblxudHlwZSBBZGp1c3RtZW50UHJvcHMgPSB7XG5cdHRhYmxlc0FkanVzdGVkPzogYm9vbGVhbjtcbn07XG5cbnR5cGUgQWRqdXN0bWVudFJlc3VsdHMgPSB7XG5cdHN1YlNlY3Rpb246IE9iamVjdFBhZ2VTdWJTZWN0aW9uO1xufSAmIEFkanVzdG1lbnRQcm9wcztcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5TZWN0aW9uXCIsIHsgZGVzaWdudGltZTogXCJzYXAvdXhhcC9kZXNpZ250aW1lL09iamVjdFBhZ2VTZWN0aW9uLmRlc2lnbnRpbWVcIiB9KVxuQG1peGluKFNlY3Rpb25TdGF0ZUhhbmRsZXIpXG5jbGFzcyBTZWN0aW9uIGV4dGVuZHMgT2JqZWN0UGFnZVNlY3Rpb24ge1xuXHQvLyBUT0RPOiB0aGlzIHByb2JhYmx5IG1ha2VzIHNlbnNlIHRvIGJlIGFuIGV2ZW50LiBCdXQgd2UgY2FuIGFkZHJlc3MgdGhpcyBsYXRlci5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRvblNlY3Rpb25Mb2FkZWQhOiBzdHJpbmc7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0dXNlU2luZ2xlVGV4dEFyZWFGaWVsZEFzTm90ZXMhOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBQYXRoIHRvIHRoZSBhcHBseSBzdGF0ZSBoYW5kbGVyIHRvIGJlIGNhbGxlZCBkdXJpbmcgc3RhdGUgaW50ZXJhY3Rpb25zLlxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRhcHBseVN0YXRlSGFuZGxlcj86IHN0cmluZztcblxuXHQvKipcblx0ICogUGF0aCB0byB0aGUgcmV0cmlldmUgc3RhdGUgaGFuZGxlciB0byBiZSBjYWxsZWQgZHVyaW5nIHN0YXRlIGludGVyYWN0aW9ucy5cblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0cmV0cmlldmVTdGF0ZUhhbmRsZXI/OiBzdHJpbmc7XG5cblx0Y29uc3RydWN0b3IocHJvcGVydGllczogJE9iamVjdFBhZ2VTZWN0aW9uU2V0dGluZ3MgJiBQcm9wZXJ0aWVzT2Y8U2VjdGlvbj4sIG90aGVycz86ICRPYmplY3RQYWdlU2VjdGlvblNldHRpbmdzKSB7XG5cdFx0c3VwZXIocHJvcGVydGllcyBhcyB1bmtub3duIGFzIHN0cmluZywgb3RoZXJzKTtcblx0XHR0aGlzLnJlZ2lzdGVyRGVsZWdhdGUoKTtcblx0fVxuXG5cdF9zZWN0aW9uTG9hZE1ldGhvZE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuXHRfc2VjdGlvbkxvYWRNb2R1bGVOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cblx0cHJpdmF0ZSByZWdpc3RlckRlbGVnYXRlKCk6IHZvaWQge1xuXHRcdGNvbnN0IGV2ZW50RGVsZWdhdGVzID0ge1xuXHRcdFx0b25BZnRlclJlbmRlcmluZzogKCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRjb25zdCBzdWJTZWN0aW9ucyA9IHRoaXMuZ2V0U3ViU2VjdGlvbnMoKSBhcyBTdWJTZWN0aW9uW107XG5cdFx0XHRcdGlmIChzdWJTZWN0aW9ucy5sZW5ndGgpIHtcblx0XHRcdFx0XHRzdWJTZWN0aW9ucy5mb3JFYWNoKChzdWJTZWN0aW9uOiBTdWJTZWN0aW9uKSA9PiB7XG5cdFx0XHRcdFx0XHQvKiB3ZSBjaGVjayBpbmRpdmlkdWFsIHN1YnNlY3Rpb24gZm9yIGJsb2Nrcy4gSWYgbm90IGF2YWlsYWJsZSB3ZSB3YWl0IGZvciB0aGVtIHRvIGJlIGFkZGVkKG9uQmVmb3JlUmVuZGVyaW5nKSBiZWZvcmUgdHJpZ2dlcmluZyB0aXRsZSBtZXJnZSBsb2dpY3MgKi9cblx0XHRcdFx0XHRcdGlmIChzdWJTZWN0aW9uLmdldEJsb2NrcygpPy5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0XHRcdFx0Y29uc3Qgc3ViU2VjdGlvbkV2ZW50RGVsZWdhdGUgPSB7XG5cdFx0XHRcdFx0XHRcdFx0b25CZWZvcmVSZW5kZXJpbmc6ICgpOiB2b2lkID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuY2hlY2tBbmRBZGp1c3RTZWN0aW9uQ29udGVudCgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0c3ViU2VjdGlvbi5yZW1vdmVFdmVudERlbGVnYXRlKHN1YlNlY3Rpb25FdmVudERlbGVnYXRlKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHRcdHN1YlNlY3Rpb24uYWRkRXZlbnREZWxlZ2F0ZShzdWJTZWN0aW9uRXZlbnREZWxlZ2F0ZSk7XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHR0aGlzLmNoZWNrQW5kQWRqdXN0U2VjdGlvbkNvbnRlbnQoKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLmNoZWNrQW5kQWRqdXN0U2VjdGlvbkNvbnRlbnQoKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cblx0XHR0aGlzLmFkZEV2ZW50RGVsZWdhdGUoZXZlbnREZWxlZ2F0ZXMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGZvciB0aGUgc2VjdGlvbiBjb250ZW50IGFuZCBhZGp1c3RzIHRoZSBzZWN0aW9uIGJhc2VkIG9uIHRoZSBhdmFpbGFibGUgY29udGVudC5cblx0ICogQHByb3RlY3RlZFxuXHQgKi9cblx0Y2hlY2tBbmRBZGp1c3RTZWN0aW9uQ29udGVudCgpOiB2b2lkIHtcblx0XHRjb25zdCB2aWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzKTtcblx0XHRpZiAodGhpcy51c2VTaW5nbGVUZXh0QXJlYUZpZWxkQXNOb3Rlcykge1xuXHRcdFx0dGhpcy5jaGVja0FuZEFkanVzdFNlY3Rpb25Db250ZW50Rm9yVGV4dEFyZWEoKTtcblx0XHR9XG5cdFx0dGhpcy5jaGVja0FuZEFkanVzdEZvclNpbmdsZUNvbnRlbnQodmlldyk7XG5cdH1cblxuXHRzZXRPblNlY3Rpb25Mb2FkZWQob25TZWN0aW9uTG9hZGVkOiBzdHJpbmcpOiB2b2lkIHtcblx0XHRjb25zdCBsb2FkU3BsaXQgPSBvblNlY3Rpb25Mb2FkZWQuc3BsaXQoXCIuXCIpO1xuXHRcdHRoaXMuX3NlY3Rpb25Mb2FkTWV0aG9kTmFtZSA9IGxvYWRTcGxpdD8ucG9wKCk7XG5cdFx0dGhpcy5fc2VjdGlvbkxvYWRNb2R1bGVOYW1lID0gbG9hZFNwbGl0Py5qb2luKFwiL1wiKTtcblx0XHR0aGlzLnNldFByb3BlcnR5KFwib25TZWN0aW9uTG9hZGVkXCIsIG9uU2VjdGlvbkxvYWRlZCk7XG5cdH1cblxuXHQvLyBUT0RPOiBDaGVjayBpZiBvbkFmdGVyUmVuZGVyaW5nIGNhbiBiZSB1c2VkIGluc3RlYWQgb2YgYXBwbHlTZXR0aW5ncy5cblx0YXBwbHlTZXR0aW5ncyhtU2V0dGluZ3M6ICRNYW5hZ2VkT2JqZWN0U2V0dGluZ3MsIG9TY29wZT86IG9iamVjdCk6IHRoaXMge1xuXHRcdHN1cGVyLmFwcGx5U2V0dGluZ3MobVNldHRpbmdzLCBvU2NvcGUpO1xuXHRcdGNvbnN0IHRlbXBsYXRlQ29tcG9uZW50ID0gQ29tcG9uZW50LmdldE93bmVyQ29tcG9uZW50Rm9yKHRoaXMpIGFzIFRlbXBsYXRlQ29tcG9uZW50O1xuXHRcdGNvbnN0IHBhZ2VDb250cm9sbGVyID0gdGVtcGxhdGVDb21wb25lbnQuZ2V0Um9vdENvbnRyb2xsZXIoKTtcblx0XHRpZiAocGFnZUNvbnRyb2xsZXIpIHtcblx0XHRcdEhvb2tTdXBwb3J0LmluaXRDb250cm9sbGVyRXh0ZW5zaW9uSG9va0hhbmRsZXJzKHRoaXMsIHBhZ2VDb250cm9sbGVyKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKipcblx0ICogVXBkYXRlIHN1YnNlY3Rpb24gYmFja2dyb3VuZCBjbGFzcyBiYXNlZCBvbiB0YWJsZSBhZGp1c3RtZW50cyBtYWRlLlxuXHQgKiBAcGFyYW0gYWRqdXN0bWVudFJlc3VsdHMgQXJyYXkgb2YgYWRqdXN0bWVudCByZXN1bHRzXG5cdCAqL1xuXHR1cGRhdGVOb25UYWJsZVN1YlNlY3Rpb25CYWNrZ3JvdW5kKGFkanVzdG1lbnRSZXN1bHRzOiBBZGp1c3RtZW50UmVzdWx0c1tdKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuaGFzU3R5bGVDbGFzcyhcInNhcFVpVGFibGVPbk9iamVjdFBhZ2VBZGp1c3RtZW50c0ZvclNlY3Rpb25cIikpIHtcblx0XHRcdGFkanVzdG1lbnRSZXN1bHRzLmZvckVhY2goKHsgc3ViU2VjdGlvbiwgdGFibGVzQWRqdXN0ZWQgfSkgPT4ge1xuXHRcdFx0XHRpZiAodGFibGVzQWRqdXN0ZWQpIHtcblx0XHRcdFx0XHRzdWJTZWN0aW9uLnJlbW92ZVN0eWxlQ2xhc3MoXCJzYXBVaUFkanVzdGVkU2VjdGlvblN1YnNlY3Rpb25XaXRob3V0VGFibGVcIik7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0c3ViU2VjdGlvbi5hZGRTdHlsZUNsYXNzKFwic2FwVWlBZGp1c3RlZFNlY3Rpb25TdWJzZWN0aW9uV2l0aG91dFRhYmxlXCIpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2QgbG9vcHMgdGhyb3VnaCBhbGwgdGhlIHZpc2libGUgc3Vic2VjdGlvbnMgYW5kIHRyaWdnZXJzIHRoZSB0ZXh0IGFyZWEgZmxvdyBpZiB0aGF0cyB0aGUgb25seSBzaW5nbGUgY29udHJvbCB3aXRoaW4gdGhlIHNlY3Rpb24uXG5cdCAqL1xuXHRjaGVja0FuZEFkanVzdFNlY3Rpb25Db250ZW50Rm9yVGV4dEFyZWEoKTogdm9pZCB7XG5cdFx0Y29uc3QgdmlzaWJsZVN1YlNlY3Rpb25zID0gdGhpcy5nZXRWaXNpYmxlU3ViU2VjdGlvbnMoKTtcblx0XHRjb25zdCBhZGp1c3RtZW50UmVzdWx0cyA9IHZpc2libGVTdWJTZWN0aW9ucy5yZWR1Y2UoKHJlc3VsdHM6IEFkanVzdG1lbnRSZXN1bHRzW10sIHN1YlNlY3Rpb246IE9iamVjdFBhZ2VTdWJTZWN0aW9uKSA9PiB7XG5cdFx0XHRsZXQgdGFibGVzQWRqdXN0ZWQ7XG5cdFx0XHRjb25zdCBjb250ZW50ID0gdGhpcy5nZXRTaW5nbGVDb250ZW50KFtzdWJTZWN0aW9uXSk7XG5cdFx0XHRpZiAoY29udGVudCkge1xuXHRcdFx0XHR0YWJsZXNBZGp1c3RlZCA9IHRoaXMuYWRqdXN0Rm9yU2luZ2xlQ29udGVudChjb250ZW50KS50YWJsZXNBZGp1c3RlZDtcblx0XHRcdH1cblx0XHRcdHJlc3VsdHMucHVzaCh7IHN1YlNlY3Rpb24sIHRhYmxlc0FkanVzdGVkIH0pO1xuXHRcdFx0cmV0dXJuIHJlc3VsdHM7XG5cdFx0fSwgW10pO1xuXHRcdHRoaXMudXBkYXRlTm9uVGFibGVTdWJTZWN0aW9uQmFja2dyb3VuZChhZGp1c3RtZW50UmVzdWx0cyk7XG5cdH1cblxuXHRjaGVja0FuZEFkanVzdEZvclNpbmdsZUNvbnRlbnQodmlldzogRkVWaWV3KTogdm9pZCB8IFByb21pc2U8dW5rbm93bj4ge1xuXHRcdGlmICgodmlldz8uZ2V0Vmlld0RhdGEoKSBhcyBPYmplY3RQYWdlTWFuaWZlc3RTZXR0aW5ncyk/LnNlY3Rpb25MYXlvdXQgPT09IFwiUGFnZVwiKSB7XG5cdFx0XHRjb25zdCBzaW5nbGVDb250ZW50ID0gdGhpcy5nZXRTaW5nbGVDb250ZW50KCk7XG5cdFx0XHRpZiAoXG5cdFx0XHRcdHNpbmdsZUNvbnRlbnQgJiZcblx0XHRcdFx0KHNpbmdsZUNvbnRlbnQuaXNBKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5zZWN0aW9uLklTaW5nbGVTZWN0aW9uQ29udHJpYnV0b3JcIikgfHxcblx0XHRcdFx0XHR0aGlzLmNoZWNrSWZOb3Rlc1JldXNlQ29tcG9uZW50KHNpbmdsZUNvbnRlbnQpKVxuXHRcdFx0KSB7XG5cdFx0XHRcdGNvbnN0IHsgdGFibGVzQWRqdXN0ZWQ6IHNpbmdsZUNvbnRlbnRUYWJsZUFkanVzdGVkIH0gPSB0aGlzLmFkanVzdEZvclNpbmdsZUNvbnRlbnQoc2luZ2xlQ29udGVudCk7XG5cdFx0XHRcdGNvbnN0IHN1YlNlY3Rpb25zID0gdGhpcy5nZXRWaXNpYmxlU3ViU2VjdGlvbnMoKTtcblx0XHRcdFx0dGhpcy51cGRhdGVOb25UYWJsZVN1YlNlY3Rpb25CYWNrZ3JvdW5kKFt7IHN1YlNlY3Rpb246IHN1YlNlY3Rpb25zWzBdLCB0YWJsZXNBZGp1c3RlZDogc2luZ2xlQ29udGVudFRhYmxlQWRqdXN0ZWQgfV0pO1xuXHRcdFx0fSBlbHNlIGlmICh0aGlzLl9zZWN0aW9uTG9hZE1vZHVsZU5hbWUgJiYgdGhpcy5fc2VjdGlvbkxvYWRNZXRob2ROYW1lKSB7XG5cdFx0XHRcdHJldHVybiBGUE1IZWxwZXIubG9hZE1vZHVsZUFuZENhbGxNZXRob2QodGhpcy5fc2VjdGlvbkxvYWRNb2R1bGVOYW1lLCB0aGlzLl9zZWN0aW9uTG9hZE1ldGhvZE5hbWUsIHZpZXcsIHRoaXMpO1xuXHRcdFx0fSBlbHNlIGlmICh0aGlzLmdldFN1YlNlY3Rpb25zKCkubGVuZ3RoID4gMSkge1xuXHRcdFx0XHQvLyBjYWxsIG1lcmdlIHRpdGxlIGxvZ2ljIGZvciBzdWJzZWN0aW9uc1xuXHRcdFx0XHR0aGlzLmNoZWNrQW5kQWRqdXN0VGl0bGVzKCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRMb2cuZGVidWcoXCJTZWN0aW9uIGNhbm5vdCBiZSBhZGp1c3RlZCBmb3Igc2luZ2xlIGNvbnRlbnQgOiBJbnRlcmZhY2UgJ0lTaW5nbGVTZWN0aW9uQ29udHJpYnV0b3InIGlzIG5vdCBpbXBsZW1lbnRlZFwiKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5jaGVja0FuZEFkanVzdFRpdGxlcygpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcGFyYW0gc2luZ2xlQ29udGVudCBPYmplY3Qgb2YgdGhlIGNvbnRlbnQgcHJlc2VudCB3aXRoaW4gdGhlIHNlY3Rpb24uXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGNvbnRlbnQgcHJlc2VudCBpcyBhIG5vdGVzIHJldXNlIGNvbXBvbmVudFxuXHQgKi9cblx0Y2hlY2tJZk5vdGVzUmV1c2VDb21wb25lbnQoc2luZ2xlQ29udGVudDogTWFuYWdlZE9iamVjdCk6IGJvb2xlYW4ge1xuXHRcdGlmIChzaW5nbGVDb250ZW50LmlzQShcInNhcC5tLlZCb3hcIikgJiYgc2luZ2xlQ29udGVudC5nZXRJZCgpLmluY2x1ZGVzKFwiTm90ZVNlY3Rpb25cIikpIHtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBmdW5jdGlvbiBjaGVja3MgZm9yIHRoZSB2aXNpYmxlIHN1YnNlY3Rpb25zIGFuZCBjaGVja3MgZm9yIHRoZSBjb2xsZWN0aW9uIGZhY2V0IGxhYmVsLCBJZiBwcmVzZW50IHRoZW4gd2UgbWVyZ2UgdGhlIHRpdGxlIGFuZCB0aGlzIGZ1bmN0aW9uIGhhbmRsZXMgdGhlIER5bmFtaWNTaWRlQ29uZW50IGFzIHdlbGwuXG5cdCAqL1xuXHRjaGVja0FuZEFkanVzdFRpdGxlcygpOiB2b2lkIHtcblx0XHRjb25zdCB2aXNpYmxlU3ViU2VjdGlvbnMgPSB0aGlzLmdldFZpc2libGVTdWJTZWN0aW9ucygpO1xuXHRcdGlmICh2aXNpYmxlU3ViU2VjdGlvbnMubGVuZ3RoID09PSAxKSB7XG5cdFx0XHRjb25zdCB7IHRhYmxlc0FkanVzdGVkOiBzaW5nbGVTdWJTZWN0aW9uVGFibGVBZGp1c3RlZCB9ID0gdGhpcy5hZGp1c3RTZWN0aW9uQ29udGVudFdpdGhUaXRsZSh2aXNpYmxlU3ViU2VjdGlvbnNbMF0pO1xuXHRcdFx0dGhpcy51cGRhdGVOb25UYWJsZVN1YlNlY3Rpb25CYWNrZ3JvdW5kKFt7IHN1YlNlY3Rpb246IHZpc2libGVTdWJTZWN0aW9uc1swXSwgdGFibGVzQWRqdXN0ZWQ6IHNpbmdsZVN1YlNlY3Rpb25UYWJsZUFkanVzdGVkIH1dKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y29uc3QgYWRqdXN0bWVudFJlc3VsdHMgPSB2aXNpYmxlU3ViU2VjdGlvbnMucmVkdWNlKChyZXN1bHRzOiBBZGp1c3RtZW50UmVzdWx0c1tdLCBzdWJzZWN0aW9uOiBPYmplY3RQYWdlU3ViU2VjdGlvbikgPT4ge1xuXHRcdFx0XHRsZXQgdGFibGVzQWRqdXN0ZWQ7XG5cdFx0XHRcdGxldCBjb250ZW50O1xuXHRcdFx0XHRjb25zdCBibG9ja3MgPSBzdWJzZWN0aW9uLmdldEJsb2NrcygpO1xuXHRcdFx0XHQvLyBJbiBjYXNlIG9mIFRhYiBsYXlvdXQsIHdlIG5lZWQgdG8gY2hlY2sgaWYgdGhlIHNlY3Rpb24gaGFzIG9ubHkgb25lIHN1YnNlY3Rpb24gYW5kIHRoYXQgc3Vic2VjdGlvbiBoYXMgb25seSBvbmUgY29udHJvbFxuXHRcdFx0XHQvLyBJbiBjYXNlIG9mIGNvbGxlY3Rpb24gRmFjZXQsIHRoZSBmaXJzdCBibG9jayB3aWxsIGJlIFRpdGxlIGFuZCB0aGUgc2Vjb25kIGJsb2NrIHdpbGwgYmUgU3ViU2VjdGlvbkJsb2NrXG5cdFx0XHRcdGlmIChibG9ja3MubGVuZ3RoID09PSAyICYmIGJsb2Nrc1sxXT8uaXNBPFN1YlNlY3Rpb25CbG9jaz4oXCJzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuY29udHJvbHMuU3ViU2VjdGlvbkJsb2NrXCIpKSB7XG5cdFx0XHRcdFx0dGFibGVzQWRqdXN0ZWQgPSB0aGlzLmFkanVzdFNlY3Rpb25Db250ZW50V2l0aFRpdGxlKHN1YnNlY3Rpb24pLnRhYmxlc0FkanVzdGVkO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC8vIEluIGNhc2Ugb2YgUmVmZXJlbmNlIEZhY2V0LCB0aGUgZmlyc3QgYmxvY2sgd2lsbCBiZSBTdWJTZWN0aW9uQmxvY2tcblx0XHRcdFx0ZWxzZSBpZiAoYmxvY2tzLmxlbmd0aCA9PT0gMSAmJiBibG9ja3NbMF0/LmlzQTxTdWJTZWN0aW9uQmxvY2s+KFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLmNvbnRyb2xzLlN1YlNlY3Rpb25CbG9ja1wiKSkge1xuXHRcdFx0XHRcdGNvbnRlbnQgPSBibG9ja3NbMF0uZ2V0QWdncmVnYXRpb24oXCJjb250ZW50XCIpIGFzIE1hbmFnZWRPYmplY3Q7XG5cdFx0XHRcdFx0aWYgKGNvbnRlbnQuaXNBKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5zZWN0aW9uLklTaW5nbGVTZWN0aW9uQ29udHJpYnV0b3JcIikpIHtcblx0XHRcdFx0XHRcdHRhYmxlc0FkanVzdGVkID0gdGhpcy5hZGp1c3RGb3JTaW5nbGVDb250ZW50KGNvbnRlbnQsIHtcblx0XHRcdFx0XHRcdFx0c2VjdGlvbkZyb21SZWZlcmVuY2VGYWNldDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0U3ViU2VjdGlvbjogc3Vic2VjdGlvbixcblx0XHRcdFx0XHRcdFx0c2hvd1RpdGxlOiB0aGlzLmdldFZpc2libGVTdWJTZWN0aW9ucygpLmxlbmd0aCA+IDFcblx0XHRcdFx0XHRcdH0pLnRhYmxlc0FkanVzdGVkO1xuXHRcdFx0XHRcdH0gZWxzZSBpZiAoKGNvbnRlbnQgYXMgRHluYW1pY1NpZGVDb250ZW50KT8uaXNBKFwic2FwLnVpLmxheW91dC5EeW5hbWljU2lkZUNvbnRlbnRcIikpIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQgPVxuXHRcdFx0XHRcdFx0XHQoY29udGVudCBhcyBEeW5hbWljU2lkZUNvbnRlbnQpLmdldE1haW5Db250ZW50IGluc3RhbmNlb2YgRnVuY3Rpb24gJiZcblx0XHRcdFx0XHRcdFx0KGNvbnRlbnQgYXMgRHluYW1pY1NpZGVDb250ZW50KT8uZ2V0TWFpbkNvbnRlbnQoKTtcblx0XHRcdFx0XHRcdGlmIChjb250ZW50ICYmIGNvbnRlbnQubGVuZ3RoID09PSAxKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQgPSBjb250ZW50WzBdO1xuXHRcdFx0XHRcdFx0XHR0YWJsZXNBZGp1c3RlZCA9IHRoaXMuYWRqdXN0Rm9yU2luZ2xlQ29udGVudChjb250ZW50LCB7XG5cdFx0XHRcdFx0XHRcdFx0c2VjdGlvbkZyb21SZWZlcmVuY2VGYWNldDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRTdWJTZWN0aW9uOiBzdWJzZWN0aW9uXG5cdFx0XHRcdFx0XHRcdH0pLnRhYmxlc0FkanVzdGVkO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRyZXN1bHRzLnB1c2goeyBzdWJTZWN0aW9uOiBzdWJzZWN0aW9uLCB0YWJsZXNBZGp1c3RlZCB9KTtcblx0XHRcdFx0cmV0dXJuIHJlc3VsdHM7XG5cdFx0XHR9LCBbXSk7XG5cdFx0XHR0aGlzLnVwZGF0ZU5vblRhYmxlU3ViU2VjdGlvbkJhY2tncm91bmQoYWRqdXN0bWVudFJlc3VsdHMpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBmb3IgdGhlIGZvciB0aGUgY29sbGVjdGlvbiBmYWNldCBsYWJlbCxJZiBwcmVzZW50IHRoZW4gd2UgbWVyZ2UgdGhlIHRpdGxlLlxuXHQgKiBAcGFyYW0gc3Vic2VjdGlvbiBPYmplY3RQYWdlIFN1YlNlY3Rpb25cblx0ICogQHJldHVybnMgQWRqdXN0bWVudCByZXN1bHRzIGNvbnRhaW5pbmcgdGhlIHN1YnNlY3Rpb24gYW5kIHRhYmxlIGFkanVzdG1lbnQgc3RhdHVzLlxuXHQgKi9cblx0YWRqdXN0U2VjdGlvbkNvbnRlbnRXaXRoVGl0bGUoc3Vic2VjdGlvbjogT2JqZWN0UGFnZVN1YlNlY3Rpb24pOiBBZGp1c3RtZW50UmVzdWx0cyB7XG5cdFx0bGV0IGFkanVzdG1lbnRQcm9wczogQWRqdXN0bWVudFByb3BzID0ge307XG5cdFx0Y29uc3QgYmxvY2tzID0gc3Vic2VjdGlvbi5nZXRCbG9ja3MoKTtcblx0XHRsZXQgY29udGVudDtcblx0XHRpZiAoYmxvY2tzLmxlbmd0aCA9PT0gMiAmJiBibG9ja3NbMV0uaXNBPFN1YlNlY3Rpb25CbG9jaz4oXCJzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuY29udHJvbHMuU3ViU2VjdGlvbkJsb2NrXCIpKSB7XG5cdFx0XHRjb250ZW50ID0gYmxvY2tzWzFdLmdldEFnZ3JlZ2F0aW9uKFwiY29udGVudFwiKSBhcyBNYW5hZ2VkT2JqZWN0O1xuXHRcdFx0aWYgKGNvbnRlbnQgJiYgY29udGVudC5pc0EoXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLnNlY3Rpb24uSVNpbmdsZVNlY3Rpb25Db250cmlidXRvclwiKSAmJiBibG9ja3NbMF0uaXNBPFRpdGxlPihcInNhcC5tLlRpdGxlXCIpKSB7XG5cdFx0XHRcdGFkanVzdG1lbnRQcm9wcyA9IHRoaXMuYWRqdXN0Rm9yU2luZ2xlQ29udGVudChjb250ZW50LCB7XG5cdFx0XHRcdFx0c2VjdGlvbmZyb21Db2xsZWN0aW9uRmFjZXQ6IHRydWUsXG5cdFx0XHRcdFx0VGl0bGU6IGJsb2Nrc1swXSxcblx0XHRcdFx0XHRTdWJTZWN0aW9uOiBzdWJzZWN0aW9uLFxuXHRcdFx0XHRcdHNob3dUaXRsZTogdGhpcy5nZXRWaXNpYmxlU3ViU2VjdGlvbnMoKS5sZW5ndGggPiAxXG5cdFx0XHRcdH0pO1xuXHRcdFx0fSBlbHNlIGlmIChjb250ZW50ICYmIGNvbnRlbnQuaXNBPER5bmFtaWNTaWRlQ29udGVudD4oXCJzYXAudWkubGF5b3V0LkR5bmFtaWNTaWRlQ29udGVudFwiKSkge1xuXHRcdFx0XHRjb250ZW50ID0gY29udGVudC5nZXRNYWluQ29udGVudCBpbnN0YW5jZW9mIEZ1bmN0aW9uICYmIGNvbnRlbnQ/LmdldE1haW5Db250ZW50KCk7XG5cdFx0XHRcdGlmIChjb250ZW50ICYmIGNvbnRlbnQubGVuZ3RoID09PSAxKSB7XG5cdFx0XHRcdFx0Y29udGVudCA9IGNvbnRlbnRbMF07XG5cdFx0XHRcdFx0YWRqdXN0bWVudFByb3BzID0gdGhpcy5hZGp1c3RGb3JTaW5nbGVDb250ZW50KGNvbnRlbnQsIHtcblx0XHRcdFx0XHRcdHNlY3Rpb25mcm9tQ29sbGVjdGlvbkZhY2V0OiB0cnVlLFxuXHRcdFx0XHRcdFx0VGl0bGU6IGJsb2Nrc1swXSBhcyBUaXRsZSxcblx0XHRcdFx0XHRcdFN1YlNlY3Rpb246IHN1YnNlY3Rpb25cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4geyBzdWJTZWN0aW9uOiBzdWJzZWN0aW9uLCB0YWJsZXNBZGp1c3RlZDogYWRqdXN0bWVudFByb3BzLnRhYmxlc0FkanVzdGVkIH07XG5cdH1cblxuXHRnZXRTaW5nbGVDb250ZW50KHZpc2libGVTdWJTZWN0aW9ucz86IE9iamVjdFBhZ2VTdWJTZWN0aW9uW10pOiBNYW5hZ2VkT2JqZWN0IHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBzdWJTZWN0aW9ucyA9IHZpc2libGVTdWJTZWN0aW9ucyA/PyB0aGlzLmdldFZpc2libGVTdWJTZWN0aW9ucygpO1xuXHRcdGlmIChzdWJTZWN0aW9ucy5sZW5ndGggPT09IDEpIHtcblx0XHRcdGNvbnN0IGJsb2NrcyA9IHN1YlNlY3Rpb25zWzBdLmdldEJsb2NrcygpO1xuXHRcdFx0aWYgKGJsb2Nrcy5sZW5ndGggPT09IDEgJiYgYmxvY2tzWzBdLmlzQTxTdWJTZWN0aW9uQmxvY2s+KFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLmNvbnRyb2xzLlN1YlNlY3Rpb25CbG9ja1wiKSkge1xuXHRcdFx0XHRyZXR1cm4gYmxvY2tzWzBdLmdldEFnZ3JlZ2F0aW9uKFwiY29udGVudFwiKSBhcyBNYW5hZ2VkT2JqZWN0O1xuXHRcdFx0fVxuXHRcdFx0Ly9JZiB0aGVyZSBpcyBhbiBpbnZpc2libGUgdGV4dCBiZWZvcmUgYSBzdGFuZGFyZCBidWlsZGluZyBibG9jaywgdGhlbiBhbHNvIHRoZSBtZXJnZSB0aXRsZSBsb2dpYyBzaG91bGQgYmUgYXBwbGllZCBhcyBpdHMgc3RpbGwgYSBzaW5nbGUgY29udGVudFxuXHRcdFx0ZWxzZSBpZiAoXG5cdFx0XHRcdGJsb2Nrcy5sZW5ndGggPT09IDIgJiZcblx0XHRcdFx0YmxvY2tzWzBdLmlzQShcInNhcC51aS5jb3JlLkludmlzaWJsZVRleHRcIikgJiZcblx0XHRcdFx0YmxvY2tzWzFdLmlzQTxTdWJTZWN0aW9uQmxvY2s+KFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLmNvbnRyb2xzLlN1YlNlY3Rpb25CbG9ja1wiKVxuXHRcdFx0KVxuXHRcdFx0XHRyZXR1cm4gYmxvY2tzWzFdLmdldEFnZ3JlZ2F0aW9uKFwiY29udGVudFwiKSBhcyBNYW5hZ2VkT2JqZWN0O1xuXHRcdH1cblx0fVxuXG5cdGdldFZpc2libGVTdWJTZWN0aW9ucygpOiBPYmplY3RQYWdlU3ViU2VjdGlvbltdIHtcblx0XHRjb25zdCBzdWJTZWN0aW9ucyA9IHRoaXMuZ2V0U3ViU2VjdGlvbnMoKTtcblx0XHRyZXR1cm4gc3ViU2VjdGlvbnMucmVkdWNlKCh2aXNpYmxlU3ViU2VjdGlvbnM6IE9iamVjdFBhZ2VTdWJTZWN0aW9uW10sIHN1YlNlY3Rpb24pID0+IHtcblx0XHRcdGlmIChzdWJTZWN0aW9uLmdldFZpc2libGUoKSkge1xuXHRcdFx0XHR2aXNpYmxlU3ViU2VjdGlvbnMucHVzaChzdWJTZWN0aW9uKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiB2aXNpYmxlU3ViU2VjdGlvbnM7XG5cdFx0fSwgW10gYXMgT2JqZWN0UGFnZVN1YlNlY3Rpb25bXSk7XG5cdH1cblxuXHRnZXRTZWN0aW9uVGl0bGUoKTogc3RyaW5nIHtcblx0XHRsZXQgdGl0bGUgPSB0aGlzLmdldFRpdGxlKCk7XG5cdFx0aWYgKHRoaXMuZ2V0VmlzaWJsZVN1YlNlY3Rpb25zKCkubGVuZ3RoID09PSAxKSB7XG5cdFx0XHR0aXRsZSA9IHRoaXMuZ2V0VmlzaWJsZVN1YlNlY3Rpb25zKClbMF0uZ2V0VGl0bGUoKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRpdGxlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkanVzdCB0aGUgc2VjdGlvbiBhbmQgc3Vic2VjdGlvbiBiYXNlZCBvbiB0aGUgYXZhaWxhYmxlIGNvbnRlbnQuXG5cdCAqIEBwYXJhbSBzaW5nbGVDb250ZW50IENvbnRlbnRcblx0ICogQHBhcmFtIHNlY3Rpb25EZXRhaWxzIERldGFpbHNcblx0ICogQHJldHVybnMgSXMgdGhlIHNlY3Rpb24gYWRqdXN0ZWQuXG5cdCAqL1xuXHRhZGp1c3RGb3JTaW5nbGVDb250ZW50KFxuXHRcdHNpbmdsZUNvbnRlbnQ6IE1hbmFnZWRPYmplY3QsXG5cdFx0c2VjdGlvbkRldGFpbHM/OiBSZWNvcmQ8c3RyaW5nLCBPYmplY3RQYWdlU3ViU2VjdGlvbiB8IFRpdGxlIHwgYm9vbGVhbj5cblx0KTogQWRqdXN0bWVudFByb3BzIHtcblx0XHQvLyBzYXBVaVRhYmxlT25PYmplY3RQYWdlQWRqdXN0bWVudHNGb3JTZWN0aW9uIGNsYXNzIGF0IGxldmVsIG1ha2VzIGJhY2tncm91bmQgb2Ygc3Vic2VjdGlvbiB0aXRsZXMgdHJhbnNwYXJlbnQuXG5cdFx0Ly8gVGhpcyB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kIGlzIHByb3BhZ2F0ZWQgdG8gY29udGVudHMgdGhhdCBhcmUgZXhwZWN0ZWQgdG8gc2hvdyBvcGFxdWUgYmFja2dyb3VuZHMgYnkgZGVmYXVsdC5cblx0XHQvLyBXZSBuZWVkIHRvIGFkZCBleGNsdXNpb24gY2xhc3MgXCJzYXBVaUFkanVzdGVkU2VjdGlvblN1YnNlY3Rpb25XaXRob3V0VGFibGVcIiB0byB0aGUgc3Vic2VjdGlvbiB0aGF0IGRvZXNuJ3QgbmVlZFxuXHRcdGNvbnN0IGNsYXNzZXNUb0FkZDogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG5cdFx0Y29uc3Qgc2VjdGlvbk9ubHlDb250ZW50ID0gc2luZ2xlQ29udGVudCBhcyB1bmtub3duIGFzIElTaW5nbGVTZWN0aW9uQ29udHJpYnV0b3I7XG5cdFx0Ly8gVGhpcyBmdW5jdGlvbiB3aWxsIGFsc28gYmUgY2FsbGVkIGZyb20gdGhlIGV4dGVuc2lvbkFQSSBhbG9uZyB3aXRoIHNvbWUgY29udHJvbHMgYnkgdGhlIGFwcGxpY2F0aW9uIGRldmVsb3BlciwgdGhlIGJlbG93IGNoZWNrIGlzIGFkZGVkIHRvIGNvdmVyIHRoZSBjYXNlcyB3aGVyZSB0aGUgY29udHJvbHMgcGFzc2VkIGxpa2Ugc2FwLm0uVGl0bGUgYXJlIG5vdCBpbXBsZW1lbnRpbmcgdGhlIGludGVyZmFjZVxuXHRcdGNvbnN0IGNvbnRlbnRSb2xlID0gc2VjdGlvbk9ubHlDb250ZW50LmdldFNlY3Rpb25Db250ZW50Um9sZSAmJiBzZWN0aW9uT25seUNvbnRlbnQuZ2V0U2VjdGlvbkNvbnRlbnRSb2xlKCk7XG5cdFx0aWYgKGNvbnRlbnRSb2xlID09PSBcInByb3ZpZGVyXCIpIHtcblx0XHRcdGNvbnN0IGluZm9Gcm9tUHJvdmlkZXIgPVxuXHRcdFx0XHRzZWN0aW9uT25seUNvbnRlbnQuZ2V0RGF0YUZyb21Qcm92aWRlciAmJiBzZWN0aW9uT25seUNvbnRlbnQuZ2V0RGF0YUZyb21Qcm92aWRlcih0aGlzLnVzZVNpbmdsZVRleHRBcmVhRmllbGRBc05vdGVzKTtcblx0XHRcdGlmIChpbmZvRnJvbVByb3ZpZGVyICYmIHRoaXMuZ2V0VGl0bGUoKSA9PT0gaW5mb0Zyb21Qcm92aWRlci50aXRsZSkge1xuXHRcdFx0XHQvL3RoaXMuc2V0VGl0bGUoaW5mb0Zyb21Qcm92aWRlci50aXRsZSk7XG5cdFx0XHRcdHRoaXMuc2V0U2hvd1RpdGxlKHRydWUpO1xuXHRcdFx0XHQvLyBUT0RPOiBDaGVjayBpZiB0aGlzIGlzIHJlYWxseSBuZWVkZWQ/XG5cdFx0XHRcdGNsYXNzZXNUb0FkZC5hZGQoXCJzYXBVaVRhYmxlT25PYmplY3RQYWdlQWRqdXN0bWVudHNGb3JTZWN0aW9uXCIpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAoY29udGVudFJvbGUgPT09IFwiY29uc3VtZXJcIikge1xuXHRcdFx0bGV0IHRpdGxlID0gdGhpcy5nZXRTZWN0aW9uVGl0bGUoKTtcblx0XHRcdGlmIChzZWN0aW9uRGV0YWlscz8uc2VjdGlvbmZyb21Db2xsZWN0aW9uRmFjZXQpIHtcblx0XHRcdFx0dGl0bGUgPSAoc2VjdGlvbkRldGFpbHM/LlRpdGxlIGFzIFRpdGxlKT8uZ2V0VGV4dCgpO1xuXHRcdFx0XHQoc2VjdGlvbkRldGFpbHM/LlRpdGxlIGFzIFRpdGxlKT8uc2V0VmlzaWJsZShmYWxzZSk7XG5cdFx0XHRcdChzZWN0aW9uRGV0YWlscz8uU3ViU2VjdGlvbiBhcyBPYmplY3RQYWdlU3ViU2VjdGlvbik/LnNldFNob3dUaXRsZShmYWxzZSk7XG5cdFx0XHR9IGVsc2UgaWYgKHNlY3Rpb25EZXRhaWxzPy5zZWN0aW9uRnJvbVJlZmVyZW5jZUZhY2V0KSB7XG5cdFx0XHRcdHRpdGxlID0gKHNlY3Rpb25EZXRhaWxzPy5TdWJTZWN0aW9uIGFzIE9iamVjdFBhZ2VTdWJTZWN0aW9uKT8uZ2V0VGl0bGUoKTtcblx0XHRcdFx0KHNlY3Rpb25EZXRhaWxzPy5TdWJTZWN0aW9uIGFzIE9iamVjdFBhZ2VTdWJTZWN0aW9uKT8uc2V0U2hvd1RpdGxlKGZhbHNlKTtcblx0XHRcdH1cblx0XHRcdGlmICh0aXRsZSA9PT0gXCJcIiAmJiBzZWN0aW9uRGV0YWlscz8uU3ViU2VjdGlvbikge1xuXHRcdFx0XHR0aXRsZSA9IChzZWN0aW9uRGV0YWlscz8uU3ViU2VjdGlvbiBhcyBPYmplY3RQYWdlU3ViU2VjdGlvbikuZ2V0VGl0bGUoKTtcblx0XHRcdH1cblx0XHRcdGlmIChzZWN0aW9uT25seUNvbnRlbnQuc2VuZERhdGFUb0NvbnN1bWVyKSB7XG5cdFx0XHRcdGNvbnN0IHN1YlNlY3Rpb25zID0gdGhpcy5nZXRTdWJTZWN0aW9ucygpO1xuXHRcdFx0XHRjb25zdCBoYXNNdWx0aXBsZVN1YnNlY3Rpb25zID0gISEoc3ViU2VjdGlvbnM/Lmxlbmd0aCA+IDEpO1xuXG5cdFx0XHRcdHNlY3Rpb25Pbmx5Q29udGVudC5zZW5kRGF0YVRvQ29uc3VtZXIoe1xuXHRcdFx0XHRcdHRpdGxlTGV2ZWw6IHRoaXMuZ2V0VGl0bGVMZXZlbCgpLFxuXHRcdFx0XHRcdHRpdGxlOiB0aXRsZSxcblx0XHRcdFx0XHRoZWFkZXJTdHlsZTogaGFzTXVsdGlwbGVTdWJzZWN0aW9ucyA/IFwiSDVcIiA6IFwiSDRcIlxuXHRcdFx0XHR9KTtcblx0XHRcdFx0dGhpcy5zZXRTaG93VGl0bGUoISFzZWN0aW9uRGV0YWlscz8uc2hvd1RpdGxlKTtcblx0XHRcdFx0Y2xhc3Nlc1RvQWRkLmFkZChcInNhcFVpVGFibGVPbk9iamVjdFBhZ2VBZGp1c3RtZW50c0ZvclNlY3Rpb25cIik7XG5cblx0XHRcdFx0Ly8gaWYgdGhlIHNlY3Rpb24gaGFzIG9ubHkgc3ViIHNlY3Rpb24sIHRoZW4gdGhlIHN1YiBzZWN0aW9uJ3MgdGl0bGUgc2hvdWxkIG5vdCBiZSBkaXNwbGF5ZWRcblx0XHRcdFx0aWYgKCFoYXNNdWx0aXBsZVN1YnNlY3Rpb25zKSBzdWJTZWN0aW9uc1swXS5zZXRTaG93VGl0bGUoZmFsc2UpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAoc2luZ2xlQ29udGVudD8uaXNBKFwic2FwLm0uVGl0bGVcIikpIHtcblx0XHRcdGNvbnN0IHN1YlNlY3Rpb25zID0gdGhpcy5nZXRWaXNpYmxlU3ViU2VjdGlvbnMoKSB8fCBbXTtcblx0XHRcdGNvbnN0IGhhc011bHRpcGxlU3Vic2VjdGlvbnMgPSBzdWJTZWN0aW9ucy5sZW5ndGggPiAxO1xuXG5cdFx0XHQvLyBIYW5kbGUgdGl0bGUgc3R5bGluZyBhbmQgdmlzaWJpbGl0eSBpZiByZXVzZSBjb21wb25lbnQgaXMgbm90IGVuYWJsZWRcblx0XHRcdGlmICghc2VjdGlvbkRldGFpbHM/Lm11bHRpcGxlU3ViU2VjdGlvbnNXaXRoUmV1c2VDb21wb25lbnQpIHtcblx0XHRcdFx0Y29uc3QgdGl0bGUgPSBzaW5nbGVDb250ZW50IGFzIFRpdGxlO1xuXHRcdFx0XHR0aXRsZS5zZXRUZXh0KHRoaXMuZ2V0VGl0bGUoKSk7XG5cdFx0XHRcdHRpdGxlLnNldFRpdGxlU3R5bGUoaGFzTXVsdGlwbGVTdWJzZWN0aW9ucyA/IFwiSDVcIiA6IFwiSDRcIik7XG5cdFx0XHRcdHRpdGxlLnNldExldmVsKHRoaXMuZ2V0VGl0bGVMZXZlbCgpKTtcblx0XHRcdFx0dGhpcy5zZXRTaG93VGl0bGUoZmFsc2UpO1xuXHRcdFx0XHRjbGFzc2VzVG9BZGQuYWRkKFwic2FwVWlUYWJsZU9uT2JqZWN0UGFnZUFkanVzdG1lbnRzRm9yU2VjdGlvblwiKTtcblx0XHRcdH1cblx0XHRcdC8vIEhpZGUgc3Vic2VjdGlvbiB0aXRsZSBpZiB0aGVyZSdzIG9ubHkgb25lIHZpc2libGUgc3Vic2VjdGlvblxuXHRcdFx0aWYgKHN1YlNlY3Rpb25zLmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0XHRzdWJTZWN0aW9uc1swXS5zZXRTaG93VGl0bGUoZmFsc2UpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAodGhpcy5jaGVja0lmTm90ZXNSZXVzZUNvbXBvbmVudChzaW5nbGVDb250ZW50KSkge1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBOb3RlcyBSZXVzZSBjb21wb25lbnQgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlIDpcblx0XHRcdCAqIDxWQm94IGlkPVwiTm90ZVNlY3Rpb25cIj5cblx0XHRcdCAqIDxNZXNzYWdlU3RyaXAgaWQ9XCJub3Rlc0RlYnVnUHJvcGVydGllc1wiPlxuXHRcdFx0ICogPExpc3QgaWQ9XCJOb3Rlc0xpc3RcIj5cblx0XHRcdCAqIDxoZWFkZXJUb29sYmFyPlxuXHRcdFx0ICogPE92ZXJmbG93VG9vbGJhciBpZD1cIm5vdGVIZWFkZXJPdmVyZmxvd1Rvb2xiYXJcIiBzdHlsZT1cIlN0YW5kYXJkXCI+XG5cdFx0XHQgKiAgICAgICA8VGl0bGUgaWQ9XCJub3RlSGVhZGVyT3ZlcmZsb3dUb29sYmFyVGl0bGVcIi8+XG5cdFx0XHQgKlx0XHQuLi4uLi5cblx0XHRcdCAqXHQ8L092ZXJmbG93VG9vbGJhcj5cblx0XHRcdCAqXHQ8L2hlYWRlclRvb2xiYXI+XG5cdFx0XHQgKlx0Li4uLi4uXG5cdFx0XHQgKlx0PC9MaXN0PlxuXHRcdFx0ICpcdDwvVkJveD5cblx0XHRcdCAqXHQuLi4uLlxuXHRcdFx0ICpcblx0XHRcdCAqIFdlIGFyZSBhcHBseWluZyB0aGUgdGl0bGUgbWVyZ2UgbG9naWMgZm9yIHRoZSB0aXRsZSB3aXRoaW4gdGhlIG92ZXJmbG93IHRvb2xiYXJcblx0XHRcdCAqIGluIHRoZSBmb2xsb3dpbmcgY29kZVxuXHRcdFx0ICpcblx0XHRcdCAqL1xuXHRcdFx0Y29uc3QgdkJveEl0ZW1zID0gKHNpbmdsZUNvbnRlbnQgYXMgVkJveCkuZ2V0SXRlbXMoKTtcblx0XHRcdHZCb3hJdGVtcy5mb3JFYWNoKCh2Qm94SXRlbSkgPT4ge1xuXHRcdFx0XHRjb25zdCBoZWFkZXJUb29sYmFyID0gdkJveEl0ZW0uZ2V0QWdncmVnYXRpb24oXCJoZWFkZXJUb29sYmFyXCIpO1xuXHRcdFx0XHRpZiAoaGVhZGVyVG9vbGJhcikge1xuXHRcdFx0XHRcdChoZWFkZXJUb29sYmFyIGFzIE92ZXJmbG93VG9vbGJhcik/LmdldENvbnRlbnQoKS5mb3JFYWNoKChjb250cm9sKSA9PiB7XG5cdFx0XHRcdFx0XHRpZiAoY29udHJvbC5pc0EoXCJzYXAubS5UaXRsZVwiKSkge1xuXHRcdFx0XHRcdFx0XHRjb25zdCBub3Rlc1RpdGxlID0gY29udHJvbCBhcyBUaXRsZTtcblx0XHRcdFx0XHRcdFx0bm90ZXNUaXRsZS5zZXRUZXh0KHRoaXMuZ2V0VGl0bGUoKSk7XG5cdFx0XHRcdFx0XHRcdG5vdGVzVGl0bGUuc2V0VGl0bGVTdHlsZShcIkg0XCIpO1xuXHRcdFx0XHRcdFx0XHRub3Rlc1RpdGxlLnNldExldmVsKHRoaXMuZ2V0VGl0bGVMZXZlbCgpKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHQvLyBTaW5nbGUgY29udGVudCB3aXRoIHNpbmdsZSBzdWJzZWN0aW9uIG1lYW5zIHNlY3Rpb24gdGl0bGUoMSksIHN1YnNlY3Rpb24gdGl0bGUoMikgYW5kIE5vdGVzIFJldXNlIGNvbXBvbmVudCB0aXRsZSgzKSBhcmUgYXZhaWxhYmxlLlxuXHRcdFx0Ly8gV2Ugc2hhbGwgc2hvdyBvbmx5IDMuIFdlIGhpZGUgMSBhbmQgMi5cblx0XHRcdGNvbnN0IHN1YlNlY3Rpb25zID0gdGhpcy5nZXRWaXNpYmxlU3ViU2VjdGlvbnMoKTtcblx0XHRcdGlmIChzdWJTZWN0aW9ucy5sZW5ndGggPT09IDEpIHtcblx0XHRcdFx0c3ViU2VjdGlvbnNbMF0uc2V0U2hvd1RpdGxlKGZhbHNlKTtcblx0XHRcdH1cblx0XHRcdHRoaXMuc2V0U2hvd1RpdGxlKGZhbHNlKTtcblx0XHRcdGNsYXNzZXNUb0FkZC5hZGQoXCJzYXBVaVRhYmxlT25PYmplY3RQYWdlQWRqdXN0bWVudHNGb3JTZWN0aW9uXCIpO1xuXHRcdH1cblx0XHR0aGlzLmFkZFN0eWxlQ2xhc3MoQXJyYXkuZnJvbShjbGFzc2VzVG9BZGQpLmpvaW4oXCIgXCIpKTtcblx0XHRyZXR1cm4geyB0YWJsZXNBZGp1c3RlZDogY2xhc3Nlc1RvQWRkLmhhcyhcInNhcFVpVGFibGVPbk9iamVjdFBhZ2VBZGp1c3RtZW50c0ZvclNlY3Rpb25cIikgfTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBTZWN0aW9uO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0VBb0JBO0VBQUEsSUFlTUEsT0FBTyxJQUFBQyxJQUFBLEdBRlpDLGNBQWMs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
|
|
437
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZWN0aW9uIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiZGVzaWdudGltZSIsIl9kZWMyIiwibWl4aW4iLCJTZWN0aW9uU3RhdGVIYW5kbGVyIiwiX2RlYzMiLCJwcm9wZXJ0eSIsInR5cGUiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX09iamVjdFBhZ2VTZWN0aW9uIiwicHJvcGVydGllcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJyZWdpc3RlckRlbGVnYXRlIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJldmVudERlbGVnYXRlcyIsIm9uQWZ0ZXJSZW5kZXJpbmciLCJzdWJTZWN0aW9ucyIsImdldFN1YlNlY3Rpb25zIiwibGVuZ3RoIiwiZm9yRWFjaCIsInN1YlNlY3Rpb24iLCJnZXRCbG9ja3MiLCJzdWJTZWN0aW9uRXZlbnREZWxlZ2F0ZSIsIm9uQmVmb3JlUmVuZGVyaW5nIiwiY2hlY2tBbmRBZGp1c3RTZWN0aW9uQ29udGVudCIsInJlbW92ZUV2ZW50RGVsZWdhdGUiLCJhZGRFdmVudERlbGVnYXRlIiwidmlldyIsIkNvbW1vblV0aWxzIiwiZ2V0VGFyZ2V0VmlldyIsInVzZVNpbmdsZVRleHRBcmVhRmllbGRBc05vdGVzIiwiY2hlY2tBbmRBZGp1c3RTZWN0aW9uQ29udGVudEZvclRleHRBcmVhIiwiY2hlY2tBbmRBZGp1c3RGb3JTaW5nbGVDb250ZW50Iiwic2V0T25TZWN0aW9uTG9hZGVkIiwib25TZWN0aW9uTG9hZGVkIiwibG9hZFNwbGl0Iiwic3BsaXQiLCJfc2VjdGlvbkxvYWRNZXRob2ROYW1lIiwicG9wIiwiX3NlY3Rpb25Mb2FkTW9kdWxlTmFtZSIsImpvaW4iLCJzZXRQcm9wZXJ0eSIsImFwcGx5U2V0dGluZ3MiLCJtU2V0dGluZ3MiLCJvU2NvcGUiLCJ0ZW1wbGF0ZUNvbXBvbmVudCIsIkNvbXBvbmVudCIsImdldE93bmVyQ29tcG9uZW50Rm9yIiwicGFnZUNvbnRyb2xsZXIiLCJnZXRSb290Q29udHJvbGxlciIsIkhvb2tTdXBwb3J0IiwiaW5pdENvbnRyb2xsZXJFeHRlbnNpb25Ib29rSGFuZGxlcnMiLCJ1cGRhdGVOb25UYWJsZVN1YlNlY3Rpb25CYWNrZ3JvdW5kIiwiYWRqdXN0bWVudFJlc3VsdHMiLCJoYXNTdHlsZUNsYXNzIiwiX3JlZiIsInRhYmxlc0FkanVzdGVkIiwicmVtb3ZlU3R5bGVDbGFzcyIsImFkZFN0eWxlQ2xhc3MiLCJ2aXNpYmxlU3ViU2VjdGlvbnMiLCJnZXRWaXNpYmxlU3ViU2VjdGlvbnMiLCJyZWR1Y2UiLCJyZXN1bHRzIiwiY29udGVudCIsImdldFNpbmdsZUNvbnRlbnQiLCJhZGp1c3RGb3JTaW5nbGVDb250ZW50IiwicHVzaCIsImdldFZpZXdEYXRhIiwic2VjdGlvbkxheW91dCIsInNpbmdsZUNvbnRlbnQiLCJpc0EiLCJjaGVja0lmTm90ZXNSZXVzZUNvbXBvbmVudCIsInNpbmdsZUNvbnRlbnRUYWJsZUFkanVzdGVkIiwiRlBNSGVscGVyIiwibG9hZE1vZHVsZUFuZENhbGxNZXRob2QiLCJjaGVja0FuZEFkanVzdFRpdGxlcyIsIkxvZyIsImRlYnVnIiwiZ2V0SWQiLCJpbmNsdWRlcyIsInNpbmdsZVN1YlNlY3Rpb25UYWJsZUFkanVzdGVkIiwiYWRqdXN0U2VjdGlvbkNvbnRlbnRXaXRoVGl0bGUiLCJzdWJzZWN0aW9uIiwiYmxvY2tzIiwiZ2V0QWdncmVnYXRpb24iLCJzZWN0aW9uRnJvbVJlZmVyZW5jZUZhY2V0IiwiU3ViU2VjdGlvbiIsInNob3dUaXRsZSIsImdldE1haW5Db250ZW50IiwiRnVuY3Rpb24iLCJhZGp1c3RtZW50UHJvcHMiLCJzZWN0aW9uZnJvbUNvbGxlY3Rpb25GYWNldCIsIlRpdGxlIiwiZ2V0VmlzaWJsZSIsImdldFNlY3Rpb25UaXRsZSIsInRpdGxlIiwiZ2V0VGl0bGUiLCJzZWN0aW9uRGV0YWlscyIsImNsYXNzZXNUb0FkZCIsIlNldCIsInNlY3Rpb25Pbmx5Q29udGVudCIsImNvbnRlbnRSb2xlIiwiZ2V0U2VjdGlvbkNvbnRlbnRSb2xlIiwiaW5mb0Zyb21Qcm92aWRlciIsImdldERhdGFGcm9tUHJvdmlkZXIiLCJzZXRTaG93VGl0bGUiLCJhZGQiLCJnZXRUZXh0Iiwic2V0VmlzaWJsZSIsInNlbmREYXRhVG9Db25zdW1lciIsImhhc011bHRpcGxlU3Vic2VjdGlvbnMiLCJ0aXRsZUxldmVsIiwiaGVhZGVyU3R5bGUiLCJtdWx0aXBsZVN1YlNlY3Rpb25zV2l0aFJldXNlQ29tcG9uZW50Iiwic2V0VGV4dCIsInNldFRpdGxlU3R5bGUiLCJzZXRMZXZlbCIsImdldFRpdGxlTGV2ZWwiLCJ2Qm94SXRlbXMiLCJnZXRJdGVtcyIsInZCb3hJdGVtIiwiaGVhZGVyVG9vbGJhciIsImdldENvbnRlbnQiLCJjb250cm9sIiwibm90ZXNUaXRsZSIsIkFycmF5IiwiZnJvbSIsImhhcyIsIk9iamVjdFBhZ2VTZWN0aW9uIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJTZWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgbWl4aW4sIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0ICogYXMgSG9va1N1cHBvcnQgZnJvbSBcInNhcC9mZS9iYXNlL0hvb2tTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IEZFVmlldyB9IGZyb20gXCJzYXAvZmUvY29yZS9CYXNlQ29udHJvbGxlclwiO1xuaW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IHR5cGUgVGVtcGxhdGVDb21wb25lbnQgZnJvbSBcInNhcC9mZS9jb3JlL1RlbXBsYXRlQ29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSB7IE9iamVjdFBhZ2VNYW5pZmVzdFNldHRpbmdzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWFuaWZlc3RTZXR0aW5nc1wiO1xuaW1wb3J0IEZQTUhlbHBlciBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9GUE1IZWxwZXJcIjtcbmltcG9ydCB0eXBlIElTaW5nbGVTZWN0aW9uQ29udHJpYnV0b3IgZnJvbSBcInNhcC9mZS9tYWNyb3MvY29udHJvbHMvc2VjdGlvbi9JU2luZ2xlU2VjdGlvbkNvbnRyaWJ1dG9yXCI7XG5pbXBvcnQgU2VjdGlvblN0YXRlSGFuZGxlciBmcm9tIFwic2FwL2ZlL21hY3Jvcy9jb250cm9scy9zZWN0aW9uL21peGluL1NlY3Rpb25TdGF0ZUhhbmRsZXJcIjtcbmltcG9ydCB0eXBlIFN1YlNlY3Rpb25CbG9jayBmcm9tIFwic2FwL2ZlL3RlbXBsYXRlcy9PYmplY3RQYWdlL2NvbnRyb2xzL1N1YlNlY3Rpb25CbG9ja1wiO1xuaW1wb3J0IHR5cGUgT3ZlcmZsb3dUb29sYmFyIGZyb20gXCJzYXAvbS9PdmVyZmxvd1Rvb2xiYXJcIjtcbmltcG9ydCB0eXBlIFRpdGxlIGZyb20gXCJzYXAvbS9UaXRsZVwiO1xuaW1wb3J0IHR5cGUgVkJveCBmcm9tIFwic2FwL20vVkJveFwiO1xuaW1wb3J0IHR5cGUgTWFuYWdlZE9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IHR5cGUgeyAkTWFuYWdlZE9iamVjdFNldHRpbmdzIH0gZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCBDb21wb25lbnQgZnJvbSBcInNhcC91aS9jb3JlL0NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgRHluYW1pY1NpZGVDb250ZW50IGZyb20gXCJzYXAvdWkvbGF5b3V0L0R5bmFtaWNTaWRlQ29udGVudFwiO1xuaW1wb3J0IHR5cGUgeyAkT2JqZWN0UGFnZVNlY3Rpb25TZXR0aW5ncyB9IGZyb20gXCJzYXAvdXhhcC9PYmplY3RQYWdlU2VjdGlvblwiO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXN0cmljdGVkLWltcG9ydHNcbmltcG9ydCBPYmplY3RQYWdlU2VjdGlvbiBmcm9tIFwic2FwL3V4YXAvT2JqZWN0UGFnZVNlY3Rpb25cIjtcbmltcG9ydCB0eXBlIE9iamVjdFBhZ2VTdWJTZWN0aW9uIGZyb20gXCJzYXAvdXhhcC9PYmplY3RQYWdlU3ViU2VjdGlvblwiO1xuaW1wb3J0IHR5cGUgU3ViU2VjdGlvbiBmcm9tIFwiLi9zZWN0aW9uL1N1YlNlY3Rpb25cIjtcblxudHlwZSBBZGp1c3RtZW50UHJvcHMgPSB7XG5cdHRhYmxlc0FkanVzdGVkPzogYm9vbGVhbjtcbn07XG5cbnR5cGUgQWRqdXN0bWVudFJlc3VsdHMgPSB7XG5cdHN1YlNlY3Rpb246IE9iamVjdFBhZ2VTdWJTZWN0aW9uO1xufSAmIEFkanVzdG1lbnRQcm9wcztcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5TZWN0aW9uXCIsIHsgZGVzaWdudGltZTogXCJzYXAvdXhhcC9kZXNpZ250aW1lL09iamVjdFBhZ2VTZWN0aW9uLmRlc2lnbnRpbWVcIiB9KVxuQG1peGluKFNlY3Rpb25TdGF0ZUhhbmRsZXIpXG5jbGFzcyBTZWN0aW9uIGV4dGVuZHMgT2JqZWN0UGFnZVNlY3Rpb24ge1xuXHQvLyBUT0RPOiB0aGlzIHByb2JhYmx5IG1ha2VzIHNlbnNlIHRvIGJlIGFuIGV2ZW50LiBCdXQgd2UgY2FuIGFkZHJlc3MgdGhpcyBsYXRlci5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRvblNlY3Rpb25Mb2FkZWQhOiBzdHJpbmc7XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0dXNlU2luZ2xlVGV4dEFyZWFGaWVsZEFzTm90ZXMhOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBQYXRoIHRvIHRoZSBhcHBseSBzdGF0ZSBoYW5kbGVyIHRvIGJlIGNhbGxlZCBkdXJpbmcgc3RhdGUgaW50ZXJhY3Rpb25zLlxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRhcHBseVN0YXRlSGFuZGxlcj86IHN0cmluZztcblxuXHQvKipcblx0ICogUGF0aCB0byB0aGUgcmV0cmlldmUgc3RhdGUgaGFuZGxlciB0byBiZSBjYWxsZWQgZHVyaW5nIHN0YXRlIGludGVyYWN0aW9ucy5cblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0cmV0cmlldmVTdGF0ZUhhbmRsZXI/OiBzdHJpbmc7XG5cblx0Y29uc3RydWN0b3IocHJvcGVydGllczogJE9iamVjdFBhZ2VTZWN0aW9uU2V0dGluZ3MgJiBQcm9wZXJ0aWVzT2Y8U2VjdGlvbj4sIG90aGVycz86ICRPYmplY3RQYWdlU2VjdGlvblNldHRpbmdzKSB7XG5cdFx0c3VwZXIocHJvcGVydGllcyBhcyB1bmtub3duIGFzIHN0cmluZywgb3RoZXJzKTtcblx0XHR0aGlzLnJlZ2lzdGVyRGVsZWdhdGUoKTtcblx0fVxuXG5cdF9zZWN0aW9uTG9hZE1ldGhvZE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuXHRfc2VjdGlvbkxvYWRNb2R1bGVOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cblx0cHJpdmF0ZSByZWdpc3RlckRlbGVnYXRlKCk6IHZvaWQge1xuXHRcdGNvbnN0IGV2ZW50RGVsZWdhdGVzID0ge1xuXHRcdFx0b25BZnRlclJlbmRlcmluZzogKCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRjb25zdCBzdWJTZWN0aW9ucyA9IHRoaXMuZ2V0U3ViU2VjdGlvbnMoKSBhcyBTdWJTZWN0aW9uW107XG5cdFx0XHRcdGlmIChzdWJTZWN0aW9ucy5sZW5ndGgpIHtcblx0XHRcdFx0XHRzdWJTZWN0aW9ucy5mb3JFYWNoKChzdWJTZWN0aW9uOiBTdWJTZWN0aW9uKSA9PiB7XG5cdFx0XHRcdFx0XHQvKiB3ZSBjaGVjayBpbmRpdmlkdWFsIHN1YnNlY3Rpb24gZm9yIGJsb2Nrcy4gSWYgbm90IGF2YWlsYWJsZSB3ZSB3YWl0IGZvciB0aGVtIHRvIGJlIGFkZGVkKG9uQmVmb3JlUmVuZGVyaW5nKSBiZWZvcmUgdHJpZ2dlcmluZyB0aXRsZSBtZXJnZSBsb2dpY3MgKi9cblx0XHRcdFx0XHRcdGlmIChzdWJTZWN0aW9uLmdldEJsb2NrcygpPy5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0XHRcdFx0Y29uc3Qgc3ViU2VjdGlvbkV2ZW50RGVsZWdhdGUgPSB7XG5cdFx0XHRcdFx0XHRcdFx0b25CZWZvcmVSZW5kZXJpbmc6ICgpOiB2b2lkID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuY2hlY2tBbmRBZGp1c3RTZWN0aW9uQ29udGVudCgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0c3ViU2VjdGlvbi5yZW1vdmVFdmVudERlbGVnYXRlKHN1YlNlY3Rpb25FdmVudERlbGVnYXRlKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHRcdHN1YlNlY3Rpb24uYWRkRXZlbnREZWxlZ2F0ZShzdWJTZWN0aW9uRXZlbnREZWxlZ2F0ZSk7XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHR0aGlzLmNoZWNrQW5kQWRqdXN0U2VjdGlvbkNvbnRlbnQoKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLmNoZWNrQW5kQWRqdXN0U2VjdGlvbkNvbnRlbnQoKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cblx0XHR0aGlzLmFkZEV2ZW50RGVsZWdhdGUoZXZlbnREZWxlZ2F0ZXMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGZvciB0aGUgc2VjdGlvbiBjb250ZW50IGFuZCBhZGp1c3RzIHRoZSBzZWN0aW9uIGJhc2VkIG9uIHRoZSBhdmFpbGFibGUgY29udGVudC5cblx0ICogQHByb3RlY3RlZFxuXHQgKi9cblx0Y2hlY2tBbmRBZGp1c3RTZWN0aW9uQ29udGVudCgpOiB2b2lkIHtcblx0XHRjb25zdCB2aWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzKTtcblx0XHRpZiAodGhpcy51c2VTaW5nbGVUZXh0QXJlYUZpZWxkQXNOb3Rlcykge1xuXHRcdFx0dGhpcy5jaGVja0FuZEFkanVzdFNlY3Rpb25Db250ZW50Rm9yVGV4dEFyZWEoKTtcblx0XHR9XG5cdFx0dGhpcy5jaGVja0FuZEFkanVzdEZvclNpbmdsZUNvbnRlbnQodmlldyk7XG5cdH1cblxuXHRzZXRPblNlY3Rpb25Mb2FkZWQob25TZWN0aW9uTG9hZGVkOiBzdHJpbmcpOiB2b2lkIHtcblx0XHRjb25zdCBsb2FkU3BsaXQgPSBvblNlY3Rpb25Mb2FkZWQuc3BsaXQoXCIuXCIpO1xuXHRcdHRoaXMuX3NlY3Rpb25Mb2FkTWV0aG9kTmFtZSA9IGxvYWRTcGxpdD8ucG9wKCk7XG5cdFx0dGhpcy5fc2VjdGlvbkxvYWRNb2R1bGVOYW1lID0gbG9hZFNwbGl0Py5qb2luKFwiL1wiKTtcblx0XHR0aGlzLnNldFByb3BlcnR5KFwib25TZWN0aW9uTG9hZGVkXCIsIG9uU2VjdGlvbkxvYWRlZCk7XG5cdH1cblxuXHQvLyBUT0RPOiBDaGVjayBpZiBvbkFmdGVyUmVuZGVyaW5nIGNhbiBiZSB1c2VkIGluc3RlYWQgb2YgYXBwbHlTZXR0aW5ncy5cblx0YXBwbHlTZXR0aW5ncyhtU2V0dGluZ3M6ICRNYW5hZ2VkT2JqZWN0U2V0dGluZ3MsIG9TY29wZT86IG9iamVjdCk6IHRoaXMge1xuXHRcdHN1cGVyLmFwcGx5U2V0dGluZ3MobVNldHRpbmdzLCBvU2NvcGUpO1xuXHRcdGNvbnN0IHRlbXBsYXRlQ29tcG9uZW50ID0gQ29tcG9uZW50LmdldE93bmVyQ29tcG9uZW50Rm9yKHRoaXMpIGFzIFRlbXBsYXRlQ29tcG9uZW50O1xuXHRcdGNvbnN0IHBhZ2VDb250cm9sbGVyID0gdGVtcGxhdGVDb21wb25lbnQuZ2V0Um9vdENvbnRyb2xsZXIoKTtcblx0XHRpZiAocGFnZUNvbnRyb2xsZXIpIHtcblx0XHRcdEhvb2tTdXBwb3J0LmluaXRDb250cm9sbGVyRXh0ZW5zaW9uSG9va0hhbmRsZXJzKHRoaXMsIHBhZ2VDb250cm9sbGVyKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKipcblx0ICogVXBkYXRlIHN1YnNlY3Rpb24gYmFja2dyb3VuZCBjbGFzcyBiYXNlZCBvbiB0YWJsZSBhZGp1c3RtZW50cyBtYWRlLlxuXHQgKiBAcGFyYW0gYWRqdXN0bWVudFJlc3VsdHMgQXJyYXkgb2YgYWRqdXN0bWVudCByZXN1bHRzXG5cdCAqL1xuXHR1cGRhdGVOb25UYWJsZVN1YlNlY3Rpb25CYWNrZ3JvdW5kKGFkanVzdG1lbnRSZXN1bHRzOiBBZGp1c3RtZW50UmVzdWx0c1tdKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuaGFzU3R5bGVDbGFzcyhcInNhcFVpVGFibGVPbk9iamVjdFBhZ2VBZGp1c3RtZW50c0ZvclNlY3Rpb25cIikpIHtcblx0XHRcdGFkanVzdG1lbnRSZXN1bHRzLmZvckVhY2goKHsgc3ViU2VjdGlvbiwgdGFibGVzQWRqdXN0ZWQgfSkgPT4ge1xuXHRcdFx0XHRpZiAodGFibGVzQWRqdXN0ZWQpIHtcblx0XHRcdFx0XHRzdWJTZWN0aW9uLnJlbW92ZVN0eWxlQ2xhc3MoXCJzYXBVaUFkanVzdGVkU2VjdGlvblN1YnNlY3Rpb25XaXRob3V0VGFibGVcIik7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0c3ViU2VjdGlvbi5hZGRTdHlsZUNsYXNzKFwic2FwVWlBZGp1c3RlZFNlY3Rpb25TdWJzZWN0aW9uV2l0aG91dFRhYmxlXCIpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2QgbG9vcHMgdGhyb3VnaCBhbGwgdGhlIHZpc2libGUgc3Vic2VjdGlvbnMgYW5kIHRyaWdnZXJzIHRoZSB0ZXh0IGFyZWEgZmxvdyBpZiB0aGF0cyB0aGUgb25seSBzaW5nbGUgY29udHJvbCB3aXRoaW4gdGhlIHNlY3Rpb24uXG5cdCAqL1xuXHRjaGVja0FuZEFkanVzdFNlY3Rpb25Db250ZW50Rm9yVGV4dEFyZWEoKTogdm9pZCB7XG5cdFx0Y29uc3QgdmlzaWJsZVN1YlNlY3Rpb25zID0gdGhpcy5nZXRWaXNpYmxlU3ViU2VjdGlvbnMoKTtcblx0XHRjb25zdCBhZGp1c3RtZW50UmVzdWx0cyA9IHZpc2libGVTdWJTZWN0aW9ucy5yZWR1Y2UoKHJlc3VsdHM6IEFkanVzdG1lbnRSZXN1bHRzW10sIHN1YlNlY3Rpb246IE9iamVjdFBhZ2VTdWJTZWN0aW9uKSA9PiB7XG5cdFx0XHRsZXQgdGFibGVzQWRqdXN0ZWQ7XG5cdFx0XHRjb25zdCBjb250ZW50ID0gdGhpcy5nZXRTaW5nbGVDb250ZW50KFtzdWJTZWN0aW9uXSk7XG5cdFx0XHRpZiAoY29udGVudCkge1xuXHRcdFx0XHR0YWJsZXNBZGp1c3RlZCA9IHRoaXMuYWRqdXN0Rm9yU2luZ2xlQ29udGVudChjb250ZW50KS50YWJsZXNBZGp1c3RlZDtcblx0XHRcdH1cblx0XHRcdHJlc3VsdHMucHVzaCh7IHN1YlNlY3Rpb24sIHRhYmxlc0FkanVzdGVkIH0pO1xuXHRcdFx0cmV0dXJuIHJlc3VsdHM7XG5cdFx0fSwgW10pO1xuXHRcdHRoaXMudXBkYXRlTm9uVGFibGVTdWJTZWN0aW9uQmFja2dyb3VuZChhZGp1c3RtZW50UmVzdWx0cyk7XG5cdH1cblxuXHRjaGVja0FuZEFkanVzdEZvclNpbmdsZUNvbnRlbnQodmlldzogRkVWaWV3KTogdm9pZCB8IFByb21pc2U8dW5rbm93bj4ge1xuXHRcdGlmICgodmlldz8uZ2V0Vmlld0RhdGEoKSBhcyBPYmplY3RQYWdlTWFuaWZlc3RTZXR0aW5ncyk/LnNlY3Rpb25MYXlvdXQgPT09IFwiUGFnZVwiKSB7XG5cdFx0XHRjb25zdCBzaW5nbGVDb250ZW50ID0gdGhpcy5nZXRTaW5nbGVDb250ZW50KCk7XG5cdFx0XHRpZiAoXG5cdFx0XHRcdHNpbmdsZUNvbnRlbnQgJiZcblx0XHRcdFx0KHNpbmdsZUNvbnRlbnQuaXNBKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5zZWN0aW9uLklTaW5nbGVTZWN0aW9uQ29udHJpYnV0b3JcIikgfHxcblx0XHRcdFx0XHR0aGlzLmNoZWNrSWZOb3Rlc1JldXNlQ29tcG9uZW50KHNpbmdsZUNvbnRlbnQpKVxuXHRcdFx0KSB7XG5cdFx0XHRcdGNvbnN0IHsgdGFibGVzQWRqdXN0ZWQ6IHNpbmdsZUNvbnRlbnRUYWJsZUFkanVzdGVkIH0gPSB0aGlzLmFkanVzdEZvclNpbmdsZUNvbnRlbnQoc2luZ2xlQ29udGVudCk7XG5cdFx0XHRcdGNvbnN0IHN1YlNlY3Rpb25zID0gdGhpcy5nZXRWaXNpYmxlU3ViU2VjdGlvbnMoKTtcblx0XHRcdFx0dGhpcy51cGRhdGVOb25UYWJsZVN1YlNlY3Rpb25CYWNrZ3JvdW5kKFt7IHN1YlNlY3Rpb246IHN1YlNlY3Rpb25zWzBdLCB0YWJsZXNBZGp1c3RlZDogc2luZ2xlQ29udGVudFRhYmxlQWRqdXN0ZWQgfV0pO1xuXHRcdFx0fSBlbHNlIGlmICh0aGlzLl9zZWN0aW9uTG9hZE1vZHVsZU5hbWUgJiYgdGhpcy5fc2VjdGlvbkxvYWRNZXRob2ROYW1lKSB7XG5cdFx0XHRcdHJldHVybiBGUE1IZWxwZXIubG9hZE1vZHVsZUFuZENhbGxNZXRob2QodGhpcy5fc2VjdGlvbkxvYWRNb2R1bGVOYW1lLCB0aGlzLl9zZWN0aW9uTG9hZE1ldGhvZE5hbWUsIHZpZXcsIHRoaXMpO1xuXHRcdFx0fSBlbHNlIGlmICh0aGlzLmdldFN1YlNlY3Rpb25zKCkubGVuZ3RoID4gMSkge1xuXHRcdFx0XHQvLyBjYWxsIG1lcmdlIHRpdGxlIGxvZ2ljIGZvciBzdWJzZWN0aW9uc1xuXHRcdFx0XHR0aGlzLmNoZWNrQW5kQWRqdXN0VGl0bGVzKCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRMb2cuZGVidWcoXCJTZWN0aW9uIGNhbm5vdCBiZSBhZGp1c3RlZCBmb3Igc2luZ2xlIGNvbnRlbnQgOiBJbnRlcmZhY2UgJ0lTaW5nbGVTZWN0aW9uQ29udHJpYnV0b3InIGlzIG5vdCBpbXBsZW1lbnRlZFwiKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5jaGVja0FuZEFkanVzdFRpdGxlcygpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcGFyYW0gc2luZ2xlQ29udGVudCBPYmplY3Qgb2YgdGhlIGNvbnRlbnQgcHJlc2VudCB3aXRoaW4gdGhlIHNlY3Rpb24uXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGNvbnRlbnQgcHJlc2VudCBpcyBhIG5vdGVzIHJldXNlIGNvbXBvbmVudFxuXHQgKi9cblx0Y2hlY2tJZk5vdGVzUmV1c2VDb21wb25lbnQoc2luZ2xlQ29udGVudDogTWFuYWdlZE9iamVjdCk6IGJvb2xlYW4ge1xuXHRcdGlmIChzaW5nbGVDb250ZW50LmlzQShcInNhcC5tLlZCb3hcIikgJiYgc2luZ2xlQ29udGVudC5nZXRJZCgpLmluY2x1ZGVzKFwiTm90ZVNlY3Rpb25cIikpIHtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBmdW5jdGlvbiBjaGVja3MgZm9yIHRoZSB2aXNpYmxlIHN1YnNlY3Rpb25zIGFuZCBjaGVja3MgZm9yIHRoZSBjb2xsZWN0aW9uIGZhY2V0IGxhYmVsLCBJZiBwcmVzZW50IHRoZW4gd2UgbWVyZ2UgdGhlIHRpdGxlIGFuZCB0aGlzIGZ1bmN0aW9uIGhhbmRsZXMgdGhlIER5bmFtaWNTaWRlQ29uZW50IGFzIHdlbGwuXG5cdCAqL1xuXHRjaGVja0FuZEFkanVzdFRpdGxlcygpOiB2b2lkIHtcblx0XHRjb25zdCB2aXNpYmxlU3ViU2VjdGlvbnMgPSB0aGlzLmdldFZpc2libGVTdWJTZWN0aW9ucygpO1xuXHRcdGlmICh2aXNpYmxlU3ViU2VjdGlvbnMubGVuZ3RoID09PSAxKSB7XG5cdFx0XHRjb25zdCB7IHRhYmxlc0FkanVzdGVkOiBzaW5nbGVTdWJTZWN0aW9uVGFibGVBZGp1c3RlZCB9ID0gdGhpcy5hZGp1c3RTZWN0aW9uQ29udGVudFdpdGhUaXRsZSh2aXNpYmxlU3ViU2VjdGlvbnNbMF0pO1xuXHRcdFx0dGhpcy51cGRhdGVOb25UYWJsZVN1YlNlY3Rpb25CYWNrZ3JvdW5kKFt7IHN1YlNlY3Rpb246IHZpc2libGVTdWJTZWN0aW9uc1swXSwgdGFibGVzQWRqdXN0ZWQ6IHNpbmdsZVN1YlNlY3Rpb25UYWJsZUFkanVzdGVkIH1dKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y29uc3QgYWRqdXN0bWVudFJlc3VsdHMgPSB2aXNpYmxlU3ViU2VjdGlvbnMucmVkdWNlKChyZXN1bHRzOiBBZGp1c3RtZW50UmVzdWx0c1tdLCBzdWJzZWN0aW9uOiBPYmplY3RQYWdlU3ViU2VjdGlvbikgPT4ge1xuXHRcdFx0XHRsZXQgdGFibGVzQWRqdXN0ZWQ7XG5cdFx0XHRcdGxldCBjb250ZW50O1xuXHRcdFx0XHRjb25zdCBibG9ja3MgPSBzdWJzZWN0aW9uLmdldEJsb2NrcygpO1xuXHRcdFx0XHQvLyBJbiBjYXNlIG9mIFRhYiBsYXlvdXQsIHdlIG5lZWQgdG8gY2hlY2sgaWYgdGhlIHNlY3Rpb24gaGFzIG9ubHkgb25lIHN1YnNlY3Rpb24gYW5kIHRoYXQgc3Vic2VjdGlvbiBoYXMgb25seSBvbmUgY29udHJvbFxuXHRcdFx0XHQvLyBJbiBjYXNlIG9mIGNvbGxlY3Rpb24gRmFjZXQsIHRoZSBmaXJzdCBibG9jayB3aWxsIGJlIFRpdGxlIGFuZCB0aGUgc2Vjb25kIGJsb2NrIHdpbGwgYmUgU3ViU2VjdGlvbkJsb2NrXG5cdFx0XHRcdGlmIChibG9ja3MubGVuZ3RoID09PSAyICYmIGJsb2Nrc1sxXT8uaXNBPFN1YlNlY3Rpb25CbG9jaz4oXCJzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuY29udHJvbHMuU3ViU2VjdGlvbkJsb2NrXCIpKSB7XG5cdFx0XHRcdFx0dGFibGVzQWRqdXN0ZWQgPSB0aGlzLmFkanVzdFNlY3Rpb25Db250ZW50V2l0aFRpdGxlKHN1YnNlY3Rpb24pLnRhYmxlc0FkanVzdGVkO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC8vIEluIGNhc2Ugb2YgUmVmZXJlbmNlIEZhY2V0LCB0aGUgZmlyc3QgYmxvY2sgd2lsbCBiZSBTdWJTZWN0aW9uQmxvY2tcblx0XHRcdFx0ZWxzZSBpZiAoYmxvY2tzLmxlbmd0aCA9PT0gMSAmJiBibG9ja3NbMF0/LmlzQTxTdWJTZWN0aW9uQmxvY2s+KFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLmNvbnRyb2xzLlN1YlNlY3Rpb25CbG9ja1wiKSkge1xuXHRcdFx0XHRcdGNvbnRlbnQgPSBibG9ja3NbMF0uZ2V0QWdncmVnYXRpb24oXCJjb250ZW50XCIpIGFzIE1hbmFnZWRPYmplY3Q7XG5cdFx0XHRcdFx0aWYgKGNvbnRlbnQuaXNBKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5zZWN0aW9uLklTaW5nbGVTZWN0aW9uQ29udHJpYnV0b3JcIikpIHtcblx0XHRcdFx0XHRcdHRhYmxlc0FkanVzdGVkID0gdGhpcy5hZGp1c3RGb3JTaW5nbGVDb250ZW50KGNvbnRlbnQsIHtcblx0XHRcdFx0XHRcdFx0c2VjdGlvbkZyb21SZWZlcmVuY2VGYWNldDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0U3ViU2VjdGlvbjogc3Vic2VjdGlvbixcblx0XHRcdFx0XHRcdFx0c2hvd1RpdGxlOiB0aGlzLmdldFZpc2libGVTdWJTZWN0aW9ucygpLmxlbmd0aCA+IDFcblx0XHRcdFx0XHRcdH0pLnRhYmxlc0FkanVzdGVkO1xuXHRcdFx0XHRcdH0gZWxzZSBpZiAoKGNvbnRlbnQgYXMgRHluYW1pY1NpZGVDb250ZW50KT8uaXNBKFwic2FwLnVpLmxheW91dC5EeW5hbWljU2lkZUNvbnRlbnRcIikpIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQgPVxuXHRcdFx0XHRcdFx0XHQoY29udGVudCBhcyBEeW5hbWljU2lkZUNvbnRlbnQpLmdldE1haW5Db250ZW50IGluc3RhbmNlb2YgRnVuY3Rpb24gJiZcblx0XHRcdFx0XHRcdFx0KGNvbnRlbnQgYXMgRHluYW1pY1NpZGVDb250ZW50KT8uZ2V0TWFpbkNvbnRlbnQoKTtcblx0XHRcdFx0XHRcdGlmIChjb250ZW50ICYmIGNvbnRlbnQubGVuZ3RoID09PSAxKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQgPSBjb250ZW50WzBdO1xuXHRcdFx0XHRcdFx0XHR0YWJsZXNBZGp1c3RlZCA9IHRoaXMuYWRqdXN0Rm9yU2luZ2xlQ29udGVudChjb250ZW50LCB7XG5cdFx0XHRcdFx0XHRcdFx0c2VjdGlvbkZyb21SZWZlcmVuY2VGYWNldDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRTdWJTZWN0aW9uOiBzdWJzZWN0aW9uXG5cdFx0XHRcdFx0XHRcdH0pLnRhYmxlc0FkanVzdGVkO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRyZXN1bHRzLnB1c2goeyBzdWJTZWN0aW9uOiBzdWJzZWN0aW9uLCB0YWJsZXNBZGp1c3RlZCB9KTtcblx0XHRcdFx0cmV0dXJuIHJlc3VsdHM7XG5cdFx0XHR9LCBbXSk7XG5cdFx0XHR0aGlzLnVwZGF0ZU5vblRhYmxlU3ViU2VjdGlvbkJhY2tncm91bmQoYWRqdXN0bWVudFJlc3VsdHMpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBmb3IgdGhlIGZvciB0aGUgY29sbGVjdGlvbiBmYWNldCBsYWJlbCxJZiBwcmVzZW50IHRoZW4gd2UgbWVyZ2UgdGhlIHRpdGxlLlxuXHQgKiBAcGFyYW0gc3Vic2VjdGlvbiBPYmplY3RQYWdlIFN1YlNlY3Rpb25cblx0ICogQHJldHVybnMgQWRqdXN0bWVudCByZXN1bHRzIGNvbnRhaW5pbmcgdGhlIHN1YnNlY3Rpb24gYW5kIHRhYmxlIGFkanVzdG1lbnQgc3RhdHVzLlxuXHQgKi9cblx0YWRqdXN0U2VjdGlvbkNvbnRlbnRXaXRoVGl0bGUoc3Vic2VjdGlvbjogT2JqZWN0UGFnZVN1YlNlY3Rpb24pOiBBZGp1c3RtZW50UmVzdWx0cyB7XG5cdFx0bGV0IGFkanVzdG1lbnRQcm9wczogQWRqdXN0bWVudFByb3BzID0ge307XG5cdFx0Y29uc3QgYmxvY2tzID0gc3Vic2VjdGlvbi5nZXRCbG9ja3MoKTtcblx0XHRsZXQgY29udGVudDtcblx0XHRpZiAoYmxvY2tzLmxlbmd0aCA9PT0gMiAmJiBibG9ja3NbMV0uaXNBPFN1YlNlY3Rpb25CbG9jaz4oXCJzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuY29udHJvbHMuU3ViU2VjdGlvbkJsb2NrXCIpKSB7XG5cdFx0XHRjb250ZW50ID0gYmxvY2tzWzFdLmdldEFnZ3JlZ2F0aW9uKFwiY29udGVudFwiKSBhcyBNYW5hZ2VkT2JqZWN0O1xuXHRcdFx0aWYgKGNvbnRlbnQgJiYgY29udGVudC5pc0EoXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLnNlY3Rpb24uSVNpbmdsZVNlY3Rpb25Db250cmlidXRvclwiKSAmJiBibG9ja3NbMF0uaXNBPFRpdGxlPihcInNhcC5tLlRpdGxlXCIpKSB7XG5cdFx0XHRcdGFkanVzdG1lbnRQcm9wcyA9IHRoaXMuYWRqdXN0Rm9yU2luZ2xlQ29udGVudChjb250ZW50LCB7XG5cdFx0XHRcdFx0c2VjdGlvbmZyb21Db2xsZWN0aW9uRmFjZXQ6IHRydWUsXG5cdFx0XHRcdFx0VGl0bGU6IGJsb2Nrc1swXSxcblx0XHRcdFx0XHRTdWJTZWN0aW9uOiBzdWJzZWN0aW9uLFxuXHRcdFx0XHRcdHNob3dUaXRsZTogdGhpcy5nZXRWaXNpYmxlU3ViU2VjdGlvbnMoKS5sZW5ndGggPiAxXG5cdFx0XHRcdH0pO1xuXHRcdFx0fSBlbHNlIGlmIChjb250ZW50ICYmIGNvbnRlbnQuaXNBPER5bmFtaWNTaWRlQ29udGVudD4oXCJzYXAudWkubGF5b3V0LkR5bmFtaWNTaWRlQ29udGVudFwiKSkge1xuXHRcdFx0XHRjb250ZW50ID0gY29udGVudC5nZXRNYWluQ29udGVudCBpbnN0YW5jZW9mIEZ1bmN0aW9uICYmIGNvbnRlbnQ/LmdldE1haW5Db250ZW50KCk7XG5cdFx0XHRcdGlmIChjb250ZW50ICYmIGNvbnRlbnQubGVuZ3RoID09PSAxKSB7XG5cdFx0XHRcdFx0Y29udGVudCA9IGNvbnRlbnRbMF07XG5cdFx0XHRcdFx0YWRqdXN0bWVudFByb3BzID0gdGhpcy5hZGp1c3RGb3JTaW5nbGVDb250ZW50KGNvbnRlbnQsIHtcblx0XHRcdFx0XHRcdHNlY3Rpb25mcm9tQ29sbGVjdGlvbkZhY2V0OiB0cnVlLFxuXHRcdFx0XHRcdFx0VGl0bGU6IGJsb2Nrc1swXSBhcyBUaXRsZSxcblx0XHRcdFx0XHRcdFN1YlNlY3Rpb246IHN1YnNlY3Rpb25cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4geyBzdWJTZWN0aW9uOiBzdWJzZWN0aW9uLCB0YWJsZXNBZGp1c3RlZDogYWRqdXN0bWVudFByb3BzLnRhYmxlc0FkanVzdGVkIH07XG5cdH1cblxuXHRnZXRTaW5nbGVDb250ZW50KHZpc2libGVTdWJTZWN0aW9ucz86IE9iamVjdFBhZ2VTdWJTZWN0aW9uW10pOiBNYW5hZ2VkT2JqZWN0IHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBzdWJTZWN0aW9ucyA9IHZpc2libGVTdWJTZWN0aW9ucyA/PyB0aGlzLmdldFZpc2libGVTdWJTZWN0aW9ucygpO1xuXHRcdGlmIChzdWJTZWN0aW9ucy5sZW5ndGggPT09IDEpIHtcblx0XHRcdGNvbnN0IGJsb2NrcyA9IHN1YlNlY3Rpb25zWzBdLmdldEJsb2NrcygpO1xuXHRcdFx0aWYgKGJsb2Nrcy5sZW5ndGggPT09IDEgJiYgYmxvY2tzWzBdLmlzQTxTdWJTZWN0aW9uQmxvY2s+KFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLmNvbnRyb2xzLlN1YlNlY3Rpb25CbG9ja1wiKSkge1xuXHRcdFx0XHRyZXR1cm4gYmxvY2tzWzBdLmdldEFnZ3JlZ2F0aW9uKFwiY29udGVudFwiKSBhcyBNYW5hZ2VkT2JqZWN0O1xuXHRcdFx0fVxuXHRcdFx0Ly9JZiB0aGVyZSBpcyBhbiBpbnZpc2libGUgdGV4dCBiZWZvcmUgYSBzdGFuZGFyZCBidWlsZGluZyBibG9jaywgdGhlbiBhbHNvIHRoZSBtZXJnZSB0aXRsZSBsb2dpYyBzaG91bGQgYmUgYXBwbGllZCBhcyBpdHMgc3RpbGwgYSBzaW5nbGUgY29udGVudFxuXHRcdFx0ZWxzZSBpZiAoXG5cdFx0XHRcdGJsb2Nrcy5sZW5ndGggPT09IDIgJiZcblx0XHRcdFx0YmxvY2tzWzBdLmlzQShcInNhcC51aS5jb3JlLkludmlzaWJsZVRleHRcIikgJiZcblx0XHRcdFx0YmxvY2tzWzFdLmlzQTxTdWJTZWN0aW9uQmxvY2s+KFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLmNvbnRyb2xzLlN1YlNlY3Rpb25CbG9ja1wiKVxuXHRcdFx0KVxuXHRcdFx0XHRyZXR1cm4gYmxvY2tzWzFdLmdldEFnZ3JlZ2F0aW9uKFwiY29udGVudFwiKSBhcyBNYW5hZ2VkT2JqZWN0O1xuXHRcdH1cblx0fVxuXG5cdGdldFZpc2libGVTdWJTZWN0aW9ucygpOiBPYmplY3RQYWdlU3ViU2VjdGlvbltdIHtcblx0XHRjb25zdCBzdWJTZWN0aW9ucyA9IHRoaXMuZ2V0U3ViU2VjdGlvbnMoKTtcblx0XHRyZXR1cm4gc3ViU2VjdGlvbnMucmVkdWNlKCh2aXNpYmxlU3ViU2VjdGlvbnM6IE9iamVjdFBhZ2VTdWJTZWN0aW9uW10sIHN1YlNlY3Rpb24pID0+IHtcblx0XHRcdGlmIChzdWJTZWN0aW9uLmdldFZpc2libGUoKSkge1xuXHRcdFx0XHR2aXNpYmxlU3ViU2VjdGlvbnMucHVzaChzdWJTZWN0aW9uKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiB2aXNpYmxlU3ViU2VjdGlvbnM7XG5cdFx0fSwgW10gYXMgT2JqZWN0UGFnZVN1YlNlY3Rpb25bXSk7XG5cdH1cblxuXHRnZXRTZWN0aW9uVGl0bGUoKTogc3RyaW5nIHtcblx0XHRsZXQgdGl0bGUgPSB0aGlzLmdldFRpdGxlKCk7XG5cdFx0aWYgKHRoaXMuZ2V0VmlzaWJsZVN1YlNlY3Rpb25zKCkubGVuZ3RoID09PSAxKSB7XG5cdFx0XHR0aXRsZSA9IHRoaXMuZ2V0VmlzaWJsZVN1YlNlY3Rpb25zKClbMF0uZ2V0VGl0bGUoKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRpdGxlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkanVzdCB0aGUgc2VjdGlvbiBhbmQgc3Vic2VjdGlvbiBiYXNlZCBvbiB0aGUgYXZhaWxhYmxlIGNvbnRlbnQuXG5cdCAqIEBwYXJhbSBzaW5nbGVDb250ZW50IENvbnRlbnRcblx0ICogQHBhcmFtIHNlY3Rpb25EZXRhaWxzIERldGFpbHNcblx0ICogQHJldHVybnMgSXMgdGhlIHNlY3Rpb24gYWRqdXN0ZWQuXG5cdCAqL1xuXHRhZGp1c3RGb3JTaW5nbGVDb250ZW50KFxuXHRcdHNpbmdsZUNvbnRlbnQ6IE1hbmFnZWRPYmplY3QsXG5cdFx0c2VjdGlvbkRldGFpbHM/OiBSZWNvcmQ8c3RyaW5nLCBPYmplY3RQYWdlU3ViU2VjdGlvbiB8IFRpdGxlIHwgYm9vbGVhbj5cblx0KTogQWRqdXN0bWVudFByb3BzIHtcblx0XHQvLyBzYXBVaVRhYmxlT25PYmplY3RQYWdlQWRqdXN0bWVudHNGb3JTZWN0aW9uIGNsYXNzIGF0IGxldmVsIG1ha2VzIGJhY2tncm91bmQgb2Ygc3Vic2VjdGlvbiB0aXRsZXMgdHJhbnNwYXJlbnQuXG5cdFx0Ly8gVGhpcyB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kIGlzIHByb3BhZ2F0ZWQgdG8gY29udGVudHMgdGhhdCBhcmUgZXhwZWN0ZWQgdG8gc2hvdyBvcGFxdWUgYmFja2dyb3VuZHMgYnkgZGVmYXVsdC5cblx0XHQvLyBXZSBuZWVkIHRvIGFkZCBleGNsdXNpb24gY2xhc3MgXCJzYXBVaUFkanVzdGVkU2VjdGlvblN1YnNlY3Rpb25XaXRob3V0VGFibGVcIiB0byB0aGUgc3Vic2VjdGlvbiB0aGF0IGRvZXNuJ3QgbmVlZFxuXHRcdGNvbnN0IGNsYXNzZXNUb0FkZDogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG5cdFx0Y29uc3Qgc2VjdGlvbk9ubHlDb250ZW50ID0gc2luZ2xlQ29udGVudCBhcyB1bmtub3duIGFzIElTaW5nbGVTZWN0aW9uQ29udHJpYnV0b3I7XG5cdFx0Ly8gVGhpcyBmdW5jdGlvbiB3aWxsIGFsc28gYmUgY2FsbGVkIGZyb20gdGhlIGV4dGVuc2lvbkFQSSBhbG9uZyB3aXRoIHNvbWUgY29udHJvbHMgYnkgdGhlIGFwcGxpY2F0aW9uIGRldmVsb3BlciwgdGhlIGJlbG93IGNoZWNrIGlzIGFkZGVkIHRvIGNvdmVyIHRoZSBjYXNlcyB3aGVyZSB0aGUgY29udHJvbHMgcGFzc2VkIGxpa2Ugc2FwLm0uVGl0bGUgYXJlIG5vdCBpbXBsZW1lbnRpbmcgdGhlIGludGVyZmFjZVxuXHRcdGNvbnN0IGNvbnRlbnRSb2xlID0gc2VjdGlvbk9ubHlDb250ZW50LmdldFNlY3Rpb25Db250ZW50Um9sZSAmJiBzZWN0aW9uT25seUNvbnRlbnQuZ2V0U2VjdGlvbkNvbnRlbnRSb2xlKCk7XG5cdFx0aWYgKGNvbnRlbnRSb2xlID09PSBcInByb3ZpZGVyXCIpIHtcblx0XHRcdGNvbnN0IGluZm9Gcm9tUHJvdmlkZXIgPVxuXHRcdFx0XHRzZWN0aW9uT25seUNvbnRlbnQuZ2V0RGF0YUZyb21Qcm92aWRlciAmJiBzZWN0aW9uT25seUNvbnRlbnQuZ2V0RGF0YUZyb21Qcm92aWRlcih0aGlzLnVzZVNpbmdsZVRleHRBcmVhRmllbGRBc05vdGVzKTtcblx0XHRcdGlmIChpbmZvRnJvbVByb3ZpZGVyICYmIHRoaXMuZ2V0VGl0bGUoKSA9PT0gaW5mb0Zyb21Qcm92aWRlci50aXRsZSkge1xuXHRcdFx0XHQvL3RoaXMuc2V0VGl0bGUoaW5mb0Zyb21Qcm92aWRlci50aXRsZSk7XG5cdFx0XHRcdHRoaXMuc2V0U2hvd1RpdGxlKHRydWUpO1xuXHRcdFx0XHQvLyBUT0RPOiBDaGVjayBpZiB0aGlzIGlzIHJlYWxseSBuZWVkZWQ/XG5cdFx0XHRcdGNsYXNzZXNUb0FkZC5hZGQoXCJzYXBVaVRhYmxlT25PYmplY3RQYWdlQWRqdXN0bWVudHNGb3JTZWN0aW9uXCIpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAoY29udGVudFJvbGUgPT09IFwiY29uc3VtZXJcIikge1xuXHRcdFx0bGV0IHRpdGxlID0gdGhpcy5nZXRTZWN0aW9uVGl0bGUoKTtcblx0XHRcdGlmIChzZWN0aW9uRGV0YWlscz8uc2VjdGlvbmZyb21Db2xsZWN0aW9uRmFjZXQpIHtcblx0XHRcdFx0dGl0bGUgPSAoc2VjdGlvbkRldGFpbHM/LlRpdGxlIGFzIFRpdGxlKT8uZ2V0VGV4dCgpO1xuXHRcdFx0XHQoc2VjdGlvbkRldGFpbHM/LlRpdGxlIGFzIFRpdGxlKT8uc2V0VmlzaWJsZShmYWxzZSk7XG5cdFx0XHRcdChzZWN0aW9uRGV0YWlscz8uU3ViU2VjdGlvbiBhcyBPYmplY3RQYWdlU3ViU2VjdGlvbik/LnNldFNob3dUaXRsZShmYWxzZSk7XG5cdFx0XHR9IGVsc2UgaWYgKHNlY3Rpb25EZXRhaWxzPy5zZWN0aW9uRnJvbVJlZmVyZW5jZUZhY2V0KSB7XG5cdFx0XHRcdHRpdGxlID0gKHNlY3Rpb25EZXRhaWxzPy5TdWJTZWN0aW9uIGFzIE9iamVjdFBhZ2VTdWJTZWN0aW9uKT8uZ2V0VGl0bGUoKTtcblx0XHRcdFx0KHNlY3Rpb25EZXRhaWxzPy5TdWJTZWN0aW9uIGFzIE9iamVjdFBhZ2VTdWJTZWN0aW9uKT8uc2V0U2hvd1RpdGxlKGZhbHNlKTtcblx0XHRcdH1cblx0XHRcdGlmICh0aXRsZSA9PT0gXCJcIiAmJiBzZWN0aW9uRGV0YWlscz8uU3ViU2VjdGlvbikge1xuXHRcdFx0XHR0aXRsZSA9IChzZWN0aW9uRGV0YWlscz8uU3ViU2VjdGlvbiBhcyBPYmplY3RQYWdlU3ViU2VjdGlvbikuZ2V0VGl0bGUoKTtcblx0XHRcdH1cblx0XHRcdGlmIChzZWN0aW9uT25seUNvbnRlbnQuc2VuZERhdGFUb0NvbnN1bWVyKSB7XG5cdFx0XHRcdGNvbnN0IHN1YlNlY3Rpb25zID0gdGhpcy5nZXRTdWJTZWN0aW9ucygpO1xuXHRcdFx0XHRjb25zdCBoYXNNdWx0aXBsZVN1YnNlY3Rpb25zID0gISEoc3ViU2VjdGlvbnM/Lmxlbmd0aCA+IDEpO1xuXG5cdFx0XHRcdHNlY3Rpb25Pbmx5Q29udGVudC5zZW5kRGF0YVRvQ29uc3VtZXIoe1xuXHRcdFx0XHRcdHRpdGxlTGV2ZWw6IGhhc011bHRpcGxlU3Vic2VjdGlvbnMgPyBcIkg0XCIgOiBcIkgzXCIsIC8vIEZvciBzZWN0aW9uIGhlYWRlciBsZXZlbCBpcyBIMyB0aGUgZm9yIHN1YnNlY3Rpb25zIGhlYWRlciBsZXZlbCBzaG91bGQgYmUgaDQsXG5cdFx0XHRcdFx0dGl0bGU6IHRpdGxlLFxuXHRcdFx0XHRcdGhlYWRlclN0eWxlOiBoYXNNdWx0aXBsZVN1YnNlY3Rpb25zID8gXCJINVwiIDogXCJINFwiXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHR0aGlzLnNldFNob3dUaXRsZSghIXNlY3Rpb25EZXRhaWxzPy5zaG93VGl0bGUpO1xuXHRcdFx0XHRjbGFzc2VzVG9BZGQuYWRkKFwic2FwVWlUYWJsZU9uT2JqZWN0UGFnZUFkanVzdG1lbnRzRm9yU2VjdGlvblwiKTtcblxuXHRcdFx0XHQvLyBpZiB0aGUgc2VjdGlvbiBoYXMgb25seSBzdWIgc2VjdGlvbiwgdGhlbiB0aGUgc3ViIHNlY3Rpb24ncyB0aXRsZSBzaG91bGQgbm90IGJlIGRpc3BsYXllZFxuXHRcdFx0XHRpZiAoIWhhc011bHRpcGxlU3Vic2VjdGlvbnMpIHN1YlNlY3Rpb25zWzBdLnNldFNob3dUaXRsZShmYWxzZSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmIChzaW5nbGVDb250ZW50Py5pc0EoXCJzYXAubS5UaXRsZVwiKSkge1xuXHRcdFx0Y29uc3Qgc3ViU2VjdGlvbnMgPSB0aGlzLmdldFZpc2libGVTdWJTZWN0aW9ucygpIHx8IFtdO1xuXHRcdFx0Y29uc3QgaGFzTXVsdGlwbGVTdWJzZWN0aW9ucyA9IHN1YlNlY3Rpb25zLmxlbmd0aCA+IDE7XG5cblx0XHRcdC8vIEhhbmRsZSB0aXRsZSBzdHlsaW5nIGFuZCB2aXNpYmlsaXR5IGlmIHJldXNlIGNvbXBvbmVudCBpcyBub3QgZW5hYmxlZFxuXHRcdFx0aWYgKCFzZWN0aW9uRGV0YWlscz8ubXVsdGlwbGVTdWJTZWN0aW9uc1dpdGhSZXVzZUNvbXBvbmVudCkge1xuXHRcdFx0XHRjb25zdCB0aXRsZSA9IHNpbmdsZUNvbnRlbnQgYXMgVGl0bGU7XG5cdFx0XHRcdHRpdGxlLnNldFRleHQodGhpcy5nZXRUaXRsZSgpKTtcblx0XHRcdFx0dGl0bGUuc2V0VGl0bGVTdHlsZShoYXNNdWx0aXBsZVN1YnNlY3Rpb25zID8gXCJINVwiIDogXCJINFwiKTtcblx0XHRcdFx0dGl0bGUuc2V0TGV2ZWwodGhpcy5nZXRUaXRsZUxldmVsKCkpO1xuXHRcdFx0XHR0aGlzLnNldFNob3dUaXRsZShmYWxzZSk7XG5cdFx0XHRcdGNsYXNzZXNUb0FkZC5hZGQoXCJzYXBVaVRhYmxlT25PYmplY3RQYWdlQWRqdXN0bWVudHNGb3JTZWN0aW9uXCIpO1xuXHRcdFx0fVxuXHRcdFx0Ly8gSGlkZSBzdWJzZWN0aW9uIHRpdGxlIGlmIHRoZXJlJ3Mgb25seSBvbmUgdmlzaWJsZSBzdWJzZWN0aW9uXG5cdFx0XHRpZiAoc3ViU2VjdGlvbnMubGVuZ3RoID09PSAxKSB7XG5cdFx0XHRcdHN1YlNlY3Rpb25zWzBdLnNldFNob3dUaXRsZShmYWxzZSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmICh0aGlzLmNoZWNrSWZOb3Rlc1JldXNlQ29tcG9uZW50KHNpbmdsZUNvbnRlbnQpKSB7XG5cdFx0XHQvKipcblx0XHRcdCAqIE5vdGVzIFJldXNlIGNvbXBvbmVudCBoYXMgdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmUgOlxuXHRcdFx0ICogPFZCb3ggaWQ9XCJOb3RlU2VjdGlvblwiPlxuXHRcdFx0ICogPE1lc3NhZ2VTdHJpcCBpZD1cIm5vdGVzRGVidWdQcm9wZXJ0aWVzXCI+XG5cdFx0XHQgKiA8TGlzdCBpZD1cIk5vdGVzTGlzdFwiPlxuXHRcdFx0ICogPGhlYWRlclRvb2xiYXI+XG5cdFx0XHQgKiA8T3ZlcmZsb3dUb29sYmFyIGlkPVwibm90ZUhlYWRlck92ZXJmbG93VG9vbGJhclwiIHN0eWxlPVwiU3RhbmRhcmRcIj5cblx0XHRcdCAqICAgICAgIDxUaXRsZSBpZD1cIm5vdGVIZWFkZXJPdmVyZmxvd1Rvb2xiYXJUaXRsZVwiLz5cblx0XHRcdCAqXHRcdC4uLi4uLlxuXHRcdFx0ICpcdDwvT3ZlcmZsb3dUb29sYmFyPlxuXHRcdFx0ICpcdDwvaGVhZGVyVG9vbGJhcj5cblx0XHRcdCAqXHQuLi4uLi5cblx0XHRcdCAqXHQ8L0xpc3Q+XG5cdFx0XHQgKlx0PC9WQm94PlxuXHRcdFx0ICpcdC4uLi4uXG5cdFx0XHQgKlxuXHRcdFx0ICogV2UgYXJlIGFwcGx5aW5nIHRoZSB0aXRsZSBtZXJnZSBsb2dpYyBmb3IgdGhlIHRpdGxlIHdpdGhpbiB0aGUgb3ZlcmZsb3cgdG9vbGJhclxuXHRcdFx0ICogaW4gdGhlIGZvbGxvd2luZyBjb2RlXG5cdFx0XHQgKlxuXHRcdFx0ICovXG5cdFx0XHRjb25zdCB2Qm94SXRlbXMgPSAoc2luZ2xlQ29udGVudCBhcyBWQm94KS5nZXRJdGVtcygpO1xuXHRcdFx0dkJveEl0ZW1zLmZvckVhY2goKHZCb3hJdGVtKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGhlYWRlclRvb2xiYXIgPSB2Qm94SXRlbS5nZXRBZ2dyZWdhdGlvbihcImhlYWRlclRvb2xiYXJcIik7XG5cdFx0XHRcdGlmIChoZWFkZXJUb29sYmFyKSB7XG5cdFx0XHRcdFx0KGhlYWRlclRvb2xiYXIgYXMgT3ZlcmZsb3dUb29sYmFyKT8uZ2V0Q29udGVudCgpLmZvckVhY2goKGNvbnRyb2wpID0+IHtcblx0XHRcdFx0XHRcdGlmIChjb250cm9sLmlzQShcInNhcC5tLlRpdGxlXCIpKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IG5vdGVzVGl0bGUgPSBjb250cm9sIGFzIFRpdGxlO1xuXHRcdFx0XHRcdFx0XHRub3Rlc1RpdGxlLnNldFRleHQodGhpcy5nZXRUaXRsZSgpKTtcblx0XHRcdFx0XHRcdFx0bm90ZXNUaXRsZS5zZXRUaXRsZVN0eWxlKFwiSDRcIik7XG5cdFx0XHRcdFx0XHRcdG5vdGVzVGl0bGUuc2V0TGV2ZWwodGhpcy5nZXRUaXRsZUxldmVsKCkpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdC8vIFNpbmdsZSBjb250ZW50IHdpdGggc2luZ2xlIHN1YnNlY3Rpb24gbWVhbnMgc2VjdGlvbiB0aXRsZSgxKSwgc3Vic2VjdGlvbiB0aXRsZSgyKSBhbmQgTm90ZXMgUmV1c2UgY29tcG9uZW50IHRpdGxlKDMpIGFyZSBhdmFpbGFibGUuXG5cdFx0XHQvLyBXZSBzaGFsbCBzaG93IG9ubHkgMy4gV2UgaGlkZSAxIGFuZCAyLlxuXHRcdFx0Y29uc3Qgc3ViU2VjdGlvbnMgPSB0aGlzLmdldFZpc2libGVTdWJTZWN0aW9ucygpO1xuXHRcdFx0aWYgKHN1YlNlY3Rpb25zLmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0XHRzdWJTZWN0aW9uc1swXS5zZXRTaG93VGl0bGUoZmFsc2UpO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5zZXRTaG93VGl0bGUoZmFsc2UpO1xuXHRcdFx0Y2xhc3Nlc1RvQWRkLmFkZChcInNhcFVpVGFibGVPbk9iamVjdFBhZ2VBZGp1c3RtZW50c0ZvclNlY3Rpb25cIik7XG5cdFx0fVxuXHRcdHRoaXMuYWRkU3R5bGVDbGFzcyhBcnJheS5mcm9tKGNsYXNzZXNUb0FkZCkuam9pbihcIiBcIikpO1xuXHRcdHJldHVybiB7IHRhYmxlc0FkanVzdGVkOiBjbGFzc2VzVG9BZGQuaGFzKFwic2FwVWlUYWJsZU9uT2JqZWN0UGFnZUFkanVzdG1lbnRzRm9yU2VjdGlvblwiKSB9O1xuXHR9XG59XG5c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
|
|
@@ -348,7 +348,7 @@ class Section extends ObjectPageSection {
|
|
|
348
348
|
const hasMultipleSubsections = !!(subSections?.length > 1);
|
|
349
349
|
|
|
350
350
|
sectionOnlyContent.sendDataToConsumer({
|
|
351
|
-
titleLevel:
|
|
351
|
+
titleLevel: hasMultipleSubsections ? "H4" : "H3", // For section header level is H3 the for subsections header level should be h4,
|
|
352
352
|
title: title,
|
|
353
353
|
headerStyle: hasMultipleSubsections ? "H5" : "H4"
|
|
354
354
|
});
|