@hmcts/rpx-xui-common-lib 2.1.7-javascript-void → 2.1.7

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.
@@ -18,14 +18,14 @@ function FindLocationComponent_label_3_Template(rf, ctx) { if (rf & 1) {
18
18
  function FindLocationComponent_a_6_Template(rf, ctx) { if (rf & 1) {
19
19
  const _r2 = i0.ɵɵgetCurrentView();
20
20
  i0.ɵɵelementStart(0, "a", 7);
21
- i0.ɵɵlistener("click", function FindLocationComponent_a_6_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); ctx_r0.addLocation(); return i0.ɵɵresetView($event.preventDefault()); });
21
+ i0.ɵɵlistener("click", function FindLocationComponent_a_6_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.addLocation()); });
22
22
  i0.ɵɵtext(1, " Add location ");
23
23
  i0.ɵɵelementEnd();
24
24
  } }
25
25
  function FindLocationComponent_ul_7_li_1_Template(rf, ctx) { if (rf & 1) {
26
26
  const _r3 = i0.ɵɵgetCurrentView();
27
27
  i0.ɵɵelementStart(0, "li", 10)(1, "a", 11);
28
- i0.ɵɵlistener("click", function FindLocationComponent_ul_7_li_1_Template_a_click_1_listener($event) { const selection_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); ctx_r0.removeLocation(selection_r4); return i0.ɵɵresetView($event.preventDefault()); });
28
+ i0.ɵɵlistener("click", function FindLocationComponent_ul_7_li_1_Template_a_click_1_listener() { const selection_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.removeLocation(selection_r4)); });
29
29
  i0.ɵɵtext(2);
30
30
  i0.ɵɵelementEnd()();
31
31
  } if (rf & 2) {
@@ -164,7 +164,7 @@ export class FindLocationComponent {
164
164
  } if (rf & 2) {
165
165
  let _t;
166
166
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.searchLocationComponent = _t.first);
167
- } }, inputs: { submitted: "submitted", enableAddLocationButton: "enableAddLocationButton", form: "form", field: "field", fields: "fields", locationTitle: "locationTitle", disableInputField: "disableInputField", formSubmissionEvent$: "formSubmissionEvent$", disabled: "disabled", services: "services" }, outputs: { locationFieldChanged: "locationFieldChanged" }, decls: 8, vars: 13, consts: [[1, "location-picker-custom"], [1, "search-location"], ["id", "input-selected-location-label", 4, "ngIf"], [1, "search-location", 3, "locationTermSearchInputChanged", "locationSelected", "searchLocationChanged", "form", "field", "selectedLocations", "delay", "disabled", "singleMode", "bookingCheck", "serviceIds", "propertyNameFilter", "locationType"], ["href", "#", "class", "govuk-button add-location-button", "data-module", "govuk-button", 3, "click", 4, "ngIf"], ["class", "hmcts-filter-tags selection-container", 4, "ngIf"], ["id", "input-selected-location-label"], ["href", "#", "data-module", "govuk-button", 1, "govuk-button", "add-location-button", 3, "click"], [1, "hmcts-filter-tags", "selection-container"], ["class", "location-selection", 4, "ngFor", "ngForOf"], [1, "location-selection"], ["href", "#", 1, "hmcts-filter__tag", 3, "click"]], template: function FindLocationComponent_Template(rf, ctx) { if (rf & 1) {
167
+ } }, inputs: { submitted: "submitted", enableAddLocationButton: "enableAddLocationButton", form: "form", field: "field", fields: "fields", locationTitle: "locationTitle", disableInputField: "disableInputField", formSubmissionEvent$: "formSubmissionEvent$", disabled: "disabled", services: "services" }, outputs: { locationFieldChanged: "locationFieldChanged" }, decls: 8, vars: 13, consts: [[1, "location-picker-custom"], [1, "search-location"], ["id", "input-selected-location-label", 4, "ngIf"], [1, "search-location", 3, "locationTermSearchInputChanged", "locationSelected", "searchLocationChanged", "form", "field", "selectedLocations", "delay", "disabled", "singleMode", "bookingCheck", "serviceIds", "propertyNameFilter", "locationType"], ["href", "javascript:void(0)", "class", "govuk-button add-location-button", "data-module", "govuk-button", 3, "click", 4, "ngIf"], ["class", "hmcts-filter-tags selection-container", 4, "ngIf"], ["id", "input-selected-location-label"], ["href", "javascript:void(0)", "data-module", "govuk-button", 1, "govuk-button", "add-location-button", 3, "click"], [1, "hmcts-filter-tags", "selection-container"], ["class", "location-selection", 4, "ngFor", "ngForOf"], [1, "location-selection"], ["href", "javascript:void(0)", 1, "hmcts-filter__tag", 3, "click"]], template: function FindLocationComponent_Template(rf, ctx) { if (rf & 1) {
168
168
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div");
169
169
  i0.ɵɵtemplate(3, FindLocationComponent_label_3_Template, 2, 1, "label", 2);
170
170
  i0.ɵɵelementEnd();
@@ -189,7 +189,7 @@ export class FindLocationComponent {
189
189
  }
190
190
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FindLocationComponent, [{
191
191
  type: Component,
192
- args: [{ selector: 'xuilib-find-location', template: "<div class=\"location-picker-custom\">\n <div class=\"search-location\">\n <div>\n <label id=\"input-selected-location-label\" *ngIf=\"locationTitle\">{{locationTitle}}</label>\n </div>\n <exui-search-location class=\"search-location\"\n [form]=\"form\"\n [field]=\"field\"\n [selectedLocations]=\"selectedLocations\"\n [delay]=\"300\"\n [disabled]=\"disabled\"\n [singleMode]=\"field.maxSelected === 1\"\n [bookingCheck]=\"field.bookingCheckType\"\n [serviceIds]=\"serviceIds\"\n [propertyNameFilter]=\"propertyNameFilter\"\n (locationTermSearchInputChanged)=\"onInputChanged($event)\"\n (locationSelected)=\"onLocationSelected($event)\"\n (searchLocationChanged)=\"onSearchInputChanged()\"\n [locationType]=\"'case-management'\">\n </exui-search-location>\n </div>\n\n <div>\n <a href=\"#\" (click)=\"addLocation(); $event.preventDefault()\" class=\"govuk-button add-location-button\" data-module=\"govuk-button\" *ngIf=\"enableAddLocationButton\">\n Add location\n </a>\n </div>\n\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedLocations\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeLocation(selection); $event.preventDefault()\" href=\"#\">\n {{ selection[propertyNameFilter] }}\n </a>\n </li>\n </ul>\n</div>\n", styles: [".add-location-button{margin-top:10px;margin-bottom:0}.search-location__input-container{display:flex}.search-location .auto-complete-container{min-width:unset;width:calc(100% - 4px)}.search-location__input{flex:1 0 auto}.search-location .govuk-button--secondary{background-color:#ddd}\n"] }]
192
+ args: [{ selector: 'xuilib-find-location', template: "<div class=\"location-picker-custom\">\n <div class=\"search-location\">\n <div>\n <label id=\"input-selected-location-label\" *ngIf=\"locationTitle\">{{locationTitle}}</label>\n </div>\n <exui-search-location class=\"search-location\"\n [form]=\"form\"\n [field]=\"field\"\n [selectedLocations]=\"selectedLocations\"\n [delay]=\"300\"\n [disabled]=\"disabled\"\n [singleMode]=\"field.maxSelected === 1\"\n [bookingCheck]=\"field.bookingCheckType\"\n [serviceIds]=\"serviceIds\"\n [propertyNameFilter]=\"propertyNameFilter\"\n (locationTermSearchInputChanged)=\"onInputChanged($event)\"\n (locationSelected)=\"onLocationSelected($event)\"\n (searchLocationChanged)=\"onSearchInputChanged()\"\n [locationType]=\"'case-management'\">\n </exui-search-location>\n </div>\n\n <div>\n <a href=\"javascript:void(0)\" (click)=\"addLocation()\" class=\"govuk-button add-location-button\" data-module=\"govuk-button\" *ngIf=\"enableAddLocationButton\">\n Add location\n </a>\n </div>\n\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedLocations\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeLocation(selection)\" href=\"javascript:void(0)\">\n {{ selection[propertyNameFilter] }}\n </a>\n </li>\n </ul>\n</div>\n", styles: [".add-location-button{margin-top:10px;margin-bottom:0}.search-location__input-container{display:flex}.search-location .auto-complete-container{min-width:unset;width:calc(100% - 4px)}.search-location__input{flex:1 0 auto}.search-location .govuk-button--secondary{background-color:#ddd}\n"] }]
193
193
  }], null, { locationFieldChanged: [{
194
194
  type: Output
195
195
  }], submitted: [{
@@ -217,4 +217,4 @@ export class FindLocationComponent {
217
217
  type: Input
218
218
  }] }); })();
219
219
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FindLocationComponent, { className: "FindLocationComponent", filePath: "lib/components/find-location/find-location.component.ts", lineNumber: 13 }); })();
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1sb2NhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbmQtbG9jYXRpb24vZmluZC1sb2NhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbmQtbG9jYXRpb24vZmluZC1sb2NhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFhLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUU3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7O0lDRmpGLGdDQUFnRTtJQUFBLFlBQWlCO0lBQUEsaUJBQVE7OztJQUF6QixjQUFpQjtJQUFqQiwwQ0FBaUI7Ozs7SUFvQm5GLDRCQUFpSztJQUFySiwwSkFBUyxvQkFBYSx3QkFBRSx1QkFBdUIsS0FBQztJQUMxRCw4QkFDRjtJQUFBLGlCQUFJOzs7O0lBS0YsQUFERiw4QkFBNEUsWUFDeUI7SUFBdEUsZ01BQVMsbUNBQXlCLHdCQUFFLHVCQUF1QixLQUFDO0lBQ3ZGLFlBQ0Y7SUFDRixBQURFLGlCQUFJLEVBQ0Q7Ozs7SUFGRCxlQUNGO0lBREUsd0VBQ0Y7OztJQUpKLDZCQUFpRjtJQUMvRSx5RUFBNEU7SUFLOUUsaUJBQUs7OztJQUxtRCxjQUFvQjtJQUFwQixrREFB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QUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQVV6QyxRQUFRO2tCQURsQixLQUFLO1lBY0ssUUFBUTtrQkFEbEIsS0FBSzs7a0ZBbENLLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpbHRlckZpZWxkQ29uZmlnLCBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgZ2V0VmFsdWVzIH0gZnJvbSAnLi4vZ2VuZXJpYy1maWx0ZXIvZ2VuZXJpYy1maWx0ZXItdXRpbHMnO1xuaW1wb3J0IHsgU2VhcmNoTG9jYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2gtbG9jYXRpb24vc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1maW5kLWxvY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbmQtbG9jYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maW5kLWxvY2F0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmluZExvY2F0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBAT3V0cHV0KCkgcHVibGljIGxvY2F0aW9uRmllbGRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBASW5wdXQoKSBwdWJsaWMgc3VibWl0dGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGVuYWJsZUFkZExvY2F0aW9uQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZztcbiAgQElucHV0KCkgcHVibGljIGZpZWxkczogRmlsdGVyRmllbGRDb25maWdbXTtcbiAgQElucHV0KCkgcHVibGljIGxvY2F0aW9uVGl0bGUgPSAnU2VhcmNoIGZvciBhIGxvY2F0aW9uIGJ5IG5hbWUnO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZUlucHV0RmllbGQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGZvcm1TdWJtaXNzaW9uRXZlbnQkOiBTdWJqZWN0PHZvaWQ+O1xuICBwdWJsaWMgdGVtcFNlbGVjdGVkTG9jYXRpb246IExvY2F0aW9uQnlFUElNTVNNb2RlbCA9IG51bGw7XG4gIHB1YmxpYyBzZXJ2aWNlSWRzOiBzdHJpbmcgPSAnU1NDUyxJQSc7XG4gIEBWaWV3Q2hpbGQoU2VhcmNoTG9jYXRpb25Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyBzZWFyY2hMb2NhdGlvbkNvbXBvbmVudDogU2VhcmNoTG9jYXRpb25Db21wb25lbnQ7XG4gIHByaXZhdGUgcFNlcnZpY2VzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIHBEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIGZvcm1TdWJtaXNzaW9uRXZlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBEaXNhYmxlZDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuc2VhcmNoTG9jYXRpb25Db21wb25lbnQucmVzZXRTZWFyY2hUZXJtKCk7XG4gICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkVmFsdWVzKCk7XG4gICAgfVxuICAgIHRoaXMucERpc2FibGVkID0gdGhpcy5kaXNhYmxlSW5wdXRGaWVsZCA9PT0gdHJ1ZSA/IHRydWUgOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldCBzZXJ2aWNlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMucFNlcnZpY2VzO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZXJ2aWNlcyh2YWx1ZTogc3RyaW5nW10pIHtcbiAgICB0aGlzLnBTZXJ2aWNlcyA9IHZhbHVlO1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZHMuZmluZChmID0+IHtcbiAgICAgIGlmICh0aGlzLmZpZWxkKSB7XG4gICAgICAgIHJldHVybiBmLm5hbWUgPT09IHRoaXMuZmllbGQuZmluZExvY2F0aW9uRmllbGQ7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoZmllbGQpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMuc2VydmljZUlkcyA9IHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlSWRzID0gZ2V0VmFsdWVzKGZpZWxkLm9wdGlvbnMsIHZhbHVlKS5maWx0ZXIoeCA9PiB4ICE9PSAnc2VydmljZXNfYWxsJykuam9pbignLCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRMb2NhdGlvbnMoKSB7XG4gICAgcmV0dXJuICh0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQubmFtZSk/LnZhbHVlIGFzIExvY2F0aW9uQnlFUElNTVNNb2RlbFtdKT8uZmlsdGVyKGxvY2F0aW9uID0+IGxvY2F0aW9uLmVwaW1tc19pZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHByb3BlcnR5TmFtZUZpbHRlcigpOiBrZXlvZiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwge1xuICAgIGNvbnN0IERFRkFVTFRfUFJPUEVSVFlfTkFNRSA9ICdzaXRlX25hbWUnO1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BlcnR5TmFtZUZpbHRlciA/IHRoaXMuZmllbGQucHJvcGVydHlOYW1lRmlsdGVyIGFzIGtleW9mIExvY2F0aW9uQnlFUElNTVNNb2RlbFxuICAgICAgOiBERUZBVUxUX1BST1BFUlRZX05BTUU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybVN1Ym1pc3Npb25FdmVudCQpIHtcbiAgICAgIHRoaXMuZm9ybVN1Ym1pc3Npb25FdmVudFN1YnNjcmlwdGlvbiA9IHRoaXMuZm9ybVN1Ym1pc3Npb25FdmVudCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gU2hvdWxkbid0IHJlc2V0IHNlYXJjaCB0ZXJtIGlmIHNpbmdsZSBtb2RlIGFuZCBhbHJlYWR5IGhhcyBzZWxlY3RlZFxuICAgICAgICBjb25zdCBvbmVTZWxlY3RlZEFuZE1heFNlbGVjdGVkT25lID0gdGhpcy5zZWxlY3RlZExvY2F0aW9ucy5sZW5ndGggPT09IDEgJiYgdGhpcy5maWVsZC5tYXhTZWxlY3RlZCA9PT0gMTtcbiAgICAgICAgaWYgKCFvbmVTZWxlY3RlZEFuZE1heFNlbGVjdGVkT25lKSB7XG4gICAgICAgICAgdGhpcy5zZWFyY2hMb2NhdGlvbkNvbXBvbmVudC5yZXNldFNlYXJjaFRlcm0oKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZExvY2F0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRlbXBTZWxlY3RlZExvY2F0aW9uKSB7XG4gICAgICB0aGlzLmFkZFNlbGVjdGVkTG9jYXRpb25zVG9Gb3JtKFt0aGlzLnRlbXBTZWxlY3RlZExvY2F0aW9uXSk7XG4gICAgICB0aGlzLnRlbXBTZWxlY3RlZExvY2F0aW9uID0gbnVsbDtcbiAgICAgIHRoaXMuc2VhcmNoTG9jYXRpb25Db21wb25lbnQucmVzZXRTZWFyY2hUZXJtKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlbW92ZUxvY2F0aW9uKGxvY2F0aW9uOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwpOiB2b2lkIHtcbiAgICBpZiAobG9jYXRpb24uZXBpbW1zX2lkKSB7XG4gICAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQubmFtZSkgYXMgRm9ybUFycmF5O1xuICAgICAgY29uc3QgaW5kZXggPSAoZm9ybUFycmF5LnZhbHVlIGFzIExvY2F0aW9uQnlFUElNTVNNb2RlbFtdKS5maW5kSW5kZXgoc2VsZWN0ZWRMb2NhdGlvbiA9PiBzZWxlY3RlZExvY2F0aW9uLmVwaW1tc19pZCA9PT0gbG9jYXRpb24uZXBpbW1zX2lkKTtcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIGZvcm1BcnJheS5yZW1vdmVBdChpbmRleCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSW5wdXRDaGFuZ2VkKHRlcm06IHN0cmluZyk6IHZvaWQge1xuICAgIC8vIGlmIHRoZSBmaWx0ZXIgaXMgaW4gc2luZ2xlIG1vZGUgY2xlYXIgdGhlIHNlbGVjdGVkIGxvY2F0aW9uc1xuICAgIGlmICh0eXBlb2YgdGVybSA9PT0gJ3N0cmluZycgJiYgdGhpcy5maWVsZC5tYXhTZWxlY3RlZCA9PT0gMSkge1xuICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkVmFsdWVzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uU2VhcmNoSW5wdXRDaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMubG9jYXRpb25GaWVsZENoYW5nZWQuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIG9uTG9jYXRpb25TZWxlY3RlZChsb2NhdGlvbjogTG9jYXRpb25CeUVQSU1NU01vZGVsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmllbGQubWF4U2VsZWN0ZWQgPT09IDEpIHtcbiAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICAgIHRoaXMuYWRkU2VsZWN0ZWRMb2NhdGlvbnNUb0Zvcm0oW2xvY2F0aW9uXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5zZWxlY3RlZExvY2F0aW9ucy5maW5kKHggPT4geC5lcGltbXNfaWQgPT09IGxvY2F0aW9uLmVwaW1tc19pZCkpIHtcbiAgICAgICAgaWYgKGxvY2F0aW9uLmVwaW1tc19pZCkge1xuICAgICAgICAgIHRoaXMudGVtcFNlbGVjdGVkTG9jYXRpb24gPSBsb2NhdGlvbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlU2VsZWN0ZWRWYWx1ZXMoKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybUFycmF5ID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkPy5uYW1lKSBhcyBGb3JtQXJyYXk7XG4gICAgaWYgKGZvcm1BcnJheSkge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmb3JtQXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgZm9ybUFycmF5LnJlbW92ZUF0KGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkU2VsZWN0ZWRMb2NhdGlvbnNUb0Zvcm0obG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5uYW1lKSBhcyBGb3JtQXJyYXk7XG4gICAgZm9yIChjb25zdCBsb2NhdGlvbiBvZiBsb2NhdGlvbnMpIHtcbiAgICAgIGZvcm1BcnJheS5wdXNoKG5ldyBGb3JtQ29udHJvbChsb2NhdGlvbikpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmZvcm1TdWJtaXNzaW9uRXZlbnRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsb2NhdGlvbi1waWNrZXItY3VzdG9tXCI+XG4gIDxkaXYgY2xhc3M9XCJzZWFyY2gtbG9jYXRpb25cIj5cbiAgICA8ZGl2PlxuICAgICAgPGxhYmVsIGlkPVwiaW5wdXQtc2VsZWN0ZWQtbG9jYXRpb24tbGFiZWxcIiAqbmdJZj1cImxvY2F0aW9uVGl0bGVcIj57e2xvY2F0aW9uVGl0bGV9fTwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICAgPGV4dWktc2VhcmNoLWxvY2F0aW9uIGNsYXNzPVwic2VhcmNoLWxvY2F0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZF09XCJmaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZExvY2F0aW9uc109XCJzZWxlY3RlZExvY2F0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWxheV09XCIzMDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2luZ2xlTW9kZV09XCJmaWVsZC5tYXhTZWxlY3RlZCA9PT0gMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtib29raW5nQ2hlY2tdPVwiZmllbGQuYm9va2luZ0NoZWNrVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtzZXJ2aWNlSWRzXT1cInNlcnZpY2VJZHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJvcGVydHlOYW1lRmlsdGVyXT1cInByb3BlcnR5TmFtZUZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChsb2NhdGlvblRlcm1TZWFyY2hJbnB1dENoYW5nZWQpPVwib25JbnB1dENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChsb2NhdGlvblNlbGVjdGVkKT1cIm9uTG9jYXRpb25TZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlYXJjaExvY2F0aW9uQ2hhbmdlZCk9XCJvblNlYXJjaElucHV0Q2hhbmdlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2F0aW9uVHlwZV09XCInY2FzZS1tYW5hZ2VtZW50J1wiPlxuICAgIDwvZXh1aS1zZWFyY2gtbG9jYXRpb24+XG4gIDwvZGl2PlxuXG4gIDxkaXY+XG4gICAgPGEgaHJlZj1cIiNcIiAoY2xpY2spPVwiYWRkTG9jYXRpb24oKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIiBjbGFzcz1cImdvdnVrLWJ1dHRvbiBhZGQtbG9jYXRpb24tYnV0dG9uXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1idXR0b25cIiAqbmdJZj1cImVuYWJsZUFkZExvY2F0aW9uQnV0dG9uXCI+XG4gICAgICBBZGQgbG9jYXRpb25cbiAgICA8L2E+XG4gIDwvZGl2PlxuXG4gIDx1bCBjbGFzcz1cImhtY3RzLWZpbHRlci10YWdzIHNlbGVjdGlvbi1jb250YWluZXJcIiAqbmdJZj1cImZpZWxkLm1heFNlbGVjdGVkICE9IDFcIj5cbiAgICA8bGkgY2xhc3M9XCJsb2NhdGlvbi1zZWxlY3Rpb25cIiAgKm5nRm9yPVwibGV0IHNlbGVjdGlvbiBvZiBzZWxlY3RlZExvY2F0aW9uc1wiPlxuICAgICAgPGEgY2xhc3M9XCJobWN0cy1maWx0ZXJfX3RhZ1wiIChjbGljayk9XCJyZW1vdmVMb2NhdGlvbihzZWxlY3Rpb24pOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiIGhyZWY9XCIjXCI+XG4gICAgICAgIHt7IHNlbGVjdGlvbltwcm9wZXJ0eU5hbWVGaWx0ZXJdIH19XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvZGl2PlxuIl19
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1sb2NhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbmQtbG9jYXRpb24vZmluZC1sb2NhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbmQtbG9jYXRpb24vZmluZC1sb2NhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFhLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUU3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7O0lDRmpGLGdDQUFnRTtJQUFBLFlBQWlCO0lBQUEsaUJBQVE7OztJQUF6QixjQUFpQjtJQUFqQiwwQ0FBaUI7Ozs7SUFvQm5GLDRCQUF5SjtJQUE1SCwwS0FBUyxvQkFBYSxLQUFDO0lBQ2xELDhCQUNGO0lBQUEsaUJBQUk7Ozs7SUFLRixBQURGLDhCQUE0RSxZQUNpQjtJQUE5RCxnTkFBUyxtQ0FBeUIsS0FBQztJQUM5RCxZQUNGO0lBQ0YsQUFERSxpQkFBSSxFQUNEOzs7O0lBRkQsZUFDRjtJQURFLHdFQUNGOzs7SUFKSiw2QkFBaUY7SUFDL0UseUVBQTRFO0lBSzlFLGlCQUFLOzs7SUFMbUQsY0FBb0I7SUFBcEIsa0RBQW9COztBRGpCOUUsTUFBTSxPQUFPLHFCQUFx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RUFBRSxJQUFJLEVBQUU7WUFVekMsUUFBUTtrQkFEbEIsS0FBSztZQWNLLFFBQVE7a0JBRGxCLEtBQUs7O2tGQWxDSyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWx0ZXJGaWVsZENvbmZpZywgTG9jYXRpb25CeUVQSU1NU01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IGdldFZhbHVlcyB9IGZyb20gJy4uL2dlbmVyaWMtZmlsdGVyL2dlbmVyaWMtZmlsdGVyLXV0aWxzJztcbmltcG9ydCB7IFNlYXJjaExvY2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VhcmNoLWxvY2F0aW9uL3NlYXJjaC1sb2NhdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItZmluZC1sb2NhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maW5kLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmluZC1sb2NhdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZpbmRMb2NhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQE91dHB1dCgpIHB1YmxpYyBsb2NhdGlvbkZpZWxkQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQElucHV0KCkgcHVibGljIHN1Ym1pdHRlZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVBZGRMb2NhdGlvbkJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZDogRmlsdGVyRmllbGRDb25maWc7XG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZHM6IEZpbHRlckZpZWxkQ29uZmlnW107XG4gIEBJbnB1dCgpIHB1YmxpYyBsb2NhdGlvblRpdGxlID0gJ1NlYXJjaCBmb3IgYSBsb2NhdGlvbiBieSBuYW1lJztcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVJbnB1dEZpZWxkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtU3VibWlzc2lvbkV2ZW50JDogU3ViamVjdDx2b2lkPjtcbiAgcHVibGljIHRlbXBTZWxlY3RlZExvY2F0aW9uOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwgPSBudWxsO1xuICBwdWJsaWMgc2VydmljZUlkczogc3RyaW5nID0gJ1NTQ1MsSUEnO1xuICBAVmlld0NoaWxkKFNlYXJjaExvY2F0aW9uQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgc2VhcmNoTG9jYXRpb25Db21wb25lbnQ6IFNlYXJjaExvY2F0aW9uQ29tcG9uZW50O1xuICBwcml2YXRlIHBTZXJ2aWNlczogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBwRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBmb3JtU3VibWlzc2lvbkV2ZW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wRGlzYWJsZWQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnNlYXJjaExvY2F0aW9uQ29tcG9uZW50LnJlc2V0U2VhcmNoVGVybSgpO1xuICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFZhbHVlcygpO1xuICAgIH1cbiAgICB0aGlzLnBEaXNhYmxlZCA9IHRoaXMuZGlzYWJsZUlucHV0RmllbGQgPT09IHRydWUgPyB0cnVlIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VydmljZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnBTZXJ2aWNlcztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2VydmljZXModmFsdWU6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5wU2VydmljZXMgPSB2YWx1ZTtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGRzLmZpbmQoZiA9PiB7XG4gICAgICBpZiAodGhpcy5maWVsZCkge1xuICAgICAgICByZXR1cm4gZi5uYW1lID09PSB0aGlzLmZpZWxkLmZpbmRMb2NhdGlvbkZpZWxkO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGZpZWxkKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLnNlcnZpY2VJZHMgPSB2YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VydmljZUlkcyA9IGdldFZhbHVlcyhmaWVsZC5vcHRpb25zLCB2YWx1ZSkuZmlsdGVyKHggPT4geCAhPT0gJ3NlcnZpY2VzX2FsbCcpLmpvaW4oJywnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkTG9jYXRpb25zKCkge1xuICAgIHJldHVybiAodGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLm5hbWUpPy52YWx1ZSBhcyBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSk/LmZpbHRlcihsb2NhdGlvbiA9PiBsb2NhdGlvbi5lcGltbXNfaWQpO1xuICB9XG5cbiAgcHVibGljIGdldCBwcm9wZXJ0eU5hbWVGaWx0ZXIoKToga2V5b2YgTG9jYXRpb25CeUVQSU1NU01vZGVsIHtcbiAgICBjb25zdCBERUZBVUxUX1BST1BFUlRZX05BTUUgPSAnc2l0ZV9uYW1lJztcbiAgICByZXR1cm4gdGhpcy5maWVsZC5wcm9wZXJ0eU5hbWVGaWx0ZXIgPyB0aGlzLmZpZWxkLnByb3BlcnR5TmFtZUZpbHRlciBhcyBrZXlvZiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxcbiAgICAgIDogREVGQVVMVF9QUk9QRVJUWV9OQU1FO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm1TdWJtaXNzaW9uRXZlbnQkKSB7XG4gICAgICB0aGlzLmZvcm1TdWJtaXNzaW9uRXZlbnRTdWJzY3JpcHRpb24gPSB0aGlzLmZvcm1TdWJtaXNzaW9uRXZlbnQkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIC8vIFNob3VsZG4ndCByZXNldCBzZWFyY2ggdGVybSBpZiBzaW5nbGUgbW9kZSBhbmQgYWxyZWFkeSBoYXMgc2VsZWN0ZWRcbiAgICAgICAgY29uc3Qgb25lU2VsZWN0ZWRBbmRNYXhTZWxlY3RlZE9uZSA9IHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMubGVuZ3RoID09PSAxICYmIHRoaXMuZmllbGQubWF4U2VsZWN0ZWQgPT09IDE7XG4gICAgICAgIGlmICghb25lU2VsZWN0ZWRBbmRNYXhTZWxlY3RlZE9uZSkge1xuICAgICAgICAgIHRoaXMuc2VhcmNoTG9jYXRpb25Db21wb25lbnQucmVzZXRTZWFyY2hUZXJtKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRMb2NhdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50ZW1wU2VsZWN0ZWRMb2NhdGlvbikge1xuICAgICAgdGhpcy5hZGRTZWxlY3RlZExvY2F0aW9uc1RvRm9ybShbdGhpcy50ZW1wU2VsZWN0ZWRMb2NhdGlvbl0pO1xuICAgICAgdGhpcy50ZW1wU2VsZWN0ZWRMb2NhdGlvbiA9IG51bGw7XG4gICAgICB0aGlzLnNlYXJjaExvY2F0aW9uQ29tcG9uZW50LnJlc2V0U2VhcmNoVGVybSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVMb2NhdGlvbihsb2NhdGlvbjogTG9jYXRpb25CeUVQSU1NU01vZGVsKTogdm9pZCB7XG4gICAgaWYgKGxvY2F0aW9uLmVwaW1tc19pZCkge1xuICAgICAgY29uc3QgZm9ybUFycmF5ID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLm5hbWUpIGFzIEZvcm1BcnJheTtcbiAgICAgIGNvbnN0IGluZGV4ID0gKGZvcm1BcnJheS52YWx1ZSBhcyBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSkuZmluZEluZGV4KHNlbGVjdGVkTG9jYXRpb24gPT4gc2VsZWN0ZWRMb2NhdGlvbi5lcGltbXNfaWQgPT09IGxvY2F0aW9uLmVwaW1tc19pZCk7XG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICBmb3JtQXJyYXkucmVtb3ZlQXQoaW5kZXgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbklucHV0Q2hhbmdlZCh0ZXJtOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyBpZiB0aGUgZmlsdGVyIGlzIGluIHNpbmdsZSBtb2RlIGNsZWFyIHRoZSBzZWxlY3RlZCBsb2NhdGlvbnNcbiAgICBpZiAodHlwZW9mIHRlcm0gPT09ICdzdHJpbmcnICYmIHRoaXMuZmllbGQubWF4U2VsZWN0ZWQgPT09IDEpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFZhbHVlcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblNlYXJjaElucHV0Q2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvY2F0aW9uRmllbGRDaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkxvY2F0aW9uU2VsZWN0ZWQobG9jYXRpb246IExvY2F0aW9uQnlFUElNTVNNb2RlbCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpZWxkLm1heFNlbGVjdGVkID09PSAxKSB7XG4gICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkVmFsdWVzKCk7XG4gICAgICB0aGlzLmFkZFNlbGVjdGVkTG9jYXRpb25zVG9Gb3JtKFtsb2NhdGlvbl0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMuZmluZCh4ID0+IHguZXBpbW1zX2lkID09PSBsb2NhdGlvbi5lcGltbXNfaWQpKSB7XG4gICAgICAgIGlmIChsb2NhdGlvbi5lcGltbXNfaWQpIHtcbiAgICAgICAgICB0aGlzLnRlbXBTZWxlY3RlZExvY2F0aW9uID0gbG9jYXRpb247XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVNlbGVjdGVkVmFsdWVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZD8ubmFtZSkgYXMgRm9ybUFycmF5O1xuICAgIGlmIChmb3JtQXJyYXkpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZm9ybUFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGZvcm1BcnJheS5yZW1vdmVBdChpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZFNlbGVjdGVkTG9jYXRpb25zVG9Gb3JtKGxvY2F0aW9uczogTG9jYXRpb25CeUVQSU1NU01vZGVsW10pOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQubmFtZSkgYXMgRm9ybUFycmF5O1xuICAgIGZvciAoY29uc3QgbG9jYXRpb24gb2YgbG9jYXRpb25zKSB7XG4gICAgICBmb3JtQXJyYXkucHVzaChuZXcgRm9ybUNvbnRyb2wobG9jYXRpb24pKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5mb3JtU3VibWlzc2lvbkV2ZW50U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibG9jYXRpb24tcGlja2VyLWN1c3RvbVwiPlxuICA8ZGl2IGNsYXNzPVwic2VhcmNoLWxvY2F0aW9uXCI+XG4gICAgPGRpdj5cbiAgICAgIDxsYWJlbCBpZD1cImlucHV0LXNlbGVjdGVkLWxvY2F0aW9uLWxhYmVsXCIgKm5nSWY9XCJsb2NhdGlvblRpdGxlXCI+e3tsb2NhdGlvblRpdGxlfX08L2xhYmVsPlxuICAgIDwvZGl2PlxuICAgIDxleHVpLXNlYXJjaC1sb2NhdGlvbiBjbGFzcz1cInNlYXJjaC1sb2NhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtXT1cImZvcm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZmllbGRdPVwiZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRMb2NhdGlvbnNdPVwic2VsZWN0ZWRMb2NhdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsYXldPVwiMzAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3NpbmdsZU1vZGVdPVwiZmllbGQubWF4U2VsZWN0ZWQgPT09IDFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbYm9va2luZ0NoZWNrXT1cImZpZWxkLmJvb2tpbmdDaGVja1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VydmljZUlkc109XCJzZXJ2aWNlSWRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3Byb3BlcnR5TmFtZUZpbHRlcl09XCJwcm9wZXJ0eU5hbWVGaWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAobG9jYXRpb25UZXJtU2VhcmNoSW5wdXRDaGFuZ2VkKT1cIm9uSW5wdXRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAobG9jYXRpb25TZWxlY3RlZCk9XCJvbkxvY2F0aW9uU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChzZWFyY2hMb2NhdGlvbkNoYW5nZWQpPVwib25TZWFyY2hJbnB1dENoYW5nZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NhdGlvblR5cGVdPVwiJ2Nhc2UtbWFuYWdlbWVudCdcIj5cbiAgICA8L2V4dWktc2VhcmNoLWxvY2F0aW9uPlxuICA8L2Rpdj5cblxuICA8ZGl2PlxuICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwiYWRkTG9jYXRpb24oKVwiIGNsYXNzPVwiZ292dWstYnV0dG9uIGFkZC1sb2NhdGlvbi1idXR0b25cIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiICpuZ0lmPVwiZW5hYmxlQWRkTG9jYXRpb25CdXR0b25cIj5cbiAgICAgIEFkZCBsb2NhdGlvblxuICAgIDwvYT5cbiAgPC9kaXY+XG5cbiAgPHVsIGNsYXNzPVwiaG1jdHMtZmlsdGVyLXRhZ3Mgc2VsZWN0aW9uLWNvbnRhaW5lclwiICpuZ0lmPVwiZmllbGQubWF4U2VsZWN0ZWQgIT0gMVwiPlxuICAgIDxsaSBjbGFzcz1cImxvY2F0aW9uLXNlbGVjdGlvblwiICAqbmdGb3I9XCJsZXQgc2VsZWN0aW9uIG9mIHNlbGVjdGVkTG9jYXRpb25zXCI+XG4gICAgICA8YSBjbGFzcz1cImhtY3RzLWZpbHRlcl9fdGFnXCIgKGNsaWNrKT1cInJlbW92ZUxvY2F0aW9uKHNlbGVjdGlvbilcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+XG4gICAgICAgIHt7IHNlbGVjdGlvbltwcm9wZXJ0eU5hbWVGaWx0ZXJdIH19XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvZGl2PlxuIl19
@@ -19,7 +19,7 @@ function FindServiceComponent_label_3_Template(rf, ctx) { if (rf & 1) {
19
19
  function FindServiceComponent_a_6_Template(rf, ctx) { if (rf & 1) {
20
20
  const _r2 = i0.ɵɵgetCurrentView();
21
21
  i0.ɵɵelementStart(0, "a", 9);
22
- i0.ɵɵlistener("click", function FindServiceComponent_a_6_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); ctx_r0.addOption(ctx_r0.tempSelectedService); return i0.ɵɵresetView($event.preventDefault()); });
22
+ i0.ɵɵlistener("click", function FindServiceComponent_a_6_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.addOption(ctx_r0.tempSelectedService)); });
23
23
  i0.ɵɵtext(1);
24
24
  i0.ɵɵpipe(2, "rpxTranslate");
25
25
  i0.ɵɵelementStart(3, "span", 10);
@@ -35,7 +35,7 @@ function FindServiceComponent_a_6_Template(rf, ctx) { if (rf & 1) {
35
35
  function FindServiceComponent_ul_7_li_1_Template(rf, ctx) { if (rf & 1) {
36
36
  const _r3 = i0.ɵɵgetCurrentView();
37
37
  i0.ɵɵelementStart(0, "li", 13)(1, "a", 14);
38
- i0.ɵɵlistener("click", function FindServiceComponent_ul_7_li_1_Template_a_click_1_listener($event) { const selection_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); ctx_r0.removeOption(selection_r4); return i0.ɵɵresetView($event.preventDefault()); });
38
+ i0.ɵɵlistener("click", function FindServiceComponent_ul_7_li_1_Template_a_click_1_listener() { const selection_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.removeOption(selection_r4)); });
39
39
  i0.ɵɵtext(2);
40
40
  i0.ɵɵpipe(3, "rpxTranslate");
41
41
  i0.ɵɵelementEnd()();
@@ -148,7 +148,7 @@ export class FindServiceComponent {
148
148
  } if (rf & 2) {
149
149
  let _t;
150
150
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.searchServiceComponent = _t.first);
151
- } }, inputs: { field: "field", serviceTitle: "serviceTitle", form: "form", disabled: "disabled", formSubmissionEvent$: "formSubmissionEvent$" }, outputs: { serviceFieldChanged: "serviceFieldChanged" }, decls: 8, vars: 6, consts: [[1, "service-picker-custom"], [1, "search-service"], [1, "govuk-body"], ["id", "selectServiceSearch-label", "for", "serviceSearch__select", 4, "ngIf"], [1, "search-service__input-container"], [1, "search-service__input", 3, "optionChanged", "options", "selectedOptions", "disabled"], ["href", "#", "class", "govuk-button govuk-button--secondary govuk-!-margin-bottom-0", "data-module", "govuk-button", "id", "add-service", 3, "click", 4, "ngIf"], ["class", "hmcts-filter-tags selection-container", 4, "ngIf"], ["id", "selectServiceSearch-label", "for", "serviceSearch__select"], ["href", "#", "data-module", "govuk-button", "id", "add-service", 1, "govuk-button", "govuk-button--secondary", "govuk-!-margin-bottom-0", 3, "click"], [1, "govuk-visually-hidden"], [1, "hmcts-filter-tags", "selection-container"], ["class", "location-selection", 4, "ngFor", "ngForOf"], [1, "location-selection"], ["href", "#", 1, "hmcts-filter__tag", 3, "click"]], template: function FindServiceComponent_Template(rf, ctx) { if (rf & 1) {
151
+ } }, inputs: { field: "field", serviceTitle: "serviceTitle", form: "form", disabled: "disabled", formSubmissionEvent$: "formSubmissionEvent$" }, outputs: { serviceFieldChanged: "serviceFieldChanged" }, decls: 8, vars: 6, consts: [[1, "service-picker-custom"], [1, "search-service"], [1, "govuk-body"], ["id", "selectServiceSearch-label", "for", "serviceSearch__select", 4, "ngIf"], [1, "search-service__input-container"], [1, "search-service__input", 3, "optionChanged", "options", "selectedOptions", "disabled"], ["href", "javascript:void(0)", "class", "govuk-button govuk-button--secondary govuk-!-margin-bottom-0", "data-module", "govuk-button", "id", "add-service", 3, "click", 4, "ngIf"], ["class", "hmcts-filter-tags selection-container", 4, "ngIf"], ["id", "selectServiceSearch-label", "for", "serviceSearch__select"], ["href", "javascript:void(0)", "data-module", "govuk-button", "id", "add-service", 1, "govuk-button", "govuk-button--secondary", "govuk-!-margin-bottom-0", 3, "click"], [1, "govuk-visually-hidden"], [1, "hmcts-filter-tags", "selection-container"], ["class", "location-selection", 4, "ngFor", "ngForOf"], [1, "location-selection"], ["href", "javascript:void(0)", 1, "hmcts-filter__tag", 3, "click"]], template: function FindServiceComponent_Template(rf, ctx) { if (rf & 1) {
152
152
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
153
153
  i0.ɵɵtemplate(3, FindServiceComponent_label_3_Template, 3, 3, "label", 3);
154
154
  i0.ɵɵelementEnd();
@@ -172,7 +172,7 @@ export class FindServiceComponent {
172
172
  }
173
173
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FindServiceComponent, [{
174
174
  type: Component,
175
- args: [{ selector: 'xuilib-find-service', template: "<div class=\"service-picker-custom\">\n <div class=\"search-service\">\n <div class=\"govuk-body\">\n <label id=\"selectServiceSearch-label\" for=\"serviceSearch__select\" *ngIf=\"serviceTitle\">\n {{ serviceTitle | rpxTranslate}}\n </label>\n </div>\n <div class=\"search-service__input-container\">\n <exui-search-service class=\"search-service__input\"\n [options]=\"field.options\"\n [selectedOptions]=\"selectedServices\"\n [disabled]=\"disabled\"\n (optionChanged)=\"onOptionSelected($event)\">\n </exui-search-service>\n <a href=\"#\" (click)=\"addOption(tempSelectedService); $event.preventDefault()\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\" data-module=\"govuk-button\"\n *ngIf=\"field?.enableAddButton\" id=\"add-service\">\n {{ 'Add' | rpxTranslate}}\n <span class=\"govuk-visually-hidden\">{{'service' | rpxTranslate}}</span>\n </a>\n </div>\n </div>\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedServices\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeOption(selection); $event.preventDefault()\" href=\"#\">\n {{ selection.label | rpxTranslate }}\n </a>\n </li>\n </ul>\n</div>\n", styles: ["#add-service{background-color:#ddd}\n"] }]
175
+ args: [{ selector: 'xuilib-find-service', template: "<div class=\"service-picker-custom\">\n <div class=\"search-service\">\n <div class=\"govuk-body\">\n <label id=\"selectServiceSearch-label\" for=\"serviceSearch__select\" *ngIf=\"serviceTitle\">\n {{ serviceTitle | rpxTranslate}}\n </label>\n </div>\n <div class=\"search-service__input-container\">\n <exui-search-service class=\"search-service__input\"\n [options]=\"field.options\"\n [selectedOptions]=\"selectedServices\"\n [disabled]=\"disabled\"\n (optionChanged)=\"onOptionSelected($event)\">\n </exui-search-service>\n <a href=\"javascript:void(0)\" (click)=\"addOption(tempSelectedService)\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\" data-module=\"govuk-button\"\n *ngIf=\"field?.enableAddButton\" id=\"add-service\">\n {{ 'Add' | rpxTranslate}}\n <span class=\"govuk-visually-hidden\">{{'service' | rpxTranslate}}</span>\n </a>\n </div>\n </div>\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedServices\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeOption(selection)\" href=\"javascript:void(0)\">\n {{ selection.label | rpxTranslate }}\n </a>\n </li>\n </ul>\n</div>\n", styles: ["#add-service{background-color:#ddd}\n"] }]
176
176
  }], null, { field: [{
177
177
  type: Input
178
178
  }], serviceTitle: [{
@@ -190,4 +190,4 @@ export class FindServiceComponent {
190
190
  type: Output
191
191
  }] }); })();
192
192
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FindServiceComponent, { className: "FindServiceComponent", filePath: "lib/components/find-service/find-service.component.ts", lineNumber: 12 }); })();
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1zZXJ2aWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZmluZC1zZXJ2aWNlL2ZpbmQtc2VydmljZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbmQtc2VydmljZS9maW5kLXNlcnZpY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBYSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFN0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7OztJQ0Q5RSxnQ0FBdUY7SUFDckYsWUFDRjs7SUFBQSxpQkFBUTs7O0lBRE4sY0FDRjtJQURFLDBFQUNGOzs7O0lBU0EsNEJBRWtEO0lBRnRDLHlKQUFTLDRDQUE4Qix3QkFBRSx1QkFBdUIsS0FBQztJQUczRSxZQUNBOztJQUFBLGdDQUFvQztJQUFBLFlBQTRCOztJQUNsRSxBQURrRSxpQkFBTyxFQUNyRTs7SUFGRixjQUNBO0lBREEsNERBQ0E7SUFBb0MsZUFBNEI7SUFBNUIscURBQTRCOzs7O0lBTWxFLEFBREYsOEJBQTBFLFlBQ3lCO0lBQXBFLCtMQUFTLGlDQUF1Qix3QkFBRSx1QkFBdUIsS0FBQztJQUNyRixZQUNGOztJQUNGLEFBREUsaUJBQUksRUFDRDs7O0lBRkQsZUFDRjtJQURFLHlFQUNGOzs7SUFKSiw4QkFBaUY7SUFDL0UseUVBQTBFO0lB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Y0FBNEI7WUFBNUIsMkVBQTRCO1lBTWdCLGNBQTRCO1lBQTVCLGlEQUE0Qjs7O2lGRFhwRSxvQkFBb0I7Y0FMaEMsU0FBUzsyQkFDRSxxQkFBcUI7Z0JBS2YsS0FBSztrQkFBcEIsS0FBSztZQUNVLFlBQVk7a0JBQTNCLEtBQUs7WUFDVSxJQUFJO2tCQUFuQixLQUFLO1lBQ1UsUUFBUTtrQkFBdkIsS0FBSztZQUNVLG9CQUFvQjtrQkFBbkMsS0FBSztZQUNzRCxzQkFBc0I7a0JBQWpGLFNBQVM7bUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ2xDLG1CQUFtQjtrQkFBbkMsTUFBTTs7a0ZBUEksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmlsdGVyQ29uZmlnT3B0aW9uLCBGaWx0ZXJGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBTZWFyY2hTZXJ2aWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VhcmNoLXNlcnZpY2Uvc2VhcmNoLXNlcnZpY2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLWZpbmQtc2VydmljZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9maW5kLXNlcnZpY2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maW5kLXNlcnZpY2UuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaW5kU2VydmljZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHVibGljIGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZztcbiAgQElucHV0KCkgcHVibGljIHNlcnZpY2VUaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGZvcm1TdWJtaXNzaW9uRXZlbnQkOiBTdWJqZWN0PHZvaWQ+O1xuICBAVmlld0NoaWxkKFNlYXJjaFNlcnZpY2VDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyBzZWFyY2hTZXJ2aWNlQ29tcG9uZW50OiBTZWFyY2hTZXJ2aWNlQ29tcG9uZW50O1xuICBAT3V0cHV0KCkgcHVibGljIHNlcnZpY2VGaWVsZENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHByaXZhdGUgaXNTZWxlY3RlZEFsbCA9IGZhbHNlO1xuICBwcml2YXRlIGZvcm1TdWJtaXNzaW9uRXZlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBwdWJsaWMgdGVtcFNlbGVjdGVkU2VydmljZTogRmlsdGVyQ29uZmlnT3B0aW9uID0gbnVsbDtcbiAgcHVibGljIGdldCBzZWxlY3RlZFNlcnZpY2VzKCk6IEZpbHRlckNvbmZpZ09wdGlvbltdIHtcbiAgICBjb25zdCBzZWxlY3RBbGxWYWx1ZSA9IHRoaXMuZmllbGQub3B0aW9ucy5maW5kKGl0ZW0gPT4gaXRlbS5zZWxlY3RBbGwpO1xuICAgIHJldHVybiB0aGlzLmlzU2VsZWN0ZWRBbGwgPyBbc2VsZWN0QWxsVmFsdWVdIDogdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLm5hbWUpPy52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNvcnRPcHRpb25zQWxwaGFiZXRpY2FsbHkoKTtcblxuICAgIC8vIFBhdGNoIERlZmF1bHQgT3B0aW9uXG4gICAgaWYgKHRoaXMuZmllbGQuZGVmYXVsdE9wdGlvbikge1xuICAgICAgdGhpcy5hZGRPcHRpb24odGhpcy5maWVsZC5kZWZhdWx0T3B0aW9uKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZm9ybVN1Ym1pc3Npb25FdmVudCQpIHtcbiAgICAgIHRoaXMuZm9ybVN1Ym1pc3Npb25FdmVudFN1YnNjcmlwdGlvbiA9IHRoaXMuZm9ybVN1Ym1pc3Npb25FdmVudCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgY29uc3Qgb25lU2VsZWN0ZWRBbmRNYXhTZWxlY3RlZE9uZSA9IHRoaXMuc2VsZWN0ZWRTZXJ2aWNlcy5sZW5ndGggPT09IDEgJiYgdGhpcy5maWVsZC5tYXhTZWxlY3RlZCA9PT0gMTtcbiAgICAgICAgaWYgKCFvbmVTZWxlY3RlZEFuZE1heFNlbGVjdGVkT25lKSB7XG4gICAgICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlQ29tcG9uZW50LnJlc2V0U2VhcmNoVGVybSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkT3B0aW9uKG9wdGlvbjogRmlsdGVyQ29uZmlnT3B0aW9uKTogdm9pZCB7XG4gICAgaWYgKG9wdGlvbikge1xuICAgICAgaWYgKG9wdGlvbi5zZWxlY3RBbGwpIHtcbiAgICAgICAgdGhpcy5pc1NlbGVjdGVkQWxsID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yZW1vdmVBbGxTZWxlY3RlZFZhbHVlcygpO1xuICAgICAgICB0aGlzLmZpZWxkLm9wdGlvbnMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICBpZiAoIWl0ZW0uc2VsZWN0QWxsKSB7XG4gICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU2VydmljZVRvRm9ybShpdGVtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RlZEFsbCkge1xuICAgICAgICAgIHRoaXMucmVtb3ZlQWxsU2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICAgICAgICB0aGlzLmlzU2VsZWN0ZWRBbGwgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU2VydmljZVRvRm9ybShvcHRpb24pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnRlbXBTZWxlY3RlZFNlcnZpY2UgPSBudWxsO1xuICAgICAgdGhpcy5zZXJ2aWNlRmllbGRDaGFuZ2VkLmVtaXQoKTtcbiAgICAgIHRoaXMuc2VhcmNoU2VydmljZUNvbXBvbmVudC5yZXNldFNlYXJjaFRlcm0oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlT3B0aW9uKHNlcnZpY2U6IEZpbHRlckNvbmZpZ09wdGlvbik6IHZvaWQge1xuICAgIGlmIChzZXJ2aWNlLnNlbGVjdEFsbCkge1xuICAgICAgdGhpcy5yZW1vdmVBbGxTZWxlY3RlZFZhbHVlcygpO1xuICAgICAgdGhpcy5pc1NlbGVjdGVkQWxsID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmIChzZXJ2aWNlLmtleSkge1xuICAgICAgY29uc3QgZm9ybUFycmF5ID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLm5hbWUpIGFzIEZvcm1BcnJheTtcbiAgICAgIGNvbnN0IGluZGV4ID0gKGZvcm1BcnJheS52YWx1ZSkuZmluZEluZGV4KChzZWxlY3RlZFNlcnZpY2U6IEZpbHRlckNvbmZpZ09wdGlvbikgPT4gc2VsZWN0ZWRTZXJ2aWNlLmtleS50b0xvd2VyQ2FzZSgpID09PSBzZXJ2aWNlLmtleS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIGZvcm1BcnJheS5yZW1vdmVBdChpbmRleCk7XG4gICAgICB9XG4gICAgICB0aGlzLnNlcnZpY2VGaWVsZENoYW5nZWQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbk9wdGlvblNlbGVjdGVkKG9wdGlvbjogRmlsdGVyQ29uZmlnT3B0aW9uKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmZpZWxkLmVuYWJsZUFkZEJ1dHRvbiAmJiB0aGlzLmZpZWxkLm1heFNlbGVjdGVkID09PSAxKSB7XG4gICAgICB0aGlzLnJlbW92ZUFsbFNlbGVjdGVkVmFsdWVzKCk7XG4gICAgICB0aGlzLmFkZFNlbGVjdGVkU2VydmljZVRvRm9ybShvcHRpb24pO1xuICAgICAgdGhpcy5zZXJ2aWNlRmllbGRDaGFuZ2VkLmVtaXQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50ZW1wU2VsZWN0ZWRTZXJ2aWNlID0gb3B0aW9uO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlQWxsU2VsZWN0ZWRWYWx1ZXMoKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybUFycmF5ID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLm5hbWUpIGFzIEZvcm1BcnJheTtcbiAgICBmb3JtQXJyYXkuY2xlYXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkU2VsZWN0ZWRTZXJ2aWNlVG9Gb3JtKHNlcnZpY2U6IEZpbHRlckNvbmZpZ09wdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5uYW1lKSBhcyBGb3JtQXJyYXk7XG4gICAgZm9ybUFycmF5LnB1c2gobmV3IEZvcm1Db250cm9sKHNlcnZpY2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgc29ydE9wdGlvbnNBbHBoYWJldGljYWxseSgpOiBGaWx0ZXJDb25maWdPcHRpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQub3B0aW9ucy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICByZXR1cm4gYS5sYWJlbC50b0xvd2VyQ2FzZSgpID4gYi5sYWJlbC50b0xvd2VyQ2FzZSgpID8gMSA6IChiLmxhYmVsLnRvTG93ZXJDYXNlKCkgPiBhLmxhYmVsLnRvTG93ZXJDYXNlKCkgPyAtMSA6IDApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZm9ybVN1Ym1pc3Npb25FdmVudFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNlcnZpY2UtcGlja2VyLWN1c3RvbVwiPlxuICA8ZGl2IGNsYXNzPVwic2VhcmNoLXNlcnZpY2VcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstYm9keVwiPlxuICAgICAgPGxhYmVsIGlkPVwic2VsZWN0U2VydmljZVNlYXJjaC1sYWJlbFwiIGZvcj1cInNlcnZpY2VTZWFyY2hfX3NlbGVjdFwiICpuZ0lmPVwic2VydmljZVRpdGxlXCI+XG4gICAgICAgIHt7IHNlcnZpY2VUaXRsZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtc2VydmljZV9faW5wdXQtY29udGFpbmVyXCI+XG4gICAgICA8ZXh1aS1zZWFyY2gtc2VydmljZSBjbGFzcz1cInNlYXJjaC1zZXJ2aWNlX19pbnB1dFwiXG4gICAgICAgIFtvcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIlxuICAgICAgICBbc2VsZWN0ZWRPcHRpb25zXT1cInNlbGVjdGVkU2VydmljZXNcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAob3B0aW9uQ2hhbmdlZCk9XCJvbk9wdGlvblNlbGVjdGVkKCRldmVudClcIj5cbiAgICAgIDwvZXh1aS1zZWFyY2gtc2VydmljZT5cbiAgICAgIDxhIGhyZWY9XCIjXCIgKGNsaWNrKT1cImFkZE9wdGlvbih0ZW1wU2VsZWN0ZWRTZXJ2aWNlKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgICBjbGFzcz1cImdvdnVrLWJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMFwiIGRhdGEtbW9kdWxlPVwiZ292dWstYnV0dG9uXCJcbiAgICAgICAgKm5nSWY9XCJmaWVsZD8uZW5hYmxlQWRkQnV0dG9uXCIgaWQ9XCJhZGQtc2VydmljZVwiPlxuICAgICAgICB7eyAnQWRkJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snc2VydmljZScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx1bCBjbGFzcz1cImhtY3RzLWZpbHRlci10YWdzIHNlbGVjdGlvbi1jb250YWluZXJcIiAqbmdJZj1cImZpZWxkLm1heFNlbGVjdGVkICE9IDFcIj5cbiAgICA8bGkgY2xhc3M9XCJsb2NhdGlvbi1zZWxlY3Rpb25cIiAqbmdGb3I9XCJsZXQgc2VsZWN0aW9uIG9mIHNlbGVjdGVkU2VydmljZXNcIj5cbiAgICAgIDxhIGNsYXNzPVwiaG1jdHMtZmlsdGVyX190YWdcIiAoY2xpY2spPVwicmVtb3ZlT3B0aW9uKHNlbGVjdGlvbik7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCIgaHJlZj1cIiNcIj5cbiAgICAgICAge3sgc2VsZWN0aW9uLmxhYmVsICB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgPC9hPlxuICAgIDwvbGk+XG4gIDwvdWw+XG48L2Rpdj5cbiJdfQ==
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1zZXJ2aWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZmluZC1zZXJ2aWNlL2ZpbmQtc2VydmljZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbmQtc2VydmljZS9maW5kLXNlcnZpY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBYSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFN0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7OztJQ0Q5RSxnQ0FBdUY7SUFDckYsWUFDRjs7SUFBQSxpQkFBUTs7O0lBRE4sY0FDRjtJQURFLDBFQUNGOzs7O0lBU0EsNEJBRWtEO0lBRnJCLHlLQUFTLDRDQUE4QixLQUFDO0lBR25FLFlBQ0E7O0lBQUEsZ0NBQW9DO0lBQUEsWUFBNEI7O0lBQ2xFLEFBRGtFLGlCQUFPLEVBQ3JFOztJQUZGLGNBQ0E7SUFEQSw0REFDQTtJQUFvQyxlQUE0QjtJQUE1QixxREFBNEI7Ozs7SUFNbEUsQUFERiw4QkFBMEUsWUFDaUI7SUFBNUQsK01BQVMsaUNBQXVCLEtBQUM7SUFDNUQsWUFDRjs7SUFDRixBQURFLGlCQUFJLEVBQ0Q7OztJQUZELGVBQ0Y7SUFERSx5RUFDRjs7O0lBSkosOEJBQWlGO0lBQy9FLHlFQUEwRTtJQUs1RSxpQkFBSzs7O0lBTGtELGNBQW1CO0lB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QUE0QjtZQUE1QixpREFBNEI7OztpRkRYcEUsb0JBQW9CO2NBTGhDLFNBQVM7MkJBQ0UscUJBQXFCO2dCQUtmLEtBQUs7a0JBQXBCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UsSUFBSTtrQkFBbkIsS0FBSztZQUNVLFFBQVE7a0JBQXZCLEtBQUs7WUFDVSxvQkFBb0I7a0JBQW5DLEtBQUs7WUFDc0Qsc0JBQXNCO2tCQUFqRixTQUFTO21CQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNsQyxtQkFBbUI7a0JBQW5DLE1BQU07O2tGQVBJLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpbHRlckNvbmZpZ09wdGlvbiwgRmlsdGVyRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgU2VhcmNoU2VydmljZUNvbXBvbmVudCB9IGZyb20gJy4uL3NlYXJjaC1zZXJ2aWNlL3NlYXJjaC1zZXJ2aWNlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1maW5kLXNlcnZpY2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmluZC1zZXJ2aWNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmluZC1zZXJ2aWNlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmluZFNlcnZpY2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZDogRmlsdGVyRmllbGRDb25maWc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXJ2aWNlVGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtU3VibWlzc2lvbkV2ZW50JDogU3ViamVjdDx2b2lkPjtcbiAgQFZpZXdDaGlsZChTZWFyY2hTZXJ2aWNlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgc2VhcmNoU2VydmljZUNvbXBvbmVudDogU2VhcmNoU2VydmljZUNvbXBvbmVudDtcbiAgQE91dHB1dCgpIHB1YmxpYyBzZXJ2aWNlRmllbGRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBwcml2YXRlIGlzU2VsZWN0ZWRBbGwgPSBmYWxzZTtcbiAgcHJpdmF0ZSBmb3JtU3VibWlzc2lvbkV2ZW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHVibGljIHRlbXBTZWxlY3RlZFNlcnZpY2U6IEZpbHRlckNvbmZpZ09wdGlvbiA9IG51bGw7XG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRTZXJ2aWNlcygpOiBGaWx0ZXJDb25maWdPcHRpb25bXSB7XG4gICAgY29uc3Qgc2VsZWN0QWxsVmFsdWUgPSB0aGlzLmZpZWxkLm9wdGlvbnMuZmluZChpdGVtID0+IGl0ZW0uc2VsZWN0QWxsKTtcbiAgICByZXR1cm4gdGhpcy5pc1NlbGVjdGVkQWxsID8gW3NlbGVjdEFsbFZhbHVlXSA6IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5uYW1lKT8udmFsdWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zb3J0T3B0aW9uc0FscGhhYmV0aWNhbGx5KCk7XG5cbiAgICAvLyBQYXRjaCBEZWZhdWx0IE9wdGlvblxuICAgIGlmICh0aGlzLmZpZWxkLmRlZmF1bHRPcHRpb24pIHtcbiAgICAgIHRoaXMuYWRkT3B0aW9uKHRoaXMuZmllbGQuZGVmYXVsdE9wdGlvbik7XG4gICAgfVxuICAgIGlmICh0aGlzLmZvcm1TdWJtaXNzaW9uRXZlbnQkKSB7XG4gICAgICB0aGlzLmZvcm1TdWJtaXNzaW9uRXZlbnRTdWJzY3JpcHRpb24gPSB0aGlzLmZvcm1TdWJtaXNzaW9uRXZlbnQkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IG9uZVNlbGVjdGVkQW5kTWF4U2VsZWN0ZWRPbmUgPSB0aGlzLnNlbGVjdGVkU2VydmljZXMubGVuZ3RoID09PSAxICYmIHRoaXMuZmllbGQubWF4U2VsZWN0ZWQgPT09IDE7XG4gICAgICAgIGlmICghb25lU2VsZWN0ZWRBbmRNYXhTZWxlY3RlZE9uZSkge1xuICAgICAgICAgIHRoaXMuc2VhcmNoU2VydmljZUNvbXBvbmVudC5yZXNldFNlYXJjaFRlcm0oKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZE9wdGlvbihvcHRpb246IEZpbHRlckNvbmZpZ09wdGlvbik6IHZvaWQge1xuICAgIGlmIChvcHRpb24pIHtcbiAgICAgIGlmIChvcHRpb24uc2VsZWN0QWxsKSB7XG4gICAgICAgIHRoaXMuaXNTZWxlY3RlZEFsbCA9IHRydWU7XG4gICAgICAgIHRoaXMucmVtb3ZlQWxsU2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICAgICAgdGhpcy5maWVsZC5vcHRpb25zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgaWYgKCFpdGVtLnNlbGVjdEFsbCkge1xuICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFNlcnZpY2VUb0Zvcm0oaXRlbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0ZWRBbGwpIHtcbiAgICAgICAgICB0aGlzLnJlbW92ZUFsbFNlbGVjdGVkVmFsdWVzKCk7XG4gICAgICAgICAgdGhpcy5pc1NlbGVjdGVkQWxsID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFNlcnZpY2VUb0Zvcm0ob3B0aW9uKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy50ZW1wU2VsZWN0ZWRTZXJ2aWNlID0gbnVsbDtcbiAgICAgIHRoaXMuc2VydmljZUZpZWxkQ2hhbmdlZC5lbWl0KCk7XG4gICAgICB0aGlzLnNlYXJjaFNlcnZpY2VDb21wb25lbnQucmVzZXRTZWFyY2hUZXJtKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlbW92ZU9wdGlvbihzZXJ2aWNlOiBGaWx0ZXJDb25maWdPcHRpb24pOiB2b2lkIHtcbiAgICBpZiAoc2VydmljZS5zZWxlY3RBbGwpIHtcbiAgICAgIHRoaXMucmVtb3ZlQWxsU2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICAgIHRoaXMuaXNTZWxlY3RlZEFsbCA9IGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoc2VydmljZS5rZXkpIHtcbiAgICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5uYW1lKSBhcyBGb3JtQXJyYXk7XG4gICAgICBjb25zdCBpbmRleCA9IChmb3JtQXJyYXkudmFsdWUpLmZpbmRJbmRleCgoc2VsZWN0ZWRTZXJ2aWNlOiBGaWx0ZXJDb25maWdPcHRpb24pID0+IHNlbGVjdGVkU2VydmljZS5rZXkudG9Mb3dlckNhc2UoKSA9PT0gc2VydmljZS5rZXkudG9Mb3dlckNhc2UoKSk7XG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICBmb3JtQXJyYXkucmVtb3ZlQXQoaW5kZXgpO1xuICAgICAgfVxuICAgICAgdGhpcy5zZXJ2aWNlRmllbGRDaGFuZ2VkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25PcHRpb25TZWxlY3RlZChvcHRpb246IEZpbHRlckNvbmZpZ09wdGlvbik6IHZvaWQge1xuICAgIGlmICghdGhpcy5maWVsZC5lbmFibGVBZGRCdXR0b24gJiYgdGhpcy5maWVsZC5tYXhTZWxlY3RlZCA9PT0gMSkge1xuICAgICAgdGhpcy5yZW1vdmVBbGxTZWxlY3RlZFZhbHVlcygpO1xuICAgICAgdGhpcy5hZGRTZWxlY3RlZFNlcnZpY2VUb0Zvcm0ob3B0aW9uKTtcbiAgICAgIHRoaXMuc2VydmljZUZpZWxkQ2hhbmdlZC5lbWl0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGVtcFNlbGVjdGVkU2VydmljZSA9IG9wdGlvbjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUFsbFNlbGVjdGVkVmFsdWVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5uYW1lKSBhcyBGb3JtQXJyYXk7XG4gICAgZm9ybUFycmF5LmNsZWFyKCk7XG4gIH1cblxuICBwcml2YXRlIGFkZFNlbGVjdGVkU2VydmljZVRvRm9ybShzZXJ2aWNlOiBGaWx0ZXJDb25maWdPcHRpb24pOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQubmFtZSkgYXMgRm9ybUFycmF5O1xuICAgIGZvcm1BcnJheS5wdXNoKG5ldyBGb3JtQ29udHJvbChzZXJ2aWNlKSk7XG4gIH1cblxuICBwcml2YXRlIHNvcnRPcHRpb25zQWxwaGFiZXRpY2FsbHkoKTogRmlsdGVyQ29uZmlnT3B0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLm9wdGlvbnMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgcmV0dXJuIGEubGFiZWwudG9Mb3dlckNhc2UoKSA+IGIubGFiZWwudG9Mb3dlckNhc2UoKSA/IDEgOiAoYi5sYWJlbC50b0xvd2VyQ2FzZSgpID4gYS5sYWJlbC50b0xvd2VyQ2FzZSgpID8gLTEgOiAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmZvcm1TdWJtaXNzaW9uRXZlbnRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZXJ2aWNlLXBpY2tlci1jdXN0b21cIj5cbiAgPGRpdiBjbGFzcz1cInNlYXJjaC1zZXJ2aWNlXCI+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWJvZHlcIj5cbiAgICAgIDxsYWJlbCBpZD1cInNlbGVjdFNlcnZpY2VTZWFyY2gtbGFiZWxcIiBmb3I9XCJzZXJ2aWNlU2VhcmNoX19zZWxlY3RcIiAqbmdJZj1cInNlcnZpY2VUaXRsZVwiPlxuICAgICAgICB7eyBzZXJ2aWNlVGl0bGUgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLXNlcnZpY2VfX2lucHV0LWNvbnRhaW5lclwiPlxuICAgICAgPGV4dWktc2VhcmNoLXNlcnZpY2UgY2xhc3M9XCJzZWFyY2gtc2VydmljZV9faW5wdXRcIlxuICAgICAgICBbb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcbiAgICAgICAgW3NlbGVjdGVkT3B0aW9uc109XCJzZWxlY3RlZFNlcnZpY2VzXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKG9wdGlvbkNoYW5nZWQpPVwib25PcHRpb25TZWxlY3RlZCgkZXZlbnQpXCI+XG4gICAgICA8L2V4dWktc2VhcmNoLXNlcnZpY2U+XG4gICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cImFkZE9wdGlvbih0ZW1wU2VsZWN0ZWRTZXJ2aWNlKVwiXG4gICAgICAgIGNsYXNzPVwiZ292dWstYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0wXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1idXR0b25cIlxuICAgICAgICAqbmdJZj1cImZpZWxkPy5lbmFibGVBZGRCdXR0b25cIiBpZD1cImFkZC1zZXJ2aWNlXCI+XG4gICAgICAgIHt7ICdBZGQnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydzZXJ2aWNlJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgPC9hPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPHVsIGNsYXNzPVwiaG1jdHMtZmlsdGVyLXRhZ3Mgc2VsZWN0aW9uLWNvbnRhaW5lclwiICpuZ0lmPVwiZmllbGQubWF4U2VsZWN0ZWQgIT0gMVwiPlxuICAgIDxsaSBjbGFzcz1cImxvY2F0aW9uLXNlbGVjdGlvblwiICpuZ0Zvcj1cImxldCBzZWxlY3Rpb24gb2Ygc2VsZWN0ZWRTZXJ2aWNlc1wiPlxuICAgICAgPGEgY2xhc3M9XCJobWN0cy1maWx0ZXJfX3RhZ1wiIChjbGljayk9XCJyZW1vdmVPcHRpb24oc2VsZWN0aW9uKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj5cbiAgICAgICAge3sgc2VsZWN0aW9uLmxhYmVsICB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgPC9hPlxuICAgIDwvbGk+XG4gIDwvdWw+XG48L2Rpdj5cbiJdfQ==
@@ -5,7 +5,7 @@ import * as i2 from "rpx-xui-translation";
5
5
  function PaginationComponent_a_6_Template(rf, ctx) { if (rf & 1) {
6
6
  const _r1 = i0.ɵɵgetCurrentView();
7
7
  i0.ɵɵelementStart(0, "a", 8);
8
- i0.ɵɵlistener("click", function PaginationComponent_a_6_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.onPrevious(); return i0.ɵɵresetView($event.preventDefault()); });
8
+ i0.ɵɵlistener("click", function PaginationComponent_a_6_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onPrevious()); });
9
9
  i0.ɵɵtext(1);
10
10
  i0.ɵɵpipe(2, "rpxTranslate");
11
11
  i0.ɵɵelementEnd();
@@ -25,7 +25,7 @@ function PaginationComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) {
25
25
  function PaginationComponent_a_10_Template(rf, ctx) { if (rf & 1) {
26
26
  const _r3 = i0.ɵɵgetCurrentView();
27
27
  i0.ɵɵelementStart(0, "a", 8);
28
- i0.ɵɵlistener("click", function PaginationComponent_a_10_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.onNext(); return i0.ɵɵresetView($event.preventDefault()); });
28
+ i0.ɵɵlistener("click", function PaginationComponent_a_10_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onNext()); });
29
29
  i0.ɵɵtext(1);
30
30
  i0.ɵɵpipe(2, "rpxTranslate");
31
31
  i0.ɵɵelementEnd();
@@ -54,7 +54,7 @@ export class PaginationComponent {
54
54
  this.nextPage.emit(null);
55
55
  }
56
56
  static { this.ɵfac = function PaginationComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PaginationComponent)(); }; }
57
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PaginationComponent, selectors: [["xuilib-pagination"]], inputs: { moreItems: "moreItems", firstRecord: "firstRecord" }, outputs: { previousPage: "previousPage", nextPage: "nextPage" }, decls: 13, vars: 7, consts: [["noPrevious", ""], ["noNext", ""], ["id", "pagination-label", 1, "hmcts-pagination"], ["aria-labelledby", "pagination-label", 1, "govuk-visually-hidden"], [1, "hmcts-pagination__list"], [1, "hmcts-pagination__item", "hmcts-pagination__item--prev"], ["class", "hmcts-pagination__link", "href", "#", 3, "click", 4, "ngIf", "ngIfElse"], [1, "hmcts-pagination__item", "hmcts-pagination__item--next"], ["href", "#", 1, "hmcts-pagination__link", 3, "click"], [1, "hmcts-pagination__link"]], template: function PaginationComponent_Template(rf, ctx) { if (rf & 1) {
57
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PaginationComponent, selectors: [["xuilib-pagination"]], inputs: { moreItems: "moreItems", firstRecord: "firstRecord" }, outputs: { previousPage: "previousPage", nextPage: "nextPage" }, decls: 13, vars: 7, consts: [["noPrevious", ""], ["noNext", ""], ["id", "pagination-label", 1, "hmcts-pagination"], ["aria-labelledby", "pagination-label", 1, "govuk-visually-hidden"], [1, "hmcts-pagination__list"], [1, "hmcts-pagination__item", "hmcts-pagination__item--prev"], ["class", "hmcts-pagination__link", "href", "javascript:void(0)", 3, "click", 4, "ngIf", "ngIfElse"], [1, "hmcts-pagination__item", "hmcts-pagination__item--next"], ["href", "javascript:void(0)", 1, "hmcts-pagination__link", 3, "click"], [1, "hmcts-pagination__link"]], template: function PaginationComponent_Template(rf, ctx) { if (rf & 1) {
58
58
  i0.ɵɵelementStart(0, "nav", 2)(1, "p", 3);
59
59
  i0.ɵɵtext(2);
60
60
  i0.ɵɵpipe(3, "rpxTranslate");
@@ -78,7 +78,7 @@ export class PaginationComponent {
78
78
  }
79
79
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PaginationComponent, [{
80
80
  type: Component,
81
- args: [{ selector: 'xuilib-pagination', template: "<nav class=\"hmcts-pagination\" id=\"pagination-label\">\n\n <p class=\"govuk-visually-hidden\" aria-labelledby=\"pagination-label\">{{'Pagination navigation' | rpxTranslate}}</p>\n\n <ul class=\"hmcts-pagination__list\">\n <li class=\"hmcts-pagination__item hmcts-pagination__item--prev\">\n <a *ngIf=\"firstRecord > 1; else noPrevious\" class=\"hmcts-pagination__link\" (click)=\"onPrevious(); $event.preventDefault()\" href=\"#\">\n {{'Previous page' | rpxTranslate}}\n </a>\n <ng-template #noPrevious>\n <span class=\"hmcts-pagination__link\">{{'Previous page' | rpxTranslate}}</span>\n </ng-template>\n </li>\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--next\">\n <a *ngIf=\"moreItems; else noNext\" class=\"hmcts-pagination__link\" (click)=\"onNext(); $event.preventDefault()\" href=\"#\">{{'Next page' | rpxTranslate}}</a>\n <ng-template #noNext>\n <span class=\"hmcts-pagination__link\">{{'Next page' | rpxTranslate}}</span>\n </ng-template>\n </li>\n </ul>\n</nav>\n", styles: ["span.hmcts-pagination__link:hover{color:revert}\n"] }]
81
+ args: [{ selector: 'xuilib-pagination', template: "<nav class=\"hmcts-pagination\" id=\"pagination-label\">\n\n <p class=\"govuk-visually-hidden\" aria-labelledby=\"pagination-label\">{{'Pagination navigation' | rpxTranslate}}</p>\n\n <ul class=\"hmcts-pagination__list\">\n <li class=\"hmcts-pagination__item hmcts-pagination__item--prev\">\n <a *ngIf=\"firstRecord > 1; else noPrevious\" class=\"hmcts-pagination__link\" (click)=\"onPrevious()\" href=\"javascript:void(0)\">\n {{'Previous page' | rpxTranslate}}\n </a>\n <ng-template #noPrevious>\n <span class=\"hmcts-pagination__link\">{{'Previous page' | rpxTranslate}}</span>\n </ng-template>\n </li>\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--next\">\n <a *ngIf=\"moreItems; else noNext\" class=\"hmcts-pagination__link\" (click)=\"onNext()\" href=\"javascript:void(0)\">{{'Next page' | rpxTranslate}}</a>\n <ng-template #noNext>\n <span class=\"hmcts-pagination__link\">{{'Next page' | rpxTranslate}}</span>\n </ng-template>\n </li>\n </ul>\n</nav>\n", styles: ["span.hmcts-pagination__link:hover{color:revert}\n"] }]
82
82
  }], () => [], { moreItems: [{
83
83
  type: Input
84
84
  }], firstRecord: [{
@@ -89,4 +89,4 @@ export class PaginationComponent {
89
89
  type: Output
90
90
  }] }); })();
91
91
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PaginationComponent, { className: "PaginationComponent", filePath: "lib/components/pagination/pagination.component.ts", lineNumber: 8 }); })();
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7SUNNakUsNEJBQW9JO0lBQXpELHdKQUFTLG1CQUFZLHdCQUFFLHVCQUF1QixLQUFDO0lBQ3hILFlBQ0Y7O0lBQUEsaUJBQUk7O0lBREYsY0FDRjtJQURFLHNFQUNGOzs7SUFFRSwrQkFBcUM7SUFBQSxZQUFrQzs7SUFBQSxpQkFBTzs7SUFBekMsY0FBa0M7SUFBbEMsMkRBQWtDOzs7O0lBS3pFLDRCQUFzSDtJQUFyRCx5SkFBUyxlQUFRLHdCQUFFLHVCQUF1QixLQUFDO0lBQVUsWUFBOEI7O0lBQUEsaUJBQUk7O0lBQWxDLGNBQThCO0lBQTlCLHVEQUE4Qjs7O0lBRWxKLCtCQUFxQztJQUFBLFlBQThCOztJQUFBLGlCQUFPOztJQUFyQyxjQUE4QjtJQUE5Qix1REFBOEI7O0FEVjNFLE1BQU0sT0FBTyxtQkFBbUI7SUFPOUI7UUFIaUIsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyRCxhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFbEQsQ0FBQztJQUVWLFVBQVU7UUFDZixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7b0hBZlUsbUJBQW1CO29FQUFuQixtQkFBbUI7WUNMOUIsQUFGRiw4QkFBb0QsV0FFa0I7WUFBQSxZQUEwQzs7WUFBQSxpQkFBSTtZQUdoSCxBQURGLDZCQUFtQyxZQUNnQztZQUkvRCxBQUhBLGdFQUFvSSx3R0FHM0c7WUFHM0IsaUJBQUs7WUFFTCw2QkFBaUU7WUFFL0QsQUFEQSxrRUFBc0gsMEdBQ2pHO1lBSzNCLEFBREUsQUFERSxpQkFBSyxFQUNGLEVBQ0Q7Ozs7WUFuQmdFLGVBQTBDO1lBQTFDLG1FQUEwQztZQUl0RyxlQUF1QjtZQUFBLEFBQXZCLDBDQUF1QiwyQkFBZTtZQVN0QyxlQUFpQjtZQUFBLEFBQWpCLG9DQUFpQix1QkFBVzs7O2lGRFJ6QixtQkFBbUI7Y0FML0IsU0FBUzsyQkFDRSxtQkFBbUI7b0JBTWIsU0FBUztrQkFBeEIsS0FBSztZQUNVLFdBQVc7a0JBQTFCLEtBQUs7WUFDVyxZQUFZO2tCQUE1QixNQUFNO1lBQ1UsUUFBUTtrQkFBeEIsTUFBTTs7a0ZBTEksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLXBhZ2luYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBwdWJsaWMgbW9yZUl0ZW1zOiBib29sZWFuO1xuICBASW5wdXQoKSBwdWJsaWMgZmlyc3RSZWNvcmQ6IG51bWJlcjtcbiAgQE91dHB1dCgpIHB1YmxpYyBwcmV2aW91c1BhZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIG5leHRQYWdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHB1YmxpYyBvblByZXZpb3VzKCk6IHZvaWQge1xuICAgIHRoaXMucHJldmlvdXNQYWdlLmVtaXQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIHRoaXMubmV4dFBhZ2UuZW1pdChudWxsKTtcbiAgfVxufVxuIiwiPG5hdiBjbGFzcz1cImhtY3RzLXBhZ2luYXRpb25cIiBpZD1cInBhZ2luYXRpb24tbGFiZWxcIj5cblxuICA8cCBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiIGFyaWEtbGFiZWxsZWRieT1cInBhZ2luYXRpb24tbGFiZWxcIj57eydQYWdpbmF0aW9uIG5hdmlnYXRpb24nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG5cbiAgPHVsIGNsYXNzPVwiaG1jdHMtcGFnaW5hdGlvbl9fbGlzdFwiPlxuICAgIDxsaSBjbGFzcz1cImhtY3RzLXBhZ2luYXRpb25fX2l0ZW0gIGhtY3RzLXBhZ2luYXRpb25fX2l0ZW0tLXByZXZcIj5cbiAgICAgIDxhICpuZ0lmPVwiZmlyc3RSZWNvcmQgPiAxOyBlbHNlIG5vUHJldmlvdXNcIiBjbGFzcz1cImhtY3RzLXBhZ2luYXRpb25fX2xpbmtcIiAoY2xpY2spPVwib25QcmV2aW91cygpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiIGhyZWY9XCIjXCI+XG4gICAgICAgIHt7J1ByZXZpb3VzIHBhZ2UnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvYT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbm9QcmV2aW91cz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJobWN0cy1wYWdpbmF0aW9uX19saW5rXCI+e3snUHJldmlvdXMgcGFnZScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9saT5cblxuICAgIDxsaSBjbGFzcz1cImhtY3RzLXBhZ2luYXRpb25fX2l0ZW0gIGhtY3RzLXBhZ2luYXRpb25fX2l0ZW0tLW5leHRcIj5cbiAgICAgIDxhICpuZ0lmPVwibW9yZUl0ZW1zOyBlbHNlIG5vTmV4dFwiIGNsYXNzPVwiaG1jdHMtcGFnaW5hdGlvbl9fbGlua1wiIChjbGljayk9XCJvbk5leHQoKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIiBocmVmPVwiI1wiPnt7J05leHQgcGFnZScgfCBycHhUcmFuc2xhdGV9fTwvYT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbm9OZXh0PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImhtY3RzLXBhZ2luYXRpb25fX2xpbmtcIj57eydOZXh0IHBhZ2UnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbGk+XG4gIDwvdWw+XG48L25hdj5cbiJdfQ==
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7SUNNakUsNEJBQTRIO0lBQWpELHdLQUFTLG1CQUFZLEtBQUM7SUFDL0YsWUFDRjs7SUFBQSxpQkFBSTs7SUFERixjQUNGO0lBREUsc0VBQ0Y7OztJQUVFLCtCQUFxQztJQUFBLFlBQWtDOztJQUFBLGlCQUFPOztJQUF6QyxjQUFrQztJQUFsQywyREFBa0M7Ozs7SUFLekUsNEJBQThHO0lBQTdDLHlLQUFTLGVBQVEsS0FBQztJQUEyQixZQUE4Qjs7SUFBQSxpQkFBSTs7SUFBbEMsY0FBOEI7SUFBOUIsdURBQThCOzs7SUFFMUksK0JBQXFDO0lBQUEsWUFBOEI7O0lBQUEsaUJBQU87O0lBQXJDLGNBQThCO0lBQTlCLHVEQUE4Qjs7QURWM0UsTUFBTSxPQUFPLG1CQUFtQjtJQU85QjtRQUhpQixpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JELGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVsRCxDQUFDO0lBRVYsVUFBVTtRQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztvSEFmVSxtQkFBbUI7b0VBQW5CLG1CQUFtQjtZQ0w5QixBQUZGLDhCQUFvRCxXQUVrQjtZQUFBLFlBQTBDOztZQUFBLGlCQUFJO1lBR2hILEFBREYsNkJBQW1DLFlBQ2dDO1lBSS9ELEFBSEEsZ0VBQTRILHdHQUduRztZQUczQixpQkFBSztZQUVMLDZCQUFpRTtZQUUvRCxBQURBLGtFQUE4RywwR0FDekY7WUFLM0IsQUFERSxBQURFLGlCQUFLLEVBQ0YsRUFDRDs7OztZQW5CZ0UsZUFBMEM7WUFBMUMsbUVBQTBDO1lBSXRHLGVBQXVCO1lBQUEsQUFBdkIsMENBQXVCLDJCQUFlO1lBU3RDLGVBQWlCO1lBQUEsQUFBakIsb0NBQWlCLHVCQUFXOzs7aUZEUnpCLG1CQUFtQjtjQUwvQixTQUFTOzJCQUNFLG1CQUFtQjtvQkFNYixTQUFTO2tCQUF4QixLQUFLO1lBQ1UsV0FBVztrQkFBMUIsS0FBSztZQUNXLFlBQVk7a0JBQTVCLE1BQU07WUFDVSxRQUFRO2tCQUF4QixNQUFNOztrRkFMSSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBtb3JlSXRlbXM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHB1YmxpYyBmaXJzdFJlY29yZDogbnVtYmVyO1xuICBAT3V0cHV0KCkgcHVibGljIHByZXZpb3VzUGFnZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgbmV4dFBhZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcHVibGljIG9uUHJldmlvdXMoKTogdm9pZCB7XG4gICAgdGhpcy5wcmV2aW91c1BhZ2UuZW1pdChudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0UGFnZS5lbWl0KG51bGwpO1xuICB9XG59XG4iLCI8bmF2IGNsYXNzPVwiaG1jdHMtcGFnaW5hdGlvblwiIGlkPVwicGFnaW5hdGlvbi1sYWJlbFwiPlxuXG4gIDxwIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCIgYXJpYS1sYWJlbGxlZGJ5PVwicGFnaW5hdGlvbi1sYWJlbFwiPnt7J1BhZ2luYXRpb24gbmF2aWdhdGlvbicgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuICA8dWwgY2xhc3M9XCJobWN0cy1wYWdpbmF0aW9uX19saXN0XCI+XG4gICAgPGxpIGNsYXNzPVwiaG1jdHMtcGFnaW5hdGlvbl9faXRlbSAgaG1jdHMtcGFnaW5hdGlvbl9faXRlbS0tcHJldlwiPlxuICAgICAgPGEgKm5nSWY9XCJmaXJzdFJlY29yZCA+IDE7IGVsc2Ugbm9QcmV2aW91c1wiIGNsYXNzPVwiaG1jdHMtcGFnaW5hdGlvbl9fbGlua1wiIChjbGljayk9XCJvblByZXZpb3VzKClcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+XG4gICAgICAgIHt7J1ByZXZpb3VzIHBhZ2UnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvYT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbm9QcmV2aW91cz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJobWN0cy1wYWdpbmF0aW9uX19saW5rXCI+e3snUHJldmlvdXMgcGFnZScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9saT5cblxuICAgIDxsaSBjbGFzcz1cImhtY3RzLXBhZ2luYXRpb25fX2l0ZW0gIGhtY3RzLXBhZ2luYXRpb25fX2l0ZW0tLW5leHRcIj5cbiAgICAgIDxhICpuZ0lmPVwibW9yZUl0ZW1zOyBlbHNlIG5vTmV4dFwiIGNsYXNzPVwiaG1jdHMtcGFnaW5hdGlvbl9fbGlua1wiIChjbGljayk9XCJvbk5leHQoKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj57eydOZXh0IHBhZ2UnIHwgcnB4VHJhbnNsYXRlfX08L2E+XG4gICAgICA8bmctdGVtcGxhdGUgI25vTmV4dD5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJobWN0cy1wYWdpbmF0aW9uX19saW5rXCI+e3snTmV4dCBwYWdlJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9uYXY+XG4iXX0=
@@ -45,7 +45,7 @@ function SelectedCaseComponent_div_18_Template(rf, ctx) { if (rf & 1) {
45
45
  function SelectedCaseComponent_table_19_tr_16_a_8_Template(rf, ctx) { if (rf & 1) {
46
46
  const _r3 = i0.ɵɵgetCurrentView();
47
47
  i0.ɵɵelementStart(0, "a", 30);
48
- i0.ɵɵlistener("click", function SelectedCaseComponent_table_19_tr_16_a_8_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r3); const user_r4 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.onRemove(user_r4, ctx_r1.sharedCase); return i0.ɵɵresetView($event.preventDefault()); });
48
+ i0.ɵɵlistener("click", function SelectedCaseComponent_table_19_tr_16_a_8_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r3); const user_r4 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onRemove(user_r4, ctx_r1.sharedCase)); });
49
49
  i0.ɵɵtext(1);
50
50
  i0.ɵɵpipe(2, "rpxTranslate");
51
51
  i0.ɵɵelementStart(3, "span", 31);
@@ -62,7 +62,7 @@ function SelectedCaseComponent_table_19_tr_16_a_8_Template(rf, ctx) { if (rf & 1
62
62
  function SelectedCaseComponent_table_19_tr_16_a_10_Template(rf, ctx) { if (rf & 1) {
63
63
  const _r5 = i0.ɵɵgetCurrentView();
64
64
  i0.ɵɵelementStart(0, "a", 30);
65
- i0.ɵɵlistener("click", function SelectedCaseComponent_table_19_tr_16_a_10_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const user_r4 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.onCancel(user_r4, ctx_r1.sharedCase); return i0.ɵɵresetView($event.preventDefault()); });
65
+ i0.ɵɵlistener("click", function SelectedCaseComponent_table_19_tr_16_a_10_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r5); const user_r4 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onCancel(user_r4, ctx_r1.sharedCase)); });
66
66
  i0.ɵɵtext(1);
67
67
  i0.ɵɵpipe(2, "rpxTranslate");
68
68
  i0.ɵɵelementStart(3, "span", 31);
@@ -313,7 +313,7 @@ export class SelectedCaseComponent {
313
313
  return `${elementName}-${this.sharedCase.caseId}`;
314
314
  }
315
315
  static { this.ɵfac = function SelectedCaseComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SelectedCaseComponent)(i0.ɵɵdirectiveInject(i1.CaseSharingStateService)); }; }
316
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectedCaseComponent, selectors: [["xuilib-selected-case"]], inputs: { sharedCase: "sharedCase", selectedUser: "selectedUser", opened: "opened", removeUserFromCaseToggleOn: "removeUserFromCaseToggleOn", caseCount: "caseCount" }, outputs: { unselect: "unselect", synchronizeStore: "synchronizeStore" }, features: [i0.ɵɵNgOnChangesFeature], decls: 20, vars: 20, consts: [[1, "govuk-accordion__section", 3, "id"], [1, "govuk-grid-row", "govuk-case-header"], [1, "govuk-grid-column-three-quarters"], [1, "govuk-case-title", 3, "id"], [1, "govuk-case-sub-title", 3, "id"], [1, "govuk-grid-column-ten-percent"], ["class", "govuk-button hmcts-button--secondary", "title", "Deselect case", 3, "id", "click", 4, "ngIf"], [1, "govuk-accordion__section-header", "govuk-grid-column-ten-percent"], [1, "govuk-accordion__section-heading"], ["type", "button", "aria-expanded", "false", 1, "govuk-accordion__section-button", 3, "id", "title"], ["aria-hidden", "true", 1, "govuk-accordion__icon"], [1, "govuk-accordion__section-content", 3, "id"], ["class", "govuk-grid-row", 4, "ngIf"], ["class", "govuk-table", 4, "ngIf"], ["title", "Deselect case", 1, "govuk-button", "hmcts-button--secondary", 3, "click", "id"], [1, "govuk-grid-row"], [1, "govuk-div-align-left", 3, "id"], [1, "govuk-table"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-header", 3, "id"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-actions", 3, "id"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-label", 3, "id"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "govuk-table__cell", 3, "id"], [1, "govuk-table__cell"], ["href", "#", 3, "click", 4, "ngIf"], ["class", "hmcts-badge hmcts-badge--red", 4, "ngIf"], ["class", "hmcts-badge", 4, "ngIf"], ["href", "#", 3, "click"], [1, "govuk-visually-hidden"], [1, "hmcts-badge", "hmcts-badge--red"], [1, "hmcts-badge"]], template: function SelectedCaseComponent_Template(rf, ctx) { if (rf & 1) {
316
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectedCaseComponent, selectors: [["xuilib-selected-case"]], inputs: { sharedCase: "sharedCase", selectedUser: "selectedUser", opened: "opened", removeUserFromCaseToggleOn: "removeUserFromCaseToggleOn", caseCount: "caseCount" }, outputs: { unselect: "unselect", synchronizeStore: "synchronizeStore" }, features: [i0.ɵɵNgOnChangesFeature], decls: 20, vars: 20, consts: [[1, "govuk-accordion__section", 3, "id"], [1, "govuk-grid-row", "govuk-case-header"], [1, "govuk-grid-column-three-quarters"], [1, "govuk-case-title", 3, "id"], [1, "govuk-case-sub-title", 3, "id"], [1, "govuk-grid-column-ten-percent"], ["class", "govuk-button hmcts-button--secondary", "title", "Deselect case", 3, "id", "click", 4, "ngIf"], [1, "govuk-accordion__section-header", "govuk-grid-column-ten-percent"], [1, "govuk-accordion__section-heading"], ["type", "button", "aria-expanded", "false", 1, "govuk-accordion__section-button", 3, "id", "title"], ["aria-hidden", "true", 1, "govuk-accordion__icon"], [1, "govuk-accordion__section-content", 3, "id"], ["class", "govuk-grid-row", 4, "ngIf"], ["class", "govuk-table", 4, "ngIf"], ["title", "Deselect case", 1, "govuk-button", "hmcts-button--secondary", 3, "click", "id"], [1, "govuk-grid-row"], [1, "govuk-div-align-left", 3, "id"], [1, "govuk-table"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-header", 3, "id"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-actions", 3, "id"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-label", 3, "id"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "govuk-table__cell", 3, "id"], [1, "govuk-table__cell"], ["href", "javascript:void(0);", 3, "click", 4, "ngIf"], ["class", "hmcts-badge hmcts-badge--red", 4, "ngIf"], ["class", "hmcts-badge", 4, "ngIf"], ["href", "javascript:void(0);", 3, "click"], [1, "govuk-visually-hidden"], [1, "hmcts-badge", "hmcts-badge--red"], [1, "hmcts-badge"]], template: function SelectedCaseComponent_Template(rf, ctx) { if (rf & 1) {
317
317
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "h3", 3);
318
318
  i0.ɵɵtext(4);
319
319
  i0.ɵɵpipe(5, "rpxTranslate");
@@ -361,7 +361,7 @@ export class SelectedCaseComponent {
361
361
  }
362
362
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SelectedCaseComponent, [{
363
363
  type: Component,
364
- args: [{ selector: 'xuilib-selected-case', template: "<div id=\"{{buildElementId('govuk-accordion__section')}}\" class=\"govuk-accordion__section\">\r\n <div class=\"govuk-grid-row govuk-case-header\">\r\n <div class=\"govuk-grid-column-three-quarters\">\r\n <h3 id=\"{{buildElementId('case-title')}}\" class=\"govuk-case-title\">{{ sharedCase.caseTitle | rpxTranslate }}</h3>\r\n <h3 id=\"{{buildElementId('case-id')}}\" class=\"govuk-case-sub-title\">{{ sharedCase.caseId | rpxTranslate }}</h3>\r\n </div>\r\n <div class=\"govuk-grid-column-ten-percent\">\r\n <button *ngIf=\"caseCount > 1\"\r\n id=\"{{buildElementId('btn-deselect-case')}}\"\r\n class=\"govuk-button hmcts-button--secondary\"\r\n (click)=\"onDeselect(sharedCase)\" title=\"Deselect case\">\r\n {{'Deselect case' | rpxTranslate}}\r\n </button>\r\n </div>\r\n <div class=\"govuk-accordion__section-header govuk-grid-column-ten-percent\">\r\n <div class=\"govuk-accordion__section-heading\">\r\n <button type=\"button\" id=\"{{buildElementId('accordion-with-summary-sections-heading')}}\"\r\n [attr.aria-controls]=\"'accordion-with-summary-sections-content' + buildElementId('accordion-with-summary-sections-heading')\" class=\"govuk-accordion__section-button\"\r\n aria-expanded=\"false\" [title]=\"'Expand or Collapse' | rpxTranslate\">\r\n <span class=\"govuk-accordion__icon\" aria-hidden=\"true\"></span></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div id=\"{{buildElementId('accordion-with-summary-sections-content')}}\" class=\"govuk-accordion__section-content\"\r\n [attr.aria-labelledby]=\"buildElementId('accordion-with-summary-sections-heading')\" >\r\n <div class=\"govuk-grid-row\" *ngIf=\"showNoUsersAccessInfo()\">\r\n <span id=\"{{buildElementId('access-info-no-user')}}\" class=\"govuk-div-align-left\">\r\n {{'No users from your organisation currently have access to this case.' | rpxTranslate}}\r\n </span>\r\n </div>\r\n <div class=\"govuk-grid-row\" *ngIf=\"showUserHasAccessInfo()\">\r\n <span id=\"{{buildElementId('access-info-has-users')}}\" class=\"govuk-div-align-left\">\r\n {{'Users from your organisation with access to this case.' | rpxTranslate}}\r\n </span>\r\n </div>\r\n <table class=\"govuk-table\" *ngIf=\"showUserAccessTable()\">\r\n <thead class=\"govuk-table__head\">\r\n <tr class=\"govuk-table__row\">\r\n <th id=\"{{buildElementId('name-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">{{'Name' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('email-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">{{'Email address' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('action-heading')}}\" class=\"govuk-table__header govuk-table-column-actions\" scope=\"col\">{{'Actions' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('label-heading')}}\" class=\"govuk-table__header govuk-table-column-label\" scope=\"col\">{{ 'Status' | rpxTranslate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"govuk-table__body\">\r\n <tr class=\"govuk-table__row\" *ngFor=\"let user of combinedSortedShares; index as idx; trackBy: trackByUserId\">\r\n <td id=\"user-full-name-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.firstName + ' ' + user.lastName }}</td>\r\n <td id=\"user-email-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.email }}</td>\r\n <td class=\"govuk-table__cell\">\r\n <a *ngIf=\"canRemove(sharedCase.caseId, user) | async\" (click)=\"onRemove(user, sharedCase); $event.preventDefault()\" href=\"#\">{{'Remove' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{ user.firstName + ' ' + user.lastName }} {{'from case' | rpxTranslate}}</span></a>\r\n <a *ngIf=\"canCancel(sharedCase.caseId, user) | async\" (click)=\"onCancel(user, sharedCase); $event.preventDefault()\" href=\"#\">{{'Cancel' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{'adding' | rpxTranslate}} {{ user.firstName + ' ' + user.lastName }} {{'to case' | rpxTranslate}}</span></a>\r\n </td>\r\n <td class=\"govuk-table__cell\">\r\n <span *ngIf=\"isToBeRemoved(sharedCase.caseId, user) | async\" class=\"hmcts-badge hmcts-badge--red\">{{'To be removed' | rpxTranslate}}</span>\r\n <span *ngIf=\"isToBeAdded(sharedCase.caseId, user) | async\" class=\"hmcts-badge\">{{'To be added' | rpxTranslate}}</span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: [".govuk-case-header{border-top:1px solid #bfc1c3}.govuk-case-title{font-family:nta,Arial,sans-serif;font-size:24px;color:#005ea5;font-weight:700;padding-left:0}.govuk-case-sub-title{font-family:nta,Arial,sans-serif;font-size:1rem!important;color:#6f777b;font-weight:400;padding-left:0}.govuk-grid-row{margin-left:0;margin-right:0}.govuk-grid-column-three-quarters{padding-top:5px;padding-left:0}.govuk-grid-column-twenty-percent{box-sizing:border-box;padding-top:10px;width:20%;float:left}.govuk-grid-column-ten-percent{box-sizing:border-box;padding-top:10px;width:10%;float:left}.govuk-grid-column-five-percent{box-sizing:border-box;padding-top:15px;width:5%;float:left}.govuk-table-column-header{width:38%}.govuk-table-column-actions,.govuk-table-column-label{width:12%}.govuk-div-align-left{font-family:nta,Arial,sans-serif;font-size:1.1875rem!important;line-height:1.31579!important;text-align:left;margin-bottom:20px;padding-left:0;color:#0b0c0c}.govuk-accordion__section-header{border-top:0}.govuk-accordion__section-content{padding-top:0}.govuk-accordion__section-heading,.govuk-accordion__section-button{border-top:0}\n"] }]
364
+ args: [{ selector: 'xuilib-selected-case', template: "<div id=\"{{buildElementId('govuk-accordion__section')}}\" class=\"govuk-accordion__section\">\r\n <div class=\"govuk-grid-row govuk-case-header\">\r\n <div class=\"govuk-grid-column-three-quarters\">\r\n <h3 id=\"{{buildElementId('case-title')}}\" class=\"govuk-case-title\">{{ sharedCase.caseTitle | rpxTranslate }}</h3>\r\n <h3 id=\"{{buildElementId('case-id')}}\" class=\"govuk-case-sub-title\">{{ sharedCase.caseId | rpxTranslate }}</h3>\r\n </div>\r\n <div class=\"govuk-grid-column-ten-percent\">\r\n <button *ngIf=\"caseCount > 1\"\r\n id=\"{{buildElementId('btn-deselect-case')}}\"\r\n class=\"govuk-button hmcts-button--secondary\"\r\n (click)=\"onDeselect(sharedCase)\" title=\"Deselect case\">\r\n {{'Deselect case' | rpxTranslate}}\r\n </button>\r\n </div>\r\n <div class=\"govuk-accordion__section-header govuk-grid-column-ten-percent\">\r\n <div class=\"govuk-accordion__section-heading\">\r\n <button type=\"button\" id=\"{{buildElementId('accordion-with-summary-sections-heading')}}\"\r\n [attr.aria-controls]=\"'accordion-with-summary-sections-content' + buildElementId('accordion-with-summary-sections-heading')\" class=\"govuk-accordion__section-button\"\r\n aria-expanded=\"false\" [title]=\"'Expand or Collapse' | rpxTranslate\">\r\n <span class=\"govuk-accordion__icon\" aria-hidden=\"true\"></span></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div id=\"{{buildElementId('accordion-with-summary-sections-content')}}\" class=\"govuk-accordion__section-content\"\r\n [attr.aria-labelledby]=\"buildElementId('accordion-with-summary-sections-heading')\" >\r\n <div class=\"govuk-grid-row\" *ngIf=\"showNoUsersAccessInfo()\">\r\n <span id=\"{{buildElementId('access-info-no-user')}}\" class=\"govuk-div-align-left\">\r\n {{'No users from your organisation currently have access to this case.' | rpxTranslate}}\r\n </span>\r\n </div>\r\n <div class=\"govuk-grid-row\" *ngIf=\"showUserHasAccessInfo()\">\r\n <span id=\"{{buildElementId('access-info-has-users')}}\" class=\"govuk-div-align-left\">\r\n {{'Users from your organisation with access to this case.' | rpxTranslate}}\r\n </span>\r\n </div>\r\n <table class=\"govuk-table\" *ngIf=\"showUserAccessTable()\">\r\n <thead class=\"govuk-table__head\">\r\n <tr class=\"govuk-table__row\">\r\n <th id=\"{{buildElementId('name-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">{{'Name' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('email-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">{{'Email address' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('action-heading')}}\" class=\"govuk-table__header govuk-table-column-actions\" scope=\"col\">{{'Actions' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('label-heading')}}\" class=\"govuk-table__header govuk-table-column-label\" scope=\"col\">{{ 'Status' | rpxTranslate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"govuk-table__body\">\r\n <tr class=\"govuk-table__row\" *ngFor=\"let user of combinedSortedShares; index as idx; trackBy: trackByUserId\">\r\n <td id=\"user-full-name-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.firstName + ' ' + user.lastName }}</td>\r\n <td id=\"user-email-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.email }}</td>\r\n <td class=\"govuk-table__cell\">\r\n <a *ngIf=\"canRemove(sharedCase.caseId, user) | async\" (click)=\"onRemove(user, sharedCase)\" href=\"javascript:void(0);\">{{'Remove' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{ user.firstName + ' ' + user.lastName }} {{'from case' | rpxTranslate}}</span></a>\r\n <a *ngIf=\"canCancel(sharedCase.caseId, user) | async\" (click)=\"onCancel(user, sharedCase)\" href=\"javascript:void(0);\">{{'Cancel' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{'adding' | rpxTranslate}} {{ user.firstName + ' ' + user.lastName }} {{'to case' | rpxTranslate}}</span></a>\r\n </td>\r\n <td class=\"govuk-table__cell\">\r\n <span *ngIf=\"isToBeRemoved(sharedCase.caseId, user) | async\" class=\"hmcts-badge hmcts-badge--red\">{{'To be removed' | rpxTranslate}}</span>\r\n <span *ngIf=\"isToBeAdded(sharedCase.caseId, user) | async\" class=\"hmcts-badge\">{{'To be added' | rpxTranslate}}</span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: [".govuk-case-header{border-top:1px solid #bfc1c3}.govuk-case-title{font-family:nta,Arial,sans-serif;font-size:24px;color:#005ea5;font-weight:700;padding-left:0}.govuk-case-sub-title{font-family:nta,Arial,sans-serif;font-size:1rem!important;color:#6f777b;font-weight:400;padding-left:0}.govuk-grid-row{margin-left:0;margin-right:0}.govuk-grid-column-three-quarters{padding-top:5px;padding-left:0}.govuk-grid-column-twenty-percent{box-sizing:border-box;padding-top:10px;width:20%;float:left}.govuk-grid-column-ten-percent{box-sizing:border-box;padding-top:10px;width:10%;float:left}.govuk-grid-column-five-percent{box-sizing:border-box;padding-top:15px;width:5%;float:left}.govuk-table-column-header{width:38%}.govuk-table-column-actions,.govuk-table-column-label{width:12%}.govuk-div-align-left{font-family:nta,Arial,sans-serif;font-size:1.1875rem!important;line-height:1.31579!important;text-align:left;margin-bottom:20px;padding-left:0;color:#0b0c0c}.govuk-accordion__section-header{border-top:0}.govuk-accordion__section-content{padding-top:0}.govuk-accordion__section-heading,.govuk-accordion__section-button{border-top:0}\n"] }]
365
365
  }], () => [{ type: i1.CaseSharingStateService }], { sharedCase: [{
366
366
  type: Input
367
367
  }], selectedUser: [{
@@ -378,4 +378,4 @@ export class SelectedCaseComponent {
378
378
  type: Output
379
379
  }] }); })();
380
380
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectedCaseComponent, { className: "SelectedCaseComponent", filePath: "lib/components/selected-case/selected-case.component.ts", lineNumber: 14 }); })();
381
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdGVkLWNhc2Uvc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdGVkLWNhc2Uvc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFekcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7O0lDQ2pHLGtDQUd5RDtJQUF2RCxxTEFBUyxvQ0FBc0IsS0FBQztJQUNoQyxZQUNGOztJQUFBLGlCQUFTOzs7SUFKUCwwRUFBNEM7SUFHNUMsY0FDRjtJQURFLHNFQUNGOzs7SUFjQSxBQURGLCtCQUE0RCxlQUN3QjtJQUNoRixZQUNGOztJQUNGLEFBREUsaUJBQU8sRUFDSDs7O0lBSEUsY0FBOEM7SUFBOUMsNEVBQThDO0lBQ2xELGNBQ0Y7SUFERSw0SEFDRjs7O0lBR0EsQUFERiwrQkFBNEQsZUFDMEI7SUFDbEYsWUFDRjs7SUFDRixBQURFLGlCQUFPLEVBQ0g7OztJQUhFLGNBQWdEO0lBQWhELDhFQUFnRDtJQUNwRCxjQUNGO0lBREUsK0dBQ0Y7Ozs7SUFnQk0sNkJBQTZIO0lBQXZFLHdOQUFTLDJDQUEwQix3QkFBRSx1QkFBdUIsS0FBQztJQUFVLFlBQTRCOztJQUFBLGdDQUFvQztJQUFBLFlBQXlFOztJQUFPLEFBQVAsaUJBQU8sRUFBSTs7O0lB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QUEyRSxjQUMzQixpQkFHK0I7O1lBQzNFLDRCQUE4RDtZQUdwRSxBQURFLEFBREUsQUFEZ0UsaUJBQVMsRUFDbkUsRUFDRixFQUNGO1lBQ04sZ0NBQ3lGO1lBV3ZGLEFBTEEsQUFMQSx5RUFBNEQsNERBS0Esa0VBS0g7WUF5QjdELEFBREUsaUJBQU0sRUFDRjs7WUE1REQsOEVBQW1EO1lBRzlDLGVBQXFDO1lBQXJDLGdFQUFxQztZQUEwQixjQUF5QztZQUF6QyxxRUFBeUM7WUFDeEcsZUFBa0M7WUFBbEMsNkRBQWtDO1lBQThCLGNBQXNDO1lBQXRDLGtFQUFzQztZQUdqRyxlQUFtQjtZQUFuQix3Q0FBbUI7WUFTSixlQUFrRTtZQUFsRSw2RkFBa0U7WUFFM0Qsb0VBQTZDOztZQUszRSxlQUFrRTtZQUFsRSw2RkFBa0U7O1lBRXhDLGNBQTZCO1lBQTdCLGtEQUE2QjtZQUs3QixjQUE2QjtZQUE3QixrREFBNkI7WUFLOUIsY0FBMkI7WUFBM0IsZ0RBQTJCOzs7aUZEdEI5QyxxQkFBcUI7Y0FMakMsU0FBUzsyQkFDRSxzQkFBc0I7d0RBTWhCLFVBQVU7a0JBQXpCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UsTUFBTTtrQkFBckIsS0FBSztZQUNVLDBCQUEwQjtrQkFBekMsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFFVyxRQUFRO2tCQUF4QixNQUFNO1lBQ1UsZ0JBQWdCO2tCQUFoQyxNQUFNOztrRkFUSSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2hhcmVkQ2FzZSB9IGZyb20gJy4uLy4uL21vZGVscy9jYXNlLXNoYXJlLm1vZGVsJztcbmltcG9ydCB7IFVzZXJEZXRhaWxzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXItZGV0YWlscy5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlU2hhcmluZ1N0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nhc2Utc2hhcmluZy1zdGF0ZS9jYXNlLXNoYXJpbmctc3RhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1zZWxlY3RlZC1jYXNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGVkLWNhc2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3RlZC1jYXNlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0ZWRDYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaGFyZWRDYXNlOiBTaGFyZWRDYXNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRVc2VyOiBVc2VyRGV0YWlscztcbiAgQElucHV0KCkgcHVibGljIG9wZW5lZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgcmVtb3ZlVXNlckZyb21DYXNlVG9nZ2xlT246IGJvb2xlYW47XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlQ291bnQ6IG51bWJlcjtcblxuICBAT3V0cHV0KCkgcHVibGljIHVuc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxTaGFyZWRDYXNlPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHN5bmNocm9uaXplU3RvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwdWJsaWMgc2hhcmVDYXNlczogU2hhcmVkQ2FzZVtdO1xuICBwdWJsaWMgc2hhcmVDYXNlcyQ6IE9ic2VydmFibGU8U2hhcmVkQ2FzZVtdPjtcblxuICBwdWJsaWMgY29tYmluZWRTb3J0ZWRTaGFyZXM6IFVzZXJEZXRhaWxzW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IENhc2VTaGFyaW5nU3RhdGVTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zaGFyZUNhc2VzJCA9IHRoaXMuc3RhdGVTZXJ2aWNlLnN0YXRlO1xuICAgIHRoaXMuc2hhcmVDYXNlcyQuc3Vic2NyaWJlKHNoYXJlQ2FzZXMgPT4gdGhpcy5zaGFyZUNhc2VzID0gc2hhcmVDYXNlcyk7XG5cbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuc2hhcmVkQ2FzZSkge1xuICAgICAgY29uc3Qgc2hhcmVkV2l0aCA9IHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoID8gdGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGggOiBbXTtcbiAgICAgIGNvbnN0IHBlbmRpbmdTaGFyZXMgPSB0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA/IHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzIDogW107XG4gICAgICB0aGlzLmNvbWJpbmVkU29ydGVkU2hhcmVzID0gdGhpcy5jb21iaW5lQW5kU29ydFNoYXJlcyhzaGFyZWRXaXRoLCBwZW5kaW5nU2hhcmVzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25EZXNlbGVjdChjOiBTaGFyZWRDYXNlKTogdm9pZCB7XG4gICAgdGhpcy51bnNlbGVjdC5lbWl0KGMpO1xuICB9XG5cbiAgcHVibGljIHRyYWNrQnlVc2VySWQodXNlcjogVXNlckRldGFpbHMpOiBzdHJpbmcge1xuICAgIHJldHVybiB1c2VyLmlkYW1JZDtcbiAgfVxuXG4gIHB1YmxpYyBjYW5SZW1vdmUoY2FzZUlkOiBzdHJpbmcsIHVzZXI6IFVzZXJEZXRhaWxzKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVDYXNlcyQucGlwZShtYXAoY2FzZXMgPT4ge1xuICAgICAgaWYgKHRoaXMucmVtb3ZlVXNlckZyb21DYXNlVG9nZ2xlT24pIHtcbiAgICAgICAgZm9yIChjb25zdCBhQ2FzZSBvZiBjYXNlcykge1xuICAgICAgICAgIGlmIChhQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICAgICAgaWYgKGFDYXNlLnBlbmRpbmdVbnNoYXJlcyAmJiBhQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGFDYXNlLnNoYXJlZFdpdGggJiYgYUNhc2Uuc2hhcmVkV2l0aC5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgY2FuQ2FuY2VsKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNoYXJlQ2FzZXMkLnBpcGUobWFwKGNhc2VzID0+IHtcbiAgICAgIGZvciAoY29uc3QgYUNhc2Ugb2YgY2FzZXMpIHtcbiAgICAgICAgaWYgKGFDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgICAgaWYgKGFDYXNlLnBlbmRpbmdTaGFyZXMgJiYgYUNhc2UucGVuZGluZ1NoYXJlcy5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChhQ2FzZS5wZW5kaW5nVW5zaGFyZXMgJiYgYUNhc2UucGVuZGluZ1Vuc2hhcmVzLnNvbWUodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIGlzVG9CZVJlbW92ZWQoY2FzZUlkOiBzdHJpbmcsIHVzZXI6IFVzZXJEZXRhaWxzKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVDYXNlcyQucGlwZShtYXAoY2FzZXMgPT4ge1xuICAgICAgZm9yIChjb25zdCBhQ2FzZSBvZiBjYXNlcykge1xuICAgICAgICBpZiAoYUNhc2UuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICByZXR1cm4gYUNhc2UucGVuZGluZ1Vuc2hhcmVzICYmIGFDYXNlLnBlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1RvQmVBZGRlZChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZUNhc2VzJC5waXBlKG1hcChjYXNlcyA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGFDYXNlIG9mIGNhc2VzKSB7XG4gICAgICAgIGlmIChhQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICAgIHJldHVybiBhQ2FzZS5wZW5kaW5nU2hhcmVzICYmIGFDYXNlLnBlbmRpbmdTaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgb25SZW1vdmUodXNlcjogVXNlckRldGFpbHMsIHNoYXJlZENhc2U6IFNoYXJlZENhc2UpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5yZXF1ZXN0VW5zaGFyZSh1c2VyLCBzaGFyZWRDYXNlLmNhc2VJZCk7XG4gICAgdGhpcy5zeW5jaHJvbml6ZVN0b3JlLmVtaXQodGhpcy5zaGFyZUNhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNhbmNlbCh1c2VyOiBVc2VyRGV0YWlscywgc2hhcmVkQ2FzZTogU2hhcmVkQ2FzZSk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnJlcXVlc3RDYW5jZWwoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpO1xuICAgIHRoaXMuc3luY2hyb25pemVTdG9yZS5lbWl0KHRoaXMuc2hhcmVDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgc2hvd05vVXNlcnNBY2Nlc3NJbmZvKCk6IGJvb2xlYW4ge1xuICAgIC8vIEEgdXNlciBpcyBhZGRlZCB0byBhIGNhc2VcbiAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQSBjYXNlIGhhcyAwIHVzZXJzIHdpdGggYWNjZXNzIHRvIGl0XG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBBY2Nlc3MgdG8gdGhlIGxhc3QgdXNlciBpcyByZW1vdmVkXG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoICYmIHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLmxlbmd0aCA+IDBcbiAgICAgICAgJiYgdGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgubGVuZ3RoID09PSB0aGlzLnNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHNob3dVc2VySGFzQWNjZXNzSW5mbygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc2hvd05vVXNlcnNBY2Nlc3NJbmZvKCk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1VzZXJBY2Nlc3NUYWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgY29tYmluZUFuZFNvcnRTaGFyZXMoc2hhcmVkV2l0aDogVXNlckRldGFpbHNbXSwgcGVuZGluZ1NoYXJlczogVXNlckRldGFpbHNbXSk6IFVzZXJEZXRhaWxzW10ge1xuICAgIHJldHVybiBbXG4gICAgICAuLi5zaGFyZWRXaXRoLFxuICAgICAgLi4ucGVuZGluZ1NoYXJlc1xuICAgIF0uc29ydCgodXNlcjEsIHVzZXIyKSA9PiB7XG4gICAgICByZXR1cm4gdXNlcjEuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPiB1c2VyMi5maXJzdE5hbWUudG9Mb3dlckNhc2UoKSA/IDEgOiAodXNlcjIuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPiB1c2VyMS5maXJzdE5hbWUudG9Mb3dlckNhc2UoKSA/IC0xIDogMCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXNlcklkU2V0dGVyKGlzUGVuZGluZzogYm9vbGVhbiwgaWQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGlzUGVuZGluZyA/IGBwZW5kaW5nU2hhcmVzLSR7aWR9YCA6IGAke2lkfWA7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRFbGVtZW50SWQoZWxlbWVudE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2VsZW1lbnROYW1lfS0ke3RoaXMuc2hhcmVkQ2FzZS5jYXNlSWR9YDtcbiAgfVxufVxuIiwiPGRpdiBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2dvdnVrLWFjY29yZGlvbl9fc2VjdGlvbicpfX1cIiBjbGFzcz1cImdvdnVrLWFjY29yZGlvbl9fc2VjdGlvblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvdyBnb3Z1ay1jYXNlLWhlYWRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLXRocmVlLXF1YXJ0ZXJzXCI+XHJcbiAgICAgIDxoMyBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2Nhc2UtdGl0bGUnKX19XCIgY2xhc3M9XCJnb3Z1ay1jYXNlLXRpdGxlXCI+e3sgc2hhcmVkQ2FzZS5jYXNlVGl0bGUgfCBycHhUcmFuc2xhdGUgfX08L2gzPlxyXG4gICAgICA8aDMgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdjYXNlLWlkJyl9fVwiIGNsYXNzPVwiZ292dWstY2FzZS1zdWItdGl0bGVcIj57eyBzaGFyZWRDYXNlLmNhc2VJZCB8IHJweFRyYW5zbGF0ZSB9fTwvaDM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi10ZW4tcGVyY2VudFwiPlxyXG4gICAgICA8YnV0dG9uICpuZ0lmPVwiY2FzZUNvdW50ID4gMVwiXHJcbiAgICAgICAgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdidG4tZGVzZWxlY3QtY2FzZScpfX1cIlxyXG4gICAgICAgIGNsYXNzPVwiZ292dWstYnV0dG9uIGhtY3RzLWJ1dHRvbi0tc2Vjb25kYXJ5XCJcclxuICAgICAgICAoY2xpY2spPVwib25EZXNlbGVjdChzaGFyZWRDYXNlKVwiIHRpdGxlPVwiRGVzZWxlY3QgY2FzZVwiPlxyXG4gICAgICAgIHt7J0Rlc2VsZWN0IGNhc2UnIHwgcnB4VHJhbnNsYXRlfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyIGdvdnVrLWdyaWQtY29sdW1uLXRlbi1wZXJjZW50XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZ1wiPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnYWNjb3JkaW9uLXdpdGgtc3VtbWFyeS1zZWN0aW9ucy1oZWFkaW5nJyl9fVwiXHJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCInYWNjb3JkaW9uLXdpdGgtc3VtbWFyeS1zZWN0aW9ucy1jb250ZW50JyArIGJ1aWxkRWxlbWVudElkKCdhY2NvcmRpb24td2l0aC1zdW1tYXJ5LXNlY3Rpb25zLWhlYWRpbmcnKVwiIGNsYXNzPVwiZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiIFt0aXRsZV09XCInRXhwYW5kIG9yIENvbGxhcHNlJyB8IHJweFRyYW5zbGF0ZVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstYWNjb3JkaW9uX19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdhY2NvcmRpb24td2l0aC1zdW1tYXJ5LXNlY3Rpb25zLWNvbnRlbnQnKX19XCIgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tY29udGVudFwiXHJcbiAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYnVpbGRFbGVtZW50SWQoJ2FjY29yZGlvbi13aXRoLXN1bW1hcnktc2VjdGlvbnMtaGVhZGluZycpXCIgPlxyXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCIgKm5nSWY9XCJzaG93Tm9Vc2Vyc0FjY2Vzc0luZm8oKVwiPlxyXG4gICAgICA8c3BhbiBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2FjY2Vzcy1pbmZvLW5vLXVzZXInKX19XCIgY2xhc3M9XCJnb3Z1ay1kaXYtYWxpZ24tbGVmdFwiPlxyXG4gICAgICAgIHt7J05vIHVzZXJzIGZyb20geW91ciBvcmdhbmlzYXRpb24gY3VycmVudGx5IGhhdmUgYWNjZXNzIHRvIHRoaXMgY2FzZS4nIHwgcnB4VHJhbnNsYXRlfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIiAqbmdJZj1cInNob3dVc2VySGFzQWNjZXNzSW5mbygpXCI+XHJcbiAgICAgIDxzcGFuIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnYWNjZXNzLWluZm8taGFzLXVzZXJzJyl9fVwiIGNsYXNzPVwiZ292dWstZGl2LWFsaWduLWxlZnRcIj5cclxuICAgICAgICB7eydVc2VycyBmcm9tIHlvdXIgb3JnYW5pc2F0aW9uIHdpdGggYWNjZXNzIHRvIHRoaXMgY2FzZS4nIHwgcnB4VHJhbnNsYXRlfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiICpuZ0lmPVwic2hvd1VzZXJBY2Nlc3NUYWJsZSgpXCI+XHJcbiAgICAgIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCI+XHJcbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cclxuICAgICAgICA8dGggaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCduYW1lLWhlYWRpbmcnKX19XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGdvdnVrLXRhYmxlLWNvbHVtbi1oZWFkZXJcIiBzY29wZT1cImNvbFwiPnt7J05hbWUnIHwgcnB4VHJhbnNsYXRlfX08L3RoPlxyXG4gICAgICAgIDx0aCBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2VtYWlsLWhlYWRpbmcnKX19XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGdvdnVrLXRhYmxlLWNvbHVtbi1oZWFkZXJcIiBzY29wZT1cImNvbFwiPnt7J0VtYWlsIGFkZHJlc3MnIHwgcnB4VHJhbnNsYXRlfX08L3RoPlxyXG4gICAgICAgIDx0aCBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2FjdGlvbi1oZWFkaW5nJyl9fVwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBnb3Z1ay10YWJsZS1jb2x1bW4tYWN0aW9uc1wiIHNjb3BlPVwiY29sXCI+e3snQWN0aW9ucycgfCBycHhUcmFuc2xhdGV9fTwvdGg+XHJcbiAgICAgICAgPHRoIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnbGFiZWwtaGVhZGluZycpfX1cIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgZ292dWstdGFibGUtY29sdW1uLWxhYmVsXCIgc2NvcGU9XCJjb2xcIj57eyAnU3RhdHVzJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGhlYWQ+XHJcbiAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XHJcbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0Zvcj1cImxldCB1c2VyIG9mIGNvbWJpbmVkU29ydGVkU2hhcmVzOyBpbmRleCBhcyBpZHg7IHRyYWNrQnk6IHRyYWNrQnlVc2VySWRcIj5cclxuICAgICAgICAgIDx0ZCBpZD1cInVzZXItZnVsbC1uYW1lLXt7IHVzZXJJZFNldHRlcihjYW5DYW5jZWwoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpIHwgYXN5bmMsIGlkeCkgfX1cIiBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgdXNlci5maXJzdE5hbWUgKyAnICcgKyB1c2VyLmxhc3ROYW1lIH19PC90ZD5cclxuICAgICAgICAgIDx0ZCBpZD1cInVzZXItZW1haWwte3sgdXNlcklkU2V0dGVyKGNhbkNhbmNlbChzaGFyZWRDYXNlLmNhc2VJZCwgdXNlcikgfCBhc3luYywgaWR4KSB9fVwiIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyB1c2VyLmVtYWlsIH19PC90ZD5cclxuICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XHJcbiAgICAgICAgICAgIDxhICpuZ0lmPVwiY2FuUmVtb3ZlKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKSB8IGFzeW5jXCIgKGNsaWNrKT1cIm9uUmVtb3ZlKHVzZXIsIHNoYXJlZENhc2UpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiIGhyZWY9XCIjXCI+e3snUmVtb3ZlJyB8IHJweFRyYW5zbGF0ZX19IDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3sgdXNlci5maXJzdE5hbWUgKyAnICcgKyB1c2VyLmxhc3ROYW1lIH19IHt7J2Zyb20gY2FzZScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L2E+XHJcbiAgICAgICAgICAgIDxhICpuZ0lmPVwiY2FuQ2FuY2VsKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKSB8IGFzeW5jXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKHVzZXIsIHNoYXJlZENhc2UpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiIGhyZWY9XCIjXCI+e3snQ2FuY2VsJyB8IHJweFRyYW5zbGF0ZX19IDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snYWRkaW5nJyB8IHJweFRyYW5zbGF0ZX19IHt7IHVzZXIuZmlyc3ROYW1lICsgJyAnICsgdXNlci5sYXN0TmFtZSB9fSB7eyd0byBjYXNlJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvYT5cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzVG9CZVJlbW92ZWQoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpIHwgYXN5bmNcIiBjbGFzcz1cImhtY3RzLWJhZGdlIGhtY3RzLWJhZGdlLS1yZWRcIj57eydUbyBiZSByZW1vdmVkJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzVG9CZUFkZGVkKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKSB8IGFzeW5jXCIgY2xhc3M9XCJobWN0cy1iYWRnZVwiPnt7J1RvIGJlIGFkZGVkJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L3Rib2R5PlxyXG4gICAgPC90YWJsZT5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
381
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdGVkLWNhc2Uvc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdGVkLWNhc2Uvc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFekcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7O0lDQ2pHLGtDQUd5RDtJQUF2RCxxTEFBUyxvQ0FBc0IsS0FBQztJQUNoQyxZQUNGOztJQUFBLGlCQUFTOzs7SUFKUCwwRUFBNEM7SUFHNUMsY0FDRjtJQURFLHNFQUNGOzs7SUFjQSxBQURGLCtCQUE0RCxlQUN3QjtJQUNoRixZQUNGOztJQUNGLEFBREUsaUJBQU8sRUFDSDs7O0lBSEUsY0FBOEM7SUFBOUMsNEVBQThDO0lBQ2xELGNBQ0Y7SUFERSw0SEFDRjs7O0lBR0EsQUFERiwrQkFBNEQsZUFDMEI7SUFDbEYsWUFDRjs7SUFDRixBQURFLGlCQUFPLEVBQ0g7OztJQUhFLGNBQWdEO0lBQWhELDhFQUFnRDtJQUNwRCxjQUNGO0lBREUsK0dBQ0Y7Ozs7SUFnQk0sNkJBQXNIO0lBQWhFLHdPQUFTLDJDQUEwQixLQUFDO0lBQTRCLFlBQTRCOztJQUFBLGdDQUFvQztJQUFBLFlBQXlFOztJQUFPLEFBQVAsaUJBQU8sRUFBSTs7O0lBQXBKLGNBQTRCO0lB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LDRCQUE4RDtZQUdwRSxBQURFLEFBREUsQUFEZ0UsaUJBQVMsRUFDbkUsRUFDRixFQUNGO1lBQ04sZ0NBQ3lGO1lBV3ZGLEFBTEEsQUFMQSx5RUFBNEQsNERBS0Esa0VBS0g7WUF5QjdELEFBREUsaUJBQU0sRUFDRjs7WUE1REQsOEVBQW1EO1lBRzlDLGVBQXFDO1lBQXJDLGdFQUFxQztZQUEwQixjQUF5QztZQUF6QyxxRUFBeUM7WUFDeEcsZUFBa0M7WUFBbEMsNkRBQWtDO1lBQThCLGNBQXNDO1lBQXRDLGtFQUFzQztZQUdqRyxlQUFtQjtZQUFuQix3Q0FBbUI7WUFTSixlQUFrRTtZQUFsRSw2RkFBa0U7WUFFM0Qsb0VBQTZDOztZQUszRSxlQUFrRTtZQUFsRSw2RkFBa0U7O1lBRXhDLGNBQTZCO1lBQTdCLGtEQUE2QjtZQUs3QixjQUE2QjtZQUE3QixrREFBNkI7WUFLOUIsY0FBMkI7WUFBM0IsZ0RBQTJCOzs7aUZEdEI5QyxxQkFBcUI7Y0FMakMsU0FBUzsyQkFDRSxzQkFBc0I7d0RBTWhCLFVBQVU7a0JBQXpCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UsTUFBTTtrQkFBckIsS0FBSztZQUNVLDBCQUEwQjtrQkFBekMsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFFVyxRQUFRO2tCQUF4QixNQUFNO1lBQ1UsZ0JBQWdCO2tCQUFoQyxNQUFNOztrRkFUSSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2hhcmVkQ2FzZSB9IGZyb20gJy4uLy4uL21vZGVscy9jYXNlLXNoYXJlLm1vZGVsJztcbmltcG9ydCB7IFVzZXJEZXRhaWxzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXItZGV0YWlscy5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlU2hhcmluZ1N0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nhc2Utc2hhcmluZy1zdGF0ZS9jYXNlLXNoYXJpbmctc3RhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1zZWxlY3RlZC1jYXNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGVkLWNhc2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3RlZC1jYXNlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0ZWRDYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaGFyZWRDYXNlOiBTaGFyZWRDYXNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRVc2VyOiBVc2VyRGV0YWlscztcbiAgQElucHV0KCkgcHVibGljIG9wZW5lZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgcmVtb3ZlVXNlckZyb21DYXNlVG9nZ2xlT246IGJvb2xlYW47XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlQ291bnQ6IG51bWJlcjtcblxuICBAT3V0cHV0KCkgcHVibGljIHVuc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxTaGFyZWRDYXNlPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHN5bmNocm9uaXplU3RvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwdWJsaWMgc2hhcmVDYXNlczogU2hhcmVkQ2FzZVtdO1xuICBwdWJsaWMgc2hhcmVDYXNlcyQ6IE9ic2VydmFibGU8U2hhcmVkQ2FzZVtdPjtcblxuICBwdWJsaWMgY29tYmluZWRTb3J0ZWRTaGFyZXM6IFVzZXJEZXRhaWxzW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IENhc2VTaGFyaW5nU3RhdGVTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zaGFyZUNhc2VzJCA9IHRoaXMuc3RhdGVTZXJ2aWNlLnN0YXRlO1xuICAgIHRoaXMuc2hhcmVDYXNlcyQuc3Vic2NyaWJlKHNoYXJlQ2FzZXMgPT4gdGhpcy5zaGFyZUNhc2VzID0gc2hhcmVDYXNlcyk7XG5cbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuc2hhcmVkQ2FzZSkge1xuICAgICAgY29uc3Qgc2hhcmVkV2l0aCA9IHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoID8gdGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGggOiBbXTtcbiAgICAgIGNvbnN0IHBlbmRpbmdTaGFyZXMgPSB0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA/IHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzIDogW107XG4gICAgICB0aGlzLmNvbWJpbmVkU29ydGVkU2hhcmVzID0gdGhpcy5jb21iaW5lQW5kU29ydFNoYXJlcyhzaGFyZWRXaXRoLCBwZW5kaW5nU2hhcmVzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25EZXNlbGVjdChjOiBTaGFyZWRDYXNlKTogdm9pZCB7XG4gICAgdGhpcy51bnNlbGVjdC5lbWl0KGMpO1xuICB9XG5cbiAgcHVibGljIHRyYWNrQnlVc2VySWQodXNlcjogVXNlckRldGFpbHMpOiBzdHJpbmcge1xuICAgIHJldHVybiB1c2VyLmlkYW1JZDtcbiAgfVxuXG4gIHB1YmxpYyBjYW5SZW1vdmUoY2FzZUlkOiBzdHJpbmcsIHVzZXI6IFVzZXJEZXRhaWxzKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVDYXNlcyQucGlwZShtYXAoY2FzZXMgPT4ge1xuICAgICAgaWYgKHRoaXMucmVtb3ZlVXNlckZyb21DYXNlVG9nZ2xlT24pIHtcbiAgICAgICAgZm9yIChjb25zdCBhQ2FzZSBvZiBjYXNlcykge1xuICAgICAgICAgIGlmIChhQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICAgICAgaWYgKGFDYXNlLnBlbmRpbmdVbnNoYXJlcyAmJiBhQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGFDYXNlLnNoYXJlZFdpdGggJiYgYUNhc2Uuc2hhcmVkV2l0aC5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgY2FuQ2FuY2VsKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNoYXJlQ2FzZXMkLnBpcGUobWFwKGNhc2VzID0+IHtcbiAgICAgIGZvciAoY29uc3QgYUNhc2Ugb2YgY2FzZXMpIHtcbiAgICAgICAgaWYgKGFDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgICAgaWYgKGFDYXNlLnBlbmRpbmdTaGFyZXMgJiYgYUNhc2UucGVuZGluZ1NoYXJlcy5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChhQ2FzZS5wZW5kaW5nVW5zaGFyZXMgJiYgYUNhc2UucGVuZGluZ1Vuc2hhcmVzLnNvbWUodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIGlzVG9CZVJlbW92ZWQoY2FzZUlkOiBzdHJpbmcsIHVzZXI6IFVzZXJEZXRhaWxzKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVDYXNlcyQucGlwZShtYXAoY2FzZXMgPT4ge1xuICAgICAgZm9yIChjb25zdCBhQ2FzZSBvZiBjYXNlcykge1xuICAgICAgICBpZiAoYUNhc2UuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICByZXR1cm4gYUNhc2UucGVuZGluZ1Vuc2hhcmVzICYmIGFDYXNlLnBlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1RvQmVBZGRlZChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZUNhc2VzJC5waXBlKG1hcChjYXNlcyA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGFDYXNlIG9mIGNhc2VzKSB7XG4gICAgICAgIGlmIChhQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICAgIHJldHVybiBhQ2FzZS5wZW5kaW5nU2hhcmVzICYmIGFDYXNlLnBlbmRpbmdTaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgb25SZW1vdmUodXNlcjogVXNlckRldGFpbHMsIHNoYXJlZENhc2U6IFNoYXJlZENhc2UpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5yZXF1ZXN0VW5zaGFyZSh1c2VyLCBzaGFyZWRDYXNlLmNhc2VJZCk7XG4gICAgdGhpcy5zeW5jaHJvbml6ZVN0b3JlLmVtaXQodGhpcy5zaGFyZUNhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNhbmNlbCh1c2VyOiBVc2VyRGV0YWlscywgc2hhcmVkQ2FzZTogU2hhcmVkQ2FzZSk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnJlcXVlc3RDYW5jZWwoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpO1xuICAgIHRoaXMuc3luY2hyb25pemVTdG9yZS5lbWl0KHRoaXMuc2hhcmVDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgc2hvd05vVXNlcnNBY2Nlc3NJbmZvKCk6IGJvb2xlYW4ge1xuICAgIC8vIEEgdXNlciBpcyBhZGRlZCB0byBhIGNhc2VcbiAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQSBjYXNlIGhhcyAwIHVzZXJzIHdpdGggYWNjZXNzIHRvIGl0XG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBBY2Nlc3MgdG8gdGhlIGxhc3QgdXNlciBpcyByZW1vdmVkXG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoICYmIHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLmxlbmd0aCA+IDBcbiAgICAgICAgJiYgdGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgubGVuZ3RoID09PSB0aGlzLnNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHNob3dVc2VySGFzQWNjZXNzSW5mbygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc2hvd05vVXNlcnNBY2Nlc3NJbmZvKCk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1VzZXJBY2Nlc3NUYWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgY29tYmluZUFuZFNvcnRTaGFyZXMoc2hhcmVkV2l0aDogVXNlckRldGFpbHNbXSwgcGVuZGluZ1NoYXJlczogVXNlckRldGFpbHNbXSk6IFVzZXJEZXRhaWxzW10ge1xuICAgIHJldHVybiBbXG4gICAgICAuLi5zaGFyZWRXaXRoLFxuICAgICAgLi4ucGVuZGluZ1NoYXJlc1xuICAgIF0uc29ydCgodXNlcjEsIHVzZXIyKSA9PiB7XG4gICAgICByZXR1cm4gdXNlcjEuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPiB1c2VyMi5maXJzdE5hbWUudG9Mb3dlckNhc2UoKSA/IDEgOiAodXNlcjIuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPiB1c2VyMS5maXJzdE5hbWUudG9Mb3dlckNhc2UoKSA/IC0xIDogMCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXNlcklkU2V0dGVyKGlzUGVuZGluZzogYm9vbGVhbiwgaWQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGlzUGVuZGluZyA/IGBwZW5kaW5nU2hhcmVzLSR7aWR9YCA6IGAke2lkfWA7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRFbGVtZW50SWQoZWxlbWVudE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2VsZW1lbnROYW1lfS0ke3RoaXMuc2hhcmVkQ2FzZS5jYXNlSWR9YDtcbiAgfVxufVxuIiwiPGRpdiBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2dvdnVrLWFjY29yZGlvbl9fc2VjdGlvbicpfX1cIiBjbGFzcz1cImdvdnVrLWFjY29yZGlvbl9fc2VjdGlvblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvdyBnb3Z1ay1jYXNlLWhlYWRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLXRocmVlLXF1YXJ0ZXJzXCI+XHJcbiAgICAgIDxoMyBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2Nhc2UtdGl0bGUnKX19XCIgY2xhc3M9XCJnb3Z1ay1jYXNlLXRpdGxlXCI+e3sgc2hhcmVkQ2FzZS5jYXNlVGl0bGUgfCBycHhUcmFuc2xhdGUgfX08L2gzPlxyXG4gICAgICA8aDMgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdjYXNlLWlkJyl9fVwiIGNsYXNzPVwiZ292dWstY2FzZS1zdWItdGl0bGVcIj57eyBzaGFyZWRDYXNlLmNhc2VJZCB8IHJweFRyYW5zbGF0ZSB9fTwvaDM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi10ZW4tcGVyY2VudFwiPlxyXG4gICAgICA8YnV0dG9uICpuZ0lmPVwiY2FzZUNvdW50ID4gMVwiXHJcbiAgICAgICAgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdidG4tZGVzZWxlY3QtY2FzZScpfX1cIlxyXG4gICAgICAgIGNsYXNzPVwiZ292dWstYnV0dG9uIGhtY3RzLWJ1dHRvbi0tc2Vjb25kYXJ5XCJcclxuICAgICAgICAoY2xpY2spPVwib25EZXNlbGVjdChzaGFyZWRDYXNlKVwiIHRpdGxlPVwiRGVzZWxlY3QgY2FzZVwiPlxyXG4gICAgICAgIHt7J0Rlc2VsZWN0IGNhc2UnIHwgcnB4VHJhbnNsYXRlfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyIGdvdnVrLWdyaWQtY29sdW1uLXRlbi1wZXJjZW50XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZ1wiPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnYWNjb3JkaW9uLXdpdGgtc3VtbWFyeS1zZWN0aW9ucy1oZWFkaW5nJyl9fVwiXHJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCInYWNjb3JkaW9uLXdpdGgtc3VtbWFyeS1zZWN0aW9ucy1jb250ZW50JyArIGJ1aWxkRWxlbWVudElkKCdhY2NvcmRpb24td2l0aC1zdW1tYXJ5LXNlY3Rpb25zLWhlYWRpbmcnKVwiIGNsYXNzPVwiZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiIFt0aXRsZV09XCInRXhwYW5kIG9yIENvbGxhcHNlJyB8IHJweFRyYW5zbGF0ZVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstYWNjb3JkaW9uX19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdhY2NvcmRpb24td2l0aC1zdW1tYXJ5LXNlY3Rpb25zLWNvbnRlbnQnKX19XCIgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tY29udGVudFwiXHJcbiAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYnVpbGRFbGVtZW50SWQoJ2FjY29yZGlvbi13aXRoLXN1bW1hcnktc2VjdGlvbnMtaGVhZGluZycpXCIgPlxyXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCIgKm5nSWY9XCJzaG93Tm9Vc2Vyc0FjY2Vzc0luZm8oKVwiPlxyXG4gICAgICA8c3BhbiBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2FjY2Vzcy1pbmZvLW5vLXVzZXInKX19XCIgY2xhc3M9XCJnb3Z1ay1kaXYtYWxpZ24tbGVmdFwiPlxyXG4gICAgICAgIHt7J05vIHVzZXJzIGZyb20geW91ciBvcmdhbmlzYXRpb24gY3VycmVudGx5IGhhdmUgYWNjZXNzIHRvIHRoaXMgY2FzZS4nIHwgcnB4VHJhbnNsYXRlfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIiAqbmdJZj1cInNob3dVc2VySGFzQWNjZXNzSW5mbygpXCI+XHJcbiAgICAgIDxzcGFuIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnYWNjZXNzLWluZm8taGFzLXVzZXJzJyl9fVwiIGNsYXNzPVwiZ292dWstZGl2LWFsaWduLWxlZnRcIj5cclxuICAgICAgICB7eydVc2VycyBmcm9tIHlvdXIgb3JnYW5pc2F0aW9uIHdpdGggYWNjZXNzIHRvIHRoaXMgY2FzZS4nIHwgcnB4VHJhbnNsYXRlfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiICpuZ0lmPVwic2hvd1VzZXJBY2Nlc3NUYWJsZSgpXCI+XHJcbiAgICAgIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCI+XHJcbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cclxuICAgICAgICA8dGggaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCduYW1lLWhlYWRpbmcnKX19XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGdvdnVrLXRhYmxlLWNvbHVtbi1oZWFkZXJcIiBzY29wZT1cImNvbFwiPnt7J05hbWUnIHwgcnB4VHJhbnNsYXRlfX08L3RoPlxyXG4gICAgICAgIDx0aCBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2VtYWlsLWhlYWRpbmcnKX19XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGdvdnVrLXRhYmxlLWNvbHVtbi1oZWFkZXJcIiBzY29wZT1cImNvbFwiPnt7J0VtYWlsIGFkZHJlc3MnIHwgcnB4VHJhbnNsYXRlfX08L3RoPlxyXG4gICAgICAgIDx0aCBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2FjdGlvbi1oZWFkaW5nJyl9fVwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBnb3Z1ay10YWJsZS1jb2x1bW4tYWN0aW9uc1wiIHNjb3BlPVwiY29sXCI+e3snQWN0aW9ucycgfCBycHhUcmFuc2xhdGV9fTwvdGg+XHJcbiAgICAgICAgPHRoIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnbGFiZWwtaGVhZGluZycpfX1cIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgZ292dWstdGFibGUtY29sdW1uLWxhYmVsXCIgc2NvcGU9XCJjb2xcIj57eyAnU3RhdHVzJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGhlYWQ+XHJcbiAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XHJcbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0Zvcj1cImxldCB1c2VyIG9mIGNvbWJpbmVkU29ydGVkU2hhcmVzOyBpbmRleCBhcyBpZHg7IHRyYWNrQnk6IHRyYWNrQnlVc2VySWRcIj5cclxuICAgICAgICAgIDx0ZCBpZD1cInVzZXItZnVsbC1uYW1lLXt7IHVzZXJJZFNldHRlcihjYW5DYW5jZWwoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpIHwgYXN5bmMsIGlkeCkgfX1cIiBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgdXNlci5maXJzdE5hbWUgKyAnICcgKyB1c2VyLmxhc3ROYW1lIH19PC90ZD5cclxuICAgICAgICAgIDx0ZCBpZD1cInVzZXItZW1haWwte3sgdXNlcklkU2V0dGVyKGNhbkNhbmNlbChzaGFyZWRDYXNlLmNhc2VJZCwgdXNlcikgfCBhc3luYywgaWR4KSB9fVwiIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyB1c2VyLmVtYWlsIH19PC90ZD5cclxuICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XHJcbiAgICAgICAgICAgIDxhICpuZ0lmPVwiY2FuUmVtb3ZlKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKSB8IGFzeW5jXCIgKGNsaWNrKT1cIm9uUmVtb3ZlKHVzZXIsIHNoYXJlZENhc2UpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIj57eydSZW1vdmUnIHwgcnB4VHJhbnNsYXRlfX0gPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eyB1c2VyLmZpcnN0TmFtZSArICcgJyArIHVzZXIubGFzdE5hbWUgfX0ge3snZnJvbSBjYXNlJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvYT5cclxuICAgICAgICAgICAgPGEgKm5nSWY9XCJjYW5DYW5jZWwoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpIHwgYXN5bmNcIiAoY2xpY2spPVwib25DYW5jZWwodXNlciwgc2hhcmVkQ2FzZSlcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiPnt7J0NhbmNlbCcgfCBycHhUcmFuc2xhdGV9fSA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J2FkZGluZycgfCBycHhUcmFuc2xhdGV9fSB7eyB1c2VyLmZpcnN0TmFtZSArICcgJyArIHVzZXIubGFzdE5hbWUgfX0ge3sndG8gY2FzZScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L2E+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc1RvQmVSZW1vdmVkKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKSB8IGFzeW5jXCIgY2xhc3M9XCJobWN0cy1iYWRnZSBobWN0cy1iYWRnZS0tcmVkXCI+e3snVG8gYmUgcmVtb3ZlZCcgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc1RvQmVBZGRlZChzaGFyZWRDYXNlLmNhc2VJZCwgdXNlcikgfCBhc3luY1wiIGNsYXNzPVwiaG1jdHMtYmFkZ2VcIj57eydUbyBiZSBhZGRlZCcgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgPC90Ym9keT5cclxuICAgIDwvdGFibGU+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=