survery-lib 2.1.17 → 2.1.21

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.
@@ -33,6 +33,7 @@ export class QuestionInstitutionsTemplateComponent {
33
33
  isShow: value.isShow
34
34
  });
35
35
  value.questionAllInfo.surveySubQuestionLevels.forEach(surveySubQuestionLevel => {
36
+ console.log(surveySubQuestionLevel);
36
37
  var question = this.pageQuestions$().find(x => x.questionId == value.questionId);
37
38
  this.setQuestionFormGroup(surveySubQuestionLevel, question?.isRequired, question?.answerId);
38
39
  });
@@ -52,6 +53,7 @@ export class QuestionInstitutionsTemplateComponent {
52
53
  id: x.submissionId,
53
54
  name: this.isArabicLang == true ? x.institutionNameArabic : x.institutionNameEnglish,
54
55
  requestTimestamp: x.requestTimestamp,
56
+ generatedId: x.generatedId
55
57
  };
56
58
  });
57
59
  });
@@ -64,9 +66,12 @@ export class QuestionInstitutionsTemplateComponent {
64
66
  isRequired: new FormControl(null),
65
67
  institutionId: new FormControl(null),
66
68
  institutionTimestamp: new FormControl(null),
69
+ institutionGeneratedId: new FormControl(null),
70
+ programRelatedToInstitutionId: new FormControl(null),
67
71
  branchId: new FormControl(null),
68
72
  collageId: new FormControl(null),
69
73
  sectionId: new FormControl(null),
74
+ programId: new FormControl(null),
70
75
  questionArr: this._formBuilder.array([])
71
76
  });
72
77
  }
@@ -115,31 +120,39 @@ export class QuestionInstitutionsTemplateComponent {
115
120
  this.rForm.patchValue({
116
121
  institutionId: answerId,
117
122
  institutionTimestamp: this.institutionsQuestionArr().find(x => x.id == answerId)?.requestTimestamp,
123
+ institutionGeneratedId: this.institutionsQuestionArr().find(x => x.id == answerId)?.generatedId,
118
124
  branchId: null,
119
125
  collageId: null,
120
126
  sectionId: null
121
127
  }, { emitEvent: false });
122
128
  }
123
129
  else if (value.level == 2) {
130
+ this.rForm.patchValue({
131
+ programId: answerId
132
+ }, { emitEvent: false });
133
+ }
134
+ else if (value.level == 3) {
124
135
  this.rForm.patchValue({
125
136
  branchId: answerId,
126
137
  collageId: null,
127
138
  sectionId: null
128
139
  }, { emitEvent: false });
129
140
  }
130
- else if (value.level == 3) {
141
+ else if (value.level == 4) {
131
142
  this.rForm.patchValue({
132
143
  collageId: answerId,
133
144
  sectionId: null
134
145
  }, { emitEvent: false });
135
146
  }
136
- else if (value.level == 4) {
147
+ else if (value.level == 5) {
137
148
  this.rForm.patchValue({
138
149
  sectionId: answerId
139
150
  }, { emitEvent: false });
140
151
  }
141
152
  const level = group.value.level;
142
- this.resetAnswersOfFormGroupinHigherLevel(level);
153
+ if (level != 2) {
154
+ this.resetAnswersOfFormGroupinHigherLevel(level);
155
+ }
143
156
  var nextGroupIndex = this.fCtrls.questionArr.controls.findIndex(x => x.value.level == level + 1);
144
157
  if (nextGroupIndex) {
145
158
  this.fillQuestionAnswers(nextGroupIndex);
@@ -176,8 +189,19 @@ export class QuestionInstitutionsTemplateComponent {
176
189
  var group = this.fCtrls.questionArr.at(nextGroupIndex);
177
190
  if (group) {
178
191
  if (group.value.level == 2) {
179
- this._ApiService.getAllBranches({ submissionId: formValue.institutionId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
192
+ this._ApiService.getAllProgramsRelatedToInstitutions({
193
+ submissionId: formValue.institutionId,
194
+ generatedId: formValue.institutionGeneratedId, requestTimestamp: formValue.institutionTimestamp
195
+ }).pipe(take(1)).subscribe(res => {
180
196
  group.controls.answers.setValue(res.responseDetails.map(x => {
197
+ return {
198
+ id: x.generatedKey,
199
+ name: this.isArabicLang == true ? x.programNameArabic : x.programNameEnglish
200
+ };
201
+ }));
202
+ });
203
+ this._ApiService.getAllBranches({ submissionId: formValue.institutionId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
204
+ this.fCtrls.questionArr.at(nextGroupIndex + 1).controls.answers.setValue(res.responseDetails.map(x => {
181
205
  return {
182
206
  id: x.branchSubmissionId,
183
207
  name: this.isArabicLang == true ? x.branchNameInArabic : x.branchNameInEnglish
@@ -185,7 +209,7 @@ export class QuestionInstitutionsTemplateComponent {
185
209
  }));
186
210
  });
187
211
  }
188
- else if (group.value.level == 3) {
212
+ else if (group.value.level == 4) {
189
213
  this._ApiService.getAllCollages({ submissionId: formValue.institutionId, branchSubmissionId: formValue.branchId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
190
214
  group.controls.answers.setValue(res.responseDetails.map(x => {
191
215
  return {
@@ -195,7 +219,7 @@ export class QuestionInstitutionsTemplateComponent {
195
219
  }));
196
220
  });
197
221
  }
198
- else if (group.value.level == 4) {
222
+ else if (group.value.level == 5) {
199
223
  this._ApiService.getAllSections({ submissionId: formValue.institutionId, collageSubmissionId: formValue.collageId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
200
224
  group.controls.answers.setValue(res.responseDetails.map(x => {
201
225
  return {
@@ -205,7 +229,7 @@ export class QuestionInstitutionsTemplateComponent {
205
229
  }));
206
230
  });
207
231
  }
208
- else if (group.value.level == 5) {
232
+ else if (group.value.level == 6) {
209
233
  this._ApiService.getAllPrograms({ submissionId: formValue.institutionId, sectionGeneratedKey: formValue.sectionId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
210
234
  group.controls.answers.setValue(res.responseDetails.map(x => {
211
235
  return {
@@ -239,4 +263,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
239
263
  }], setQuestion: [{
240
264
  type: Input
241
265
  }] } });
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1pbnN0aXR1dGlvbnMtdGVtcGxhdGUvcXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1pbnN0aXR1dGlvbnMtdGVtcGxhdGUvcXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQWUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBT3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUk3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQVksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7OztBQU9qRixNQUFNLE9BQU8scUNBQXFDO0lBUWhELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25C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QXJDLHFDQUFxQyxnSkN4QmxELGdxQ0F1QkE7OzJGRENhLHFDQUFxQztrQkFMakQsU0FBUzsrQkFDRSxvQ0FBb0M7K0lBVXJDLFlBQVk7c0JBQXBCLEtBQUs7Z0JBd0JPLFdBQVc7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIGNvbXB1dGVkLCBlZmZlY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgUXVlc3Rpb25BbnN3ZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9tb2RlbHMvcXVlc3Rpb24tYW5zd2VyLm1vZGVsJztcbmltcG9ydCB7IHF1ZXN0aW9uU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3F1ZXN0aW9uLnNlbGVjdG9yJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgUXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZSxcbiAgUXVlc3Rpb25JbnN0aXR1dGlvbnNUZW1wbGF0ZUZvcm1JbnRlcmZhY2Vcbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9xdWVzdGlvbi1JbnN0aXR1dGlvbnMtdGVtcGxhdGUuZm9ybS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUXVlc3Rpb25OZ3J4TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eSc7XG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24nO1xuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktcXVlc3Rpb24uZHRvJztcbmltcG9ydCB7IFN1cnZleVN1YlF1ZXN0aW9uTGV2ZWxEdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktc3ViLXF1ZXN0aW9uLWxldmVsLmR0byc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHBhaXJ3aXNlLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdXJ2ZXlMYW5ndWFnZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvc3VydmV5LWxhbmd1YWdlLmVudW0nO1xuaW1wb3J0IHsgc3VydmV5U2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5zZWxlY3Rvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1xdWVzdGlvbi1pbnN0aXR1dGlvbnMtdGVtcGxhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgaW5zdGl0dXRpb25zUXVlc3Rpb246IFN1cnZleVF1ZXN0aW9uRHRvID0gbnVsbDtcbiAgckZvcm06IEZvcm1Hcm91cDxRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZT47XG4gIHBhZ2VRdWVzdGlvbnMkID0gdGhpcy5fU3RvcmUuc2VsZWN0U2lnbmFsKHF1ZXN0aW9uU2VsZWN0b3JzLnBhZ2VRdWVzdGlvbnMpO1xuICBpbnN0aXR1dGlvbnNBcnIkID0gdGhpcy5fU3RvcmUuc2VsZWN0U2lnbmFsKHN1cnZleVNlbGVjdG9ycy5pbnN0aXR1dGlvbkFycik7XG5cbiAgQElucHV0KCkgaXNBcmFiaWNMYW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IGZDdHJscygpIHtcbiAgICByZXR1cm4gdGhpcy5yRm9ybS5jb250cm9scztcbiAgfVxuXG4gIGdldCBxdWVzdGlvblR5cGVFbnVtKCkge1xuICAgIHJldHVybiBRdWVzdGlvblR5cGVFbnVtO1xuICB9XG5cbiAgZ2V0IHF1ZXN0aW9uRm9ybUFycmF5KCkge1xuICAgIHJldHVybiB0aGlzLmZDdHJscy5xdWVzdGlvbkFyclxuICB9XG5cbiAgaW5zdGl0dXRpb25zUXVlc3Rpb25BcnIgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuaW5zdGl0dXRpb25zQXJyJCgpLm1hcCh4ID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB4LnN1Ym1pc3Npb25JZCxcbiAgICAgICAgbmFtZTogdGhpcy5pc0FyYWJpY0xhbmcgPT0gdHJ1ZSA/IHguaW5zdGl0dXRpb25OYW1lQXJhYmljIDogeC5pbnN0aXR1dGlvbk5hbWVFbmdsaXNoLFxuICAgICAgICByZXF1ZXN0VGltZXN0YW1wOiB4LnJlcXVlc3RUaW1lc3RhbXAsXG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIEBJbnB1dCgpIHNldCBzZXRRdWVzdGlvbih2YWx1ZTogUXVlc3Rpb25OZ3J4TW9kZWwpIHtcbiAgICBpZiAodGhpcy5pbnN0aXR1dGlvbnNRdWVzdGlvbiA9PSBudWxsKSB7XG4gICAgICB0aGlzLmluc3RpdHV0aW9uc1F1ZXN0aW9uID0gdmFsdWUucXVlc3Rpb25BbGxJbmZvO1xuXG4gICAgICB0aGlzLnJGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBpZDogdmFsdWUucXVlc3Rpb25JZCxcbiAgICAgICAgdGl0bGU6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvblRpdGxlLFxuICAgICAgICBtYXhMZXZlbFZhbHVlOiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8ubWF4TGV2ZWxWYWx1ZSxcbiAgICAgICAgaXNSZXF1aXJlZDogdmFsdWUuaXNSZXF1aXJlZCxcbiAgICAgICAgaXNEaXNhYmxlZDogdmFsdWUuaXNEaXNhYmxlZCxcbiAgICAgICAgaXNTaG93OiB2YWx1ZS5pc1Nob3dcbiAgICAgIH0pO1xuXG4gICAgICB2YWx1ZS5xdWVzdGlvbkFsbEluZm8uc3VydmV5U3ViUXVlc3Rpb25MZXZlbHMuZm9yRWFjaChzdXJ2ZXlTdWJRdWVzdGlvbkxldmVsID0+IHtcblxuICAgICAgICB2YXIgcXVlc3Rpb24gPSB0aGlzLnBhZ2VRdWVzdGlvbnMkKCkuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSB2YWx1ZS5xdWVzdGlvbklkKTtcbiAgICAgICAgdGhpcy5zZXRRdWVzdGlvbkZvcm1Hcm91cChzdXJ2ZXlTdWJRdWVzdGlvbkxldmVsLCBxdWVzdGlvbj8uaXNSZXF1aXJlZCwgcXVlc3Rpb24/LmFuc3dlcklkKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX1N0b3JlOiBTdG9yZSwgcHJpdmF0ZSBfZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIF9BcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlKSB7XG4gICAgdGhpcy5yRm9ybSA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwPFF1ZXN0aW9uSW5zdGl0dXRpb25zVGVtcGxhdGVGb3JtSW50ZXJmYWNlPih7XG4gICAgICBpZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgdGl0bGU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIG1heExldmVsVmFsdWU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIGlzRGlzYWJsZWQ6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXG4gICAgICBpc1Nob3c6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXG4gICAgICBpc1JlcXVpcmVkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICBpbnN0aXR1dGlvbklkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICBpbnN0aXR1dGlvblRpbWVzdGFtcDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgYnJhbmNoSWQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIGNvbGxhZ2VJZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgc2VjdGlvbklkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICBxdWVzdGlvbkFycjogdGhpcy5fZm9ybUJ1aWxkZXIuYXJyYXk8Rm9ybUdyb3VwPFF1ZXN0aW9uR3JvdXBDaGlsZE9mUXVlc3Rpb25JbnN0aXR1dGlvbnNUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+PihbXSlcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMubG9hZEluc3RpdHV0aW9uQXJyKCkpO1xuICB9XG5cbiAgb25VcGRhdGVBbnN3ZXIobW9kZWw6IHsgaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nIH0sIGdyb3VwSW5kZXg6IG51bWJlcikge1xuICAgIHZhciBncm91cCA9IHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLmF0KGdyb3VwSW5kZXgpO1xuICAgIGdyb3VwLnBhdGNoVmFsdWUoe1xuICAgICAgYW5zd2VySWQ6IG1vZGVsLmlkLFxuICAgICAgYW5zd2VyVmFsdWU6IG1vZGVsLm5hbWVcbiAgICB9KTtcblxuICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlSW5zdGl0dXRpb25RdWVzdGlvbkFuc3dlcih7XG4gICAgICBxdWVzdGlvbklkOiBncm91cC52YWx1ZS5pZCxcbiAgICAgIGFuc3dlcklkOiBncm91cC52YWx1ZS5hbnN3ZXJJZCxcbiAgICAgIGFuc3dlcjogZ3JvdXAudmFsdWUuYW5zd2VyVmFsdWUsXG4gICAgICBpc1ZhbGlkOiBncm91cC5jb250cm9scy5hbnN3ZXJJZC52YWxpZCxcbiAgICAgIGFuc3dlckxldmVsSWQ6IGdyb3VwLnZhbHVlLmxldmVsQW5zd2VySWQsXG4gICAgfSkpO1xuICB9XG5cbiAgaWRlbnRpZnkoaW5kZXgsIGl0ZW06IEZvcm1Hcm91cDxRdWVzdGlvbkdyb3VwQ2hpbGRPZlF1ZXN0aW9uSW5zdGl0dXRpb25zVGVtcGxhdGVGb3JtSW50ZXJmYWNlPikge1xuICAgIHJldHVybiBpdGVtLnZhbHVlLmlkO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRRdWVzdGlvbkZvcm1Hcm91cCh2YWx1ZTogU3VydmV5U3ViUXVlc3Rpb25MZXZlbER0bywgaXNScXVpcmVkOiBib29sZWFuLCBhbnN3ZXJJZDogc3RyaW5nKSB7XG4gICAgdmFyIGdyb3VwID0gdGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXA8UXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZT4oe1xuICAgICAgaWQ6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZS5xdWVzdGlvbklkKSxcbiAgICAgIHR5cGVJZDogbmV3IEZvcm1Db250cm9sKHZhbHVlLnF1ZXN0aW9uVHlwZUlkKSxcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZS5xdWVzdGlvbk5hbWUpLFxuICAgICAgZGVzY3JpcHRpb246IG5ldyBGb3JtQ29udHJvbCh2YWx1ZS5xdWVzdGlvbkRlc2NyaXB0aW9uKSxcbiAgICAgIHRpdGxlOiBuZXcgRm9ybUNvbnRyb2wodmFsdWUucXVlc3Rpb25UaXRsZSksXG4gICAgICBsZXZlbDogbmV3IEZvcm1Db250cm9sKHZhbHVlLmxldmVsKSxcbiAgICAgIGxldmVsQW5zd2VySWQ6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZS5sZXZlbEFuc3dlci5hbnN3ZXJJZCksXG4gICAgICBhbnN3ZXJJZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgYW5zd2VyVmFsdWU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIGFuc3dlcnM6IG5ldyBGb3JtQ29udHJvbChbXSksXG4gICAgfSk7XG5cbiAgICBpZiAoaXNScXVpcmVkID09IHRydWUpIHtcbiAgICAgIGdyb3VwLmNvbnRyb2xzLmFuc3dlcklkLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICAgIGdyb3VwLmNvbnRyb2xzLmFuc3dlcklkLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgIGdyb3VwLmNvbnRyb2xzLmFuc3dlclZhbHVlLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICAgIGdyb3VwLmNvbnRyb2xzLmFuc3dlclZhbHVlLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG5cbiAgICBncm91cC5jb250cm9scy5hbnN3ZXJJZC52YWx1ZUNoYW5nZXMucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoYW5zd2VySWQgPT4ge1xuICAgICAgaWYgKGFuc3dlcklkKSB7XG4gICAgICAgIGlmICh2YWx1ZS5sZXZlbCA9PSAxKSB7XG4gICAgICAgICAgdGhpcy5yRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGluc3RpdHV0aW9uSWQ6IGFuc3dlcklkLFxuICAgICAgICAgICAgaW5zdGl0dXRpb25UaW1lc3RhbXA6IHRoaXMuaW5zdGl0dXRpb25zUXVlc3Rpb25BcnIoKS5maW5kKHggPT4geC5pZCA9PSBhbnN3ZXJJZCk/LnJlcXVlc3RUaW1lc3RhbXAsXG4gICAgICAgICAgICBicmFuY2hJZDogbnVsbCxcbiAgICAgICAgICAgIGNvbGxhZ2VJZDogbnVsbCxcbiAgICAgICAgICAgIHNlY3Rpb25JZDogbnVsbFxuICAgICAgICAgIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh2YWx1ZS5sZXZlbCA9PSAyKSB7XG4gICAgICAgICAgdGhpcy5yRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGJyYW5jaElkOiBhbnN3ZXJJZCxcbiAgICAgICAgICAgIGNvbGxhZ2VJZDogbnVsbCxcbiAgICAgICAgICAgIHNlY3Rpb25JZDogbnVsbFxuICAgICAgICAgIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh2YWx1ZS5sZXZlbCA9PSAzKSB7XG4gICAgICAgICAgdGhpcy5yRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGNvbGxhZ2VJZDogYW5zd2VySWQsXG4gICAgICAgICAgICBzZWN0aW9uSWQ6IG51bGxcbiAgICAgICAgICB9LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodmFsdWUubGV2ZWwgPT0gNCkge1xuICAgICAgICAgIHRoaXMuckZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICBzZWN0aW9uSWQ6IGFuc3dlcklkXG4gICAgICAgICAgfSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbGV2ZWwgPSBncm91cC52YWx1ZS5sZXZlbDtcbiAgICAgICAgdGhpcy5yZXNldEFuc3dlcnNPZkZvcm1Hcm91cGluSGlnaGVyTGV2ZWwobGV2ZWwpO1xuXG4gICAgICAgIHZhciBuZXh0R3JvdXBJbmRleCA9IHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLmNvbnRyb2xzLmZpbmRJbmRleCh4ID0+IHgudmFsdWUubGV2ZWwgPT0gbGV2ZWwgKyAxKTtcbiAgICAgICAgaWYgKG5leHRHcm91cEluZGV4KSB7XG4gICAgICAgICAgdGhpcy5maWxsUXVlc3Rpb25BbnN3ZXJzKG5leHRHcm91cEluZGV4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZ3JvdXAuY29udHJvbHMuYW5zd2Vycy52YWx1ZUNoYW5nZXMucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgY29uc3QgZ3JvdXBJbmRleCA9IHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLmNvbnRyb2xzLmZpbmRJbmRleCh4ID0+IHgudmFsdWUubGV2ZWwgPT0gZ3JvdXAudmFsdWUubGV2ZWwpO1xuICAgICAgdmFyIHF1ZXN0aW9uR3JvdXAgPSB0aGlzLmZDdHJscy5xdWVzdGlvbkFyci5hdChncm91cEluZGV4KTtcblxuICAgICAgaWYgKHF1ZXN0aW9uR3JvdXApIHtcbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBpZiAodGhpcy5mQ3RybHMuaXNSZXF1aXJlZC52YWx1ZSA9PSB0cnVlKSB7XG4gICAgICAgICAgICBxdWVzdGlvbkdyb3VwLmNvbnRyb2xzLmFuc3dlcklkLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICAgICAgICAgIHF1ZXN0aW9uR3JvdXAuY29udHJvbHMuYW5zd2VyVmFsdWUuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuXG4gICAgICAgICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uUmVxdWlyZWQoeyBxdWVzdGlvbklkOiBncm91cC52YWx1ZS5pZCwgaXNSZXF1aXJlZDogdHJ1ZSB9KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHF1ZXN0aW9uR3JvdXAuY29udHJvbHMuYW5zd2VySWQuY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgICAgcXVlc3Rpb25Hcm91cC5jb250cm9scy5hbnN3ZXJWYWx1ZS5jbGVhclZhbGlkYXRvcnMoKTtcblxuICAgICAgICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25SZXF1aXJlZCh7IHF1ZXN0aW9uSWQ6IGdyb3VwLnZhbHVlLmlkLCBpc1JlcXVpcmVkOiBmYWxzZSB9KSk7XG4gICAgICAgIH1cblxuICAgICAgICBxdWVzdGlvbkdyb3VwLmNvbnRyb2xzLmFuc3dlcklkLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgcXVlc3Rpb25Hcm91cC5jb250cm9scy5hbnN3ZXJWYWx1ZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB9XG5cbiAgICB9KTtcblxuICAgIGlmIChhbnN3ZXJJZCkge1xuICAgICAgZ3JvdXAuY29udHJvbHMuYW5zd2VySWQuc2V0VmFsdWUoYW5zd2VySWQpO1xuICAgIH1cblxuICAgIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLnB1c2goZ3JvdXApO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWxsUXVlc3Rpb25BbnN3ZXJzKG5leHRHcm91cEluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLnJGb3JtLnZhbHVlO1xuICAgIHZhciBncm91cCA9IHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLmF0KG5leHRHcm91cEluZGV4KTtcbiAgICBpZiAoZ3JvdXApIHtcbiAgICAgIGlmIChncm91cC52YWx1ZS5sZXZlbCA9PSAyKSB7XG4gICAgICAgIHRoaXMuX0FwaVNlcnZpY2UuZ2V0QWxsQnJhbmNoZXMoeyBzdWJtaXNzaW9uSWQ6IGZvcm1WYWx1ZS5pbnN0aXR1dGlvbklkICwgcmVxdWVzdFRpbWVzdGFtcDogZm9ybVZhbHVlLmluc3RpdHV0aW9uVGltZXN0YW1wIH0pLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgZ3JvdXAuY29udHJvbHMuYW5zd2Vycy5zZXRWYWx1ZShyZXMucmVzcG9uc2VEZXRhaWxzLm1hcCh4ID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGlkOiB4LmJyYW5jaFN1Ym1pc3Npb25JZCxcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5pc0FyYWJpY0xhbmcgPT0gdHJ1ZSA/IHguYnJhbmNoTmFtZUluQXJhYmljIDogeC5icmFuY2hOYW1lSW5FbmdsaXNoXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKGdyb3VwLnZhbHVlLmxldmVsID09IDMpIHtcbiAgICAgICAgdGhpcy5fQXBpU2VydmljZS5nZXRBbGxDb2xsYWdlcyh7IHN1Ym1pc3Npb25JZDogZm9ybVZhbHVlLmluc3RpdHV0aW9uSWQsIGJyYW5jaFN1Ym1pc3Npb25JZDogZm9ybVZhbHVlLmJyYW5jaElkICwgcmVxdWVzdFRpbWVzdGFtcDogZm9ybVZhbHVlLmluc3RpdHV0aW9uVGltZXN0YW1wIH0pLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgZ3JvdXAuY29udHJvbHMuYW5zd2Vycy5zZXRWYWx1ZShyZXMucmVzcG9uc2VEZXRhaWxzLm1hcCh4ID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGlkOiB4LmNvbGxhZ2VTdWJtaXNzaW9uSWQsXG4gICAgICAgICAgICAgIG5hbWU6IHRoaXMuaXNBcmFiaWNMYW5nID09IHRydWUgPyB4LmNvbGxhZ2VOYW1lSW5BcmFiaWMgOiB4LmNvbGxhZ2VOYW1lSW5FbmdsaXNoXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKGdyb3VwLnZhbHVlLmxldmVsID09IDQpIHtcbiAgICAgICAgdGhpcy5fQXBpU2VydmljZS5nZXRBbGxTZWN0aW9ucyh7IHN1Ym1pc3Npb25JZDogZm9ybVZhbHVlLmluc3RpdHV0aW9uSWQsIGNvbGxhZ2VTdWJtaXNzaW9uSWQ6IGZvcm1WYWx1ZS5jb2xsYWdlSWQgLCByZXF1ZXN0VGltZXN0YW1wOiBmb3JtVmFsdWUuaW5zdGl0dXRpb25UaW1lc3RhbXAgfSkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICBncm91cC5jb250cm9scy5hbnN3ZXJzLnNldFZhbHVlKHJlcy5yZXNwb25zZURldGFpbHMubWFwKHggPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgaWQ6IHguZ2VuZXJhdGVkS2V5LFxuICAgICAgICAgICAgICBuYW1lOiB0aGlzLmlzQXJhYmljTGFuZyA9PSB0cnVlID8geC5zZWN0aW9uTmFtZUluQXJhYmljIDogeC5zZWN0aW9uTmFtZUluRW5nbGlzaFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBlbHNlIGlmIChncm91cC52YWx1ZS5sZXZlbCA9PSA1KSB7XG4gICAgICAgIHRoaXMuX0FwaVNlcnZpY2UuZ2V0QWxsUHJvZ3JhbXMoeyBzdWJtaXNzaW9uSWQ6IGZvcm1WYWx1ZS5pbnN0aXR1dGlvbklkLCBzZWN0aW9uR2VuZXJhdGVkS2V5OiBmb3JtVmFsdWUuc2VjdGlvbklkICwgcmVxdWVzdFRpbWVzdGFtcDogZm9ybVZhbHVlLmluc3RpdHV0aW9uVGltZXN0YW1wIH0pLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgZ3JvdXAuY29udHJvbHMuYW5zd2Vycy5zZXRWYWx1ZShyZXMucmVzcG9uc2VEZXRhaWxzLm1hcCh4ID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGlkOiB4LmdlbmVyYXRlZEtleSxcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5pc0FyYWJpY0xhbmcgPT0gdHJ1ZSA/IHgucHJvZ3JhbU5hbWVBcmFiaWMgOiB4LnByb2dyYW1OYW1lRW5nbGlzaFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldEFuc3dlcnNPZkZvcm1Hcm91cGluSGlnaGVyTGV2ZWwobGV2ZWw6IG51bWJlcikge1xuICAgIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLmNvbnRyb2xzLmZvckVhY2goKGdyb3VwOiBGb3JtR3JvdXA8UXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZT4pID0+IHtcbiAgICAgIGlmIChncm91cC52YWx1ZS5sZXZlbCA+IGxldmVsKSB7XG4gICAgICAgIGdyb3VwLnBhdGNoVmFsdWUoe1xuICAgICAgICAgIGFuc3dlcklkOiBudWxsLFxuICAgICAgICAgIGFuc3dlclZhbHVlOiBudWxsLFxuICAgICAgICAgIGFuc3dlcnM6IFtdXG4gICAgICAgIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJxdWFzdGlvblwiPlxuICA8aDMgY2xhc3M9XCJxdWFzdGlvbi10aXRsZSBtYi0yXCI+XG4gICAgPHNwYW4gW2lubmVySFRNTF09XCJmQ3RybHMudGl0bGUudmFsdWVcIj48L3NwYW4+XG4gIDwvaDM+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcXVlc3Rpb25Gb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrQnk6aWRlbnRpZnkgOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgPGRpdiBjbGFzcz1cInF1YXN0aW9uXCIgW2F0dHIuaWRdPVwiJ3F1ZXN0aW9uXycraXRlbS52YWx1ZS5pZFwiXG4gICAgICAqbmdJZj1cIml0ZW0udmFsdWUubGV2ZWwgPT0gMSB8fCAoIGl0ZW0udmFsdWUubGV2ZWwgPiAxICYmIGl0ZW0udmFsdWUuYW5zd2Vycy5sZW5ndGggPiAwIClcIlxuICAgICAgW25nQ2xhc3NdPVwieydpbnZhbGlkLXF1ZXN0aW9uJzogaXRlbS5jb250cm9scy5hbnN3ZXJJZC5pbnZhbGlkICAsICdkLW5vbmUnOmZDdHJscy5pc1Nob3cudmFsdWUgIT0gdHJ1ZX1cIj5cbiAgICAgIDxoMyBjbGFzcz1cInF1YXN0aW9uLXRpdGxlIFwiPlxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIml0ZW0udmFsdWUudGl0bGVcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6IHJlZDtcIiAqbmdJZj1cImZDdHJscy5pc1JlcXVpcmVkXCI+Kjwvc3Bhbj5cbiAgICAgIDwvaDM+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1xdWFzdGlvbiB0ZXh0LXF1YXN0aW9uX19kcm9wZG93blwiPlxuICAgICAgICA8bmctc2VsZWN0IFtpdGVtc109XCJpdGVtLnZhbHVlLmxldmVsID09MSA/IGluc3RpdHV0aW9uc1F1ZXN0aW9uQXJyKCkgOiBpdGVtLnZhbHVlLmFuc3dlcnNcIiBiaW5kVmFsdWU9XCJpZFwiIGJpbmRMYWJlbD1cIm5hbWVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cIml0ZW0uY29udHJvbHMuYW5zd2VySWRcIiBbdmlydHVhbFNjcm9sbF09XCJ0cnVlXCIgW2Rpc2FibGVkXT1cImZDdHJscy5pc0Rpc2FibGVkLnZhbHVlXCIgKGNoYW5nZSk9XCJvblVwZGF0ZUFuc3dlcigkZXZlbnQsaSlcIlxuICAgICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiPlxuICAgICAgICA8L25nLXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbiJdfQ==
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1pbnN0aXR1dGlvbnMtdGVtcGxhdGUvcXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1pbnN0aXR1dGlvbnMtdGVtcGxhdGUvcXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQWUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBT3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUk3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQVksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7OztBQU9qRixNQUFNLE9BQU8scUNBQXFDO0lBUWhELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25C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QixLQUFLLENBQUMsVUFBVSxDQUFDO29CQUNmLFFBQVEsRUFBRSxJQUFJO29CQUNkLFdBQVcsRUFBRSxJQUFJO29CQUNqQixPQUFPLEVBQUUsRUFBRTtpQkFDWixFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7YUFDMUI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUVMLENBQUM7OEdBNVFVLHFDQUFxQztrR0FBckMscUNBQXFDLGdKQ3hCbEQsZ3FDQXVCQTs7MkZEQ2EscUNBQXFDO2tCQUxqRCxTQUFTOytCQUNFLG9DQUFvQzsrSUFVckMsWUFBWTtzQkFBcEIsS0FBSztnQkF5Qk8sV0FBVztzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgY29tcHV0ZWQsIGVmZmVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2VudW1zL3F1ZXN0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBRdWVzdGlvbkFuc3dlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL21vZGVscy9xdWVzdGlvbi1hbnN3ZXIubW9kZWwnO1xuaW1wb3J0IHsgcXVlc3Rpb25TZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9zdXJ2ZXktc3RvcmUvcXVlc3Rpb24uc2VsZWN0b3InO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBRdWVzdGlvbkdyb3VwQ2hpbGRPZlF1ZXN0aW9uSW5zdGl0dXRpb25zVGVtcGxhdGVGb3JtSW50ZXJmYWNlLFxuICBRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZVxufSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZm9ybS1pbnRlcmZhY2VzL3F1ZXN0aW9uLUluc3RpdHV0aW9ucy10ZW1wbGF0ZS5mb3JtLWludGVyZmFjZSc7XG5pbXBvcnQgeyBRdWVzdGlvbk5ncnhNb2RlbCB9IGZyb20gJy4uLy4uL2NvcmUvc3RhdGVzL2VudGl0ZXMvcXVlc3Rpb24uZW50aXR5JztcbmltcG9ydCB7IHN1cnZleUFjdGlvbnMgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9zdXJ2ZXktc3RvcmUvc3VydmV5LmFjdGlvbic7XG5pbXBvcnQgeyBTdXJ2ZXlRdWVzdGlvbkR0byB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kdG9zL3N1cnZleS1xdWVzdGlvbi5kdG8nO1xuaW1wb3J0IHsgU3VydmV5U3ViUXVlc3Rpb25MZXZlbER0byB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kdG9zL3N1cnZleS1zdWItcXVlc3Rpb24tbGV2ZWwuZHRvJztcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgcGFpcndpc2UsIHRha2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1cnZleUxhbmd1YWdlRW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9zdXJ2ZXktbGFuZ3VhZ2UuZW51bSc7XG5pbXBvcnQgeyBzdXJ2ZXlTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9zdXJ2ZXktc3RvcmUvc3VydmV5LnNlbGVjdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXF1ZXN0aW9uLWluc3RpdHV0aW9ucy10ZW1wbGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVzdGlvbi1pbnN0aXR1dGlvbnMtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9xdWVzdGlvbi1pbnN0aXR1dGlvbnMtdGVtcGxhdGUuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uSW5zdGl0dXRpb25zVGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBpbnN0aXR1dGlvbnNRdWVzdGlvbjogU3VydmV5UXVlc3Rpb25EdG8gPSBudWxsO1xuICByRm9ybTogRm9ybUdyb3VwPFF1ZXN0aW9uSW5zdGl0dXRpb25zVGVtcGxhdGVGb3JtSW50ZXJmYWNlPjtcbiAgcGFnZVF1ZXN0aW9ucyQgPSB0aGlzLl9TdG9yZS5zZWxlY3RTaWduYWwocXVlc3Rpb25TZWxlY3RvcnMucGFnZVF1ZXN0aW9ucyk7XG4gIGluc3RpdHV0aW9uc0FyciQgPSB0aGlzLl9TdG9yZS5zZWxlY3RTaWduYWwoc3VydmV5U2VsZWN0b3JzLmluc3RpdHV0aW9uQXJyKTtcblxuICBASW5wdXQoKSBpc0FyYWJpY0xhbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgZkN0cmxzKCkge1xuICAgIHJldHVybiB0aGlzLnJGb3JtLmNvbnRyb2xzO1xuICB9XG5cbiAgZ2V0IHF1ZXN0aW9uVHlwZUVudW0oKSB7XG4gICAgcmV0dXJuIFF1ZXN0aW9uVHlwZUVudW07XG4gIH1cblxuICBnZXQgcXVlc3Rpb25Gb3JtQXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyXG4gIH1cblxuICBpbnN0aXR1dGlvbnNRdWVzdGlvbkFyciA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5pbnN0aXR1dGlvbnNBcnIkKCkubWFwKHggPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IHguc3VibWlzc2lvbklkLFxuICAgICAgICBuYW1lOiB0aGlzLmlzQXJhYmljTGFuZyA9PSB0cnVlID8geC5pbnN0aXR1dGlvbk5hbWVBcmFiaWMgOiB4Lmluc3RpdHV0aW9uTmFtZUVuZ2xpc2gsXG4gICAgICAgIHJlcXVlc3RUaW1lc3RhbXA6IHgucmVxdWVzdFRpbWVzdGFtcCxcbiAgICAgICAgZ2VuZXJhdGVkSWQ6IHguZ2VuZXJhdGVkSWRcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgQElucHV0KCkgc2V0IHNldFF1ZXN0aW9uKHZhbHVlOiBRdWVzdGlvbk5ncnhNb2RlbCkge1xuICAgIGlmICh0aGlzLmluc3RpdHV0aW9uc1F1ZXN0aW9uID09IG51bGwpIHtcbiAgICAgIHRoaXMuaW5zdGl0dXRpb25zUXVlc3Rpb24gPSB2YWx1ZS5xdWVzdGlvbkFsbEluZm87XG5cbiAgICAgIHRoaXMuckZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgIGlkOiB2YWx1ZS5xdWVzdGlvbklkLFxuICAgICAgICB0aXRsZTogdmFsdWUucXVlc3Rpb25BbGxJbmZvLnF1ZXN0aW9uVGl0bGUsXG4gICAgICAgIG1heExldmVsVmFsdWU6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5tYXhMZXZlbFZhbHVlLFxuICAgICAgICBpc1JlcXVpcmVkOiB2YWx1ZS5pc1JlcXVpcmVkLFxuICAgICAgICBpc0Rpc2FibGVkOiB2YWx1ZS5pc0Rpc2FibGVkLFxuICAgICAgICBpc1Nob3c6IHZhbHVlLmlzU2hvd1xuICAgICAgfSk7XG5cbiAgICAgIHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlTdWJRdWVzdGlvbkxldmVscy5mb3JFYWNoKHN1cnZleVN1YlF1ZXN0aW9uTGV2ZWwgPT4ge1xuY29uc29sZS5sb2coc3VydmV5U3ViUXVlc3Rpb25MZXZlbCk7XG4gICAgICAgIHZhciBxdWVzdGlvbiA9IHRoaXMucGFnZVF1ZXN0aW9ucyQoKS5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHZhbHVlLnF1ZXN0aW9uSWQpO1xuICAgICAgICB0aGlzLnNldFF1ZXN0aW9uRm9ybUdyb3VwKHN1cnZleVN1YlF1ZXN0aW9uTGV2ZWwsIHF1ZXN0aW9uPy5pc1JlcXVpcmVkLCBxdWVzdGlvbj8uYW5zd2VySWQpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfU3RvcmU6IFN0b3JlLCBwcml2YXRlIF9mb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgX0FwaVNlcnZpY2U6IEFwaVNlcnZpY2UpIHtcbiAgICB0aGlzLnJGb3JtID0gdGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXA8UXVlc3Rpb25JbnN0aXR1dGlvbnNUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+KHtcbiAgICAgIGlkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICB0aXRsZTogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgbWF4TGV2ZWxWYWx1ZTogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgaXNEaXNhYmxlZDogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcbiAgICAgIGlzU2hvdzogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcbiAgICAgIGlzUmVxdWlyZWQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIGluc3RpdHV0aW9uSWQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIGluc3RpdHV0aW9uVGltZXN0YW1wOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICBpbnN0aXR1dGlvbkdlbmVyYXRlZElkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICBwcm9ncmFtUmVsYXRlZFRvSW5zdGl0dXRpb25JZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgYnJhbmNoSWQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIGNvbGxhZ2VJZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgc2VjdGlvbklkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICBwcm9ncmFtSWQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICAgIHF1ZXN0aW9uQXJyOiB0aGlzLl9mb3JtQnVpbGRlci5hcnJheTxGb3JtR3JvdXA8UXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZT4+KFtdKVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy5sb2FkSW5zdGl0dXRpb25BcnIoKSk7XG4gIH1cblxuICBvblVwZGF0ZUFuc3dlcihtb2RlbDogeyBpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcgfSwgZ3JvdXBJbmRleDogbnVtYmVyKSB7XG4gICAgdmFyIGdyb3VwID0gdGhpcy5mQ3RybHMucXVlc3Rpb25BcnIuYXQoZ3JvdXBJbmRleCk7XG4gICAgZ3JvdXAucGF0Y2hWYWx1ZSh7XG4gICAgICBhbnN3ZXJJZDogbW9kZWwuaWQsXG4gICAgICBhbnN3ZXJWYWx1ZTogbW9kZWwubmFtZVxuICAgIH0pO1xuXG4gICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVJbnN0aXR1dGlvblF1ZXN0aW9uQW5zd2VyKHtcbiAgICAgIHF1ZXN0aW9uSWQ6IGdyb3VwLnZhbHVlLmlkLFxuICAgICAgYW5zd2VySWQ6IGdyb3VwLnZhbHVlLmFuc3dlcklkLFxuICAgICAgYW5zd2VyOiBncm91cC52YWx1ZS5hbnN3ZXJWYWx1ZSxcbiAgICAgIGlzVmFsaWQ6IGdyb3VwLmNvbnRyb2xzLmFuc3dlcklkLnZhbGlkLFxuICAgICAgYW5zd2VyTGV2ZWxJZDogZ3JvdXAudmFsdWUubGV2ZWxBbnN3ZXJJZCxcbiAgICB9KSk7XG4gIH1cblxuICBpZGVudGlmeShpbmRleCwgaXRlbTogRm9ybUdyb3VwPFF1ZXN0aW9uR3JvdXBDaGlsZE9mUXVlc3Rpb25JbnN0aXR1dGlvbnNUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+KSB7XG4gICAgcmV0dXJuIGl0ZW0udmFsdWUuaWQ7XG4gIH1cblxuICBwcml2YXRlIHNldFF1ZXN0aW9uRm9ybUdyb3VwKHZhbHVlOiBTdXJ2ZXlTdWJRdWVzdGlvbkxldmVsRHRvLCBpc1JxdWlyZWQ6IGJvb2xlYW4sIGFuc3dlcklkOiBzdHJpbmcpIHtcbiAgICB2YXIgZ3JvdXAgPSB0aGlzLl9mb3JtQnVpbGRlci5ncm91cDxRdWVzdGlvbkdyb3VwQ2hpbGRPZlF1ZXN0aW9uSW5zdGl0dXRpb25zVGVtcGxhdGVGb3JtSW50ZXJmYWNlPih7XG4gICAgICBpZDogbmV3IEZvcm1Db250cm9sKHZhbHVlLnF1ZXN0aW9uSWQpLFxuICAgICAgdHlwZUlkOiBuZXcgRm9ybUNvbnRyb2wodmFsdWUucXVlc3Rpb25UeXBlSWQpLFxuICAgICAgbmFtZTogbmV3IEZvcm1Db250cm9sKHZhbHVlLnF1ZXN0aW9uTmFtZSksXG4gICAgICBkZXNjcmlwdGlvbjogbmV3IEZvcm1Db250cm9sKHZhbHVlLnF1ZXN0aW9uRGVzY3JpcHRpb24pLFxuICAgICAgdGl0bGU6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZS5xdWVzdGlvblRpdGxlKSxcbiAgICAgIGxldmVsOiBuZXcgRm9ybUNvbnRyb2wodmFsdWUubGV2ZWwpLFxuICAgICAgbGV2ZWxBbnN3ZXJJZDogbmV3IEZvcm1Db250cm9sKHZhbHVlLmxldmVsQW5zd2VyLmFuc3dlcklkKSxcbiAgICAgIGFuc3dlcklkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICBhbnN3ZXJWYWx1ZTogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgYW5zd2VyczogbmV3IEZvcm1Db250cm9sKFtdKSxcbiAgICB9KTtcblxuICAgIGlmIChpc1JxdWlyZWQgPT0gdHJ1ZSkge1xuICAgICAgZ3JvdXAuY29udHJvbHMuYW5zd2VySWQuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuICAgICAgZ3JvdXAuY29udHJvbHMuYW5zd2VySWQudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgZ3JvdXAuY29udHJvbHMuYW5zd2VyVmFsdWUuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuICAgICAgZ3JvdXAuY29udHJvbHMuYW5zd2VyVmFsdWUudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cblxuICAgIGdyb3VwLmNvbnRyb2xzLmFuc3dlcklkLnZhbHVlQ2hhbmdlcy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZShhbnN3ZXJJZCA9PiB7XG4gICAgICBpZiAoYW5zd2VySWQpIHtcbiAgICAgICAgaWYgKHZhbHVlLmxldmVsID09IDEpIHtcbiAgICAgICAgICB0aGlzLnJGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgaW5zdGl0dXRpb25JZDogYW5zd2VySWQsXG4gICAgICAgICAgICBpbnN0aXR1dGlvblRpbWVzdGFtcDogdGhpcy5pbnN0aXR1dGlvbnNRdWVzdGlvbkFycigpLmZpbmQoeCA9PiB4LmlkID09IGFuc3dlcklkKT8ucmVxdWVzdFRpbWVzdGFtcCxcbiAgICAgICAgICAgIGluc3RpdHV0aW9uR2VuZXJhdGVkSWQ6IHRoaXMuaW5zdGl0dXRpb25zUXVlc3Rpb25BcnIoKS5maW5kKHggPT4geC5pZCA9PSBhbnN3ZXJJZCk/LmdlbmVyYXRlZElkLFxuICAgICAgICAgICAgYnJhbmNoSWQ6IG51bGwsXG4gICAgICAgICAgICBjb2xsYWdlSWQ6IG51bGwsXG4gICAgICAgICAgICBzZWN0aW9uSWQ6IG51bGxcbiAgICAgICAgICB9LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodmFsdWUubGV2ZWwgPT0gMikge1xuICAgICAgICAgIHRoaXMuckZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICBwcm9ncmFtSWQ6IGFuc3dlcklkXG4gICAgICAgICAgfSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHZhbHVlLmxldmVsID09IDMpIHtcbiAgICAgICAgICB0aGlzLnJGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgYnJhbmNoSWQ6IGFuc3dlcklkLFxuICAgICAgICAgICAgY29sbGFnZUlkOiBudWxsLFxuICAgICAgICAgICAgc2VjdGlvbklkOiBudWxsXG4gICAgICAgICAgfSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHZhbHVlLmxldmVsID09IDQpIHtcbiAgICAgICAgICB0aGlzLnJGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgY29sbGFnZUlkOiBhbnN3ZXJJZCxcbiAgICAgICAgICAgIHNlY3Rpb25JZDogbnVsbFxuICAgICAgICAgIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh2YWx1ZS5sZXZlbCA9PSA1KSB7XG4gICAgICAgICAgdGhpcy5yRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIHNlY3Rpb25JZDogYW5zd2VySWRcbiAgICAgICAgICB9LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsZXZlbCA9IGdyb3VwLnZhbHVlLmxldmVsO1xuXG4gICAgICAgIGlmKGxldmVsICE9IDIpe1xuICAgICAgICB0aGlzLnJlc2V0QW5zd2Vyc09mRm9ybUdyb3VwaW5IaWdoZXJMZXZlbChsZXZlbCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbmV4dEdyb3VwSW5kZXggPSB0aGlzLmZDdHJscy5xdWVzdGlvbkFyci5jb250cm9scy5maW5kSW5kZXgoeCA9PiB4LnZhbHVlLmxldmVsID09IGxldmVsICsgMSk7XG4gICAgICAgIGlmIChuZXh0R3JvdXBJbmRleCApIHtcbiAgICAgICAgICB0aGlzLmZpbGxRdWVzdGlvbkFuc3dlcnMobmV4dEdyb3VwSW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBncm91cC5jb250cm9scy5hbnN3ZXJzLnZhbHVlQ2hhbmdlcy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBncm91cEluZGV4ID0gdGhpcy5mQ3RybHMucXVlc3Rpb25BcnIuY29udHJvbHMuZmluZEluZGV4KHggPT4geC52YWx1ZS5sZXZlbCA9PSBncm91cC52YWx1ZS5sZXZlbCk7XG4gICAgICB2YXIgcXVlc3Rpb25Hcm91cCA9IHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLmF0KGdyb3VwSW5kZXgpO1xuXG4gICAgICBpZiAocXVlc3Rpb25Hcm91cCkge1xuICAgICAgICBpZiAodmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGlmICh0aGlzLmZDdHJscy5pc1JlcXVpcmVkLnZhbHVlID09IHRydWUpIHtcbiAgICAgICAgICAgIHF1ZXN0aW9uR3JvdXAuY29udHJvbHMuYW5zd2VySWQuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xuICAgICAgICAgICAgcXVlc3Rpb25Hcm91cC5jb250cm9scy5hbnN3ZXJWYWx1ZS5hZGRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG5cbiAgICAgICAgICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25SZXF1aXJlZCh7IHF1ZXN0aW9uSWQ6IGdyb3VwLnZhbHVlLmlkLCBpc1JlcXVpcmVkOiB0cnVlIH0pKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcXVlc3Rpb25Hcm91cC5jb250cm9scy5hbnN3ZXJJZC5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgICBxdWVzdGlvbkdyb3VwLmNvbnRyb2xzLmFuc3dlclZhbHVlLmNsZWFyVmFsaWRhdG9ycygpO1xuXG4gICAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvblJlcXVpcmVkKHsgcXVlc3Rpb25JZDogZ3JvdXAudmFsdWUuaWQsIGlzUmVxdWlyZWQ6IGZhbHNlIH0pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHF1ZXN0aW9uR3JvdXAuY29udHJvbHMuYW5zd2VySWQudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICBxdWVzdGlvbkdyb3VwLmNvbnRyb2xzLmFuc3dlclZhbHVlLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgIH1cblxuICAgIH0pO1xuXG4gICAgaWYgKGFuc3dlcklkKSB7XG4gICAgICBncm91cC5jb250cm9scy5hbnN3ZXJJZC5zZXRWYWx1ZShhbnN3ZXJJZCk7XG4gICAgfVxuXG4gICAgdGhpcy5mQ3RybHMucXVlc3Rpb25BcnIucHVzaChncm91cCk7XG4gIH1cblxuICBwcml2YXRlIGZpbGxRdWVzdGlvbkFuc3dlcnMobmV4dEdyb3VwSW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuckZvcm0udmFsdWU7XG4gICAgdmFyIGdyb3VwID0gdGhpcy5mQ3RybHMucXVlc3Rpb25BcnIuYXQobmV4dEdyb3VwSW5kZXgpO1xuICAgIGlmIChncm91cCkge1xuICAgICAgaWYgKGdyb3VwLnZhbHVlLmxldmVsID09IDIpIHtcbiAgICAgICAgdGhpcy5fQXBpU2VydmljZS5nZXRBbGxQcm9ncmFtc1JlbGF0ZWRUb0luc3RpdHV0aW9ucyh7XG4gICAgICAgICAgc3VibWlzc2lvbklkOiBmb3JtVmFsdWUuaW5zdGl0dXRpb25JZCxcbiAgICAgICAgICBnZW5lcmF0ZWRJZDogZm9ybVZhbHVlLmluc3RpdHV0aW9uR2VuZXJhdGVkSWQsIHJlcXVlc3RUaW1lc3RhbXA6IGZvcm1WYWx1ZS5pbnN0aXR1dGlvblRpbWVzdGFtcFxuICAgICAgICB9KS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgIGdyb3VwLmNvbnRyb2xzLmFuc3dlcnMuc2V0VmFsdWUocmVzLnJlc3BvbnNlRGV0YWlscy5tYXAoeCA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBpZDogeC5nZW5lcmF0ZWRLZXksXG4gICAgICAgICAgICAgIG5hbWU6IHRoaXMuaXNBcmFiaWNMYW5nID09IHRydWUgPyB4LnByb2dyYW1OYW1lQXJhYmljIDogeC5wcm9ncmFtTmFtZUVuZ2xpc2hcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX0FwaVNlcnZpY2UuZ2V0QWxsQnJhbmNoZXMoeyBzdWJtaXNzaW9uSWQ6IGZvcm1WYWx1ZS5pbnN0aXR1dGlvbklkLCByZXF1ZXN0VGltZXN0YW1wOiBmb3JtVmFsdWUuaW5zdGl0dXRpb25UaW1lc3RhbXAgfSkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICB0aGlzLmZDdHJscy5xdWVzdGlvbkFyci5hdChuZXh0R3JvdXBJbmRleCArIDEpLmNvbnRyb2xzLmFuc3dlcnMuc2V0VmFsdWUocmVzLnJlc3BvbnNlRGV0YWlscy5tYXAoeCA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBpZDogeC5icmFuY2hTdWJtaXNzaW9uSWQsXG4gICAgICAgICAgICAgIG5hbWU6IHRoaXMuaXNBcmFiaWNMYW5nID09IHRydWUgPyB4LmJyYW5jaE5hbWVJbkFyYWJpYyA6IHguYnJhbmNoTmFtZUluRW5nbGlzaFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBlbHNlIGlmIChncm91cC52YWx1ZS5sZXZlbCA9PSA0KSB7XG4gICAgICAgIHRoaXMuX0FwaVNlcnZpY2UuZ2V0QWxsQ29sbGFnZXMoeyBzdWJtaXNzaW9uSWQ6IGZvcm1WYWx1ZS5pbnN0aXR1dGlvbklkLCBicmFuY2hTdWJtaXNzaW9uSWQ6IGZvcm1WYWx1ZS5icmFuY2hJZCwgcmVxdWVzdFRpbWVzdGFtcDogZm9ybVZhbHVlLmluc3RpdHV0aW9uVGltZXN0YW1wIH0pLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgZ3JvdXAuY29udHJvbHMuYW5zd2Vycy5zZXRWYWx1ZShyZXMucmVzcG9uc2VEZXRhaWxzLm1hcCh4ID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGlkOiB4LmNvbGxhZ2VTdWJtaXNzaW9uSWQsXG4gICAgICAgICAgICAgIG5hbWU6IHRoaXMuaXNBcmFiaWNMYW5nID09IHRydWUgPyB4LmNvbGxhZ2VOYW1lSW5BcmFiaWMgOiB4LmNvbGxhZ2VOYW1lSW5FbmdsaXNoXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKGdyb3VwLnZhbHVlLmxldmVsID09IDUpIHtcbiAgICAgICAgdGhpcy5fQXBpU2VydmljZS5nZXRBbGxTZWN0aW9ucyh7IHN1Ym1pc3Npb25JZDogZm9ybVZhbHVlLmluc3RpdHV0aW9uSWQsIGNvbGxhZ2VTdWJtaXNzaW9uSWQ6IGZvcm1WYWx1ZS5jb2xsYWdlSWQsIHJlcXVlc3RUaW1lc3RhbXA6IGZvcm1WYWx1ZS5pbnN0aXR1dGlvblRpbWVzdGFtcCB9KS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgIGdyb3VwLmNvbnRyb2xzLmFuc3dlcnMuc2V0VmFsdWUocmVzLnJlc3BvbnNlRGV0YWlscy5tYXAoeCA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBpZDogeC5nZW5lcmF0ZWRLZXksXG4gICAgICAgICAgICAgIG5hbWU6IHRoaXMuaXNBcmFiaWNMYW5nID09IHRydWUgPyB4LnNlY3Rpb25OYW1lSW5BcmFiaWMgOiB4LnNlY3Rpb25OYW1lSW5FbmdsaXNoXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKGdyb3VwLnZhbHVlLmxldmVsID09IDYpIHtcbiAgICAgICAgdGhpcy5fQXBpU2VydmljZS5nZXRBbGxQcm9ncmFtcyh7IHN1Ym1pc3Npb25JZDogZm9ybVZhbHVlLmluc3RpdHV0aW9uSWQsIHNlY3Rpb25HZW5lcmF0ZWRLZXk6IGZvcm1WYWx1ZS5zZWN0aW9uSWQsIHJlcXVlc3RUaW1lc3RhbXA6IGZvcm1WYWx1ZS5pbnN0aXR1dGlvblRpbWVzdGFtcCB9KS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgIGdyb3VwLmNvbnRyb2xzLmFuc3dlcnMuc2V0VmFsdWUocmVzLnJlc3BvbnNlRGV0YWlscy5tYXAoeCA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBpZDogeC5nZW5lcmF0ZWRLZXksXG4gICAgICAgICAgICAgIG5hbWU6IHRoaXMuaXNBcmFiaWNMYW5nID09IHRydWUgPyB4LnByb2dyYW1OYW1lQXJhYmljIDogeC5wcm9ncmFtTmFtZUVuZ2xpc2hcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRBbnN3ZXJzT2ZGb3JtR3JvdXBpbkhpZ2hlckxldmVsKGxldmVsOiBudW1iZXIpIHtcbiAgICB0aGlzLmZDdHJscy5xdWVzdGlvbkFyci5jb250cm9scy5mb3JFYWNoKChncm91cDogRm9ybUdyb3VwPFF1ZXN0aW9uR3JvdXBDaGlsZE9mUXVlc3Rpb25JbnN0aXR1dGlvbnNUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+KSA9PiB7XG4gICAgICBpZiAoZ3JvdXAudmFsdWUubGV2ZWwgPiBsZXZlbCkge1xuICAgICAgICBncm91cC5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBhbnN3ZXJJZDogbnVsbCxcbiAgICAgICAgICBhbnN3ZXJWYWx1ZTogbnVsbCxcbiAgICAgICAgICBhbnN3ZXJzOiBbXVxuICAgICAgICB9LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwicXVhc3Rpb25cIj5cbiAgPGgzIGNsYXNzPVwicXVhc3Rpb24tdGl0bGUgbWItMlwiPlxuICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZkN0cmxzLnRpdGxlLnZhbHVlXCI+PC9zcGFuPlxuICA8L2gzPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHF1ZXN0aW9uRm9ybUFycmF5LmNvbnRyb2xzOyB0cmFja0J5OmlkZW50aWZ5IDsgbGV0IGkgPSBpbmRleFwiPlxuICAgIDxkaXYgY2xhc3M9XCJxdWFzdGlvblwiIFthdHRyLmlkXT1cIidxdWVzdGlvbl8nK2l0ZW0udmFsdWUuaWRcIlxuICAgICAgKm5nSWY9XCJpdGVtLnZhbHVlLmxldmVsID09IDEgfHwgKCBpdGVtLnZhbHVlLmxldmVsID4gMSAmJiBpdGVtLnZhbHVlLmFuc3dlcnMubGVuZ3RoID4gMCApXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsnaW52YWxpZC1xdWVzdGlvbic6IGl0ZW0uY29udHJvbHMuYW5zd2VySWQuaW52YWxpZCAgLCAnZC1ub25lJzpmQ3RybHMuaXNTaG93LnZhbHVlICE9IHRydWV9XCI+XG4gICAgICA8aDMgY2xhc3M9XCJxdWFzdGlvbi10aXRsZSBcIj5cbiAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJpdGVtLnZhbHVlLnRpdGxlXCI+PC9zcGFuPlxuICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiByZWQ7XCIgKm5nSWY9XCJmQ3RybHMuaXNSZXF1aXJlZFwiPio8L3NwYW4+XG4gICAgICA8L2gzPlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtcXVhc3Rpb24gdGV4dC1xdWFzdGlvbl9fZHJvcGRvd25cIj5cbiAgICAgICAgPG5nLXNlbGVjdCBbaXRlbXNdPVwiaXRlbS52YWx1ZS5sZXZlbCA9PTEgPyBpbnN0aXR1dGlvbnNRdWVzdGlvbkFycigpIDogaXRlbS52YWx1ZS5hbnN3ZXJzXCIgYmluZFZhbHVlPVwiaWRcIiBiaW5kTGFiZWw9XCJuYW1lXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJpdGVtLmNvbnRyb2xzLmFuc3dlcklkXCIgW3ZpcnR1YWxTY3JvbGxdPVwidHJ1ZVwiIFtkaXNhYmxlZF09XCJmQ3RybHMuaXNEaXNhYmxlZC52YWx1ZVwiIChjaGFuZ2UpPVwib25VcGRhdGVBbnN3ZXIoJGV2ZW50LGkpXCJcbiAgICAgICAgICBbbXVsdGlwbGVdPVwiZmFsc2VcIj5cbiAgICAgICAgPC9uZy1zZWxlY3Q+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG4iXX0=
@@ -16,6 +16,10 @@ export class ApiService {
16
16
  getAllInstitutions() {
17
17
  return this._HttpClient.get(`${this.url}/api/v1/Institutions/GetAllInstitutions`, { headers: new HttpHeaders({ 'disable-error-alert': 'true' }) });
18
18
  }
19
+ getAllProgramsRelatedToInstitutions(filter) {
20
+ var queryString = $.param(filter);
21
+ return this._HttpClient.get(`${this.url}/api/v1/Institutions/GetProgramsForInstitution?${queryString}`, { headers: new HttpHeaders({ 'disable-error-alert': 'true' }) });
22
+ }
19
23
  getAllBranches(filter) {
20
24
  var queryString = $.param(filter);
21
25
  return this._HttpClient.get(`${this.url}/api/v1/Institutions/GetBranches?${queryString}`, { headers: new HttpHeaders({ 'disable-error-alert': 'true' }) });
@@ -44,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
44
48
  type: Inject,
45
49
  args: [LibConfigService]
46
50
  }] }]; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sc0JBQXNCLENBQUM7OztBQWdCeEUsTUFBTSxPQUFPLFVBQVU7SUFHckIsWUFBb0IsV0FBdUIsRUFDUCxpQkFBaUM7UUFEakQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDUCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWdCO1FBQ25FLElBQUksQ0FBQyxHQUFHLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBMkQ7UUFDekUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUF3QixHQUFHLElBQUksQ0FBQyxHQUFHLGtDQUFrQyxXQUFXLEVBQUUsRUFDNUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQTRCLEdBQUcsSUFBSSxDQUFDLEdBQUcseUNBQXlDLEVBQzFHLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFxRDtRQUNsRSxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWtDLEdBQUcsSUFBSSxDQUFDLEdBQUcsb0NBQW9DLFdBQVcsRUFBRSxFQUN4SCxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxjQUFjLENBQUUsTUFBZ0Y7UUFDOUYsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFtQyxHQUFHLElBQUksQ0FBQyxHQUFHLG9DQUFvQyxXQUFXLEVBQUUsRUFDekgsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsY0FBYyxDQUFFLE1BQWlGO1FBQy9GLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBbUMsR0FBRyxJQUFJLENBQUMsR0FBRyxvQ0FBb0MsV0FBVyxFQUFFLEVBQ3pILEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFpRjtRQUM5RixJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQW1DLEdBQUcsSUFBSSxDQUFDLEdBQUcsb0NBQW9DLFdBQVcsRUFBRSxFQUN6SCxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7OEdBekNVLFVBQVUsNENBSVgsZ0JBQWdCO2tIQUpmLFVBQVUsY0FGVCxNQUFNOzsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpYkNvbmZpZ1NlcnZpY2UsIExpYkNvbmZpZ01vZGVsIH0gZnJvbSAnLi9saWItY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XHJcbmltcG9ydCB7IER0b0Jhc2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9iYXNlL2R0by5iYXNlJztcclxuaW1wb3J0IHsgR2V0TmV4dFF1ZXN0aW9uUmVzdWx0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL3Jlc3VsdHMvYXBpLnJlc3VsdCc7XHJcbmltcG9ydCB7IFJlc3VsdER0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL2Jhc2UvcmVzdWx0LmR0byc7XHJcbmltcG9ydCB7IEluc3RpdHV0aW9uRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24uZHRvJztcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25CcmFuY2hEdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi1icmFuY2guZHRvJztcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25Db2xsYWdlRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24tY29sbGFnZS5kdG8nO1xyXG5pbXBvcnQgeyBJbnN0aXR1dGlvblNlY3Rpb25EdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi1zZWN0aW9uLmR0byc7XHJcbmltcG9ydCB7IEluc3RpdHV0aW9uUHJvZ3JhbUR0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLXByb2dyYW0uZHRvJztcclxuZGVjbGFyZSB2YXIgJDogYW55O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpU2VydmljZSB7XHJcbiAgcHJpdmF0ZSB1cmw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX0h0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBASW5qZWN0KExpYkNvbmZpZ1NlcnZpY2UpIHByaXZhdGUgX0xpYkNvbmZpZ1NlcnZpY2U6IExpYkNvbmZpZ01vZGVsKSB7XHJcbiAgICB0aGlzLnVybCA9IF9MaWJDb25maWdTZXJ2aWNlLmFwaVVybDtcclxuICB9XHJcblxyXG4gIGdldE5leHRRdWVzdGlvbihmaWx0ZXI6IHsgYW5zd2VySWQsIHN1cnZleUxhbmd1YWdlSWQsIGFwcGxpY2FudEtleSwgaXNQcmUgfSk6IE9ic2VydmFibGU8R2V0TmV4dFF1ZXN0aW9uUmVzdWx0PiB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8R2V0TmV4dFF1ZXN0aW9uUmVzdWx0PihgJHt0aGlzLnVybH0vYXBpL3YxL1N1cnZleS9HZXROZXh0UXVlc3Rpb24/JHtxdWVyeVN0cmluZ31gLFxyXG4gICAgIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ2Rpc2FibGUtZXJyb3ItYWxlcnQnOiAndHJ1ZScgfSkgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxJbnN0aXR1dGlvbnMoICkge1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxJbnN0aXR1dGlvbkR0bz4+KGAke3RoaXMudXJsfS9hcGkvdjEvSW5zdGl0dXRpb25zL0dldEFsbEluc3RpdHV0aW9uc2AsXHJcbiAgICAgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnZGlzYWJsZS1lcnJvci1hbGVydCc6ICd0cnVlJyB9KSB9KTtcclxuICB9XHJcblxyXG4gIGdldEFsbEJyYW5jaGVzKGZpbHRlcjp7c3VibWlzc2lvbklkOnN0cmluZyAscmVxdWVzdFRpbWVzdGFtcDpzdHJpbmd9ICkge1xyXG4gICAgdmFyIHF1ZXJ5U3RyaW5nID0gJC5wYXJhbShmaWx0ZXIpO1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxJbnN0aXR1dGlvbkJyYW5jaER0bz4+KGAke3RoaXMudXJsfS9hcGkvdjEvSW5zdGl0dXRpb25zL0dldEJyYW5jaGVzPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsQ29sbGFnZXMoIGZpbHRlcjp7c3VibWlzc2lvbklkOnN0cmluZyAsYnJhbmNoU3VibWlzc2lvbklkOnN0cmluZyxyZXF1ZXN0VGltZXN0YW1wOnN0cmluZyB9KSB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPEluc3RpdHV0aW9uQ29sbGFnZUR0bz4+KGAke3RoaXMudXJsfS9hcGkvdjEvSW5zdGl0dXRpb25zL0dldENvbGxhZ2VzPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsU2VjdGlvbnMoIGZpbHRlcjp7c3VibWlzc2lvbklkOnN0cmluZyAsY29sbGFnZVN1Ym1pc3Npb25JZDpzdHJpbmcscmVxdWVzdFRpbWVzdGFtcDpzdHJpbmcgfSkge1xyXG4gICAgdmFyIHF1ZXJ5U3RyaW5nID0gJC5wYXJhbShmaWx0ZXIpO1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxJbnN0aXR1dGlvblNlY3Rpb25EdG8+PihgJHt0aGlzLnVybH0vYXBpL3YxL0luc3RpdHV0aW9ucy9HZXRTZWN0aW9ucz8ke3F1ZXJ5U3RyaW5nfWAsXHJcbiAgICAgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnZGlzYWJsZS1lcnJvci1hbGVydCc6ICd0cnVlJyB9KSB9KTtcclxuICB9XHJcblxyXG4gIGdldEFsbFByb2dyYW1zKGZpbHRlcjp7c3VibWlzc2lvbklkOnN0cmluZyAsc2VjdGlvbkdlbmVyYXRlZEtleTpzdHJpbmcscmVxdWVzdFRpbWVzdGFtcDpzdHJpbmcgfSApIHtcclxuICAgIHZhciBxdWVyeVN0cmluZyA9ICQucGFyYW0oZmlsdGVyKTtcclxuICAgIHJldHVybiB0aGlzLl9IdHRwQ2xpZW50LmdldDxSZXN1bHREdG88SW5zdGl0dXRpb25Qcm9ncmFtRHRvPj4oYCR7dGhpcy51cmx9L2FwaS92MS9JbnN0aXR1dGlvbnMvR2V0UHJvZ3JhbXM/JHtxdWVyeVN0cmluZ31gLFxyXG4gICAgIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ2Rpc2FibGUtZXJyb3ItYWxlcnQnOiAndHJ1ZScgfSkgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sc0JBQXNCLENBQUM7OztBQWlCeEUsTUFBTSxPQUFPLFVBQVU7SUFHckIsWUFBb0IsV0FBdUIsRUFDUCxpQkFBaUM7UUFEakQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDUCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWdCO1FBQ25FLElBQUksQ0FBQyxHQUFHLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBMkQ7UUFDekUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUF3QixHQUFHLElBQUksQ0FBQyxHQUFHLGtDQUFrQyxXQUFXLEVBQUUsRUFDNUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQTRCLEdBQUcsSUFBSSxDQUFDLEdBQUcseUNBQXlDLEVBQzFHLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELG1DQUFtQyxDQUFDLE1BQXlFO1FBQzNHLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBNkMsR0FBRyxJQUFJLENBQUMsR0FBRyxrREFBa0QsV0FBVyxFQUFFLEVBQ2pKLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFxRDtRQUNsRSxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQWtDLEdBQUcsSUFBSSxDQUFDLEdBQUcsb0NBQW9DLFdBQVcsRUFBRSxFQUN4SCxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxjQUFjLENBQUUsTUFBZ0Y7UUFDOUYsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFtQyxHQUFHLElBQUksQ0FBQyxHQUFHLG9DQUFvQyxXQUFXLEVBQUUsRUFDekgsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsY0FBYyxDQUFFLE1BQWlGO1FBQy9GLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBbUMsR0FBRyxJQUFJLENBQUMsR0FBRyxvQ0FBb0MsV0FBVyxFQUFFLEVBQ3pILEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFpRjtRQUM5RixJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQW1DLEdBQUcsSUFBSSxDQUFDLEdBQUcsb0NBQW9DLFdBQVcsRUFBRSxFQUN6SCxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7OEdBL0NVLFVBQVUsNENBSVgsZ0JBQWdCO2tIQUpmLFVBQVUsY0FGVCxNQUFNOzsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpYkNvbmZpZ1NlcnZpY2UsIExpYkNvbmZpZ01vZGVsIH0gZnJvbSAnLi9saWItY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XHJcbmltcG9ydCB7IER0b0Jhc2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9iYXNlL2R0by5iYXNlJztcclxuaW1wb3J0IHsgR2V0TmV4dFF1ZXN0aW9uUmVzdWx0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL3Jlc3VsdHMvYXBpLnJlc3VsdCc7XHJcbmltcG9ydCB7IFJlc3VsdER0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL2Jhc2UvcmVzdWx0LmR0byc7XHJcbmltcG9ydCB7IEluc3RpdHV0aW9uRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24uZHRvJztcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25CcmFuY2hEdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi1icmFuY2guZHRvJztcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25Db2xsYWdlRHRvIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24tY29sbGFnZS5kdG8nO1xyXG5pbXBvcnQgeyBJbnN0aXR1dGlvblNlY3Rpb25EdG8gfSBmcm9tICcuLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi1zZWN0aW9uLmR0byc7XHJcbmltcG9ydCB7IEluc3RpdHV0aW9uUHJvZ3JhbUR0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLXByb2dyYW0uZHRvJztcclxuaW1wb3J0IHsgUHJvZ3JhbXNSZWxhdGVkVG9JbnN0aXR1dGlvbkR0byB9IGZyb20gJy4uLy4uL3NoYXJlZC9kdG9zL3Byb2dyYW1zLXJlbGF0ZWQtdG8taW5zdGl0dXRpb24uZHRvJztcclxuZGVjbGFyZSB2YXIgJDogYW55O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpU2VydmljZSB7XHJcbiAgcHJpdmF0ZSB1cmw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX0h0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBASW5qZWN0KExpYkNvbmZpZ1NlcnZpY2UpIHByaXZhdGUgX0xpYkNvbmZpZ1NlcnZpY2U6IExpYkNvbmZpZ01vZGVsKSB7XHJcbiAgICB0aGlzLnVybCA9IF9MaWJDb25maWdTZXJ2aWNlLmFwaVVybDtcclxuICB9XHJcblxyXG4gIGdldE5leHRRdWVzdGlvbihmaWx0ZXI6IHsgYW5zd2VySWQsIHN1cnZleUxhbmd1YWdlSWQsIGFwcGxpY2FudEtleSwgaXNQcmUgfSk6IE9ic2VydmFibGU8R2V0TmV4dFF1ZXN0aW9uUmVzdWx0PiB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8R2V0TmV4dFF1ZXN0aW9uUmVzdWx0PihgJHt0aGlzLnVybH0vYXBpL3YxL1N1cnZleS9HZXROZXh0UXVlc3Rpb24/JHtxdWVyeVN0cmluZ31gLFxyXG4gICAgIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ2Rpc2FibGUtZXJyb3ItYWxlcnQnOiAndHJ1ZScgfSkgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxJbnN0aXR1dGlvbnMoICkge1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxJbnN0aXR1dGlvbkR0bz4+KGAke3RoaXMudXJsfS9hcGkvdjEvSW5zdGl0dXRpb25zL0dldEFsbEluc3RpdHV0aW9uc2AsXHJcbiAgICAgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnZGlzYWJsZS1lcnJvci1hbGVydCc6ICd0cnVlJyB9KSB9KTtcclxuICB9XHJcblxyXG4gIGdldEFsbFByb2dyYW1zUmVsYXRlZFRvSW5zdGl0dXRpb25zKGZpbHRlcjp7c3VibWlzc2lvbklkOnN0cmluZyAsZ2VuZXJhdGVkSWQ6c3RyaW5nLHJlcXVlc3RUaW1lc3RhbXA6c3RyaW5nIH0gKSB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPFByb2dyYW1zUmVsYXRlZFRvSW5zdGl0dXRpb25EdG8+PihgJHt0aGlzLnVybH0vYXBpL3YxL0luc3RpdHV0aW9ucy9HZXRQcm9ncmFtc0Zvckluc3RpdHV0aW9uPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsQnJhbmNoZXMoZmlsdGVyOntzdWJtaXNzaW9uSWQ6c3RyaW5nICxyZXF1ZXN0VGltZXN0YW1wOnN0cmluZ30gKSB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPEluc3RpdHV0aW9uQnJhbmNoRHRvPj4oYCR7dGhpcy51cmx9L2FwaS92MS9JbnN0aXR1dGlvbnMvR2V0QnJhbmNoZXM/JHtxdWVyeVN0cmluZ31gLFxyXG4gICAgIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ2Rpc2FibGUtZXJyb3ItYWxlcnQnOiAndHJ1ZScgfSkgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxDb2xsYWdlcyggZmlsdGVyOntzdWJtaXNzaW9uSWQ6c3RyaW5nICxicmFuY2hTdWJtaXNzaW9uSWQ6c3RyaW5nLHJlcXVlc3RUaW1lc3RhbXA6c3RyaW5nIH0pIHtcclxuICAgIHZhciBxdWVyeVN0cmluZyA9ICQucGFyYW0oZmlsdGVyKTtcclxuICAgIHJldHVybiB0aGlzLl9IdHRwQ2xpZW50LmdldDxSZXN1bHREdG88SW5zdGl0dXRpb25Db2xsYWdlRHRvPj4oYCR7dGhpcy51cmx9L2FwaS92MS9JbnN0aXR1dGlvbnMvR2V0Q29sbGFnZXM/JHtxdWVyeVN0cmluZ31gLFxyXG4gICAgIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ2Rpc2FibGUtZXJyb3ItYWxlcnQnOiAndHJ1ZScgfSkgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxTZWN0aW9ucyggZmlsdGVyOntzdWJtaXNzaW9uSWQ6c3RyaW5nICxjb2xsYWdlU3VibWlzc2lvbklkOnN0cmluZyxyZXF1ZXN0VGltZXN0YW1wOnN0cmluZyB9KSB7XHJcbiAgICB2YXIgcXVlcnlTdHJpbmcgPSAkLnBhcmFtKGZpbHRlcik7XHJcbiAgICByZXR1cm4gdGhpcy5fSHR0cENsaWVudC5nZXQ8UmVzdWx0RHRvPEluc3RpdHV0aW9uU2VjdGlvbkR0bz4+KGAke3RoaXMudXJsfS9hcGkvdjEvSW5zdGl0dXRpb25zL0dldFNlY3Rpb25zPyR7cXVlcnlTdHJpbmd9YCxcclxuICAgICB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdkaXNhYmxlLWVycm9yLWFsZXJ0JzogJ3RydWUnIH0pIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsUHJvZ3JhbXMoZmlsdGVyOntzdWJtaXNzaW9uSWQ6c3RyaW5nICxzZWN0aW9uR2VuZXJhdGVkS2V5OnN0cmluZyxyZXF1ZXN0VGltZXN0YW1wOnN0cmluZyB9ICkge1xyXG4gICAgdmFyIHF1ZXJ5U3RyaW5nID0gJC5wYXJhbShmaWx0ZXIpO1xyXG4gICAgcmV0dXJuIHRoaXMuX0h0dHBDbGllbnQuZ2V0PFJlc3VsdER0bzxJbnN0aXR1dGlvblByb2dyYW1EdG8+PihgJHt0aGlzLnVybH0vYXBpL3YxL0luc3RpdHV0aW9ucy9HZXRQcm9ncmFtcz8ke3F1ZXJ5U3RyaW5nfWAsXHJcbiAgICAgeyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnZGlzYWJsZS1lcnJvci1hbGVydCc6ICd0cnVlJyB9KSB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbXMtcmVsYXRlZC10by1pbnN0aXR1dGlvbi5kdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvc2hhcmVkL2R0b3MvcHJvZ3JhbXMtcmVsYXRlZC10by1pbnN0aXR1dGlvbi5kdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUHJvZ3JhbXNSZWxhdGVkVG9JbnN0aXR1dGlvbkR0byB7XHJcbiAgICBnZW5lcmF0ZWRLZXk6IHN0cmluZyxcclxuICAgIHByb2dyYW1OYW1lQXJhYmljOiBzdHJpbmcsXHJcbiAgICBwcm9ncmFtTmFtZUVuZ2xpc2g6IHN0cmluZyxcclxufSJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tSW5zdGl0dXRpb25zLXRlbXBsYXRlLmZvcm0taW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VydmVyeS1saWIvc3JjL3NoYXJlZC9mb3JtLWludGVyZmFjZXMvcXVlc3Rpb24tSW5zdGl0dXRpb25zLXRlbXBsYXRlLmZvcm0taW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gXCIuLi9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW1cIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb25JbnN0aXR1dGlvbnNUZW1wbGF0ZUZvcm1JbnRlcmZhY2Uge1xyXG4gICAgbWF4TGV2ZWxWYWx1ZTogRm9ybUNvbnRyb2w8bnVtYmVyPjtcclxuICAgIGlkOiBGb3JtQ29udHJvbDxhbnk+O1xyXG4gICAgdGl0bGU6IEZvcm1Db250cm9sPHN0cmluZz47XHJcbiAgICBpc1JlcXVpcmVkOiBGb3JtQ29udHJvbDxib29sZWFuPjtcclxuICAgIGlzU2hvdzogIEZvcm1Db250cm9sPGJvb2xlYW4+O1xyXG4gICAgaXNEaXNhYmxlZDogRm9ybUNvbnRyb2w8Ym9vbGVhbj47XHJcbiAgICBpbnN0aXR1dGlvbklkOiBGb3JtQ29udHJvbDxhbnk+O1xyXG4gICAgaW5zdGl0dXRpb25UaW1lc3RhbXA6IEZvcm1Db250cm9sPHN0cmluZz47XHJcbiAgICBicmFuY2hJZDogRm9ybUNvbnRyb2w8YW55PjtcclxuICAgIGNvbGxhZ2VJZDogRm9ybUNvbnRyb2w8YW55PjtcclxuICAgIHNlY3Rpb25JZDogRm9ybUNvbnRyb2w8YW55PjtcclxuICAgIHF1ZXN0aW9uQXJyOiBGb3JtQXJyYXk8Rm9ybUdyb3VwPCBRdWVzdGlvbkdyb3VwQ2hpbGRPZlF1ZXN0aW9uSW5zdGl0dXRpb25zVGVtcGxhdGVGb3JtSW50ZXJmYWNlPj47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZSB7XHJcbiAgICBpZDogRm9ybUNvbnRyb2w8YW55PjtcclxuICAgIG5hbWU6IEZvcm1Db250cm9sPHN0cmluZz47XHJcbiAgICB0aXRsZTogRm9ybUNvbnRyb2w8c3RyaW5nPjtcclxuICAgIGRlc2NyaXB0aW9uOiBGb3JtQ29udHJvbDxzdHJpbmc+O1xyXG4gICAgbGV2ZWwgOiBGb3JtQ29udHJvbDxudW1iZXI+O1xyXG4gICAgbGV2ZWxBbnN3ZXJJZDogIEZvcm1Db250cm9sPG51bWJlcj47XHJcbiAgICB0eXBlSWQ6Rm9ybUNvbnRyb2w8UXVlc3Rpb25UeXBlRW51bT47XHJcbiAgICBhbnN3ZXJzOkZvcm1Db250cm9sPHtpZCxuYW1lfVtdPjtcclxuICAgIGFuc3dlclZhbHVlOkZvcm1Db250cm9sPHN0cmluZz47XHJcbiAgICBhbnN3ZXJJZDpGb3JtQ29udHJvbDxzdHJpbmc+O1xyXG59Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tSW5zdGl0dXRpb25zLXRlbXBsYXRlLmZvcm0taW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VydmVyeS1saWIvc3JjL3NoYXJlZC9mb3JtLWludGVyZmFjZXMvcXVlc3Rpb24tSW5zdGl0dXRpb25zLXRlbXBsYXRlLmZvcm0taW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gXCIuLi9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW1cIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb25JbnN0aXR1dGlvbnNUZW1wbGF0ZUZvcm1JbnRlcmZhY2Uge1xyXG4gICAgbWF4TGV2ZWxWYWx1ZTogRm9ybUNvbnRyb2w8bnVtYmVyPjtcclxuICAgIGlkOiBGb3JtQ29udHJvbDxhbnk+O1xyXG4gICAgdGl0bGU6IEZvcm1Db250cm9sPHN0cmluZz47XHJcbiAgICBpc1JlcXVpcmVkOiBGb3JtQ29udHJvbDxib29sZWFuPjtcclxuICAgIGlzU2hvdzogIEZvcm1Db250cm9sPGJvb2xlYW4+O1xyXG4gICAgaXNEaXNhYmxlZDogRm9ybUNvbnRyb2w8Ym9vbGVhbj47XHJcbiAgICBpbnN0aXR1dGlvbklkOiBGb3JtQ29udHJvbDxhbnk+O1xyXG4gICAgaW5zdGl0dXRpb25UaW1lc3RhbXA6IEZvcm1Db250cm9sPHN0cmluZz47XHJcbiAgICBpbnN0aXR1dGlvbkdlbmVyYXRlZElkOiBGb3JtQ29udHJvbDxzdHJpbmc+O1xyXG4gICAgcHJvZ3JhbVJlbGF0ZWRUb0luc3RpdHV0aW9uSWQ6IEZvcm1Db250cm9sPGFueT47XHJcbiAgICBicmFuY2hJZDogRm9ybUNvbnRyb2w8YW55PjtcclxuICAgIGNvbGxhZ2VJZDogRm9ybUNvbnRyb2w8YW55PjtcclxuICAgIHNlY3Rpb25JZDogRm9ybUNvbnRyb2w8YW55PjtcclxuICAgIHByb2dyYW1JZDogRm9ybUNvbnRyb2w8YW55PjtcclxuICAgIHF1ZXN0aW9uQXJyOiBGb3JtQXJyYXk8Rm9ybUdyb3VwPCBRdWVzdGlvbkdyb3VwQ2hpbGRPZlF1ZXN0aW9uSW5zdGl0dXRpb25zVGVtcGxhdGVGb3JtSW50ZXJmYWNlPj47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlRm9ybUludGVyZmFjZSB7XHJcbiAgICBpZDogRm9ybUNvbnRyb2w8YW55PjtcclxuICAgIG5hbWU6IEZvcm1Db250cm9sPHN0cmluZz47XHJcbiAgICB0aXRsZTogRm9ybUNvbnRyb2w8c3RyaW5nPjtcclxuICAgIGRlc2NyaXB0aW9uOiBGb3JtQ29udHJvbDxzdHJpbmc+O1xyXG4gICAgbGV2ZWwgOiBGb3JtQ29udHJvbDxudW1iZXI+O1xyXG4gICAgbGV2ZWxBbnN3ZXJJZDogIEZvcm1Db250cm9sPG51bWJlcj47XHJcbiAgICB0eXBlSWQ6Rm9ybUNvbnRyb2w8UXVlc3Rpb25UeXBlRW51bT47XHJcbiAgICBhbnN3ZXJzOkZvcm1Db250cm9sPHtpZCxuYW1lfVtdPjtcclxuICAgIGFuc3dlclZhbHVlOkZvcm1Db250cm9sPHN0cmluZz47XHJcbiAgICBhbnN3ZXJJZDpGb3JtQ29udHJvbDxzdHJpbmc+O1xyXG59XHJcbiJdfQ==
@@ -1496,6 +1496,10 @@ class ApiService {
1496
1496
  getAllInstitutions() {
1497
1497
  return this._HttpClient.get(`${this.url}/api/v1/Institutions/GetAllInstitutions`, { headers: new HttpHeaders({ 'disable-error-alert': 'true' }) });
1498
1498
  }
1499
+ getAllProgramsRelatedToInstitutions(filter) {
1500
+ var queryString = $.param(filter);
1501
+ return this._HttpClient.get(`${this.url}/api/v1/Institutions/GetProgramsForInstitution?${queryString}`, { headers: new HttpHeaders({ 'disable-error-alert': 'true' }) });
1502
+ }
1499
1503
  getAllBranches(filter) {
1500
1504
  var queryString = $.param(filter);
1501
1505
  return this._HttpClient.get(`${this.url}/api/v1/Institutions/GetBranches?${queryString}`, { headers: new HttpHeaders({ 'disable-error-alert': 'true' }) });
@@ -1815,6 +1819,7 @@ class QuestionInstitutionsTemplateComponent {
1815
1819
  isShow: value.isShow
1816
1820
  });
1817
1821
  value.questionAllInfo.surveySubQuestionLevels.forEach(surveySubQuestionLevel => {
1822
+ console.log(surveySubQuestionLevel);
1818
1823
  var question = this.pageQuestions$().find(x => x.questionId == value.questionId);
1819
1824
  this.setQuestionFormGroup(surveySubQuestionLevel, question?.isRequired, question?.answerId);
1820
1825
  });
@@ -1834,6 +1839,7 @@ class QuestionInstitutionsTemplateComponent {
1834
1839
  id: x.submissionId,
1835
1840
  name: this.isArabicLang == true ? x.institutionNameArabic : x.institutionNameEnglish,
1836
1841
  requestTimestamp: x.requestTimestamp,
1842
+ generatedId: x.generatedId
1837
1843
  };
1838
1844
  });
1839
1845
  });
@@ -1846,9 +1852,12 @@ class QuestionInstitutionsTemplateComponent {
1846
1852
  isRequired: new FormControl(null),
1847
1853
  institutionId: new FormControl(null),
1848
1854
  institutionTimestamp: new FormControl(null),
1855
+ institutionGeneratedId: new FormControl(null),
1856
+ programRelatedToInstitutionId: new FormControl(null),
1849
1857
  branchId: new FormControl(null),
1850
1858
  collageId: new FormControl(null),
1851
1859
  sectionId: new FormControl(null),
1860
+ programId: new FormControl(null),
1852
1861
  questionArr: this._formBuilder.array([])
1853
1862
  });
1854
1863
  }
@@ -1897,31 +1906,39 @@ class QuestionInstitutionsTemplateComponent {
1897
1906
  this.rForm.patchValue({
1898
1907
  institutionId: answerId,
1899
1908
  institutionTimestamp: this.institutionsQuestionArr().find(x => x.id == answerId)?.requestTimestamp,
1909
+ institutionGeneratedId: this.institutionsQuestionArr().find(x => x.id == answerId)?.generatedId,
1900
1910
  branchId: null,
1901
1911
  collageId: null,
1902
1912
  sectionId: null
1903
1913
  }, { emitEvent: false });
1904
1914
  }
1905
1915
  else if (value.level == 2) {
1916
+ this.rForm.patchValue({
1917
+ programId: answerId
1918
+ }, { emitEvent: false });
1919
+ }
1920
+ else if (value.level == 3) {
1906
1921
  this.rForm.patchValue({
1907
1922
  branchId: answerId,
1908
1923
  collageId: null,
1909
1924
  sectionId: null
1910
1925
  }, { emitEvent: false });
1911
1926
  }
1912
- else if (value.level == 3) {
1927
+ else if (value.level == 4) {
1913
1928
  this.rForm.patchValue({
1914
1929
  collageId: answerId,
1915
1930
  sectionId: null
1916
1931
  }, { emitEvent: false });
1917
1932
  }
1918
- else if (value.level == 4) {
1933
+ else if (value.level == 5) {
1919
1934
  this.rForm.patchValue({
1920
1935
  sectionId: answerId
1921
1936
  }, { emitEvent: false });
1922
1937
  }
1923
1938
  const level = group.value.level;
1924
- this.resetAnswersOfFormGroupinHigherLevel(level);
1939
+ if (level != 2) {
1940
+ this.resetAnswersOfFormGroupinHigherLevel(level);
1941
+ }
1925
1942
  var nextGroupIndex = this.fCtrls.questionArr.controls.findIndex(x => x.value.level == level + 1);
1926
1943
  if (nextGroupIndex) {
1927
1944
  this.fillQuestionAnswers(nextGroupIndex);
@@ -1958,8 +1975,19 @@ class QuestionInstitutionsTemplateComponent {
1958
1975
  var group = this.fCtrls.questionArr.at(nextGroupIndex);
1959
1976
  if (group) {
1960
1977
  if (group.value.level == 2) {
1961
- this._ApiService.getAllBranches({ submissionId: formValue.institutionId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
1978
+ this._ApiService.getAllProgramsRelatedToInstitutions({
1979
+ submissionId: formValue.institutionId,
1980
+ generatedId: formValue.institutionGeneratedId, requestTimestamp: formValue.institutionTimestamp
1981
+ }).pipe(take(1)).subscribe(res => {
1962
1982
  group.controls.answers.setValue(res.responseDetails.map(x => {
1983
+ return {
1984
+ id: x.generatedKey,
1985
+ name: this.isArabicLang == true ? x.programNameArabic : x.programNameEnglish
1986
+ };
1987
+ }));
1988
+ });
1989
+ this._ApiService.getAllBranches({ submissionId: formValue.institutionId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
1990
+ this.fCtrls.questionArr.at(nextGroupIndex + 1).controls.answers.setValue(res.responseDetails.map(x => {
1963
1991
  return {
1964
1992
  id: x.branchSubmissionId,
1965
1993
  name: this.isArabicLang == true ? x.branchNameInArabic : x.branchNameInEnglish
@@ -1967,7 +1995,7 @@ class QuestionInstitutionsTemplateComponent {
1967
1995
  }));
1968
1996
  });
1969
1997
  }
1970
- else if (group.value.level == 3) {
1998
+ else if (group.value.level == 4) {
1971
1999
  this._ApiService.getAllCollages({ submissionId: formValue.institutionId, branchSubmissionId: formValue.branchId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
1972
2000
  group.controls.answers.setValue(res.responseDetails.map(x => {
1973
2001
  return {
@@ -1977,7 +2005,7 @@ class QuestionInstitutionsTemplateComponent {
1977
2005
  }));
1978
2006
  });
1979
2007
  }
1980
- else if (group.value.level == 4) {
2008
+ else if (group.value.level == 5) {
1981
2009
  this._ApiService.getAllSections({ submissionId: formValue.institutionId, collageSubmissionId: formValue.collageId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
1982
2010
  group.controls.answers.setValue(res.responseDetails.map(x => {
1983
2011
  return {
@@ -1987,7 +2015,7 @@ class QuestionInstitutionsTemplateComponent {
1987
2015
  }));
1988
2016
  });
1989
2017
  }
1990
- else if (group.value.level == 5) {
2018
+ else if (group.value.level == 6) {
1991
2019
  this._ApiService.getAllPrograms({ submissionId: formValue.institutionId, sectionGeneratedKey: formValue.sectionId, requestTimestamp: formValue.institutionTimestamp }).pipe(take(1)).subscribe(res => {
1992
2020
  group.controls.answers.setValue(res.responseDetails.map(x => {
1993
2021
  return {