@hmcts/ccd-case-ui-toolkit 6.13.11-activity-tracker → 6.13.11-judicial-user-typeahead-fix

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 (93) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +2657 -3013
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/app.config.js +1 -11
  6. package/esm2015/lib/components/banners/index.js +1 -2
  7. package/esm2015/lib/components/banners/notification-banner/index.js +1 -2
  8. package/esm2015/lib/components/body/index.js +1 -2
  9. package/esm2015/lib/components/footer/index.js +1 -2
  10. package/esm2015/lib/components/form/index.js +1 -2
  11. package/esm2015/lib/shared/components/activity/activity-banner/activity-banner.component.js +5 -5
  12. package/esm2015/lib/shared/components/activity/activity-icon/activity-icon.component.js +2 -2
  13. package/esm2015/lib/shared/components/activity/activity.component.js +150 -0
  14. package/esm2015/lib/shared/components/activity/activity.module.js +13 -13
  15. package/esm2015/lib/shared/components/activity/index.js +2 -2
  16. package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +16 -29
  17. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +18 -38
  18. package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +5 -7
  19. package/esm2015/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.js +45 -22
  20. package/esm2015/lib/shared/components/search-result/search-result.component.js +19 -36
  21. package/esm2015/lib/shared/components/search-result/search-result.module.js +2 -2
  22. package/esm2015/lib/shared/domain/activity/activity.model.js +1 -1
  23. package/esm2015/lib/shared/domain/activity/index.js +1 -4
  24. package/esm2015/lib/shared/domain/search/index.js +1 -2
  25. package/esm2015/lib/shared/services/activity/activity.polling.service.js +10 -25
  26. package/esm2015/lib/shared/services/activity/activity.service.js +21 -47
  27. package/esm2015/lib/shared/services/activity/index.js +1 -2
  28. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +3227 -3528
  29. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  30. package/lib/app.config.d.ts +0 -10
  31. package/lib/app.config.d.ts.map +1 -1
  32. package/lib/components/banners/index.d.ts +0 -1
  33. package/lib/components/banners/index.d.ts.map +1 -1
  34. package/lib/components/banners/notification-banner/index.d.ts +0 -1
  35. package/lib/components/banners/notification-banner/index.d.ts.map +1 -1
  36. package/lib/components/body/index.d.ts +0 -1
  37. package/lib/components/body/index.d.ts.map +1 -1
  38. package/lib/components/footer/index.d.ts +0 -1
  39. package/lib/components/footer/index.d.ts.map +1 -1
  40. package/lib/components/form/index.d.ts +0 -1
  41. package/lib/components/form/index.d.ts.map +1 -1
  42. package/lib/shared/components/activity/activity.component.d.ts +32 -0
  43. package/lib/shared/components/activity/activity.component.d.ts.map +1 -0
  44. package/lib/shared/components/activity/activity.module.d.ts +4 -4
  45. package/lib/shared/components/activity/activity.module.d.ts.map +1 -1
  46. package/lib/shared/components/activity/index.d.ts +1 -1
  47. package/lib/shared/components/activity/index.d.ts.map +1 -1
  48. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +4 -5
  49. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  50. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +4 -7
  51. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  52. package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
  53. package/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.d.ts +10 -9
  54. package/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.d.ts.map +1 -1
  55. package/lib/shared/components/search-result/search-result.component.d.ts +6 -9
  56. package/lib/shared/components/search-result/search-result.component.d.ts.map +1 -1
  57. package/lib/shared/domain/activity/activity.model.d.ts +0 -1
  58. package/lib/shared/domain/activity/activity.model.d.ts.map +1 -1
  59. package/lib/shared/domain/activity/index.d.ts +0 -3
  60. package/lib/shared/domain/activity/index.d.ts.map +1 -1
  61. package/lib/shared/domain/search/index.d.ts +0 -1
  62. package/lib/shared/domain/search/index.d.ts.map +1 -1
  63. package/lib/shared/services/activity/activity.polling.service.d.ts +5 -6
  64. package/lib/shared/services/activity/activity.polling.service.d.ts.map +1 -1
  65. package/lib/shared/services/activity/activity.service.d.ts +5 -14
  66. package/lib/shared/services/activity/activity.service.d.ts.map +1 -1
  67. package/lib/shared/services/activity/index.d.ts +0 -1
  68. package/lib/shared/services/activity/index.d.ts.map +1 -1
  69. package/package.json +1 -1
  70. package/esm2015/lib/shared/components/activity/case-activity.component.js +0 -174
  71. package/esm2015/lib/shared/domain/activity/case-activity-info.model.js +0 -3
  72. package/esm2015/lib/shared/domain/activity/case-activity.model.js +0 -3
  73. package/esm2015/lib/shared/domain/activity/user.model.js +0 -3
  74. package/esm2015/lib/shared/domain/search/sorting/index.js +0 -4
  75. package/esm2015/lib/shared/domain/user/index.js +0 -3
  76. package/esm2015/lib/shared/services/activity/activity-socket.service.js +0 -91
  77. package/esm2015/lib/shared/services/activity/utils/index.js +0 -117
  78. package/lib/shared/components/activity/case-activity.component.d.ts +0 -32
  79. package/lib/shared/components/activity/case-activity.component.d.ts.map +0 -1
  80. package/lib/shared/domain/activity/case-activity-info.model.d.ts +0 -9
  81. package/lib/shared/domain/activity/case-activity-info.model.d.ts.map +0 -1
  82. package/lib/shared/domain/activity/case-activity.model.d.ts +0 -5
  83. package/lib/shared/domain/activity/case-activity.model.d.ts.map +0 -1
  84. package/lib/shared/domain/activity/user.model.d.ts +0 -6
  85. package/lib/shared/domain/activity/user.model.d.ts.map +0 -1
  86. package/lib/shared/domain/search/sorting/index.d.ts +0 -4
  87. package/lib/shared/domain/search/sorting/index.d.ts.map +0 -1
  88. package/lib/shared/domain/user/index.d.ts +0 -3
  89. package/lib/shared/domain/user/index.d.ts.map +0 -1
  90. package/lib/shared/services/activity/activity-socket.service.d.ts +0 -33
  91. package/lib/shared/services/activity/activity-socket.service.d.ts.map +0 -1
  92. package/lib/shared/services/activity/utils/index.d.ts +0 -40
  93. package/lib/shared/services/activity/utils/index.d.ts.map +0 -1
@@ -1,17 +1,15 @@
1
- import { ChangeDetectorRef, Component } from '@angular/core';
1
+ import { Component } from '@angular/core';
2
2
  import { FormControl, FormGroup } from '@angular/forms';
3
- import { ActivatedRoute } from '@angular/router';
4
3
  import { catchError, debounceTime, filter, switchMap, tap } from 'rxjs/operators';
5
- import { JurisdictionService } from '../../../services';
4
+ import { CaseFlagRefdataService, JurisdictionService, SessionStorageService } from '../../../services';
6
5
  import { AbstractFieldWriteComponent } from '../base-field';
7
6
  import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/router";
9
- import * as i2 from "../../../services";
10
- import * as i3 from "@angular/forms";
11
- import * as i4 from "@angular/common";
12
- import * as i5 from "@angular/material/autocomplete";
13
- import * as i6 from "@angular/material/core";
14
- import * as i7 from "../utils/field-label.pipe";
7
+ import * as i1 from "../../../services";
8
+ import * as i2 from "@angular/forms";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "@angular/material/autocomplete";
11
+ import * as i5 from "@angular/material/core";
12
+ import * as i6 from "../utils/field-label.pipe";
15
13
  function WriteJudicialUserFieldComponent_span_2_Template(rf, ctx) { if (rf & 1) {
16
14
  i0.ɵɵelementStart(0, "span", 9);
17
15
  i0.ɵɵtext(1);
@@ -51,12 +49,11 @@ function WriteJudicialUserFieldComponent_mat_option_8_Template(rf, ctx) { if (rf
51
49
  i0.ɵɵelementEnd();
52
50
  } }
53
51
  export class WriteJudicialUserFieldComponent extends AbstractFieldWriteComponent {
54
- constructor(route, cd, jurisdictionService) {
52
+ constructor(jurisdictionService, sessionStorageService, caseFlagRefDataService) {
55
53
  super();
56
- this.route = route;
57
- this.cd = cd;
58
54
  this.jurisdictionService = jurisdictionService;
59
- this.JURISDICTION_ID = 'jid';
55
+ this.sessionStorageService = sessionStorageService;
56
+ this.caseFlagRefDataService = caseFlagRefDataService;
60
57
  this.MINIMUM_SEARCH_CHARACTERS = 2;
61
58
  this.IDAM_ID = 'idamId';
62
59
  this.PERSONAL_CODE = 'personalCode';
@@ -64,18 +61,44 @@ export class WriteJudicialUserFieldComponent extends AbstractFieldWriteComponent
64
61
  this.showAutocomplete = false;
65
62
  }
66
63
  ngOnInit() {
67
- this.jurisdictionId = this.route.snapshot.params[this.JURISDICTION_ID];
64
+ var _a;
68
65
  this.judicialUserFormGroup = this.registerControl(new FormGroup({}), true);
69
66
  this.idamIdFormControl = new FormControl('');
70
67
  this.judicialUserFormGroup.addControl(this.IDAM_ID, this.idamIdFormControl);
71
68
  this.personalCodeFormControl = new FormControl('');
72
69
  this.judicialUserFormGroup.addControl(this.PERSONAL_CODE, this.personalCodeFormControl);
73
- this.sub = this.idamIdFormControl.valueChanges.pipe(tap(() => this.showAutocomplete = false), tap(() => this.filteredJudicialUsers = []), debounceTime(300), filter((searchTerm) => searchTerm && searchTerm.length > this.MINIMUM_SEARCH_CHARACTERS), switchMap((searchTerm) => this.filter(searchTerm).pipe(tap(() => this.showAutocomplete = true), catchError(() => this.filteredJudicialUsers = [])))).subscribe((judicialUsers) => {
70
+ this.setJurisdictionAndCaseType();
71
+ this.sub = this.idamIdFormControl.valueChanges.pipe(tap(() => this.showAutocomplete = false), tap(() => this.filteredJudicialUsers = []), debounceTime(300), filter((searchTerm) => searchTerm && searchTerm.length > this.MINIMUM_SEARCH_CHARACTERS), switchMap((searchTerm) => this.filterJudicialUsers(searchTerm).pipe(tap(() => this.showAutocomplete = true), catchError(() => this.filteredJudicialUsers = [])))).subscribe((judicialUsers) => {
74
72
  this.filteredJudicialUsers = judicialUsers;
75
73
  });
74
+ if ((_a = this.caseField.value) === null || _a === void 0 ? void 0 : _a.personalCode) {
75
+ this.loadJudicialUser(this.caseField.value.personalCode);
76
+ }
77
+ }
78
+ filterJudicialUsers(searchTerm) {
79
+ return this.caseFlagRefDataService.getHmctsServiceDetailsByCaseType(this.caseType).pipe(
80
+ // If an error occurs retrieving HMCTS service details by case type ID, try by service name instead
81
+ catchError(_ => this.caseFlagRefDataService.getHmctsServiceDetailsByServiceName(this.jurisdiction)),
82
+ // Use switchMap to return an inner Observable of the flag types data, having received the service details
83
+ // including service_code. This avoids having nested `subscribe`s, which is an anti-pattern!
84
+ switchMap(serviceDetails => this.jurisdictionService.searchJudicialUsers(searchTerm, serviceDetails[0].service_code)));
76
85
  }
77
- filter(searchTerm) {
78
- return this.jurisdictionService.searchJudicialUsers(searchTerm, this.jurisdictionId);
86
+ loadJudicialUser(personalCode) {
87
+ if (personalCode) {
88
+ this.jurisdictionService.searchJudicialUsersByPersonalCodes([personalCode]).subscribe(judicialUsers => {
89
+ const judicialUser = judicialUsers[0];
90
+ this.idamIdFormControl.setValue(`${judicialUser.fullName} (${judicialUser.emailId})`);
91
+ this.personalCodeFormControl.setValue(judicialUser.personalCode);
92
+ });
93
+ }
94
+ }
95
+ setJurisdictionAndCaseType() {
96
+ const caseInfoStr = this.sessionStorageService.getItem('caseInfo');
97
+ if (caseInfoStr) {
98
+ const caseInfo = JSON.parse(caseInfoStr);
99
+ this.jurisdiction = caseInfo === null || caseInfo === void 0 ? void 0 : caseInfo.jurisdiction;
100
+ this.caseType = caseInfo === null || caseInfo === void 0 ? void 0 : caseInfo.caseType;
101
+ }
79
102
  }
80
103
  onSelectionChange(judicialUser) {
81
104
  this.idamIdFormControl.setValue(`${judicialUser.fullName} (${judicialUser.emailId})`);
@@ -87,7 +110,7 @@ export class WriteJudicialUserFieldComponent extends AbstractFieldWriteComponent
87
110
  }
88
111
  }
89
112
  }
90
- WriteJudicialUserFieldComponent.ɵfac = function WriteJudicialUserFieldComponent_Factory(t) { return new (t || WriteJudicialUserFieldComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.JurisdictionService)); };
113
+ WriteJudicialUserFieldComponent.ɵfac = function WriteJudicialUserFieldComponent_Factory(t) { return new (t || WriteJudicialUserFieldComponent)(i0.ɵɵdirectiveInject(i1.JurisdictionService), i0.ɵɵdirectiveInject(i1.SessionStorageService), i0.ɵɵdirectiveInject(i1.CaseFlagRefdataService)); };
91
114
  WriteJudicialUserFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteJudicialUserFieldComponent, selectors: [["ccd-write-judicial-user-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 9, vars: 9, consts: [[1, "form-group", 3, "formGroup"], [3, "for"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], [1, "form-control", "bottom-30", 3, "id", "formControl", "matAutocomplete"], ["autoActiveFirstOption", ""], ["autoComplete", "matAutocomplete"], ["class", "select-option", 3, "ngClass", "value", "onSelectionChange", 4, "ngFor", "ngForOf"], ["class", "select-option", 4, "ngIf"], [1, "form-label"], [1, "form-hint"], [1, "select-option", 3, "ngClass", "value", "onSelectionChange"], [1, "select-option"]], template: function WriteJudicialUserFieldComponent_Template(rf, ctx) { if (rf & 1) {
92
115
  i0.ɵɵelementStart(0, "div", 0);
93
116
  i0.ɵɵelementStart(1, "label", 1);
@@ -115,7 +138,7 @@ WriteJudicialUserFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteJudi
115
138
  i0.ɵɵproperty("ngForOf", ctx.filteredJudicialUsers);
116
139
  i0.ɵɵadvance(1);
117
140
  i0.ɵɵproperty("ngIf", !(ctx.filteredJudicialUsers == null ? null : ctx.filteredJudicialUsers.length) && ctx.showAutocomplete);
118
- } }, directives: [i3.NgControlStatusGroup, i3.FormGroupDirective, i4.NgIf, i3.DefaultValueAccessor, i5.MatAutocompleteTrigger, i3.NgControlStatus, i3.FormControlDirective, i5.MatAutocomplete, i4.NgForOf, i6.MatOption, i4.NgClass], pipes: [i7.FieldLabelPipe], styles: [".mat-option[_ngcontent-%COMP%]:hover{background:#2596be}.mat-option.select-option[_ngcontent-%COMP%]:hover{background:#1d70b8;color:#fff}.hide-autocomplete[_ngcontent-%COMP%]{display:none}"] });
141
+ } }, directives: [i2.NgControlStatusGroup, i2.FormGroupDirective, i3.NgIf, i2.DefaultValueAccessor, i4.MatAutocompleteTrigger, i2.NgControlStatus, i2.FormControlDirective, i4.MatAutocomplete, i3.NgForOf, i5.MatOption, i3.NgClass], pipes: [i6.FieldLabelPipe], styles: [".mat-option[_ngcontent-%COMP%]:hover{background:#2596be}.mat-option.select-option[_ngcontent-%COMP%]:hover{background:#1d70b8;color:#fff}.hide-autocomplete[_ngcontent-%COMP%]{display:none}"] });
119
142
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteJudicialUserFieldComponent, [{
120
143
  type: Component,
121
144
  args: [{
@@ -123,5 +146,5 @@ WriteJudicialUserFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteJudi
123
146
  styleUrls: ['./write-judicial-user-field.component.scss'],
124
147
  templateUrl: './write-judicial-user-field.component.html'
125
148
  }]
126
- }], function () { return [{ type: i1.ActivatedRoute }, { type: i0.ChangeDetectorRef }, { type: i2.JurisdictionService }]; }, null); })();
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtanVkaWNpYWwtdXNlci1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9qdWRpY2lhbC11c2VyL3dyaXRlLWp1ZGljaWFsLXVzZXItZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvanVkaWNpYWwtdXNlci93cml0ZS1qdWRpY2lhbC11c2VyLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0lDSHhELCtCQUdDO0lBQ0MsWUFDRjs7SUFBQSxpQkFBTzs7O0lBREwsZUFDRjtJQURFLHVFQUNGOzs7SUFFRixnQ0FHQztJQUNDLFlBQ0Y7SUFBQSxpQkFBTzs7O0lBREwsZUFDRjtJQURFLDJEQUNGOzs7OztJQVdFLHNDQU1DO0lBREMsbVNBQXFEO0lBRXJELFlBQ0Y7SUFBQSxpQkFBYTs7OztJQUxYLDhF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QUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7OzhHQXhEVSwrQkFBK0I7b0VBQS9CLCtCQUErQjtRQ2Q1Qyw4QkFBNEQ7UUFDMUQsZ0NBRUM7UUFDQyxrRkFLTztRQUNULGlCQUFRO1FBQ1Isa0ZBS087UUFDUCwyQkFLQztRQUNELDhDQUdDO1FBQ0MsOEZBUWE7UUFDYiw4RkFLYTtRQUNmLGlCQUFtQjtRQUNyQixpQkFBTTs7O1FBM0NrQixxREFBbUM7UUFFdkQsZUFBWTtRQUFaLDhCQUFZO1FBR1QsZUFBcUI7UUFBckIsMENBQXFCO1FBT3ZCLGVBQXlCO1FBQXpCLDhDQUF5QjtRQU8xQixlQUFXO1FBQVgsNkJBQVcsc0NBQUEsd0JBQUE7UUFTZ0IsZUFBd0I7UUFBeEIsbURBQXdCO1FBU2hELGVBQXdEO1FBQXhELDZIQUF3RDs7dUZEdkJsRCwrQkFBK0I7Y0FMM0MsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwrQkFBK0I7Z0JBQ3pDLFNBQVMsRUFBRSxDQUFDLDRDQUE0QyxDQUFDO2dCQUN6RCxXQUFXLEVBQUUsNENBQTRDO2FBQzFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEp1ZGljaWFsVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2p1cmlzZGljdGlvbic7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1qdWRpY2lhbC11c2VyLWZpZWxkJyxcbiAgc3R5bGVVcmxzOiBbJy4vd3JpdGUtanVkaWNpYWwtdXNlci1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vd3JpdGUtanVkaWNpYWwtdXNlci1maWVsZC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV3JpdGVKdWRpY2lhbFVzZXJGaWVsZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IEpVUklTRElDVElPTl9JRCA9ICdqaWQnO1xuICBwcml2YXRlIHJlYWRvbmx5IE1JTklNVU1fU0VBUkNIX0NIQVJBQ1RFUlMgPSAyO1xuICBwcml2YXRlIHJlYWRvbmx5IElEQU1fSUQgPSAnaWRhbUlkJztcbiAgcHJpdmF0ZSByZWFkb25seSBQRVJTT05BTF9DT0RFID0gJ3BlcnNvbmFsQ29kZSc7XG5cbiAgcHVibGljIGp1ZGljaWFsVXNlckZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBwdWJsaWMgaWRhbUlkRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBwdWJsaWMgcGVyc29uYWxDb2RlRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBwdWJsaWMganVyaXNkaWN0aW9uSWQ6IHN0cmluZztcbiAgcHVibGljIGZpbHRlcmVkSnVkaWNpYWxVc2VyczogSnVkaWNpYWxVc2VyTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgc2hvd0F1dG9jb21wbGV0ZSA9IGZhbHNlO1xuICBwdWJsaWMgc3ViOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGp1cmlzZGljdGlvblNlcnZpY2U6IEp1cmlzZGljdGlvblNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuanVyaXNkaWN0aW9uSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtc1t0aGlzLkpVUklTRElDVElPTl9JRF07XG4gICAgdGhpcy5qdWRpY2lhbFVzZXJGb3JtR3JvdXAgPSB0aGlzLnJlZ2lzdGVyQ29udHJvbChuZXcgRm9ybUdyb3VwKHt9KSwgdHJ1ZSkgYXMgRm9ybUdyb3VwO1xuICAgIHRoaXMuaWRhbUlkRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuICAgIHRoaXMuanVkaWNpYWxVc2VyRm9ybUdyb3VwLmFkZENvbnRyb2wodGhpcy5JREFNX0lELCB0aGlzLmlkYW1JZEZvcm1Db250cm9sKTtcbiAgICB0aGlzLnBlcnNvbmFsQ29kZUZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnKTtcbiAgICB0aGlzLmp1ZGljaWFsVXNlckZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMuUEVSU09OQUxfQ09ERSwgdGhpcy5wZXJzb25hbENvZGVGb3JtQ29udHJvbCk7XG5cbiAgICB0aGlzLnN1YiA9IHRoaXMuaWRhbUlkRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gZmFsc2UpLFxuICAgICAgdGFwKCgpID0+IHRoaXMuZmlsdGVyZWRKdWRpY2lhbFVzZXJzID0gW10pLFxuICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICBmaWx0ZXIoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gc2VhcmNoVGVybSAmJiBzZWFyY2hUZXJtLmxlbmd0aCA+IHRoaXMuTUlOSU1VTV9TRUFSQ0hfQ0hBUkFDVEVSUyksXG4gICAgICBzd2l0Y2hNYXAoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gdGhpcy5maWx0ZXIoc2VhcmNoVGVybSkucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IHRydWUpLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHRoaXMuZmlsdGVyZWRKdWRpY2lhbFVzZXJzID0gW10pXG4gICAgICApKVxuICAgICkuc3Vic2NyaWJlKChqdWRpY2lhbFVzZXJzOiBKdWRpY2lhbFVzZXJNb2RlbFtdKSA9PiB7XG4gICAgICB0aGlzLmZpbHRlcmVkSnVkaWNpYWxVc2VycyA9IGp1ZGljaWFsVXNlcnM7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyKHNlYXJjaFRlcm06IHN0cmluZyk6IE9ic2VydmFibGU8SnVkaWNpYWxVc2VyTW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmp1cmlzZGljdGlvblNlcnZpY2Uuc2VhcmNoSnVkaWNpYWxVc2VycyhzZWFyY2hUZXJtLCB0aGlzLmp1cmlzZGljdGlvbklkKTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGlvbkNoYW5nZShqdWRpY2lhbFVzZXI6IEp1ZGljaWFsVXNlck1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5pZGFtSWRGb3JtQ29udHJvbC5zZXRWYWx1ZShgJHtqdWRpY2lhbFVzZXIuZnVsbE5hbWV9ICgke2p1ZGljaWFsVXNlci5lbWFpbElkfSlgKTtcbiAgICB0aGlzLnBlcnNvbmFsQ29kZUZvcm1Db250cm9sLnNldFZhbHVlKGp1ZGljaWFsVXNlci5wZXJzb25hbENvZGUpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1Yikge1xuICAgICAgdGhpcy5zdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJqdWRpY2lhbFVzZXJGb3JtR3JvdXBcIj5cbiAgPGxhYmVsXG4gICAgW2Zvcl09XCJpZCgpXCJcbiAgPlxuICAgIDxzcGFuXG4gICAgICAqbmdJZj1cImNhc2VGaWVsZC5sYWJlbFwiXG4gICAgICBjbGFzcz1cImZvcm0tbGFiZWxcIlxuICAgID5cbiAgICAgIHt7Y2FzZUZpZWxkIHwgY2NkRmllbGRMYWJlbH19XG4gICAgPC9zcGFuPlxuICA8L2xhYmVsPlxuICA8c3BhblxuICAgICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dFwiXG4gICAgY2xhc3M9XCJmb3JtLWhpbnRcIlxuICA+XG4gICAge3tjYXNlRmllbGQuaGludF90ZXh0fX1cbiAgPC9zcGFuPlxuICA8aW5wdXRcbiAgICBjbGFzcz1cImZvcm0tY29udHJvbCBib3R0b20tMzBcIlxuICAgIFtpZF09XCJpZCgpXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwiaWRhbUlkRm9ybUNvbnRyb2xcIlxuICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b0NvbXBsZXRlXCJcbiAgPlxuICA8bWF0LWF1dG9jb21wbGV0ZVxuICAgIGF1dG9BY3RpdmVGaXJzdE9wdGlvblxuICAgICNhdXRvQ29tcGxldGU9XCJtYXRBdXRvY29tcGxldGVcIlxuICA+XG4gICAgPG1hdC1vcHRpb25cbiAgICAgICpuZ0Zvcj1cImxldCBqdWRpY2lhbFVzZXIgb2YgZmlsdGVyZWRKdWRpY2lhbFVzZXJzXCJcbiAgICAgIGNsYXNzPVwic2VsZWN0LW9wdGlvblwiXG4gICAgICBbbmdDbGFzc109XCJ7J2hpZGUtYXV0b2NvbXBsZXRlJzogIXNob3dBdXRvY29tcGxldGV9XCJcbiAgICAgIFt2YWx1ZV09XCJqdWRpY2lhbFVzZXIuaWRhbUlkXCJcbiAgICAgIChvblNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZShqdWRpY2lhbFVzZXIpXCJcbiAgICA+XG4gICAgICB7eyBqdWRpY2lhbFVzZXIuZnVsbE5hbWUgfX0gKHt7IGp1ZGljaWFsVXNlci5lbWFpbElkIH19KVxuICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8bWF0LW9wdGlvblxuICAgICAgKm5nSWY9XCIhZmlsdGVyZWRKdWRpY2lhbFVzZXJzPy5sZW5ndGggJiYgc2hvd0F1dG9jb21wbGV0ZVwiXG4gICAgICBjbGFzcz1cInNlbGVjdC1vcHRpb25cIlxuICAgID5cbiAgICAgIE5vIHJlc3VsdHMgZm91bmRcbiAgICA8L21hdC1vcHRpb24+XG4gIDwvbWF0LWF1dG9jb21wbGV0ZT5cbjwvZGl2PlxuIl19
149
+ }], function () { return [{ type: i1.JurisdictionService }, { type: i1.SessionStorageService }, { type: i1.CaseFlagRefdataService }]; }, null); })();
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtanVkaWNpYWwtdXNlci1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9qdWRpY2lhbC11c2VyL3dyaXRlLWp1ZGljaWFsLXVzZXItZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvanVkaWNpYWwtdXNlci93cml0ZS1qdWRpY2lhbC11c2VyLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztJQ0Z4RCwrQkFHQztJQUNDLFlBQ0Y7O0lBQUEsaUJBQU87OztJQURMLGVBQ0Y7SUFERSx1RUFDRjs7O0lBRUYsZ0NBR0M7SUFDQyxZQUNGO0lBQUEsaUJBQU87OztJQURMLGVBQ0Y7SUFERSwyREFDRjs7Ozs7SUFXRSxzQ0FNQztJQURDLG1TQUFxRDtJQUVyRCxZQUNGO0lBQUEsaUJBQWE7Ozs7SUFMWCw4RUFBb0QsaUNBQUE7SUFJcEQsZUFDRjtJQURFLHlGQUNG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LENBQUMsUUFBUSxLQUFLLFlBQVksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDOzs4R0F0RlUsK0JBQStCO29FQUEvQiwrQkFBK0I7UUNiNUMsOEJBQTREO1FBQzFELGdDQUVDO1FBQ0Msa0ZBS087UUFDVCxpQkFBUTtRQUNSLGtGQUtPO1FBQ1AsMkJBS0M7UUFDRCw4Q0FHQztRQUNDLDhGQVFhO1FBQ2IsOEZBS2E7UUFDZixpQkFBbUI7UUFDckIsaUJBQU07OztRQTNDa0IscURBQW1DO1FBRXZELGVBQVk7UUFBWiw4QkFBWTtRQUdULGVBQXFCO1FBQXJCLDBDQUFxQjtRQU92QixlQUF5QjtRQUF6Qiw4Q0FBeUI7UUFPMUIsZUFBVztRQUFYLDZCQUFXLHNDQUFBLHdCQUFBO1FBU2dCLGVBQXdCO1FBQXhCLG1EQUF3QjtRQVNoRCxlQUF3RDtRQUF4RCw2SEFBd0Q7O3VGRHhCbEQsK0JBQStCO2NBTDNDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsK0JBQStCO2dCQUN6QyxTQUFTLEVBQUUsQ0FBQyw0Q0FBNEMsQ0FBQztnQkFDekQsV0FBVyxFQUFFLDRDQUE0QzthQUMxRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEp1ZGljaWFsVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2p1cmlzZGljdGlvbic7XG5pbXBvcnQgeyBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLCBKdXJpc2RpY3Rpb25TZXJ2aWNlLCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXdyaXRlLWp1ZGljaWFsLXVzZXItZmllbGQnLFxuICBzdHlsZVVybHM6IFsnLi93cml0ZS1qdWRpY2lhbC11c2VyLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi93cml0ZS1qdWRpY2lhbC11c2VyLWZpZWxkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXcml0ZUp1ZGljaWFsVXNlckZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgTUlOSU1VTV9TRUFSQ0hfQ0hBUkFDVEVSUyA9IDI7XG4gIHByaXZhdGUgcmVhZG9ubHkgSURBTV9JRCA9ICdpZGFtSWQnO1xuICBwcml2YXRlIHJlYWRvbmx5IFBFUlNPTkFMX0NPREUgPSAncGVyc29uYWxDb2RlJztcblxuICBwdWJsaWMganVkaWNpYWxVc2VyRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBpZGFtSWRGb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBwZXJzb25hbENvZGVGb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBqdXJpc2RpY3Rpb246IHN0cmluZztcbiAgcHVibGljIGNhc2VUeXBlOiBzdHJpbmc7XG4gIHB1YmxpYyBmaWx0ZXJlZEp1ZGljaWFsVXNlcnM6IEp1ZGljaWFsVXNlck1vZGVsW10gPSBbXTtcbiAgcHVibGljIHNob3dBdXRvY29tcGxldGUgPSBmYWxzZTtcbiAgcHVibGljIHN1YjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkganVyaXNkaWN0aW9uU2VydmljZTogSnVyaXNkaWN0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjYXNlRmxhZ1JlZkRhdGFTZXJ2aWNlOiBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmp1ZGljaWFsVXNlckZvcm1Hcm91cCA9IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtR3JvdXAoe30pLCB0cnVlKSBhcyBGb3JtR3JvdXA7XG4gICAgdGhpcy5pZGFtSWRGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gICAgdGhpcy5qdWRpY2lhbFVzZXJGb3JtR3JvdXAuYWRkQ29udHJvbCh0aGlzLklEQU1fSUQsIHRoaXMuaWRhbUlkRm9ybUNvbnRyb2wpO1xuICAgIHRoaXMucGVyc29uYWxDb2RlRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuICAgIHRoaXMuanVkaWNpYWxVc2VyRm9ybUdyb3VwLmFkZENvbnRyb2wodGhpcy5QRVJTT05BTF9DT0RFLCB0aGlzLnBlcnNvbmFsQ29kZUZvcm1Db250cm9sKTtcblxuICAgIHRoaXMuc2V0SnVyaXNkaWN0aW9uQW5kQ2FzZVR5cGUoKTtcblxuICAgIHRoaXMuc3ViID0gdGhpcy5pZGFtSWRGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnNob3dBdXRvY29tcGxldGUgPSBmYWxzZSksXG4gICAgICB0YXAoKCkgPT4gdGhpcy5maWx0ZXJlZEp1ZGljaWFsVXNlcnMgPSBbXSksXG4gICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcbiAgICAgIGZpbHRlcigoc2VhcmNoVGVybTogc3RyaW5nKSA9PiBzZWFyY2hUZXJtICYmIHNlYXJjaFRlcm0ubGVuZ3RoID4gdGhpcy5NSU5JTVVNX1NFQVJDSF9DSEFSQUNURVJTKSxcbiAgICAgIHN3aXRjaE1hcCgoc2VhcmNoVGVybTogc3RyaW5nKSA9PiB0aGlzLmZpbHRlckp1ZGljaWFsVXNlcnMoc2VhcmNoVGVybSkucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IHRydWUpLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHRoaXMuZmlsdGVyZWRKdWRpY2lhbFVzZXJzID0gW10pXG4gICAgICApKVxuICAgICkuc3Vic2NyaWJlKChqdWRpY2lhbFVzZXJzOiBKdWRpY2lhbFVzZXJNb2RlbFtdKSA9PiB7XG4gICAgICB0aGlzLmZpbHRlcmVkSnVkaWNpYWxVc2VycyA9IGp1ZGljaWFsVXNlcnM7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5jYXNlRmllbGQudmFsdWU/LnBlcnNvbmFsQ29kZSkge1xuICAgICAgdGhpcy5sb2FkSnVkaWNpYWxVc2VyKHRoaXMuY2FzZUZpZWxkLnZhbHVlLnBlcnNvbmFsQ29kZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbHRlckp1ZGljaWFsVXNlcnMoc2VhcmNoVGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxKdWRpY2lhbFVzZXJNb2RlbFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FzZUZsYWdSZWZEYXRhU2VydmljZS5nZXRIbWN0c1NlcnZpY2VEZXRhaWxzQnlDYXNlVHlwZSh0aGlzLmNhc2VUeXBlKS5waXBlKFxuICAgICAgLy8gSWYgYW4gZXJyb3Igb2NjdXJzIHJldHJpZXZpbmcgSE1DVFMgc2VydmljZSBkZXRhaWxzIGJ5IGNhc2UgdHlwZSBJRCwgdHJ5IGJ5IHNlcnZpY2UgbmFtZSBpbnN0ZWFkXG4gICAgICBjYXRjaEVycm9yKF8gPT4gdGhpcy5jYXNlRmxhZ1JlZkRhdGFTZXJ2aWNlLmdldEhtY3RzU2VydmljZURldGFpbHNCeVNlcnZpY2VOYW1lKHRoaXMuanVyaXNkaWN0aW9uKSksXG4gICAgICAvLyBVc2Ugc3dpdGNoTWFwIHRvIHJldHVybiBhbiBpbm5lciBPYnNlcnZhYmxlIG9mIHRoZSBmbGFnIHR5cGVzIGRhdGEsIGhhdmluZyByZWNlaXZlZCB0aGUgc2VydmljZSBkZXRhaWxzXG4gICAgICAvLyBpbmNsdWRpbmcgc2VydmljZV9jb2RlLiBUaGlzIGF2b2lkcyBoYXZpbmcgbmVzdGVkIGBzdWJzY3JpYmVgcywgd2hpY2ggaXMgYW4gYW50aS1wYXR0ZXJuIVxuICAgICAgc3dpdGNoTWFwKHNlcnZpY2VEZXRhaWxzID0+IHRoaXMuanVyaXNkaWN0aW9uU2VydmljZS5zZWFyY2hKdWRpY2lhbFVzZXJzKHNlYXJjaFRlcm0sIHNlcnZpY2VEZXRhaWxzWzBdLnNlcnZpY2VfY29kZSkpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkSnVkaWNpYWxVc2VyKHBlcnNvbmFsQ29kZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHBlcnNvbmFsQ29kZSkge1xuICAgICAgdGhpcy5qdXJpc2RpY3Rpb25TZXJ2aWNlLnNlYXJjaEp1ZGljaWFsVXNlcnNCeVBlcnNvbmFsQ29kZXMoW3BlcnNvbmFsQ29kZV0pLnN1YnNjcmliZShqdWRpY2lhbFVzZXJzID0+IHtcbiAgICAgICAgY29uc3QganVkaWNpYWxVc2VyID0ganVkaWNpYWxVc2Vyc1swXTtcbiAgICAgICAgdGhpcy5pZGFtSWRGb3JtQ29udHJvbC5zZXRWYWx1ZShgJHtqdWRpY2lhbFVzZXIuZnVsbE5hbWV9ICgke2p1ZGljaWFsVXNlci5lbWFpbElkfSlgKTtcbiAgICAgICAgdGhpcy5wZXJzb25hbENvZGVGb3JtQ29udHJvbC5zZXRWYWx1ZShqdWRpY2lhbFVzZXIucGVyc29uYWxDb2RlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRKdXJpc2RpY3Rpb25BbmRDYXNlVHlwZSgpOiB2b2lkIHtcbiAgICBjb25zdCBjYXNlSW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2Nhc2VJbmZvJyk7XG4gICAgaWYgKGNhc2VJbmZvU3RyKSB7XG4gICAgICBjb25zdCBjYXNlSW5mbyA9IEpTT04ucGFyc2UoY2FzZUluZm9TdHIpO1xuICAgICAgdGhpcy5qdXJpc2RpY3Rpb24gPSBjYXNlSW5mbz8uanVyaXNkaWN0aW9uO1xuICAgICAgdGhpcy5jYXNlVHlwZSA9IGNhc2VJbmZvPy5jYXNlVHlwZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3Rpb25DaGFuZ2UoanVkaWNpYWxVc2VyOiBKdWRpY2lhbFVzZXJNb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuaWRhbUlkRm9ybUNvbnRyb2wuc2V0VmFsdWUoYCR7anVkaWNpYWxVc2VyLmZ1bGxOYW1lfSAoJHtqdWRpY2lhbFVzZXIuZW1haWxJZH0pYCk7XG4gICAgdGhpcy5wZXJzb25hbENvZGVGb3JtQ29udHJvbC5zZXRWYWx1ZShqdWRpY2lhbFVzZXIucGVyc29uYWxDb2RlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWIpIHtcbiAgICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtmb3JtR3JvdXBdPVwianVkaWNpYWxVc2VyRm9ybUdyb3VwXCI+XG4gIDxsYWJlbFxuICAgIFtmb3JdPVwiaWQoKVwiXG4gID5cbiAgICA8c3BhblxuICAgICAgKm5nSWY9XCJjYXNlRmllbGQubGFiZWxcIlxuICAgICAgY2xhc3M9XCJmb3JtLWxhYmVsXCJcbiAgICA+XG4gICAgICB7e2Nhc2VGaWVsZCB8IGNjZEZpZWxkTGFiZWx9fVxuICAgIDwvc3Bhbj5cbiAgPC9sYWJlbD5cbiAgPHNwYW5cbiAgICAqbmdJZj1cImNhc2VGaWVsZC5oaW50X3RleHRcIlxuICAgIGNsYXNzPVwiZm9ybS1oaW50XCJcbiAgPlxuICAgIHt7Y2FzZUZpZWxkLmhpbnRfdGV4dH19XG4gIDwvc3Bhbj5cbiAgPGlucHV0XG4gICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYm90dG9tLTMwXCJcbiAgICBbaWRdPVwiaWQoKVwiXG4gICAgW2Zvcm1Db250cm9sXT1cImlkYW1JZEZvcm1Db250cm9sXCJcbiAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9Db21wbGV0ZVwiXG4gID5cbiAgPG1hdC1hdXRvY29tcGxldGVcbiAgICBhdXRvQWN0aXZlRmlyc3RPcHRpb25cbiAgICAjYXV0b0NvbXBsZXRlPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgPlxuICAgIDxtYXQtb3B0aW9uXG4gICAgICAqbmdGb3I9XCJsZXQganVkaWNpYWxVc2VyIG9mIGZpbHRlcmVkSnVkaWNpYWxVc2Vyc1wiXG4gICAgICBjbGFzcz1cInNlbGVjdC1vcHRpb25cIlxuICAgICAgW25nQ2xhc3NdPVwieydoaWRlLWF1dG9jb21wbGV0ZSc6ICFzaG93QXV0b2NvbXBsZXRlfVwiXG4gICAgICBbdmFsdWVdPVwianVkaWNpYWxVc2VyLmlkYW1JZFwiXG4gICAgICAob25TZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoanVkaWNpYWxVc2VyKVwiXG4gICAgPlxuICAgICAge3sganVkaWNpYWxVc2VyLmZ1bGxOYW1lIH19ICh7eyBqdWRpY2lhbFVzZXIuZW1haWxJZCB9fSlcbiAgICA8L21hdC1vcHRpb24+XG4gICAgPG1hdC1vcHRpb25cbiAgICAgICpuZ0lmPVwiIWZpbHRlcmVkSnVkaWNpYWxVc2Vycz8ubGVuZ3RoICYmIHNob3dBdXRvY29tcGxldGVcIlxuICAgICAgY2xhc3M9XCJzZWxlY3Qtb3B0aW9uXCJcbiAgICA+XG4gICAgICBObyByZXN1bHRzIGZvdW5kXG4gICAgPC9tYXQtb3B0aW9uPlxuICA8L21hdC1hdXRvY29tcGxldGU+XG48L2Rpdj5cbiJdfQ==