@bnsights/bbsf-admin-portal 1.0.32 → 1.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +5 -0
  2. package/bnsights-bbsf-admin-portal-1.0.35.tgz +0 -0
  3. package/bundles/bnsights-bbsf-admin-portal.umd.js +1248 -1118
  4. package/bundles/bnsights-bbsf-admin-portal.umd.js.map +1 -1
  5. package/esm2015/lib/Pages/ActiveDirectories/active-directory/active-directory.component.js +9 -1
  6. package/esm2015/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.js +18 -14
  7. package/esm2015/lib/Pages/anonymouslayout/anonymouslayout.component.js +6 -2
  8. package/esm2015/lib/Pages/configurations/configuration/configuration.component.js +6 -1
  9. package/esm2015/lib/Pages/departments/department/department.component.js +14 -15
  10. package/esm2015/lib/Pages/helpCenter/help-center/help-center.component.js +33 -42
  11. package/esm2015/lib/Pages/helpCenter/help-center-preview/help-center-preview.component.js +2 -2
  12. package/esm2015/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.js +21 -21
  13. package/esm2015/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.js +21 -21
  14. package/esm2015/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.js +44 -44
  15. package/esm2015/lib/Pages/localizations/localizations-replace-text/localizations-replace-text.component.js +2 -1
  16. package/esm2015/lib/Pages/localizations/localizations.component.js +18 -17
  17. package/esm2015/lib/Pages/lookups/lookup/lookup.component.js +23 -21
  18. package/esm2015/lib/Pages/lookups/lookup-group/lookup-group.component.js +6 -6
  19. package/esm2015/lib/Pages/lookups/lookup-item/lookup-item.component.js +17 -13
  20. package/esm2015/lib/Pages/notifications/add/add.component.js +2 -1
  21. package/esm2015/lib/Pages/notifications/edit/edit.component.js +2 -1
  22. package/esm2015/lib/Pages/notifications/edit-email/edit-email.component.js +19 -17
  23. package/esm2015/lib/Pages/notifications/edit-sms/edit-sms.component.js +6 -6
  24. package/esm2015/lib/Pages/notifications/template-info/template-info.component.js +38 -38
  25. package/esm2015/lib/Pages/notifications/templates/templates.component.js +51 -45
  26. package/esm2015/lib/Pages/providers/provider/provider.component.js +22 -16
  27. package/esm2015/lib/Pages/publicHolidays/public-holiday/public-holiday.component.js +36 -33
  28. package/esm2015/lib/Pages/roles/permission-set-info/permission-set-info.component.js +5 -2
  29. package/esm2015/lib/Pages/roles/permissions/permissions.component.js +11 -9
  30. package/esm2015/lib/Pages/roles/permissionsets/permissionsets.component.js +25 -19
  31. package/esm2015/lib/Pages/sectors/department-info/department-info.component.js +2 -2
  32. package/esm2015/lib/Pages/sectors/sector/sector.component.js +5 -5
  33. package/esm2015/lib/Pages/sectors/sector-info/sector-info.component.js +4 -4
  34. package/esm2015/lib/Pages/shared/models/ADModels/ActiveDirectoryAddEditModel.js +1 -1
  35. package/esm2015/lib/Pages/shared/models/DepartmentModels/DepartmentModel.js +1 -26
  36. package/esm2015/lib/Pages/shared/models/LocalizationModels/EditResourceModel.js +6 -1
  37. package/esm2015/lib/Pages/shared/models/NotificationsModels/TemplateEditViewModel.js +3 -3
  38. package/esm2015/lib/Pages/shared/models/PermissionsModels/PermissionSetModel.js +1 -1
  39. package/esm2015/lib/Pages/shared/models/UserModels/AddUserModel.js +3 -1
  40. package/esm2015/lib/Pages/shared/models/UserModels/EditUserModel.js +3 -1
  41. package/esm2015/lib/Pages/users/users.component.js +42 -37
  42. package/esm2015/lib/Pages/workflows/activity/workflow-activity-add/workflow-activity-add.component.js +73 -67
  43. package/esm2015/lib/Pages/workflows/activity/workflow-activity-edit/workflow-activity-edit.component.js +21 -1
  44. package/esm2015/lib/Pages/workflows/tabs/tabs.component.js +27 -19
  45. package/esm2015/lib/Pages/workflows/workflow/workflow.component.js +19 -19
  46. package/fesm2015/bnsights-bbsf-admin-portal.js +1249 -1116
  47. package/fesm2015/bnsights-bbsf-admin-portal.js.map +1 -1
  48. package/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.d.ts +1 -1
  49. package/lib/Pages/anonymouslayout/anonymouslayout.component.d.ts +1 -0
  50. package/lib/Pages/shared/models/ADModels/ActiveDirectoryAddEditModel.d.ts +2 -0
  51. package/lib/Pages/shared/models/DepartmentModels/DepartmentModel.d.ts +6 -7
  52. package/lib/Pages/shared/models/LocalizationModels/EditResourceModel.d.ts +3 -4
  53. package/lib/Pages/shared/models/NotificationsModels/TemplateEditViewModel.d.ts +2 -2
  54. package/lib/Pages/shared/models/PermissionsModels/PermissionSetModel.d.ts +1 -0
  55. package/lib/Pages/shared/models/UserModels/AddUserModel.d.ts +2 -0
  56. package/lib/Pages/shared/models/UserModels/EditUserModel.d.ts +2 -0
  57. package/package.json +2 -2
  58. package/bnsights-bbsf-admin-portal-1.0.32.tgz +0 -0
  59. package/esm2015/lib/Pages/shared/Enums/ADWindowsType.js +0 -6
  60. package/lib/Pages/shared/Enums/ADWindowsType.d.ts +0 -4
@@ -34,15 +34,15 @@ export class EditEmailComponent {
34
34
  EditModel.IsSms = false;
35
35
  EditModel.TemplateName = this.TemplateInfo.templateName;
36
36
  EditModel.Language = this.Lang;
37
- EditModel.emailtemplateinfo.ID_GUID = this.TemplateInfo.emailTemplateInfo.iD_GUID;
38
- EditModel.emailtemplateinfo.EmailBody.Arabic = ResultModel.EmailBodyInArabic;
39
- EditModel.emailtemplateinfo.EmailBody.English = ResultModel.EmailBodyInEnglish;
40
- EditModel.emailtemplateinfo.EmailSubject.Arabic = ResultModel.EmailSubjectInArabic;
41
- EditModel.emailtemplateinfo.EmailSubject.English = ResultModel.EmailSubjectInEnglish;
42
- EditModel.emailtemplateinfo.EmailHtmlBodyTagAttributes.Arabic = ResultModel.HtmlBodyTagAttributesArabic;
43
- EditModel.emailtemplateinfo.EmailHtmlBodyTagAttributes.English = ResultModel.HtmlBodyTagAttributesEnglish;
44
- EditModel.emailtemplateinfo.EmailHtmlHeadSection.Arabic = ResultModel.HTMLHeadSectionInArabic;
45
- EditModel.emailtemplateinfo.EmailHtmlHeadSection.English = ResultModel.HTMLHeadSectionInEnglish;
37
+ EditModel.EmailTemplateInfo.ID_GUID = this.TemplateInfo.emailTemplateInfo.iD_GUID;
38
+ EditModel.EmailTemplateInfo.EmailBody.Arabic = ResultModel["EmailTemplateInfo.EmailBody.Arabic"];
39
+ EditModel.EmailTemplateInfo.EmailBody.English = ResultModel["EmailTemplateInfo.EmailBody.English"];
40
+ EditModel.EmailTemplateInfo.EmailSubject.Arabic = ResultModel["EmailTemplateInfo.EmailSubject.Arabic"];
41
+ EditModel.EmailTemplateInfo.EmailSubject.English = ResultModel["EmailTemplateInfo.EmailSubject.English"];
42
+ EditModel.EmailTemplateInfo.EmailHtmlBodyTagAttributes.Arabic = ResultModel["EmailTemplateInfo.EmailHtmlBodyTagAttributes.Arabic"];
43
+ EditModel.EmailTemplateInfo.EmailHtmlBodyTagAttributes.English = ResultModel["EmailTemplateInfo.EmailHtmlBodyTagAttributes.English"];
44
+ EditModel.EmailTemplateInfo.EmailHtmlHeadSection.Arabic = ResultModel["EmailTemplateInfo.EmailHtmlHeadSection.Arabic"];
45
+ EditModel.EmailTemplateInfo.EmailHtmlHeadSection.English = ResultModel["EmailTemplateInfo.EmailHtmlHeadSection.English"];
46
46
  paramArray.push(EditModel);
47
47
  return paramArray;
48
48
  };
@@ -91,35 +91,37 @@ export class EditEmailComponent {
91
91
  this.EditEmailFormOptions.ServiceSubmitFunction = this.getEditEmailFunction;
92
92
  this.EditEmailFormOptions.OnSuccessHandler = this.onEditEmailSuccess;
93
93
  this.EmailBodyInEnglish = new HtmlEditorOptions();
94
- this.EmailBodyInEnglish.Name = "EmailBodyInEnglish";
94
+ this.EmailBodyInEnglish.Name = "EmailTemplateInfo.EmailBody.English";
95
95
  this.EmailBodyInEnglish.LabelKey = "EmailBodyInEnglish";
96
96
  this.EmailBodyInEnglish.IsRequired = true;
97
97
  this.EmailBodyInEnglish.Value = this.TemplateInfo.emailTemplateInfo.emailBody.english;
98
98
  this.EmailBodyInArabic = new HtmlEditorOptions();
99
- this.EmailBodyInArabic.Name = "EmailBodyInArabic";
99
+ this.EmailBodyInArabic.Name = "EmailTemplateInfo.EmailBody.Arabic";
100
100
  this.EmailBodyInArabic.LabelKey = "EmailBodyInArabic";
101
101
  this.EmailBodyInArabic.IsRequired = true;
102
102
  this.EmailBodyInArabic.ForceDirection = ForceDirection.Arabic;
103
103
  this.EmailBodyInArabic.Value = this.TemplateInfo.emailTemplateInfo.emailBody.arabic;
104
104
  this.EmailSubjectInEnglish = new TextBoxOptions();
105
- this.EmailSubjectInEnglish.Name = "EmailSubjectInEnglish";
105
+ this.EmailSubjectInEnglish.Name = "EmailTemplateInfo.EmailSubject.English";
106
106
  this.EmailSubjectInEnglish.LabelValue = "EmailSubjectInEnglish";
107
107
  this.EmailSubjectInEnglish.LabelKey = "EmailSubjectInEnglish";
108
108
  this.EmailSubjectInEnglish.Type = InputType.Text;
109
109
  this.EmailSubjectInEnglish.Value = this.TemplateInfo.emailTemplateInfo.emailSubject.english;
110
+ this.EmailSubjectInEnglish.MaxLength = 70;
110
111
  this.EmailSubjectInArabic = new TextBoxOptions();
111
- this.EmailSubjectInArabic.Name = "EmailSubjectInArabic";
112
+ this.EmailSubjectInArabic.Name = "EmailTemplateInfo.EmailSubject.Arabic";
112
113
  this.EmailSubjectInArabic.LabelKey = "EmailSubjectInArabic";
113
114
  this.EmailSubjectInArabic.Type = InputType.Text;
114
115
  this.EmailSubjectInArabic.ForceDirection = ForceDirection.Arabic;
115
116
  this.EmailSubjectInArabic.Value = this.TemplateInfo.emailTemplateInfo.emailSubject.arabic;
117
+ this.EmailSubjectInArabic.MaxLength = 70;
116
118
  this.HtmlBodyTagAttributesEnglish = new TextBoxOptions();
117
- this.HtmlBodyTagAttributesEnglish.Name = "HtmlBodyTagAttributesEnglish";
119
+ this.HtmlBodyTagAttributesEnglish.Name = "EmailTemplateInfo.EmailHtmlBodyTagAttributes.English";
118
120
  this.HtmlBodyTagAttributesEnglish.LabelKey = "HtmlBodyTagAttributesEnglish";
119
121
  this.HtmlBodyTagAttributesEnglish.Type = InputType.Text;
120
122
  this.HtmlBodyTagAttributesEnglish.Value = this.TemplateInfo.emailTemplateInfo.emailHtmlBodyTagAttributes.english;
121
123
  this.HtmlBodyTagAttributesArabic = new TextBoxOptions();
122
- this.HtmlBodyTagAttributesArabic.Name = "HtmlBodyTagAttributesArabic";
124
+ this.HtmlBodyTagAttributesArabic.Name = "EmailTemplateInfo.EmailHtmlBodyTagAttributes.Arabic";
123
125
  this.HtmlBodyTagAttributesArabic.LabelKey = "HtmlBodyTagAttributesArabic";
124
126
  this.HtmlBodyTagAttributesArabic.Type = InputType.Text;
125
127
  this.HtmlBodyTagAttributesArabic.ForceDirection = ForceDirection.Arabic;
@@ -130,7 +132,7 @@ export class EditEmailComponent {
130
132
  this.HTMLHeadSectionInEnglish.Type = InputType.Text;
131
133
  this.HTMLHeadSectionInEnglish.Value = this.TemplateInfo.emailTemplateInfo.emailHtmlHeadSection.english;
132
134
  this.HTMLHeadSectionInArabic = new TextBoxOptions();
133
- this.HTMLHeadSectionInArabic.Name = "HTMLHeadSectionInArabic";
135
+ this.HTMLHeadSectionInArabic.Name = "EmailTemplateInfo.EmailHtmlHeadSection.Arabic";
134
136
  this.HTMLHeadSectionInArabic.LabelKey = "HTMLHeadSectionInArabic";
135
137
  this.HTMLHeadSectionInArabic.Type = InputType.Text;
136
138
  this.HTMLHeadSectionInArabic.ForceDirection = ForceDirection.Arabic;
@@ -159,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
159
161
  templateUrl: './edit-email.component.html'
160
162
  }]
161
163
  }], ctorParameters: function () { return [{ type: i1.PageInfoService }, { type: i2.UtilityService }, { type: i2.BBSFTranslateService }, { type: i3.TemplateService }, { type: i4.ActivatedRoute }, { type: i4.Router }, { type: i2.RequestHandlerService }]; } });
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1lbWFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL25vdGlmaWNhdGlvbnMvZWRpdC1lbWFpbC9lZGl0LWVtYWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvbm90aWZpY2F0aW9ucy9lZGl0LWVtYWlsL2VkaXQtZW1haWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUVBQWlFLENBQUM7Ozs7Ozs7OztBQVF4RyxNQUFNLE9BQU8sa0JBQWtCO0lBb0I3QixZQUFvQixlQUFnQyxFQUFTLGNBQThCLEVBQ2pGLG9CQUEwQyxFQUFVLGVBQWdDLEVBQ3BGLGNBQThCLEVBQVUsTUFBYyxFQUFVLHFCQUE0QztRQUZsRyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBUyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDakYseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNwRixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtR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QUM7SUFDbkIsQ0FBQztJQUVELFlBQVk7SUFDWixXQUFXO1FBQ1QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzlDLENBQUM7O2dIQWpLVSxrQkFBa0I7b0dBQWxCLGtCQUFrQixzRENkL0IsczRHQWlGQTs0RkRuRWEsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFdBQVcsRUFBRSw2QkFBNkI7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRm9yY2VEaXJlY3Rpb24sIEZvcm1PcHRpb25zLCBIdG1sRWRpdG9yT3B0aW9ucywgSW5wdXRUeXBlLCBUZXh0Qm94T3B0aW9ucyB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuaW1wb3J0IHsgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX21ldHJvbmljL2NvcmUvc2VydmljZXMvcGFnZS1pbmZvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvU2VydmljZXMvVGVtcGxhdGVTZXJ2aWNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZUVkaXRWaWV3TW9kZWwgfSBmcm9tICcuLy4uLy4uL3NoYXJlZC9tb2RlbHMvTm90aWZpY2F0aW9uc01vZGVscy9UZW1wbGF0ZUVkaXRWaWV3TW9kZWwnO1xyXG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSwgQkJTRlRyYW5zbGF0ZVNlcnZpY2UsIFJlcXVlc3RIYW5kbGVyU2VydmljZSB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWVkaXQtZW1haWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGl0LWVtYWlsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRWRpdEVtYWlsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvL1BhZ2UgUmVxdWlyZW1lbnRzXHJcbiAgVGVtcGxhdGVJZDogc3RyaW5nO1xyXG4gIExhbmc6IHN0cmluZyA9IFwiXCJcclxuICBUZW1wbGF0ZUluZm86IGFueVxyXG4gIElzRm9ybUxvYWRlZDogYm9vbGVhblxyXG5cclxuICAvL0luaXRpYWxpemUgZm9ybSBhbmQgY29udHJvbHNcclxuICBFZGl0RW1haWxGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgRWRpdEVtYWlsRm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnM7XHJcbiAgRW1haWxTdWJqZWN0SW5FbmdsaXNoOiBUZXh0Qm94T3B0aW9ucztcclxuICBFbWFpbFN1YmplY3RJbkFyYWJpYzogVGV4dEJveE9wdGlvbnM7XHJcbiAgRW1haWxCb2R5SW5FbmdsaXNoOiBIdG1sRWRpdG9yT3B0aW9ucztcclxuICBFbWFpbEJvZHlJbkFyYWJpYzogSHRtbEVkaXRvck9wdGlvbnM7XHJcbiAgSHRtbEJvZHlUYWdBdHRyaWJ1dGVzRW5nbGlzaDogVGV4dEJveE9wdGlvbnM7XHJcbiAgSHRtbEJvZHlUYWdBdHRyaWJ1dGVzQXJhYmljOiBUZXh0Qm94T3B0aW9ucztcclxuICBIVE1MSGVhZFNlY3Rpb25JbkVuZ2xpc2g6IFRleHRCb3hPcHRpb25zO1xyXG4gIEhUTUxIZWFkU2VjdGlvbkluQXJhYmljOiBUZXh0Qm94T3B0aW9ucztcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFnZUluZm9TZXJ2aWNlOiBQYWdlSW5mb1NlcnZpY2UsIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGJic2ZUcmFuc2xhdGVTZXJ2aWNlOiBCQlNGVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSB0ZW1wbGF0ZVNlcnZpY2U6IFRlbXBsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHJlcXVlc3RIYW5kbGVyU2VydmljZTogUmVxdWVzdEhhbmRsZXJTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgdGhpcy5UZW1wbGF0ZUlkID0gcGFyYW1zWydpZCddO1xyXG4gICAgICB0aGlzLkxhbmcgPSBwYXJhbXNbJ2xhbmcnXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmJic2ZUcmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIH0pXHJcbiAgICB0aGlzLmluaXRpYWxpemVQYWdlKCk7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplUGFnZSgpIHtcclxuICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmdldFRlbXBsYXRlSW5mb0J5TGFuZyh0aGlzLlRlbXBsYXRlSWQsIHRoaXMuTGFuZykuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgbGV0IFJlc3VsdDogYW55ID0gcmVzdWx0XHJcbiAgICAgIHRoaXMuVGVtcGxhdGVJbmZvID0gUmVzdWx0LnZhbDtcclxuICAgICAgbGV0IFRlbXBsYXRlTmFtZTogc3RyaW5nID0gdGhpcy5UZW1wbGF0ZUluZm8uZW1haWxUZW1wbGF0ZUluZm8uZW1haWxTdWJqZWN0U3RyO1xyXG4gICAgICBpZiAoVGVtcGxhdGVOYW1lID09IG51bGwgfHwgVGVtcGxhdGVOYW1lID09IHVuZGVmaW5lZClcclxuICAgICAgICBUZW1wbGF0ZU5hbWUgPSBcIlwiO1xyXG5cclxuICAgICAgUGFnZUluZm9TZXJ2aWNlLlBhZ2VUaXRsZSA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkVkaXRcIilcclxuICAgICAgUGFnZUluZm9TZXJ2aWNlLlBhZ2VCcmVhZGNydW1icyA9IFtcclxuICAgICAgICB7IHRpdGxlOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJIb21lXCIpLCBwYXRoOiAnL0FkbWluL0hvbWUnLCBpc1NlcGFyYXRvcjogZmFsc2UsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgdGl0bGU6IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlRlbXBsYXRlc1wiKSwgcGF0aDogJy9BZG1pbi9Ob3RpZmljYXRpb25zL1RlbXBsYXRlcycsIGlzU2VwYXJhdG9yOiBmYWxzZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyB0aXRsZTogJycsIHBhdGg6ICcnLCBpc1NlcGFyYXRvcjogdHJ1ZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyB0aXRsZTogVGVtcGxhdGVOYW1lICE9IFwiXCIgPyB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoVGVtcGxhdGVOYW1lKSA6IFwiXCIsIHBhdGg6IFwiL0FkbWluL05vdGlmaWNhdGlvbnMvVGVtcGxhdGVJbmZvL1wiICsgdGhpcy5UZW1wbGF0ZUluZm8uaURfR1VJRCwgaXNTZXBhcmF0b3I6IGZhbHNlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiAnJywgcGF0aDogJycsIGlzU2VwYXJhdG9yOiB0cnVlLCBpc0FjdGl2ZTogZmFsc2UgfVxyXG4gICAgICBdO1xyXG4gICAgICB0aGlzLnBhZ2VJbmZvU2VydmljZS5jYWxjdWxhdGVUaXRsZSgpO1xyXG4gICAgICB0aGlzLnBhZ2VJbmZvU2VydmljZS5jYWxjdWxhdGVCcmVhZGNydW1icygpO1xyXG5cclxuICAgICAgLy9Jbml0aWFsaXplIGZvcm0gYW5kIGNvbnRyb2xzXHJcbiAgICAgIHRoaXMuRWRpdEVtYWlsRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gICAgICB0aGlzLkVkaXRFbWFpbEZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuRWRpdEVtYWlsRm9ybU9wdGlvbnMuRm9ybUdyb3VwID0gdGhpcy5FZGl0RW1haWxGb3JtXHJcbiAgICAgIHRoaXMuRWRpdEVtYWlsRm9ybU9wdGlvbnMuR2V0TW9kZWxGdW5jdGlvbiA9IHRoaXMuZ2V0RWRpdEVtYWlsTW9kZWw7XHJcbiAgICAgIHRoaXMuRWRpdEVtYWlsRm9ybU9wdGlvbnMuU2VydmljZVN1Ym1pdEZ1bmN0aW9uID0gdGhpcy5nZXRFZGl0RW1haWxGdW5jdGlvbjtcclxuICAgICAgdGhpcy5FZGl0RW1haWxGb3JtT3B0aW9ucy5PblN1Y2Nlc3NIYW5kbGVyID0gdGhpcy5vbkVkaXRFbWFpbFN1Y2Nlc3M7XHJcblxyXG4gICAgICB0aGlzLkVtYWlsQm9keUluRW5nbGlzaCA9IG5ldyBIdG1sRWRpdG9yT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVtYWlsQm9keUluRW5nbGlzaC5OYW1lID0gXCJFbWFpbEJvZHlJbkVuZ2xpc2hcIlxyXG4gICAgICB0aGlzLkVtYWlsQm9keUluRW5nbGlzaC5MYWJlbEtleSA9IFwiRW1haWxCb2R5SW5FbmdsaXNoXCJcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkVuZ2xpc2guSXNSZXF1aXJlZCA9IHRydWVcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkVuZ2xpc2guVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbFRlbXBsYXRlSW5mby5lbWFpbEJvZHkuZW5nbGlzaDtcclxuXHJcbiAgICAgIHRoaXMuRW1haWxCb2R5SW5BcmFiaWMgPSBuZXcgSHRtbEVkaXRvck9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkFyYWJpYy5OYW1lID0gXCJFbWFpbEJvZHlJbkFyYWJpY1wiXHJcbiAgICAgIHRoaXMuRW1haWxCb2R5SW5BcmFiaWMuTGFiZWxLZXkgPSBcIkVtYWlsQm9keUluQXJhYmljXCJcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkFyYWJpYy5Jc1JlcXVpcmVkID0gdHJ1ZVxyXG4gICAgICB0aGlzLkVtYWlsQm9keUluQXJhYmljLkZvcmNlRGlyZWN0aW9uID0gRm9yY2VEaXJlY3Rpb24uQXJhYmljXHJcbiAgICAgIHRoaXMuRW1haWxCb2R5SW5BcmFiaWMuVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbFRlbXBsYXRlSW5mby5lbWFpbEJvZHkuYXJhYmljO1xyXG5cclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkVuZ2xpc2ggPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkVuZ2xpc2guTmFtZSA9IFwiRW1haWxTdWJqZWN0SW5FbmdsaXNoXCJcclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkVuZ2xpc2guTGFiZWxWYWx1ZSA9IFwiRW1haWxTdWJqZWN0SW5FbmdsaXNoXCJcclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkVuZ2xpc2guTGFiZWxLZXkgPSBcIkVtYWlsU3ViamVjdEluRW5nbGlzaFwiXHJcbiAgICAgIHRoaXMuRW1haWxTdWJqZWN0SW5FbmdsaXNoLlR5cGUgPSBJbnB1dFR5cGUuVGV4dFxyXG4gICAgICB0aGlzLkVtYWlsU3ViamVjdEluRW5nbGlzaC5WYWx1ZSA9IHRoaXMuVGVtcGxhdGVJbmZvLmVtYWlsVGVtcGxhdGVJbmZvLmVtYWlsU3ViamVjdC5lbmdsaXNoO1xyXG5cclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkFyYWJpYyA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVtYWlsU3ViamVjdEluQXJhYmljLk5hbWUgPSBcIkVtYWlsU3ViamVjdEluQXJhYmljXCJcclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkFyYWJpYy5MYWJlbEtleSA9IFwiRW1haWxTdWJqZWN0SW5BcmFiaWNcIlxyXG4gICAgICB0aGlzLkVtYWlsU3ViamVjdEluQXJhYmljLlR5cGUgPSBJbnB1dFR5cGUuVGV4dFxyXG4gICAgICB0aGlzLkVtYWlsU3ViamVjdEluQXJhYmljLkZvcmNlRGlyZWN0aW9uID0gRm9yY2VEaXJlY3Rpb24uQXJhYmljXHJcbiAgICAgIHRoaXMuRW1haWxTdWJqZWN0SW5BcmFiaWMuVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbFRlbXBsYXRlSW5mby5lbWFpbFN1YmplY3QuYXJhYmljO1xyXG5cclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuSHRtbEJvZHlUYWdBdHRyaWJ1dGVzRW5nbGlzaC5OYW1lID0gXCJIdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoXCJcclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoLkxhYmVsS2V5ID0gXCJIdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoXCJcclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoLlR5cGUgPSBJbnB1dFR5cGUuVGV4dFxyXG4gICAgICB0aGlzLkh0bWxCb2R5VGFnQXR0cmlidXRlc0VuZ2xpc2guVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbFRlbXBsYXRlSW5mby5lbWFpbEh0bWxCb2R5VGFnQXR0cmlidXRlcy5lbmdsaXNoO1xyXG5cclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNBcmFiaWMgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNBcmFiaWMuTmFtZSA9IFwiSHRtbEJvZHlUYWdBdHRyaWJ1dGVzQXJhYmljXCJcclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNBcmFiaWMuTGFiZWxLZXkgPSBcIkh0bWxCb2R5VGFnQXR0cmlidXRlc0FyYWJpY1wiXHJcbiAgICAgIHRoaXMuSHRtbEJvZHlUYWdBdHRyaWJ1dGVzQXJhYmljLlR5cGUgPSBJbnB1dFR5cGUuVGV4dFxyXG4gICAgICB0aGlzLkh0bWxCb2R5VGFnQXR0cmlidXRlc0FyYWJpYy5Gb3JjZURpcmVjdGlvbiA9IEZvcmNlRGlyZWN0aW9uLkFyYWJpY1xyXG4gICAgICB0aGlzLkh0bWxCb2R5VGFnQXR0cmlidXRlc0FyYWJpYy5WYWx1ZSA9IHRoaXMuVGVtcGxhdGVJbmZvLmVtYWlsVGVtcGxhdGVJbmZvLmVtYWlsSHRtbEJvZHlUYWdBdHRyaWJ1dGVzLmFyYWJpYztcclxuXHJcbiAgICAgIHRoaXMuSFRNTEhlYWRTZWN0aW9uSW5FbmdsaXNoID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuSFRNTEhlYWRTZWN0aW9uSW5FbmdsaXNoLk5hbWUgPSBcIkhUTUxIZWFkU2VjdGlvbkluRW5nbGlzaFwiXHJcbiAgICAgIHRoaXMuSFRNTEhlYWRTZWN0aW9uSW5FbmdsaXNoLkxhYmVsS2V5ID0gXCJIVE1MSGVhZFNlY3Rpb25JbkVuZ2xpc2hcIlxyXG4gICAgICB0aGlzLkhUTUxIZWFkU2VjdGlvbkluRW5nbGlzaC5UeXBlID0gSW5wdXRUeXBlLlRleHRcclxuICAgICAgdGhpcy5IVE1MSGVhZFNlY3Rpb25JbkVuZ2xpc2guVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbFRlbXBsYXRlSW5mby5lbWFpbEh0bWxIZWFkU2VjdGlvbi5lbmdsaXNoO1xyXG5cclxuICAgICAgdGhpcy5IVE1MSGVhZFNlY3Rpb25JbkFyYWJpYyA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkhUTUxIZWFkU2VjdGlvbkluQXJhYmljLk5hbWUgPSBcIkhUTUxIZWFkU2VjdGlvbkluQXJhYmljXCJcclxuICAgICAgdGhpcy5IVE1MSGVhZFNlY3Rpb25JbkFyYWJpYy5MYWJlbEtleSA9IFwiSFRNTEhlYWRTZWN0aW9uSW5BcmFiaWNcIlxyXG4gICAgICB0aGlzLkhUTUxIZWFkU2VjdGlvbkluQXJhYmljLlR5cGUgPSBJbnB1dFR5cGUuVGV4dFxyXG4gICAgICB0aGlzLkhUTUxIZWFkU2VjdGlvbkluQXJhYmljLkZvcmNlRGlyZWN0aW9uID0gRm9yY2VEaXJlY3Rpb24uQXJhYmljXHJcbiAgICAgIHRoaXMuSFRNTEhlYWRTZWN0aW9uSW5BcmFiaWMuVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbFRlbXBsYXRlSW5mby5lbWFpbEh0bWxIZWFkU2VjdGlvbi5hcmFiaWM7XHJcbiAgICAgIHRoaXMuSXNGb3JtTG9hZGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcbiAgZ2V0RWRpdEVtYWlsTW9kZWwgPSAoKSA9PiB7XHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIGxldCBSZXN1bHRNb2RlbCA9IHRoaXMuRWRpdEVtYWlsRm9ybS52YWx1ZTtcclxuICAgIGxldCBFZGl0TW9kZWwgPSBuZXcgVGVtcGxhdGVFZGl0Vmlld01vZGVsKCk7XHJcbiAgICBFZGl0TW9kZWwuSURfR1VJRCA9IHRoaXMuVGVtcGxhdGVJZDtcclxuICAgIEVkaXRNb2RlbC5Jc0VtYWlsID0gdHJ1ZTtcclxuICAgIEVkaXRNb2RlbC5Jc1NtcyA9IGZhbHNlO1xyXG4gICAgRWRpdE1vZGVsLlRlbXBsYXRlTmFtZSA9IHRoaXMuVGVtcGxhdGVJbmZvLnRlbXBsYXRlTmFtZTtcclxuICAgIEVkaXRNb2RlbC5MYW5ndWFnZSA9IHRoaXMuTGFuZztcclxuICAgIEVkaXRNb2RlbC5lbWFpbHRlbXBsYXRlaW5mby5JRF9HVUlEID0gdGhpcy5UZW1wbGF0ZUluZm8uZW1haWxUZW1wbGF0ZUluZm8uaURfR1VJRDtcclxuICAgIEVkaXRNb2RlbC5lbWFpbHRlbXBsYXRlaW5mby5FbWFpbEJvZHkuQXJhYmljID0gUmVzdWx0TW9kZWwuRW1haWxCb2R5SW5BcmFiaWNcclxuICAgIEVkaXRNb2RlbC5lbWFpbHRlbXBsYXRlaW5mby5FbWFpbEJvZHkuRW5nbGlzaCA9IFJlc3VsdE1vZGVsLkVtYWlsQm9keUluRW5nbGlzaFxyXG4gICAgRWRpdE1vZGVsLmVtYWlsdGVtcGxhdGVpbmZvLkVtYWlsU3ViamVjdC5BcmFiaWMgPSBSZXN1bHRNb2RlbC5FbWFpbFN1YmplY3RJbkFyYWJpY1xyXG4gICAgRWRpdE1vZGVsLmVtYWlsdGVtcGxhdGVpbmZvLkVtYWlsU3ViamVjdC5FbmdsaXNoID0gUmVzdWx0TW9kZWwuRW1haWxTdWJqZWN0SW5FbmdsaXNoXHJcbiAgICBFZGl0TW9kZWwuZW1haWx0ZW1wbGF0ZWluZm8uRW1haWxIdG1sQm9keVRhZ0F0dHJpYnV0ZXMuQXJhYmljID0gUmVzdWx0TW9kZWwuSHRtbEJvZHlUYWdBdHRyaWJ1dGVzQXJhYmljXHJcbiAgICBFZGl0TW9kZWwuZW1haWx0ZW1wbGF0ZWluZm8uRW1haWxIdG1sQm9keVRhZ0F0dHJpYnV0ZXMuRW5nbGlzaCA9IFJlc3VsdE1vZGVsLkh0bWxCb2R5VGFnQXR0cmlidXRlc0VuZ2xpc2hcclxuICAgIEVkaXRNb2RlbC5lbWFpbHRlbXBsYXRlaW5mby5FbWFpbEh0bWxIZWFkU2VjdGlvbi5BcmFiaWMgPSBSZXN1bHRNb2RlbC5IVE1MSGVhZFNlY3Rpb25JbkFyYWJpY1xyXG4gICAgRWRpdE1vZGVsLmVtYWlsdGVtcGxhdGVpbmZvLkVtYWlsSHRtbEhlYWRTZWN0aW9uLkVuZ2xpc2ggPSBSZXN1bHRNb2RlbC5IVE1MSGVhZFNlY3Rpb25JbkVuZ2xpc2hcclxuXHJcbiAgICBwYXJhbUFycmF5LnB1c2goRWRpdE1vZGVsKTtcclxuICAgIHJldHVybiBwYXJhbUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0RWRpdEVtYWlsRnVuY3Rpb24gPSAoRWRpdE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlU2VydmljZS5lZGl0RW1haWxUZW1wbGF0ZUJ5TGFuZyhFZGl0TW9kZWwpXHJcbiAgfVxyXG4gIG9uRWRpdEVtYWlsU3VjY2VzcyA9IChyZXN1bHQpID0+IHtcclxuICAgIHRoaXMuY2FuY2VsRWRpdCgpO1xyXG4gIH1cclxuICBjYW5jZWxFZGl0KCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvQWRtaW4vTm90aWZpY2F0aW9ucy9UZW1wbGF0ZUluZm8nLCB0aGlzLlRlbXBsYXRlSWRdKTtcclxuICB9XHJcblxyXG4gIC8vQ2hhbmdlIExhbmdcclxuICBjaGFuZ2VDdXJyZW50TGFuZ3VhZ2UobGFuZzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLkxhbmcgPSBsYW5nO1xyXG4gIH1cclxuXHJcbiAgLy9PbiBkZXN0cm95XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVlc3RIYW5kbGVyU2VydmljZS5kZXN0cm95SGFuZGxlcigpO1xyXG4gIH1cclxufVxyXG4iLCI8YmxvY2stdWk+PC9ibG9jay11aT5cclxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWN1c3RvbS1oXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC01XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN1YmhlYWRlcnRvb2xiYXJcIj5cclxuICAgICAgICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLWxpZ2h0LXByaW1hcnkgYnRuLXNtXCIgKGNsaWNrKT1cImNoYW5nZUN1cnJlbnRMYW5ndWFnZSgnYXInKVwiICpuZ0lmPVwiTGFuZz09J2VuJ1wiPlxyXG4gICAgICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFyYWJpY1wiKX19XHJcblxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDxhIGNsYXNzPVwiYnRuIGJ0bi1saWdodC1wcmltYXJ5IGJ0bi1zbVwiIChjbGljayk9XCJjaGFuZ2VDdXJyZW50TGFuZ3VhZ2UoJ2VuJylcIiAqbmdJZj1cIkxhbmc9PSdhcidcIj5cclxuICAgICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFbmdsaXNoXCIpfX1cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPEJCU0YtRm9ybSBbb3B0aW9uc109XCJFZGl0RW1haWxGb3JtT3B0aW9uc1wiICpuZ0lmPVwiSXNGb3JtTG9hZGVkXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwia3QtZm9ybVwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiTGFuZz09J2FyJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiRW1haWxTdWJqZWN0SW5BcmFiaWNcIiBbZ3JvdXBdPVwiRWRpdEVtYWlsRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxCQlNGLUh0bWxFZGl0b3IgW29wdGlvbnNdPVwiRW1haWxCb2R5SW5BcmFiaWNcIiBbZ3JvdXBdPVwiRWRpdEVtYWlsRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtSHRtbEVkaXRvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJIdG1sQm9keVRhZ0F0dHJpYnV0ZXNBcmFiaWNcIiBbZ3JvdXBdPVwiRWRpdEVtYWlsRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiSFRNTEhlYWRTZWN0aW9uSW5BcmFiaWNcIiBbZ3JvdXBdPVwiRWRpdEVtYWlsRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJMYW5nPT0nZW4nXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJFbWFpbFN1YmplY3RJbkVuZ2xpc2hcIiBbZ3JvdXBdPVwiRWRpdEVtYWlsRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtSHRtbEVkaXRvciBbb3B0aW9uc109XCJFbWFpbEJvZHlJbkVuZ2xpc2hcIiBbZ3JvdXBdPVwiRWRpdEVtYWlsRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtSHRtbEVkaXRvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJIdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoXCIgW2dyb3VwXT1cIkVkaXRFbWFpbEZvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkhUTUxIZWFkU2VjdGlvbkluRW5nbGlzaFwiIFtncm91cF09XCJFZGl0RW1haWxGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodC1wcmltYXJ5IGJ0bi1zbSBtZS0zXCIgKGNsaWNrKT1cImNhbmNlbEVkaXQoKVwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkNhbmNlbExhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlNhdmVMYWJlbFwiKX19PC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L0JCU0YtRm9ybT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcblxyXG4gIDwvZGl2PlxyXG4gIFxyXG5cclxuIl19
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1lbWFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL25vdGlmaWNhdGlvbnMvZWRpdC1lbWFpbC9lZGl0LWVtYWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvbm90aWZpY2F0aW9ucy9lZGl0LWVtYWlsL2VkaXQtZW1haWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUVBQWlFLENBQUM7Ozs7Ozs7OztBQVF4RyxNQUFNLE9BQU8sa0JBQWtCO0lBb0I3QixZQUFvQixlQUFnQyxFQUFTLGNBQThCLEVBQ2pGLG9CQUEwQyxFQUFVLGVBQWdDLEVBQ3BGLGNBQThCLEVBQVUsTUFBYyxFQUFVLHFCQUE0QztRQUZsRyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBUyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDakYseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNwRixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtR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QUMsUUFBUSxDQUFDLENBQUMsbUNBQW1DLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELGFBQWE7SUFDYixxQkFBcUIsQ0FBQyxJQUFZO1FBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxZQUFZO0lBQ1osV0FBVztRQUNULElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM5QyxDQUFDOztnSEFuS1Usa0JBQWtCO29HQUFsQixrQkFBa0Isc0RDZC9CLHM0R0FpRkE7NEZEbkVhLGtCQUFrQjtrQkFKOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixXQUFXLEVBQUUsNkJBQTZCO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEZvcmNlRGlyZWN0aW9uLCBGb3JtT3B0aW9ucywgSHRtbEVkaXRvck9wdGlvbnMsIElucHV0VHlwZSwgVGV4dEJveE9wdGlvbnMgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL3BhZ2UtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL1NlcnZpY2VzL1RlbXBsYXRlU2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVFZGl0Vmlld01vZGVsIH0gZnJvbSAnLi8uLi8uLi9zaGFyZWQvbW9kZWxzL05vdGlmaWNhdGlvbnNNb2RlbHMvVGVtcGxhdGVFZGl0Vmlld01vZGVsJztcclxuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UsIEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLCBSZXF1ZXN0SGFuZGxlclNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1lZGl0LWVtYWlsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdC1lbWFpbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRFbWFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLy9QYWdlIFJlcXVpcmVtZW50c1xyXG4gIFRlbXBsYXRlSWQ6IHN0cmluZztcclxuICBMYW5nOiBzdHJpbmcgPSBcIlwiXHJcbiAgVGVtcGxhdGVJbmZvOiBhbnlcclxuICBJc0Zvcm1Mb2FkZWQ6IGJvb2xlYW5cclxuXHJcbiAgLy9Jbml0aWFsaXplIGZvcm0gYW5kIGNvbnRyb2xzXHJcbiAgRWRpdEVtYWlsRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIEVkaXRFbWFpbEZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zO1xyXG4gIEVtYWlsU3ViamVjdEluRW5nbGlzaDogVGV4dEJveE9wdGlvbnM7XHJcbiAgRW1haWxTdWJqZWN0SW5BcmFiaWM6IFRleHRCb3hPcHRpb25zO1xyXG4gIEVtYWlsQm9keUluRW5nbGlzaDogSHRtbEVkaXRvck9wdGlvbnM7XHJcbiAgRW1haWxCb2R5SW5BcmFiaWM6IEh0bWxFZGl0b3JPcHRpb25zO1xyXG4gIEh0bWxCb2R5VGFnQXR0cmlidXRlc0VuZ2xpc2g6IFRleHRCb3hPcHRpb25zO1xyXG4gIEh0bWxCb2R5VGFnQXR0cmlidXRlc0FyYWJpYzogVGV4dEJveE9wdGlvbnM7XHJcbiAgSFRNTEhlYWRTZWN0aW9uSW5FbmdsaXNoOiBUZXh0Qm94T3B0aW9ucztcclxuICBIVE1MSGVhZFNlY3Rpb25JbkFyYWJpYzogVGV4dEJveE9wdGlvbnM7XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhZ2VJbmZvU2VydmljZTogUGFnZUluZm9TZXJ2aWNlLCBwdWJsaWMgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBiYnNmVHJhbnNsYXRlU2VydmljZTogQkJTRlRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgdGVtcGxhdGVTZXJ2aWNlOiBUZW1wbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSByZXF1ZXN0SGFuZGxlclNlcnZpY2U6IFJlcXVlc3RIYW5kbGVyU2VydmljZSkge1xyXG4gICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgIHRoaXMuVGVtcGxhdGVJZCA9IHBhcmFtc1snaWQnXTtcclxuICAgICAgdGhpcy5MYW5nID0gcGFyYW1zWydsYW5nJ107XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5iYnNmVHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICB0aGlzLm5nT25Jbml0KCk7XHJcbiAgICB9KVxyXG4gICAgdGhpcy5pbml0aWFsaXplUGFnZSgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZVBhZ2UoKSB7XHJcbiAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5nZXRUZW1wbGF0ZUluZm9CeUxhbmcodGhpcy5UZW1wbGF0ZUlkLCB0aGlzLkxhbmcpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGxldCBSZXN1bHQ6IGFueSA9IHJlc3VsdFxyXG4gICAgICB0aGlzLlRlbXBsYXRlSW5mbyA9IFJlc3VsdC52YWw7XHJcbiAgICAgIGxldCBUZW1wbGF0ZU5hbWU6IHN0cmluZyA9IHRoaXMuVGVtcGxhdGVJbmZvLmVtYWlsVGVtcGxhdGVJbmZvLmVtYWlsU3ViamVjdFN0cjtcclxuICAgICAgaWYgKFRlbXBsYXRlTmFtZSA9PSBudWxsIHx8IFRlbXBsYXRlTmFtZSA9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgVGVtcGxhdGVOYW1lID0gXCJcIjtcclxuXHJcbiAgICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlVGl0bGUgPSB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFZGl0XCIpXHJcbiAgICAgIFBhZ2VJbmZvU2VydmljZS5QYWdlQnJlYWRjcnVtYnMgPSBbXHJcbiAgICAgICAgeyB0aXRsZTogdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiSG9tZVwiKSwgcGF0aDogJy9BZG1pbi9Ib21lJywgaXNTZXBhcmF0b3I6IGZhbHNlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiAnJywgcGF0aDogJycsIGlzU2VwYXJhdG9yOiB0cnVlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJUZW1wbGF0ZXNcIiksIHBhdGg6ICcvQWRtaW4vTm90aWZpY2F0aW9ucy9UZW1wbGF0ZXMnLCBpc1NlcGFyYXRvcjogZmFsc2UsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgdGl0bGU6IFRlbXBsYXRlTmFtZSAhPSBcIlwiID8gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFRlbXBsYXRlTmFtZSkgOiBcIlwiLCBwYXRoOiBcIi9BZG1pbi9Ob3RpZmljYXRpb25zL1RlbXBsYXRlSW5mby9cIiArIHRoaXMuVGVtcGxhdGVJbmZvLmlEX0dVSUQsIGlzU2VwYXJhdG9yOiBmYWxzZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyB0aXRsZTogJycsIHBhdGg6ICcnLCBpc1NlcGFyYXRvcjogdHJ1ZSwgaXNBY3RpdmU6IGZhbHNlIH1cclxuICAgICAgXTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlVGl0bGUoKTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlQnJlYWRjcnVtYnMoKTtcclxuXHJcbiAgICAgIC8vSW5pdGlhbGl6ZSBmb3JtIGFuZCBjb250cm9sc1xyXG4gICAgICB0aGlzLkVkaXRFbWFpbEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICAgICAgdGhpcy5FZGl0RW1haWxGb3JtT3B0aW9ucyA9IG5ldyBGb3JtT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXRFbWFpbEZvcm1PcHRpb25zLkZvcm1Hcm91cCA9IHRoaXMuRWRpdEVtYWlsRm9ybVxyXG4gICAgICB0aGlzLkVkaXRFbWFpbEZvcm1PcHRpb25zLkdldE1vZGVsRnVuY3Rpb24gPSB0aGlzLmdldEVkaXRFbWFpbE1vZGVsO1xyXG4gICAgICB0aGlzLkVkaXRFbWFpbEZvcm1PcHRpb25zLlNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9IHRoaXMuZ2V0RWRpdEVtYWlsRnVuY3Rpb247XHJcbiAgICAgIHRoaXMuRWRpdEVtYWlsRm9ybU9wdGlvbnMuT25TdWNjZXNzSGFuZGxlciA9IHRoaXMub25FZGl0RW1haWxTdWNjZXNzO1xyXG5cclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkVuZ2xpc2ggPSBuZXcgSHRtbEVkaXRvck9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkVuZ2xpc2guTmFtZSA9IFwiRW1haWxUZW1wbGF0ZUluZm8uRW1haWxCb2R5LkVuZ2xpc2hcIlxyXG4gICAgICB0aGlzLkVtYWlsQm9keUluRW5nbGlzaC5MYWJlbEtleSA9IFwiRW1haWxCb2R5SW5FbmdsaXNoXCJcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkVuZ2xpc2guSXNSZXF1aXJlZCA9IHRydWVcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkVuZ2xpc2guVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbFRlbXBsYXRlSW5mby5lbWFpbEJvZHkuZW5nbGlzaDtcclxuXHJcbiAgICAgIHRoaXMuRW1haWxCb2R5SW5BcmFiaWMgPSBuZXcgSHRtbEVkaXRvck9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkFyYWJpYy5OYW1lID0gXCJFbWFpbFRlbXBsYXRlSW5mby5FbWFpbEJvZHkuQXJhYmljXCJcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkFyYWJpYy5MYWJlbEtleSA9IFwiRW1haWxCb2R5SW5BcmFiaWNcIlxyXG4gICAgICB0aGlzLkVtYWlsQm9keUluQXJhYmljLklzUmVxdWlyZWQgPSB0cnVlXHJcbiAgICAgIHRoaXMuRW1haWxCb2R5SW5BcmFiaWMuRm9yY2VEaXJlY3Rpb24gPSBGb3JjZURpcmVjdGlvbi5BcmFiaWNcclxuICAgICAgdGhpcy5FbWFpbEJvZHlJbkFyYWJpYy5WYWx1ZSA9IHRoaXMuVGVtcGxhdGVJbmZvLmVtYWlsVGVtcGxhdGVJbmZvLmVtYWlsQm9keS5hcmFiaWM7XHJcblxyXG4gICAgICB0aGlzLkVtYWlsU3ViamVjdEluRW5nbGlzaCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVtYWlsU3ViamVjdEluRW5nbGlzaC5OYW1lID0gXCJFbWFpbFRlbXBsYXRlSW5mby5FbWFpbFN1YmplY3QuRW5nbGlzaFwiXHJcbiAgICAgIHRoaXMuRW1haWxTdWJqZWN0SW5FbmdsaXNoLkxhYmVsVmFsdWUgPSBcIkVtYWlsU3ViamVjdEluRW5nbGlzaFwiXHJcbiAgICAgIHRoaXMuRW1haWxTdWJqZWN0SW5FbmdsaXNoLkxhYmVsS2V5ID0gXCJFbWFpbFN1YmplY3RJbkVuZ2xpc2hcIlxyXG4gICAgICB0aGlzLkVtYWlsU3ViamVjdEluRW5nbGlzaC5UeXBlID0gSW5wdXRUeXBlLlRleHRcclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkVuZ2xpc2guVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbFRlbXBsYXRlSW5mby5lbWFpbFN1YmplY3QuZW5nbGlzaDtcclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkVuZ2xpc2guTWF4TGVuZ3RoID0gNzBcclxuXHJcbiAgICAgIHRoaXMuRW1haWxTdWJqZWN0SW5BcmFiaWMgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkFyYWJpYy5OYW1lID0gXCJFbWFpbFRlbXBsYXRlSW5mby5FbWFpbFN1YmplY3QuQXJhYmljXCJcclxuICAgICAgdGhpcy5FbWFpbFN1YmplY3RJbkFyYWJpYy5MYWJlbEtleSA9IFwiRW1haWxTdWJqZWN0SW5BcmFiaWNcIlxyXG4gICAgICB0aGlzLkVtYWlsU3ViamVjdEluQXJhYmljLlR5cGUgPSBJbnB1dFR5cGUuVGV4dFxyXG4gICAgICB0aGlzLkVtYWlsU3ViamVjdEluQXJhYmljLkZvcmNlRGlyZWN0aW9uID0gRm9yY2VEaXJlY3Rpb24uQXJhYmljXHJcbiAgICAgIHRoaXMuRW1haWxTdWJqZWN0SW5BcmFiaWMuVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbFRlbXBsYXRlSW5mby5lbWFpbFN1YmplY3QuYXJhYmljO1xyXG4gICAgICB0aGlzLkVtYWlsU3ViamVjdEluQXJhYmljLk1heExlbmd0aCA9IDcwXHJcblxyXG4gICAgICB0aGlzLkh0bWxCb2R5VGFnQXR0cmlidXRlc0VuZ2xpc2ggPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNFbmdsaXNoLk5hbWUgPSBcIkVtYWlsVGVtcGxhdGVJbmZvLkVtYWlsSHRtbEJvZHlUYWdBdHRyaWJ1dGVzLkVuZ2xpc2hcIlxyXG4gICAgICB0aGlzLkh0bWxCb2R5VGFnQXR0cmlidXRlc0VuZ2xpc2guTGFiZWxLZXkgPSBcIkh0bWxCb2R5VGFnQXR0cmlidXRlc0VuZ2xpc2hcIlxyXG4gICAgICB0aGlzLkh0bWxCb2R5VGFnQXR0cmlidXRlc0VuZ2xpc2guVHlwZSA9IElucHV0VHlwZS5UZXh0XHJcbiAgICAgIHRoaXMuSHRtbEJvZHlUYWdBdHRyaWJ1dGVzRW5nbGlzaC5WYWx1ZSA9IHRoaXMuVGVtcGxhdGVJbmZvLmVtYWlsVGVtcGxhdGVJbmZvLmVtYWlsSHRtbEJvZHlUYWdBdHRyaWJ1dGVzLmVuZ2xpc2g7XHJcblxyXG4gICAgICB0aGlzLkh0bWxCb2R5VGFnQXR0cmlidXRlc0FyYWJpYyA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkh0bWxCb2R5VGFnQXR0cmlidXRlc0FyYWJpYy5OYW1lID0gXCJFbWFpbFRlbXBsYXRlSW5mby5FbWFpbEh0bWxCb2R5VGFnQXR0cmlidXRlcy5BcmFiaWNcIlxyXG4gICAgICB0aGlzLkh0bWxCb2R5VGFnQXR0cmlidXRlc0FyYWJpYy5MYWJlbEtleSA9IFwiSHRtbEJvZHlUYWdBdHRyaWJ1dGVzQXJhYmljXCJcclxuICAgICAgdGhpcy5IdG1sQm9keVRhZ0F0dHJpYnV0ZXNBcmFiaWMuVHlwZSA9IElucHV0VHlwZS5UZXh0XHJcbiAgICAgIHRoaXMuSHRtbEJvZHlUYWdBdHRyaWJ1dGVzQXJhYmljLkZvcmNlRGlyZWN0aW9uID0gRm9yY2VEaXJlY3Rpb24uQXJhYmljXHJcbiAgICAgIHRoaXMuSHRtbEJvZHlUYWdBdHRyaWJ1dGVzQXJhYmljLlZhbHVlID0gdGhpcy5UZW1wbGF0ZUluZm8uZW1haWxUZW1wbGF0ZUluZm8uZW1haWxIdG1sQm9keVRhZ0F0dHJpYnV0ZXMuYXJhYmljO1xyXG5cclxuICAgICAgdGhpcy5IVE1MSGVhZFNlY3Rpb25JbkVuZ2xpc2ggPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5IVE1MSGVhZFNlY3Rpb25JbkVuZ2xpc2guTmFtZSA9IFwiSFRNTEhlYWRTZWN0aW9uSW5FbmdsaXNoXCJcclxuICAgICAgdGhpcy5IVE1MSGVhZFNlY3Rpb25JbkVuZ2xpc2guTGFiZWxLZXkgPSBcIkhUTUxIZWFkU2VjdGlvbkluRW5nbGlzaFwiXHJcbiAgICAgIHRoaXMuSFRNTEhlYWRTZWN0aW9uSW5FbmdsaXNoLlR5cGUgPSBJbnB1dFR5cGUuVGV4dFxyXG4gICAgICB0aGlzLkhUTUxIZWFkU2VjdGlvbkluRW5nbGlzaC5WYWx1ZSA9IHRoaXMuVGVtcGxhdGVJbmZvLmVtYWlsVGVtcGxhdGVJbmZvLmVtYWlsSHRtbEhlYWRTZWN0aW9uLmVuZ2xpc2g7XHJcblxyXG4gICAgICB0aGlzLkhUTUxIZWFkU2VjdGlvbkluQXJhYmljID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuSFRNTEhlYWRTZWN0aW9uSW5BcmFiaWMuTmFtZSA9IFwiRW1haWxUZW1wbGF0ZUluZm8uRW1haWxIdG1sSGVhZFNlY3Rpb24uQXJhYmljXCJcclxuICAgICAgdGhpcy5IVE1MSGVhZFNlY3Rpb25JbkFyYWJpYy5MYWJlbEtleSA9IFwiSFRNTEhlYWRTZWN0aW9uSW5BcmFiaWNcIlxyXG4gICAgICB0aGlzLkhUTUxIZWFkU2VjdGlvbkluQXJhYmljLlR5cGUgPSBJbnB1dFR5cGUuVGV4dFxyXG4gICAgICB0aGlzLkhUTUxIZWFkU2VjdGlvbkluQXJhYmljLkZvcmNlRGlyZWN0aW9uID0gRm9yY2VEaXJlY3Rpb24uQXJhYmljXHJcbiAgICAgIHRoaXMuSFRNTEhlYWRTZWN0aW9uSW5BcmFiaWMuVmFsdWUgPSB0aGlzLlRlbXBsYXRlSW5mby5lbWFpbFRlbXBsYXRlSW5mby5lbWFpbEh0bWxIZWFkU2VjdGlvbi5hcmFiaWM7XHJcbiAgICAgIHRoaXMuSXNGb3JtTG9hZGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcbiAgZ2V0RWRpdEVtYWlsTW9kZWwgPSAoKSA9PiB7XHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIGxldCBSZXN1bHRNb2RlbCA9IHRoaXMuRWRpdEVtYWlsRm9ybS52YWx1ZTtcclxuICAgIGxldCBFZGl0TW9kZWwgPSBuZXcgVGVtcGxhdGVFZGl0Vmlld01vZGVsKCk7XHJcbiAgICBFZGl0TW9kZWwuSURfR1VJRCA9IHRoaXMuVGVtcGxhdGVJZDtcclxuICAgIEVkaXRNb2RlbC5Jc0VtYWlsID0gdHJ1ZTtcclxuICAgIEVkaXRNb2RlbC5Jc1NtcyA9IGZhbHNlO1xyXG4gICAgRWRpdE1vZGVsLlRlbXBsYXRlTmFtZSA9IHRoaXMuVGVtcGxhdGVJbmZvLnRlbXBsYXRlTmFtZTtcclxuICAgIEVkaXRNb2RlbC5MYW5ndWFnZSA9IHRoaXMuTGFuZztcclxuICAgIEVkaXRNb2RlbC5FbWFpbFRlbXBsYXRlSW5mby5JRF9HVUlEID0gdGhpcy5UZW1wbGF0ZUluZm8uZW1haWxUZW1wbGF0ZUluZm8uaURfR1VJRDtcclxuICAgIEVkaXRNb2RlbC5FbWFpbFRlbXBsYXRlSW5mby5FbWFpbEJvZHkuQXJhYmljID0gUmVzdWx0TW9kZWxbXCJFbWFpbFRlbXBsYXRlSW5mby5FbWFpbEJvZHkuQXJhYmljXCJdXHJcbiAgICBFZGl0TW9kZWwuRW1haWxUZW1wbGF0ZUluZm8uRW1haWxCb2R5LkVuZ2xpc2ggPSBSZXN1bHRNb2RlbFtcIkVtYWlsVGVtcGxhdGVJbmZvLkVtYWlsQm9keS5FbmdsaXNoXCJdXHJcbiAgICBFZGl0TW9kZWwuRW1haWxUZW1wbGF0ZUluZm8uRW1haWxTdWJqZWN0LkFyYWJpYyA9IFJlc3VsdE1vZGVsW1wiRW1haWxUZW1wbGF0ZUluZm8uRW1haWxTdWJqZWN0LkFyYWJpY1wiXVxyXG4gICAgRWRpdE1vZGVsLkVtYWlsVGVtcGxhdGVJbmZvLkVtYWlsU3ViamVjdC5FbmdsaXNoID0gUmVzdWx0TW9kZWxbXCJFbWFpbFRlbXBsYXRlSW5mby5FbWFpbFN1YmplY3QuRW5nbGlzaFwiXVxyXG4gICAgRWRpdE1vZGVsLkVtYWlsVGVtcGxhdGVJbmZvLkVtYWlsSHRtbEJvZHlUYWdBdHRyaWJ1dGVzLkFyYWJpYyA9IFJlc3VsdE1vZGVsW1wiRW1haWxUZW1wbGF0ZUluZm8uRW1haWxIdG1sQm9keVRhZ0F0dHJpYnV0ZXMuQXJhYmljXCJdXHJcbiAgICBFZGl0TW9kZWwuRW1haWxUZW1wbGF0ZUluZm8uRW1haWxIdG1sQm9keVRhZ0F0dHJpYnV0ZXMuRW5nbGlzaCA9IFJlc3VsdE1vZGVsW1wiRW1haWxUZW1wbGF0ZUluZm8uRW1haWxIdG1sQm9keVRhZ0F0dHJpYnV0ZXMuRW5nbGlzaFwiXVxyXG4gICAgRWRpdE1vZGVsLkVtYWlsVGVtcGxhdGVJbmZvLkVtYWlsSHRtbEhlYWRTZWN0aW9uLkFyYWJpYyA9IFJlc3VsdE1vZGVsW1wiRW1haWxUZW1wbGF0ZUluZm8uRW1haWxIdG1sSGVhZFNlY3Rpb24uQXJhYmljXCJdXHJcbiAgICBFZGl0TW9kZWwuRW1haWxUZW1wbGF0ZUluZm8uRW1haWxIdG1sSGVhZFNlY3Rpb24uRW5nbGlzaCA9IFJlc3VsdE1vZGVsW1wiRW1haWxUZW1wbGF0ZUluZm8uRW1haWxIdG1sSGVhZFNlY3Rpb24uRW5nbGlzaFwiXVxyXG5cclxuICAgIHBhcmFtQXJyYXkucHVzaChFZGl0TW9kZWwpO1xyXG4gICAgcmV0dXJuIHBhcmFtQXJyYXk7XHJcbiAgfVxyXG5cclxuICBnZXRFZGl0RW1haWxGdW5jdGlvbiA9IChFZGl0TW9kZWwpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmVkaXRFbWFpbFRlbXBsYXRlQnlMYW5nKEVkaXRNb2RlbClcclxuICB9XHJcbiAgb25FZGl0RW1haWxTdWNjZXNzID0gKHJlc3VsdCkgPT4ge1xyXG4gICAgdGhpcy5jYW5jZWxFZGl0KCk7XHJcbiAgfVxyXG4gIGNhbmNlbEVkaXQoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9BZG1pbi9Ob3RpZmljYXRpb25zL1RlbXBsYXRlSW5mbycsIHRoaXMuVGVtcGxhdGVJZF0pO1xyXG4gIH1cclxuXHJcbiAgLy9DaGFuZ2UgTGFuZ1xyXG4gIGNoYW5nZUN1cnJlbnRMYW5ndWFnZShsYW5nOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuTGFuZyA9IGxhbmc7XHJcbiAgfVxyXG5cclxuICAvL09uIGRlc3Ryb3lcclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVxdWVzdEhhbmRsZXJTZXJ2aWNlLmRlc3Ryb3lIYW5kbGVyKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxibG9jay11aT48L2Jsb2NrLXVpPlxyXG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtY3VzdG9tLWhcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViaGVhZGVydG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8YSBjbGFzcz1cImJ0biBidG4tbGlnaHQtcHJpbWFyeSBidG4tc21cIiAoY2xpY2spPVwiY2hhbmdlQ3VycmVudExhbmd1YWdlKCdhcicpXCIgKm5nSWY9XCJMYW5nPT0nZW4nXCI+XHJcbiAgICAgICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQXJhYmljXCIpfX1cclxuXHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLWxpZ2h0LXByaW1hcnkgYnRuLXNtXCIgKGNsaWNrKT1cImNoYW5nZUN1cnJlbnRMYW5ndWFnZSgnZW4nKVwiICpuZ0lmPVwiTGFuZz09J2FyJ1wiPlxyXG4gICAgICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkVuZ2xpc2hcIil9fVxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8QkJTRi1Gb3JtIFtvcHRpb25zXT1cIkVkaXRFbWFpbEZvcm1PcHRpb25zXCIgKm5nSWY9XCJJc0Zvcm1Mb2FkZWRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJrdC1mb3JtXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJMYW5nPT0nYXInXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJFbWFpbFN1YmplY3RJbkFyYWJpY1wiIFtncm91cF09XCJFZGl0RW1haWxGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtSHRtbEVkaXRvciBbb3B0aW9uc109XCJFbWFpbEJvZHlJbkFyYWJpY1wiIFtncm91cF09XCJFZGl0RW1haWxGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1IdG1sRWRpdG9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkh0bWxCb2R5VGFnQXR0cmlidXRlc0FyYWJpY1wiIFtncm91cF09XCJFZGl0RW1haWxGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJIVE1MSGVhZFNlY3Rpb25JbkFyYWJpY1wiIFtncm91cF09XCJFZGl0RW1haWxGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIkxhbmc9PSdlbidcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkVtYWlsU3ViamVjdEluRW5nbGlzaFwiIFtncm91cF09XCJFZGl0RW1haWxGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8QkJTRi1IdG1sRWRpdG9yIFtvcHRpb25zXT1cIkVtYWlsQm9keUluRW5nbGlzaFwiIFtncm91cF09XCJFZGl0RW1haWxGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1IdG1sRWRpdG9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkh0bWxCb2R5VGFnQXR0cmlidXRlc0VuZ2xpc2hcIiBbZ3JvdXBdPVwiRWRpdEVtYWlsRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiSFRNTEhlYWRTZWN0aW9uSW5FbmdsaXNoXCIgW2dyb3VwXT1cIkVkaXRFbWFpbEZvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0LXByaW1hcnkgYnRuLXNtIG1lLTNcIiAoY2xpY2spPVwiY2FuY2VsRWRpdCgpXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQ2FuY2VsTGFiZWxcIil9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc20gXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2F2ZUxhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvQkJTRi1Gb3JtPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgPC9kaXY+XHJcbiAgXHJcblxyXG4iXX0=
@@ -34,9 +34,9 @@ export class EditSMSComponent {
34
34
  EditModel.IsSms = true;
35
35
  EditModel.TemplateName = this.TemplateInfo.templateName;
36
36
  EditModel.Language = this.Lang;
37
- EditModel.smstemplateinfo.ID_GUID = this.TemplateInfo.smsTemplateInfo.iD_GUID;
38
- EditModel.smstemplateinfo.SMS.Arabic = ResultModel.SMSInArabic;
39
- EditModel.smstemplateinfo.SMS.English = ResultModel.SMSInEnglish;
37
+ EditModel.SMSTemplateInfo.ID_GUID = this.TemplateInfo.smsTemplateInfo.iD_GUID;
38
+ EditModel.SMSTemplateInfo.SMS.Arabic = ResultModel["SMSTemplateInfo.SMS.Arabic"];
39
+ EditModel.SMSTemplateInfo.SMS.English = ResultModel["SMSTemplateInfo.SMS.English"];
40
40
  paramArray.push(EditModel);
41
41
  return paramArray;
42
42
  };
@@ -85,12 +85,12 @@ export class EditSMSComponent {
85
85
  this.EditSMSFormOptions.ServiceSubmitFunction = this.getEditSMSFunction;
86
86
  this.EditSMSFormOptions.OnSuccessHandler = this.onEditSMSSuccess;
87
87
  this.SMSInEnglish = new TextAreaOptions();
88
- this.SMSInEnglish.Name = "SMSInEnglish";
88
+ this.SMSInEnglish.Name = "SMSTemplateInfo.SMS.English";
89
89
  this.SMSInEnglish.LabelKey = "SMSInEnglish";
90
90
  this.SMSInEnglish.IsRequired = true;
91
91
  this.SMSInEnglish.Value = this.TemplateInfo.smsTemplateInfo.sms.english;
92
92
  this.SMSInArabic = new TextAreaOptions();
93
- this.SMSInArabic.Name = "SMSInArabic";
93
+ this.SMSInArabic.Name = "SMSTemplateInfo.SMS.Arabic";
94
94
  this.SMSInArabic.LabelKey = "SMSInArabic";
95
95
  this.SMSInArabic.IsRequired = true;
96
96
  this.SMSInArabic.Value = this.TemplateInfo.smsTemplateInfo.sms.arabic;
@@ -118,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
118
118
  templateUrl: './edit-sms.component.html'
119
119
  }]
120
120
  }], ctorParameters: function () { return [{ type: i1.UtilityService }, { type: i1.BBSFTranslateService }, { type: i2.TemplateService }, { type: i3.ActivatedRoute }, { type: i3.Router }, { type: i4.PageInfoService }, { type: i1.RequestHandlerService }]; } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1zbXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9ub3RpZmljYXRpb25zL2VkaXQtc21zL2VkaXQtc21zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvbm90aWZpY2F0aW9ucy9lZGl0LXNtcy9lZGl0LXNtcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0RBQStELENBQUM7Ozs7Ozs7OztBQVN0RyxNQUFNLE9BQU8sZ0JBQWdCO0lBYTNCLFlBQW1CLGNBQThCLEVBQVUsb0JBQTBDLEVBQzNGLGVBQWdDLEVBQVUsY0FBOEIsRUFBVSxNQUFjLEVBQ2hHLGVBQWdDLEVBQVUscUJBQTRDO1FBRjdFLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDM0Ysb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNoRyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBVSwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBWmhHLFNBQUksR0FBVyxFQUFFLENBQUE7UUFJakIsOEJBQThCO1FBQzlC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RUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsYUFBYTtJQUNiLHFCQUFxQixDQUFDLElBQVk7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQVk7SUFDWixXQUFXO1FBQ1QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzlDLENBQUM7OzhHQS9HVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixvRENkN0IscXBGQTBEQTs0RkQ1Q2EsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixXQUFXLEVBQUUsMkJBQTJCO2lCQUN6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEZvcm1PcHRpb25zLCBUZXh0QXJlYU9wdGlvbnMgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL3BhZ2UtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVFZGl0Vmlld01vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9Ob3RpZmljYXRpb25zTW9kZWxzL1RlbXBsYXRlRWRpdFZpZXdNb2RlbCc7XHJcbmltcG9ydCB7IFRlbXBsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9TZXJ2aWNlcy9UZW1wbGF0ZVNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlLCBCQlNGVHJhbnNsYXRlU2VydmljZSwgUmVxdWVzdEhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZWRpdC1zbXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGl0LXNtcy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRTTVNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8vUGFnZSBSZXF1aXJlbWVudHNcclxuICBUZW1wbGF0ZUlkOiBzdHJpbmc7XHJcbiAgTGFuZzogc3RyaW5nID0gXCJcIlxyXG4gIFRlbXBsYXRlSW5mbzogYW55XHJcbiAgSXNGb3JtTG9hZGVkOiBib29sZWFuXHJcblxyXG4gIC8vSW5pdGlhbGl6ZSBmb3JtIGFuZCBjb250cm9sc1xyXG4gIEVkaXRTTVNGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgRWRpdFNNU0Zvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zO1xyXG4gIFNNU0luRW5nbGlzaDogVGV4dEFyZWFPcHRpb25zO1xyXG4gIFNNU0luQXJhYmljOiBUZXh0QXJlYU9wdGlvbnM7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsIHByaXZhdGUgYmJzZlRyYW5zbGF0ZVNlcnZpY2U6IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVNlcnZpY2U6IFRlbXBsYXRlU2VydmljZSwgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHBhZ2VJbmZvU2VydmljZTogUGFnZUluZm9TZXJ2aWNlLCBwcml2YXRlIHJlcXVlc3RIYW5kbGVyU2VydmljZTogUmVxdWVzdEhhbmRsZXJTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgdGhpcy5UZW1wbGF0ZUlkID0gcGFyYW1zWydpZCddO1xyXG4gICAgICB0aGlzLkxhbmcgPSBwYXJhbXNbJ2xhbmcnXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5iYnNmVHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICB0aGlzLm5nT25Jbml0KCk7XHJcbiAgICB9KVxyXG4gICAgdGhpcy5pbml0aWFsaXplUGFnZSgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZVBhZ2UoKSB7XHJcbiAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5nZXRUZW1wbGF0ZUluZm9CeUxhbmcodGhpcy5UZW1wbGF0ZUlkLCB0aGlzLkxhbmcpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGxldCBSZXN1bHQ6IGFueSA9IHJlc3VsdFxyXG4gICAgICB0aGlzLlRlbXBsYXRlSW5mbyA9IFJlc3VsdC52YWw7XHJcbiAgICAgIGxldCBUZW1wbGF0ZU5hbWU6IHN0cmluZyA9IHRoaXMuVGVtcGxhdGVJbmZvLmVtYWlsVGVtcGxhdGVJbmZvLmVtYWlsU3ViamVjdFN0cjtcclxuICAgICAgaWYgKFRlbXBsYXRlTmFtZSA9PSBudWxsIHx8IFRlbXBsYXRlTmFtZSA9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgVGVtcGxhdGVOYW1lID0gXCJcIlxyXG4gICAgICBQYWdlSW5mb1NlcnZpY2UuUGFnZVRpdGxlID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRWRpdFwiKVxyXG4gICAgICBQYWdlSW5mb1NlcnZpY2UuUGFnZUJyZWFkY3J1bWJzID0gW1xyXG4gICAgICAgIHsgdGl0bGU6IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkhvbWVcIiksIHBhdGg6ICcvQWRtaW4vSG9tZScsIGlzU2VwYXJhdG9yOiBmYWxzZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyB0aXRsZTogJycsIHBhdGg6ICcnLCBpc1NlcGFyYXRvcjogdHJ1ZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyB0aXRsZTogdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiVGVtcGxhdGVzXCIpLCBwYXRoOiAnL0FkbWluL05vdGlmaWNhdGlvbnMvVGVtcGxhdGVzJywgaXNTZXBhcmF0b3I6IGZhbHNlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiAnJywgcGF0aDogJycsIGlzU2VwYXJhdG9yOiB0cnVlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiBUZW1wbGF0ZU5hbWUgIT0gXCJcIiA/IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShUZW1wbGF0ZU5hbWUpIDogXCJcIiwgcGF0aDogXCIvQWRtaW4vTm90aWZpY2F0aW9ucy9UZW1wbGF0ZUluZm8vXCIgKyB0aGlzLlRlbXBsYXRlSW5mby5pRF9HVUlELCBpc1NlcGFyYXRvcjogZmFsc2UsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9XHJcblxyXG5cclxuICAgICAgXTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlVGl0bGUoKTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlQnJlYWRjcnVtYnMoKTtcclxuXHJcblxyXG4gICAgICAvL0luaXRpYWxpemUgZm9ybSBhbmQgY29udHJvbHNcclxuICAgICAgdGhpcy5FZGl0U01TRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gICAgICB0aGlzLkVkaXRTTVNGb3JtT3B0aW9ucyA9IG5ldyBGb3JtT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXRTTVNGb3JtT3B0aW9ucy5Gb3JtR3JvdXAgPSB0aGlzLkVkaXRTTVNGb3JtXHJcbiAgICAgIHRoaXMuRWRpdFNNU0Zvcm1PcHRpb25zLkdldE1vZGVsRnVuY3Rpb24gPSB0aGlzLmdldEVkaXRTTVNNb2RlbDtcclxuICAgICAgdGhpcy5FZGl0U01TRm9ybU9wdGlvbnMuU2VydmljZVN1Ym1pdEZ1bmN0aW9uID0gdGhpcy5nZXRFZGl0U01TRnVuY3Rpb247XHJcbiAgICAgIHRoaXMuRWRpdFNNU0Zvcm1PcHRpb25zLk9uU3VjY2Vzc0hhbmRsZXIgPSB0aGlzLm9uRWRpdFNNU1N1Y2Nlc3M7XHJcblxyXG4gICAgICB0aGlzLlNNU0luRW5nbGlzaCA9IG5ldyBUZXh0QXJlYU9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5TTVNJbkVuZ2xpc2guTmFtZSA9IFwiU01TSW5FbmdsaXNoXCJcclxuICAgICAgdGhpcy5TTVNJbkVuZ2xpc2guTGFiZWxLZXkgPSBcIlNNU0luRW5nbGlzaFwiXHJcbiAgICAgIHRoaXMuU01TSW5FbmdsaXNoLklzUmVxdWlyZWQgPSB0cnVlXHJcbiAgICAgIHRoaXMuU01TSW5FbmdsaXNoLlZhbHVlID0gdGhpcy5UZW1wbGF0ZUluZm8uc21zVGVtcGxhdGVJbmZvLnNtcy5lbmdsaXNoO1xyXG5cclxuICAgICAgdGhpcy5TTVNJbkFyYWJpYyA9IG5ldyBUZXh0QXJlYU9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5TTVNJbkFyYWJpYy5OYW1lID0gXCJTTVNJbkFyYWJpY1wiXHJcbiAgICAgIHRoaXMuU01TSW5BcmFiaWMuTGFiZWxLZXkgPSBcIlNNU0luQXJhYmljXCJcclxuICAgICAgdGhpcy5TTVNJbkFyYWJpYy5Jc1JlcXVpcmVkID0gdHJ1ZVxyXG4gICAgICB0aGlzLlNNU0luQXJhYmljLlZhbHVlID0gdGhpcy5UZW1wbGF0ZUluZm8uc21zVGVtcGxhdGVJbmZvLnNtcy5hcmFiaWM7XHJcblxyXG4gICAgICB0aGlzLklzRm9ybUxvYWRlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG4gIGdldEVkaXRTTVNNb2RlbCA9ICgpID0+IHtcclxuICAgIGxldCBwYXJhbUFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IFJlc3VsdE1vZGVsID0gdGhpcy5FZGl0U01TRm9ybS52YWx1ZTtcclxuICAgIGxldCBFZGl0TW9kZWwgPSBuZXcgVGVtcGxhdGVFZGl0Vmlld01vZGVsKCk7XHJcbiAgICBFZGl0TW9kZWwuSURfR1VJRCA9IHRoaXMuVGVtcGxhdGVJZDtcclxuICAgIEVkaXRNb2RlbC5Jc0VtYWlsID0gZmFsc2U7XHJcbiAgICBFZGl0TW9kZWwuSXNTbXMgPSB0cnVlO1xyXG4gICAgRWRpdE1vZGVsLlRlbXBsYXRlTmFtZSA9IHRoaXMuVGVtcGxhdGVJbmZvLnRlbXBsYXRlTmFtZTtcclxuICAgIEVkaXRNb2RlbC5MYW5ndWFnZSA9IHRoaXMuTGFuZztcclxuICAgIEVkaXRNb2RlbC5zbXN0ZW1wbGF0ZWluZm8uSURfR1VJRCA9IHRoaXMuVGVtcGxhdGVJbmZvLnNtc1RlbXBsYXRlSW5mby5pRF9HVUlEO1xyXG4gICAgRWRpdE1vZGVsLnNtc3RlbXBsYXRlaW5mby5TTVMuQXJhYmljID0gUmVzdWx0TW9kZWwuU01TSW5BcmFiaWNcclxuICAgIEVkaXRNb2RlbC5zbXN0ZW1wbGF0ZWluZm8uU01TLkVuZ2xpc2ggPSBSZXN1bHRNb2RlbC5TTVNJbkVuZ2xpc2hcclxuXHJcbiAgICBwYXJhbUFycmF5LnB1c2goRWRpdE1vZGVsKTtcclxuICAgIHJldHVybiBwYXJhbUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0RWRpdFNNU0Z1bmN0aW9uID0gKEVkaXRNb2RlbCk6IE9ic2VydmFibGU8YW55PiA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZWRpdFNNU1RlbXBsYXRlQnlMYW5nKEVkaXRNb2RlbClcclxuICB9XHJcbiAgb25FZGl0U01TU3VjY2VzcyA9IChyZXN1bHQpID0+IHtcclxuICAgIHRoaXMuY2FuY2VsRWRpdCgpO1xyXG4gIH1cclxuICBjYW5jZWxFZGl0KCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvQWRtaW4vTm90aWZpY2F0aW9ucy9UZW1wbGF0ZUluZm8nLCB0aGlzLlRlbXBsYXRlSWRdKTtcclxuICB9XHJcblxyXG4gIC8vQ2hhbmdlIExhbmdcclxuICBjaGFuZ2VDdXJyZW50TGFuZ3VhZ2UobGFuZzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLkxhbmcgPSBsYW5nO1xyXG4gIH1cclxuXHJcbiAgLy9PbiBkZXN0cm95XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVlc3RIYW5kbGVyU2VydmljZS5kZXN0cm95SGFuZGxlcigpO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiIsIjxibG9jay11aT48L2Jsb2NrLXVpPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWN1c3RvbS1oXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC01XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgIDwhLS17e1RlbXBsYXRlSW5mby50ZW1wbGF0ZU5hbWV9fShTTVMpLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLWxpZ2h0LXByaW1hcnkgYnRuLXNtXCIgKGNsaWNrKT1cImNoYW5nZUN1cnJlbnRMYW5ndWFnZSgnYXInKVwiICpuZ0lmPVwiTGFuZz09J2VuJ1wiPlxyXG4gICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBcmFiaWNcIil9fVxyXG4gICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLWxpZ2h0LXByaW1hcnkgYnRuLXNtXCIgKGNsaWNrKT1cImNoYW5nZUN1cnJlbnRMYW5ndWFnZSgnZW4nKVwiICpuZ0lmPVwiTGFuZz09J2FyJ1wiPlxyXG4gICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJFbmdsaXNoXCIpfX1cclxuICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8QkJTRi1Gb3JtIFtvcHRpb25zXT1cIkVkaXRTTVNGb3JtT3B0aW9uc1wiICpuZ0lmPVwiSXNGb3JtTG9hZGVkXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwia3QtZm9ybSByb3dcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIkxhbmc9PSdhcidcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICA8QkJTRi1UZXh0QXJlYSBjbGFzcz1cInRleHQtcmlnaHRcIiBbb3B0aW9uc109XCJTTVNJbkFyYWJpY1wiIFtncm91cF09XCJFZGl0U01TRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtVGV4dEFyZWE+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlwaG9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgbW9iaWxlLXR4dFwiPnt7VGVtcGxhdGVJbmZvLnNtc1RlbXBsYXRlSW5mby5zbXMuYXJhYmljfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiTGFuZz09J2VuJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxCQlNGLVRleHRBcmVhIFtvcHRpb25zXT1cIlNNU0luRW5nbGlzaFwiIFtncm91cF09XCJFZGl0U01TRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L0JCU0YtVGV4dEFyZWE+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlwaG9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgbW9iaWxlLXR4dFwiPnt7VGVtcGxhdGVJbmZvLnNtc1RlbXBsYXRlSW5mby5zbXMuZW5nbGlzaH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHQtcHJpbWFyeSBidG4tc20gbWUtM1wiIChjbGljayk9XCJjYW5jZWxFZGl0KClcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYW5jZWxMYWJlbFwiKX19PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlNhdmVMYWJlbFwiKX19PC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L0JCU0YtRm9ybT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4iXX0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1zbXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9ub3RpZmljYXRpb25zL2VkaXQtc21zL2VkaXQtc21zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvbm90aWZpY2F0aW9ucy9lZGl0LXNtcy9lZGl0LXNtcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0RBQStELENBQUM7Ozs7Ozs7OztBQVN0RyxNQUFNLE9BQU8sZ0JBQWdCO0lBYTNCLFlBQW1CLGNBQThCLEVBQVUsb0JBQTBDLEVBQzNGLGVBQWdDLEVBQVUsY0FBOEIsRUFBVSxNQUFjLEVBQ2hHLGVBQWdDLEVBQVUscUJBQTRDO1FBRjdFLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDM0Ysb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNoRyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBVSwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBWmhHLFNBQUksR0FBVyxFQUFFLENBQUE7UUFJakIsOEJBQThCO1FBQzlC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LENBQUMsQ0FBQyxtQ0FBbUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsYUFBYTtJQUNiLHFCQUFxQixDQUFDLElBQVk7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQVk7SUFDWixXQUFXO1FBQ1QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzlDLENBQUM7OzhHQS9HVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixvRENkN0IscXBGQTBEQTs0RkQ1Q2EsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixXQUFXLEVBQUUsMkJBQTJCO2lCQUN6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEZvcm1PcHRpb25zLCBUZXh0QXJlYU9wdGlvbnMgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL3BhZ2UtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVFZGl0Vmlld01vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9Ob3RpZmljYXRpb25zTW9kZWxzL1RlbXBsYXRlRWRpdFZpZXdNb2RlbCc7XHJcbmltcG9ydCB7IFRlbXBsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9TZXJ2aWNlcy9UZW1wbGF0ZVNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlLCBCQlNGVHJhbnNsYXRlU2VydmljZSwgUmVxdWVzdEhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZWRpdC1zbXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGl0LXNtcy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRTTVNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8vUGFnZSBSZXF1aXJlbWVudHNcclxuICBUZW1wbGF0ZUlkOiBzdHJpbmc7XHJcbiAgTGFuZzogc3RyaW5nID0gXCJcIlxyXG4gIFRlbXBsYXRlSW5mbzogYW55XHJcbiAgSXNGb3JtTG9hZGVkOiBib29sZWFuXHJcblxyXG4gIC8vSW5pdGlhbGl6ZSBmb3JtIGFuZCBjb250cm9sc1xyXG4gIEVkaXRTTVNGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgRWRpdFNNU0Zvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zO1xyXG4gIFNNU0luRW5nbGlzaDogVGV4dEFyZWFPcHRpb25zO1xyXG4gIFNNU0luQXJhYmljOiBUZXh0QXJlYU9wdGlvbnM7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsIHByaXZhdGUgYmJzZlRyYW5zbGF0ZVNlcnZpY2U6IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVNlcnZpY2U6IFRlbXBsYXRlU2VydmljZSwgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHBhZ2VJbmZvU2VydmljZTogUGFnZUluZm9TZXJ2aWNlLCBwcml2YXRlIHJlcXVlc3RIYW5kbGVyU2VydmljZTogUmVxdWVzdEhhbmRsZXJTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgdGhpcy5UZW1wbGF0ZUlkID0gcGFyYW1zWydpZCddO1xyXG4gICAgICB0aGlzLkxhbmcgPSBwYXJhbXNbJ2xhbmcnXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5iYnNmVHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICB0aGlzLm5nT25Jbml0KCk7XHJcbiAgICB9KVxyXG4gICAgdGhpcy5pbml0aWFsaXplUGFnZSgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZVBhZ2UoKSB7XHJcbiAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5nZXRUZW1wbGF0ZUluZm9CeUxhbmcodGhpcy5UZW1wbGF0ZUlkLCB0aGlzLkxhbmcpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGxldCBSZXN1bHQ6IGFueSA9IHJlc3VsdFxyXG4gICAgICB0aGlzLlRlbXBsYXRlSW5mbyA9IFJlc3VsdC52YWw7XHJcbiAgICAgIGxldCBUZW1wbGF0ZU5hbWU6IHN0cmluZyA9IHRoaXMuVGVtcGxhdGVJbmZvLmVtYWlsVGVtcGxhdGVJbmZvLmVtYWlsU3ViamVjdFN0cjtcclxuICAgICAgaWYgKFRlbXBsYXRlTmFtZSA9PSBudWxsIHx8IFRlbXBsYXRlTmFtZSA9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgVGVtcGxhdGVOYW1lID0gXCJcIlxyXG4gICAgICBQYWdlSW5mb1NlcnZpY2UuUGFnZVRpdGxlID0gdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRWRpdFwiKVxyXG4gICAgICBQYWdlSW5mb1NlcnZpY2UuUGFnZUJyZWFkY3J1bWJzID0gW1xyXG4gICAgICAgIHsgdGl0bGU6IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkhvbWVcIiksIHBhdGg6ICcvQWRtaW4vSG9tZScsIGlzU2VwYXJhdG9yOiBmYWxzZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyB0aXRsZTogJycsIHBhdGg6ICcnLCBpc1NlcGFyYXRvcjogdHJ1ZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyB0aXRsZTogdGhpcy51dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiVGVtcGxhdGVzXCIpLCBwYXRoOiAnL0FkbWluL05vdGlmaWNhdGlvbnMvVGVtcGxhdGVzJywgaXNTZXBhcmF0b3I6IGZhbHNlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiAnJywgcGF0aDogJycsIGlzU2VwYXJhdG9yOiB0cnVlLCBpc0FjdGl2ZTogZmFsc2UgfSxcclxuICAgICAgICB7IHRpdGxlOiBUZW1wbGF0ZU5hbWUgIT0gXCJcIiA/IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShUZW1wbGF0ZU5hbWUpIDogXCJcIiwgcGF0aDogXCIvQWRtaW4vTm90aWZpY2F0aW9ucy9UZW1wbGF0ZUluZm8vXCIgKyB0aGlzLlRlbXBsYXRlSW5mby5pRF9HVUlELCBpc1NlcGFyYXRvcjogZmFsc2UsIGlzQWN0aXZlOiBmYWxzZSB9LFxyXG4gICAgICAgIHsgdGl0bGU6ICcnLCBwYXRoOiAnJywgaXNTZXBhcmF0b3I6IHRydWUsIGlzQWN0aXZlOiBmYWxzZSB9XHJcblxyXG5cclxuICAgICAgXTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlVGl0bGUoKTtcclxuICAgICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlQnJlYWRjcnVtYnMoKTtcclxuXHJcblxyXG4gICAgICAvL0luaXRpYWxpemUgZm9ybSBhbmQgY29udHJvbHNcclxuICAgICAgdGhpcy5FZGl0U01TRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gICAgICB0aGlzLkVkaXRTTVNGb3JtT3B0aW9ucyA9IG5ldyBGb3JtT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXRTTVNGb3JtT3B0aW9ucy5Gb3JtR3JvdXAgPSB0aGlzLkVkaXRTTVNGb3JtXHJcbiAgICAgIHRoaXMuRWRpdFNNU0Zvcm1PcHRpb25zLkdldE1vZGVsRnVuY3Rpb24gPSB0aGlzLmdldEVkaXRTTVNNb2RlbDtcclxuICAgICAgdGhpcy5FZGl0U01TRm9ybU9wdGlvbnMuU2VydmljZVN1Ym1pdEZ1bmN0aW9uID0gdGhpcy5nZXRFZGl0U01TRnVuY3Rpb247XHJcbiAgICAgIHRoaXMuRWRpdFNNU0Zvcm1PcHRpb25zLk9uU3VjY2Vzc0hhbmRsZXIgPSB0aGlzLm9uRWRpdFNNU1N1Y2Nlc3M7XHJcblxyXG4gICAgICB0aGlzLlNNU0luRW5nbGlzaCA9IG5ldyBUZXh0QXJlYU9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5TTVNJbkVuZ2xpc2guTmFtZSA9IFwiU01TVGVtcGxhdGVJbmZvLlNNUy5FbmdsaXNoXCJcclxuICAgICAgdGhpcy5TTVNJbkVuZ2xpc2guTGFiZWxLZXkgPSBcIlNNU0luRW5nbGlzaFwiXHJcbiAgICAgIHRoaXMuU01TSW5FbmdsaXNoLklzUmVxdWlyZWQgPSB0cnVlXHJcbiAgICAgIHRoaXMuU01TSW5FbmdsaXNoLlZhbHVlID0gdGhpcy5UZW1wbGF0ZUluZm8uc21zVGVtcGxhdGVJbmZvLnNtcy5lbmdsaXNoO1xyXG5cclxuICAgICAgdGhpcy5TTVNJbkFyYWJpYyA9IG5ldyBUZXh0QXJlYU9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5TTVNJbkFyYWJpYy5OYW1lID0gXCJTTVNUZW1wbGF0ZUluZm8uU01TLkFyYWJpY1wiXHJcbiAgICAgIHRoaXMuU01TSW5BcmFiaWMuTGFiZWxLZXkgPSBcIlNNU0luQXJhYmljXCJcclxuICAgICAgdGhpcy5TTVNJbkFyYWJpYy5Jc1JlcXVpcmVkID0gdHJ1ZVxyXG4gICAgICB0aGlzLlNNU0luQXJhYmljLlZhbHVlID0gdGhpcy5UZW1wbGF0ZUluZm8uc21zVGVtcGxhdGVJbmZvLnNtcy5hcmFiaWM7XHJcblxyXG4gICAgICB0aGlzLklzRm9ybUxvYWRlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG4gIGdldEVkaXRTTVNNb2RlbCA9ICgpID0+IHtcclxuICAgIGxldCBwYXJhbUFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IFJlc3VsdE1vZGVsID0gdGhpcy5FZGl0U01TRm9ybS52YWx1ZTtcclxuICAgIGxldCBFZGl0TW9kZWwgPSBuZXcgVGVtcGxhdGVFZGl0Vmlld01vZGVsKCk7XHJcbiAgICBFZGl0TW9kZWwuSURfR1VJRCA9IHRoaXMuVGVtcGxhdGVJZDtcclxuICAgIEVkaXRNb2RlbC5Jc0VtYWlsID0gZmFsc2U7XHJcbiAgICBFZGl0TW9kZWwuSXNTbXMgPSB0cnVlO1xyXG4gICAgRWRpdE1vZGVsLlRlbXBsYXRlTmFtZSA9IHRoaXMuVGVtcGxhdGVJbmZvLnRlbXBsYXRlTmFtZTtcclxuICAgIEVkaXRNb2RlbC5MYW5ndWFnZSA9IHRoaXMuTGFuZztcclxuICAgIEVkaXRNb2RlbC5TTVNUZW1wbGF0ZUluZm8uSURfR1VJRCA9IHRoaXMuVGVtcGxhdGVJbmZvLnNtc1RlbXBsYXRlSW5mby5pRF9HVUlEO1xyXG4gICAgRWRpdE1vZGVsLlNNU1RlbXBsYXRlSW5mby5TTVMuQXJhYmljID0gUmVzdWx0TW9kZWxbXCJTTVNUZW1wbGF0ZUluZm8uU01TLkFyYWJpY1wiXTtcclxuICAgIEVkaXRNb2RlbC5TTVNUZW1wbGF0ZUluZm8uU01TLkVuZ2xpc2ggPSBSZXN1bHRNb2RlbFtcIlNNU1RlbXBsYXRlSW5mby5TTVMuRW5nbGlzaFwiXVxyXG5cclxuICAgIHBhcmFtQXJyYXkucHVzaChFZGl0TW9kZWwpO1xyXG4gICAgcmV0dXJuIHBhcmFtQXJyYXk7XHJcbiAgfVxyXG5cclxuICBnZXRFZGl0U01TRnVuY3Rpb24gPSAoRWRpdE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlU2VydmljZS5lZGl0U01TVGVtcGxhdGVCeUxhbmcoRWRpdE1vZGVsKVxyXG4gIH1cclxuICBvbkVkaXRTTVNTdWNjZXNzID0gKHJlc3VsdCkgPT4ge1xyXG4gICAgdGhpcy5jYW5jZWxFZGl0KCk7XHJcbiAgfVxyXG4gIGNhbmNlbEVkaXQoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9BZG1pbi9Ob3RpZmljYXRpb25zL1RlbXBsYXRlSW5mbycsIHRoaXMuVGVtcGxhdGVJZF0pO1xyXG4gIH1cclxuXHJcbiAgLy9DaGFuZ2UgTGFuZ1xyXG4gIGNoYW5nZUN1cnJlbnRMYW5ndWFnZShsYW5nOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuTGFuZyA9IGxhbmc7XHJcbiAgfVxyXG5cclxuICAvL09uIGRlc3Ryb3lcclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVxdWVzdEhhbmRsZXJTZXJ2aWNlLmRlc3Ryb3lIYW5kbGVyKCk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGJsb2NrLXVpPjwvYmxvY2stdWk+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtY3VzdG9tLWhcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgPCEtLXt7VGVtcGxhdGVJbmZvLnRlbXBsYXRlTmFtZX19KFNNUyktLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICA8YSBjbGFzcz1cImJ0biBidG4tbGlnaHQtcHJpbWFyeSBidG4tc21cIiAoY2xpY2spPVwiY2hhbmdlQ3VycmVudExhbmd1YWdlKCdhcicpXCIgKm5nSWY9XCJMYW5nPT0nZW4nXCI+XHJcbiAgICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFyYWJpY1wiKX19XHJcbiAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICA8YSBjbGFzcz1cImJ0biBidG4tbGlnaHQtcHJpbWFyeSBidG4tc21cIiAoY2xpY2spPVwiY2hhbmdlQ3VycmVudExhbmd1YWdlKCdlbicpXCIgKm5nSWY9XCJMYW5nPT0nYXInXCI+XHJcbiAgICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkVuZ2xpc2hcIil9fVxyXG4gICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxCQlNGLUZvcm0gW29wdGlvbnNdPVwiRWRpdFNNU0Zvcm1PcHRpb25zXCIgKm5nSWY9XCJJc0Zvcm1Mb2FkZWRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJrdC1mb3JtIHJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiTGFuZz09J2FyJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxCQlNGLVRleHRBcmVhIGNsYXNzPVwidGV4dC1yaWdodFwiIFtvcHRpb25zXT1cIlNNU0luQXJhYmljXCIgW2dyb3VwXT1cIkVkaXRTTVNGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1UZXh0QXJlYT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXBob25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBtb2JpbGUtdHh0XCI+e3tUZW1wbGF0ZUluZm8uc21zVGVtcGxhdGVJbmZvLnNtcy5hcmFiaWN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJMYW5nPT0nZW4nXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLW1kLTZcIj5cclxuICAgICAgICAgICAgICAgICAgPEJCU0YtVGV4dEFyZWEgW29wdGlvbnNdPVwiU01TSW5FbmdsaXNoXCIgW2dyb3VwXT1cIkVkaXRTTVNGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvQkJTRi1UZXh0QXJlYT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXBob25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBtb2JpbGUtdHh0XCI+e3tUZW1wbGF0ZUluZm8uc21zVGVtcGxhdGVJbmZvLnNtcy5lbmdsaXNofX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodC1wcmltYXJ5IGJ0bi1zbSBtZS0zXCIgKGNsaWNrKT1cImNhbmNlbEVkaXQoKVwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkNhbmNlbExhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2F2ZUxhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvQkJTRi1Gb3JtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiJdfQ==