@hmcts/rpx-xui-common-lib 1.8.7-fix-wrong-services → 1.8.8-angular-upgrade-r4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/bundles/hmcts-rpx-xui-common-lib.umd.js +919 -201
  2. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
  3. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
  4. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-rpx-xui-common-lib.js +32 -29
  6. package/esm2015/lib/components/find-location/find-location.component.js +8 -4
  7. package/esm2015/lib/components/find-service/find-service.component.js +2 -2
  8. package/esm2015/lib/components/find-task-name/find-task-name.component.js +228 -0
  9. package/esm2015/lib/components/generic-filter/generic-filter-utils.js +2 -2
  10. package/esm2015/lib/components/generic-filter/generic-filter.component.js +361 -15
  11. package/esm2015/lib/components/search-location/search-location.component.js +3 -3
  12. package/esm2015/lib/components/search-service/search-service.component.js +18 -6
  13. package/esm2015/lib/exui-common-lib.module.js +12 -3
  14. package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +80 -6
  15. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +3 -3
  16. package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +3 -2
  17. package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +1 -1
  18. package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +2 -2
  19. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.js +22 -0
  20. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +19 -14
  21. package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +2 -2
  22. package/esm2015/lib/gov-ui/components/index.js +2 -2
  23. package/esm2015/lib/gov-ui/components/public_api.js +2 -1
  24. package/esm2015/lib/gov-ui/index.js +2 -2
  25. package/esm2015/lib/gov-ui/models/checkboxes-model.js +6 -8
  26. package/esm2015/lib/gov-ui/models/gov-ui-config-model.js +5 -1
  27. package/esm2015/lib/gov-ui/models/public_api.js +1 -2
  28. package/esm2015/lib/gov-ui/models/radio-buttons.model.js +22 -0
  29. package/esm2015/lib/gov-ui/public_api.js +2 -2
  30. package/esm2015/lib/models/filter.model.js +63 -3
  31. package/esm2015/lib/models/index.js +3 -2
  32. package/esm2015/lib/models/person.model.js +2 -2
  33. package/esm2015/lib/models/task-name.model.js +16 -0
  34. package/esm2015/lib/pipes/capitalize.pipe.js +21 -0
  35. package/esm2015/lib/services/filter/filter.service.js +17 -3
  36. package/esm2015/lib/services/find-person/find-person.service.js +3 -3
  37. package/esm2015/lib/services/role-guard/role.guard.js +22 -15
  38. package/esm2015/lib/services/role-guard/role.service.js +13 -13
  39. package/esm2015/lib/services/storage/session-storage/session-storage.service.js +55 -0
  40. package/esm2015/lib/services/task-name/task-name.service.js +65 -0
  41. package/esm2015/public-api.js +3 -3
  42. package/esm5/hmcts-rpx-xui-common-lib.js +32 -29
  43. package/esm5/lib/components/find-location/find-location.component.js +8 -4
  44. package/esm5/lib/components/find-service/find-service.component.js +2 -2
  45. package/esm5/lib/components/find-task-name/find-task-name.component.js +243 -0
  46. package/esm5/lib/components/generic-filter/generic-filter-utils.js +2 -2
  47. package/esm5/lib/components/generic-filter/generic-filter.component.js +397 -14
  48. package/esm5/lib/components/search-location/search-location.component.js +3 -3
  49. package/esm5/lib/components/search-service/search-service.component.js +20 -7
  50. package/esm5/lib/exui-common-lib.module.js +10 -3
  51. package/esm5/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +100 -6
  52. package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +3 -3
  53. package/esm5/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +3 -2
  54. package/esm5/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +1 -1
  55. package/esm5/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +2 -2
  56. package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.js +22 -0
  57. package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +17 -13
  58. package/esm5/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +2 -2
  59. package/esm5/lib/gov-ui/components/index.js +2 -2
  60. package/esm5/lib/gov-ui/components/public_api.js +2 -1
  61. package/esm5/lib/gov-ui/index.js +2 -2
  62. package/esm5/lib/gov-ui/models/checkboxes-model.js +6 -8
  63. package/esm5/lib/gov-ui/models/gov-ui-config-model.js +5 -1
  64. package/esm5/lib/gov-ui/models/public_api.js +1 -2
  65. package/esm5/lib/gov-ui/models/radio-buttons.model.js +22 -0
  66. package/esm5/lib/gov-ui/public_api.js +2 -2
  67. package/esm5/lib/models/filter.model.js +63 -3
  68. package/esm5/lib/models/index.js +3 -2
  69. package/esm5/lib/models/person.model.js +2 -2
  70. package/esm5/lib/models/task-name.model.js +16 -0
  71. package/esm5/lib/pipes/capitalize.pipe.js +29 -0
  72. package/esm5/lib/services/filter/filter.service.js +21 -3
  73. package/esm5/lib/services/find-person/find-person.service.js +3 -3
  74. package/esm5/lib/services/role-guard/role.guard.js +22 -15
  75. package/esm5/lib/services/role-guard/role.service.js +13 -13
  76. package/esm5/lib/services/{session-storage → storage/session-storage}/session-storage.service.js +2 -2
  77. package/esm5/lib/services/task-name/task-name.service.js +70 -0
  78. package/esm5/public-api.js +3 -3
  79. package/fesm2015/hmcts-rpx-xui-common-lib.js +782 -115
  80. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
  81. package/fesm5/hmcts-rpx-xui-common-lib.js +908 -158
  82. package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
  83. package/hmcts-rpx-xui-common-lib.d.ts +30 -27
  84. package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
  85. package/lib/components/find-task-name/find-task-name.component.d.ts +41 -0
  86. package/lib/components/generic-filter/generic-filter-utils.d.ts +2 -5
  87. package/lib/components/generic-filter/generic-filter.component.d.ts +12 -2
  88. package/lib/components/search-location/search-location.component.d.ts +1 -1
  89. package/lib/components/search-service/search-service.component.d.ts +5 -2
  90. package/lib/exui-common-lib.module.d.ts +4 -3
  91. package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +14 -5
  92. package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +1 -2
  93. package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +1 -0
  94. package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +2 -2
  95. package/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.d.ts +7 -0
  96. package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +4 -2
  97. package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +3 -3
  98. package/lib/gov-ui/components/public_api.d.ts +1 -0
  99. package/lib/gov-ui/models/checkboxes-model.d.ts +4 -7
  100. package/lib/gov-ui/models/gov-ui-config-model.d.ts +2 -0
  101. package/lib/gov-ui/models/public_api.d.ts +0 -1
  102. package/lib/gov-ui/models/radio-buttons.model.d.ts +9 -0
  103. package/lib/models/filter.model.d.ts +29 -7
  104. package/lib/models/index.d.ts +1 -0
  105. package/lib/models/person.model.d.ts +1 -1
  106. package/lib/models/task-name.model.d.ts +4 -0
  107. package/lib/pipes/capitalize.pipe.d.ts +4 -0
  108. package/lib/services/filter/filter.service.d.ts +1 -0
  109. package/lib/services/find-person/find-person.service.d.ts +1 -1
  110. package/lib/services/role-guard/role.guard.d.ts +2 -1
  111. package/lib/services/role-guard/role.service.d.ts +3 -1
  112. package/lib/services/{session-storage → storage/session-storage}/session-storage.service.d.ts +0 -0
  113. package/lib/services/task-name/task-name.service.d.ts +14 -0
  114. package/package.json +1 -1
  115. package/esm2015/lib/gov-ui/models/banner-data-model.js +0 -16
  116. package/esm2015/lib/services/session-storage/session-storage.service.js +0 -55
  117. package/esm5/lib/gov-ui/models/banner-data-model.js +0 -16
  118. package/lib/gov-ui/models/banner-data-model.d.ts +0 -4
@@ -0,0 +1,243 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/components/find-task-name/find-task-name.component.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
7
+ import { FormControl, FormGroup } from '@angular/forms';
8
+ import { debounceTime, filter, mergeMap, tap } from 'rxjs/operators';
9
+ import { PersonRole } from '../../models';
10
+ import { TaskNameService } from '../../services/task-name/task-name.service';
11
+ var FindTaskNameComponent = /** @class */ (function () {
12
+ function FindTaskNameComponent(cd, taskService) {
13
+ this.cd = cd;
14
+ this.taskService = taskService;
15
+ this.taskNameSelected = new EventEmitter();
16
+ this.taskNameFieldChanged = new EventEmitter();
17
+ this.boldTitle = 'Find the task name';
18
+ this.subTitle = 'Type the name of the task name and select them.';
19
+ this.domain = PersonRole.ALL;
20
+ this.findTaskNameGroup = new FormGroup({});
21
+ this.submitted = true;
22
+ this.userIncluded = false;
23
+ this.placeholderContent = '';
24
+ this.isNoResultsShown = true;
25
+ this.showUpdatedColor = false;
26
+ this.selectedTaskNames = [];
27
+ this.errorMessage = 'You must select a name';
28
+ this.idValue = '';
29
+ this.services = ['IA'];
30
+ this.disabled = null;
31
+ this.showAutocomplete = false;
32
+ this.filteredOptions = [];
33
+ this.minSearchCharacters = 1;
34
+ this.searchTerm = '';
35
+ }
36
+ /**
37
+ * @return {?}
38
+ */
39
+ FindTaskNameComponent.prototype.ngOnDestroy = /**
40
+ * @return {?}
41
+ */
42
+ function () {
43
+ if (this.sub) {
44
+ this.sub.unsubscribe();
45
+ }
46
+ };
47
+ /**
48
+ * @return {?}
49
+ */
50
+ FindTaskNameComponent.prototype.ngOnChanges = /**
51
+ * @return {?}
52
+ */
53
+ function () {
54
+ var _this = this;
55
+ this.findTaskNameControl = new FormControl(this.selectedTaskName);
56
+ this.findTaskNameGroup.addControl('findTaskNameControl', this.findTaskNameControl);
57
+ this.sub = this.findTaskNameControl.valueChanges
58
+ .pipe(tap((/**
59
+ * @return {?}
60
+ */
61
+ function () { return _this.showAutocomplete = false; })), tap((/**
62
+ * @return {?}
63
+ */
64
+ function () { return _this.filteredOptions = []; })), tap((/**
65
+ * @param {?} term
66
+ * @return {?}
67
+ */
68
+ function (term) { return _this.searchTerm = term; })), debounceTime(300), tap((/**
69
+ * @param {?} searchTerm
70
+ * @return {?}
71
+ */
72
+ function (searchTerm) {
73
+ if (!searchTerm) {
74
+ _this.taskNameSelected.emit('');
75
+ }
76
+ return searchTerm;
77
+ })),
78
+ // tap((searchTerm) => typeof searchTerm === 'string' ? this.taskNameSelected.emit('null') : void 0),
79
+ filter((/**
80
+ * @param {?} searchTerm
81
+ * @return {?}
82
+ */
83
+ function (searchTerm) { return searchTerm && searchTerm.length >= _this.minSearchCharacters; })), mergeMap((/**
84
+ * @return {?}
85
+ */
86
+ function () { return _this.getTaskName(); }))).subscribe((/**
87
+ * @param {?} taskNameModel
88
+ * @return {?}
89
+ */
90
+ function (taskNameModel) {
91
+ _this.filteredOptions = taskNameModel.map((/**
92
+ * @param {?} task
93
+ * @return {?}
94
+ */
95
+ function (task) { return task.taskName; }));
96
+ if (_this.searchTerm) {
97
+ _this.filteredOptions = _this.filteredOptions.filter((/**
98
+ * @param {?} taskName
99
+ * @return {?}
100
+ */
101
+ function (taskName) { return taskName.toLocaleLowerCase().includes(_this.searchTerm.toLocaleLowerCase()); })).map((/**
102
+ * @param {?} taskName
103
+ * @return {?}
104
+ */
105
+ function (taskName) { return taskName; }));
106
+ }
107
+ _this.cd.detectChanges();
108
+ }));
109
+ };
110
+ /**
111
+ * @return {?}
112
+ */
113
+ FindTaskNameComponent.prototype.getTaskName = /**
114
+ * @return {?}
115
+ */
116
+ function () {
117
+ return this.taskService.getTaskName();
118
+ };
119
+ /**
120
+ * @param {?} selectedTaskName
121
+ * @return {?}
122
+ */
123
+ FindTaskNameComponent.prototype.onSelectionChange = /**
124
+ * @param {?} selectedTaskName
125
+ * @return {?}
126
+ */
127
+ function (selectedTaskName) {
128
+ if (selectedTaskName) {
129
+ this.taskNameSelected.emit(selectedTaskName);
130
+ this.findTaskNameControl.setValue(selectedTaskName);
131
+ }
132
+ };
133
+ /**
134
+ * @return {?}
135
+ */
136
+ FindTaskNameComponent.prototype.onInput = /**
137
+ * @return {?}
138
+ */
139
+ function () {
140
+ this.taskNameFieldChanged.emit();
141
+ };
142
+ FindTaskNameComponent.decorators = [
143
+ { type: Component, args: [{
144
+ selector: 'xuilib-find-task-name',
145
+ template: "<h1 class=\"govuk-heading-l\" *ngIf=\"title && title.length\">\n <span class=\"govuk-caption-l\">{{title}}</span>\n {{boldTitle}}\n</h1>\n<div class=\"govuk-form-group\" [formGroup]=\"findTaskNameGroup\"\n [ngClass]=\"{'form-group-error': findTaskNameGroup.get('findTaskNameControl')?.invalid && submitted}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"sub-title-hint\">\n <div id=\"sub-title-hint\" class=\"govuk-hint\" *ngIf=\"subTitle && subTitle.length\">\n {{subTitle}}\n </div>\n <span id=\"validation-error\" class=\"govuk-error-message\" *ngIf=\"findTaskNameGroup && findTaskNameGroup.errors\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{findTaskNameGroup.errors.error ? findTaskNameGroup.errors.error : errorMessage}}\n </span>\n <input id=\"inputSelectTaskName{{idValue}}\" type=\"text\" aria-label=\"select a task name\"\n formControlName=\"findTaskNameControl\"\n [matAutocomplete]=\"auto\"\n class=\"govuk-input govuk-!-width-one-third\"\n [placeholder]=\"placeholderContent\"\n [attr.disabled]=\"disabled\"\n (input)=\"onInput()\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onSelectionChange($event.option.value)\">\n <mat-option *ngFor=\"let option of filteredOptions\"\n [value]=\"option\"\n [ngClass]=\"{'hide-autocomplete': !showAutocomplete, 'select-option': showUpdatedColor}\">\n {{ option }}\n </mat-option>\n <mat-option [ngClass]=\"{'select-option': showUpdatedColor}\" *ngIf=\"isNoResultsShown && !filteredOptions.length && showAutocomplete\">No results found</mat-option>\n </mat-autocomplete>\n </fieldset>\n</div>\n",
146
+ styles: [""]
147
+ }] }
148
+ ];
149
+ /** @nocollapse */
150
+ FindTaskNameComponent.ctorParameters = function () { return [
151
+ { type: ChangeDetectorRef },
152
+ { type: TaskNameService }
153
+ ]; };
154
+ FindTaskNameComponent.propDecorators = {
155
+ taskNameSelected: [{ type: Output }],
156
+ taskNameFieldChanged: [{ type: Output }],
157
+ title: [{ type: Input }],
158
+ boldTitle: [{ type: Input }],
159
+ subTitle: [{ type: Input }],
160
+ domain: [{ type: Input }],
161
+ findTaskNameGroup: [{ type: Input }],
162
+ selectedTaskName: [{ type: Input }],
163
+ submitted: [{ type: Input }],
164
+ userIncluded: [{ type: Input }],
165
+ assignedUser: [{ type: Input }],
166
+ placeholderContent: [{ type: Input }],
167
+ isNoResultsShown: [{ type: Input }],
168
+ showUpdatedColor: [{ type: Input }],
169
+ selectedTaskNames: [{ type: Input }],
170
+ errorMessage: [{ type: Input }],
171
+ idValue: [{ type: Input }],
172
+ services: [{ type: Input }],
173
+ disabled: [{ type: Input }]
174
+ };
175
+ return FindTaskNameComponent;
176
+ }());
177
+ export { FindTaskNameComponent };
178
+ if (false) {
179
+ /** @type {?} */
180
+ FindTaskNameComponent.prototype.taskNameSelected;
181
+ /** @type {?} */
182
+ FindTaskNameComponent.prototype.taskNameFieldChanged;
183
+ /** @type {?} */
184
+ FindTaskNameComponent.prototype.title;
185
+ /** @type {?} */
186
+ FindTaskNameComponent.prototype.boldTitle;
187
+ /** @type {?} */
188
+ FindTaskNameComponent.prototype.subTitle;
189
+ /** @type {?} */
190
+ FindTaskNameComponent.prototype.domain;
191
+ /** @type {?} */
192
+ FindTaskNameComponent.prototype.findTaskNameGroup;
193
+ /** @type {?} */
194
+ FindTaskNameComponent.prototype.selectedTaskName;
195
+ /** @type {?} */
196
+ FindTaskNameComponent.prototype.submitted;
197
+ /** @type {?} */
198
+ FindTaskNameComponent.prototype.userIncluded;
199
+ /** @type {?} */
200
+ FindTaskNameComponent.prototype.assignedUser;
201
+ /** @type {?} */
202
+ FindTaskNameComponent.prototype.placeholderContent;
203
+ /** @type {?} */
204
+ FindTaskNameComponent.prototype.isNoResultsShown;
205
+ /** @type {?} */
206
+ FindTaskNameComponent.prototype.showUpdatedColor;
207
+ /** @type {?} */
208
+ FindTaskNameComponent.prototype.selectedTaskNames;
209
+ /** @type {?} */
210
+ FindTaskNameComponent.prototype.errorMessage;
211
+ /** @type {?} */
212
+ FindTaskNameComponent.prototype.idValue;
213
+ /** @type {?} */
214
+ FindTaskNameComponent.prototype.services;
215
+ /** @type {?} */
216
+ FindTaskNameComponent.prototype.disabled;
217
+ /** @type {?} */
218
+ FindTaskNameComponent.prototype.showAutocomplete;
219
+ /** @type {?} */
220
+ FindTaskNameComponent.prototype.findTaskNameControl;
221
+ /** @type {?} */
222
+ FindTaskNameComponent.prototype.filteredOptions;
223
+ /** @type {?} */
224
+ FindTaskNameComponent.prototype.minSearchCharacters;
225
+ /**
226
+ * @type {?}
227
+ * @private
228
+ */
229
+ FindTaskNameComponent.prototype.sub;
230
+ /** @type {?} */
231
+ FindTaskNameComponent.prototype.searchTerm;
232
+ /**
233
+ * @type {?}
234
+ * @private
235
+ */
236
+ FindTaskNameComponent.prototype.cd;
237
+ /**
238
+ * @type {?}
239
+ * @private
240
+ */
241
+ FindTaskNameComponent.prototype.taskService;
242
+ }
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC10YXNrLW5hbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2ZpbmQtdGFzay1uYW1lL2ZpbmQtdGFzay1uYW1lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBd0IsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRTdFO0lBaUNFLCtCQUE2QixFQUFxQixFQUFtQixXQUE0QjtRQUFwRSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUFtQixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUExQmhGLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDOUMseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVqRCxjQUFTLEdBQUcsb0JBQW9CLENBQUM7UUFDakMsYUFBUSxHQUFHLGlEQUFpRCxDQUFDO1FBQzdELFdBQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQ3hCLHNCQUFpQixHQUFjLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWpELGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsaUJBQVksR0FBYSxLQUFLLENBQUM7UUFFL0IsdUJBQWtCLEdBQVcsRUFBRSxDQUFDO1FBQ2hDLHFCQUFnQixHQUFZLElB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Q3hDLGdEQUFzQzs7SUFDdEMsb0RBQXdDOzs7OztJQUN4QyxvQ0FBMEI7O0lBQzFCLDJDQUErQjs7Ozs7SUFFbkIsbUNBQXNDOzs7OztJQUFFLDRDQUE2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Db250cm9sLCBGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1lcmdlTWFwLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7UGVyc29uUm9sZX0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFRhc2tOYW1lTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGFzay1uYW1lLm1vZGVsJztcbmltcG9ydCB7IFRhc2tOYW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Rhc2stbmFtZS90YXNrLW5hbWUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1maW5kLXRhc2stbmFtZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9maW5kLXRhc2stbmFtZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbmQtdGFzay1uYW1lLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuXG5leHBvcnQgY2xhc3MgRmluZFRhc2tOYW1lQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBAT3V0cHV0KCkgcHVibGljIHRhc2tOYW1lU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyB0YXNrTmFtZUZpZWxkQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQElucHV0KCkgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBib2xkVGl0bGUgPSAnRmluZCB0aGUgdGFzayBuYW1lJztcbiAgQElucHV0KCkgcHVibGljIHN1YlRpdGxlID0gJ1R5cGUgdGhlIG5hbWUgb2YgdGhlIHRhc2sgbmFtZSBhbmQgc2VsZWN0IHRoZW0uJztcbiAgQElucHV0KCkgcHVibGljIGRvbWFpbiA9IFBlcnNvblJvbGUuQUxMO1xuICBASW5wdXQoKSBwdWJsaWMgZmluZFRhc2tOYW1lR3JvdXA6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRUYXNrTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgc3VibWl0dGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHVzZXJJbmNsdWRlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGFzc2lnbmVkVXNlcj86IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyQ29udGVudDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpc05vUmVzdWx0c1Nob3duOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHNob3dVcGRhdGVkQ29sb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkVGFza05hbWVzOiBUYXNrTmFtZU1vZGVsW10gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIGVycm9yTWVzc2FnZTogc3RyaW5nID0gJ1lvdSBtdXN0IHNlbGVjdCBhIG5hbWUnO1xuICBASW5wdXQoKSBwdWJsaWMgaWRWYWx1ZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXJ2aWNlczogc3RyaW5nW10gPSBbJ0lBJ107XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IG51bGw7XG4gIHB1YmxpYyBzaG93QXV0b2NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBmaW5kVGFza05hbWVDb250cm9sOiBGb3JtQ29udHJvbDtcbiAgcHVibGljIGZpbHRlcmVkT3B0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIHJlYWRvbmx5IG1pblNlYXJjaENoYXJhY3RlcnMgPSAxO1xuICBwcml2YXRlIHN1YjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgc2VhcmNoVGVybTogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgcmVhZG9ubHkgdGFza1NlcnZpY2U6IFRhc2tOYW1lU2VydmljZSkge1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnN1Yikge1xuICAgICAgdGhpcy5zdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5maW5kVGFza05hbWVDb250cm9sID0gbmV3IEZvcm1Db250cm9sKHRoaXMuc2VsZWN0ZWRUYXNrTmFtZSk7XG4gICAgdGhpcy5maW5kVGFza05hbWVHcm91cC5hZGRDb250cm9sKCdmaW5kVGFza05hbWVDb250cm9sJywgdGhpcy5maW5kVGFza05hbWVDb250cm9sKTtcbiAgICB0aGlzLnN1YiA9IHRoaXMuZmluZFRhc2tOYW1lQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAucGlwZShcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnNob3dBdXRvY29tcGxldGUgPSBmYWxzZSksXG4gICAgICB0YXAoKCkgPT4gdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSBbXSksXG4gICAgICB0YXAoKHRlcm0pID0+IHRoaXMuc2VhcmNoVGVybSA9IHRlcm0pLFxuICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICB0YXAoKHNlYXJjaFRlcm0pID0+IHtcbiAgICAgICAgaWYgKCFzZWFyY2hUZXJtKSB7XG4gICAgICAgICAgdGhpcy50YXNrTmFtZVNlbGVjdGVkLmVtaXQoJycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzZWFyY2hUZXJtO1xuICAgICAgfSksXG4gICAgICAvLyB0YXAoKHNlYXJjaFRlcm0pID0+IHR5cGVvZiBzZWFyY2hUZXJtID09PSAnc3RyaW5nJyA/IHRoaXMudGFza05hbWVTZWxlY3RlZC5lbWl0KCdudWxsJykgOiB2b2lkIDApLFxuICAgICAgZmlsdGVyKChzZWFyY2hUZXJtOiBzdHJpbmcpID0+IHNlYXJjaFRlcm0gJiYgc2VhcmNoVGVybS5sZW5ndGggPj0gdGhpcy5taW5TZWFyY2hDaGFyYWN0ZXJzKSxcbiAgICAgIG1lcmdlTWFwKCgpID0+IHRoaXMuZ2V0VGFza05hbWUoKSksXG4gICAgKS5zdWJzY3JpYmUoKHRhc2tOYW1lTW9kZWw6IFRhc2tOYW1lTW9kZWxbXSkgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0YXNrTmFtZU1vZGVsLm1hcCh0YXNrID0+IHRhc2sudGFza05hbWUpO1xuICAgICAgaWYgKHRoaXMuc2VhcmNoVGVybSkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuZmlsdGVyZWRPcHRpb25zLmZpbHRlcigodGFza05hbWUpID0+IHRhc2tOYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hUZXJtLnRvTG9jYWxlTG93ZXJDYXNlKCkpKS5tYXAodGFza05hbWUgPT4gdGFza05hbWUpO1xuICAgICAgfVxuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VGFza05hbWUoKTogT2JzZXJ2YWJsZTxUYXNrTmFtZU1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy50YXNrU2VydmljZS5nZXRUYXNrTmFtZSgpO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGVkVGFza05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChzZWxlY3RlZFRhc2tOYW1lKSB7XG4gICAgICB0aGlzLnRhc2tOYW1lU2VsZWN0ZWQuZW1pdChzZWxlY3RlZFRhc2tOYW1lKTtcbiAgICAgIHRoaXMuZmluZFRhc2tOYW1lQ29udHJvbC5zZXRWYWx1ZShzZWxlY3RlZFRhc2tOYW1lKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25JbnB1dCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhc2tOYW1lRmllbGRDaGFuZ2VkLmVtaXQoKTtcbiAgfVxufVxuIl19
@@ -21,7 +21,7 @@ export function minSelectedValidator(min) {
21
21
  * @param {?} value
22
22
  * @return {?}
23
23
  */
24
- function (value) { return value; })).length >= min ? null : { minLength: true };
24
+ function (value) { return value; })).length >= min ? null : { minlength: true };
25
25
  });
26
26
  }
27
27
  /**
@@ -63,4 +63,4 @@ export function getValues(options, values) {
63
63
  return acc;
64
64
  }), []);
65
65
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1maWx0ZXItdXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZ2VuZXJpYy1maWx0ZXIvZ2VuZXJpYy1maWx0ZXItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFQSxNQUFNLFVBQVUsb0JBQW9CLENBQUksR0FBVztJQUNqRDs7OztJQUFPLFVBQUMsT0FBd0I7O1lBQ3hCLE1BQU0sR0FBRyxtQkFBQSxPQUFPLENBQUMsS0FBSyxFQUFPO1FBQ25DLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTTs7OztRQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxFQUFMLENBQUssRUFBQyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUM7SUFDakcsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFJLEdBQVc7SUFDakQ7Ozs7SUFBTyxVQUFDLE9BQXdCOztZQUN4QixNQUFNLEdBQUcsbUJBQUEsT0FBTyxDQUFDLEtBQUssRUFBTztRQUNuQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU07Ozs7UUFBQyxVQUFBLEtBQUssSUFBSSxPQUFBLEtBQUssRUFBTCxDQUFLLEVBQUMsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxDQUFDO0lBQ2pHLENBQUMsRUFBQztBQUNKLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsT0FBMkQsRUFBRSxNQUFhO0lBQ2xHLE9BQU8sT0FBTyxDQUFDLE1BQU07Ozs7OztJQUFDLFVBQUMsR0FBYSxFQUFFLE1BQXNDLEVBQUUsS0FBYTtRQUN6RixJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQix3QkFBVyxHQUFHLEdBQUUsTUFBTSxDQUFDLEdBQUcsR0FBRTtTQUM3QjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxHQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gbWluU2VsZWN0ZWRWYWxpZGF0b3I8VD4obWluOiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGNvbnN0IHZhbHVlcyA9IGNvbnRyb2wudmFsdWUgYXMgVFtdO1xuICAgIHJldHVybiB2YWx1ZXMubGVuZ3RoICYmIHZhbHVlcy5maWx0ZXIodmFsdWUgPT4gdmFsdWUpLmxlbmd0aCA+PSBtaW4gPyBudWxsIDoge21pbkxlbmd0aDogdHJ1ZX07XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXhTZWxlY3RlZFZhbGlkYXRvcjxUPihtYXg6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgdmFsdWVzID0gY29udHJvbC52YWx1ZSBhcyBUW107XG4gICAgcmV0dXJuIHZhbHVlcy5sZW5ndGggJiYgdmFsdWVzLmZpbHRlcih2YWx1ZSA9PiB2YWx1ZSkubGVuZ3RoIDw9IG1heCA/IG51bGwgOiB7bWF4TGVuZ3RoOiB0cnVlfTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbHVlcyhvcHRpb25zOiB7IGtleTogc3RyaW5nLCBsYWJlbDogc3RyaW5nLCBzZWxlY3RBbGw/OiB0cnVlIH1bXSwgdmFsdWVzOiBhbnlbXSk6IGFueVtdIHtcbiAgcmV0dXJuIG9wdGlvbnMucmVkdWNlKChhY2M6IHN0cmluZ1tdLCBvcHRpb246IHsga2V5OiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcgfSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgIGlmICh2YWx1ZXNbaW5kZXhdKSB7XG4gICAgICByZXR1cm4gWy4uLmFjYywgb3B0aW9uLmtleV07XG4gICAgfVxuICAgIHJldHVybiBhY2M7XG4gIH0sIFtdKTtcbn1cblxuIl19
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1maWx0ZXItdXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZ2VuZXJpYy1maWx0ZXIvZ2VuZXJpYy1maWx0ZXItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQSxNQUFNLFVBQVUsb0JBQW9CLENBQUksR0FBVztJQUNqRDs7OztJQUFPLFVBQUMsT0FBd0I7O1lBQ3hCLE1BQU0sR0FBRyxtQkFBQSxPQUFPLENBQUMsS0FBSyxFQUFPO1FBQ25DLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTTs7OztRQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxFQUFMLENBQUssRUFBQyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUM7SUFDakcsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFJLEdBQVc7SUFDakQ7Ozs7SUFBTyxVQUFDLE9BQXdCOztZQUN4QixNQUFNLEdBQUcsbUJBQUEsT0FBTyxDQUFDLEtBQUssRUFBTztRQUNuQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU07Ozs7UUFBQyxVQUFBLEtBQUssSUFBSSxPQUFBLEtBQUssRUFBTCxDQUFLLEVBQUMsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxDQUFDO0lBQ2pHLENBQUMsRUFBQztBQUNKLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsT0FBNkIsRUFBRSxNQUFhO0lBQ3BFLE9BQU8sT0FBTyxDQUFDLE1BQU07Ozs7OztJQUFDLFVBQUMsR0FBYSxFQUFFLE1BQXNDLEVBQUUsS0FBYTtRQUN6RixJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQix3QkFBVyxHQUFHLEdBQUUsTUFBTSxDQUFDLEdBQUcsR0FBRTtTQUM3QjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxHQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWx0ZXJDb25maWdPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gbWluU2VsZWN0ZWRWYWxpZGF0b3I8VD4obWluOiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGNvbnN0IHZhbHVlcyA9IGNvbnRyb2wudmFsdWUgYXMgVFtdO1xuICAgIHJldHVybiB2YWx1ZXMubGVuZ3RoICYmIHZhbHVlcy5maWx0ZXIodmFsdWUgPT4gdmFsdWUpLmxlbmd0aCA+PSBtaW4gPyBudWxsIDoge21pbmxlbmd0aDogdHJ1ZX07XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXhTZWxlY3RlZFZhbGlkYXRvcjxUPihtYXg6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgdmFsdWVzID0gY29udHJvbC52YWx1ZSBhcyBUW107XG4gICAgcmV0dXJuIHZhbHVlcy5sZW5ndGggJiYgdmFsdWVzLmZpbHRlcih2YWx1ZSA9PiB2YWx1ZSkubGVuZ3RoIDw9IG1heCA/IG51bGwgOiB7bWF4TGVuZ3RoOiB0cnVlfTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbHVlcyhvcHRpb25zOiBGaWx0ZXJDb25maWdPcHRpb25bXSwgdmFsdWVzOiBhbnlbXSk6IGFueVtdIHtcbiAgcmV0dXJuIG9wdGlvbnMucmVkdWNlKChhY2M6IHN0cmluZ1tdLCBvcHRpb246IHsga2V5OiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcgfSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgIGlmICh2YWx1ZXNbaW5kZXhdKSB7XG4gICAgICByZXR1cm4gWy4uLmFjYywgb3B0aW9uLmtleV07XG4gICAgfVxuICAgIHJldHVybiBhY2M7XG4gIH0sIFtdKTtcbn1cblxuIl19