@bnsights/bbsf-controls 1.0.191 → 1.0.193

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/README.md CHANGED
@@ -5,6 +5,21 @@ BBSF Controls package is part of BBSF 3 packages. It has all the form controls t
5
5
  For more info please visit [BBSF Controls documenation](https://bbsfadmin.bnsights.com/controls) or [BBSF documentation](https://bnsightsprojects.visualstudio.com/BBSF%203/_wiki/wikis/BBSF-3.wiki/65/BBSF-Documentation)
6
6
 
7
7
  ## Change Log
8
+
9
+ ## 1.0.193 / 16-10-2025
10
+
11
+ =====================
12
+
13
+ - Fix Format for displayValues in Tags, multiSelect
14
+
15
+ ## 1.0.192 / 15-10-2025
16
+
17
+ =====================
18
+
19
+ - Fix Repeater URL Validation
20
+ - Fix Clear singleSelection DropdownComponent
21
+ - Remove Swal cancelButton style
22
+
8
23
  ## 1.0.191 / 23/9/2025
9
24
 
10
25
  =====================
@@ -9,6 +9,7 @@ export var DataType;
9
9
  DataType["Text"] = "7F35E246-7C93-4666-8031-3CE9D2262DB9";
10
10
  DataType["Email"] = "E4F974F6-682F-4CAC-8597-C94E8BF60539";
11
11
  DataType["Number"] = "962060E2-539C-4257-88E5-0259EB8A64F4";
12
+ DataType["URL"] = "4A2E8C91-B7D3-4F5E-A9C2-1D6E3F8B4C7A";
12
13
  DataType["Name"] = "54FE6A3E-1F71-42B8-8C99-06279ED8AA2F";
13
14
  DataType["Mobile"] = "266E2903-D105-4847-AC9B-002AE884A31E";
14
15
  DataType["MultilineText"] = "97F904E0-991B-4F68-B227-217A7B87B8B3";
@@ -32,4 +33,4 @@ export var DataType;
32
33
  DataType["RadioButton"] = "58ddcb68-db85-4a3e-864d-fe5226f2ab61";
33
34
  DataType["CheckBox"] = "0dd09f73-c283-4adb-9381-df018144c39a";
34
35
  })(DataType || (DataType = {}));
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWNvbnRyb2xzL3NyYy9saWIvU2hhcmVkL0VudW1zL0VudW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIscURBQVMsQ0FBQTtJQUNULHFFQUFpQixDQUFBO0lBQ2pCLDJEQUFZLENBQUE7QUFDZCxDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekI7QUFDRCxNQUFNLENBQU4sSUFBWSxRQTBCWDtBQTFCRCxXQUFZLFFBQVE7SUFDbEIseURBQTZDLENBQUE7SUFDN0MsMERBQThDLENBQUE7SUFDOUMsMkRBQStDLENBQUE7SUFDL0MseURBQTZDLENBQUE7SUFDN0MsMkRBQStDLENBQUE7SUFDL0Msa0VBQXNELENBQUE7SUFDdEQseURBQTZDLENBQUE7SUFDN0MsMERBQThDLENBQUE7SUFDOUMseURBQTZDLENBQUE7SUFDN0MsOERBQWtELENBQUE7SUFDbEQsNERBQWdELENBQUE7SUFDaEQseURBQTZDLENBQUE7SUFDN0MsNkRBQWlELENBQUE7SUFDakQseURBQTZDLENBQUE7SUFDN0MsNkRBQWlELENBQUE7SUFDakQsaUVBQXFELENBQUE7SUFDckQsa0VBQXNELENBQUE7SUFDdEQseURBQTZDLENBQUE7SUFDN0MsOERBQWtELENBQUE7SUFDbEQsK0RBQW1ELENBQUE7SUFDbkQsa0VBQXNELENBQUE7SUFDdEQsNERBQWdELENBQUE7SUFDaEQsZ0VBQW9ELENBQUE7SUFDcEQsZ0VBQW9ELENBQUE7SUFDcEQsNkRBQWlELENBQUE7QUFDbkQsQ0FBQyxFQTFCVyxRQUFRLEtBQVIsUUFBUSxRQTBCbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBQZXJtaXNzaW9uU2V0cyB7XHJcbiAgQWRtaW4gPSAxLFxyXG4gIEJ1c2luZXNzQWRtaW4gPSAyLFxyXG4gIEN1c3RvbWVyID0gM1xyXG59XHJcbmV4cG9ydCBlbnVtIERhdGFUeXBlIHtcclxuICBUZXh0ID0gXCI3RjM1RTI0Ni03QzkzLTQ2NjYtODAzMS0zQ0U5RDIyNjJEQjlcIixcclxuICBFbWFpbCA9IFwiRTRGOTc0RjYtNjgyRi00Q0FDLTg1OTctQzk0RThCRjYwNTM5XCIsXHJcbiAgTnVtYmVyID0gXCI5NjIwNjBFMi01MzlDLTQyNTctODhFNS0wMjU5RUI4QTY0RjRcIixcclxuICBOYW1lID0gXCI1NEZFNkEzRS0xRjcxLTQyQjgtOEM5OS0wNjI3OUVEOEFBMkZcIixcclxuICBNb2JpbGUgPSBcIjI2NkUyOTAzLUQxMDUtNDg0Ny1BQzlCLTAwMkFFODg0QTMxRVwiLFxyXG4gIE11bHRpbGluZVRleHQgPSBcIjk3RjkwNEUwLTk5MUItNEY2OC1CMjI3LTIxN0E3Qjg3QjhCM1wiLFxyXG4gIEhUTUwgPSBcIjU3MzM1RTJCLUUyODYtNDAxQS1BMzc0LTcyODg4QzNGQjc1M1wiLFxyXG4gIEltYWdlID0gXCIxQUU1RkYxRi04NTZFLTQxREEtOTIzRS0wNzk2NkY2RjhGRkVcIixcclxuICBGaWxlID0gXCJBQ0RGRUZBNy1CNDA2LTQ1QjgtOTI2NC03OEFBNDQwRDk0QjVcIixcclxuICBNdWx0aUZpbGUgPSBcIjExRkFDOUVCLUQxQkItNEY3My05Mzg2LTY0QTZDODlBNzBBQ1wiLFxyXG4gIEJvb2xlYW4gPSBcIjdGODk2MTdCLTU4NjMtNDc0MS1BOTQ4LTEwNkJCRTgyRDM4RFwiLFxyXG4gIERhdGUgPSBcIjQxMTgyNjU5LUE2MzgtNEZGMC04RTNGLTY2Qjg5QjBCNTQ0Q1wiLFxyXG4gIERhdGVUaW1lID0gXCI4RDg5OTk1Ni04MTg3LTRFQTEtOTJFQi1CNjJENTBBNjYzMjNcIixcclxuICBUaW1lID0gXCJCOEMyMjVFRC0xN0MzLTRBRTAtQTBFOC0zQzcyMkIzOEQ4QTdcIixcclxuICBMb2NhdGlvbiA9IFwiQzQ4NkY5QzUtMDA2NS00QTgxLUFGQTEtMDM5NDZEQkQyMjE0XCIsXHJcbiAgU2luZ2xlU2VsZWN0ID0gXCIxQTYzQjRCNy1ERURFLTQ4QzgtODQwNy0xMEU0MTcwQkY3NjFcIixcclxuICBNdWxpcGxlU2VsZWN0ID0gXCIyQ0IyODczNS05RDBCLTRGQkUtQTUwNC04NzkzQTQ1NDRGOTRcIixcclxuICBHb2FsID0gXCIxMDgzMTBDRS05RkUxLTQ5MTQtQUI2Qi0yQ0Y2Mjg0NDcyQURcIixcclxuICBDaGFsbGVuZ2UgPSBcIjQ4QzQxOUNFLTUzMDYtNEY2Qi04N0EzLUYwMTZFNTIyRDlFM1wiLFxyXG4gIENvdmVyUGhvdG8gPSBcIjlDQzhDMEJCLUM2NzAtNDY2Ri1BNjMyLTg2MzJGRjVDMTI5NlwiLFxyXG4gIElubm92YXRpb25MYWIgPSBcIjRCOTE0RUQwLThCMzYtNEUyNC1CODVFLTlBMDRDOUYyNjZCRVwiLFxyXG4gIENvdW50cnkgPSBcIjM0MkFBNzAxLTc2QzctNEU1RC04MDU2LTQwN0JGQzg2Rjg4OFwiLFxyXG4gIEFyZWFPZkZvY3VzID0gXCIwNmE0Y2ZiNy0yMTZhLTRhNjAtODM4OC03YTg1OWFhYjkwYjRcIixcclxuICBSYWRpb0J1dHRvbiA9IFwiNThkZGNiNjgtZGI4NS00YTNlLTg2NGQtZmU1MjI2ZjJhYjYxXCIsXHJcbiAgQ2hlY2tCb3ggPSBcIjBkZDA5ZjczLWMyODMtNGFkYi05MzgxLWRmMDE4MTQ0YzM5YVwiXHJcbn1cclxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWNvbnRyb2xzL3NyYy9saWIvU2hhcmVkL0VudW1zL0VudW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIscURBQVMsQ0FBQTtJQUNULHFFQUFpQixDQUFBO0lBQ2pCLDJEQUFZLENBQUE7QUFDZCxDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekI7QUFDRCxNQUFNLENBQU4sSUFBWSxRQTJCWDtBQTNCRCxXQUFZLFFBQVE7SUFDbEIseURBQTZDLENBQUE7SUFDN0MsMERBQThDLENBQUE7SUFDOUMsMkRBQStDLENBQUE7SUFDL0Msd0RBQTRDLENBQUE7SUFDNUMseURBQTZDLENBQUE7SUFDN0MsMkRBQStDLENBQUE7SUFDL0Msa0VBQXNELENBQUE7SUFDdEQseURBQTZDLENBQUE7SUFDN0MsMERBQThDLENBQUE7SUFDOUMseURBQTZDLENBQUE7SUFDN0MsOERBQWtELENBQUE7SUFDbEQsNERBQWdELENBQUE7SUFDaEQseURBQTZDLENBQUE7SUFDN0MsNkRBQWlELENBQUE7SUFDakQseURBQTZDLENBQUE7SUFDN0MsNkRBQWlELENBQUE7SUFDakQsaUVBQXFELENBQUE7SUFDckQsa0VBQXNELENBQUE7SUFDdEQseURBQTZDLENBQUE7SUFDN0MsOERBQWtELENBQUE7SUFDbEQsK0RBQW1ELENBQUE7SUFDbkQsa0VBQXNELENBQUE7SUFDdEQsNERBQWdELENBQUE7SUFDaEQsZ0VBQW9ELENBQUE7SUFDcEQsZ0VBQW9ELENBQUE7SUFDcEQsNkRBQWlELENBQUE7QUFDbkQsQ0FBQyxFQTNCVyxRQUFRLEtBQVIsUUFBUSxRQTJCbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBQZXJtaXNzaW9uU2V0cyB7XHJcbiAgQWRtaW4gPSAxLFxyXG4gIEJ1c2luZXNzQWRtaW4gPSAyLFxyXG4gIEN1c3RvbWVyID0gM1xyXG59XHJcbmV4cG9ydCBlbnVtIERhdGFUeXBlIHtcclxuICBUZXh0ID0gXCI3RjM1RTI0Ni03QzkzLTQ2NjYtODAzMS0zQ0U5RDIyNjJEQjlcIixcclxuICBFbWFpbCA9IFwiRTRGOTc0RjYtNjgyRi00Q0FDLTg1OTctQzk0RThCRjYwNTM5XCIsXHJcbiAgTnVtYmVyID0gXCI5NjIwNjBFMi01MzlDLTQyNTctODhFNS0wMjU5RUI4QTY0RjRcIixcclxuICBVUkwgPSBcIjRBMkU4QzkxLUI3RDMtNEY1RS1BOUMyLTFENkUzRjhCNEM3QVwiLFxyXG4gIE5hbWUgPSBcIjU0RkU2QTNFLTFGNzEtNDJCOC04Qzk5LTA2Mjc5RUQ4QUEyRlwiLFxyXG4gIE1vYmlsZSA9IFwiMjY2RTI5MDMtRDEwNS00ODQ3LUFDOUItMDAyQUU4ODRBMzFFXCIsXHJcbiAgTXVsdGlsaW5lVGV4dCA9IFwiOTdGOTA0RTAtOTkxQi00RjY4LUIyMjctMjE3QTdCODdCOEIzXCIsXHJcbiAgSFRNTCA9IFwiNTczMzVFMkItRTI4Ni00MDFBLUEzNzQtNzI4ODhDM0ZCNzUzXCIsXHJcbiAgSW1hZ2UgPSBcIjFBRTVGRjFGLTg1NkUtNDFEQS05MjNFLTA3OTY2RjZGOEZGRVwiLFxyXG4gIEZpbGUgPSBcIkFDREZFRkE3LUI0MDYtNDVCOC05MjY0LTc4QUE0NDBEOTRCNVwiLFxyXG4gIE11bHRpRmlsZSA9IFwiMTFGQUM5RUItRDFCQi00RjczLTkzODYtNjRBNkM4OUE3MEFDXCIsXHJcbiAgQm9vbGVhbiA9IFwiN0Y4OTYxN0ItNTg2My00NzQxLUE5NDgtMTA2QkJFODJEMzhEXCIsXHJcbiAgRGF0ZSA9IFwiNDExODI2NTktQTYzOC00RkYwLThFM0YtNjZCODlCMEI1NDRDXCIsXHJcbiAgRGF0ZVRpbWUgPSBcIjhEODk5OTU2LTgxODctNEVBMS05MkVCLUI2MkQ1MEE2NjMyM1wiLFxyXG4gIFRpbWUgPSBcIkI4QzIyNUVELTE3QzMtNEFFMC1BMEU4LTNDNzIyQjM4RDhBN1wiLFxyXG4gIExvY2F0aW9uID0gXCJDNDg2RjlDNS0wMDY1LTRBODEtQUZBMS0wMzk0NkRCRDIyMTRcIixcclxuICBTaW5nbGVTZWxlY3QgPSBcIjFBNjNCNEI3LURFREUtNDhDOC04NDA3LTEwRTQxNzBCRjc2MVwiLFxyXG4gIE11bGlwbGVTZWxlY3QgPSBcIjJDQjI4NzM1LTlEMEItNEZCRS1BNTA0LTg3OTNBNDU0NEY5NFwiLFxyXG4gIEdvYWwgPSBcIjEwODMxMENFLTlGRTEtNDkxNC1BQjZCLTJDRjYyODQ0NzJBRFwiLFxyXG4gIENoYWxsZW5nZSA9IFwiNDhDNDE5Q0UtNTMwNi00RjZCLTg3QTMtRjAxNkU1MjJEOUUzXCIsXHJcbiAgQ292ZXJQaG90byA9IFwiOUNDOEMwQkItQzY3MC00NjZGLUE2MzItODYzMkZGNUMxMjk2XCIsXHJcbiAgSW5ub3ZhdGlvbkxhYiA9IFwiNEI5MTRFRDAtOEIzNi00RTI0LUI4NUUtOUEwNEM5RjI2NkJFXCIsXHJcbiAgQ291bnRyeSA9IFwiMzQyQUE3MDEtNzZDNy00RTVELTgwNTYtNDA3QkZDODZGODg4XCIsXHJcbiAgQXJlYU9mRm9jdXMgPSBcIjA2YTRjZmI3LTIxNmEtNGE2MC04Mzg4LTdhODU5YWFiOTBiNFwiLFxyXG4gIFJhZGlvQnV0dG9uID0gXCI1OGRkY2I2OC1kYjg1LTRhM2UtODY0ZC1mZTUyMjZmMmFiNjFcIixcclxuICBDaGVja0JveCA9IFwiMGRkMDlmNzMtYzI4My00YWRiLTkzODEtZGYwMTgxNDRjMzlhXCJcclxufVxyXG4iXX0=
@@ -28,7 +28,7 @@ export class AutocompleteOptions extends ControlOptionsBase {
28
28
  if (element && element.Value) {
29
29
  result += element.Value;
30
30
  if (index < displayValues.length - 1) {
31
- result += ',';
31
+ result += ', ';
32
32
  }
33
33
  }
34
34
  });
@@ -36,4 +36,4 @@ export class AutocompleteOptions extends ControlOptionsBase {
36
36
  return result;
37
37
  }
38
38
  }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0b2NvbXBsZXRlT3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9TaGFyZWQvTW9kZWxzL0F1dG9jb21wbGV0ZU9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFMUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQUEzRDs7UUFFRSxtR0FBbUc7UUFDbkcsb0JBQWUsR0FBVyxJQUFJLENBQUM7UUFDL0IsK0JBQStCO1FBQy9CLFVBQUssR0FBUSxJQUFJLENBQUM7UUFPbEIsK0VBQStFO1FBQy9FLGdCQUFXLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFTN0Msb0VBQW9FO1FBQ3BFLG1CQUFjLEdBQW1CLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFHeEQsNERBQTREO1FBQzVELHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUluQyxrSEFBa0g7UUFDbEgscUJBQXFCO1FBQ3JCLGVBQVUsR0FBVyxPQUFPLENBQUM7UUFFN0Isa0JBQWEsR0FBUSxJQUFJLENBQUM7UUFDMUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7SUF1QmpDLENBQUM7SUFoQkMsSUFBSSxZQUFZO1FBQ2QsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBYyxDQUFDO1lBQzFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3ZDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7b0JBQzVCLE1BQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDO29CQUN4QixJQUFJLEtBQUssR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTt3QkFDcEMsTUFBTSxJQUFJLEdBQUcsQ0FBQztxQkFDZjtpQkFDRjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBdXRvY29tcGxldGVEVE8gfSBmcm9tICcuL0F1dG9jb21wbGV0ZURUTyc7XHJcbmltcG9ydCB7IElucHV0VHlwZSB9IGZyb20gJy4uL0VudW1zL0lucHV0VHlwZSc7XHJcbmltcG9ydCB7IEZvcmNlRGlyZWN0aW9uIH0gZnJvbSAnLi4vRW51bXMvRm9yY2VEaXJlY3Rpb24nO1xyXG5pbXBvcnQgeyBSYW5nZU51bWJlciB9IGZyb20gJy4vUmFuZ2VOdW1iZXInO1xyXG5pbXBvcnQgeyBDb250cm9sT3B0aW9uc0Jhc2UgfSBmcm9tICcuL0NvbnRyb2xPcHRpb25zQmFzZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlT3B0aW9ucyBleHRlbmRzIENvbnRyb2xPcHRpb25zQmFzZSB7XHJcblxyXG4gIC8qKlJlcHJlc2VudCBjbGFzc2VzIHRvIHRleHRib3ggdGhhdCBhbGxvdyB1cyB0byBzZWxlY3QgdGhlIEF1dG9Db21wbGV0ZSBieSBqcXVlcnkgb3IgamF2YXNjcmlwdCAqL1xyXG4gIHZhbGlkYXRpb25Ub2tlbjogc3RyaW5nID0gbnVsbDtcclxuICAvKipUbyBzZXQgIHZhbHVlICB0byB0ZXh0Ym94ICovXHJcbiAgdmFsdWU6IGFueSA9IG51bGw7XHJcbiAgLy8qKiBTZXQgdGhlIE1heExlbmd0aCBvZiBjaGFyYWN0ZXJzIEluIEF1dG9Db21wbGV0ZSAqL1xyXG4gIG1heExlbmd0aD86IG51bWJlcjtcclxuICAvKipTZXQgdGhlIE1pbkxlbmd0aCBvZiBjaGFyYWN0ZXJzIEluIEF1dG9Db21wbGV0ZSAgKi9cclxuICBtaW5MZW5ndGg/OiBudW1iZXI7XHJcbiAgLy8qKiBTZXQgdGhlIE1heFdvcmRDb3VudCBvZiBjaGFyYWN0ZXJzIEluIEF1dG9Db21wbGV0ZSAqL1xyXG4gIG1heFdvcmRDb3VudDogbnVtYmVyO1xyXG4gIC8qKiBzZXQgUmFuZ2UgTnVtYmVyIHRvIFRleHRib3ggd2l0aCB0eXBlIG51bWJlciB3aXRoIEZyb20tVmFsdWUgYW5kIFRvLXZhbHVlKi9cclxuICBudW1iZXJSYW5nZTogUmFuZ2VOdW1iZXIgPSBuZXcgUmFuZ2VOdW1iZXIoKTtcclxuICAvKipQcmV2ZW50IEF1dG9Db21wbGV0ZSBvZiB0ZXh0Ym94Ki9cclxuICBhdXRvQ29tcGxldGU6IGJvb2xlYW47XHJcbiAgLyoqICB0ZXh0IGlucHV0IG9uIGNoYW5nZSAgKi9cclxuICB0cmltVGV4dE9uQ2hhbmdlOiBib29sZWFuO1xyXG4gIC8qKiBhZGQgYnV0dG9uIHRvIGZvciBjb3BpbmcgdG8gY2xpcGJvYXJkICovXHJcbiAgZW5hYmxlQ29weVRvQ2xpcGJvYXJkOiBib29sZWFuO1xyXG4gIC8qKlByZXZlbnQgIERlZnVsYXQgUGFzc3dvcmQgVmFsaWRhdGlvbiB0byBzZXQgQ3VzdG9tIFZhbGlkYXRpb24gKi9cclxuICByZW1vdmVEZWZ1bGF0UGFzc3dvcmRWYWxpZGF0aW9uOiBib29sZWFuO1xyXG4gIC8qKiB0byBzZXQgRGlyZWN0aW9uIG9mIHRleHRib3ggIGlmIHRleHRib3ggaXMgQXJhYmljIG9yIEVuZ2xpc2ggICovXHJcbiAgZm9yY2VEaXJlY3Rpb246IEZvcmNlRGlyZWN0aW9uID0gRm9yY2VEaXJlY3Rpb24uRW5nbGlzaDtcclxuICAvKiogU2V0IFR5cGUgb2YgQXV0b0NvbXBsZXRlIChcInRleHRcIixcInBhc3N3b3JkXCIsXCJlbWFpbFwiLFwibnVtYmVyXCIpICovXHJcbiAgdHlwZTogSW5wdXRUeXBlO1xyXG4gIC8qKiBhbGxvdyBhZGQgIHZhbHVlIG9mICBBdXRvQ29tcGxldGUgZG9zbid0IGV4aXN0IGluIGxpc3QqL1xyXG4gIGFsbG93TmV3U2VsZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY29udHJvbElkOiBzdHJpbmc7XHJcbiAgLyoqdGhlIHVybCBvZiBhIHJlbW90ZSBzZXJ2ZXIgdGhhdCBzdXBwb3J0cyBqc29ucCBjYWxscyAqL1xyXG4gIGFjdGlvblVSTDogc3RyaW5nO1xyXG4gIC8vIC8qKmEge2tleSx2YWx1ZX0gKGpzb24pIG9iamVjdCB0byBpbmNsdWRlIGFzIHBhcmFtcyBmb3IgdGhlIGpzb24gY2FsbC4gRWFjaCBhcGkgc3VwcG9ydHMgZGlmZmVyZW50IHN0cnVjdHVyZS4qL1xyXG4gIC8vIFBhcmFtczogb2JqZWN0PXt9O1xyXG4gIHF1ZXJ5UGFyYW06IHN0cmluZyA9ICdxdWVyeSc7XHJcbiAgYXV0b2NvbXBsZXRlRFRPOiBBdXRvY29tcGxldGVEVE87XHJcbiAgc2VsZWN0ZWRWYWx1ZTogYW55ID0gbnVsbDtcclxuICBpdGVtV2l0aEltYWdlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY3VzdG9tVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLy9HZXQgRXh0cmEgRmlsdGVyIFZhbHVlXHJcbiAgZXh0cmFGaWx0ZXI6IHN0cmluZyB8IEZ1bmN0aW9uO1xyXG4gIC8vR2V0IEV4dHJhIEZpbHRlciBQYXJhbSBOYW1lXHJcbiAgZXh0cmFGaWx0ZXJQYXJhbU5hbWU6IHN0cmluZztcclxuXHJcbiAgZ2V0IGRpc3BsYXlWYWx1ZSgpOiBhbnkge1xyXG4gICAgbGV0IHJlc3VsdCA9IFwiXCI7XHJcbiAgICBpZiAodGhpcy52YWx1ZSAmJiBBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSB7XHJcbiAgICAgIGNvbnN0IGRpc3BsYXlWYWx1ZXMgPSB0aGlzLnZhbHVlIGFzIGFueVtdO1xyXG4gICAgICBkaXNwbGF5VmFsdWVzLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5WYWx1ZSkge1xyXG4gICAgICAgICAgcmVzdWx0ICs9IGVsZW1lbnQuVmFsdWU7XHJcbiAgICAgICAgICBpZiAoaW5kZXggPCBkaXNwbGF5VmFsdWVzLmxlbmd0aCAtIDEpIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9ICcsJztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0b2NvbXBsZXRlT3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9TaGFyZWQvTW9kZWxzL0F1dG9jb21wbGV0ZU9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFMUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQUEzRDs7UUFFRSxtR0FBbUc7UUFDbkcsb0JBQWUsR0FBVyxJQUFJLENBQUM7UUFDL0IsK0JBQStCO1FBQy9CLFVBQUssR0FBUSxJQUFJLENBQUM7UUFPbEIsK0VBQStFO1FBQy9FLGdCQUFXLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFTN0Msb0VBQW9FO1FBQ3BFLG1CQUFjLEdBQW1CLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFHeEQsNERBQTREO1FBQzVELHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUluQyxrSEFBa0g7UUFDbEgscUJBQXFCO1FBQ3JCLGVBQVUsR0FBVyxPQUFPLENBQUM7UUFFN0Isa0JBQWEsR0FBUSxJQUFJLENBQUM7UUFDMUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7SUF1QmpDLENBQUM7SUFoQkMsSUFBSSxZQUFZO1FBQ2QsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBYyxDQUFDO1lBQzFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3ZDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7b0JBQzVCLE1BQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDO29CQUN4QixJQUFJLEtBQUssR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTt3QkFDcEMsTUFBTSxJQUFJLElBQUksQ0FBQztxQkFDaEI7aUJBQ0Y7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlRFRPIH0gZnJvbSAnLi9BdXRvY29tcGxldGVEVE8nO1xyXG5pbXBvcnQgeyBJbnB1dFR5cGUgfSBmcm9tICcuLi9FbnVtcy9JbnB1dFR5cGUnO1xyXG5pbXBvcnQgeyBGb3JjZURpcmVjdGlvbiB9IGZyb20gJy4uL0VudW1zL0ZvcmNlRGlyZWN0aW9uJztcclxuaW1wb3J0IHsgUmFuZ2VOdW1iZXIgfSBmcm9tICcuL1JhbmdlTnVtYmVyJztcclxuaW1wb3J0IHsgQ29udHJvbE9wdGlvbnNCYXNlIH0gZnJvbSAnLi9Db250cm9sT3B0aW9uc0Jhc2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZU9wdGlvbnMgZXh0ZW5kcyBDb250cm9sT3B0aW9uc0Jhc2Uge1xyXG5cclxuICAvKipSZXByZXNlbnQgY2xhc3NlcyB0byB0ZXh0Ym94IHRoYXQgYWxsb3cgdXMgdG8gc2VsZWN0IHRoZSBBdXRvQ29tcGxldGUgYnkganF1ZXJ5IG9yIGphdmFzY3JpcHQgKi9cclxuICB2YWxpZGF0aW9uVG9rZW46IHN0cmluZyA9IG51bGw7XHJcbiAgLyoqVG8gc2V0ICB2YWx1ZSAgdG8gdGV4dGJveCAqL1xyXG4gIHZhbHVlOiBhbnkgPSBudWxsO1xyXG4gIC8vKiogU2V0IHRoZSBNYXhMZW5ndGggb2YgY2hhcmFjdGVycyBJbiBBdXRvQ29tcGxldGUgKi9cclxuICBtYXhMZW5ndGg/OiBudW1iZXI7XHJcbiAgLyoqU2V0IHRoZSBNaW5MZW5ndGggb2YgY2hhcmFjdGVycyBJbiBBdXRvQ29tcGxldGUgICovXHJcbiAgbWluTGVuZ3RoPzogbnVtYmVyO1xyXG4gIC8vKiogU2V0IHRoZSBNYXhXb3JkQ291bnQgb2YgY2hhcmFjdGVycyBJbiBBdXRvQ29tcGxldGUgKi9cclxuICBtYXhXb3JkQ291bnQ6IG51bWJlcjtcclxuICAvKiogc2V0IFJhbmdlIE51bWJlciB0byBUZXh0Ym94IHdpdGggdHlwZSBudW1iZXIgd2l0aCBGcm9tLVZhbHVlIGFuZCBUby12YWx1ZSovXHJcbiAgbnVtYmVyUmFuZ2U6IFJhbmdlTnVtYmVyID0gbmV3IFJhbmdlTnVtYmVyKCk7XHJcbiAgLyoqUHJldmVudCBBdXRvQ29tcGxldGUgb2YgdGV4dGJveCovXHJcbiAgYXV0b0NvbXBsZXRlOiBib29sZWFuO1xyXG4gIC8qKiAgdGV4dCBpbnB1dCBvbiBjaGFuZ2UgICovXHJcbiAgdHJpbVRleHRPbkNoYW5nZTogYm9vbGVhbjtcclxuICAvKiogYWRkIGJ1dHRvbiB0byBmb3IgY29waW5nIHRvIGNsaXBib2FyZCAqL1xyXG4gIGVuYWJsZUNvcHlUb0NsaXBib2FyZDogYm9vbGVhbjtcclxuICAvKipQcmV2ZW50ICBEZWZ1bGF0IFBhc3N3b3JkIFZhbGlkYXRpb24gdG8gc2V0IEN1c3RvbSBWYWxpZGF0aW9uICovXHJcbiAgcmVtb3ZlRGVmdWxhdFBhc3N3b3JkVmFsaWRhdGlvbjogYm9vbGVhbjtcclxuICAvKiogdG8gc2V0IERpcmVjdGlvbiBvZiB0ZXh0Ym94ICBpZiB0ZXh0Ym94IGlzIEFyYWJpYyBvciBFbmdsaXNoICAqL1xyXG4gIGZvcmNlRGlyZWN0aW9uOiBGb3JjZURpcmVjdGlvbiA9IEZvcmNlRGlyZWN0aW9uLkVuZ2xpc2g7XHJcbiAgLyoqIFNldCBUeXBlIG9mIEF1dG9Db21wbGV0ZSAoXCJ0ZXh0XCIsXCJwYXNzd29yZFwiLFwiZW1haWxcIixcIm51bWJlclwiKSAqL1xyXG4gIHR5cGU6IElucHV0VHlwZTtcclxuICAvKiogYWxsb3cgYWRkICB2YWx1ZSBvZiAgQXV0b0NvbXBsZXRlIGRvc24ndCBleGlzdCBpbiBsaXN0Ki9cclxuICBhbGxvd05ld1NlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNvbnRyb2xJZDogc3RyaW5nO1xyXG4gIC8qKnRoZSB1cmwgb2YgYSByZW1vdGUgc2VydmVyIHRoYXQgc3VwcG9ydHMganNvbnAgY2FsbHMgKi9cclxuICBhY3Rpb25VUkw6IHN0cmluZztcclxuICAvLyAvKiphIHtrZXksdmFsdWV9IChqc29uKSBvYmplY3QgdG8gaW5jbHVkZSBhcyBwYXJhbXMgZm9yIHRoZSBqc29uIGNhbGwuIEVhY2ggYXBpIHN1cHBvcnRzIGRpZmZlcmVudCBzdHJ1Y3R1cmUuKi9cclxuICAvLyBQYXJhbXM6IG9iamVjdD17fTtcclxuICBxdWVyeVBhcmFtOiBzdHJpbmcgPSAncXVlcnknO1xyXG4gIGF1dG9jb21wbGV0ZURUTzogQXV0b2NvbXBsZXRlRFRPO1xyXG4gIHNlbGVjdGVkVmFsdWU6IGFueSA9IG51bGw7XHJcbiAgaXRlbVdpdGhJbWFnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGN1c3RvbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8vR2V0IEV4dHJhIEZpbHRlciBWYWx1ZVxyXG4gIGV4dHJhRmlsdGVyOiBzdHJpbmcgfCBGdW5jdGlvbjtcclxuICAvL0dldCBFeHRyYSBGaWx0ZXIgUGFyYW0gTmFtZVxyXG4gIGV4dHJhRmlsdGVyUGFyYW1OYW1lOiBzdHJpbmc7XHJcblxyXG4gIGdldCBkaXNwbGF5VmFsdWUoKTogYW55IHtcclxuICAgIGxldCByZXN1bHQgPSBcIlwiO1xyXG4gICAgaWYgKHRoaXMudmFsdWUgJiYgQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xyXG4gICAgICBjb25zdCBkaXNwbGF5VmFsdWVzID0gdGhpcy52YWx1ZSBhcyBhbnlbXTtcclxuICAgICAgZGlzcGxheVZhbHVlcy5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xyXG4gICAgICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQuVmFsdWUpIHtcclxuICAgICAgICAgIHJlc3VsdCArPSBlbGVtZW50LlZhbHVlO1xyXG4gICAgICAgICAgaWYgKGluZGV4IDwgZGlzcGxheVZhbHVlcy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCArPSAnLCAnO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -26,7 +26,7 @@ export class DropdownOptions extends ControlOptionsBase {
26
26
  if (foundItem) {
27
27
  result += foundItem.value;
28
28
  if (index < itemsArray.length - 1) {
29
- result += ',';
29
+ result += ', ';
30
30
  }
31
31
  }
32
32
  });
@@ -35,4 +35,4 @@ export class DropdownOptions extends ControlOptionsBase {
35
35
  return result;
36
36
  }
37
37
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1jb250cm9scy9zcmMvbGliL1NoYXJlZC9Nb2RlbHMvRHJvcGRvd25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxrQkFBa0I7SUFBdkQ7O1FBTUUscUNBQXFDO1FBQ3JDLDJCQUFzQixHQUFZLEtBQUssQ0FBQztRQWV4Qyx5Q0FBeUM7UUFDekMsbUJBQWMsR0FBVyxLQUFLLENBQUM7UUFDL0IsMkNBQTJDO1FBQzNDLHFCQUFnQixHQUFXLE9BQU8sQ0FBQztRQUNuQyxtQkFBYyxHQUFtQixjQUFjLENBQUMsT0FBTyxDQUFDO1FBQ3hELGlCQUFZLEdBQVcsRUFBRSxDQUFDO0lBOEI1QixDQUFDO0lBeEJDLElBQUksWUFBWTtRQUNkLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsa0ZBQWtGO1lBQ2xGLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztnQkFDbEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhO2dCQUNwQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFekIseUNBQXlDO1lBQ3pDLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3pCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7b0JBQ2pDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDO29CQUM5RCxJQUFJLFNBQVMsRUFBRTt3QkFDYixNQUFNLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQzt3QkFDMUIsSUFBSSxLQUFLLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7NEJBQ2pDLE1BQU0sSUFBSSxHQUFHLENBQUM7eUJBQ2Y7cUJBQ0Y7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDSjtTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJvbExheW91dCB9IGZyb20gJy4uL0VudW1zL0NvbnRyb2xMYXlvdXQnO1xyXG5pbXBvcnQgeyBEcm9wZG93bkxpc3RJdGVtIH0gZnJvbSAnLi9Ecm9wZG93bkxpc3RJdGVtJztcclxuaW1wb3J0IHsgQ3VzdG9tVmFsaWRhdGlvbiB9IGZyb20gJy4vQ3VzdG9tVmFsaWRhdGlvbic7XHJcbmltcG9ydCB7IEF0dHJpYnV0ZSB9IGZyb20gJy4vQXR0cmlidXRlJztcclxuaW1wb3J0IHsgRm9yY2VEaXJlY3Rpb24gfSBmcm9tICcuLi9FbnVtcy9Gb3JjZURpcmVjdGlvbic7XHJcbmltcG9ydCB7IENvbnRyb2xPcHRpb25zQmFzZSB9IGZyb20gJy4vQ29udHJvbE9wdGlvbnNCYXNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93bk9wdGlvbnMgZXh0ZW5kcyBDb250cm9sT3B0aW9uc0Jhc2Uge1xyXG5cclxuICAvKipUbyBzZXQgIERhdGFTb3VyY2UgIHRvIERyb3Bkb3duTGlzdCAqL1xyXG4gIGRhdGFTb3VyY2U6IERyb3Bkb3duTGlzdEl0ZW1bXTtcclxuICAvKipUbyBzZXQgIFNlbGVjdGVkSXRlbSAgdG8gRHJvcGRvd25MaXN0ICovXHJcbiAgc2VsZWN0ZWRJdGVtczogYW55O1xyXG4gIC8qKiBEaXNhYmxlIEJvb3RzdHJhcCBEcm9wZG93bkxpc3QgKi9cclxuICBkaXNhYmxlQm9vdHN0cmFwU2VsZWN0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqICB0byBzZXQgIERyb3Bkb3duTGlzdCBpbiBTaW5nbGVNb2RlIE9yIE11bHRpYmxlTW9kZSAsLElmIGZhbHNlID0+IERpc2FibGVCb290c3RyYXBTZWxlY3QgbXVzdCBiZSBlcXVhbCBmYWxzZSAqL1xyXG4gIHNpbmdsZVNlbGVjdGlvbjogYm9vbGVhbjtcclxuICAvKiogIHRvIHNldCAgTnVtYmVyIE9mIHNlbGVjdGVkIEVsZW1lbnQgVGhhdCB3aWxsIFNob3cgSW4gVGhlIEJveCAqL1xyXG4gIGl0ZW1zU2hvd0xpbWl0OiBudW1iZXI7XHJcbiAgLyoqICB0byBTaG93IFNlYXJjaCBGaWx0ZXIgQm94Ki9cclxuICBhbGxvd1NlYXJjaEZpbHRlcjogYm9vbGVhbjtcclxuICAvKiogIHRvIHNldCAgTGltaXQgT2Ygc2VsZWN0ZWQgRWxlbWVudCBGb3IgRHJvcGRvd25MaXN0ICovXHJcbiAgbGltaXRTZWxlY3Rpb24/OiBudW1iZXI7XHJcbiAgLyoqIFNldCBjc3MgY2xhc3NlcyB0byAgRHJvcGRvd25MaXN0ICAqL1xyXG4gIGNsYXNzZXM6IHN0cmluZztcclxuICAvKiogQWxsb3cgIFNob3cgQ2hlY2tib3ggKi9cclxuICBzaG93Q2hlY2tib3g/OiBib29sZWFuO1xyXG4gIC8qKiBBbGxvdyBDaGVjayBBTEwgSXRlbXMgKi9cclxuICBlbmFibGVDaGVja0FsbD86IGJvb2xlYW47XHJcbiAgLyoqIFNldCBrZXkgZm9yIGl0ZW0gaW4gIERyb3Bkb3duTGlzdCAgKi9cclxuICBpdGVtVGVtcGxldGtleTogc3RyaW5nID0gXCJrZXlcIjtcclxuICAvKiogU2V0IHZhbHVlIGZvciBpdGVtIGluICBEcm9wZG93bkxpc3QgICovXHJcbiAgaXRlbVRlbXBsZXR2YWx1ZTogc3RyaW5nID0gXCJ2YWx1ZVwiO1xyXG4gIGZvcmNlRGlyZWN0aW9uOiBGb3JjZURpcmVjdGlvbiA9IEZvcmNlRGlyZWN0aW9uLkVuZ2xpc2g7XHJcbiAgbm90Rm91bmRUZXh0OiBzdHJpbmcgPSBcIlwiO1xyXG4gIC8qKiAgUmVwcmVzZW50IFZhbHVlIG9mIGRpc2FibGVkIGl0ZW1zIHRvb2x0aXAqL1xyXG4gIGRpc2FibGVkSXRlbXNUb29sdGlwVmFsdWU6IHN0cmluZztcclxuICAvLyoqU2hvdyBpZiBEREwgaGFzIEdyb3VwICovXHJcbiAgaGFzR3JvdXA6IGJvb2xlYW47XHJcblxyXG4gIGdldCBkaXNwbGF5VmFsdWUoKTogYW55IHtcclxuICAgIGxldCByZXN1bHQgPSBcIlwiO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcykge1xyXG4gICAgICAvLyBIYW5kbGUgY2FzZSB3aGVyZSBzZWxlY3RlZEl0ZW1zIGNvdWxkIGJlIGEgc2luZ2xlIHN0cmluZyBvciBhbiBhcnJheSBvZiBzdHJpbmdzXHJcbiAgICAgIGNvbnN0IGl0ZW1zQXJyYXkgPSBBcnJheS5pc0FycmF5KHRoaXMuc2VsZWN0ZWRJdGVtcylcclxuICAgICAgICA/IHRoaXMuc2VsZWN0ZWRJdGVtc1xyXG4gICAgICAgIDogW3RoaXMuc2VsZWN0ZWRJdGVtc107XHJcblxyXG4gICAgICAvLyBPbmx5IHByb2Nlc3MgaWYgdGhlIGFycmF5IGlzIG5vdCBlbXB0eVxyXG4gICAgICBpZiAoaXRlbXNBcnJheS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgaXRlbXNBcnJheS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZm91bmRJdGVtID0gdGhpcy5kYXRhU291cmNlPy5maW5kKChpKSA9PiBpLmtleSA9PSBpdGVtKTtcclxuICAgICAgICAgIGlmIChmb3VuZEl0ZW0pIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9IGZvdW5kSXRlbS52YWx1ZTtcclxuICAgICAgICAgICAgaWYgKGluZGV4IDwgaXRlbXNBcnJheS5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICAgICAgcmVzdWx0ICs9ICcsJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbn1cclxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1jb250cm9scy9zcmMvbGliL1NoYXJlZC9Nb2RlbHMvRHJvcGRvd25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxrQkFBa0I7SUFBdkQ7O1FBTUUscUNBQXFDO1FBQ3JDLDJCQUFzQixHQUFZLEtBQUssQ0FBQztRQWV4Qyx5Q0FBeUM7UUFDekMsbUJBQWMsR0FBVyxLQUFLLENBQUM7UUFDL0IsMkNBQTJDO1FBQzNDLHFCQUFnQixHQUFXLE9BQU8sQ0FBQztRQUNuQyxtQkFBYyxHQUFtQixjQUFjLENBQUMsT0FBTyxDQUFDO1FBQ3hELGlCQUFZLEdBQVcsRUFBRSxDQUFDO0lBOEI1QixDQUFDO0lBeEJDLElBQUksWUFBWTtRQUNkLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsa0ZBQWtGO1lBQ2xGLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztnQkFDbEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhO2dCQUNwQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFekIseUNBQXlDO1lBQ3pDLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3pCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7b0JBQ2pDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDO29CQUM5RCxJQUFJLFNBQVMsRUFBRTt3QkFDYixNQUFNLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQzt3QkFDMUIsSUFBSSxLQUFLLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7NEJBQ2pDLE1BQU0sSUFBSSxJQUFJLENBQUM7eUJBQ2hCO3FCQUNGO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRyb2xMYXlvdXQgfSBmcm9tICcuLi9FbnVtcy9Db250cm9sTGF5b3V0JztcclxuaW1wb3J0IHsgRHJvcGRvd25MaXN0SXRlbSB9IGZyb20gJy4vRHJvcGRvd25MaXN0SXRlbSc7XHJcbmltcG9ydCB7IEN1c3RvbVZhbGlkYXRpb24gfSBmcm9tICcuL0N1c3RvbVZhbGlkYXRpb24nO1xyXG5pbXBvcnQgeyBBdHRyaWJ1dGUgfSBmcm9tICcuL0F0dHJpYnV0ZSc7XHJcbmltcG9ydCB7IEZvcmNlRGlyZWN0aW9uIH0gZnJvbSAnLi4vRW51bXMvRm9yY2VEaXJlY3Rpb24nO1xyXG5pbXBvcnQgeyBDb250cm9sT3B0aW9uc0Jhc2UgfSBmcm9tICcuL0NvbnRyb2xPcHRpb25zQmFzZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgRHJvcGRvd25PcHRpb25zIGV4dGVuZHMgQ29udHJvbE9wdGlvbnNCYXNlIHtcclxuXHJcbiAgLyoqVG8gc2V0ICBEYXRhU291cmNlICB0byBEcm9wZG93bkxpc3QgKi9cclxuICBkYXRhU291cmNlOiBEcm9wZG93bkxpc3RJdGVtW107XHJcbiAgLyoqVG8gc2V0ICBTZWxlY3RlZEl0ZW0gIHRvIERyb3Bkb3duTGlzdCAqL1xyXG4gIHNlbGVjdGVkSXRlbXM6IGFueTtcclxuICAvKiogRGlzYWJsZSBCb290c3RyYXAgRHJvcGRvd25MaXN0ICovXHJcbiAgZGlzYWJsZUJvb3RzdHJhcFNlbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKiAgdG8gc2V0ICBEcm9wZG93bkxpc3QgaW4gU2luZ2xlTW9kZSBPciBNdWx0aWJsZU1vZGUgLCxJZiBmYWxzZSA9PiBEaXNhYmxlQm9vdHN0cmFwU2VsZWN0IG11c3QgYmUgZXF1YWwgZmFsc2UgKi9cclxuICBzaW5nbGVTZWxlY3Rpb246IGJvb2xlYW47XHJcbiAgLyoqICB0byBzZXQgIE51bWJlciBPZiBzZWxlY3RlZCBFbGVtZW50IFRoYXQgd2lsbCBTaG93IEluIFRoZSBCb3ggKi9cclxuICBpdGVtc1Nob3dMaW1pdDogbnVtYmVyO1xyXG4gIC8qKiAgdG8gU2hvdyBTZWFyY2ggRmlsdGVyIEJveCovXHJcbiAgYWxsb3dTZWFyY2hGaWx0ZXI6IGJvb2xlYW47XHJcbiAgLyoqICB0byBzZXQgIExpbWl0IE9mIHNlbGVjdGVkIEVsZW1lbnQgRm9yIERyb3Bkb3duTGlzdCAqL1xyXG4gIGxpbWl0U2VsZWN0aW9uPzogbnVtYmVyO1xyXG4gIC8qKiBTZXQgY3NzIGNsYXNzZXMgdG8gIERyb3Bkb3duTGlzdCAgKi9cclxuICBjbGFzc2VzOiBzdHJpbmc7XHJcbiAgLyoqIEFsbG93ICBTaG93IENoZWNrYm94ICovXHJcbiAgc2hvd0NoZWNrYm94PzogYm9vbGVhbjtcclxuICAvKiogQWxsb3cgQ2hlY2sgQUxMIEl0ZW1zICovXHJcbiAgZW5hYmxlQ2hlY2tBbGw/OiBib29sZWFuO1xyXG4gIC8qKiBTZXQga2V5IGZvciBpdGVtIGluICBEcm9wZG93bkxpc3QgICovXHJcbiAgaXRlbVRlbXBsZXRrZXk6IHN0cmluZyA9IFwia2V5XCI7XHJcbiAgLyoqIFNldCB2YWx1ZSBmb3IgaXRlbSBpbiAgRHJvcGRvd25MaXN0ICAqL1xyXG4gIGl0ZW1UZW1wbGV0dmFsdWU6IHN0cmluZyA9IFwidmFsdWVcIjtcclxuICBmb3JjZURpcmVjdGlvbjogRm9yY2VEaXJlY3Rpb24gPSBGb3JjZURpcmVjdGlvbi5FbmdsaXNoO1xyXG4gIG5vdEZvdW5kVGV4dDogc3RyaW5nID0gXCJcIjtcclxuICAvKiogIFJlcHJlc2VudCBWYWx1ZSBvZiBkaXNhYmxlZCBpdGVtcyB0b29sdGlwKi9cclxuICBkaXNhYmxlZEl0ZW1zVG9vbHRpcFZhbHVlOiBzdHJpbmc7XHJcbiAgLy8qKlNob3cgaWYgRERMIGhhcyBHcm91cCAqL1xyXG4gIGhhc0dyb3VwOiBib29sZWFuO1xyXG5cclxuICBnZXQgZGlzcGxheVZhbHVlKCk6IGFueSB7XHJcbiAgICBsZXQgcmVzdWx0ID0gXCJcIjtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXMpIHtcclxuICAgICAgLy8gSGFuZGxlIGNhc2Ugd2hlcmUgc2VsZWN0ZWRJdGVtcyBjb3VsZCBiZSBhIHNpbmdsZSBzdHJpbmcgb3IgYW4gYXJyYXkgb2Ygc3RyaW5nc1xyXG4gICAgICBjb25zdCBpdGVtc0FycmF5ID0gQXJyYXkuaXNBcnJheSh0aGlzLnNlbGVjdGVkSXRlbXMpXHJcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkSXRlbXNcclxuICAgICAgICA6IFt0aGlzLnNlbGVjdGVkSXRlbXNdO1xyXG5cclxuICAgICAgLy8gT25seSBwcm9jZXNzIGlmIHRoZSBhcnJheSBpcyBub3QgZW1wdHlcclxuICAgICAgaWYgKGl0ZW1zQXJyYXkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGl0ZW1zQXJyYXkuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGZvdW5kSXRlbSA9IHRoaXMuZGF0YVNvdXJjZT8uZmluZCgoaSkgPT4gaS5rZXkgPT0gaXRlbSk7XHJcbiAgICAgICAgICBpZiAoZm91bmRJdGVtKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCArPSBmb3VuZEl0ZW0udmFsdWU7XHJcbiAgICAgICAgICAgIGlmIChpbmRleCA8IGl0ZW1zQXJyYXkubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgICAgIHJlc3VsdCArPSAnLCAnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -45,7 +45,7 @@ export class TagsInputOptions extends ControlOptionsBase {
45
45
  if (tag && tag.name) {
46
46
  result += tag.name;
47
47
  if (index < displayValues.length - 1) {
48
- result += ',';
48
+ result += ', ';
49
49
  }
50
50
  }
51
51
  });
@@ -53,4 +53,4 @@ export class TagsInputOptions extends ControlOptionsBase {
53
53
  return result;
54
54
  }
55
55
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFnc0lucHV0T3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9TaGFyZWQvTW9kZWxzL1RhZ3NJbnB1dE9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdyRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsa0JBQWtCO0lBQXhEOztRQWlCRSx3RUFBd0U7UUFDeEUsbUJBQWMsR0FBbUIsY0FBYyxDQUFDLE9BQU8sQ0FBQztRQUd4RCw4Q0FBOEM7UUFDOUMsMEJBQXFCLEdBQVksS0FBSyxDQUFDO1FBQ3ZDLGdDQUFnQztRQUNoQyxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUM5Qiw2QkFBNkI7UUFDN0IsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixzREFBc0Q7UUFDdEQsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFDM0IsdURBQXVEO1FBQ3ZELG9CQUFlLEdBQVcsQ0FBQyxDQUFDO1FBQzVCLHdDQUF3QztRQUN4QyxzQkFBaUIsR0FBWSxJQUFJLENBQUM7UUFDbEMsOERBQThEO1FBQzlELDBCQUFxQixHQUFXLEVBQUUsQ0FBQztRQUNuQywwQ0FBMEM7UUFDMUMsd0JBQW1CLEdBQVcsSUFBSSxDQUFDO1FBQ25DLDZDQUE2QztRQUM3Qyx1QkFBa0IsR0FBVyxNQUFNLENBQUM7UUFHcEMsaURBQWlEO1FBQ2pELG1CQUFjLEdBQVcsT0FBTyxDQUFDO1FBQ2pDLGlEQUFpRDtRQUNqRCwyQkFBc0IsR0FBVyxlQUFlLENBQUM7UUFDakQsa0RBQWtEO1FBQ2xELG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBQzdCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLHdEQUF3RDtRQUN4RCxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbkMsb0JBQWUsR0FBVyxJQUFJLENBQUM7UUFJL0IsaUJBQVksR0FBaUIsWUFBWSxDQUFDLFlBQVksQ0FBQztRQUV2RCxvQkFBZSxHQUFZLElBQUksQ0FBQztJQWtCbEMsQ0FBQztJQWhCQyxJQUFJLFlBQVk7UUFDZCxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFjLENBQUM7WUFDMUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDbkMsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksRUFBRTtvQkFDbkIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUM7b0JBQ25CLElBQUksS0FBSyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dCQUNwQyxNQUFNLElBQUksR0FBRyxDQUFDO3FCQUNmO2lCQUNGO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRyb2xMYXlvdXQgfSBmcm9tICcuLi9FbnVtcy9Db250cm9sTGF5b3V0JztcclxuaW1wb3J0IHsgQ3VzdG9tVmFsaWRhdGlvbiB9IGZyb20gJy4vQ3VzdG9tVmFsaWRhdGlvbic7XHJcbmltcG9ydCB7IEZvcmNlRGlyZWN0aW9uIH0gZnJvbSAnLi4vRW51bXMvRm9yY2VEaXJlY3Rpb24nO1xyXG5pbXBvcnQgeyBBdHRyaWJ1dGUgfSBmcm9tICcuL0F0dHJpYnV0ZSc7XHJcbmltcG9ydCB7IENvbnRyb2xPcHRpb25zQmFzZSB9IGZyb20gJy4vQ29udHJvbE9wdGlvbnNCYXNlJztcclxuaW1wb3J0IHsgVGFnSW5wdXRWaWV3IH0gZnJvbSAnLi4vRW51bXMvVGFnSW5wdXRWaWV3JztcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgVGFnc0lucHV0T3B0aW9ucyBleHRlbmRzIENvbnRyb2xPcHRpb25zQmFzZSB7XHJcbiAgLyoqVG8gc2V0ICB2YWx1ZSAgdG8gQ29udHJvbCAqL1xyXG4gIHZhbHVlOiBhbnk7XHJcbiAgLy8qKiBTZXQgdGhlIE1heExlbmd0aCBvZiBjaGFyYWN0ZXJzIEluIEF1dG9Db21wbGV0ZSAqL1xyXG4gIG1heExlbmd0aD86IG51bWJlcjtcclxuICAvKipTZXQgdGhlIE1pbkxlbmd0aCBvZiBjaGFyYWN0ZXJzIEluIEF1dG9Db21wbGV0ZSAgKi9cclxuICBtaW5MZW5ndGg/OiBudW1iZXI7XHJcbiAgLy8qKiBTZXQgdGhlIE1heFdvcmRDb3VudCBvZiBjaGFyYWN0ZXJzIEluIEF1dG9Db21wbGV0ZSAqL1xyXG4gIG1heFdvcmRDb3VudDogbnVtYmVyO1xyXG4gIC8qKlByZXZlbnQgQXV0b0NvbXBsZXRlIG9mIHRhZ3NpbnB1dCovXHJcbiAgYXV0b0NvbXBsZXRlOiBib29sZWFuO1xyXG4gIC8qKiAgdGV4dCBpbnB1dCBvbiBjaGFuZ2UgICovXHJcbiAgdHJpbVRleHRPbkNoYW5nZTogYm9vbGVhbjtcclxuICAvKiogYWRkIGJ1dHRvbiB0byBmb3IgY29waW5nIHRvIGNsaXBib2FyZCAqL1xyXG4gIGVuYWJsZUNvcHlUb0NsaXBib2FyZDogYm9vbGVhbjtcclxuICAvKipQcmV2ZW50ICBEZWZ1bGF0IFBhc3N3b3JkIFZhbGlkYXRpb24gdG8gc2V0IEN1c3RvbSBWYWxpZGF0aW9uICovXHJcbiAgcmVtb3ZlRGVmdWxhdFBhc3N3b3JkVmFsaWRhdGlvbjogYm9vbGVhbjtcclxuICAvKiogdG8gc2V0IERpcmVjdGlvbiBvZiB0YWdzaW5wdXQgIGlmIHRhZ3NpbnB1dCBpcyBBcmFiaWMgb3IgRW5nbGlzaCAgKi9cclxuICBmb3JjZURpcmVjdGlvbjogRm9yY2VEaXJlY3Rpb24gPSBGb3JjZURpcmVjdGlvbi5FbmdsaXNoO1xyXG4gIC8qKnRoZSB1cmwgb2YgYSByZW1vdGUgc2VydmVyIHRoYXQgc3VwcG9ydHMganNvbnAgY2FsbHMgKi9cclxuICBhY3Rpb25VUkw6IHN0cmluZztcclxuICAvKipSZW1vdmUgTGFzdCBXaGVuIFVzZXIgQ2xpY2sgT24gQmFja3NwYWNlICovXHJcbiAgcmVtb3ZlTGFzdE9uQmFja3NwYWNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqIEFsbG93IFVzZXIgVG8gRGVsZXRlIFRhZ3MgKi9cclxuICBjYW5EZWxldGVUYWdzOiBib29sZWFuID0gdHJ1ZTtcclxuICAvKiogQWxsb3cgVXNlciBUbyBBZGQgVGFncyAqL1xyXG4gIGNhbkFkZFRhZ3M6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKiBTZXQgTWF4IE51bWJlciBPZiBUYWdzIFRoYXQgVXNlciBDYW4gQmUgU2VsZWN0ICAqL1xyXG4gIG1heE51bWJlclRhZ3M6IG51bWJlciA9IDMwO1xyXG4gIC8qKiBTZXQgTWluIExlbmd0aCBPZiBDaGFyIFRvIENhbGwgU2VhcmNoIEZ1bmN0aW9uICAgKi9cclxuICBtaW5TZWFyY2hMZW5ndGg6IG51bWJlciA9IDE7XHJcbiAgLyoqQWxsb3cgIFNjcm9sbGUgT3B0aW9uIEluIERyb3Bkb3duICAqL1xyXG4gIHNjcm9sbGFibGVPcHRpb25zOiBib29sZWFuID0gdHJ1ZTtcclxuICAvKiogU2V0IE1heCBOdW1iZXIgT2YgVGFncyBUaGF0IHdpbGwgQmUgQXBwZWFyIE9OIERyb3Bkb3duICAqL1xyXG4gIG1heFNlYXJjaFJlc3VsdHNDb3VudDogbnVtYmVyID0gMTA7XHJcbiAgLyoqVmFsdWUgTmFtZSBPZiBUYWcgT3B0aW9uIEluIERyb3Bkb3duICovXHJcbiAgZGF0YXNvdXJjZUl0ZW1WYWx1ZTogc3RyaW5nID0gXCJpZFwiO1xyXG4gIC8qKlRleHQgIE9mIFRhZyBUaGF0IFdpbGwgU2hvdyBJbiBEcm9wZG93biAqL1xyXG4gIGRhdGFzb3VyY2VJdGVtVGV4dDogc3RyaW5nID0gXCJuYW1lXCI7XHJcbiAgLyoqVGV4dCBTaG93ICB3aGVuIG5vbmUgb2YgdGhlIGdpdmVuIG9wdGlvbnMgbWF0Y2ggdGhlIGVudGVyZWQgdGV4dCAqL1xyXG4gIG5vUmVzdWx0VGV4dDogc3RyaW5nO1xyXG4gIC8qKlNldCBRdWVyeSBQYXJhbSBOYW1lIEJ5IERlZmF1bHQgSXQncyAncXVlcnknKi9cclxuICBxdWVyeVBhcmFtTmFtZTogc3RyaW5nID0gXCJxdWVyeVwiO1xyXG4gIC8qKlNldCBRdWVyeSBQYXJhbSBOYW1lIEJ5IERlZmF1bHQgSXQncyAncXVlcnknKi9cclxuICBzZWxlY3RlZEl0ZW1zUGFyYW1OYW1lOiBzdHJpbmcgPSBcIlNlbGVjdGVkSXRlbXNcIjtcclxuICAvKipTZXQgRmlsdGVyIFBhcmFtIE5hbWUgQnkgRGVmYXVsdCBJdCdzICdxdWVyeScqL1xyXG4gIGZpbHRlclBhcmFtTmFtZTogc3RyaW5nID0gXCJcIjtcclxuICBkZWZhdWx0SW1nVXJsOiBzdHJpbmcgPSBcIlwiO1xyXG4gIC8qKiBhbGxvdyBhZGQgIHZhbHVlIG9mICBUYWdJbnB1dCBkb3NuJ3QgZXhpc3QgaW4gbGlzdCovXHJcbiAgYWxsb3dOZXdTZWxlY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuICB2YWxpZGF0aW9uVG9rZW46IHN0cmluZyA9IG51bGw7XHJcbiAgLyoqU2V0IEV4dHJhIEZpbHRlcnMqL1xyXG4gIGV4dHJhRmlsdGVyczogc3RyaW5nIHwgRnVuY3Rpb247XHJcblxyXG4gIHRhZ0lucHV0TW9kZTogVGFnSW5wdXRWaWV3ID0gVGFnSW5wdXRWaWV3LldpdGhvdXRJbWFnZTtcclxuXHJcbiAgc2hvd0Rlc2NyaXB0aW9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgZ2V0IGRpc3BsYXlWYWx1ZSgpOiBhbnkge1xyXG4gICAgbGV0IHJlc3VsdCA9IFwiXCI7XHJcbiAgICBpZiAodGhpcy52YWx1ZSAmJiBBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSB7XHJcbiAgICAgIGNvbnN0IGRpc3BsYXlWYWx1ZXMgPSB0aGlzLnZhbHVlIGFzIGFueVtdO1xyXG4gICAgICBkaXNwbGF5VmFsdWVzLmZvckVhY2goKHRhZywgaW5kZXgpID0+IHtcclxuICAgICAgICBpZiAodGFnICYmIHRhZy5uYW1lKSB7XHJcbiAgICAgICAgICByZXN1bHQgKz0gdGFnLm5hbWU7XHJcbiAgICAgICAgICBpZiAoaW5kZXggPCBkaXNwbGF5VmFsdWVzLmxlbmd0aCAtIDEpIHtcclxuICAgICAgICAgICAgcmVzdWx0ICs9ICcsJztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFnc0lucHV0T3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9TaGFyZWQvTW9kZWxzL1RhZ3NJbnB1dE9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdyRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsa0JBQWtCO0lBQXhEOztRQWlCRSx3RUFBd0U7UUFDeEUsbUJBQWMsR0FBbUIsY0FBYyxDQUFDLE9BQU8sQ0FBQztRQUd4RCw4Q0FBOEM7UUFDOUMsMEJBQXFCLEdBQVksS0FBSyxDQUFDO1FBQ3ZDLGdDQUFnQztRQUNoQyxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUM5Qiw2QkFBNkI7UUFDN0IsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixzREFBc0Q7UUFDdEQsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFDM0IsdURBQXVEO1FBQ3ZELG9CQUFlLEdBQVcsQ0FBQyxDQUFDO1FBQzVCLHdDQUF3QztRQUN4QyxzQkFBaUIsR0FBWSxJQUFJLENBQUM7UUFDbEMsOERBQThEO1FBQzlELDBCQUFxQixHQUFXLEVBQUUsQ0FBQztRQUNuQywwQ0FBMEM7UUFDMUMsd0JBQW1CLEdBQVcsSUFBSSxDQUFDO1FBQ25DLDZDQUE2QztRQUM3Qyx1QkFBa0IsR0FBVyxNQUFNLENBQUM7UUFHcEMsaURBQWlEO1FBQ2pELG1CQUFjLEdBQVcsT0FBTyxDQUFDO1FBQ2pDLGlEQUFpRDtRQUNqRCwyQkFBc0IsR0FBVyxlQUFlLENBQUM7UUFDakQsa0RBQWtEO1FBQ2xELG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBQzdCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLHdEQUF3RDtRQUN4RCxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbkMsb0JBQWUsR0FBVyxJQUFJLENBQUM7UUFJL0IsaUJBQVksR0FBaUIsWUFBWSxDQUFDLFlBQVksQ0FBQztRQUV2RCxvQkFBZSxHQUFZLElBQUksQ0FBQztJQWtCbEMsQ0FBQztJQWhCQyxJQUFJLFlBQVk7UUFDZCxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFjLENBQUM7WUFDMUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDbkMsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksRUFBRTtvQkFDbkIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUM7b0JBQ25CLElBQUksS0FBSyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dCQUNwQyxNQUFNLElBQUksSUFBSSxDQUFDO3FCQUNoQjtpQkFDRjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250cm9sTGF5b3V0IH0gZnJvbSAnLi4vRW51bXMvQ29udHJvbExheW91dCc7XHJcbmltcG9ydCB7IEN1c3RvbVZhbGlkYXRpb24gfSBmcm9tICcuL0N1c3RvbVZhbGlkYXRpb24nO1xyXG5pbXBvcnQgeyBGb3JjZURpcmVjdGlvbiB9IGZyb20gJy4uL0VudW1zL0ZvcmNlRGlyZWN0aW9uJztcclxuaW1wb3J0IHsgQXR0cmlidXRlIH0gZnJvbSAnLi9BdHRyaWJ1dGUnO1xyXG5pbXBvcnQgeyBDb250cm9sT3B0aW9uc0Jhc2UgfSBmcm9tICcuL0NvbnRyb2xPcHRpb25zQmFzZSc7XHJcbmltcG9ydCB7IFRhZ0lucHV0VmlldyB9IGZyb20gJy4uL0VudW1zL1RhZ0lucHV0Vmlldyc7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFRhZ3NJbnB1dE9wdGlvbnMgZXh0ZW5kcyBDb250cm9sT3B0aW9uc0Jhc2Uge1xyXG4gIC8qKlRvIHNldCAgdmFsdWUgIHRvIENvbnRyb2wgKi9cclxuICB2YWx1ZTogYW55O1xyXG4gIC8vKiogU2V0IHRoZSBNYXhMZW5ndGggb2YgY2hhcmFjdGVycyBJbiBBdXRvQ29tcGxldGUgKi9cclxuICBtYXhMZW5ndGg/OiBudW1iZXI7XHJcbiAgLyoqU2V0IHRoZSBNaW5MZW5ndGggb2YgY2hhcmFjdGVycyBJbiBBdXRvQ29tcGxldGUgICovXHJcbiAgbWluTGVuZ3RoPzogbnVtYmVyO1xyXG4gIC8vKiogU2V0IHRoZSBNYXhXb3JkQ291bnQgb2YgY2hhcmFjdGVycyBJbiBBdXRvQ29tcGxldGUgKi9cclxuICBtYXhXb3JkQ291bnQ6IG51bWJlcjtcclxuICAvKipQcmV2ZW50IEF1dG9Db21wbGV0ZSBvZiB0YWdzaW5wdXQqL1xyXG4gIGF1dG9Db21wbGV0ZTogYm9vbGVhbjtcclxuICAvKiogIHRleHQgaW5wdXQgb24gY2hhbmdlICAqL1xyXG4gIHRyaW1UZXh0T25DaGFuZ2U6IGJvb2xlYW47XHJcbiAgLyoqIGFkZCBidXR0b24gdG8gZm9yIGNvcGluZyB0byBjbGlwYm9hcmQgKi9cclxuICBlbmFibGVDb3B5VG9DbGlwYm9hcmQ6IGJvb2xlYW47XHJcbiAgLyoqUHJldmVudCAgRGVmdWxhdCBQYXNzd29yZCBWYWxpZGF0aW9uIHRvIHNldCBDdXN0b20gVmFsaWRhdGlvbiAqL1xyXG4gIHJlbW92ZURlZnVsYXRQYXNzd29yZFZhbGlkYXRpb246IGJvb2xlYW47XHJcbiAgLyoqIHRvIHNldCBEaXJlY3Rpb24gb2YgdGFnc2lucHV0ICBpZiB0YWdzaW5wdXQgaXMgQXJhYmljIG9yIEVuZ2xpc2ggICovXHJcbiAgZm9yY2VEaXJlY3Rpb246IEZvcmNlRGlyZWN0aW9uID0gRm9yY2VEaXJlY3Rpb24uRW5nbGlzaDtcclxuICAvKip0aGUgdXJsIG9mIGEgcmVtb3RlIHNlcnZlciB0aGF0IHN1cHBvcnRzIGpzb25wIGNhbGxzICovXHJcbiAgYWN0aW9uVVJMOiBzdHJpbmc7XHJcbiAgLyoqUmVtb3ZlIExhc3QgV2hlbiBVc2VyIENsaWNrIE9uIEJhY2tzcGFjZSAqL1xyXG4gIHJlbW92ZUxhc3RPbkJhY2tzcGFjZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKiBBbGxvdyBVc2VyIFRvIERlbGV0ZSBUYWdzICovXHJcbiAgY2FuRGVsZXRlVGFnczogYm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqIEFsbG93IFVzZXIgVG8gQWRkIFRhZ3MgKi9cclxuICBjYW5BZGRUYWdzOiBib29sZWFuID0gdHJ1ZTtcclxuICAvKiogU2V0IE1heCBOdW1iZXIgT2YgVGFncyBUaGF0IFVzZXIgQ2FuIEJlIFNlbGVjdCAgKi9cclxuICBtYXhOdW1iZXJUYWdzOiBudW1iZXIgPSAzMDtcclxuICAvKiogU2V0IE1pbiBMZW5ndGggT2YgQ2hhciBUbyBDYWxsIFNlYXJjaCBGdW5jdGlvbiAgICovXHJcbiAgbWluU2VhcmNoTGVuZ3RoOiBudW1iZXIgPSAxO1xyXG4gIC8qKkFsbG93ICBTY3JvbGxlIE9wdGlvbiBJbiBEcm9wZG93biAgKi9cclxuICBzY3JvbGxhYmxlT3B0aW9uczogYm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqIFNldCBNYXggTnVtYmVyIE9mIFRhZ3MgVGhhdCB3aWxsIEJlIEFwcGVhciBPTiBEcm9wZG93biAgKi9cclxuICBtYXhTZWFyY2hSZXN1bHRzQ291bnQ6IG51bWJlciA9IDEwO1xyXG4gIC8qKlZhbHVlIE5hbWUgT2YgVGFnIE9wdGlvbiBJbiBEcm9wZG93biAqL1xyXG4gIGRhdGFzb3VyY2VJdGVtVmFsdWU6IHN0cmluZyA9IFwiaWRcIjtcclxuICAvKipUZXh0ICBPZiBUYWcgVGhhdCBXaWxsIFNob3cgSW4gRHJvcGRvd24gKi9cclxuICBkYXRhc291cmNlSXRlbVRleHQ6IHN0cmluZyA9IFwibmFtZVwiO1xyXG4gIC8qKlRleHQgU2hvdyAgd2hlbiBub25lIG9mIHRoZSBnaXZlbiBvcHRpb25zIG1hdGNoIHRoZSBlbnRlcmVkIHRleHQgKi9cclxuICBub1Jlc3VsdFRleHQ6IHN0cmluZztcclxuICAvKipTZXQgUXVlcnkgUGFyYW0gTmFtZSBCeSBEZWZhdWx0IEl0J3MgJ3F1ZXJ5JyovXHJcbiAgcXVlcnlQYXJhbU5hbWU6IHN0cmluZyA9IFwicXVlcnlcIjtcclxuICAvKipTZXQgUXVlcnkgUGFyYW0gTmFtZSBCeSBEZWZhdWx0IEl0J3MgJ3F1ZXJ5JyovXHJcbiAgc2VsZWN0ZWRJdGVtc1BhcmFtTmFtZTogc3RyaW5nID0gXCJTZWxlY3RlZEl0ZW1zXCI7XHJcbiAgLyoqU2V0IEZpbHRlciBQYXJhbSBOYW1lIEJ5IERlZmF1bHQgSXQncyAncXVlcnknKi9cclxuICBmaWx0ZXJQYXJhbU5hbWU6IHN0cmluZyA9IFwiXCI7XHJcbiAgZGVmYXVsdEltZ1VybDogc3RyaW5nID0gXCJcIjtcclxuICAvKiogYWxsb3cgYWRkICB2YWx1ZSBvZiAgVGFnSW5wdXQgZG9zbid0IGV4aXN0IGluIGxpc3QqL1xyXG4gIGFsbG93TmV3U2VsZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgdmFsaWRhdGlvblRva2VuOiBzdHJpbmcgPSBudWxsO1xyXG4gIC8qKlNldCBFeHRyYSBGaWx0ZXJzKi9cclxuICBleHRyYUZpbHRlcnM6IHN0cmluZyB8IEZ1bmN0aW9uO1xyXG5cclxuICB0YWdJbnB1dE1vZGU6IFRhZ0lucHV0VmlldyA9IFRhZ0lucHV0Vmlldy5XaXRob3V0SW1hZ2U7XHJcblxyXG4gIHNob3dEZXNjcmlwdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGdldCBkaXNwbGF5VmFsdWUoKTogYW55IHtcclxuICAgIGxldCByZXN1bHQgPSBcIlwiO1xyXG4gICAgaWYgKHRoaXMudmFsdWUgJiYgQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xyXG4gICAgICBjb25zdCBkaXNwbGF5VmFsdWVzID0gdGhpcy52YWx1ZSBhcyBhbnlbXTtcclxuICAgICAgZGlzcGxheVZhbHVlcy5mb3JFYWNoKCh0YWcsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgaWYgKHRhZyAmJiB0YWcubmFtZSkge1xyXG4gICAgICAgICAgcmVzdWx0ICs9IHRhZy5uYW1lO1xyXG4gICAgICAgICAgaWYgKGluZGV4IDwgZGlzcGxheVZhbHVlcy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdCArPSAnLCAnO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -137,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
137
137
  type: ViewChild,
138
138
  args: ['confirmationModal', { static: false }]
139
139
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlybWF0aW9uTW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1jb250cm9scy9zcmMvbGliL2NvbnRyb2xzL0NvbmZpcm1hdGlvbk1vZGFsL0NvbmZpcm1hdGlvbk1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9jb250cm9scy9Db25maXJtYXRpb25Nb2RhbC9Db25maXJtYXRpb25Nb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFdkUsT0FBTyxJQUF3QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7OztBQU1qRixNQUFNLE9BQU8sMEJBQTBCO0lBV3JDLFlBQW1CLGNBQThCLEVBQVUsWUFBc0IsRUFBVSxNQUFjO1FBQXRGLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVR6RyxnQkFBVyxHQUEwQixxQkFBcUIsQ0FBQyxNQUFNLENBQUM7UUFDbEUsaUJBQVksR0FBMEIscUJBQXFCLENBQUMsT0FBTyxDQUFDO1FBQ3BFLGlCQUFZLEdBQTBCLHFCQUFxQixDQUFDLE9BQU8sQ0FBQztJQU95QyxDQUFDO0lBRTlHLFFBQVE7SUFDUixDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLFNBQVM7UUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ25DLCtCQUErQjtRQUMvQixJQUFJLENBQUMsYUFB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QyxPQUFPLEVBQUUsQ0FBQztZQUN2RixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QjtnQkFDeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDOytHQWpJVSwwQkFBMEI7bUdBQTFCLDBCQUEwQixzTkNmdkMsRUFBQTs7NEZEZWEsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUVFLHdCQUF3QjsrSEFHekIsT0FBTztzQkFBZixLQUFLO2dCQUk2QyxpQkFBaUI7c0JBQW5FLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUGFnaW5nQWN0aW9uTW9kZSB9IGZyb20gJy4uLy4uL1NoYXJlZC9FbnVtcy9QYWdpbmdBY3Rpb25Nb2RlJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uTW9kYWxPcHRpb25zIH0gZnJvbSAnLi4vLi4vU2hhcmVkL01vZGVscy9Db25maXJtYXRpb25Nb2RhbE9wdGlvbnMnO1xyXG5pbXBvcnQgU3dhbCwgeyBTd2VldEFsZXJ0SWNvbiB9IGZyb20gJ3N3ZWV0YWxlcnQyL2Rpc3Qvc3dlZXRhbGVydDIuanMnO1xyXG5pbXBvcnQgeyBTdHlsZUNvbmZpcm1hdGlvbk1vZGUgfSBmcm9tICcuLi8uLi9TaGFyZWQvRW51bXMvU3R5bGVDb25maXJtYXRpb25Nb2RlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnQ29uZmlybWF0aW9uTW9kYWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHNlbGVjdG9yOiAnQkJTRi1Db25maXJtYXRpb25Nb2RhbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgb3B0aW9uczogQ29uZmlybWF0aW9uTW9kYWxPcHRpb25zO1xyXG4gIHN0eWxlRGFuZ2VyOiBTdHlsZUNvbmZpcm1hdGlvbk1vZGUgPSBTdHlsZUNvbmZpcm1hdGlvbk1vZGUuRGFuZ2VyO1xyXG4gIHN0eWxlV2FybmluZzogU3R5bGVDb25maXJtYXRpb25Nb2RlID0gU3R5bGVDb25maXJtYXRpb25Nb2RlLldhcm5pbmc7XHJcbiAgc3R5bGVTdWNjZXNzOiBTdHlsZUNvbmZpcm1hdGlvbk1vZGUgPSBTdHlsZUNvbmZpcm1hdGlvbk1vZGUuU3VjY2VzcztcclxuICBAVmlld0NoaWxkKCdjb25maXJtYXRpb25Nb2RhbCcsIHsgc3RhdGljOiBmYWxzZSB9KSBjb25maXJtYXRpb25Nb2RhbDogRWxlbWVudFJlZjtcclxuICBpY29uOiBTd2VldEFsZXJ0SWNvbjtcclxuICBidG5Db2xvcjogYW55O1xyXG4gIGljb25IdG1sOiBzdHJpbmc7XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlTZXJ2aWNlLCBwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIC8vTWV0aG9kIHVzZWQgdG8gc2hvdyBjb25maXJtYXRpb24gbW9kYWxcclxuICBzaG93TW9kYWwoKSB7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0YXJ0QmxvY2tVSSgpO1xyXG4gICAgLy9jaGVjayBmb3Igb3B0aW9ucyB0ZXh0IHZhbHVlc1xyXG4gICAgdGhpcy5zZXRUZXh0VmFsdWVzKCk7XHJcblxyXG4gICAgLy8jcmVnaW9uIHN3ZWV0YWxlcnQgc3R5bGVzXHJcbiAgICBzd2l0Y2ggKHRoaXMub3B0aW9ucy5zdHlsZUNvbmZpcm1hdGlvbk1vZGUpIHtcclxuICAgICAgY2FzZSB0aGlzLnN0eWxlU3VjY2Vzczoge1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdzdWNjZXNzJztcclxuICAgICAgICB0aGlzLmJ0bkNvbG9yID0gJyM1MGNkODknO1xyXG4gICAgICAgIHRoaXMuaWNvbkh0bWwgPSAnPGkgY2xhc3M9XCJmYSBmYS1jaGVja1wiPjwvaT4nO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIGNhc2UgdGhpcy5zdHlsZVdhcm5pbmc6IHtcclxuICAgICAgICB0aGlzLmljb24gPSAnd2FybmluZyc7XHJcbiAgICAgICAgdGhpcy5idG5Db2xvciA9ICcjZmZjNzAwJztcclxuICAgICAgICB0aGlzLmljb25IdG1sID0gJzxpIGNsYXNzPVwiZmEgZmEtd2FybmluZ1wiPjwvaT4nO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgfVxyXG4gICAgICBjYXNlIHRoaXMuc3R5bGVEYW5nZXI6IHtcclxuICAgICAgICB0aGlzLmljb24gPSAnZXJyb3InO1xyXG4gICAgICAgIHRoaXMuYnRuQ29sb3IgPSAnI2YxNDE2Yyc7XHJcbiAgICAgICAgdGhpcy5pY29uSHRtbCA9ICc8aSBjbGFzcz1cImZhIGZhLWNsb3NlXCI+PC9pPic7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICBTd2FsLmZpcmUoe1xyXG4gICAgICB0aXRsZTogdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKHRoaXMub3B0aW9ucy5jb25maXJtYXRpb25IZWFkZXIpLFxyXG4gICAgICB0ZXh0OiB0aGlzLm9wdGlvbnMuY29uZmlybWF0aW9uQm9keSxcclxuICAgICAgaWNvbjogdGhpcy5pY29uLFxyXG4gICAgICBpY29uQ29sb3I6IHRoaXMuYnRuQ29sb3IsXHJcbiAgICAgIGNvbmZpcm1CdXR0b25Db2xvcjogdGhpcy5idG5Db2xvcixcclxuICAgICAgY2FuY2VsQnV0dG9uQ29sb3I6ICcjZjVmOGZhJyxcclxuICAgICAgY2FuY2VsQnV0dG9uVGV4dDogdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQ2FuY2VsTGFiZWxcIiksXHJcbiAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiB0aGlzLm9wdGlvbnMuc3VibWl0QnV0dG9uVGV4dCxcclxuICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdGhpcy5vcHRpb25zLnNob3dDYW5jZWxCdXR0b24sXHJcbiAgICAgIHNob3dDbG9zZUJ1dHRvbjogdGhpcy5vcHRpb25zLnNob3dDbG9zZUJ1dHRvbixcclxuICAgICAgYWxsb3dPdXRzaWRlQ2xpY2s6IGZhbHNlXHJcbiAgICB9KS50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdC5pc0NvbmZpcm1lZCkge1xyXG4gICAgICAgIHRoaXMuc3VibWl0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gIH1cclxuICBwcml2YXRlIHNldFRleHRWYWx1ZXMoKSB7XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5jb25maXJtYXRpb25IZWFkZXIpXHJcbiAgICAgIHRoaXMub3B0aW9ucy5jb25maXJtYXRpb25IZWFkZXIgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJEZWxldGVDb25maXJtYXRpb25cIik7XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5jb25maXJtYXRpb25Cb2R5KVxyXG4gICAgICB0aGlzLm9wdGlvbnMuY29uZmlybWF0aW9uQm9keSA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkRlbGV0ZV9RdWVzdGlvblwiKTtcclxuICAgIGlmICghdGhpcy5vcHRpb25zLnN1Ym1pdEJ1dHRvblRleHQpXHJcbiAgICAgIHRoaXMub3B0aW9ucy5zdWJtaXRCdXR0b25UZXh0ID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRGVsZXRlXCIpO1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuc3VjY2Vzc05vdGlmaWNhdGlvbk1lc3NhZ2UpXHJcbiAgICAgIHRoaXMub3B0aW9ucy5zdWNjZXNzTm90aWZpY2F0aW9uTWVzc2FnZSA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkRlbGV0ZWRTdWNjZXNzZnVsbHlcIik7XHJcbiAgfVxyXG4gIC8vTW9kYWwgY29uZmlybWF0aW9uIHN1Ym1pdCBmdW5jdGlvblxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIGxldCBzdWJtaXRNb2RlbCA9IHRoaXMub3B0aW9ucy5zZXJ2aWNlU3VibWl0TW9kZWw7XHJcblxyXG4gICAgbGV0IHN1Ym1pdHRlZFNlcnZpY2UgPSB0aGlzLm9wdGlvbnMuc2VydmljZVN1Ym1pdEZ1bmN0aW9uLmFwcGx5KG51bGwsIHN1Ym1pdE1vZGVsKSBhcyBPYnNlcnZhYmxlPGFueT47XHJcbiAgICBzdWJtaXR0ZWRTZXJ2aWNlLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy5kaXNhYmxlTW9kYWxEaXNtaXNzKVxyXG4gICAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UuZGlzbWlzc0FsbCgpO1xyXG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zLmRpc2FibGVTdWNjZXNzTm90aWZpY2F0aW9uKSB7XHJcbiAgICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy5zdWNjZXNzTm90aWZpY2F0aW9uTWVzc2FnZSlcclxuICAgICAgICAgICAgdGhpcy5vcHRpb25zLnN1Y2Nlc3NOb3RpZmljYXRpb25NZXNzYWdlID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRGVsZXRlZFN1Y2Nlc3NmdWxseVwiKTtcclxuICAgICAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uubm90aWZ5U3VjY2Vzc01lc3NhZ2UodGhpcy5vcHRpb25zLnN1Y2Nlc3NOb3RpZmljYXRpb25NZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5vblN1Y2Nlc3NIYW5kbGVyKVxyXG4gICAgICAgICAgdGhpcy5vcHRpb25zLm9uU3VjY2Vzc0hhbmRsZXIocmVzdWx0KTtcclxuICAgICAgICBpZiAodGhpcy5vcHRpb25zLnBhZ2luZ1JlZmVyZW5jZSkge1xyXG4gICAgICAgICAgbGV0IHBhZ2luZyA9IHRoaXMub3B0aW9ucy5wYWdpbmdSZWZlcmVuY2U7XHJcbiAgICAgICAgICB0aGlzLm9wdGlvbnMucGFnaW5nQWN0aW9uTW9kZSA9PSBQYWdpbmdBY3Rpb25Nb2RlLlJlaW5pdGlhbGl6ZSA/IHBhZ2luZy5yZWluaXRpYWxpemVQYWdpbmcoKSA6IHBhZ2luZy51cGRhdGVQYWdpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5vbkVycm9ySGFuZGxlcilcclxuICAgICAgICAgIHRoaXMub3B0aW9ucy5vbkVycm9ySGFuZGxlcihlcnJvcik7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSB7XHJcbiAgICBsZXQgZXJyb3JNZXNzYWdlID0gJyc7XHJcbiAgICBpZiAoZXJyLmVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCkge1xyXG4gICAgICBlcnJvck1lc3NhZ2UgPSBgQW4gZXJyb3Igb2NjdXJyZWQ6ICR7ZXJyLmVycm9yLm1lc3NhZ2V9YDtcclxuICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZGlzYWJsZUVycm9yTm90aWZpY2F0aW9uKVxyXG4gICAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uubm90aWZ5RXJyb3JNZXNzYWdlKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChlcnIuc3RhdHVzID09IDQwMSkge1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvQWRtaW4vYWNjb3VudC9sb2dpblwiXSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChlcnIuc3RhdHVzID09IDUxMCkge1xyXG4gICAgICBlcnJvck1lc3NhZ2UgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldEN1cnJlbnRMYW5ndWFnZSgpID09IFwiZW5cIiA/IFwiQ2FuIG5vdCBkZWxldGUgdGhpcyBpdGVtIGFzIGl0IGlzIHJlbGF0ZWQgdG8gb3RoZXJzXCIgOiBcItmE2Kcg2YrZhdmD2YYg2K3YsNmBINmH2LDYpyDYp9mE2LnZhti12LEg2YTYo9mG2Ycg2YXYsdiq2KjYtyDYqNi52YbYp9i12LEg2KPYrtix2YlcIjtcclxuICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZGlzYWJsZUVycm9yTm90aWZpY2F0aW9uKVxyXG4gICAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uubm90aWZ5RXJyb3JNZXNzYWdlKGVycm9yTWVzc2FnZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgZXJyb3JNZXNzYWdlID0gYFNlcnZlciByZXR1cm5lZCBjb2RlOiAke2Vyci5zdGF0dXN9LCBlcnJvciBtZXNzYWdlIGlzOiAke2Vyci5tZXNzYWdlfWA7XHJcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yTWVzc2FnZSk7XHJcbiAgICAgIGlmICghdGhpcy5vcHRpb25zLmRpc2FibGVFcnJvck5vdGlmaWNhdGlvbilcclxuICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLm5vdGlmeUVycm9yTWVzc2FnZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gIH1cclxufVxyXG4iLCIiXX0=
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlybWF0aW9uTW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1jb250cm9scy9zcmMvbGliL2NvbnRyb2xzL0NvbmZpcm1hdGlvbk1vZGFsL0NvbmZpcm1hdGlvbk1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9jb250cm9scy9Db25maXJtYXRpb25Nb2RhbC9Db25maXJtYXRpb25Nb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFdkUsT0FBTyxJQUF3QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7OztBQU1qRixNQUFNLE9BQU8sMEJBQTBCO0lBV3JDLFlBQW1CLGNBQThCLEVBQVUsWUFBc0IsRUFBVSxNQUFjO1FBQXRGLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVR6RyxnQkFBVyxHQUEwQixxQkFBcUIsQ0FBQyxNQUFNLENBQUM7UUFDbEUsaUJBQVksR0FBMEIscUJBQXFCLENBQUMsT0FBTyxDQUFDO1FBQ3BFLGlCQUFZLEdBQTBCLHFCQUFxQixDQUFDLE9BQU8sQ0FBQztJQU95QyxDQUFDO0lBRTlHLFFBQVE7SUFDUixDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLFNBQVM7UUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ25DLCtCQUErQjtRQUMvQixJQUFJLENBQUMsYUFB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QyxPQUFPLEVBQUUsQ0FBQztZQUN2RixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QjtnQkFDeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDOytHQWhJVSwwQkFBMEI7bUdBQTFCLDBCQUEwQixzTkNmdkMsRUFBQTs7NEZEZWEsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUVFLHdCQUF3QjsrSEFHekIsT0FBTztzQkFBZixLQUFLO2dCQUk2QyxpQkFBaUI7c0JBQW5FLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYk1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUGFnaW5nQWN0aW9uTW9kZSB9IGZyb20gJy4uLy4uL1NoYXJlZC9FbnVtcy9QYWdpbmdBY3Rpb25Nb2RlJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uTW9kYWxPcHRpb25zIH0gZnJvbSAnLi4vLi4vU2hhcmVkL01vZGVscy9Db25maXJtYXRpb25Nb2RhbE9wdGlvbnMnO1xyXG5pbXBvcnQgU3dhbCwgeyBTd2VldEFsZXJ0SWNvbiB9IGZyb20gJ3N3ZWV0YWxlcnQyL2Rpc3Qvc3dlZXRhbGVydDIuanMnO1xyXG5pbXBvcnQgeyBTdHlsZUNvbmZpcm1hdGlvbk1vZGUgfSBmcm9tICcuLi8uLi9TaGFyZWQvRW51bXMvU3R5bGVDb25maXJtYXRpb25Nb2RlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnQ29uZmlybWF0aW9uTW9kYWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHNlbGVjdG9yOiAnQkJTRi1Db25maXJtYXRpb25Nb2RhbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgb3B0aW9uczogQ29uZmlybWF0aW9uTW9kYWxPcHRpb25zO1xyXG4gIHN0eWxlRGFuZ2VyOiBTdHlsZUNvbmZpcm1hdGlvbk1vZGUgPSBTdHlsZUNvbmZpcm1hdGlvbk1vZGUuRGFuZ2VyO1xyXG4gIHN0eWxlV2FybmluZzogU3R5bGVDb25maXJtYXRpb25Nb2RlID0gU3R5bGVDb25maXJtYXRpb25Nb2RlLldhcm5pbmc7XHJcbiAgc3R5bGVTdWNjZXNzOiBTdHlsZUNvbmZpcm1hdGlvbk1vZGUgPSBTdHlsZUNvbmZpcm1hdGlvbk1vZGUuU3VjY2VzcztcclxuICBAVmlld0NoaWxkKCdjb25maXJtYXRpb25Nb2RhbCcsIHsgc3RhdGljOiBmYWxzZSB9KSBjb25maXJtYXRpb25Nb2RhbDogRWxlbWVudFJlZjtcclxuICBpY29uOiBTd2VldEFsZXJ0SWNvbjtcclxuICBidG5Db2xvcjogYW55O1xyXG4gIGljb25IdG1sOiBzdHJpbmc7XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlTZXJ2aWNlLCBwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIC8vTWV0aG9kIHVzZWQgdG8gc2hvdyBjb25maXJtYXRpb24gbW9kYWxcclxuICBzaG93TW9kYWwoKSB7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0YXJ0QmxvY2tVSSgpO1xyXG4gICAgLy9jaGVjayBmb3Igb3B0aW9ucyB0ZXh0IHZhbHVlc1xyXG4gICAgdGhpcy5zZXRUZXh0VmFsdWVzKCk7XHJcblxyXG4gICAgLy8jcmVnaW9uIHN3ZWV0YWxlcnQgc3R5bGVzXHJcbiAgICBzd2l0Y2ggKHRoaXMub3B0aW9ucy5zdHlsZUNvbmZpcm1hdGlvbk1vZGUpIHtcclxuICAgICAgY2FzZSB0aGlzLnN0eWxlU3VjY2Vzczoge1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICdzdWNjZXNzJztcclxuICAgICAgICB0aGlzLmJ0bkNvbG9yID0gJyM1MGNkODknO1xyXG4gICAgICAgIHRoaXMuaWNvbkh0bWwgPSAnPGkgY2xhc3M9XCJmYSBmYS1jaGVja1wiPjwvaT4nO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIGNhc2UgdGhpcy5zdHlsZVdhcm5pbmc6IHtcclxuICAgICAgICB0aGlzLmljb24gPSAnd2FybmluZyc7XHJcbiAgICAgICAgdGhpcy5idG5Db2xvciA9ICcjZmZjNzAwJztcclxuICAgICAgICB0aGlzLmljb25IdG1sID0gJzxpIGNsYXNzPVwiZmEgZmEtd2FybmluZ1wiPjwvaT4nO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgfVxyXG4gICAgICBjYXNlIHRoaXMuc3R5bGVEYW5nZXI6IHtcclxuICAgICAgICB0aGlzLmljb24gPSAnZXJyb3InO1xyXG4gICAgICAgIHRoaXMuYnRuQ29sb3IgPSAnI2YxNDE2Yyc7XHJcbiAgICAgICAgdGhpcy5pY29uSHRtbCA9ICc8aSBjbGFzcz1cImZhIGZhLWNsb3NlXCI+PC9pPic7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyNlbmRyZWdpb25cclxuICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgIHRpdGxlOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUodGhpcy5vcHRpb25zLmNvbmZpcm1hdGlvbkhlYWRlciksXHJcbiAgICAgIHRleHQ6IHRoaXMub3B0aW9ucy5jb25maXJtYXRpb25Cb2R5LFxyXG4gICAgICBpY29uOiB0aGlzLmljb24sXHJcbiAgICAgIGljb25Db2xvcjogdGhpcy5idG5Db2xvcixcclxuICAgICAgY29uZmlybUJ1dHRvbkNvbG9yOiB0aGlzLmJ0bkNvbG9yLFxyXG4gICAgICBjYW5jZWxCdXR0b25Db2xvcjogJyNmNWY4ZmEnLFxyXG4gICAgICBjYW5jZWxCdXR0b25UZXh0OiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYW5jZWxMYWJlbFwiKSxcclxuICAgICAgY29uZmlybUJ1dHRvblRleHQ6IHRoaXMub3B0aW9ucy5zdWJtaXRCdXR0b25UZXh0LFxyXG4gICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0aGlzLm9wdGlvbnMuc2hvd0NhbmNlbEJ1dHRvbixcclxuICAgICAgc2hvd0Nsb3NlQnV0dG9uOiB0aGlzLm9wdGlvbnMuc2hvd0Nsb3NlQnV0dG9uLFxyXG4gICAgICBhbGxvd091dHNpZGVDbGljazogZmFsc2VcclxuICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0LmlzQ29uZmlybWVkKSB7XHJcbiAgICAgICAgdGhpcy5zdWJtaXQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgc2V0VGV4dFZhbHVlcygpIHtcclxuICAgIGlmICghdGhpcy5vcHRpb25zLmNvbmZpcm1hdGlvbkhlYWRlcilcclxuICAgICAgdGhpcy5vcHRpb25zLmNvbmZpcm1hdGlvbkhlYWRlciA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkRlbGV0ZUNvbmZpcm1hdGlvblwiKTtcclxuICAgIGlmICghdGhpcy5vcHRpb25zLmNvbmZpcm1hdGlvbkJvZHkpXHJcbiAgICAgIHRoaXMub3B0aW9ucy5jb25maXJtYXRpb25Cb2R5ID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRGVsZXRlX1F1ZXN0aW9uXCIpO1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuc3VibWl0QnV0dG9uVGV4dClcclxuICAgICAgdGhpcy5vcHRpb25zLnN1Ym1pdEJ1dHRvblRleHQgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJEZWxldGVcIik7XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5zdWNjZXNzTm90aWZpY2F0aW9uTWVzc2FnZSlcclxuICAgICAgdGhpcy5vcHRpb25zLnN1Y2Nlc3NOb3RpZmljYXRpb25NZXNzYWdlID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRGVsZXRlZFN1Y2Nlc3NmdWxseVwiKTtcclxuICB9XHJcbiAgLy9Nb2RhbCBjb25maXJtYXRpb24gc3VibWl0IGZ1bmN0aW9uXHJcbiAgc3VibWl0KCkge1xyXG4gICAgbGV0IHN1Ym1pdE1vZGVsID0gdGhpcy5vcHRpb25zLnNlcnZpY2VTdWJtaXRNb2RlbDtcclxuXHJcbiAgICBsZXQgc3VibWl0dGVkU2VydmljZSA9IHRoaXMub3B0aW9ucy5zZXJ2aWNlU3VibWl0RnVuY3Rpb24uYXBwbHkobnVsbCwgc3VibWl0TW9kZWwpIGFzIE9ic2VydmFibGU8YW55PjtcclxuICAgIHN1Ym1pdHRlZFNlcnZpY2Uuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zLmRpc2FibGVNb2RhbERpc21pc3MpXHJcbiAgICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5kaXNtaXNzQWxsKCk7XHJcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZGlzYWJsZVN1Y2Nlc3NOb3RpZmljYXRpb24pIHtcclxuICAgICAgICAgIGlmICghdGhpcy5vcHRpb25zLnN1Y2Nlc3NOb3RpZmljYXRpb25NZXNzYWdlKVxyXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMuc3VjY2Vzc05vdGlmaWNhdGlvbk1lc3NhZ2UgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJEZWxldGVkU3VjY2Vzc2Z1bGx5XCIpO1xyXG4gICAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5ub3RpZnlTdWNjZXNzTWVzc2FnZSh0aGlzLm9wdGlvbnMuc3VjY2Vzc05vdGlmaWNhdGlvbk1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5vcHRpb25zLm9uU3VjY2Vzc0hhbmRsZXIpXHJcbiAgICAgICAgICB0aGlzLm9wdGlvbnMub25TdWNjZXNzSGFuZGxlcihyZXN1bHQpO1xyXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMucGFnaW5nUmVmZXJlbmNlKSB7XHJcbiAgICAgICAgICBsZXQgcGFnaW5nID0gdGhpcy5vcHRpb25zLnBhZ2luZ1JlZmVyZW5jZTtcclxuICAgICAgICAgIHRoaXMub3B0aW9ucy5wYWdpbmdBY3Rpb25Nb2RlID09IFBhZ2luZ0FjdGlvbk1vZGUuUmVpbml0aWFsaXplID8gcGFnaW5nLnJlaW5pdGlhbGl6ZVBhZ2luZygpIDogcGFnaW5nLnVwZGF0ZVBhZ2luZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5vcHRpb25zLm9uRXJyb3JIYW5kbGVyKVxyXG4gICAgICAgICAgdGhpcy5vcHRpb25zLm9uRXJyb3JIYW5kbGVyKGVycm9yKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycjogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgIGxldCBlcnJvck1lc3NhZ2UgPSAnJztcclxuICAgIGlmIChlcnIuZXJyb3IgaW5zdGFuY2VvZiBFcnJvckV2ZW50KSB7XHJcbiAgICAgIGVycm9yTWVzc2FnZSA9IGBBbiBlcnJvciBvY2N1cnJlZDogJHtlcnIuZXJyb3IubWVzc2FnZX1gO1xyXG4gICAgICBpZiAoIXRoaXMub3B0aW9ucy5kaXNhYmxlRXJyb3JOb3RpZmljYXRpb24pXHJcbiAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5ub3RpZnlFcnJvck1lc3NhZ2UoKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGVyci5zdGF0dXMgPT0gNDAxKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9BZG1pbi9hY2NvdW50L2xvZ2luXCJdKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGVyci5zdGF0dXMgPT0gNTEwKSB7XHJcbiAgICAgIGVycm9yTWVzc2FnZSA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0Q3VycmVudExhbmd1YWdlKCkgPT0gXCJlblwiID8gXCJDYW4gbm90IGRlbGV0ZSB0aGlzIGl0ZW0gYXMgaXQgaXMgcmVsYXRlZCB0byBvdGhlcnNcIiA6IFwi2YTYpyDZitmF2YPZhiDYrdiw2YEg2YfYsNinINin2YTYudmG2LXYsSDZhNij2YbZhyDZhdix2KrYqNi3INio2LnZhtin2LXYsSDYo9iu2LHZiVwiO1xyXG4gICAgICBpZiAoIXRoaXMub3B0aW9ucy5kaXNhYmxlRXJyb3JOb3RpZmljYXRpb24pXHJcbiAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5ub3RpZnlFcnJvck1lc3NhZ2UoZXJyb3JNZXNzYWdlKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBlcnJvck1lc3NhZ2UgPSBgU2VydmVyIHJldHVybmVkIGNvZGU6ICR7ZXJyLnN0YXR1c30sIGVycm9yIG1lc3NhZ2UgaXM6ICR7ZXJyLm1lc3NhZ2V9YDtcclxuICAgICAgY29uc29sZS5sb2coZXJyb3JNZXNzYWdlKTtcclxuICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZGlzYWJsZUVycm9yTm90aWZpY2F0aW9uKVxyXG4gICAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uubm90aWZ5RXJyb3JNZXNzYWdlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKCk7XHJcbiAgfVxyXG59XHJcbiIsIiJdfQ==
@@ -165,13 +165,18 @@ export class DropdownListComponent {
165
165
  this.controlUtility.patchControlValue(originalValue, this.options.patchFunction, this.options.patchPath);
166
166
  }
167
167
  this.onChange.emit(originalValue);
168
- //console.log(this.dropdownListFormControl.value)
169
168
  }
170
169
  Clear() {
171
- // Clear the selected items
172
- this.selectedItems = [];
173
- this.options.selectedItems = null;
174
- this.dropdownListFormControl.setValue(this.selectedItems);
170
+ if (this.options.singleSelection) {
171
+ this.selectedItems = null;
172
+ this.options.selectedItems = null;
173
+ this.dropdownListFormControl.setValue(null);
174
+ }
175
+ else {
176
+ this.selectedItems = [];
177
+ this.options.selectedItems = [];
178
+ this.dropdownListFormControl.setValue([]);
179
+ }
175
180
  this.onChangeService.ChangeValue(this.options.name);
176
181
  this.onChange.emit();
177
182
  if (this.DropdownTemplateVariable) {
@@ -282,4 +287,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
282
287
  }], onClear: [{
283
288
  type: Output
284
289
  }] } });
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25MaXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9jb250cm9scy9Ecm9wZG93bkxpc3QvRHJvcGRvd25MaXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9jb250cm9scy9Ecm9wZG93bkxpc3QvRHJvcGRvd25MaXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFvRSxNQUFNLGdCQUFnQixDQUFDO0FBTzNILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7OztBQU9uRSxNQUFNLE9BQU8scUJBQXFCO2FBQ3pCLDJCQUFzQixHQUFHLElBQUksQUFBUCxDQUFRO0lBQ3JDLDRDQUE0QztJQUM1QyxZQUNVLGVBQTZDLEVBQzdDLGNBQThCLEVBQ2xCLGdCQUFrQyxFQUMvQyx1QkFBMkMsRUFDM0MsY0FBOEIsRUFDN0Isd0JBQWtELEVBQ2xELGNBQThCO1FBTjlCLG9CQUFlLEdBQWYsZUFBZSxDQUE4QjtRQUM3QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDbEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUMvQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQW9CO1FBQzNDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM3Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVN4QyxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFFdEIsaUJBQVksR0FBVSxF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QUMsYUFBYSxDQUFDO1FBRWpELElBQUksQ0FBQyxhQUFhLElBQUksYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEQsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELDZDQUE2QztRQUM3QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxJQUFJLGFBQWEsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUU7WUFDdEYsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELDZDQUE2QztRQUM3QyxPQUFPLGVBQWUsQ0FBQyxNQUFNLEtBQUssYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUN6RCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzdFLENBQUM7K0dBeFVVLHFCQUFxQjttR0FBckIscUJBQXFCLHNOQ2ZsQyw0eUtBdUZNOzs0RkR4RU8scUJBQXFCO2tCQUxqQyxTQUFTOytCQUVFLG1CQUFtQjs7MEJBUzFCLFFBQVE7MktBUUYsS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBTUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMsIEZvcm1Hcm91cCwgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXBEaXJlY3RpdmUsIENvbnRyb2xDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbnRyb2xVdGlsaXR5IH0gZnJvbSAnLi4vLi4vU2hhcmVkL3NlcnZpY2VzL0NvbnRyb2xVdGlsaXR5JztcclxuaW1wb3J0IHsgRHJvcGRvd25PcHRpb25zIH0gZnJvbSAnLi4vLi4vU2hhcmVkL01vZGVscy9Ecm9wZG93bk9wdGlvbnMnO1xyXG5pbXBvcnQgeyBEcm9wZG93bkxpc3RJdGVtIH0gZnJvbSAnLi4vLi4vU2hhcmVkL01vZGVscy9Ecm9wZG93bkxpc3RJdGVtJztcclxuaW1wb3J0IHsgT25QYWdpbmdGaWx0ZXJzQ2hhbmdlU2VydmljZSB9IGZyb20gJy4uLy4uL1NoYXJlZC9zZXJ2aWNlcy9PblBhZ2luZ0ZpbHRlcnNDaGFuZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWxpZGF0aW9uU2VydmljZSwgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBHbG9iYWxTZXR0aW5ncyB9IGZyb20gJy4uLy4uL1NoYXJlZC9zZXJ2aWNlcy9HbG9iYWxTZXR0aW5ncy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9yY2VEaXJlY3Rpb24gfSBmcm9tICcuLi8uLi9TaGFyZWQvRW51bXMvRm9yY2VEaXJlY3Rpb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBjb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ0JCU0YtRHJvcGRvd25MaXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vRHJvcGRvd25MaXN0LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJvcGRvd25MaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBzdGF0aWMgY29udHJvbENvbnRhaW5lcnN0YXRpYyA9IG51bGw7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgb25DaGFuZ2VTZXJ2aWNlOiBPblBhZ2luZ0ZpbHRlcnNDaGFuZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb250cm9sVXRpbGl0eTogQ29udHJvbFV0aWxpdHksXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsXHJcbiAgICBwdWJsaWMgZHJvcGRvd25MaXN0Q29udHJvbEhvc3Q6IEZvcm1Hcm91cERpcmVjdGl2ZSxcclxuICAgIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbnRyb2xWYWxpZGF0aW9uU2VydmljZTogQ29udHJvbFZhbGlkYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBnbG9iYWxTZXR0aW5nczogR2xvYmFsU2V0dGluZ3NcclxuICApIHtcclxuICAgIERyb3Bkb3duTGlzdENvbXBvbmVudC5jb250cm9sQ29udGFpbmVyc3RhdGljID0gdGhpcy5jb250cm9sQ29udGFpbmVyO1xyXG4gIH1cclxuICBASW5wdXQoKSBncm91cDogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IERyb3Bkb3duT3B0aW9ucztcclxuICBASW5wdXQoKSBEcm9wZG93blRlbXBsYXRlVmFyaWFibGU6IGFueTtcclxuXHJcbiAgZHJvcGRvd25MaXN0Rm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcclxuICBkcm9wZG93blNldHRpbmdzID0ge307XHJcbiAgc2VsZWN0ZWRJdGVtczogRHJvcGRvd25MaXN0SXRlbVtdO1xyXG4gIFNlbGVjdGVkTGlzdDogYW55W10gPSBbXTtcclxuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uQ2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgbWFya0FsbEFzVG91Y2hlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNvbnRyb2xDaGFuZ2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgdmFsaWRhdGlvblJ1bGVzID0gW107XHJcbiAgdmFsaWRhdGlvblJ1bGVzYXN5bmMgPSBbXTtcclxuICB0ZXh0RGlyO1xyXG4gIEZvcmNlRGlyZWN0aW9uID0gRm9yY2VEaXJlY3Rpb247XHJcblxyXG5cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zLmZvcmNlRGlyZWN0aW9uKVxyXG4gICAgICB0aGlzLnRleHREaXIgPSB0aGlzLm9wdGlvbnMuZm9yY2VEaXJlY3Rpb24gPT0gMiA/ICdydGwnIDogJ2x0cic7XHJcbiAgICBlbHNlIHRoaXMudGV4dERpciA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5ndWFnZScpID09ICdhcicgPyAncnRsJyA6ICdsdHInO1xyXG4gICAgdGhpcy5jb250cm9sVmFsaWRhdGlvblNlcnZpY2UuaXNDcmVhdGVkQmVmb3IgPSBmYWxzZTtcclxuICAgIHRoaXMuU2VsZWN0ZWRMaXN0ID0gdGhpcy5vcHRpb25zLnNlbGVjdGVkSXRlbXM7XHJcblxyXG4gICAgLy8gSW5pdGlhbGl6ZSBzZWxlY3RlZEl0ZW1zIGFycmF5IGZvciBwcm9wZXIgYmluZGluZyB3aXRoIG5nLXNlbGVjdFxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zICYmIHRoaXMub3B0aW9ucy5kYXRhU291cmNlKSB7XHJcbiAgICAgIGlmICghdGhpcy5vcHRpb25zLnNpbmdsZVNlbGVjdGlvbikge1xyXG4gICAgICAgIC8vIEZvciBtdWx0aS1zZWxlY3QsIGVuc3VyZSBzZWxlY3RlZEl0ZW1zIGNvbnRhaW5zIHRoZSBmdWxsIG9iamVjdHNcclxuICAgICAgICBjb25zdCBzZWxlY3RlZEtleXMgPSBBcnJheS5pc0FycmF5KHRoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zKVxyXG4gICAgICAgICAgPyB0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtc1xyXG4gICAgICAgICAgOiBbdGhpcy5vcHRpb25zLnNlbGVjdGVkSXRlbXNdO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMub3B0aW9ucy5kYXRhU291cmNlLmZpbHRlcihpdGVtID0+XHJcbiAgICAgICAgICBzZWxlY3RlZEtleXMuaW5jbHVkZXMoaXRlbVt0aGlzLm9wdGlvbnMuaXRlbVRlbXBsZXRrZXldKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZHJvcGRvd25TZXR0aW5ncyA9IHtcclxuICAgICAgc2luZ2xlU2VsZWN0aW9uOiB0aGlzLm9wdGlvbnMuc2luZ2xlU2VsZWN0aW9uLFxyXG4gICAgICB0ZXh0OiAnU2VsZWN0JyxcclxuICAgICAgc2VsZWN0QWxsVGV4dDogJ1NlbGVjdCBBbGwnLFxyXG4gICAgICB1blNlbGVjdEFsbFRleHQ6ICdVblNlbGVjdCBBbGwnLFxyXG4gICAgICBlbmFibGVTZWFyY2hGaWx0ZXI6IHRoaXMub3B0aW9ucy5hbGxvd1NlYXJjaEZpbHRlcixcclxuICAgICAgY2xhc3NlczogdGhpcy5vcHRpb25zLmNsYXNzZXMsXHJcbiAgICAgIGRpc2FibGVkOiB0aGlzLm9wdGlvbnMuaXNEaXNhYmxlZCxcclxuICAgICAgc2hvd0NoZWNrYm94OiB0aGlzLm9wdGlvbnMuc2hvd0NoZWNrYm94LFxyXG4gICAgICBlbmFibGVDaGVja0FsbDogdGhpcy5vcHRpb25zLmVuYWJsZUNoZWNrQWxsLFxyXG4gICAgICBpdGVtc1Nob3dMaW1pdDogdGhpcy5vcHRpb25zLml0ZW1zU2hvd0xpbWl0LFxyXG4gICAgICBhbGxvd1NlYXJjaEZpbHRlcjogdGhpcy5vcHRpb25zLmFsbG93U2VhcmNoRmlsdGVyLFxyXG4gICAgICBzaG93U2VsZWN0ZWRJdGVtc0F0VG9wOiB0cnVlLFxyXG4gICAgICBsaW1pdFNlbGVjdGlvbjogdGhpcy5vcHRpb25zLmxpbWl0U2VsZWN0aW9uLFxyXG4gICAgICBzZWFyY2hQbGFjZWhvbGRlclRleHQ6IHRoaXMub3B0aW9ucy5wbGFjZWhvbGRlcixcclxuICAgICAgbGFiZWxLZXk6ICd2YWx1ZScsXHJcbiAgICAgIHByaW1hcnlLZXk6ICdrZXknXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuZ3JvdXAuYWRkQ29udHJvbCh0aGlzLm9wdGlvbnMubmFtZSwgbmV3IEZvcm1Db250cm9sKCcnKSk7XHJcbiAgICB0aGlzLmRyb3Bkb3duTGlzdEZvcm1Db250cm9sID0gdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLm9wdGlvbnMubmFtZV07IC8vICBuZXcgRm9ybUNvbnRyb2woJycsdmFsaWRhdGlvblJ1bGVzKTtcclxuXHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy52aWV3VHlwZSkgdGhpcy5vcHRpb25zLnZpZXdUeXBlID0gdGhpcy5nbG9iYWxTZXR0aW5ncy52aWV3VHlwZTtcclxuXHJcbiAgICBpZiAodGhpcy5vcHRpb25zLmN1c3RvbVZhbGlkYXRpb24ubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgVmFsaWRhdGlvbnMgPSB0aGlzLm9wdGlvbnMuY3VzdG9tVmFsaWRhdGlvbjtcclxuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IFZhbGlkYXRpb25zLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICAgIGNvbnN0IFZhbGlkYXRpb24gPSBWYWxpZGF0aW9uc1tpbmRleF07XHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uUnVsZXMucHVzaChWYWxpZGF0aW9uLmZ1bmN0aW9uQm9keSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vcHRpb25zLmlzUmVxdWlyZWQpIHtcclxuICAgICAgdGhpcy52YWxpZGF0aW9uUnVsZXMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9wdGlvbnMubGFiZWxLZXkgIT0gbnVsbCAmJiB0aGlzLm9wdGlvbnMubGFiZWxLZXkgIT0gJycpXHJcbiAgICAgIHRoaXMub3B0aW9ucy5sYWJlbFZhbHVlID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKHRoaXMub3B0aW9ucy5sYWJlbEtleSk7XHJcblxyXG4gICAgdGhpcy5kcm9wZG93bkxpc3RGb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKHRoaXMudmFsaWRhdGlvblJ1bGVzKTtcclxuICAgIHRoaXMuZHJvcGRvd25MaXN0Rm9ybUNvbnRyb2wuc2V0QXN5bmNWYWxpZGF0b3JzKHRoaXMudmFsaWRhdGlvblJ1bGVzYXN5bmMpO1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5pc0Rpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0Rm9ybUNvbnRyb2wuZGlzYWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZHJvcGRvd25MaXN0Q29udHJvbEhvc3QubmdTdWJtaXQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICB0aGlzLmdyb3VwLm1hcmtBbGxBc1RvdWNoZWQoKTtcclxuICAgICAgdGhpcy5tYXJrQWxsQXNUb3VjaGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29udHJvbFV0aWxpdHkuc2V0QXR0cmlidXRlRm9yQ29udHJvbCh0aGlzLm9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRFcnJvciA9ICgpID0+IHtcclxuICAgIHRoaXMuY29udHJvbFZhbGlkYXRpb25TZXJ2aWNlLnJlbW92ZUdsb2JhbEVycm9yKCk7XHJcbiAgfTtcclxuXHJcbiAgc2hvd0dsb2JhbEVycm9yKCkge1xyXG4gICAgdGhpcy5jb250cm9sVXRpbGl0eS5zaG93R2xvYmFsRXJyb3IoKTtcclxuICB9XHJcblxyXG4gIGdldEVycm9yVmFsaWRhdGlvbihFcnJvckxpc3QpIHtcclxuICAgIGlmICh0aGlzLm1hcmtBbGxBc1RvdWNoZWQgJiYgdGhpcy5ncm91cC5pbnZhbGlkKSB7XHJcbiAgICAgIHRoaXMuc2hvd0dsb2JhbEVycm9yKCk7XHJcbiAgICAgIHRoaXMubWFya0FsbEFzVG91Y2hlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbFV0aWxpdHkuZ2V0RXJyb3JWYWxpZGF0aW9uTWFzc2FnZShFcnJvckxpc3QsIHRoaXMuZ3JvdXAsIHRoaXMub3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZEl0ZW1WYWx1ZSgpIHtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtcykge1xyXG4gICAgICBpZiAodGhpcy5vcHRpb25zLnNpbmdsZVNlbGVjdGlvbikge1xyXG4gICAgICAgIC8vIEhhbmRsZSBzaW5nbGUgc2VsZWN0aW9uIC0gc2VsZWN0ZWRJdGVtcyBjb3VsZCBiZSBhIHN0cmluZyBvciBhcnJheSB3aXRoIG9uZSBpdGVtXHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gQXJyYXkuaXNBcnJheSh0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtcylcclxuICAgICAgICAgID8gdGhpcy5vcHRpb25zLnNlbGVjdGVkSXRlbXNbMF1cclxuICAgICAgICAgIDogdGhpcy5vcHRpb25zLnNlbGVjdGVkSXRlbXM7XHJcbiAgICAgICAgY29uc3QgZm91bmRJdGVtID0gdGhpcy5vcHRpb25zLmRhdGFTb3VyY2UuZmluZChcclxuICAgICAgICAgIChpdGVtKSA9PiBpdGVtW3RoaXMub3B0aW9ucy5pdGVtVGVtcGxldGtleV0gPT0gc2VsZWN0ZWRJdGVtXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gZm91bmRJdGVtID8gZm91bmRJdGVtW3RoaXMub3B0aW9ucy5pdGVtVGVtcGxldHZhbHVlXSA6ICcnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIEhhbmRsZSBtdWx0aXBsZSBzZWxlY3Rpb24gLSBlbnN1cmUgc2VsZWN0ZWRJdGVtcyBpcyB0cmVhdGVkIGFzIGFycmF5XHJcbiAgICAgICAgY29uc3QgaXRlbXNBcnJheSA9IEFycmF5LmlzQXJyYXkodGhpcy5vcHRpb25zLnNlbGVjdGVkSXRlbXMpXHJcbiAgICAgICAgICA/IHRoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zXHJcbiAgICAgICAgICA6IFt0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtc107XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5kYXRhU291cmNlXHJcbiAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtc0FycmF5LmluY2x1ZGVzKGl0ZW1bdGhpcy5vcHRpb25zLml0ZW1UZW1wbGV0a2V5XSkpXHJcbiAgICAgICAgICAubWFwKChpdGVtKSA9PiBpdGVtW3RoaXMub3B0aW9ucy5pdGVtVGVtcGxldHZhbHVlXSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSByZXR1cm4gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKCdOQScpO1xyXG4gIH1cclxuXHJcbiAgb25JdGVtU2VsZWN0KCkge1xyXG4gICAgdGhpcy5vbkNoYW5nZVNlcnZpY2UuQ2hhbmdlVmFsdWUodGhpcy5vcHRpb25zLm5hbWUpO1xyXG4gICAgbGV0IG9yaWdpbmFsVmFsdWUgPSB0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtcztcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5vcHRpb25zLnBhdGNoRnVuY3Rpb24gJiZcclxuICAgICAgdGhpcy5vcHRpb25zLnBhdGNoUGF0aCAmJlxyXG4gICAgICB0aGlzLmdyb3VwLmdldCh0aGlzLm9wdGlvbnMubmFtZSkudmFsaWRcclxuICAgICkge1xyXG4gICAgICB0aGlzLmNvbnRyb2xVdGlsaXR5LnBhdGNoQ29udHJvbFZhbHVlKFxyXG4gICAgICAgIG9yaWdpbmFsVmFsdWUsXHJcbiAgICAgICAgdGhpcy5vcHRpb25zLnBhdGNoRnVuY3Rpb24sXHJcbiAgICAgICAgdGhpcy5vcHRpb25zLnBhdGNoUGF0aFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KG9yaWdpbmFsVmFsdWUpO1xyXG5cclxuICAgIC8vY29uc29sZS5sb2codGhpcy5kcm9wZG93bkxpc3RGb3JtQ29udHJvbC52YWx1ZSlcclxuICB9XHJcblxyXG4gIENsZWFyKCkge1xyXG4gICAgLy8gQ2xlYXIgdGhlIHNlbGVjdGVkIGl0ZW1zXHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbXTtcclxuICAgIHRoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zID0gbnVsbDtcclxuICAgIHRoaXMuZHJvcGRvd25MaXN0Rm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5zZWxlY3RlZEl0ZW1zKTtcclxuICAgIHRoaXMub25DaGFuZ2VTZXJ2aWNlLkNoYW5nZVZhbHVlKHRoaXMub3B0aW9ucy5uYW1lKTtcclxuICAgIHRoaXMub25DaGFuZ2UuZW1pdCgpO1xyXG4gICAgaWYgKHRoaXMuRHJvcGRvd25UZW1wbGF0ZVZhcmlhYmxlKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuRHJvcGRvd25UZW1wbGF0ZVZhcmlhYmxlLnRvZ2dsZSgpO1xyXG4gICAgICAgIHRoaXMuRHJvcGRvd25UZW1wbGF0ZVZhcmlhYmxlLm9wZW4oKTtcclxuICAgICAgfSwgMCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICAvLyBTZWxlY3QgQWxsIGZ1bmN0aW9uYWxpdHkgZm9yIGhlYWRlciB0ZW1wbGF0ZVxyXG4gIHNlbGVjdEFsbEl0ZW1zKCkge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5zaW5nbGVTZWxlY3Rpb24gfHwgdGhpcy5vcHRpb25zLmlzRGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEdldCBhbGwgc2VsZWN0YWJsZSBpdGVtcyAobm9uLWRpc2FibGVkKVxyXG4gICAgY29uc3Qgc2VsZWN0YWJsZUl0ZW1zID0gdGhpcy5vcHRpb25zLmRhdGFTb3VyY2UuZmlsdGVyKGl0ZW0gPT4gIShpdGVtIGFzIGFueSkuZGlzYWJsZWQpO1xyXG5cclxuICAgIC8vIEFwcGx5IGxpbWl0IHNlbGVjdGlvbiBpZiBzcGVjaWZpZWRcclxuICAgIGNvbnN0IGl0ZW1zVG9TZWxlY3QgPSB0aGlzLm9wdGlvbnMubGltaXRTZWxlY3Rpb25cclxuICAgICAgPyBzZWxlY3RhYmxlSXRlbXMuc2xpY2UoMCwgdGhpcy5vcHRpb25zLmxpbWl0U2VsZWN0aW9uKVxyXG4gICAgICA6IHNlbGVjdGFibGVJdGVtcztcclxuXHJcbiAgICAvLyBVcGRhdGUgc2VsZWN0ZWQgaXRlbXMgd2l0aCB0aGUga2V5c1xyXG4gICAgdGhpcy5vcHRpb25zLnNlbGVjdGVkSXRlbXMgPSBpdGVtc1RvU2VsZWN0Lm1hcChpdGVtID0+IGl0ZW1bdGhpcy5vcHRpb25zLml0ZW1UZW1wbGV0a2V5XSk7XHJcblxyXG4gICAgLy8gVXBkYXRlIGZvcm0gY29udHJvbFxyXG4gICAgdGhpcy5kcm9wZG93bkxpc3RGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtcyk7XHJcblxyXG4gICAgLy8gVHJpZ2dlciBjaGFuZ2UgZXZlbnRzXHJcbiAgICB0aGlzLm9uQ2hhbmdlU2VydmljZS5DaGFuZ2VWYWx1ZSh0aGlzLm9wdGlvbnMubmFtZSk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQodGhpcy5vcHRpb25zLnNlbGVjdGVkSXRlbXMpO1xyXG4gIH1cclxuICBvbkRlc2VsZWN0KGl0ZW1zKSB7XHJcbiAgICAvLyBVcGRhdGUgb3B0aW9ucy5zZWxlY3RlZEl0ZW1zIHRvIGtlZXAgaXQgaW4gc3luY1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPT0gMCkge1xyXG4gICAgICB0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtcyA9IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5tYXAoaXRlbSA9PiBpdGVtW3RoaXMub3B0aW9ucy5pdGVtVGVtcGxldGtleV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZHJvcGRvd25MaXN0Rm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5zZWxlY3RlZEl0ZW1zKTtcclxuXHJcbiAgICAvLyBUcmlnZ2VyIGNoYW5nZSBldmVudHNcclxuICAgIHRoaXMub25DaGFuZ2VTZXJ2aWNlLkNoYW5nZVZhbHVlKHRoaXMub3B0aW9ucy5uYW1lKTtcclxuICAgIHRoaXMub25DaGFuZ2UuZW1pdCh0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtcyk7XHJcblxyXG4gICAgLy8gSGFuZGxlIHZhbGlkYXRpb24gZm9yIHJlcXVpcmVkIGZpZWxkc1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPT0gMCAmJiB0aGlzLm9wdGlvbnMuaXNSZXF1aXJlZCA9PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0Rm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdEZvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gRGVzZWxlY3QgQWxsIGZ1bmN0aW9uYWxpdHkgZm9yIGhlYWRlciB0ZW1wbGF0ZVxyXG4gIGRlc2VsZWN0QWxsSXRlbXMoKSB7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zLnNpbmdsZVNlbGVjdGlvbiB8fCB0aGlzLm9wdGlvbnMuaXNEaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2xlYXIgc2VsZWN0ZWQgaXRlbXNcclxuICAgIHRoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zID0gbnVsbDtcclxuXHJcbiAgICAvLyBVcGRhdGUgZm9ybSBjb250cm9sXHJcbiAgICB0aGlzLmRyb3Bkb3duTGlzdEZvcm1Db250cm9sLnNldFZhbHVlKG51bGwpO1xyXG5cclxuICAgIC8vIFRyaWdnZXIgY2hhbmdlIGV2ZW50c1xyXG4gICAgdGhpcy5vbkNoYW5nZVNlcnZpY2UuQ2hhbmdlVmFsdWUodGhpcy5vcHRpb25zLm5hbWUpO1xyXG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHRoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zKTtcclxuXHJcbiAgICAvLyBIYW5kbGUgdmFsaWRhdGlvbiBmb3IgcmVxdWlyZWQgZmllbGRzXHJcbiAgICBpZiAodGhpcy5vcHRpb25zLmlzUmVxdWlyZWQpIHtcclxuICAgICAgdGhpcy5kcm9wZG93bkxpc3RGb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0Rm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Ecm9wRG93bkNsb3NlKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICAodGhpcy5zZWxlY3RlZEl0ZW1zID09IHVuZGVmaW5lZCB8fCB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID09IDApICYmXHJcbiAgICAgIHRoaXMub3B0aW9ucy5pc1JlcXVpcmVkID09IHRydWVcclxuICAgICkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdEZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgICAgdGhpcy5kcm9wZG93bkxpc3RGb3JtQ29udHJvbC5pbnZhbGlkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9FeHRlcm5hbCBNZXRob2RcclxuICByZW1vdmVSZXF1aXJlZFZhbGlkYXRpb24gPSAoKSA9PiB7XHJcbiAgICB0aGlzLmNvbnRyb2xVdGlsaXR5LnJlbW92ZVJlcXVpcmVkVmFsaWRhdGlvbihcclxuICAgICAgdGhpcy5kcm9wZG93bkxpc3RGb3JtQ29udHJvbCxcclxuICAgICAgdGhpcy52YWxpZGF0aW9uUnVsZXMsXHJcbiAgICAgIHRoaXMub3B0aW9uc1xyXG4gICAgKTtcclxuICB9O1xyXG5cclxuICAvL0V4dGVybmFsIE1ldGhvZFxyXG4gIGFkZFJlcXVpcmVkVmFsaWRhdGlvbiA9ICgpID0+IHtcclxuICAgIHRoaXMuY29udHJvbFV0aWxpdHkuYWRkUmVxdWlyZWRWYWxpZGF0aW9uKFxyXG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdEZvcm1Db250cm9sLFxyXG4gICAgICB0aGlzLnZhbGlkYXRpb25SdWxlcyxcclxuICAgICAgdGhpcy5vcHRpb25zXHJcbiAgICApO1xyXG4gIH07XHJcblxyXG4gIC8vRXh0ZXJuYWwgTWV0aG9kXHJcbiAgcmVtb3ZlQ3VzdG9tVmFsaWRhdGlvbiA9IChjdXN0b21WYWxpZGF0aW9uKSA9PiB7XHJcbiAgICB0aGlzLmNvbnRyb2xVdGlsaXR5LnJlbW92ZUN1c3RvbVZhbGlkYXRpb24oXHJcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0Rm9ybUNvbnRyb2wsXHJcbiAgICAgIHRoaXMudmFsaWRhdGlvblJ1bGVzLFxyXG4gICAgICBjdXN0b21WYWxpZGF0aW9uXHJcbiAgICApO1xyXG4gIH07XHJcbiAgLy9FeHRlcm5hbCBNZXRob2RcclxuICBhZGRDdXN0b21WYWxpZGF0aW9uID0gKGN1c3RvbVZhbGlkYXRpb24pID0+IHtcclxuICAgIHRoaXMuY29udHJvbFV0aWxpdHkuYWRkQ3VzdG9tVmFsaWRhdGlvbihcclxuICAgICAgdGhpcy5kcm9wZG93bkxpc3RGb3JtQ29udHJvbCxcclxuICAgICAgdGhpcy52YWxpZGF0aW9uUnVsZXMsXHJcbiAgICAgIGN1c3RvbVZhbGlkYXRpb25cclxuICAgICk7XHJcbiAgfTtcclxuICAvL0V4dGVybmFsIE1ldGhvZFxyXG4gIGlzVmFsaWQgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmNvbnRyb2xVdGlsaXR5LmlzVmFsaWQodGhpcy5kcm9wZG93bkxpc3RGb3JtQ29udHJvbCk7XHJcbiAgfTtcclxuXHJcbiAgLy9VcGRhdGUgaXRlbXMgKGRhdGEgc291cmNlKSBvZiBkcm9wIGRvd25cclxuICB1cGRhdGVEYXRhU291cmNlID0gKGRhdGFTb3VyY2U6IERyb3Bkb3duTGlzdEl0ZW1bXSkgPT4ge1xyXG4gICAgdGhpcy5vcHRpb25zLmRhdGFTb3VyY2UgPSBkYXRhU291cmNlO1xyXG4gIH07XHJcblxyXG4gIC8vIEhlbHBlciBtZXRob2RzIGZvciBzZWxlY3QgYWxsIGZ1bmN0aW9uYWxpdHlcclxuICBpc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuZGF0YVNvdXJjZSB8fCB0aGlzLm9wdGlvbnMuZGF0YVNvdXJjZS5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHNlbGVjdGFibGVJdGVtcyA9IHRoaXMub3B0aW9ucy5kYXRhU291cmNlLmZpbHRlcihpdGVtID0+ICEoaXRlbSBhcyBhbnkpLmRpc2FibGVkKTtcclxuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSB0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtcztcclxuXHJcbiAgICBpZiAoIXNlbGVjdGVkSXRlbXMgfHwgc2VsZWN0ZWRJdGVtcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENoZWNrIGlmIHdlJ3ZlIHJlYWNoZWQgdGhlIGxpbWl0IHNlbGVjdGlvblxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5saW1pdFNlbGVjdGlvbiAmJiBzZWxlY3RlZEl0ZW1zLmxlbmd0aCA+PSB0aGlzLm9wdGlvbnMubGltaXRTZWxlY3Rpb24pIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgYWxsIHNlbGVjdGFibGUgaXRlbXMgYXJlIHNlbGVjdGVkXHJcbiAgICByZXR1cm4gc2VsZWN0YWJsZUl0ZW1zLmxlbmd0aCA9PT0gc2VsZWN0ZWRJdGVtcy5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBoYXNTZWxlY3RlZEl0ZW1zKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zICYmIHRoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBiYnNmLWNvbnRyb2wgYmJzZi1kcm9wZG93blwiIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIj5cclxuICA8ZGl2IFtuZ0NsYXNzXT1cIihvcHRpb25zLnZpZXdUeXBlPT0xKT8nYmJzZi12ZXJ0aWNhbCc6J2Jic2YtaG9yaXpvbnRhbCdcIj5cclxuICAgIDwhLS1sYWJlbC0tPlxyXG4gICAgPGxhYmVsICpuZ0lmPVwiIW9wdGlvbnMuaGlkZUxhYmVsXCIgY2xhc3M9XCJiYnNmLWxhYmVsIHt7b3B0aW9ucy5sYWJlbEV4dHJhQ2xhc3Nlc319XCI+XHJcbiAgICAgIHt7b3B0aW9ucy5sYWJlbFZhbHVlfX1cclxuICAgICAgPCEtLUFzdGVyaXNrLS0+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwiKChvcHRpb25zLnNob3dBc3RlcmlzayYmb3B0aW9ucy5pc1JlcXVpcmVkKXx8KG9wdGlvbnMuaXNSZXF1aXJlZCkpJiYhb3B0aW9ucy5pc1JlYWRvbmx5XCJcclxuICAgICAgICBjbGFzcz1cInRleHQtZGFuZ2VyXCIgYXJpYS1yZXF1aXJlZD1cInRydWVcIj4qPC9zcGFuPlxyXG4gICAgPC9sYWJlbD5cclxuXHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImJic2YtaW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICAgIDwhLS1pbnB1dCBlbmFibGVkIGJvb3RzdHJhcCBzZWxlY3QtLT5cclxuICAgICAgPG5nLXNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbFwiICpuZ0lmPVwib3B0aW9ucy5kaXNhYmxlQm9vdHN0cmFwU2VsZWN0PT1mYWxzZSYmIW9wdGlvbnMuaXNSZWFkb25seVwiXHJcbiAgICAgICAgW2F0dHIuZGlyXT1cIm9wdGlvbnMuZm9yY2VEaXJlY3Rpb249PTI/J3J0bCc6J2F1dG8nXCIgW2JpbmRWYWx1ZV09XCJvcHRpb25zLml0ZW1UZW1wbGV0a2V5XCIgZ3JvdXBCeT1cImdyb3VwXCJcclxuICAgICAgICBbYmluZExhYmVsXT1cIm9wdGlvbnMuaXRlbVRlbXBsZXR2YWx1ZVwiIFtpdGVtc109XCJvcHRpb25zLmRhdGFTb3VyY2VcIiBbbm90Rm91bmRUZXh0XT1cIm9wdGlvbnMubm90Rm91bmRUZXh0XCJcclxuICAgICAgICBbbWF4U2VsZWN0ZWRJdGVtc109XCJvcHRpb25zLmxpbWl0U2VsZWN0aW9uXCIgW3NlYXJjaGFibGVdPVwib3B0aW9ucy5hbGxvd1NlYXJjaEZpbHRlclwiXHJcbiAgICAgICAgW211bHRpcGxlXT1cIiFvcHRpb25zLnNpbmdsZVNlbGVjdGlvblwiIFtyZWFkb25seV09XCJvcHRpb25zLmlzRGlzYWJsZWRcIiBbY2xlYXJhYmxlXT1cInRydWVcIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwie3tvcHRpb25zLnBsYWNlaG9sZGVyfX1cIiBpZD1cInt7b3B0aW9ucy5uYW1lfX1cIiBbc2VsZWN0YWJsZUdyb3VwXT1cInRydWVcIlxyXG4gICAgICAgIFtzZWxlY3RhYmxlR3JvdXBBc01vZGVsXT1cImZhbHNlXCIgZm9ybUNvbnRyb2xOYW1lPVwie3tvcHRpb25zLm5hbWV9fVwiIFsobmdNb2RlbCldPVwib3B0aW9ucy5zZWxlY3RlZEl0ZW1zXCJcclxuICAgICAgICAoY2hhbmdlKT1cIm9uSXRlbVNlbGVjdCgpXCIgKGNsZWFyKT1cIkNsZWFyKClcIlxyXG4gICAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImRyb3Bkb3duTGlzdEZvcm1Db250cm9sLmludmFsaWQgJiYgZHJvcGRvd25MaXN0Rm9ybUNvbnRyb2wudG91Y2hlZFwiXHJcbiAgICAgICAgW2Nsb3NlT25TZWxlY3RdPVwib3B0aW9ucy5zaW5nbGVTZWxlY3Rpb24gID8gdHJ1ZSA6IGZhbHNlXCI+XHJcblxyXG4gICAgICAgIDwhLS1IZWFkZXIgdGVtcGxhdGUgZm9yIFNlbGVjdCBBbGwgLyBEZXNlbGVjdCBBbGwgd2hlbiBlbmFibGVDaGVja0FsbCBpcyB0cnVlIGFuZCBub3Qgc2luZ2xlIHNlbGVjdGlvbi0tPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1oZWFkZXItdG1wICpuZ0lmPVwib3B0aW9ucy5lbmFibGVDaGVja0FsbCAmJiAhb3B0aW9ucy5zaW5nbGVTZWxlY3Rpb25cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYnNmLXNlbGVjdC1hbGwtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saW5rIGJ0bi1zbSBiYnNmLXNlbGVjdC1hbGwtYnRuXCIgKGNsaWNrKT1cInNlbGVjdEFsbEl0ZW1zKClcIlxyXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJvcHRpb25zLmlzRGlzYWJsZWQgfHwgaXNBbGxTZWxlY3RlZCgpXCI+XHJcbiAgICAgICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKCdzZWxlY3RBbGwnKSB8fCAnU2VsZWN0IEFsbCd9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpbmsgYnRuLXNtIGJic2YtZGVzZWxlY3QtYWxsLWJ0blwiIChjbGljayk9XCJkZXNlbGVjdEFsbEl0ZW1zKClcIlxyXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJvcHRpb25zLmlzRGlzYWJsZWQgfHwgIWhhc1NlbGVjdGVkSXRlbXMoKVwiPlxyXG4gICAgICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgnZGVzZWxlY3RBbGwnKSB8fCAnRGVzZWxlY3QgQWxsJ319XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8IS0tTm8gY2hlY2tib3gsIEN1c3RvbWl6ZSBpdGVtIHRlbXBsYXRlLS0+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiIW9wdGlvbnMuc2hvd0NoZWNrYm94XCIgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaXRlbSQ9XCJpdGVtJFwiIGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJiYnNmLWxhYmVsXCIgdGl0bGU9XCJ7e2l0ZW0uZGlzYWJsZWQgPyBvcHRpb25zLmRpc2FibGVkSXRlbXNUb29sdGlwVmFsdWUgOiAnJ319XCJcclxuICAgICAgICAgICAgaWQ9e3tpdGVtLmtleX19Pnt7aXRlbS52YWx1ZX19PC9sYWJlbD5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwhLS1jaGVja2JveCwgQ3VzdG9taXplIGl0ZW0gdGVtcGxhdGUtLT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25zLnNob3dDaGVja2JveFwiIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWl0ZW0kPVwiaXRlbSRcIiBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIiBiYnNmLWNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYnNmLWlucHV0LWNvbnRhaW5lciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJiYnNmLWNoZWNrYm94LWlucHV0XCIgaWQ9XCJpdGVtLXt7aW5kZXh9fVwiIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCIgW25nTW9kZWxdPVwiaXRlbSQuc2VsZWN0ZWRcIiAvPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1zdWJ0ZXh0LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYmJzZi1sYWJlbFwiIGlkPXt7aXRlbS5rZXl9fT57e2l0ZW0udmFsdWV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8IS0tSGFzIGdyb3VwLCBDdXN0b21pemUgZ3JvdXAgdGVtcGxhdGUtLT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25zLmhhc0dyb3VwXCIgbmctb3B0Z3JvdXAtdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pdGVtJD1cIml0ZW0kXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJiYnNmLWxhYmVsIGJic2YtZ3JvdXAtbGFiZWxcIj57e2l0ZW0uZ3JvdXB9fTwvbGFiZWw+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgIDwvbmctc2VsZWN0PlxyXG5cclxuICAgICAgPCEtLWlucHV0IGRpc2FibGVkIGJvb3RzdHJhcCBzZWxlY3QtLT5cclxuICAgICAgPHNlbGVjdCAqbmdJZj1cIm9wdGlvbnMuZGlzYWJsZUJvb3RzdHJhcFNlbGVjdCYmIW9wdGlvbnMuaXNSZWFkb25seVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICBbYXR0ci5kaXJdPVwib3B0aW9ucy5mb3JjZURpcmVjdGlvbj09Mj8ncnRsJzonYXV0bydcIiAoY2hhbmdlKT1cIm9uSXRlbVNlbGVjdCgpXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cIm9wdGlvbnMuc2VsZWN0ZWRJdGVtc1wiIFtkaXNhYmxlZF09XCJvcHRpb25zLmlzRGlzYWJsZWRcIiBmb3JtQ29udHJvbE5hbWU9XCJ7e29wdGlvbnMubmFtZX19XCI+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiIGRpc2FibGVkPi0te3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwic2VsZWN0XCIpfX0tLTwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3B0aW9ucy5kYXRhU291cmNlXCIgdmFsdWU9XCJ7e2l0ZW0ua2V5fX1cIiBbbmdWYWx1ZV09XCJpdGVtLmtleVwiPlxyXG4gICAgICAgICAge3tpdGVtLnZhbHVlfX1cclxuICAgICAgICA8L29wdGlvbj5cclxuICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgIDwhLS0gcmVhZG9ubHkgLS0+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJvcHRpb25zLmlzUmVhZG9ubHlcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInJlYWRvbmx5LXZpZXdcIj57e2dldFNlbGVjdGVkSXRlbVZhbHVlKCl9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzdWJ0ZXh0LWNvbnRhaW5lclwiICpuZ0lmPVwiIW9wdGlvbnMuaXNSZWFkb25seVwiPlxyXG4gICAgICA8IS0tIExhYmVsRGVzY3JpcHRpb24tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImJic2YtY29udHJvbC1kZXNjXCIgKm5nSWY9XCJvcHRpb25zLmxhYmVsRGVzY3JpcHRpb24hPW51bGxcIj57e29wdGlvbnMubGFiZWxEZXNjcmlwdGlvbn19PC9kaXY+XHJcbiAgICAgIDwhLS0gcmVxdWlyZWRUZXh0LS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYnNmLXZhbGlkYXRpb25cIiAqbmdJZj1cIihkcm9wZG93bkxpc3RGb3JtQ29udHJvbC5pbnZhbGlkICYmIGRyb3Bkb3duTGlzdEZvcm1Db250cm9sLnRvdWNoZWQpXCI+XHJcbiAgICAgICAge3tnZXRFcnJvclZhbGlkYXRpb24oZHJvcGRvd25MaXN0Rm9ybUNvbnRyb2wuZXJyb3JzfGtleXZhbHVlKX19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiKGdyb3VwLnZhbGlkJiZncm91cC5kaXJ0eSYmZ3JvdXAudG91Y2hlZCApfHwoZ3JvdXAudW50b3VjaGVkJiZncm91cC5pbnZhbGlkJiZncm91cC5kaXJ0eSkgXCI+XHJcbiAgICAgIHt7cmVzZXRFcnJvcigpfX1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
290
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25MaXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9jb250cm9scy9Ecm9wZG93bkxpc3QvRHJvcGRvd25MaXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtY29udHJvbHMvc3JjL2xpYi9jb250cm9scy9Ecm9wZG93bkxpc3QvRHJvcGRvd25MaXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFvRSxNQUFNLGdCQUFnQixDQUFDO0FBTzNILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7OztBQU9uRSxNQUFNLE9BQU8scUJBQXFCO2FBQ3pCLDJCQUFzQixHQUFHLElBQUksQUFBUCxDQUFRO0lBQ3JDLDRDQUE0QztJQUM1QyxZQUNVLGVBQTZDLEVBQzdDLGNBQThCLEVBQ2xCLGdCQUFrQyxFQUMvQyx1QkFBMkMsRUFDM0MsY0FBOEIsRUFDN0Isd0JBQWtELEVBQ2xELGNBQThCO1FBTjlCLG9CQUFlLEdBQWYsZUFBZSxDQUE4QjtRQUM3QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDbEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUMvQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQW9CO1FBQzNDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM3Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVN4QyxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFFdEIsaUJBQVksR0FBVSxF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QztTQUNkO1FBRUQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBRSxJQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEYsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFFakQsSUFBSSxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNoRCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsNkNBQTZDO1FBQzdDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLElBQUksYUFBYSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRTtZQUN0RixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsNkNBQTZDO1FBQzdDLE9BQU8sZUFBZSxDQUFDLE1BQU0sS0FBSyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQ3pELENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDN0UsQ0FBQzsrR0EzVVUscUJBQXFCO21HQUFyQixxQkFBcUIsc05DZmxDLDR5S0F1Rk07OzRGRHhFTyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBRUUsbUJBQW1COzswQkFTMUIsUUFBUTsyS0FRRixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFNSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE9wdGlvbmFsLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycywgRm9ybUdyb3VwLCBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cERpcmVjdGl2ZSwgQ29udHJvbENvbnRhaW5lciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29udHJvbFV0aWxpdHkgfSBmcm9tICcuLi8uLi9TaGFyZWQvc2VydmljZXMvQ29udHJvbFV0aWxpdHknO1xyXG5pbXBvcnQgeyBEcm9wZG93bk9wdGlvbnMgfSBmcm9tICcuLi8uLi9TaGFyZWQvTW9kZWxzL0Ryb3Bkb3duT3B0aW9ucyc7XHJcbmltcG9ydCB7IERyb3Bkb3duTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi9TaGFyZWQvTW9kZWxzL0Ryb3Bkb3duTGlzdEl0ZW0nO1xyXG5pbXBvcnQgeyBPblBhZ2luZ0ZpbHRlcnNDaGFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vU2hhcmVkL3NlcnZpY2VzL09uUGFnaW5nRmlsdGVyc0NoYW5nZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbGlkYXRpb25TZXJ2aWNlLCBVdGlsaXR5U2VydmljZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcbmltcG9ydCB7IEdsb2JhbFNldHRpbmdzIH0gZnJvbSAnLi4vLi4vU2hhcmVkL3NlcnZpY2VzL0dsb2JhbFNldHRpbmdzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JjZURpcmVjdGlvbiB9IGZyb20gJy4uLy4uL1NoYXJlZC9FbnVtcy9Gb3JjZURpcmVjdGlvbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnQkJTRi1Ecm9wZG93bkxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9Ecm9wZG93bkxpc3QuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHN0YXRpYyBjb250cm9sQ29udGFpbmVyc3RhdGljID0gbnVsbDtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBvbkNoYW5nZVNlcnZpY2U6IE9uUGFnaW5nRmlsdGVyc0NoYW5nZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbnRyb2xVdGlsaXR5OiBDb250cm9sVXRpbGl0eSxcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcixcclxuICAgIHB1YmxpYyBkcm9wZG93bkxpc3RDb250cm9sSG9zdDogRm9ybUdyb3VwRGlyZWN0aXZlLFxyXG4gICAgcHVibGljIHV0aWxpdHlTZXJ2aWNlOiBVdGlsaXR5U2VydmljZSxcclxuICAgIHByaXZhdGUgY29udHJvbFZhbGlkYXRpb25TZXJ2aWNlOiBDb250cm9sVmFsaWRhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGdsb2JhbFNldHRpbmdzOiBHbG9iYWxTZXR0aW5nc1xyXG4gICkge1xyXG4gICAgRHJvcGRvd25MaXN0Q29tcG9uZW50LmNvbnRyb2xDb250YWluZXJzdGF0aWMgPSB0aGlzLmNvbnRyb2xDb250YWluZXI7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGdyb3VwOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgb3B0aW9uczogRHJvcGRvd25PcHRpb25zO1xyXG4gIEBJbnB1dCgpIERyb3Bkb3duVGVtcGxhdGVWYXJpYWJsZTogYW55O1xyXG5cclxuICBkcm9wZG93bkxpc3RGb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sO1xyXG4gIGRyb3Bkb3duU2V0dGluZ3MgPSB7fTtcclxuICBzZWxlY3RlZEl0ZW1zOiBEcm9wZG93bkxpc3RJdGVtW107XHJcbiAgU2VsZWN0ZWRMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25DbGVhciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBtYXJrQWxsQXNUb3VjaGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY29udHJvbENoYW5nZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICB2YWxpZGF0aW9uUnVsZXMgPSBbXTtcclxuICB2YWxpZGF0aW9uUnVsZXNhc3luYyA9IFtdO1xyXG4gIHRleHREaXI7XHJcbiAgRm9yY2VEaXJlY3Rpb24gPSBGb3JjZURpcmVjdGlvbjtcclxuXHJcblxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuZm9yY2VEaXJlY3Rpb24pXHJcbiAgICAgIHRoaXMudGV4dERpciA9IHRoaXMub3B0aW9ucy5mb3JjZURpcmVjdGlvbiA9PSAyID8gJ3J0bCcgOiAnbHRyJztcclxuICAgIGVsc2UgdGhpcy50ZXh0RGlyID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhbmd1YWdlJykgPT0gJ2FyJyA/ICdydGwnIDogJ2x0cic7XHJcbiAgICB0aGlzLmNvbnRyb2xWYWxpZGF0aW9uU2VydmljZS5pc0NyZWF0ZWRCZWZvciA9IGZhbHNlO1xyXG4gICAgdGhpcy5TZWxlY3RlZExpc3QgPSB0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtcztcclxuXHJcbiAgICAvLyBJbml0aWFsaXplIHNlbGVjdGVkSXRlbXMgYXJyYXkgZm9yIHByb3BlciBiaW5kaW5nIHdpdGggbmctc2VsZWN0XHJcbiAgICBpZiAodGhpcy5vcHRpb25zLnNlbGVjdGVkSXRlbXMgJiYgdGhpcy5vcHRpb25zLmRhdGFTb3VyY2UpIHtcclxuICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuc2luZ2xlU2VsZWN0aW9uKSB7XHJcbiAgICAgICAgLy8gRm9yIG11bHRpLXNlbGVjdCwgZW5zdXJlIHNlbGVjdGVkSXRlbXMgY29udGFpbnMgdGhlIGZ1bGwgb2JqZWN0c1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkS2V5cyA9IEFycmF5LmlzQXJyYXkodGhpcy5vcHRpb25zLnNlbGVjdGVkSXRlbXMpXHJcbiAgICAgICAgICA/IHRoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zXHJcbiAgICAgICAgICA6IFt0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtc107XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5vcHRpb25zLmRhdGFTb3VyY2UuZmlsdGVyKGl0ZW0gPT5cclxuICAgICAgICAgIHNlbGVjdGVkS2V5cy5pbmNsdWRlcyhpdGVtW3RoaXMub3B0aW9ucy5pdGVtVGVtcGxldGtleV0pXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5kcm9wZG93blNldHRpbmdzID0ge1xyXG4gICAgICBzaW5nbGVTZWxlY3Rpb246IHRoaXMub3B0aW9ucy5zaW5nbGVTZWxlY3Rpb24sXHJcbiAgICAgIHRleHQ6ICdTZWxlY3QnLFxyXG4gICAgICBzZWxlY3RBbGxUZXh0OiAnU2VsZWN0IEFsbCcsXHJcbiAgICAgIHVuU2VsZWN0QWxsVGV4dDogJ1VuU2VsZWN0IEFsbCcsXHJcbiAgICAgIGVuYWJsZVNlYXJjaEZpbHRlcjogdGhpcy5vcHRpb25zLmFsbG93U2VhcmNoRmlsdGVyLFxyXG4gICAgICBjbGFzc2VzOiB0aGlzLm9wdGlvbnMuY2xhc3NlcyxcclxuICAgICAgZGlzYWJsZWQ6IHRoaXMub3B0aW9ucy5pc0Rpc2FibGVkLFxyXG4gICAgICBzaG93Q2hlY2tib3g6IHRoaXMub3B0aW9ucy5zaG93Q2hlY2tib3gsXHJcbiAgICAgIGVuYWJsZUNoZWNrQWxsOiB0aGlzLm9wdGlvbnMuZW5hYmxlQ2hlY2tBbGwsXHJcbiAgICAgIGl0ZW1zU2hvd0xpbWl0OiB0aGlzLm9wdGlvbnMuaXRlbXNTaG93TGltaXQsXHJcbiAgICAgIGFsbG93U2VhcmNoRmlsdGVyOiB0aGlzLm9wdGlvbnMuYWxsb3dTZWFyY2hGaWx0ZXIsXHJcbiAgICAgIHNob3dTZWxlY3RlZEl0ZW1zQXRUb3A6IHRydWUsXHJcbiAgICAgIGxpbWl0U2VsZWN0aW9uOiB0aGlzLm9wdGlvbnMubGltaXRTZWxlY3Rpb24sXHJcbiAgICAgIHNlYXJjaFBsYWNlaG9sZGVyVGV4dDogdGhpcy5vcHRpb25zLnBsYWNlaG9sZGVyLFxyXG4gICAgICBsYWJlbEtleTogJ3ZhbHVlJyxcclxuICAgICAgcHJpbWFyeUtleTogJ2tleSdcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5ncm91cC5hZGRDb250cm9sKHRoaXMub3B0aW9ucy5uYW1lLCBuZXcgRm9ybUNvbnRyb2woJycpKTtcclxuICAgIHRoaXMuZHJvcGRvd25MaXN0Rm9ybUNvbnRyb2wgPSB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMub3B0aW9ucy5uYW1lXTsgLy8gIG5ldyBGb3JtQ29udHJvbCgnJyx2YWxpZGF0aW9uUnVsZXMpO1xyXG5cclxuICAgIGlmICghdGhpcy5vcHRpb25zLnZpZXdUeXBlKSB0aGlzLm9wdGlvbnMudmlld1R5cGUgPSB0aGlzLmdsb2JhbFNldHRpbmdzLnZpZXdUeXBlO1xyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMuY3VzdG9tVmFsaWRhdGlvbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBWYWxpZGF0aW9ucyA9IHRoaXMub3B0aW9ucy5jdXN0b21WYWxpZGF0aW9uO1xyXG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgVmFsaWRhdGlvbnMubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgICAgY29uc3QgVmFsaWRhdGlvbiA9IFZhbGlkYXRpb25zW2luZGV4XTtcclxuICAgICAgICB0aGlzLnZhbGlkYXRpb25SdWxlcy5wdXNoKFZhbGlkYXRpb24uZnVuY3Rpb25Cb2R5KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMuaXNSZXF1aXJlZCkge1xyXG4gICAgICB0aGlzLnZhbGlkYXRpb25SdWxlcy5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5sYWJlbEtleSAhPSBudWxsICYmIHRoaXMub3B0aW9ucy5sYWJlbEtleSAhPSAnJylcclxuICAgICAgdGhpcy5vcHRpb25zLmxhYmVsVmFsdWUgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUodGhpcy5vcHRpb25zLmxhYmVsS2V5KTtcclxuXHJcbiAgICB0aGlzLmRyb3Bkb3duTGlzdEZvcm1Db250cm9sLnNldFZhbGlkYXRvcnModGhpcy52YWxpZGF0aW9uUnVsZXMpO1xyXG4gICAgdGhpcy5kcm9wZG93bkxpc3RGb3JtQ29udHJvbC5zZXRBc3luY1ZhbGlkYXRvcnModGhpcy52YWxpZGF0aW9uUnVsZXNhc3luYyk7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zLmlzRGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy5kcm9wZG93bkxpc3RGb3JtQ29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kcm9wZG93bkxpc3RDb250cm9sSG9zdC5uZ1N1Ym1pdC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgIHRoaXMuZ3JvdXAubWFya0FsbEFzVG91Y2hlZCgpO1xyXG4gICAgICB0aGlzLm1hcmtBbGxBc1RvdWNoZWQgPSB0cnVlO1xyXG4gICAgfSk7XHJcblxyXG5cclxuICB9XHJcblxyXG5cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb250cm9sVXRpbGl0eS5zZXRBdHRyaWJ1dGVGb3JDb250cm9sKHRoaXMub3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICByZXNldEVycm9yID0gKCkgPT4ge1xyXG4gICAgdGhpcy5jb250cm9sVmFsaWRhdGlvblNlcnZpY2UucmVtb3ZlR2xvYmFsRXJyb3IoKTtcclxuICB9O1xyXG5cclxuICBzaG93R2xvYmFsRXJyb3IoKSB7XHJcbiAgICB0aGlzLmNvbnRyb2xVdGlsaXR5LnNob3dHbG9iYWxFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RXJyb3JWYWxpZGF0aW9uKEVycm9yTGlzdCkge1xyXG4gICAgaWYgKHRoaXMubWFya0FsbEFzVG91Y2hlZCAmJiB0aGlzLmdyb3VwLmludmFsaWQpIHtcclxuICAgICAgdGhpcy5zaG93R2xvYmFsRXJyb3IoKTtcclxuICAgICAgdGhpcy5tYXJrQWxsQXNUb3VjaGVkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sVXRpbGl0eS5nZXRFcnJvclZhbGlkYXRpb25NYXNzYWdlKEVycm9yTGlzdCwgdGhpcy5ncm91cCwgdGhpcy5vcHRpb25zKTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkSXRlbVZhbHVlKCkge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zKSB7XHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuc2luZ2xlU2VsZWN0aW9uKSB7XHJcbiAgICAgICAgLy8gSGFuZGxlIHNpbmdsZSBzZWxlY3Rpb24gLSBzZWxlY3RlZEl0ZW1zIGNvdWxkIGJlIGEgc3RyaW5nIG9yIGFycmF5IHdpdGggb25lIGl0ZW1cclxuICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSBBcnJheS5pc0FycmF5KHRoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zKVxyXG4gICAgICAgICAgPyB0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtc1swXVxyXG4gICAgICAgICAgOiB0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtcztcclxuICAgICAgICBjb25zdCBmb3VuZEl0ZW0gPSB0aGlzLm9wdGlvbnMuZGF0YVNvdXJjZS5maW5kKFxyXG4gICAgICAgICAgKGl0ZW0pID0+IGl0ZW1bdGhpcy5vcHRpb25zLml0ZW1UZW1wbGV0a2V5XSA9PSBzZWxlY3RlZEl0ZW1cclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBmb3VuZEl0ZW0gPyBmb3VuZEl0ZW1bdGhpcy5vcHRpb25zLml0ZW1UZW1wbGV0dmFsdWVdIDogJyc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gSGFuZGxlIG11bHRpcGxlIHNlbGVjdGlvbiAtIGVuc3VyZSBzZWxlY3RlZEl0ZW1zIGlzIHRyZWF0ZWQgYXMgYXJyYXlcclxuICAgICAgICBjb25zdCBpdGVtc0FycmF5ID0gQXJyYXkuaXNBcnJheSh0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtcylcclxuICAgICAgICAgID8gdGhpcy5vcHRpb25zLnNlbGVjdGVkSXRlbXNcclxuICAgICAgICAgIDogW3RoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zXTtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmRhdGFTb3VyY2VcclxuICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW1zQXJyYXkuaW5jbHVkZXMoaXRlbVt0aGlzLm9wdGlvbnMuaXRlbVRlbXBsZXRrZXldKSlcclxuICAgICAgICAgIC5tYXAoKGl0ZW0pID0+IGl0ZW1bdGhpcy5vcHRpb25zLml0ZW1UZW1wbGV0dmFsdWVdKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHJldHVybiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoJ05BJyk7XHJcbiAgfVxyXG5cclxuICBvbkl0ZW1TZWxlY3QoKSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlU2VydmljZS5DaGFuZ2VWYWx1ZSh0aGlzLm9wdGlvbnMubmFtZSk7XHJcbiAgICBsZXQgb3JpZ2luYWxWYWx1ZSA9IHRoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLm9wdGlvbnMucGF0Y2hGdW5jdGlvbiAmJlxyXG4gICAgICB0aGlzLm9wdGlvbnMucGF0Y2hQYXRoICYmXHJcbiAgICAgIHRoaXMuZ3JvdXAuZ2V0KHRoaXMub3B0aW9ucy5uYW1lKS52YWxpZFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbFV0aWxpdHkucGF0Y2hDb250cm9sVmFsdWUoXHJcbiAgICAgICAgb3JpZ2luYWxWYWx1ZSxcclxuICAgICAgICB0aGlzLm9wdGlvbnMucGF0Y2hGdW5jdGlvbixcclxuICAgICAgICB0aGlzLm9wdGlvbnMucGF0Y2hQYXRoXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQob3JpZ2luYWxWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBDbGVhcigpIHtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuc2luZ2xlU2VsZWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IG51bGw7XHJcbiAgICAgIHRoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zID0gbnVsbDtcclxuICAgICAgdGhpcy5kcm9wZG93bkxpc3RGb3JtQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xyXG4gICAgICB0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdEZvcm1Db250cm9sLnNldFZhbHVlKFtdKTtcclxuICAgIH1cclxuICAgIHRoaXMub25DaGFuZ2VTZXJ2aWNlLkNoYW5nZVZhbHVlKHRoaXMub3B0aW9ucy5uYW1lKTtcclxuICAgIHRoaXMub25DaGFuZ2UuZW1pdCgpO1xyXG4gICAgaWYgKHRoaXMuRHJvcGRvd25UZW1wbGF0ZVZhcmlhYmxlKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuRHJvcGRvd25UZW1wbGF0ZVZhcmlhYmxlLnRvZ2dsZSgpO1xyXG4gICAgICAgIHRoaXMuRHJvcGRvd25UZW1wbGF0ZVZhcmlhYmxlLm9wZW4oKTtcclxuICAgICAgfSwgMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTZWxlY3QgQWxsIGZ1bmN0aW9uYWxpdHkgZm9yIGhlYWRlciB0ZW1wbGF0ZVxyXG4gIHNlbGVjdEFsbEl0ZW1zKCkge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5zaW5nbGVTZWxlY3Rpb24gfHwgdGhpcy5vcHRpb25zLmlzRGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEdldCBhbGwgc2VsZWN0YWJsZSBpdGVtcyAobm9uLWRpc2FibGVkKVxyXG4gICAgY29uc3Qgc2VsZWN0YWJsZUl0ZW1zID0gdGhpcy5vcHRpb25zLmRhdGFTb3VyY2UuZmlsdGVyKGl0ZW0gPT4gIShpdGVtIGFzIGFueSkuZGlzYWJsZWQpO1xyXG5cclxuICAgIC8vIEFwcGx5IGxpbWl0IHNlbGVjdGlvbiBpZiBzcGVjaWZpZWRcclxuICAgIGNvbnN0IGl0ZW1zVG9TZWxlY3QgPSB0aGlzLm9wdGlvbnMubGltaXRTZWxlY3Rpb25cclxuICAgICAgPyBzZWxlY3RhYmxlSXRlbXMuc2xpY2UoMCwgdGhpcy5vcHRpb25zLmxpbWl0U2VsZWN0aW9uKVxyXG4gICAgICA6IHNlbGVjdGFibGVJdGVtcztcclxuXHJcbiAgICAvLyBVcGRhdGUgc2VsZWN0ZWQgaXRlbXMgd2l0aCB0aGUga2V5c1xyXG4gICAgdGhpcy5vcHRpb25zLnNlbGVjdGVkSXRlbXMgPSBpdGVtc1RvU2VsZWN0Lm1hcChpdGVtID0+IGl0ZW1bdGhpcy5vcHRpb25zLml0ZW1UZW1wbGV0a2V5XSk7XHJcblxyXG4gICAgLy8gVXBkYXRlIGZvcm0gY29udHJvbFxyXG4gICAgdGhpcy5kcm9wZG93bkxpc3RGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtcyk7XHJcblxyXG4gICAgLy8gVHJpZ2dlciBjaGFuZ2UgZXZlbnRzXHJcbiAgICB0aGlzLm9uQ2hhbmdlU2VydmljZS5DaGFuZ2VWYWx1ZSh0aGlzLm9wdGlvbnMubmFtZSk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQodGhpcy5vcHRpb25zLnNlbGVjdGVkSXRlbXMpO1xyXG4gIH1cclxuICBvbkRlc2VsZWN0KGl0ZW1zKSB7XHJcbiAgICAvLyBVcGRhdGUgb3B0aW9ucy5zZWxlY3RlZEl0ZW1zIHRvIGtlZXAgaXQgaW4gc3luY1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPT0gMCkge1xyXG4gICAgICB0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtcyA9IG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5tYXAoaXRlbSA9PiBpdGVtW3RoaXMub3B0aW9ucy5pdGVtVGVtcGxldGtleV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZHJvcGRvd25MaXN0Rm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5zZWxlY3RlZEl0ZW1zKTtcclxuXHJcbiAgICAvLyBUcmlnZ2VyIGNoYW5nZSBldmVudHNcclxuICAgIHRoaXMub25DaGFuZ2VTZXJ2aWNlLkNoYW5nZVZhbHVlKHRoaXMub3B0aW9ucy5uYW1lKTtcclxuICAgIHRoaXMub25DaGFuZ2UuZW1pdCh0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtcyk7XHJcblxyXG4gICAgLy8gSGFuZGxlIHZhbGlkYXRpb24gZm9yIHJlcXVpcmVkIGZpZWxkc1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPT0gMCAmJiB0aGlzLm9wdGlvbnMuaXNSZXF1aXJlZCA9PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0Rm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdEZvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gRGVzZWxlY3QgQWxsIGZ1bmN0aW9uYWxpdHkgZm9yIGhlYWRlciB0ZW1wbGF0ZVxyXG4gIGRlc2VsZWN0QWxsSXRlbXMoKSB7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zLnNpbmdsZVNlbGVjdGlvbiB8fCB0aGlzLm9wdGlvbnMuaXNEaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2xlYXIgc2VsZWN0ZWQgaXRlbXNcclxuICAgIHRoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zID0gbnVsbDtcclxuXHJcbiAgICAvLyBVcGRhdGUgZm9ybSBjb250cm9sXHJcbiAgICB0aGlzLmRyb3Bkb3duTGlzdEZvcm1Db250cm9sLnNldFZhbHVlKG51bGwpO1xyXG5cclxuICAgIC8vIFRyaWdnZXIgY2hhbmdlIGV2ZW50c1xyXG4gICAgdGhpcy5vbkNoYW5nZVNlcnZpY2UuQ2hhbmdlVmFsdWUodGhpcy5vcHRpb25zLm5hbWUpO1xyXG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHRoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zKTtcclxuXHJcbiAgICAvLyBIYW5kbGUgdmFsaWRhdGlvbiBmb3IgcmVxdWlyZWQgZmllbGRzXHJcbiAgICBpZiAodGhpcy5vcHRpb25zLmlzUmVxdWlyZWQpIHtcclxuICAgICAgdGhpcy5kcm9wZG93bkxpc3RGb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0Rm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Ecm9wRG93bkNsb3NlKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICAodGhpcy5zZWxlY3RlZEl0ZW1zID09IHVuZGVmaW5lZCB8fCB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID09IDApICYmXHJcbiAgICAgIHRoaXMub3B0aW9ucy5pc1JlcXVpcmVkID09IHRydWVcclxuICAgICkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdEZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgICAgdGhpcy5kcm9wZG93bkxpc3RGb3JtQ29udHJvbC5pbnZhbGlkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9FeHRlcm5hbCBNZXRob2RcclxuICByZW1vdmVSZXF1aXJlZFZhbGlkYXRpb24gPSAoKSA9PiB7XHJcbiAgICB0aGlzLmNvbnRyb2xVdGlsaXR5LnJlbW92ZVJlcXVpcmVkVmFsaWRhdGlvbihcclxuICAgICAgdGhpcy5kcm9wZG93bkxpc3RGb3JtQ29udHJvbCxcclxuICAgICAgdGhpcy52YWxpZGF0aW9uUnVsZXMsXHJcbiAgICAgIHRoaXMub3B0aW9uc1xyXG4gICAgKTtcclxuICB9O1xyXG5cclxuICAvL0V4dGVybmFsIE1ldGhvZFxyXG4gIGFkZFJlcXVpcmVkVmFsaWRhdGlvbiA9ICgpID0+IHtcclxuICAgIHRoaXMuY29udHJvbFV0aWxpdHkuYWRkUmVxdWlyZWRWYWxpZGF0aW9uKFxyXG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdEZvcm1Db250cm9sLFxyXG4gICAgICB0aGlzLnZhbGlkYXRpb25SdWxlcyxcclxuICAgICAgdGhpcy5vcHRpb25zXHJcbiAgICApO1xyXG4gIH07XHJcblxyXG4gIC8vRXh0ZXJuYWwgTWV0aG9kXHJcbiAgcmVtb3ZlQ3VzdG9tVmFsaWRhdGlvbiA9IChjdXN0b21WYWxpZGF0aW9uKSA9PiB7XHJcbiAgICB0aGlzLmNvbnRyb2xVdGlsaXR5LnJlbW92ZUN1c3RvbVZhbGlkYXRpb24oXHJcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0Rm9ybUNvbnRyb2wsXHJcbiAgICAgIHRoaXMudmFsaWRhdGlvblJ1bGVzLFxyXG4gICAgICBjdXN0b21WYWxpZGF0aW9uXHJcbiAgICApO1xyXG4gIH07XHJcbiAgLy9FeHRlcm5hbCBNZXRob2RcclxuICBhZGRDdXN0b21WYWxpZGF0aW9uID0gKGN1c3RvbVZhbGlkYXRpb24pID0+IHtcclxuICAgIHRoaXMuY29udHJvbFV0aWxpdHkuYWRkQ3VzdG9tVmFsaWRhdGlvbihcclxuICAgICAgdGhpcy5kcm9wZG93bkxpc3RGb3JtQ29udHJvbCxcclxuICAgICAgdGhpcy52YWxpZGF0aW9uUnVsZXMsXHJcbiAgICAgIGN1c3RvbVZhbGlkYXRpb25cclxuICAgICk7XHJcbiAgfTtcclxuICAvL0V4dGVybmFsIE1ldGhvZFxyXG4gIGlzVmFsaWQgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmNvbnRyb2xVdGlsaXR5LmlzVmFsaWQodGhpcy5kcm9wZG93bkxpc3RGb3JtQ29udHJvbCk7XHJcbiAgfTtcclxuXHJcbiAgLy9VcGRhdGUgaXRlbXMgKGRhdGEgc291cmNlKSBvZiBkcm9wIGRvd25cclxuICB1cGRhdGVEYXRhU291cmNlID0gKGRhdGFTb3VyY2U6IERyb3Bkb3duTGlzdEl0ZW1bXSkgPT4ge1xyXG4gICAgdGhpcy5vcHRpb25zLmRhdGFTb3VyY2UgPSBkYXRhU291cmNlO1xyXG4gIH07XHJcblxyXG4gIC8vIEhlbHBlciBtZXRob2RzIGZvciBzZWxlY3QgYWxsIGZ1bmN0aW9uYWxpdHlcclxuICBpc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuZGF0YVNvdXJjZSB8fCB0aGlzLm9wdGlvbnMuZGF0YVNvdXJjZS5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHNlbGVjdGFibGVJdGVtcyA9IHRoaXMub3B0aW9ucy5kYXRhU291cmNlLmZpbHRlcihpdGVtID0+ICEoaXRlbSBhcyBhbnkpLmRpc2FibGVkKTtcclxuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSB0aGlzLm9wdGlvbnMuc2VsZWN0ZWRJdGVtcztcclxuXHJcbiAgICBpZiAoIXNlbGVjdGVkSXRlbXMgfHwgc2VsZWN0ZWRJdGVtcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENoZWNrIGlmIHdlJ3ZlIHJlYWNoZWQgdGhlIGxpbWl0IHNlbGVjdGlvblxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5saW1pdFNlbGVjdGlvbiAmJiBzZWxlY3RlZEl0ZW1zLmxlbmd0aCA+PSB0aGlzLm9wdGlvbnMubGltaXRTZWxlY3Rpb24pIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgYWxsIHNlbGVjdGFibGUgaXRlbXMgYXJlIHNlbGVjdGVkXHJcbiAgICByZXR1cm4gc2VsZWN0YWJsZUl0ZW1zLmxlbmd0aCA9PT0gc2VsZWN0ZWRJdGVtcy5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBoYXNTZWxlY3RlZEl0ZW1zKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zICYmIHRoaXMub3B0aW9ucy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBiYnNmLWNvbnRyb2wgYmJzZi1kcm9wZG93blwiIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIj5cclxuICA8ZGl2IFtuZ0NsYXNzXT1cIihvcHRpb25zLnZpZXdUeXBlPT0xKT8nYmJzZi12ZXJ0aWNhbCc6J2Jic2YtaG9yaXpvbnRhbCdcIj5cclxuICAgIDwhLS1sYWJlbC0tPlxyXG4gICAgPGxhYmVsICpuZ0lmPVwiIW9wdGlvbnMuaGlkZUxhYmVsXCIgY2xhc3M9XCJiYnNmLWxhYmVsIHt7b3B0aW9ucy5sYWJlbEV4dHJhQ2xhc3Nlc319XCI+XHJcbiAgICAgIHt7b3B0aW9ucy5sYWJlbFZhbHVlfX1cclxuICAgICAgPCEtLUFzdGVyaXNrLS0+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwiKChvcHRpb25zLnNob3dBc3RlcmlzayYmb3B0aW9ucy5pc1JlcXVpcmVkKXx8KG9wdGlvbnMuaXNSZXF1aXJlZCkpJiYhb3B0aW9ucy5pc1JlYWRvbmx5XCJcclxuICAgICAgICBjbGFzcz1cInRleHQtZGFuZ2VyXCIgYXJpYS1yZXF1aXJlZD1cInRydWVcIj4qPC9zcGFuPlxyXG4gICAgPC9sYWJlbD5cclxuXHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImJic2YtaW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICAgIDwhLS1pbnB1dCBlbmFibGVkIGJvb3RzdHJhcCBzZWxlY3QtLT5cclxuICAgICAgPG5nLXNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbFwiICpuZ0lmPVwib3B0aW9ucy5kaXNhYmxlQm9vdHN0cmFwU2VsZWN0PT1mYWxzZSYmIW9wdGlvbnMuaXNSZWFkb25seVwiXHJcbiAgICAgICAgW2F0dHIuZGlyXT1cIm9wdGlvbnMuZm9yY2VEaXJlY3Rpb249PTI/J3J0bCc6J2F1dG8nXCIgW2JpbmRWYWx1ZV09XCJvcHRpb25zLml0ZW1UZW1wbGV0a2V5XCIgZ3JvdXBCeT1cImdyb3VwXCJcclxuICAgICAgICBbYmluZExhYmVsXT1cIm9wdGlvbnMuaXRlbVRlbXBsZXR2YWx1ZVwiIFtpdGVtc109XCJvcHRpb25zLmRhdGFTb3VyY2VcIiBbbm90Rm91bmRUZXh0XT1cIm9wdGlvbnMubm90Rm91bmRUZXh0XCJcclxuICAgICAgICBbbWF4U2VsZWN0ZWRJdGVtc109XCJvcHRpb25zLmxpbWl0U2VsZWN0aW9uXCIgW3NlYXJjaGFibGVdPVwib3B0aW9ucy5hbGxvd1NlYXJjaEZpbHRlclwiXHJcbiAgICAgICAgW211bHRpcGxlXT1cIiFvcHRpb25zLnNpbmdsZVNlbGVjdGlvblwiIFtyZWFkb25seV09XCJvcHRpb25zLmlzRGlzYWJsZWRcIiBbY2xlYXJhYmxlXT1cInRydWVcIlxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwie3tvcHRpb25zLnBsYWNlaG9sZGVyfX1cIiBpZD1cInt7b3B0aW9ucy5uYW1lfX1cIiBbc2VsZWN0YWJsZUdyb3VwXT1cInRydWVcIlxyXG4gICAgICAgIFtzZWxlY3RhYmxlR3JvdXBBc01vZGVsXT1cImZhbHNlXCIgZm9ybUNvbnRyb2xOYW1lPVwie3tvcHRpb25zLm5hbWV9fVwiIFsobmdNb2RlbCldPVwib3B0aW9ucy5zZWxlY3RlZEl0ZW1zXCJcclxuICAgICAgICAoY2hhbmdlKT1cIm9uSXRlbVNlbGVjdCgpXCIgKGNsZWFyKT1cIkNsZWFyKClcIlxyXG4gICAgICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImRyb3Bkb3duTGlzdEZvcm1Db250cm9sLmludmFsaWQgJiYgZHJvcGRvd25MaXN0Rm9ybUNvbnRyb2wudG91Y2hlZFwiXHJcbiAgICAgICAgW2Nsb3NlT25TZWxlY3RdPVwib3B0aW9ucy5zaW5nbGVTZWxlY3Rpb24gID8gdHJ1ZSA6IGZhbHNlXCI+XHJcblxyXG4gICAgICAgIDwhLS1IZWFkZXIgdGVtcGxhdGUgZm9yIFNlbGVjdCBBbGwgLyBEZXNlbGVjdCBBbGwgd2hlbiBlbmFibGVDaGVja0FsbCBpcyB0cnVlIGFuZCBub3Qgc2luZ2xlIHNlbGVjdGlvbi0tPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1oZWFkZXItdG1wICpuZ0lmPVwib3B0aW9ucy5lbmFibGVDaGVja0FsbCAmJiAhb3B0aW9ucy5zaW5nbGVTZWxlY3Rpb25cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYnNmLXNlbGVjdC1hbGwtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saW5rIGJ0bi1zbSBiYnNmLXNlbGVjdC1hbGwtYnRuXCIgKGNsaWNrKT1cInNlbGVjdEFsbEl0ZW1zKClcIlxyXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJvcHRpb25zLmlzRGlzYWJsZWQgfHwgaXNBbGxTZWxlY3RlZCgpXCI+XHJcbiAgICAgICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKCdzZWxlY3RBbGwnKSB8fCAnU2VsZWN0IEFsbCd9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpbmsgYnRuLXNtIGJic2YtZGVzZWxlY3QtYWxsLWJ0blwiIChjbGljayk9XCJkZXNlbGVjdEFsbEl0ZW1zKClcIlxyXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJvcHRpb25zLmlzRGlzYWJsZWQgfHwgIWhhc1NlbGVjdGVkSXRlbXMoKVwiPlxyXG4gICAgICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgnZGVzZWxlY3RBbGwnKSB8fCAnRGVzZWxlY3QgQWxsJ319XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8IS0tTm8gY2hlY2tib3gsIEN1c3RvbWl6ZSBpdGVtIHRlbXBsYXRlLS0+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiIW9wdGlvbnMuc2hvd0NoZWNrYm94XCIgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaXRlbSQ9XCJpdGVtJFwiIGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJiYnNmLWxhYmVsXCIgdGl0bGU9XCJ7e2l0ZW0uZGlzYWJsZWQgPyBvcHRpb25zLmRpc2FibGVkSXRlbXNUb29sdGlwVmFsdWUgOiAnJ319XCJcclxuICAgICAgICAgICAgaWQ9e3tpdGVtLmtleX19Pnt7aXRlbS52YWx1ZX19PC9sYWJlbD5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwhLS1jaGVja2JveCwgQ3VzdG9taXplIGl0ZW0gdGVtcGxhdGUtLT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25zLnNob3dDaGVja2JveFwiIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWl0ZW0kPVwiaXRlbSRcIiBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIiBiYnNmLWNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYnNmLWlucHV0LWNvbnRhaW5lciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJiYnNmLWNoZWNrYm94LWlucHV0XCIgaWQ9XCJpdGVtLXt7aW5kZXh9fVwiIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCIgW25nTW9kZWxdPVwiaXRlbSQuc2VsZWN0ZWRcIiAvPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1zdWJ0ZXh0LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYmJzZi1sYWJlbFwiIGlkPXt7aXRlbS5rZXl9fT57e2l0ZW0udmFsdWV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8IS0tSGFzIGdyb3VwLCBDdXN0b21pemUgZ3JvdXAgdGVtcGxhdGUtLT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25zLmhhc0dyb3VwXCIgbmctb3B0Z3JvdXAtdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pdGVtJD1cIml0ZW0kXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJiYnNmLWxhYmVsIGJic2YtZ3JvdXAtbGFiZWxcIj57e2l0ZW0uZ3JvdXB9fTwvbGFiZWw+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgIDwvbmctc2VsZWN0PlxyXG5cclxuICAgICAgPCEtLWlucHV0IGRpc2FibGVkIGJvb3RzdHJhcCBzZWxlY3QtLT5cclxuICAgICAgPHNlbGVjdCAqbmdJZj1cIm9wdGlvbnMuZGlzYWJsZUJvb3RzdHJhcFNlbGVjdCYmIW9wdGlvbnMuaXNSZWFkb25seVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICBbYXR0ci5kaXJdPVwib3B0aW9ucy5mb3JjZURpcmVjdGlvbj09Mj8ncnRsJzonYXV0bydcIiAoY2hhbmdlKT1cIm9uSXRlbVNlbGVjdCgpXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cIm9wdGlvbnMuc2VsZWN0ZWRJdGVtc1wiIFtkaXNhYmxlZF09XCJvcHRpb25zLmlzRGlzYWJsZWRcIiBmb3JtQ29udHJvbE5hbWU9XCJ7e29wdGlvbnMubmFtZX19XCI+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiIGRpc2FibGVkPi0te3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwic2VsZWN0XCIpfX0tLTwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3B0aW9ucy5kYXRhU291cmNlXCIgdmFsdWU9XCJ7e2l0ZW0ua2V5fX1cIiBbbmdWYWx1ZV09XCJpdGVtLmtleVwiPlxyXG4gICAgICAgICAge3tpdGVtLnZhbHVlfX1cclxuICAgICAgICA8L29wdGlvbj5cclxuICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgIDwhLS0gcmVhZG9ubHkgLS0+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJvcHRpb25zLmlzUmVhZG9ubHlcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInJlYWRvbmx5LXZpZXdcIj57e2dldFNlbGVjdGVkSXRlbVZhbHVlKCl9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzdWJ0ZXh0LWNvbnRhaW5lclwiICpuZ0lmPVwiIW9wdGlvbnMuaXNSZWFkb25seVwiPlxyXG4gICAgICA8IS0tIExhYmVsRGVzY3JpcHRpb24tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImJic2YtY29udHJvbC1kZXNjXCIgKm5nSWY9XCJvcHRpb25zLmxhYmVsRGVzY3JpcHRpb24hPW51bGxcIj57e29wdGlvbnMubGFiZWxEZXNjcmlwdGlvbn19PC9kaXY+XHJcbiAgICAgIDwhLS0gcmVxdWlyZWRUZXh0LS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYnNmLXZhbGlkYXRpb25cIiAqbmdJZj1cIihkcm9wZG93bkxpc3RGb3JtQ29udHJvbC5pbnZhbGlkICYmIGRyb3Bkb3duTGlzdEZvcm1Db250cm9sLnRvdWNoZWQpXCI+XHJcbiAgICAgICAge3tnZXRFcnJvclZhbGlkYXRpb24oZHJvcGRvd25MaXN0Rm9ybUNvbnRyb2wuZXJyb3JzfGtleXZhbHVlKX19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiKGdyb3VwLnZhbGlkJiZncm91cC5kaXJ0eSYmZ3JvdXAudG91Y2hlZCApfHwoZ3JvdXAudW50b3VjaGVkJiZncm91cC5pbnZhbGlkJiZncm91cC5kaXJ0eSkgXCI+XHJcbiAgICAgIHt7cmVzZXRFcnJvcigpfX1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=