@sapui5/sap.fe.test 1.131.0 → 1.133.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/fe/test/.library +1 -1
- package/src/sap/fe/test/AppStateAdapter.js +1 -1
- package/src/sap/fe/test/JestFlexibilityHelper.js +3 -5
- package/src/sap/fe/test/JestTemplatingHelper.js +215 -36
- package/src/sap/fe/test/JestTemplatingHelper.tsx +209 -6
- package/src/sap/fe/test/ObjectPage.js +3 -3
- package/src/sap/fe/test/Shell.js +30 -5
- package/src/sap/fe/test/Stubs.js +20 -18
- package/src/sap/fe/test/TemplatePage.js +17 -21
- package/src/sap/fe/test/UI5MockHelper.js +13 -10
- package/src/sap/fe/test/UI5MockHelper.ts +12 -2
- package/src/sap/fe/test/api/CollaborationAPI.js +3 -3
- package/src/sap/fe/test/api/CollaborationAPI.ts +2 -1
- package/src/sap/fe/test/api/TableActions.js +2 -4
- package/src/sap/fe/test/api/TableAssertions.js +2 -1
- package/src/sap/fe/test/builder/MacroFieldBuilder.js +20 -5
- package/src/sap/fe/test/builder/MdcTableBuilder.js +47 -138
- package/src/sap/fe/test/internal/ConsoleErrorChecker.js +3 -5
- package/src/sap/fe/test/library.js +1 -1
|
@@ -293,9 +293,14 @@ sap.ui.define(
|
|
|
293
293
|
function _getColumnContextToggleBuilder(ToggleButtonLabel, ToggleType) {
|
|
294
294
|
return OpaBuilder.create()
|
|
295
295
|
.isDialogElement()
|
|
296
|
-
.hasType("sap.m.
|
|
297
|
-
.
|
|
298
|
-
|
|
296
|
+
.hasType("sap.m.Switch")
|
|
297
|
+
.success(function (aSwitchButtons) {
|
|
298
|
+
const fnFindSwitchButton = function (oItem) {
|
|
299
|
+
return oItem.getParent().getCategory() === ToggleType && oItem.getParent().getLabel() === ToggleButtonLabel;
|
|
300
|
+
};
|
|
301
|
+
const switchButton = aSwitchButtons.find(fnFindSwitchButton);
|
|
302
|
+
switchButton.fireChange();
|
|
303
|
+
})
|
|
299
304
|
.description(Utils.formatMessage(ToggleType + " column '{0}'", ToggleButtonLabel));
|
|
300
305
|
}
|
|
301
306
|
|
|
@@ -476,110 +481,35 @@ sap.ui.define(
|
|
|
476
481
|
return this.has(TableBuilder.Matchers.columnControl(vColumn)).has(FEBuilder.Matchers.singleElement()).doPress();
|
|
477
482
|
};
|
|
478
483
|
|
|
479
|
-
TableBuilder.prototype.doColumnHeaderSorting = function (vColumn, sFieldName, sSortOrder
|
|
484
|
+
TableBuilder.prototype.doColumnHeaderSorting = function (vColumn, sFieldName, sSortOrder) {
|
|
480
485
|
var SortingIcon = sSortOrder === SortOrder.Ascending ? "sap-icon://sort-ascending" : "sap-icon://sort-descending";
|
|
481
|
-
|
|
482
|
-
var TriggerSortOK = OpaBuilder.create()
|
|
483
|
-
.isDialogElement()
|
|
484
|
-
.hasType("sap.m.Button")
|
|
485
|
-
.hasProperties({ text: "OK" })
|
|
486
|
-
.doPress()
|
|
487
|
-
.description("Confirming the Sorting dialog");
|
|
488
|
-
|
|
489
|
-
// Builder to clear existing sorting entries
|
|
490
|
-
var DeclineSortingBuilder = OpaBuilder.create()
|
|
491
|
-
.isDialogElement()
|
|
492
|
-
.hasType("sap.m.Button")
|
|
493
|
-
.hasProperties({ icon: "sap-icon://decline" })
|
|
494
|
-
.doPress()
|
|
495
|
-
.description("Removing all previous sortings");
|
|
496
|
-
|
|
497
|
-
// Builder to check for a specific sorting entry
|
|
498
|
-
var CheckSortingFieldBuilder = OpaBuilder.create(this)
|
|
499
|
-
.isDialogElement()
|
|
500
|
-
.hasType("sap.m.ComboBox")
|
|
501
|
-
.hasProperties({ value: sFieldName });
|
|
502
|
-
|
|
503
|
-
// Builder for changing existing sorting entries
|
|
504
|
-
var ExistingSortingFieldBuilder = OpaBuilder.create(this)
|
|
486
|
+
var TriggerSortBuilder = OpaBuilder.create()
|
|
505
487
|
.isDialogElement()
|
|
506
|
-
.hasType("sap.m.
|
|
507
|
-
.
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
OpaBuilder.create(this).hasType("sap.m.ComboBox").hasProperties({ placeholder: "Sort By" }).hasProperties({ value: "" })
|
|
518
|
-
)
|
|
519
|
-
.doOnChildren(
|
|
520
|
-
OpaBuilder.create(this)
|
|
521
|
-
.hasType("sap.m.ComboBox")
|
|
522
|
-
.hasProperties({ placeholder: "Sort By" })
|
|
523
|
-
.hasProperties({ value: "" })
|
|
524
|
-
.doEnterText(sFieldName, true, false, true)
|
|
525
|
-
)
|
|
526
|
-
.doOnChildren(OpaBuilder.create(this).hasType("sap.m.Button").hasProperties({ icon: SortingIcon }).doPress())
|
|
527
|
-
.description(Utils.formatMessage("Insert new sorting field '{0}': {1}", sFieldName, sSortOrder))
|
|
528
|
-
.success(TriggerSortOK);
|
|
529
|
-
|
|
530
|
-
// Builder to distinguish between inserting a new entry or changing an existing entry
|
|
531
|
-
var CheckSortingPanelBuilder = OpaBuilder.create()
|
|
532
|
-
.isDialogElement()
|
|
533
|
-
.hasType("sap.m.p13n.SortPanel")
|
|
534
|
-
.do(function () {
|
|
535
|
-
if (bClearFirst) {
|
|
536
|
-
DeclineSortingBuilder.execute();
|
|
537
|
-
}
|
|
538
|
-
if (!FEBuilder.controlsExist(CheckSortingFieldBuilder) || bClearFirst) {
|
|
539
|
-
return NewSortingFieldBuilder.execute();
|
|
540
|
-
} else {
|
|
541
|
-
return ExistingSortingFieldBuilder.execute();
|
|
542
|
-
}
|
|
543
|
-
});
|
|
544
|
-
|
|
545
|
-
// Opens the Sorting panel within the table column header context menu
|
|
546
|
-
var TriggerSortingPanelBuilder = OpaBuilder.create()
|
|
547
|
-
.isDialogElement()
|
|
548
|
-
.hasType("sap.m.StandardListItem")
|
|
549
|
-
.hasProperties({ icon: sIcon })
|
|
550
|
-
.doPress()
|
|
551
|
-
.description("Opening the Sorting dialog")
|
|
552
|
-
.success(CheckSortingPanelBuilder);
|
|
553
|
-
|
|
554
|
-
// Triggers the sorting by using the toggle buttons on the context menu
|
|
555
|
-
var TriggerToggleBuilder = OpaBuilder.create()
|
|
556
|
-
.isDialogElement()
|
|
557
|
-
.hasType("sap.m.ToggleButton")
|
|
558
|
-
.hasProperties({ text: sSortOrder })
|
|
559
|
-
.has(function (oButton) {
|
|
560
|
-
if (typeof oButton.getParent().getLabel === "function") {
|
|
561
|
-
return (
|
|
562
|
-
oButton.getParent().getLabel() ===
|
|
563
|
-
Utils.formatMessage(oSAPMResourceBundle.getText("table.COLUMNMENU_QUICK_SORT"), sFieldName)
|
|
564
|
-
);
|
|
565
|
-
}
|
|
566
|
-
return false;
|
|
488
|
+
.hasType("sap.m.SegmentedButton")
|
|
489
|
+
.success(function (aSegmButtons) {
|
|
490
|
+
const fnFindSegmButton = function (oItem) {
|
|
491
|
+
return oItem.getParent().getCategory() === "Sort" && oItem.getParent().getLabel() === sFieldName;
|
|
492
|
+
};
|
|
493
|
+
const fnFindSortButton = function (oItem) {
|
|
494
|
+
return oItem.getIcon() === SortingIcon;
|
|
495
|
+
};
|
|
496
|
+
const segmButton = aSegmButtons.find(fnFindSegmButton);
|
|
497
|
+
const sortButton = segmButton.getAggregation("buttons").find(fnFindSortButton);
|
|
498
|
+
sortButton.firePress();
|
|
567
499
|
})
|
|
568
|
-
.doPress()
|
|
569
500
|
.description(Utils.formatMessage("Sorting column '{0}': {1}", vColumn, sSortOrder));
|
|
570
501
|
|
|
571
|
-
|
|
572
|
-
return this.doPressColumnHeader(vColumn).success(bClearFirst ? TriggerToggleBuilder : TriggerSortingPanelBuilder);
|
|
502
|
+
return this.doPressColumnHeader(vColumn).success(TriggerSortBuilder);
|
|
573
503
|
};
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
return this.doColumnHeaderSorting(vColumn, sFieldName, sSortOrder
|
|
504
|
+
|
|
505
|
+
TableBuilder.prototype.doSortByColumn = function (vColumn, sFieldName, sSortOrder) {
|
|
506
|
+
return this.doColumnHeaderSorting(vColumn, sFieldName, sSortOrder);
|
|
577
507
|
};
|
|
578
508
|
|
|
579
509
|
TableBuilder.prototype.doColumnHeaderGrouping = function (vColumn, sFieldName) {
|
|
580
510
|
var sGroupingField = !sFieldName ? vColumn : sFieldName,
|
|
581
511
|
// Triggers the grouping by using the toggle buttons on the context menu
|
|
582
|
-
TriggerToggleBuilder = _getColumnContextToggleBuilder(sGroupingField, "
|
|
512
|
+
TriggerToggleBuilder = _getColumnContextToggleBuilder(sGroupingField, "Group");
|
|
583
513
|
|
|
584
514
|
return this.doPressColumnHeader(vColumn).success(TriggerToggleBuilder);
|
|
585
515
|
};
|
|
@@ -589,8 +519,8 @@ sap.ui.define(
|
|
|
589
519
|
|
|
590
520
|
TableBuilder.prototype.doColumnHeaderAggregating = function (vColumn, sFieldName) {
|
|
591
521
|
var sAggregationField = !sFieldName ? vColumn : sFieldName,
|
|
592
|
-
// Triggers the
|
|
593
|
-
TriggerToggleBuilder = _getColumnContextToggleBuilder(sAggregationField, "
|
|
522
|
+
// Triggers the aggregation by using the toggle buttons on the context menu
|
|
523
|
+
TriggerToggleBuilder = _getColumnContextToggleBuilder(sAggregationField, "Aggregate");
|
|
594
524
|
|
|
595
525
|
return this.doPressColumnHeader(vColumn).success(TriggerToggleBuilder);
|
|
596
526
|
};
|
|
@@ -619,55 +549,34 @@ sap.ui.define(
|
|
|
619
549
|
};
|
|
620
550
|
|
|
621
551
|
TableBuilder.prototype.checkColumnHeaderAction = function (vColumn, sActionIconName, sFieldName, iExpectedNumber, sGroupTotals) {
|
|
622
|
-
var
|
|
623
|
-
.
|
|
624
|
-
.
|
|
625
|
-
.hasProperties({ text: "Cancel" })
|
|
626
|
-
.doPress()
|
|
627
|
-
.description("Cancelling the dialog");
|
|
628
|
-
|
|
629
|
-
// Opens the Grouping panel within the table column header context menu to successfully leave the context dialog with cancel button
|
|
630
|
-
var TriggerGroupingPanelBuilder = OpaBuilder.create()
|
|
631
|
-
.isDialogElement()
|
|
632
|
-
.hasType("sap.m.StandardListItem")
|
|
633
|
-
.hasProperties({ icon: sActionIconName })
|
|
634
|
-
.doPress()
|
|
635
|
-
.success(TriggerGroupingCancel);
|
|
636
|
-
|
|
637
|
-
var CheckMultipleGroupingBuilder = OpaBuilder.create()
|
|
638
|
-
.isDialogElement()
|
|
639
|
-
.hasType("sap.m.ToggleButton")
|
|
640
|
-
.has(function (oButton) {
|
|
641
|
-
if (typeof oButton.getParent().getLabel === "function") {
|
|
642
|
-
return oButton.getParent().getLabel() === sGroupTotals;
|
|
643
|
-
}
|
|
644
|
-
return false;
|
|
645
|
-
})
|
|
646
|
-
.checkNumberOfMatches(iExpectedNumber)
|
|
647
|
-
.success(TriggerGroupingPanelBuilder);
|
|
552
|
+
var TriggerKeyboardEscapeBuilder = FEBuilder.create(this.getOpaInstance())
|
|
553
|
+
.doPressKeyboardShortcut("Escape")
|
|
554
|
+
.description("Closing dialog");
|
|
648
555
|
|
|
649
556
|
var CheckSingleGroupingBuilder = OpaBuilder.create()
|
|
650
557
|
.isDialogElement()
|
|
651
|
-
.hasType("sap.m.
|
|
652
|
-
.hasProperties({ text:
|
|
653
|
-
.
|
|
654
|
-
|
|
655
|
-
return
|
|
656
|
-
}
|
|
657
|
-
return false;
|
|
658
|
-
})
|
|
659
|
-
.checkNumberOfMatches(iExpectedNumber)
|
|
660
|
-
.success(TriggerGroupingPanelBuilder);
|
|
558
|
+
.hasType("sap.m.List")
|
|
559
|
+
.hasChildren(OpaBuilder.create(this).hasType("sap.m.Title").hasProperties({ text: sGroupTotals }), false)
|
|
560
|
+
.success(function (aMListItems) {
|
|
561
|
+
const fnFindFildNameItem = function (item) {
|
|
562
|
+
return item.getLabel() === sFieldName;
|
|
563
|
+
};
|
|
661
564
|
|
|
662
|
-
|
|
565
|
+
return sFieldName
|
|
566
|
+
? aMListItems[0].getAggregation("items").find(fnFindFildNameItem)
|
|
567
|
+
: aMListItems[0].getAggregation("items").length === iExpectedNumber;
|
|
568
|
+
});
|
|
569
|
+
|
|
570
|
+
return this.doPressColumnHeader(vColumn).success(CheckSingleGroupingBuilder).do(TriggerKeyboardEscapeBuilder);
|
|
663
571
|
};
|
|
572
|
+
|
|
664
573
|
TableBuilder.prototype.hasGroupByColumn = function (vColumn, sFieldName, iExpectedNumber) {
|
|
665
574
|
return this.checkColumnHeaderAction(
|
|
666
575
|
vColumn,
|
|
667
576
|
"sap-icon://group-2",
|
|
668
577
|
sFieldName,
|
|
669
578
|
iExpectedNumber,
|
|
670
|
-
oSAPMResourceBundle.getText("table.
|
|
579
|
+
oSAPMResourceBundle.getText("table.COLUMNMENU_QUICK_GROUP_TITLE")
|
|
671
580
|
);
|
|
672
581
|
};
|
|
673
582
|
|
|
@@ -743,7 +652,7 @@ sap.ui.define(
|
|
|
743
652
|
|
|
744
653
|
TableBuilder.prototype.hasQuickFilterItems = function (iNumberOfItems) {
|
|
745
654
|
return this.has(function (oTable) {
|
|
746
|
-
var oQuickFilter = oTable.getQuickFilter();
|
|
655
|
+
var oQuickFilter = oTable.getQuickFilter()?.content;
|
|
747
656
|
if (oQuickFilter) {
|
|
748
657
|
var aItems = oQuickFilter.getItems();
|
|
749
658
|
if (Utils.isOfType(aItems, Array)) {
|
|
@@ -757,7 +666,7 @@ sap.ui.define(
|
|
|
757
666
|
|
|
758
667
|
TableBuilder.prototype.doSelectQuickFilter = function (oItemMatcher) {
|
|
759
668
|
return this.has(function (oTable) {
|
|
760
|
-
return oTable.getQuickFilter();
|
|
669
|
+
return oTable.getQuickFilter().content;
|
|
761
670
|
})
|
|
762
671
|
.doConditional(FEBuilder.Matchers.state("controlType", "sap.m.Select"), OpaBuilder.Actions.press())
|
|
763
672
|
.success(
|
|
@@ -65,8 +65,7 @@ sap.ui.define([], function () {
|
|
|
65
65
|
if (urlParam !== null) {
|
|
66
66
|
this.isStrict = urlParam === "true";
|
|
67
67
|
} else {
|
|
68
|
-
|
|
69
|
-
this.isStrict = ((_this$karma = this.karma) === null || _this$karma === void 0 ? void 0 : (_this$karma$config$ui = _this$karma.config.ui5) === null || _this$karma$config$ui === void 0 ? void 0 : _this$karma$config$ui.config.strictconsoleerrors) ?? false;
|
|
68
|
+
this.isStrict = this.karma?.config.ui5?.config.strictconsoleerrors ?? false;
|
|
70
69
|
}
|
|
71
70
|
this.reset();
|
|
72
71
|
}
|
|
@@ -167,9 +166,8 @@ sap.ui.define([], function () {
|
|
|
167
166
|
|
|
168
167
|
// capture errors
|
|
169
168
|
function onPromiseRejection(event) {
|
|
170
|
-
var _event$reason;
|
|
171
169
|
const message = `UNHANDLED PROMISE REJECTION: ${event.reason}`;
|
|
172
|
-
this.checkAndLog("error", message,
|
|
170
|
+
this.checkAndLog("error", message, event.reason?.stack);
|
|
173
171
|
}
|
|
174
172
|
function onError(event) {
|
|
175
173
|
const message = event.message;
|
|
@@ -193,4 +191,4 @@ sap.ui.define([], function () {
|
|
|
193
191
|
}();
|
|
194
192
|
return ConsoleErrorChecker.getInstance(window);
|
|
195
193
|
}, false);
|
|
196
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3cmFwUGF0dGVybnMiLCJwYXR0ZXJuIiwiUmVnRXhwIiwibWVzc2FnZSIsIm1hdGNoIiwiaW5jbHVkZXMiLCJHTE9CQUxMWV9BQ0NFUFRFRF9FUlJPUlMiLCJtYXAiLCJDb25zb2xlRXJyb3JDaGVja2VyIiwid2luZG93IiwibWF0Y2hlcnMiLCJtZXNzYWdlcyIsIm9ic2VydmVyIiwiTXV0YXRpb25PYnNlcnZlciIsIm11dGF0aW9ucyIsIm9wYUZyYW1lIiwicmVkdWNlIiwiaUZyYW1lIiwibXV0YXRpb24iLCJub2RlIiwiQXJyYXkiLCJmcm9tIiwiYWRkZWROb2RlcyIsIkVsZW1lbnQiLCJlbGVtZW50IiwicXVlcnlTZWxlY3RvciIsIkhUTUxJRnJhbWVFbGVtZW50IiwiY29udGVudFdpbmRvdyIsInByZXBhcmVXaW5kb3ciLCJRVW5pdCIsIm1vZHVsZVN0YXJ0Iiwib2JzZXJ2ZSIsImRvY3VtZW50IiwiYm9keSIsImNoaWxkTGlzdCIsIm1vZHVsZURvbmUiLCJkaXNjb25uZWN0IiwidGVzdFN0YXJ0IiwicmVzZXQiLCJsb2ciLCJoYW5kbGVGYWlsZWRNZXNzYWdlcyIsImthcm1hIiwiX19rYXJtYV9fIiwic2VhcmNoIiwiVVJMU2VhcmNoUGFyYW1zIiwibG9jYXRpb24iLCJ1cmxQYXJhbSIsImdldCIsImlzU3RyaWN0IiwiX3RoaXMka2FybWEiLCJfdGhpcyRrYXJtYSRjb25maWckdWkiLCJjb25maWciLCJ1aTUiLCJzdHJpY3Rjb25zb2xlZXJyb3JzIiwiX3Byb3RvIiwicHJvdG90eXBlIiwiZmFpbGVkTWVzc2FnZXMiLCJsZW5ndGgiLCJhc3NlcnQiLCJwdXNoUmVzdWx0IiwicmVzdWx0Iiwic291cmNlIiwiYWN0dWFsIiwiZXhwZWN0ZWQiLCJzZXRBY2NlcHRlZEVycm9yUGF0dGVybnMiLCJwYXR0ZXJucyIsImNvbmNhdCIsImNoZWNrQW5kTG9nIiwidHlwZSIsIl9sZW4iLCJhcmd1bWVudHMiLCJkYXRhIiwiX2tleSIsIm1lc3NhZ2VUZXh0IiwiaXNBbGxvd2VkIiwic29tZSIsIm1hdGNoZXIiLCJwdXNoIiwid3JhcHBlZERhdGEiLCJkIiwiX3RoaXMiLCJjb25zb2xlIiwicGF0Y2hDb25zb2xlTWV0aG9kIiwibWV0aG9kIiwiZm5PcmlnaW5hbCIsIl9sZW4yIiwiX2tleTIiLCJhcHBseSIsImNvbmRpdGlvbiIsInVuZGVmaW5lZCIsIl9sZW4zIiwiX2tleTMiLCJmaXJzdCIsInVuc2hpZnQiLCJlcnJvciIsIm9uUHJvbWlzZVJlamVjdGlvbiIsImV2ZW50IiwiX2V2ZW50JHJlYXNvbiIsInJlYXNvbiIsInN0YWNrIiwib25FcnJvciIsImZpbGVuYW1lIiwiYWRkRXZlbnRMaXN0ZW5lciIsImJpbmQiLCJwYXNzaXZlIiwiZ2V0SW5zdGFuY2UiLCJzYXBGRUNvbnNvbGVFcnJvckNoZWNrZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbnNvbGVFcnJvckNoZWNrZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsidHlwZSBNZXNzYWdlTWF0Y2hlckZ1bmN0aW9uID0gKG1lc3NhZ2U6IHN0cmluZykgPT4gYm9vbGVhbjtcbnR5cGUgS2FybWEgPSB7XG5cdGxvZzogKGxldmVsOiBhbnksIC4uLmRhdGE6IGFueVtdKSA9PiB2b2lkO1xuXHRjb25maWc6IHtcblx0XHR1aTU/OiB7XG5cdFx0XHRjb25maWc6IHtcblx0XHRcdFx0c3RyaWN0Y29uc29sZWVycm9ycz86IGJvb2xlYW47IC8vIEthcm1hIG9wdGlvbnMgYXJlIGFsbCBsb3dlcmNhc2UgYXQgcnVudGltZSFcblx0XHRcdH07XG5cdFx0fTtcblx0fTtcbn07XG5cbmZ1bmN0aW9uIHdyYXBQYXR0ZXJucyhwYXR0ZXJuOiBSZWdFeHAgfCBzdHJpbmcpOiBNZXNzYWdlTWF0Y2hlckZ1bmN0aW9uIHtcblx0aWYgKHBhdHRlcm4gaW5zdGFuY2VvZiBSZWdFeHApIHtcblx0XHRyZXR1cm4gKG1lc3NhZ2UpID0+IG1lc3NhZ2UubWF0Y2gocGF0dGVybikgIT09IG51bGw7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIChtZXNzYWdlKSA9PiBtZXNzYWdlLmluY2x1ZGVzKHBhdHRlcm4pO1xuXHR9XG59XG5cbi8qKlxuICogTGlzdCBvZiBlcnJvciBtZXNzYWdlIHBhdHRlcm5zIHRoYXQgYXJlIGFsd2F5cyBhY2NlcHRlZC5cbiAqL1xuY29uc3QgR0xPQkFMTFlfQUNDRVBURURfRVJST1JTID0gW1xuXHQvbGlicmFyeS1wcmVsb2FkXFwuKGpzb258anMpLywgLy8gYWNjZXB0IGVycm9ycyByZWxhdGVkIHRvIGZpbGVzIHRoYXQgYXJlIG5vdCB0aGVyZSB3aGVuIHJ1bm5pbmcgZnJvbSBzb3VyY2UgdG8gcHJldmVudCBmYWxzZSBwb3NpdGl2ZXNcblx0XCIvcmVzb3VyY2VzL3NhcC9mZS9tYWNyb3MvbWFuaWZlc3QuanNvblwiIC8vIHNlZSBhYm92ZVxuXS5tYXAod3JhcFBhdHRlcm5zKTtcblxuY2xhc3MgQ29uc29sZUVycm9yQ2hlY2tlciB7XG5cdHByaXZhdGUgbWF0Y2hlcnM6IE1lc3NhZ2VNYXRjaGVyRnVuY3Rpb25bXSA9IFtdO1xuXG5cdHByaXZhdGUgbWVzc2FnZXM6IHN0cmluZ1tdID0gW107XG5cblx0cHJpdmF0ZSByZWFkb25seSBrYXJtYTogS2FybWEgfCB1bmRlZmluZWQ7XG5cblx0cHJpdmF0ZSByZWFkb25seSBpc1N0cmljdDogYm9vbGVhbjtcblxuXHRwcml2YXRlIHJlYWRvbmx5IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuXHRcdGNvbnN0IG9wYUZyYW1lID0gbXV0YXRpb25zLnJlZHVjZSgoaUZyYW1lOiBIVE1MSUZyYW1lRWxlbWVudCB8IG51bGwsIG11dGF0aW9uOiBNdXRhdGlvblJlY29yZCkgPT4ge1xuXHRcdFx0aWYgKGlGcmFtZSAhPT0gbnVsbCkge1xuXHRcdFx0XHRyZXR1cm4gaUZyYW1lO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3IgKGNvbnN0IG5vZGUgb2YgQXJyYXkuZnJvbShtdXRhdGlvbi5hZGRlZE5vZGVzKSkge1xuXHRcdFx0XHRpZiAobm9kZSBpbnN0YW5jZW9mIEVsZW1lbnQpIHtcblx0XHRcdFx0XHRjb25zdCBlbGVtZW50ID0gbm9kZS5xdWVyeVNlbGVjdG9yKFwiI09wYUZyYW1lXCIpO1xuXHRcdFx0XHRcdGlmIChlbGVtZW50IGluc3RhbmNlb2YgSFRNTElGcmFtZUVsZW1lbnQgJiYgZWxlbWVudC5jb250ZW50V2luZG93KSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gZWxlbWVudDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGlGcmFtZTtcblx0XHR9LCBudWxsKTtcblxuXHRcdGlmIChvcGFGcmFtZSAmJiBvcGFGcmFtZS5jb250ZW50V2luZG93KSB7XG5cdFx0XHR0aGlzLnByZXBhcmVXaW5kb3cob3BhRnJhbWUuY29udGVudFdpbmRvdyk7XG5cdFx0fVxuXHR9KTtcblxuXHRjb25zdHJ1Y3Rvcih3aW5kb3c6IFdpbmRvdyAmIHsgX19rYXJtYV9fPzogS2FybWEgfSkge1xuXHRcdFFVbml0Lm1vZHVsZVN0YXJ0KCgpID0+IHtcblx0XHRcdHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh3aW5kb3cuZG9jdW1lbnQuYm9keSwgeyBjaGlsZExpc3Q6IHRydWUgfSk7XG5cdFx0fSk7XG5cblx0XHRRVW5pdC5tb2R1bGVEb25lKCgpID0+IHtcblx0XHRcdHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuXHRcdH0pO1xuXG5cdFx0UVVuaXQudGVzdFN0YXJ0KCgpID0+IHtcblx0XHRcdHRoaXMucmVzZXQoKTtcblx0XHR9KTtcblxuXHRcdFFVbml0LmxvZygoKSA9PiB7XG5cdFx0XHR0aGlzLmhhbmRsZUZhaWxlZE1lc3NhZ2VzKCk7XG5cdFx0fSk7XG5cblx0XHR0aGlzLmthcm1hID0gd2luZG93Ll9fa2FybWFfXztcblxuXHRcdC8vIGVpdGhlciBnbyBmb3IgS2FybWEgY29uZmlnIG9wdGlvbiBcInVpNS5jb25maWcuc3RyaWN0Q29uc29sZUVycm9yc1wiIG9yIHVzZSBVUkwgcXVlcnkgcGFyYW1ldGVyIFwic3RyaWN0XCJcblx0XHRjb25zdCBzZWFyY2ggPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuXHRcdGNvbnN0IHVybFBhcmFtID0gc2VhcmNoLmdldChcInN0cmljdENvbnNvbGVFcnJvcnNcIik7XG5cdFx0aWYgKHVybFBhcmFtICE9PSBudWxsKSB7XG5cdFx0XHR0aGlzLmlzU3RyaWN0ID0gdXJsUGFyYW0gPT09IFwidHJ1ZVwiO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmlzU3RyaWN0ID0gdGhpcy5rYXJtYT8uY29uZmlnLnVpNT8uY29uZmlnLnN0cmljdGNvbnNvbGVlcnJvcnMgPz8gZmFsc2U7XG5cdFx0fVxuXG5cdFx0dGhpcy5yZXNldCgpO1xuXHR9XG5cblx0cHJpdmF0ZSBoYW5kbGVGYWlsZWRNZXNzYWdlcygpIHtcblx0XHRjb25zdCBmYWlsZWRNZXNzYWdlcyA9IHRoaXMubWVzc2FnZXM7XG5cdFx0dGhpcy5tZXNzYWdlcyA9IFtdO1xuXG5cdFx0aWYgKGZhaWxlZE1lc3NhZ2VzLmxlbmd0aCA+IDApIHtcblx0XHRcdFFVbml0LmFzc2VydC5wdXNoUmVzdWx0KHtcblx0XHRcdFx0cmVzdWx0OiBmYWxzZSxcblx0XHRcdFx0c291cmNlOiBcIkZFIENvbnNvbGUgTG9nIENoZWNrXCIsXG5cdFx0XHRcdG1lc3NhZ2U6IGBUaGVyZSB3ZXJlICR7ZmFpbGVkTWVzc2FnZXMubGVuZ3RofSB1bmV4cGVjdGVkIGNvbnNvbGUgZXJyb3JzYCxcblx0XHRcdFx0YWN0dWFsOiBmYWlsZWRNZXNzYWdlcyxcblx0XHRcdFx0ZXhwZWN0ZWQ6IFtdXG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHJlc2V0KCkge1xuXHRcdHRoaXMubWVzc2FnZXMgPSBbXTtcblxuXHRcdC8vIHRoaXMgc2V0cyB0aGUgZGVmYXVsdCB0byBhcHBseSBpZiBubyBhbGxvd2VkIHBhdHRlcm5zIGFyZSBzZXQgdmlhIHNldEFjY2VwdGVkRXJyb3JQYXR0ZXJucygpLlxuXHRcdGlmICh0aGlzLmlzU3RyaWN0KSB7XG5cdFx0XHR0aGlzLm1hdGNoZXJzID0gR0xPQkFMTFlfQUNDRVBURURfRVJST1JTO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLm1hdGNoZXJzID0gWygpID0+IHRydWVdO1xuXHRcdH1cblx0fVxuXG5cdHNldEFjY2VwdGVkRXJyb3JQYXR0ZXJucyhwYXR0ZXJucz86IChSZWdFeHAgfCBzdHJpbmcpW10pIHtcblx0XHRpZiAoIXBhdHRlcm5zIHx8IHBhdHRlcm5zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0dGhpcy5tYXRjaGVycyA9IEdMT0JBTExZX0FDQ0VQVEVEX0VSUk9SUztcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5tYXRjaGVycyA9IHBhdHRlcm5zLm1hcCh3cmFwUGF0dGVybnMpLmNvbmNhdChHTE9CQUxMWV9BQ0NFUFRFRF9FUlJPUlMpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgY2hlY2tBbmRMb2codHlwZTogYW55LCAuLi5kYXRhOiBhbnlbXSkge1xuXHRcdC8vIG9ubHkgY2hlY2sgdGhlIGVycm9yIG1lc3NhZ2VzXG5cdFx0aWYgKHR5cGUgPT09IFwiZXJyb3JcIikge1xuXHRcdFx0Y29uc3QgbWVzc2FnZVRleHQgPSBkYXRhWzBdO1xuXHRcdFx0Y29uc3QgaXNBbGxvd2VkID0gdGhpcy5tYXRjaGVycy5zb21lKChtYXRjaGVyKSA9PiBtYXRjaGVyKG1lc3NhZ2VUZXh0KSk7XG5cdFx0XHRpZiAoIWlzQWxsb3dlZCkge1xuXHRcdFx0XHR0aGlzLm1lc3NhZ2VzLnB1c2gobWVzc2FnZVRleHQpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmICh0aGlzLmthcm1hKSB7XG5cdFx0XHQvLyB3cmFwIHRoZSBkYXRhIHRvIGZhY2lsaXRhdGUgcGFyc2luZyBpbiB0aGUgYmFja2VuZFxuXHRcdFx0Y29uc3Qgd3JhcHBlZERhdGEgPSBkYXRhLm1hcCgoZCkgPT4gW2RdKTtcblx0XHRcdHRoaXMua2FybWEubG9nKHR5cGUsIHdyYXBwZWREYXRhKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHByZXBhcmVXaW5kb3cod2luZG93OiBXaW5kb3cpIHtcblx0XHRjb25zdCBjb25zb2xlOiBDb25zb2xlID0gKHdpbmRvdyBhcyBhbnkpLmNvbnNvbGU7XG5cblx0XHQvLyBjYXB0dXJlIGNvbnNvbGUubG9nKCksIGNvbnNvbGUuZGVidWcoKSwgZXRjLlxuXHRcdGNvbnN0IHBhdGNoQ29uc29sZU1ldGhvZCA9IChtZXRob2Q6IFwibG9nXCIgfCBcImluZm9cIiB8IFwid2FyblwiIHwgXCJlcnJvclwiIHwgXCJkZWJ1Z1wiKSA9PiB7XG5cdFx0XHRjb25zdCBmbk9yaWdpbmFsID0gY29uc29sZVttZXRob2RdO1xuXHRcdFx0Y29uc29sZVttZXRob2RdID0gKC4uLmRhdGE6IGFueVtdKTogdm9pZCA9PiB7XG5cdFx0XHRcdHRoaXMuY2hlY2tBbmRMb2cobWV0aG9kLCAuLi5kYXRhKTtcblx0XHRcdFx0cmV0dXJuIGZuT3JpZ2luYWwuYXBwbHkoY29uc29sZSwgZGF0YSk7XG5cdFx0XHR9O1xuXHRcdH07XG5cblx0XHRwYXRjaENvbnNvbGVNZXRob2QoXCJsb2dcIik7XG5cdFx0cGF0Y2hDb25zb2xlTWV0aG9kKFwiZGVidWdcIik7XG5cdFx0cGF0Y2hDb25zb2xlTWV0aG9kKFwiaW5mb1wiKTtcblx0XHRwYXRjaENvbnNvbGVNZXRob2QoXCJ3YXJuXCIpO1xuXHRcdHBhdGNoQ29uc29sZU1ldGhvZChcImVycm9yXCIpO1xuXG5cdFx0Ly8gY2FwdHVyZSBjb25zb2xlLmFzc2VydCgpXG5cdFx0Ly8gc2VlIGh0dHBzOi8vY29uc29sZS5zcGVjLndoYXR3Zy5vcmcvI2Fzc2VydFxuXHRcdGNvbnNvbGUuYXNzZXJ0ID0gZnVuY3Rpb24gKGNvbmRpdGlvbiA9IGZhbHNlLCAuLi5kYXRhOiBhbnlbXSkge1xuXHRcdFx0aWYgKGNvbmRpdGlvbikge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IG1lc3NhZ2UgPSBcIkFzc2VydGlvbiBmYWlsZWRcIjtcblx0XHRcdGlmIChkYXRhLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRkYXRhLnB1c2gobWVzc2FnZSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRsZXQgZmlyc3QgPSBkYXRhWzBdO1xuXHRcdFx0XHRpZiAodHlwZW9mIGZpcnN0ICE9PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRcdFx0ZGF0YS51bnNoaWZ0KG1lc3NhZ2UpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGZpcnN0ID0gYCR7bWVzc2FnZX06ICR7Zmlyc3R9YDtcblx0XHRcdFx0XHRkYXRhWzBdID0gZmlyc3Q7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Y29uc29sZS5lcnJvciguLi5kYXRhKTtcblx0XHR9O1xuXG5cdFx0Ly8gY2FwdHVyZSBlcnJvcnNcblx0XHRmdW5jdGlvbiBvblByb21pc2VSZWplY3Rpb24odGhpczogQ29uc29sZUVycm9yQ2hlY2tlciwgZXZlbnQ6IFByb21pc2VSZWplY3Rpb25FdmVudCkge1xuXHRcdFx0Y29uc3QgbWVzc2FnZSA9IGBVTkhBTkRMRUQgUFJPTUlTRSBSRUpFQ1RJT046ICR7ZXZlbnQucmVhc29ufWA7XG5cdFx0XHR0aGlzLmNoZWNrQW5kTG9nKFwiZXJyb3JcIiwgbWVzc2FnZSwgZXZlbnQucmVhc29uPy5zdGFjayk7XG5cdFx0fVxuXG5cdFx0ZnVuY3Rpb24gb25FcnJvcih0aGlzOiBDb25zb2xlRXJyb3JDaGVja2VyLCBldmVudDogRXJyb3JFdmVudCkge1xuXHRcdFx0Y29uc3QgbWVzc2FnZSA9IGV2ZW50Lm1lc3NhZ2U7XG5cdFx0XHR0aGlzLmNoZWNrQW5kTG9nKFwiZXJyb3JcIiwgbWVzc2FnZSwgZXZlbnQuZmlsZW5hbWUpO1xuXHRcdH1cblxuXHRcdHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZXJyb3JcIiwgb25FcnJvci5iaW5kKHRoaXMpLCB7IHBhc3NpdmU6IHRydWUgfSk7XG5cdFx0d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJ1bmhhbmRsZWRyZWplY3Rpb25cIiwgb25Qcm9taXNlUmVqZWN0aW9uLmJpbmQodGhpcyksIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcblx0fVxuXG5cdHN0YXRpYyBnZXRJbnN0YW5jZSh3aW5kb3c6IFdpbmRvdyAmIHsgc2FwRkVDb25zb2xlRXJyb3JDaGVja2VyPzogQ29uc29sZUVycm9yQ2hlY2tlciB9KTogQ29uc29sZUVycm9yQ2hlY2tlciB7XG5cdFx0Ly8gdGhlIGdsb2JhbCBpbnN0YW5jZSBpcyBuZWVkZWQgdG8gc3VwcG9ydCBtdWx0aXBsZSB0ZXN0cyBpbiBhIHJvdyAoaW4gS2FybWEpXG5cdFx0aWYgKCF3aW5kb3cuc2FwRkVDb25zb2xlRXJyb3JDaGVja2VyKSB7XG5cdFx0XHR3aW5kb3cuc2FwRkVDb25zb2xlRXJyb3JDaGVja2VyID0gbmV3IENvbnNvbGVFcnJvckNoZWNrZXIod2luZG93KTtcblx0XHR9XG5cdFx0cmV0dXJuIHdpbmRvdy5zYXBGRUNvbnNvbGVFcnJvckNoZWNrZXI7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29uc29sZUVycm9yQ2hlY2tlci5nZXRJbnN0YW5jZSh3aW5kb3cpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0VBWUEsU0FBU0EsWUFBWUEsQ0FBQ0MsT0FBd0IsRUFBMEI7SUFDdkUsSUFBSUEsT0FBTyxZQUFZQyxNQUFNLEVBQUU7TUFDOUIsT0FBUUMsT0FBTyxJQUFLQSxPQUFPLENBQUNDLEtBQUssQ0FBQ0gsT0FBTyxDQUFDLEtBQUssSUFBSTtJQUNwRCxDQUFDLE1BQU07TUFDTixPQUFRRSxPQUFPLElBQUtBLE9BQU8sQ0FBQ0UsUUFBUSxDQUFDSixPQUFPLENBQUM7SUFDOUM7RUFDRDs7RUFFQTtBQUNBO0FBQ0E7RUFDQSxNQUFNSyx3QkFBd0IsR0FBRyxDQUNoQyw0QkFBNEI7RUFBRTtFQUM5Qix3Q0FBd0MsQ0FBQztFQUFBLENBQ3pDLENBQUNDLEdBQUcsQ0FBQ1AsWUFBWSxDQUFDO0VBQUMsSUFFZFEsbUJB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S0FBSyxHQUFHLEdBQUd6RixPQUFPLEtBQUt5RixLQUFLLEVBQUU7WUFDOUJyQixJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUdxQixLQUFLO1VBQ2hCO1FBQ0Q7UUFFQVgsT0FBTyxDQUFDYSxLQUFLLENBQUMsR0FBR3ZCLElBQUksQ0FBQztNQUN2QixDQUFDOztNQUVEO01BQ0EsU0FBU3dCLGtCQUFrQkEsQ0FBNEJDLEtBQTRCLEVBQUU7UUFBQSxJQUFBQyxhQUFBO1FBQ3BGLE1BQU05RixPQUFPLEdBQUcsZ0NBQWdDNkYsS0FBSyxDQUFDRSxNQUFNLEVBQUU7UUFDOUQsSUFBSSxDQUFDL0IsV0FBVyxDQUFDLE9BQU8sRUFBRWhFLE9BQU8sR0FBQThGLGFBQUEsR0FBRUQsS0FBSyxDQUFDRSxNQUFNLGNBQUFELGFBQUEsdUJBQVpBLGFBQUEsQ0FBY0UsS0FBSyxDQUFDO01BQ3hEO01BRUEsU0FBU0MsT0FBT0EsQ0FBNEJKLEtBQWlCLEVBQUU7UUFDOUQsTUFBTTdGLE9BQU8sR0FBRzZGLEtBQUssQ0FBQzdGLE9BQU87UUFDN0IsSUFBSSxDQUFDZ0UsV0FBVyxDQUFDLE9BQU8sRUFBRWhFLE9BQU8sRUFBRTZGLEtBQUssQ0FBQ0ssUUFBUSxDQUFDO01BQ25EO01BRUE1RixNQUFNLENBQUM2RixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUVGLE9BQU8sQ0FBQ0csSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQUVDLE9BQU8sRUFBRTtNQUFLLENBQUMsQ0FBQztNQUN2RS9GLE1BQU0sQ0FBQzZGLGdCQUFnQixDQUFDLG9CQUFvQixFQUFFUCxrQkFBa0IsQ0FBQ1EsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQUVDLE9BQU8sRUFBRTtNQUFLLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBQUFoRyxtQkFBQSxDQUVNaUcsV0FBVyxHQUFsQixTQUFBQSxZQUFtQmhHLE1BQW1FLEVBQXVCO01BQzVHO01BQ0EsSUFBSSxDQUFDQSxNQUFNLENBQUNpRyx3QkFBd0IsRUFBRTtRQUNyQ2pHLE1BQU0sQ0FBQ2lHLHdCQUF3QixHQUFHLElBQUlsRyxtQkFBbUIsQ0FBQ0MsTUFBTSxDQUFDO01BQ2xFO01BQ0EsT0FBT0EsTUFBTSxDQUFDaUcsd0JBQXdCO0lBQ3ZDLENBQUM7SUFBQSxPQUFBbEcsbUJBQUE7RUFBQTtFQUFBLE9BR2FBLG1CQUFtQixDQUFDaUcsV0FBVyxDQUFDaEcsTUFBTSxDQUFDO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
194
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3cmFwUGF0dGVybnMiLCJwYXR0ZXJuIiwiUmVnRXhwIiwibWVzc2FnZSIsIm1hdGNoIiwiaW5jbHVkZXMiLCJHTE9CQUxMWV9BQ0NFUFRFRF9FUlJPUlMiLCJtYXAiLCJDb25zb2xlRXJyb3JDaGVja2VyIiwid2luZG93IiwibWF0Y2hlcnMiLCJtZXNzYWdlcyIsIm9ic2VydmVyIiwiTXV0YXRpb25PYnNlcnZlciIsIm11dGF0aW9ucyIsIm9wYUZyYW1lIiwicmVkdWNlIiwiaUZyYW1lIiwibXV0YXRpb24iLCJub2RlIiwiQXJyYXkiLCJmcm9tIiwiYWRkZWROb2RlcyIsIkVsZW1lbnQiLCJlbGVtZW50IiwicXVlcnlTZWxlY3RvciIsIkhUTUxJRnJhbWVFbGVtZW50IiwiY29udGVudFdpbmRvdyIsInByZXBhcmVXaW5kb3ciLCJRVW5pdCIsIm1vZHVsZVN0YXJ0Iiwib2JzZXJ2ZSIsImRvY3VtZW50IiwiYm9keSIsImNoaWxkTGlzdCIsIm1vZHVsZURvbmUiLCJkaXNjb25uZWN0IiwidGVzdFN0YXJ0IiwicmVzZXQiLCJsb2ciLCJoYW5kbGVGYWlsZWRNZXNzYWdlcyIsImthcm1hIiwiX19rYXJtYV9fIiwic2VhcmNoIiwiVVJMU2VhcmNoUGFyYW1zIiwibG9jYXRpb24iLCJ1cmxQYXJhbSIsImdldCIsImlzU3RyaWN0IiwiY29uZmlnIiwidWk1Iiwic3RyaWN0Y29uc29sZWVycm9ycyIsIl9wcm90byIsInByb3RvdHlwZSIsImZhaWxlZE1lc3NhZ2VzIiwibGVuZ3RoIiwiYXNzZXJ0IiwicHVzaFJlc3VsdCIsInJlc3VsdCIsInNvdXJjZSIsImFjdHVhbCIsImV4cGVjdGVkIiwic2V0QWNjZXB0ZWRFcnJvclBhdHRlcm5zIiwicGF0dGVybnMiLCJjb25jYXQiLCJjaGVja0FuZExvZyIsInR5cGUiLCJfbGVuIiwiYXJndW1lbnRzIiwiZGF0YSIsIl9rZXkiLCJtZXNzYWdlVGV4dCIsImlzQWxsb3dlZCIsInNvbWUiLCJtYXRjaGVyIiwicHVzaCIsIndyYXBwZWREYXRhIiwiZCIsIl90aGlzIiwiY29uc29sZSIsInBhdGNoQ29uc29sZU1ldGhvZCIsIm1ldGhvZCIsImZuT3JpZ2luYWwiLCJfbGVuMiIsIl9rZXkyIiwiYXBwbHkiLCJjb25kaXRpb24iLCJ1bmRlZmluZWQiLCJfbGVuMyIsIl9rZXkzIiwiZmlyc3QiLCJ1bnNoaWZ0IiwiZXJyb3IiLCJvblByb21pc2VSZWplY3Rpb24iLCJldmVudCIsInJlYXNvbiIsInN0YWNrIiwib25FcnJvciIsImZpbGVuYW1lIiwiYWRkRXZlbnRMaXN0ZW5lciIsImJpbmQiLCJwYXNzaXZlIiwiZ2V0SW5zdGFuY2UiLCJzYXBGRUNvbnNvbGVFcnJvckNoZWNrZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbnNvbGVFcnJvckNoZWNrZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsidHlwZSBNZXNzYWdlTWF0Y2hlckZ1bmN0aW9uID0gKG1lc3NhZ2U6IHN0cmluZykgPT4gYm9vbGVhbjtcbnR5cGUgS2FybWEgPSB7XG5cdGxvZzogKGxldmVsOiBhbnksIC4uLmRhdGE6IGFueVtdKSA9PiB2b2lkO1xuXHRjb25maWc6IHtcblx0XHR1aTU/OiB7XG5cdFx0XHRjb25maWc6IHtcblx0XHRcdFx0c3RyaWN0Y29uc29sZWVycm9ycz86IGJvb2xlYW47IC8vIEthcm1hIG9wdGlvbnMgYXJlIGFsbCBsb3dlcmNhc2UgYXQgcnVudGltZSFcblx0XHRcdH07XG5cdFx0fTtcblx0fTtcbn07XG5cbmZ1bmN0aW9uIHdyYXBQYXR0ZXJucyhwYXR0ZXJuOiBSZWdFeHAgfCBzdHJpbmcpOiBNZXNzYWdlTWF0Y2hlckZ1bmN0aW9uIHtcblx0aWYgKHBhdHRlcm4gaW5zdGFuY2VvZiBSZWdFeHApIHtcblx0XHRyZXR1cm4gKG1lc3NhZ2UpID0+IG1lc3NhZ2UubWF0Y2gocGF0dGVybikgIT09IG51bGw7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIChtZXNzYWdlKSA9PiBtZXNzYWdlLmluY2x1ZGVzKHBhdHRlcm4pO1xuXHR9XG59XG5cbi8qKlxuICogTGlzdCBvZiBlcnJvciBtZXNzYWdlIHBhdHRlcm5zIHRoYXQgYXJlIGFsd2F5cyBhY2NlcHRlZC5cbiAqL1xuY29uc3QgR0xPQkFMTFlfQUNDRVBURURfRVJST1JTID0gW1xuXHQvbGlicmFyeS1wcmVsb2FkXFwuKGpzb258anMpLywgLy8gYWNjZXB0IGVycm9ycyByZWxhdGVkIHRvIGZpbGVzIHRoYXQgYXJlIG5vdCB0aGVyZSB3aGVuIHJ1bm5pbmcgZnJvbSBzb3VyY2UgdG8gcHJldmVudCBmYWxzZSBwb3NpdGl2ZXNcblx0XCIvcmVzb3VyY2VzL3NhcC9mZS9tYWNyb3MvbWFuaWZlc3QuanNvblwiIC8vIHNlZSBhYm92ZVxuXS5tYXAod3JhcFBhdHRlcm5zKTtcblxuY2xhc3MgQ29uc29sZUVycm9yQ2hlY2tlciB7XG5cdHByaXZhdGUgbWF0Y2hlcnM6IE1lc3NhZ2VNYXRjaGVyRnVuY3Rpb25bXSA9IFtdO1xuXG5cdHByaXZhdGUgbWVzc2FnZXM6IHN0cmluZ1tdID0gW107XG5cblx0cHJpdmF0ZSByZWFkb25seSBrYXJtYTogS2FybWEgfCB1bmRlZmluZWQ7XG5cblx0cHJpdmF0ZSByZWFkb25seSBpc1N0cmljdDogYm9vbGVhbjtcblxuXHRwcml2YXRlIHJlYWRvbmx5IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuXHRcdGNvbnN0IG9wYUZyYW1lID0gbXV0YXRpb25zLnJlZHVjZSgoaUZyYW1lOiBIVE1MSUZyYW1lRWxlbWVudCB8IG51bGwsIG11dGF0aW9uOiBNdXRhdGlvblJlY29yZCkgPT4ge1xuXHRcdFx0aWYgKGlGcmFtZSAhPT0gbnVsbCkge1xuXHRcdFx0XHRyZXR1cm4gaUZyYW1lO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3IgKGNvbnN0IG5vZGUgb2YgQXJyYXkuZnJvbShtdXRhdGlvbi5hZGRlZE5vZGVzKSkge1xuXHRcdFx0XHRpZiAobm9kZSBpbnN0YW5jZW9mIEVsZW1lbnQpIHtcblx0XHRcdFx0XHRjb25zdCBlbGVtZW50ID0gbm9kZS5xdWVyeVNlbGVjdG9yKFwiI09wYUZyYW1lXCIpO1xuXHRcdFx0XHRcdGlmIChlbGVtZW50IGluc3RhbmNlb2YgSFRNTElGcmFtZUVsZW1lbnQgJiYgZWxlbWVudC5jb250ZW50V2luZG93KSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gZWxlbWVudDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGlGcmFtZTtcblx0XHR9LCBudWxsKTtcblxuXHRcdGlmIChvcGFGcmFtZSAmJiBvcGFGcmFtZS5jb250ZW50V2luZG93KSB7XG5cdFx0XHR0aGlzLnByZXBhcmVXaW5kb3cob3BhRnJhbWUuY29udGVudFdpbmRvdyk7XG5cdFx0fVxuXHR9KTtcblxuXHRjb25zdHJ1Y3Rvcih3aW5kb3c6IFdpbmRvdyAmIHsgX19rYXJtYV9fPzogS2FybWEgfSkge1xuXHRcdFFVbml0Lm1vZHVsZVN0YXJ0KCgpID0+IHtcblx0XHRcdHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh3aW5kb3cuZG9jdW1lbnQuYm9keSwgeyBjaGlsZExpc3Q6IHRydWUgfSk7XG5cdFx0fSk7XG5cblx0XHRRVW5pdC5tb2R1bGVEb25lKCgpID0+IHtcblx0XHRcdHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuXHRcdH0pO1xuXG5cdFx0UVVuaXQudGVzdFN0YXJ0KCgpID0+IHtcblx0XHRcdHRoaXMucmVzZXQoKTtcblx0XHR9KTtcblxuXHRcdFFVbml0LmxvZygoKSA9PiB7XG5cdFx0XHR0aGlzLmhhbmRsZUZhaWxlZE1lc3NhZ2VzKCk7XG5cdFx0fSk7XG5cblx0XHR0aGlzLmthcm1hID0gd2luZG93Ll9fa2FybWFfXztcblxuXHRcdC8vIGVpdGhlciBnbyBmb3IgS2FybWEgY29uZmlnIG9wdGlvbiBcInVpNS5jb25maWcuc3RyaWN0Q29uc29sZUVycm9yc1wiIG9yIHVzZSBVUkwgcXVlcnkgcGFyYW1ldGVyIFwic3RyaWN0XCJcblx0XHRjb25zdCBzZWFyY2ggPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuXHRcdGNvbnN0IHVybFBhcmFtID0gc2VhcmNoLmdldChcInN0cmljdENvbnNvbGVFcnJvcnNcIik7XG5cdFx0aWYgKHVybFBhcmFtICE9PSBudWxsKSB7XG5cdFx0XHR0aGlzLmlzU3RyaWN0ID0gdXJsUGFyYW0gPT09IFwidHJ1ZVwiO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmlzU3RyaWN0ID0gdGhpcy5rYXJtYT8uY29uZmlnLnVpNT8uY29uZmlnLnN0cmljdGNvbnNvbGVlcnJvcnMgPz8gZmFsc2U7XG5cdFx0fVxuXG5cdFx0dGhpcy5yZXNldCgpO1xuXHR9XG5cblx0cHJpdmF0ZSBoYW5kbGVGYWlsZWRNZXNzYWdlcygpIHtcblx0XHRjb25zdCBmYWlsZWRNZXNzYWdlcyA9IHRoaXMubWVzc2FnZXM7XG5cdFx0dGhpcy5tZXNzYWdlcyA9IFtdO1xuXG5cdFx0aWYgKGZhaWxlZE1lc3NhZ2VzLmxlbmd0aCA+IDApIHtcblx0XHRcdFFVbml0LmFzc2VydC5wdXNoUmVzdWx0KHtcblx0XHRcdFx0cmVzdWx0OiBmYWxzZSxcblx0XHRcdFx0c291cmNlOiBcIkZFIENvbnNvbGUgTG9nIENoZWNrXCIsXG5cdFx0XHRcdG1lc3NhZ2U6IGBUaGVyZSB3ZXJlICR7ZmFpbGVkTWVzc2FnZXMubGVuZ3RofSB1bmV4cGVjdGVkIGNvbnNvbGUgZXJyb3JzYCxcblx0XHRcdFx0YWN0dWFsOiBmYWlsZWRNZXNzYWdlcyxcblx0XHRcdFx0ZXhwZWN0ZWQ6IFtdXG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHJlc2V0KCkge1xuXHRcdHRoaXMubWVzc2FnZXMgPSBbXTtcblxuXHRcdC8vIHRoaXMgc2V0cyB0aGUgZGVmYXVsdCB0byBhcHBseSBpZiBubyBhbGxvd2VkIHBhdHRlcm5zIGFyZSBzZXQgdmlhIHNldEFjY2VwdGVkRXJyb3JQYXR0ZXJucygpLlxuXHRcdGlmICh0aGlzLmlzU3RyaWN0KSB7XG5cdFx0XHR0aGlzLm1hdGNoZXJzID0gR0xPQkFMTFlfQUNDRVBURURfRVJST1JTO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLm1hdGNoZXJzID0gWygpID0+IHRydWVdO1xuXHRcdH1cblx0fVxuXG5cdHNldEFjY2VwdGVkRXJyb3JQYXR0ZXJucyhwYXR0ZXJucz86IChSZWdFeHAgfCBzdHJpbmcpW10pIHtcblx0XHRpZiAoIXBhdHRlcm5zIHx8IHBhdHRlcm5zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0dGhpcy5tYXRjaGVycyA9IEdMT0JBTExZX0FDQ0VQVEVEX0VSUk9SUztcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5tYXRjaGVycyA9IHBhdHRlcm5zLm1hcCh3cmFwUGF0dGVybnMpLmNvbmNhdChHTE9CQUxMWV9BQ0NFUFRFRF9FUlJPUlMpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgY2hlY2tBbmRMb2codHlwZTogYW55LCAuLi5kYXRhOiBhbnlbXSkge1xuXHRcdC8vIG9ubHkgY2hlY2sgdGhlIGVycm9yIG1lc3NhZ2VzXG5cdFx0aWYgKHR5cGUgPT09IFwiZXJyb3JcIikge1xuXHRcdFx0Y29uc3QgbWVzc2FnZVRleHQgPSBkYXRhWzBdO1xuXHRcdFx0Y29uc3QgaXNBbGxvd2VkID0gdGhpcy5tYXRjaGVycy5zb21lKChtYXRjaGVyKSA9PiBtYXRjaGVyKG1lc3NhZ2VUZXh0KSk7XG5cdFx0XHRpZiAoIWlzQWxsb3dlZCkge1xuXHRcdFx0XHR0aGlzLm1lc3NhZ2VzLnB1c2gobWVzc2FnZVRleHQpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmICh0aGlzLmthcm1hKSB7XG5cdFx0XHQvLyB3cmFwIHRoZSBkYXRhIHRvIGZhY2lsaXRhdGUgcGFyc2luZyBpbiB0aGUgYmFja2VuZFxuXHRcdFx0Y29uc3Qgd3JhcHBlZERhdGEgPSBkYXRhLm1hcCgoZCkgPT4gW2RdKTtcblx0XHRcdHRoaXMua2FybWEubG9nKHR5cGUsIHdyYXBwZWREYXRhKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHByZXBhcmVXaW5kb3cod2luZG93OiBXaW5kb3cpIHtcblx0XHRjb25zdCBjb25zb2xlOiBDb25zb2xlID0gKHdpbmRvdyBhcyBhbnkpLmNvbnNvbGU7XG5cblx0XHQvLyBjYXB0dXJlIGNvbnNvbGUubG9nKCksIGNvbnNvbGUuZGVidWcoKSwgZXRjLlxuXHRcdGNvbnN0IHBhdGNoQ29uc29sZU1ldGhvZCA9IChtZXRob2Q6IFwibG9nXCIgfCBcImluZm9cIiB8IFwid2FyblwiIHwgXCJlcnJvclwiIHwgXCJkZWJ1Z1wiKSA9PiB7XG5cdFx0XHRjb25zdCBmbk9yaWdpbmFsID0gY29uc29sZVttZXRob2RdO1xuXHRcdFx0Y29uc29sZVttZXRob2RdID0gKC4uLmRhdGE6IGFueVtdKTogdm9pZCA9PiB7XG5cdFx0XHRcdHRoaXMuY2hlY2tBbmRMb2cobWV0aG9kLCAuLi5kYXRhKTtcblx0XHRcdFx0cmV0dXJuIGZuT3JpZ2luYWwuYXBwbHkoY29uc29sZSwgZGF0YSk7XG5cdFx0XHR9O1xuXHRcdH07XG5cblx0XHRwYXRjaENvbnNvbGVNZXRob2QoXCJsb2dcIik7XG5cdFx0cGF0Y2hDb25zb2xlTWV0aG9kKFwiZGVidWdcIik7XG5cdFx0cGF0Y2hDb25zb2xlTWV0aG9kKFwiaW5mb1wiKTtcblx0XHRwYXRjaENvbnNvbGVNZXRob2QoXCJ3YXJuXCIpO1xuXHRcdHBhdGNoQ29uc29sZU1ldGhvZChcImVycm9yXCIpO1xuXG5cdFx0Ly8gY2FwdHVyZSBjb25zb2xlLmFzc2VydCgpXG5cdFx0Ly8gc2VlIGh0dHBzOi8vY29uc29sZS5zcGVjLndoYXR3Zy5vcmcvI2Fzc2VydFxuXHRcdGNvbnNvbGUuYXNzZXJ0ID0gZnVuY3Rpb24gKGNvbmRpdGlvbiA9IGZhbHNlLCAuLi5kYXRhOiBhbnlbXSkge1xuXHRcdFx0aWYgKGNvbmRpdGlvbikge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IG1lc3NhZ2UgPSBcIkFzc2VydGlvbiBmYWlsZWRcIjtcblx0XHRcdGlmIChkYXRhLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRkYXRhLnB1c2gobWVzc2FnZSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRsZXQgZmlyc3QgPSBkYXRhWzBdO1xuXHRcdFx0XHRpZiAodHlwZW9mIGZpcnN0ICE9PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRcdFx0ZGF0YS51bnNoaWZ0KG1lc3NhZ2UpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGZpcnN0ID0gYCR7bWVzc2FnZX06ICR7Zmlyc3R9YDtcblx0XHRcdFx0XHRkYXRhWzBdID0gZmlyc3Q7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Y29uc29sZS5lcnJvciguLi5kYXRhKTtcblx0XHR9O1xuXG5cdFx0Ly8gY2FwdHVyZSBlcnJvcnNcblx0XHRmdW5jdGlvbiBvblByb21pc2VSZWplY3Rpb24odGhpczogQ29uc29sZUVycm9yQ2hlY2tlciwgZXZlbnQ6IFByb21pc2VSZWplY3Rpb25FdmVudCkge1xuXHRcdFx0Y29uc3QgbWVzc2FnZSA9IGBVTkhBTkRMRUQgUFJPTUlTRSBSRUpFQ1RJT046ICR7ZXZlbnQucmVhc29ufWA7XG5cdFx0XHR0aGlzLmNoZWNrQW5kTG9nKFwiZXJyb3JcIiwgbWVzc2FnZSwgZXZlbnQucmVhc29uPy5zdGFjayk7XG5cdFx0fVxuXG5cdFx0ZnVuY3Rpb24gb25FcnJvcih0aGlzOiBDb25zb2xlRXJyb3JDaGVja2VyLCBldmVudDogRXJyb3JFdmVudCkge1xuXHRcdFx0Y29uc3QgbWVzc2FnZSA9IGV2ZW50Lm1lc3NhZ2U7XG5cdFx0XHR0aGlzLmNoZWNrQW5kTG9nKFwiZXJyb3JcIiwgbWVzc2FnZSwgZXZlbnQuZmlsZW5hbWUpO1xuXHRcdH1cblxuXHRcdHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZXJyb3JcIiwgb25FcnJvci5iaW5kKHRoaXMpLCB7IHBhc3NpdmU6IHRydWUgfSk7XG5cdFx0d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJ1bmhhbmRsZWRyZWplY3Rpb25cIiwgb25Qcm9taXNlUmVqZWN0aW9uLmJpbmQodGhpcyksIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcblx0fVxuXG5cdHN0YXRpYyBnZXRJbnN0YW5jZSh3aW5kb3c6IFdpbmRvdyAmIHsgc2FwRkVDb25zb2xlRXJyb3JDaGVja2VyPzogQ29uc29sZUVycm9yQ2hlY2tlciB9KTogQ29uc29sZUVycm9yQ2hlY2tlciB7XG5cdFx0Ly8gdGhlIGdsb2JhbCBpbnN0YW5jZSBpcyBuZWVkZWQgdG8gc3VwcG9ydCBtdWx0aXBsZSB0ZXN0cyBpbiBhIHJvdyAoaW4gS2FybWEpXG5cdFx0aWYgKCF3aW5kb3cuc2FwRkVDb25zb2xlRXJyb3JDaGVja2VyKSB7XG5cdFx0XHR3aW5kb3cuc2FwRkVDb25zb2xlRXJyb3JDaGVja2VyID0gbmV3IENvbnNvbGVFcnJvckNoZWNrZXIod2luZG93KTtcblx0XHR9XG5cdFx0cmV0dXJuIHdpbmRvdy5zYXBGRUNvbnNvbGVFcnJvckNoZWNrZXI7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29uc29sZUVycm9yQ2hlY2tlci5nZXRJbnN0YW5jZSh3aW5kb3cpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0VBWUEsU0FBU0EsWUFBWUEsQ0FBQ0MsT0FBd0IsRUFBMEI7SUFDdkUsSUFBSUEsT0FBTyxZQUFZQyxNQUFNLEVBQUU7TUFDOUIsT0FBUUMsT0FBTyxJQUFLQSxPQUFPLENBQUNDLEtBQUssQ0FBQ0gsT0FBTyxDQUFDLEtBQUssSUFBSTtJQUNwRCxDQUFDLE1BQU07TUFDTixPQUFRRSxPQUFPLElBQUtBLE9BQU8sQ0FBQ0UsUUFBUSxDQUFDSixPQUFPLENBQUM7SUFDOUM7RUFDRDs7RUFFQTtBQUNBO0FBQ0E7RUFDQSxNQUFNSyx3QkFBd0IsR0FBRyxDQUNoQyw0QkFBNEI7RUFBRTtFQUM5Qix3Q0FBd0MsQ0FBQztFQUFBLENBQ3pDLENBQUNDLEdBQUcsQ0FBQ1AsWUFBWSxDQUFDO0VBQUMsSUFFZFEsbUJBQW1CO0lBZ0N4QixTQUFBQSxvQkFBWUMsTUFBc0MsRUFBRTtNQUFBLEtBL0I1Q0MsUUFBUSxH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
|
|
@@ -22,7 +22,7 @@ sap.ui.define(["sap/ui/core/Lib", "sap/ui/core/library"], function (Library, _li
|
|
|
22
22
|
controls: [],
|
|
23
23
|
elements: [],
|
|
24
24
|
// eslint-disable-next-line no-template-curly-in-string
|
|
25
|
-
version: "1.
|
|
25
|
+
version: "1.133.0",
|
|
26
26
|
noLibraryCSS: true
|
|
27
27
|
});
|
|
28
28
|
return thisLib;
|