survery-lib 2.1.23 → 2.1.25

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.
@@ -85,6 +85,10 @@ export class QuestionBooleanTemplateComponent {
85
85
  //updated answer
86
86
  if (oldValue?.answerId != newValue?.answerId) {
87
87
  this.fCtrls.answer.setValue(newValue?.answerId, { emitEvent: false });
88
+ const groupIndex = this.fCtrls.answerArray.value.findIndex(x => x.id == newValue?.answerId);
89
+ if (groupIndex > -1) {
90
+ this.fCtrls.answerArray.at(groupIndex).controls.isSelected.setValue(true);
91
+ }
88
92
  }
89
93
  //updated isDisabled
90
94
  if (oldValue?.isDisabled != newValue?.isDisabled) {
@@ -114,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
114
118
  }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.SurveyLibService }, { type: i3.Store }]; }, propDecorators: { setQuestion: [{
115
119
  type: Input
116
120
  }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tYm9vbGVhbi10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb24tYm9vbGVhbi10ZW1wbGF0ZS9xdWVzdGlvbi1ib29sZWFuLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1ib29sZWFuLXRlbXBsYXRlL3F1ZXN0aW9uLWJvb2xlYW4tdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBMEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUc1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBUSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZGLE9BQU8sRUFBRSxFQUFFLElBQUksYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7O0FBT3JGLE1BQU0sT0FBTyxnQ0FBZ0M7SUFNM0MsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBYSxXQUFXLENB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SUFBa0U7UUFDL0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELG9CQUFvQixDQUFDLE9BQVk7UUFDL0IsT0FBTyxPQUFzQixDQUFDO0lBQ2hDLENBQUM7OEdBN0dVLGdDQUFnQztrR0FBaEMsZ0NBQWdDLDZHQ3RCN0MscWdDQWVNOzsyRkRPTyxnQ0FBZ0M7a0JBTDVDLFNBQVM7K0JBQ0UsK0JBQStCO3FKQWtCNUIsV0FBVztzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvcXVlc3Rpb24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgUXVlc3Rpb25SYWRpb0J1dHRvblRlbXBsYXRlRm9ybUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mb3JtLWludGVyZmFjZXMvcXVlc3Rpb24tcmFkaW8tYnV0dG9uLXRlbXBsYXRlLmZvcm0taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgUXVlc3Rpb25BbnN3ZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9tb2RlbHMvcXVlc3Rpb24tYW5zd2VyLm1vZGVsJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBmaW5kLCBtYXAsIHBhaXJ3aXNlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFuc3dlckNoaWxkT2ZRdWVzdGlvbkJvb2xlYW5UZW1wbGF0ZUZvcm1JbnRlcmZhY2UsIFF1ZXN0aW9uQm9vbGVhblRlbXBsYXRlRm9ybUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mb3JtLWludGVyZmFjZXMvcXVlc3Rpb24tYm9vbGVhbi10ZW1wbGF0ZS5mb3JtLWludGVyZmFjZSc7XHJcbmltcG9ydCB7IHY0IGFzIGd1aWRHZW5lcmF0b3IgfSBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgU3VydmV5QW5zd2VyRHRvIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LWFuc3dlci5kdG8nO1xyXG5pbXBvcnQgeyBEZWZhdWx0UXVlc3Rpb25BbnN3ZXJEdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9kZWZhdWx0LXF1ZXN0aW9uLWFuc3dlcnMuZHRvJztcclxuaW1wb3J0IHsgU3VydmV5TGliU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N1cnZleS1saWIuc2VydmljZSc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uTmdyeE1vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvZW50aXRlcy9xdWVzdGlvbi5lbnRpdHknO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgc3VydmV5QWN0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9zdXJ2ZXkuYWN0aW9uJztcclxuaW1wb3J0IHsgcXVlc3Rpb25TZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9zdXJ2ZXktc3RvcmUvcXVlc3Rpb24uc2VsZWN0b3InO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tYm9vbGVhbi10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXN0aW9uLWJvb2xlYW4tdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3F1ZXN0aW9uLWJvb2xlYW4tdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25Cb29sZWFuVGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGVsZW1JZCA9IGd1aWRHZW5lcmF0b3IoKSBhcyBzdHJpbmc7XHJcbiAgc3VydmV5UXVlc3Rpb246IFN1cnZleVF1ZXN0aW9uRHRvO1xyXG4gIHJGb3JtOiBGb3JtR3JvdXA8UXVlc3Rpb25Cb29sZWFuVGVtcGxhdGVGb3JtSW50ZXJmYWNlPjtcclxuICBxdWVzdGlvbkFyciA9IHRoaXMuX1N0b3JlLnNlbGVjdFNpZ25hbChxdWVzdGlvblNlbGVjdG9ycy5wYWdlUXVlc3Rpb25zKTtcclxuXHJcbiAgZ2V0IGZDdHJscygpIHtcclxuICAgIHJldHVybiB0aGlzLnJGb3JtLmNvbnRyb2xzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHF1ZXN0aW9uVHlwZUVudW0oKSB7XHJcbiAgICByZXR1cm4gUXVlc3Rpb25UeXBlRW51bTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldCBzZXRRdWVzdGlvbih2YWx1ZTogUXVlc3Rpb25OZ3J4TW9kZWwpIHtcclxuICAgIGlmICghdGhpcy5zdXJ2ZXlRdWVzdGlvbikge1xyXG4gICAgICB0aGlzLnN1cnZleVF1ZXN0aW9uID0gdmFsdWUucXVlc3Rpb25BbGxJbmZvO1xyXG4gICAgICB0aGlzLnJGb3JtLnBhdGNoVmFsdWUoe1xyXG4gICAgICAgIGlkOiB2YWx1ZS5xdWVzdGlvbklkLFxyXG4gICAgICAgIG5hbWU6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvbk5hbWUsXHJcbiAgICAgICAgdGl0bGU6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvblRpdGxlLFxyXG4gICAgICAgIHR5cGVJZDogdmFsdWUucXVlc3Rpb25BbGxJbmZvLnF1ZXN0aW9uVHlwZUlkLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8ucXVlc3Rpb25EZXNjcmlwdGlvbixcclxuICAgICAgICBpc0Rpc2FibGVkOiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8uaXNSZWFkT25seSxcclxuICAgICAgICBpc1Nob3c6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5pc1Zpc2FibGVcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB2YWx1ZS5xdWVzdGlvbkFsbEluZm8uc3VydmV5QW5zd2Vycy5mb3JFYWNoKHN1cnZlcnlBbnN3ZXIgPT4ge1xyXG4gICAgICAgIHRoaXMuZkN0cmxzLmFuc3dlckFycmF5LnB1c2godGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXA8QW5zd2VyQ2hpbGRPZlF1ZXN0aW9uQm9vbGVhblRlbXBsYXRlRm9ybUludGVyZmFjZT4oe1xyXG4gICAgICAgICAgaWQ6IG5ldyBGb3JtQ29udHJvbCggc3VydmVyeUFuc3dlci5hbnN3ZXJJZCksXHJcbiAgICAgICAgICB0aXRsZTogIG5ldyBGb3JtQ29udHJvbChzdXJ2ZXJ5QW5zd2VyLmFuc3dlclRpdGxlKSxcclxuICAgICAgICAgIGlzU2VsZWN0ZWQ6ICBuZXcgRm9ybUNvbnRyb2woZmFsc2UpXHJcbiAgICAgICAgfSkpXHJcbiAgICAgIH0pXHJcblxyXG4gICAgICBpZiAodmFsdWUuaXNSZXF1aXJlZCA9PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcclxuICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB2YXIgcXVlc3Rpb24gPSB0aGlzLnF1ZXN0aW9uQXJyKCkuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSB2YWx1ZS5xdWVzdGlvbklkKTtcclxuICAgICAgaWYgKHF1ZXN0aW9uPy5hbnN3ZXJJZCkge1xyXG4gICAgICAgIHRoaXMuckZvcm0ucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgICBhbnN3ZXIgOiBxdWVzdGlvbi5hbnN3ZXJJZCxcclxuICAgICAgICAgIGlzRGlzYWJsZWQ6IHF1ZXN0aW9uLmlzRGlzYWJsZWQsXHJcbiAgICAgICAgICBpc1Nob3c6IHF1ZXN0aW9uLmlzU2hvd1xyXG4gICAgICAgIH0se2VtaXRFdmVudDpmYWxzZX0pO1xyXG4gICAgICAgIHRoaXMuZkN0cmxzLmFuc3dlckFycmF5LmNvbnRyb2xzLmZpbmQoeCA9PiB4LnZhbHVlLmlkID09IHF1ZXN0aW9uLmFuc3dlcklkKS5jb250cm9scy5pc1NlbGVjdGVkLnNldFZhbHVlKHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9mb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgX3N1cnZleUxpYlNlcnZpY2U6IFN1cnZleUxpYlNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9TdG9yZTogU3RvcmUpIHtcclxuICAgIHRoaXMuckZvcm0gPSB0aGlzLl9mb3JtQnVpbGRlci5ncm91cDxRdWVzdGlvbkJvb2xlYW5UZW1wbGF0ZUZvcm1JbnRlcmZhY2U+KHtcclxuICAgICAgaWQ6ICBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIG5hbWU6ICBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIHRpdGxlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIHR5cGVJZDogIG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgZGVzY3JpcHRpb246IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgYW5zd2VyOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAgIGlzRGlzYWJsZWQ6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksXHJcbiAgICAgIGlzU2hvdzogIG5ldyBGb3JtQ29udHJvbCh0cnVlKSwgXHJcbiAgICAgIGFuc3dlckFycmF5OiB0aGlzLl9mb3JtQnVpbGRlci5hcnJheTxGb3JtR3JvdXA8QW5zd2VyQ2hpbGRPZlF1ZXN0aW9uQm9vbGVhblRlbXBsYXRlRm9ybUludGVyZmFjZT4+KFtdKSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZDdHJscy5hbnN3ZXIudmFsdWVDaGFuZ2VzLnBpcGUoKS5waXBlKGRlYm91bmNlVGltZSgyMDApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLnJGb3JtLnZhbHVlO1xyXG4gICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uQW5zd2VyKHtcclxuICAgICAgICBxdWVzdGlvbklkOiBmb3JtVmFsdWUuaWQsXHJcbiAgICAgICAgYW5zd2VyOiB2YWx1ZSxcclxuICAgICAgICBpc1ZhbGlkOiB0aGlzLmZDdHJscy5hbnN3ZXIudmFsaWRcclxuICAgICAgfSkpXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9TdG9yZS5zZWxlY3QocXVlc3Rpb25TZWxlY3RvcnMucGFnZVF1ZXN0aW9ucykucGlwZShtYXAoYXJyID0+IGFyci5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHRoaXMuZkN0cmxzLmlkLnZhbHVlKSkpXHJcbiAgICAgIC5waXBlKGZpbHRlcih4ID0+IHggIT0gbnVsbCksIHBhaXJ3aXNlKCkpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSB2YWx1ZVswXTtcclxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHZhbHVlWzFdO1xyXG5cclxuICAgICAgICAvL3VwZGF0ZWQgYW5zd2VyXHJcbiAgICAgICAgaWYgKG9sZFZhbHVlPy5hbnN3ZXJJZCAhPSBuZXdWYWx1ZT8uYW5zd2VySWQpIHtcclxuICAgICAgICAgIHRoaXMuZkN0cmxzLmFuc3dlci5zZXRWYWx1ZShuZXdWYWx1ZT8uYW5zd2VySWQsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vdXBkYXRlZCBpc0Rpc2FibGVkXHJcbiAgICAgICAgaWYgKG9sZFZhbHVlPy5pc0Rpc2FibGVkICE9IG5ld1ZhbHVlPy5pc0Rpc2FibGVkKSB7XHJcbiAgICAgICAgICB0aGlzLmZDdHJscy5pc0Rpc2FibGVkLnNldFZhbHVlKG5ld1ZhbHVlPy5pc0Rpc2FibGVkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vdXBkYXRlZCBpc1Nob3dcclxuICAgICAgICBpZiAob2xkVmFsdWU/LmlzU2hvdyAhPSBuZXdWYWx1ZT8uaXNTaG93KSB7XHJcbiAgICAgICAgICB0aGlzLmZDdHJscy5pc1Nob3cuc2V0VmFsdWUobmV3VmFsdWU/LmlzU2hvdyk7XHJcblxyXG4gICAgICAgICAgaWYgKG5ld1ZhbHVlPy5pc1Nob3cgPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlQW5zd2VyKGl0ZW06IEZvcm1Hcm91cDxBbnN3ZXJDaGlsZE9mUXVlc3Rpb25Cb29sZWFuVGVtcGxhdGVGb3JtSW50ZXJmYWNlPikge1xyXG4gICAgdGhpcy5mQ3RybHMuYW5zd2VyLnNldFZhbHVlKGl0ZW0udmFsdWUuaWQpO1xyXG4gIH1cclxuXHJcbiAgY29udmVydFRvRm9ybUNvbnRyb2woZWxlbWVudDogYW55KSB7XHJcbiAgICByZXR1cm4gZWxlbWVudCBhcyBGb3JtQ29udHJvbDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInF1YXN0aW9uXCIgW2F0dHIuaWRdPVwiJ3F1ZXN0aW9uXycrZkN0cmxzLmlkLnZhbHVlXCJcclxuICAgIFtuZ0NsYXNzXT1cInsnaW52YWxpZC1xdWVzdGlvbic6IGZDdHJscy5hbnN3ZXIuaW52YWxpZCAgLCAnZC1ub25lJzpmQ3RybHMuaXNTaG93LnZhbHVlICE9IHRydWV9XCI+XHJcbiAgICA8aDMgY2xhc3M9XCJxdWFzdGlvbi10aXRsZSBcIj5cclxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImZDdHJscy50aXRsZS52YWx1ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiByZWQ7XCIgKm5nSWY9XCJzdXJ2ZXlRdWVzdGlvbi5pc1JlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgIDwvaDM+XHJcbiAgICA8ZGl2IGNsYXNzPVwicmFkaW8tYnV0dG9uLXF1YXN0aW9uXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1jaGVjay1yYWRpbyBmb3JtLWNoZWNrLWlubGluZVwiXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZDdHJscy5hbnN3ZXJBcnJheS5jb250cm9scyA7bGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cInJhZGlvXCIgKGNoYW5nZSk9XCJvbkNoYW5nZUFuc3dlcihpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZkN0cmxzLmlzRGlzYWJsZWQudmFsdWVcIiBuYW1lPVwie3tlbGVtSWR9fV9fcmFkaW8tYnRuLW9wdGlvblwiXHJcbiAgICAgICAgICAgICAgICBpZD1cInt7ZWxlbUlkfX1fX3JhZGlvLWJ0bl97e2l9fVwiIFtjaGVja2VkXT1cIml0ZW0udmFsdWUuaXNTZWxlY3RlZCA9PSB0cnVlPyB0cnVlIDogbnVsbFwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwie3tlbGVtSWR9fV9fcmFkaW8tYnRuX3t7aX19XCI+e3tpdGVtLnZhbHVlLnRpdGxlfX08L2xhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tYm9vbGVhbi10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb24tYm9vbGVhbi10ZW1wbGF0ZS9xdWVzdGlvbi1ib29sZWFuLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1ib29sZWFuLXRlbXBsYXRlL3F1ZXN0aW9uLWJvb2xlYW4tdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBMEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUc1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBUSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZGLE9BQU8sRUFBRSxFQUFFLElBQUksYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7O0FBT3JGLE1BQU0sT0FBTyxnQ0FBZ0M7SUFNM0MsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBYSxXQUFXLENB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Z0I7WUFDaEIsSUFBSSxRQUFRLEVBQUUsTUFBTSxJQUFJLFFBQVEsRUFBRSxNQUFNLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBRTlDLElBQUksUUFBUSxFQUFFLE1BQU0sSUFBSSxLQUFLLEVBQUU7b0JBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDbkM7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFrRTtRQUMvRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsT0FBWTtRQUMvQixPQUFPLE9BQXNCLENBQUM7SUFDaEMsQ0FBQzs4R0FsSFUsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsNkdDdEI3QyxxZ0NBZU07OzJGRE9PLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSwrQkFBK0I7cUpBa0I1QixXQUFXO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktcXVlc3Rpb24uZHRvJztcclxuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBRdWVzdGlvblJhZGlvQnV0dG9uVGVtcGxhdGVGb3JtSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9xdWVzdGlvbi1yYWRpby1idXR0b24tdGVtcGxhdGUuZm9ybS1pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkFuc3dlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL21vZGVscy9xdWVzdGlvbi1hbnN3ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIGZpbmQsIG1hcCwgcGFpcndpc2UgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQW5zd2VyQ2hpbGRPZlF1ZXN0aW9uQm9vbGVhblRlbXBsYXRlRm9ybUludGVyZmFjZSwgUXVlc3Rpb25Cb29sZWFuVGVtcGxhdGVGb3JtSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9xdWVzdGlvbi1ib29sZWFuLXRlbXBsYXRlLmZvcm0taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgdjQgYXMgZ3VpZEdlbmVyYXRvciB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlBbnN3ZXJEdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktYW5zd2VyLmR0byc7XHJcbmltcG9ydCB7IERlZmF1bHRRdWVzdGlvbkFuc3dlckR0byB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kdG9zL2RlZmF1bHQtcXVlc3Rpb24tYW5zd2Vycy5kdG8nO1xyXG5pbXBvcnQgeyBTdXJ2ZXlMaWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3VydmV5LWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUXVlc3Rpb25OZ3J4TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eSc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24nO1xyXG5pbXBvcnQgeyBxdWVzdGlvblNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9xdWVzdGlvbi5zZWxlY3Rvcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1xdWVzdGlvbi1ib29sZWFuLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcXVlc3Rpb24tYm9vbGVhbi10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcXVlc3Rpb24tYm9vbGVhbi10ZW1wbGF0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRdWVzdGlvbkJvb2xlYW5UZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZWxlbUlkID0gZ3VpZEdlbmVyYXRvcigpIGFzIHN0cmluZztcclxuICBzdXJ2ZXlRdWVzdGlvbjogU3VydmV5UXVlc3Rpb25EdG87XHJcbiAgckZvcm06IEZvcm1Hcm91cDxRdWVzdGlvbkJvb2xlYW5UZW1wbGF0ZUZvcm1JbnRlcmZhY2U+O1xyXG4gIHF1ZXN0aW9uQXJyID0gdGhpcy5fU3RvcmUuc2VsZWN0U2lnbmFsKHF1ZXN0aW9uU2VsZWN0b3JzLnBhZ2VRdWVzdGlvbnMpO1xyXG5cclxuICBnZXQgZkN0cmxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuckZvcm0uY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBnZXQgcXVlc3Rpb25UeXBlRW51bSgpIHtcclxuICAgIHJldHVybiBRdWVzdGlvblR5cGVFbnVtO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IHNldFF1ZXN0aW9uKHZhbHVlOiBRdWVzdGlvbk5ncnhNb2RlbCkge1xyXG4gICAgaWYgKCF0aGlzLnN1cnZleVF1ZXN0aW9uKSB7XHJcbiAgICAgIHRoaXMuc3VydmV5UXVlc3Rpb24gPSB2YWx1ZS5xdWVzdGlvbkFsbEluZm87XHJcbiAgICAgIHRoaXMuckZvcm0ucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgaWQ6IHZhbHVlLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgbmFtZTogdmFsdWUucXVlc3Rpb25BbGxJbmZvLnF1ZXN0aW9uTmFtZSxcclxuICAgICAgICB0aXRsZTogdmFsdWUucXVlc3Rpb25BbGxJbmZvLnF1ZXN0aW9uVGl0bGUsXHJcbiAgICAgICAgdHlwZUlkOiB2YWx1ZS5xdWVzdGlvbkFsbEluZm8ucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgZGVzY3JpcHRpb246IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5xdWVzdGlvbkRlc2NyaXB0aW9uLFxyXG4gICAgICAgIGlzRGlzYWJsZWQ6IHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5pc1JlYWRPbmx5LFxyXG4gICAgICAgIGlzU2hvdzogdmFsdWUucXVlc3Rpb25BbGxJbmZvLmlzVmlzYWJsZVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHZhbHVlLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzLmZvckVhY2goc3VydmVyeUFuc3dlciA9PiB7XHJcbiAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyQXJyYXkucHVzaCh0aGlzLl9mb3JtQnVpbGRlci5ncm91cDxBbnN3ZXJDaGlsZE9mUXVlc3Rpb25Cb29sZWFuVGVtcGxhdGVGb3JtSW50ZXJmYWNlPih7XHJcbiAgICAgICAgICBpZDogbmV3IEZvcm1Db250cm9sKCBzdXJ2ZXJ5QW5zd2VyLmFuc3dlcklkKSxcclxuICAgICAgICAgIHRpdGxlOiAgbmV3IEZvcm1Db250cm9sKHN1cnZlcnlBbnN3ZXIuYW5zd2VyVGl0bGUpLFxyXG4gICAgICAgICAgaXNTZWxlY3RlZDogIG5ldyBGb3JtQ29udHJvbChmYWxzZSlcclxuICAgICAgICB9KSlcclxuICAgICAgfSlcclxuXHJcbiAgICAgIGlmICh2YWx1ZS5pc1JlcXVpcmVkID09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xyXG4gICAgICAgIHRoaXMuZkN0cmxzLmFuc3dlci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHZhciBxdWVzdGlvbiA9IHRoaXMucXVlc3Rpb25BcnIoKS5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHZhbHVlLnF1ZXN0aW9uSWQpO1xyXG4gICAgICBpZiAocXVlc3Rpb24/LmFuc3dlcklkKSB7XHJcbiAgICAgICAgdGhpcy5yRm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgICAgIGFuc3dlciA6IHF1ZXN0aW9uLmFuc3dlcklkLFxyXG4gICAgICAgICAgaXNEaXNhYmxlZDogcXVlc3Rpb24uaXNEaXNhYmxlZCxcclxuICAgICAgICAgIGlzU2hvdzogcXVlc3Rpb24uaXNTaG93XHJcbiAgICAgICAgfSx7ZW1pdEV2ZW50OmZhbHNlfSk7XHJcbiAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyQXJyYXkuY29udHJvbHMuZmluZCh4ID0+IHgudmFsdWUuaWQgPT0gcXVlc3Rpb24uYW5zd2VySWQpLmNvbnRyb2xzLmlzU2VsZWN0ZWQuc2V0VmFsdWUodHJ1ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2Zvcm1CdWlsZGVyOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBfc3VydmV5TGliU2VydmljZTogU3VydmV5TGliU2VydmljZSxcclxuICAgIHByaXZhdGUgX1N0b3JlOiBTdG9yZSkge1xyXG4gICAgdGhpcy5yRm9ybSA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwPFF1ZXN0aW9uQm9vbGVhblRlbXBsYXRlRm9ybUludGVyZmFjZT4oe1xyXG4gICAgICBpZDogIG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgbmFtZTogIG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgdGl0bGU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgdHlwZUlkOiAgbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICBkZXNjcmlwdGlvbjogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICBhbnN3ZXI6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgaXNEaXNhYmxlZDogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcclxuICAgICAgaXNTaG93OiAgbmV3IEZvcm1Db250cm9sKHRydWUpLCBcclxuICAgICAgYW5zd2VyQXJyYXk6IHRoaXMuX2Zvcm1CdWlsZGVyLmFycmF5PEZvcm1Hcm91cDxBbnN3ZXJDaGlsZE9mUXVlc3Rpb25Cb29sZWFuVGVtcGxhdGVGb3JtSW50ZXJmYWNlPj4oW10pLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZkN0cmxzLmFuc3dlci52YWx1ZUNoYW5nZXMucGlwZSgpLnBpcGUoZGVib3VuY2VUaW1lKDIwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuckZvcm0udmFsdWU7XHJcbiAgICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25BbnN3ZXIoe1xyXG4gICAgICAgIHF1ZXN0aW9uSWQ6IGZvcm1WYWx1ZS5pZCxcclxuICAgICAgICBhbnN3ZXI6IHZhbHVlLFxyXG4gICAgICAgIGlzVmFsaWQ6IHRoaXMuZkN0cmxzLmFuc3dlci52YWxpZFxyXG4gICAgICB9KSlcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX1N0b3JlLnNlbGVjdChxdWVzdGlvblNlbGVjdG9ycy5wYWdlUXVlc3Rpb25zKS5waXBlKG1hcChhcnIgPT4gYXJyLmZpbmQoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gdGhpcy5mQ3RybHMuaWQudmFsdWUpKSlcclxuICAgICAgLnBpcGUoZmlsdGVyKHggPT4geCAhPSBudWxsKSwgcGFpcndpc2UoKSkuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHZhbHVlWzBdO1xyXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdmFsdWVbMV07XHJcblxyXG4gICAgICAgIC8vdXBkYXRlZCBhbnN3ZXJcclxuICAgICAgICBpZiAob2xkVmFsdWU/LmFuc3dlcklkICE9IG5ld1ZhbHVlPy5hbnN3ZXJJZCkge1xyXG4gICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLnNldFZhbHVlKG5ld1ZhbHVlPy5hbnN3ZXJJZCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG5cclxuICAgICAgICBjb25zdCBncm91cEluZGV4ID0gdGhpcy5mQ3RybHMuYW5zd2VyQXJyYXkudmFsdWUuZmluZEluZGV4KHggPT4geC5pZCA9PSBuZXdWYWx1ZT8uYW5zd2VySWQpO1xyXG4gICAgICAgIGlmIChncm91cEluZGV4ID4gLTEpIHtcclxuICAgICAgICAgIHRoaXMuZkN0cmxzLmFuc3dlckFycmF5LmF0KGdyb3VwSW5kZXgpLmNvbnRyb2xzLmlzU2VsZWN0ZWQuc2V0VmFsdWUodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAgIC8vdXBkYXRlZCBpc0Rpc2FibGVkXHJcbiAgICAgICAgaWYgKG9sZFZhbHVlPy5pc0Rpc2FibGVkICE9IG5ld1ZhbHVlPy5pc0Rpc2FibGVkKSB7XHJcbiAgICAgICAgICB0aGlzLmZDdHJscy5pc0Rpc2FibGVkLnNldFZhbHVlKG5ld1ZhbHVlPy5pc0Rpc2FibGVkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vdXBkYXRlZCBpc1Nob3dcclxuICAgICAgICBpZiAob2xkVmFsdWU/LmlzU2hvdyAhPSBuZXdWYWx1ZT8uaXNTaG93KSB7XHJcbiAgICAgICAgICB0aGlzLmZDdHJscy5pc1Nob3cuc2V0VmFsdWUobmV3VmFsdWU/LmlzU2hvdyk7XHJcblxyXG4gICAgICAgICAgaWYgKG5ld1ZhbHVlPy5pc1Nob3cgPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlQW5zd2VyKGl0ZW06IEZvcm1Hcm91cDxBbnN3ZXJDaGlsZE9mUXVlc3Rpb25Cb29sZWFuVGVtcGxhdGVGb3JtSW50ZXJmYWNlPikge1xyXG4gICAgdGhpcy5mQ3RybHMuYW5zd2VyLnNldFZhbHVlKGl0ZW0udmFsdWUuaWQpO1xyXG4gIH1cclxuXHJcbiAgY29udmVydFRvRm9ybUNvbnRyb2woZWxlbWVudDogYW55KSB7XHJcbiAgICByZXR1cm4gZWxlbWVudCBhcyBGb3JtQ29udHJvbDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInF1YXN0aW9uXCIgW2F0dHIuaWRdPVwiJ3F1ZXN0aW9uXycrZkN0cmxzLmlkLnZhbHVlXCJcclxuICAgIFtuZ0NsYXNzXT1cInsnaW52YWxpZC1xdWVzdGlvbic6IGZDdHJscy5hbnN3ZXIuaW52YWxpZCAgLCAnZC1ub25lJzpmQ3RybHMuaXNTaG93LnZhbHVlICE9IHRydWV9XCI+XHJcbiAgICA8aDMgY2xhc3M9XCJxdWFzdGlvbi10aXRsZSBcIj5cclxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImZDdHJscy50aXRsZS52YWx1ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiByZWQ7XCIgKm5nSWY9XCJzdXJ2ZXlRdWVzdGlvbi5pc1JlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgIDwvaDM+XHJcbiAgICA8ZGl2IGNsYXNzPVwicmFkaW8tYnV0dG9uLXF1YXN0aW9uXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1jaGVjay1yYWRpbyBmb3JtLWNoZWNrLWlubGluZVwiXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZDdHJscy5hbnN3ZXJBcnJheS5jb250cm9scyA7bGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgdHlwZT1cInJhZGlvXCIgKGNoYW5nZSk9XCJvbkNoYW5nZUFuc3dlcihpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZkN0cmxzLmlzRGlzYWJsZWQudmFsdWVcIiBuYW1lPVwie3tlbGVtSWR9fV9fcmFkaW8tYnRuLW9wdGlvblwiXHJcbiAgICAgICAgICAgICAgICBpZD1cInt7ZWxlbUlkfX1fX3JhZGlvLWJ0bl97e2l9fVwiIFtjaGVja2VkXT1cIml0ZW0udmFsdWUuaXNTZWxlY3RlZCA9PSB0cnVlPyB0cnVlIDogbnVsbFwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwie3tlbGVtSWR9fV9fcmFkaW8tYnRuX3t7aX19XCI+e3tpdGVtLnZhbHVlLnRpdGxlfX08L2xhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -4,7 +4,9 @@ const addQuestion = createAction('[Survey library] Add Question', props());
4
4
  const updateQuestionAnswer = createAction('[Survey library] Update Question Answer', props());
5
5
  const updateInstitutionQuestionAnswer = createAction('[Survey library] Update Institution Question Answer', props());
6
6
  const updateQuestionShow = createAction('[Survey library] Update Question Show', props());
7
+ const updateQuestionsShow = createAction('[Survey library] Update Questions Show', props());
7
8
  const updateQuestionDisable = createAction('[Survey library] Update Question Disable', props());
9
+ const updateQuestionsDisable = createAction('[Survey library] Update Questions Disable', props());
8
10
  const updateQuestionRequired = createAction('[Survey library] Update Question Required', props());
9
11
  const removeQuestion = createAction('[Survey library] Remove Question', props());
10
12
  const updatePageId = createAction('[Survey library] Update Page Id', props());
@@ -16,11 +18,13 @@ export const surveyActions = {
16
18
  updateQuestionAnswer,
17
19
  updateInstitutionQuestionAnswer,
18
20
  updateQuestionShow,
21
+ updateQuestionsShow,
19
22
  updateQuestionDisable,
23
+ updateQuestionsDisable,
20
24
  updateQuestionRequired,
21
25
  removeQuestion,
22
26
  updatePageId,
23
27
  loadInstitutionArr,
24
28
  loadInstitutionArrSuccess
25
29
  };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFNbEQsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLDhCQUE4QixFQUFFLEtBQUssRUFDTSxDQUFDLENBQUM7QUFFN0UsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLCtCQUErQixFQUFDLEtBQUssRUFBZ0MsQ0FBQyxDQUFBO0FBQ3ZHLE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDLHlDQUF5QyxFQUFDLEtBQUssRUFBcUQsQ0FBQyxDQUFDO0FBQ2hKLE1BQU0sK0JBQStCLEdBQUcsWUFBWSxDQUFDLHFEQUFxRCxFQUN0RyxLQUFLLEVBQXNGLENBQUMsQ0FBQztBQUNqRyxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyx1Q0FBdUMsRUFBQyxLQUFLLEVBQXNDLENBQUMsQ0FBQztBQUM3SCxNQUFNLHFCQUFxQixHQUFHLFlBQVksQ0FBQywwQ0FBMEMsRUFBQyxLQUFLLEVBQTJDLENBQUMsQ0FBQztBQUN4SSxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQywyQ0FBMkMsRUFBQyxLQUFLLEVBQTJDLENBQUMsQ0FBQztBQUMxSSxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsa0NBQWtDLEVBQUMsS0FBSyxFQUFvQixDQUFDLENBQUE7QUFFakcsTUFBTSxZQUFZLEdBQUksWUFBWSxDQUFDLGlDQUFpQyxFQUFDLEtBQUssRUFBbUIsQ0FBQyxDQUFDO0FBRS9GLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLHVDQUF1QyxDQUFDLENBQUM7QUFDakYsTUFBTSx5QkFBeUIsR0FBRyxZQUFZLENBQUMsK0NBQStDLEVBQUMsS0FBSyxFQUFxQyxDQUFDLENBQUE7QUFFMUksTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFFO0lBQ3hCLFVBQVU7SUFDVixXQUFXO0lBQ1gsb0JBQW9CO0lBQ3BCLCtCQUErQjtJQUMvQixrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixjQUFjO0lBQ2QsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQix5QkFBeUI7Q0FDNUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHsgUXVlc3Rpb25OZ3J4TW9kZWwgfSBmcm9tIFwiLi4vZW50aXRlcy9xdWVzdGlvbi5lbnRpdHlcIjtcclxuaW1wb3J0IHsgUnVsZU5ncnhNb2RlbCB9IGZyb20gXCIuLi9lbnRpdGVzL3J1bGUuZW50aXR5XCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9uR3JvdXBOZ3J4TW9kZWwgfSBmcm9tIFwiLi4vZW50aXRlcy9xdWVzdGlvbi1ncm91cC5lbnRpdHlcIjtcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25EdG8gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24uZHRvXCI7XHJcblxyXG5jb25zdCBsb2FkU3VydmV5ID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIExvYWQgU3VydmV5JywgcHJvcHM8eyBxdWVzdGlvbkFycjogUXVlc3Rpb25OZ3J4TW9kZWxbXSAsIHJ1bGVBcnI6UnVsZU5ncnhNb2RlbFtdICxcclxuICAgIHF1ZXN0aW9uR3JvdXBBcnIgOiBRdWVzdGlvbkdyb3VwTmdyeE1vZGVsW10gLHNlbGVjdGVkUGFnZUlkOm51bWJlciB9PigpKTtcclxuXHJcbmNvbnN0IGFkZFF1ZXN0aW9uID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIEFkZCBRdWVzdGlvbicscHJvcHM8e3F1ZXN0aW9uOlF1ZXN0aW9uTmdyeE1vZGVsfT4oKSlcclxuY29uc3QgdXBkYXRlUXVlc3Rpb25BbnN3ZXIgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gVXBkYXRlIFF1ZXN0aW9uIEFuc3dlcicscHJvcHM8e3F1ZXN0aW9uSWQ6YW55ICwgYW5zd2VyIDphbnkgLGlzVmFsaWQgOiBib29sZWFufT4oKSk7XHJcbmNvbnN0IHVwZGF0ZUluc3RpdHV0aW9uUXVlc3Rpb25BbnN3ZXIgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gVXBkYXRlIEluc3RpdHV0aW9uIFF1ZXN0aW9uIEFuc3dlcicsXHJcbiAgICBwcm9wczx7cXVlc3Rpb25JZDphbnkgLCBhbnN3ZXIgOmFueSAsYW5zd2VySWQ6YW55ICxhbnN3ZXJMZXZlbElkOmFueSAsaXNWYWxpZCA6IGJvb2xlYW59PigpKTtcclxuY29uc3QgdXBkYXRlUXVlc3Rpb25TaG93ID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbiBTaG93Jyxwcm9wczx7cXVlc3Rpb25JZDphbnkgLGlzU2hvdyA6IGJvb2xlYW59PigpKTtcclxuY29uc3QgdXBkYXRlUXVlc3Rpb25EaXNhYmxlID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbiBEaXNhYmxlJyxwcm9wczx7cXVlc3Rpb25JZDphbnkgLCBpc0Rpc2FibGVkIDogYm9vbGVhbn0+KCkpO1xyXG5jb25zdCB1cGRhdGVRdWVzdGlvblJlcXVpcmVkID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbiBSZXF1aXJlZCcscHJvcHM8e3F1ZXN0aW9uSWQ6YW55ICwgaXNSZXF1aXJlZCA6IGJvb2xlYW59PigpKTtcclxuY29uc3QgcmVtb3ZlUXVlc3Rpb24gPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gUmVtb3ZlIFF1ZXN0aW9uJyxwcm9wczx7cXVlc3Rpb25JZDphbnl9PigpKVxyXG5cclxuY29uc3QgdXBkYXRlUGFnZUlkID0gIGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBVcGRhdGUgUGFnZSBJZCcscHJvcHM8e3BhZ2VJZDpudW1iZXJ9PigpKTtcclxuXHJcbmNvbnN0IGxvYWRJbnN0aXR1dGlvbkFyciA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBMb2FkIEluc3RpdHV0aW9uIEFycicpO1xyXG5jb25zdCBsb2FkSW5zdGl0dXRpb25BcnJTdWNjZXNzID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIExvYWQgSW5zdGl0dXRpb24gQXJyIFN1Y2Nlc3MnLHByb3BzPHtpbnN0aXR1dGlvbkFycjpJbnN0aXR1dGlvbkR0b1tdfT4oKSlcclxuXHJcbmV4cG9ydCBjb25zdCBzdXJ2ZXlBY3Rpb25zID17XHJcbiAgICBsb2FkU3VydmV5ICxcclxuICAgIGFkZFF1ZXN0aW9uICxcclxuICAgIHVwZGF0ZVF1ZXN0aW9uQW5zd2VyLFxyXG4gICAgdXBkYXRlSW5zdGl0dXRpb25RdWVzdGlvbkFuc3dlcixcclxuICAgIHVwZGF0ZVF1ZXN0aW9uU2hvdyxcclxuICAgIHVwZGF0ZVF1ZXN0aW9uRGlzYWJsZSxcclxuICAgIHVwZGF0ZVF1ZXN0aW9uUmVxdWlyZWQsXHJcbiAgICByZW1vdmVRdWVzdGlvbiAsXHJcbiAgICB1cGRhdGVQYWdlSWQgLFxyXG4gICAgbG9hZEluc3RpdHV0aW9uQXJyLFxyXG4gICAgbG9hZEluc3RpdHV0aW9uQXJyU3VjY2Vzc1xyXG59XHJcbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFNbEQsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLDhCQUE4QixFQUFFLEtBQUssRUFDTSxDQUFDLENBQUM7QUFFN0UsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLCtCQUErQixFQUFDLEtBQUssRUFBZ0MsQ0FBQyxDQUFBO0FBQ3ZHLE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDLHlDQUF5QyxFQUFDLEtBQUssRUFBcUQsQ0FBQyxDQUFDO0FBQ2hKLE1BQU0sK0JBQStCLEdBQUcsWUFBWSxDQUFDLHFEQUFxRCxFQUN0RyxLQUFLLEVBQXNGLENBQUMsQ0FBQztBQUNqRyxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyx1Q0FBdUMsRUFBQyxLQUFLLEVBQXNDLENBQUMsQ0FBQztBQUM3SCxNQUFNLG1CQUFtQixHQUFHLFlBQVksQ0FBQyx3Q0FBd0MsRUFBQyxLQUFLLEVBQXlDLENBQUMsQ0FBQztBQUNsSSxNQUFNLHFCQUFxQixHQUFHLFlBQVksQ0FBQywwQ0FBMEMsRUFBQyxLQUFLLEVBQTJDLENBQUMsQ0FBQztBQUN4SSxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQywyQ0FBMkMsRUFBQyxLQUFLLEVBQThDLENBQUMsQ0FBQztBQUM3SSxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQywyQ0FBMkMsRUFBQyxLQUFLLEVBQTJDLENBQUMsQ0FBQztBQUMxSSxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsa0NBQWtDLEVBQUMsS0FBSyxFQUFvQixDQUFDLENBQUE7QUFFakcsTUFBTSxZQUFZLEdBQUksWUFBWSxDQUFDLGlDQUFpQyxFQUFDLEtBQUssRUFBbUIsQ0FBQyxDQUFDO0FBRS9GLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLHVDQUF1QyxDQUFDLENBQUM7QUFDakYsTUFBTSx5QkFBeUIsR0FBRyxZQUFZLENBQUMsK0NBQStDLEVBQUMsS0FBSyxFQUFxQyxDQUFDLENBQUE7QUFFMUksTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFFO0lBQ3hCLFVBQVU7SUFDVixXQUFXO0lBQ1gsb0JBQW9CO0lBQ3BCLCtCQUErQjtJQUMvQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixzQkFBc0I7SUFDdEIsc0JBQXNCO0lBQ3RCLGNBQWM7SUFDZCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLHlCQUF5QjtDQUM1QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQWN0aW9uLCBwcm9wcyB9IGZyb20gXCJAbmdyeC9zdG9yZVwiO1xyXG5pbXBvcnQgeyBRdWVzdGlvbk5ncnhNb2RlbCB9IGZyb20gXCIuLi9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eVwiO1xyXG5pbXBvcnQgeyBSdWxlTmdyeE1vZGVsIH0gZnJvbSBcIi4uL2VudGl0ZXMvcnVsZS5lbnRpdHlcIjtcclxuaW1wb3J0IHsgUXVlc3Rpb25Hcm91cE5ncnhNb2RlbCB9IGZyb20gXCIuLi9lbnRpdGVzL3F1ZXN0aW9uLWdyb3VwLmVudGl0eVwiO1xyXG5pbXBvcnQgeyBJbnN0aXR1dGlvbkR0byB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvZHRvcy9pbnN0aXR1dGlvbi5kdG9cIjtcclxuXHJcbmNvbnN0IGxvYWRTdXJ2ZXkgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gTG9hZCBTdXJ2ZXknLCBwcm9wczx7IHF1ZXN0aW9uQXJyOiBRdWVzdGlvbk5ncnhNb2RlbFtdICwgcnVsZUFycjpSdWxlTmdyeE1vZGVsW10gLFxyXG4gICAgcXVlc3Rpb25Hcm91cEFyciA6IFF1ZXN0aW9uR3JvdXBOZ3J4TW9kZWxbXSAsc2VsZWN0ZWRQYWdlSWQ6bnVtYmVyIH0+KCkpO1xyXG5cclxuY29uc3QgYWRkUXVlc3Rpb24gPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gQWRkIFF1ZXN0aW9uJyxwcm9wczx7cXVlc3Rpb246UXVlc3Rpb25OZ3J4TW9kZWx9PigpKVxyXG5jb25zdCB1cGRhdGVRdWVzdGlvbkFuc3dlciA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBVcGRhdGUgUXVlc3Rpb24gQW5zd2VyJyxwcm9wczx7cXVlc3Rpb25JZDphbnkgLCBhbnN3ZXIgOmFueSAsaXNWYWxpZCA6IGJvb2xlYW59PigpKTtcclxuY29uc3QgdXBkYXRlSW5zdGl0dXRpb25RdWVzdGlvbkFuc3dlciA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBVcGRhdGUgSW5zdGl0dXRpb24gUXVlc3Rpb24gQW5zd2VyJyxcclxuICAgIHByb3BzPHtxdWVzdGlvbklkOmFueSAsIGFuc3dlciA6YW55ICxhbnN3ZXJJZDphbnkgLGFuc3dlckxldmVsSWQ6YW55ICxpc1ZhbGlkIDogYm9vbGVhbn0+KCkpO1xyXG5jb25zdCB1cGRhdGVRdWVzdGlvblNob3cgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gVXBkYXRlIFF1ZXN0aW9uIFNob3cnLHByb3BzPHtxdWVzdGlvbklkOmFueSAsaXNTaG93IDogYm9vbGVhbn0+KCkpO1xyXG5jb25zdCB1cGRhdGVRdWVzdGlvbnNTaG93ID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBRdWVzdGlvbnMgU2hvdycscHJvcHM8e3F1ZXN0aW9uSWRzOmFueVtdLCBpc1Nob3cgOiBib29sZWFufT4oKSk7XHJcbmNvbnN0IHVwZGF0ZVF1ZXN0aW9uRGlzYWJsZSA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBVcGRhdGUgUXVlc3Rpb24gRGlzYWJsZScscHJvcHM8e3F1ZXN0aW9uSWQ6YW55ICwgaXNEaXNhYmxlZCA6IGJvb2xlYW59PigpKTtcclxuY29uc3QgdXBkYXRlUXVlc3Rpb25zRGlzYWJsZSA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBVcGRhdGUgUXVlc3Rpb25zIERpc2FibGUnLHByb3BzPHtxdWVzdGlvbklkczphbnlbXSAsIGlzRGlzYWJsZWQgOiBib29sZWFufT4oKSk7XHJcbmNvbnN0IHVwZGF0ZVF1ZXN0aW9uUmVxdWlyZWQgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gVXBkYXRlIFF1ZXN0aW9uIFJlcXVpcmVkJyxwcm9wczx7cXVlc3Rpb25JZDphbnkgLCBpc1JlcXVpcmVkIDogYm9vbGVhbn0+KCkpO1xyXG5jb25zdCByZW1vdmVRdWVzdGlvbiA9IGNyZWF0ZUFjdGlvbignW1N1cnZleSBsaWJyYXJ5XSBSZW1vdmUgUXVlc3Rpb24nLHByb3BzPHtxdWVzdGlvbklkOmFueX0+KCkpXHJcblxyXG5jb25zdCB1cGRhdGVQYWdlSWQgPSAgY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIFVwZGF0ZSBQYWdlIElkJyxwcm9wczx7cGFnZUlkOm51bWJlcn0+KCkpO1xyXG5cclxuY29uc3QgbG9hZEluc3RpdHV0aW9uQXJyID0gY3JlYXRlQWN0aW9uKCdbU3VydmV5IGxpYnJhcnldIExvYWQgSW5zdGl0dXRpb24gQXJyJyk7XHJcbmNvbnN0IGxvYWRJbnN0aXR1dGlvbkFyclN1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oJ1tTdXJ2ZXkgbGlicmFyeV0gTG9hZCBJbnN0aXR1dGlvbiBBcnIgU3VjY2VzcycscHJvcHM8e2luc3RpdHV0aW9uQXJyOkluc3RpdHV0aW9uRHRvW119PigpKVxyXG5cclxuZXhwb3J0IGNvbnN0IHN1cnZleUFjdGlvbnMgPXtcclxuICAgIGxvYWRTdXJ2ZXkgLFxyXG4gICAgYWRkUXVlc3Rpb24gLFxyXG4gICAgdXBkYXRlUXVlc3Rpb25BbnN3ZXIsXHJcbiAgICB1cGRhdGVJbnN0aXR1dGlvblF1ZXN0aW9uQW5zd2VyLFxyXG4gICAgdXBkYXRlUXVlc3Rpb25TaG93LFxyXG4gICAgdXBkYXRlUXVlc3Rpb25zU2hvdyxcclxuICAgIHVwZGF0ZVF1ZXN0aW9uRGlzYWJsZSxcclxuICAgIHVwZGF0ZVF1ZXN0aW9uc0Rpc2FibGUsXHJcbiAgICB1cGRhdGVRdWVzdGlvblJlcXVpcmVkLFxyXG4gICAgcmVtb3ZlUXVlc3Rpb24gLFxyXG4gICAgdXBkYXRlUGFnZUlkICxcclxuICAgIGxvYWRJbnN0aXR1dGlvbkFycixcclxuICAgIGxvYWRJbnN0aXR1dGlvbkFyclN1Y2Nlc3NcclxufVxyXG4iXX0=
@@ -29,6 +29,8 @@ export class SurveyEffects {
29
29
  });
30
30
  var selectedRuleIdArr = formatedRuleArr.filter(x => x.questionId == action.questionId).map(x => Number(x.ruleId));
31
31
  var arr = ruleArr.filter(x => selectedRuleIdArr.find(c => c == x.ruleId) != null);
32
+ var toggleShowedQuestionIds = [];
33
+ var toggleDisabledQuestionIds = [];
32
34
  arr.forEach(rule => {
33
35
  this._checkRuleExpsUsecase.execute({
34
36
  ruleExps: rule.ruleExps,
@@ -38,28 +40,16 @@ export class SurveyEffects {
38
40
  if (isPassed) {
39
41
  rule.ruleResultQuestions.forEach(resultQuestion => {
40
42
  if (rule.logicActionId == LogicActionEnum.Show) {
41
- this._store.dispatch(surveyActions.updateQuestionShow({
42
- questionId: resultQuestion.questionId,
43
- isShow: true
44
- }));
43
+ toggleShowedQuestionIds.push({ questionId: resultQuestion.questionId, isShow: true });
45
44
  }
46
45
  else if (rule.logicActionId == LogicActionEnum.Hide) {
47
- this._store.dispatch(surveyActions.updateQuestionShow({
48
- questionId: resultQuestion.questionId,
49
- isShow: false
50
- }));
46
+ toggleShowedQuestionIds.push({ questionId: resultQuestion.questionId, isShow: false });
51
47
  }
52
48
  else if (rule.logicActionId == LogicActionEnum.Enable) {
53
- this._store.dispatch(surveyActions.updateQuestionDisable({
54
- questionId: resultQuestion.questionId,
55
- isDisabled: false
56
- }));
49
+ toggleDisabledQuestionIds.push({ questionId: resultQuestion.questionId, isDisabled: false });
57
50
  }
58
51
  else if (rule.logicActionId == LogicActionEnum.Disable) {
59
- this._store.dispatch(surveyActions.updateQuestionDisable({
60
- questionId: resultQuestion.questionId,
61
- isDisabled: true
62
- }));
52
+ toggleDisabledQuestionIds.push({ questionId: resultQuestion.questionId, isDisabled: true });
63
53
  }
64
54
  else if (rule.logicActionId == LogicActionEnum.SetAnswer) {
65
55
  }
@@ -69,28 +59,16 @@ export class SurveyEffects {
69
59
  var subQuestions = questionArr.filter(x => x.parentQuestionId == question.questionId);
70
60
  subQuestions.forEach(subQuestion => {
71
61
  if (rule.logicActionId == LogicActionEnum.Show) {
72
- this._store.dispatch(surveyActions.updateQuestionShow({
73
- questionId: subQuestion.questionId,
74
- isShow: true
75
- }));
62
+ toggleShowedQuestionIds.push({ questionId: subQuestion.questionId, isShow: true });
76
63
  }
77
64
  else if (rule.logicActionId == LogicActionEnum.Hide) {
78
- this._store.dispatch(surveyActions.updateQuestionShow({
79
- questionId: subQuestion.questionId,
80
- isShow: false
81
- }));
65
+ toggleShowedQuestionIds.push({ questionId: subQuestion.questionId, isShow: false });
82
66
  }
83
67
  else if (rule.logicActionId == LogicActionEnum.Enable) {
84
- this._store.dispatch(surveyActions.updateQuestionDisable({
85
- questionId: subQuestion.questionId,
86
- isDisabled: false
87
- }));
68
+ toggleDisabledQuestionIds.push({ questionId: subQuestion.questionId, isDisabled: false });
88
69
  }
89
70
  else if (rule.logicActionId == LogicActionEnum.Disable) {
90
- this._store.dispatch(surveyActions.updateQuestionDisable({
91
- questionId: subQuestion.questionId,
92
- isDisabled: true
93
- }));
71
+ toggleDisabledQuestionIds.push({ questionId: subQuestion.questionId, isDisabled: true });
94
72
  }
95
73
  });
96
74
  }
@@ -99,31 +77,59 @@ export class SurveyEffects {
99
77
  else {
100
78
  rule.ruleResultQuestions.forEach(resultQuestion => {
101
79
  const question = questionArr.find(x => x.questionId == resultQuestion.questionId);
102
- this._store.dispatch(surveyActions.updateQuestionShow({
103
- questionId: resultQuestion.questionId,
104
- isShow: question.isShow_default
105
- }));
106
- this._store.dispatch(surveyActions.updateQuestionDisable({
107
- questionId: resultQuestion.questionId,
108
- isDisabled: question.isDisabled_default
109
- }));
80
+ if (question.isShow != question.isShow_default) {
81
+ toggleShowedQuestionIds.push({ questionId: resultQuestion.questionId, isShow: question.isShow_default });
82
+ }
83
+ if (question.isDisabled != question.isDisabled_default) {
84
+ toggleDisabledQuestionIds.push({ questionId: resultQuestion.questionId, isDisabled: question.isDisabled_default });
85
+ }
110
86
  if (question.questionType == QuestionTypeEnum.Matrix && question.isQuestionGroup == true) {
111
87
  var subQuestions = questionArr.filter(x => x.parentQuestionId == question.questionId);
112
88
  subQuestions.forEach(subQuestion => {
113
- this._store.dispatch(surveyActions.updateQuestionShow({
114
- questionId: subQuestion.questionId,
115
- isShow: question.isShow_default
116
- }));
117
- this._store.dispatch(surveyActions.updateQuestionDisable({
118
- questionId: subQuestion.questionId,
119
- isDisabled: question.isDisabled_default
120
- }));
89
+ if (subQuestion.isShow != subQuestion.isShow_default) {
90
+ toggleShowedQuestionIds.push({ questionId: subQuestion.questionId, isShow: subQuestion.isShow_default });
91
+ }
92
+ if (subQuestion.isDisabled != subQuestion.isDisabled_default) {
93
+ toggleDisabledQuestionIds.push({ questionId: subQuestion.questionId, isDisabled: question.isDisabled_default });
94
+ }
121
95
  });
122
96
  }
123
97
  });
124
98
  }
125
99
  });
126
100
  });
101
+ const showedQuestionIds = toggleShowedQuestionIds.filter(x => x.isShow == true).map(x => x.questionId);
102
+ if (showedQuestionIds.length > 0) {
103
+ console.log('showedQuestionIds', showedQuestionIds);
104
+ this._store.dispatch(surveyActions.updateQuestionsShow({
105
+ questionIds: showedQuestionIds,
106
+ isShow: true
107
+ }));
108
+ }
109
+ const hiddenQuestionIds = toggleShowedQuestionIds.filter(x => x.isShow == false).map(x => x.questionId);
110
+ if (hiddenQuestionIds.length > 0) {
111
+ console.log('hiddenQuestionIds', hiddenQuestionIds);
112
+ this._store.dispatch(surveyActions.updateQuestionsShow({
113
+ questionIds: hiddenQuestionIds,
114
+ isShow: false
115
+ }));
116
+ }
117
+ const disabledQuestionIds = toggleDisabledQuestionIds.filter(x => x.isDisabled == true).map(x => x.questionId);
118
+ if (disabledQuestionIds.length > 0) {
119
+ console.log('disabledQuestionIds', disabledQuestionIds);
120
+ this._store.dispatch(surveyActions.updateQuestionsDisable({
121
+ questionIds: disabledQuestionIds,
122
+ isDisabled: true
123
+ }));
124
+ }
125
+ const enabledQuestionIds = toggleDisabledQuestionIds.filter(x => x.isDisabled == false).map(x => x.questionId);
126
+ if (enabledQuestionIds.length > 0) {
127
+ console.log('enabledQuestionIds', enabledQuestionIds);
128
+ this._store.dispatch(surveyActions.updateQuestionsDisable({
129
+ questionIds: enabledQuestionIds,
130
+ isDisabled: false
131
+ }));
132
+ }
127
133
  return of([]);
128
134
  })), { dispatch: false });
129
135
  this.loadInstitutionArr$ = createEffect(() => this._actions.pipe(ofType(surveyActions.loadInstitutionArr), withLatestFrom(this._store.select(surveySelectors.institutionArr)), filter(([action, institutionArr]) => institutionArr.length == 0), switchMap(() => {
@@ -138,4 +144,4 @@ export class SurveyEffects {
138
144
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SurveyEffects, decorators: [{
139
145
  type: Injectable
140
146
  }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.Store }, { type: i3.CheckRuleExpsUsecase }, { type: i4.ApiService }]; } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LmVmZmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5lZmZlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7O0FBSS9FLE1BQU0sT0FBTyxhQUFhO0lBQ3RCLFlBQW9CLFFBQWlCLEVBQVUsTUFBYSxFQUNoRCxxQkFBMkMsRUFBVSxXQUF1QjtRQURwRSxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUNoRCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFHeEYsMEJBQXFCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENB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QyxDQUFDLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0UsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUMxRCxPQUFPLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztZQUM1RixDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBL0hiLENBQUM7OEdBSFEsYUFBYTtrSEFBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSBcIkBuZ3J4L2VmZmVjdHNcIjtcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHsgd2l0aExhdGVzdEZyb20sIGZpbHRlciwgc3dpdGNoTWFwLCBtYXAsIGNhdGNoRXJyb3IsIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgc3VydmV5QWN0aW9ucyB9IGZyb20gXCIuL3N1cnZleS5hY3Rpb25cIjtcclxuaW1wb3J0IHsgQ2hlY2tSdWxlRXhwc1VzZWNhc2UgfSBmcm9tIFwiLi4vLi4vLi4vdXNlY2FzZXMvY2hlY2stcnVsZS1leHBzLnVzZWNhc2VcIjtcclxuaW1wb3J0IHsgc3VydmV5U2VsZWN0b3JzIH0gZnJvbSBcIi4vc3VydmV5LnNlbGVjdG9yXCI7XHJcbmltcG9ydCB7IHF1ZXN0aW9uU2VsZWN0b3JzIH0gZnJvbSBcIi4vcXVlc3Rpb24uc2VsZWN0b3JcIjtcclxuaW1wb3J0IHsgTG9naWNBY3Rpb25FbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9sb2dpYy1hY3Rpb24uZW51bVwiO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9hcGkuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3VydmV5RWZmZWN0cyB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hY3Rpb25zOiBBY3Rpb25zLCBwcml2YXRlIF9zdG9yZTogU3RvcmUsXHJcbiAgICAgICAgcHJpdmF0ZSBfY2hlY2tSdWxlRXhwc1VzZWNhc2U6IENoZWNrUnVsZUV4cHNVc2VjYXNlLCBwcml2YXRlIF9hcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlUXVlc3Rpb25BbnN3ZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+XHJcbiAgICAgICAgdGhpcy5fYWN0aW9ucy5waXBlKG9mVHlwZShzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uQW5zd2VyKSwgd2l0aExhdGVzdEZyb20odGhpcy5fc3RvcmUuc2VsZWN0KHN1cnZleVNlbGVjdG9ycy5ydWxlQXJyKVxyXG4gICAgICAgICAgICAsIHRoaXMuX3N0b3JlLnNlbGVjdChxdWVzdGlvblNlbGVjdG9ycy5hbGxRdWVzdGlvbnMpKSwgc3dpdGNoTWFwKChbYWN0aW9uLCBydWxlQXJyLCBxdWVzdGlvbkFycl0pID0+IHtcclxuICAgICAgICAgICAgICAgIHZhciBmb3JtYXRlZFJ1bGVBcnI6IHsgcnVsZUlkOiBhbnksIHF1ZXN0aW9uSWQ6IGFueSB9W10gPSBbXTtcclxuICAgICAgICAgICAgICAgIHJ1bGVBcnIuZm9yRWFjaChydWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBydWxlLnJ1bGVFeHBzLmZvckVhY2gocnVsZVF1ZXN0aW9uID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0ZWRSdWxlQXJyLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZUlkOiBydWxlLnJ1bGVJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHJ1bGVRdWVzdGlvbi5xdWVzdGlvbklkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH0pXHJcblxyXG4gICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkUnVsZUlkQXJyID0gZm9ybWF0ZWRSdWxlQXJyLmZpbHRlcih4ID0+IHgucXVlc3Rpb25JZCA9PSBhY3Rpb24ucXVlc3Rpb25JZCkubWFwKHggPT4gTnVtYmVyKHgucnVsZUlkKSk7XHJcbiAgICAgICAgICAgICAgICB2YXIgYXJyID0gcnVsZUFyci5maWx0ZXIoeCA9PiBzZWxlY3RlZFJ1bGVJZEFyci5maW5kKGMgPT4gYyA9PSB4LnJ1bGVJZCkgIT0gbnVsbCk7XHJcbiAgICAgICAgICAgICAgICBhcnIuZm9yRWFjaChydWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGVja1J1bGVFeHBzVXNlY2FzZS5leGVjdXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcnVsZUV4cHM6IHJ1bGUucnVsZUV4cHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uczogcXVlc3Rpb25BcnIsXHJcbiAgICAgICAgICAgICAgICAgICAgfSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXNQYXNzZWQgPSByZXN1bHQuZXhwcmVzdGlvblJlc3VsdEFyci5maWx0ZXIoeCA9PiB4ID09IGZhbHNlKS5sZW5ndGggPT0gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzUGFzc2VkKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZS5ydWxlUmVzdWx0UXVlc3Rpb25zLmZvckVhY2gocmVzdWx0UXVlc3Rpb24gPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLlNob3cpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvblNob3coe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb25JZDogcmVzdWx0UXVlc3Rpb24ucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzU2hvdzogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLkhpZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvblNob3coe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb25JZDogcmVzdWx0UXVlc3Rpb24ucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzU2hvdzogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocnVsZS5sb2dpY0FjdGlvbklkID09IExvZ2ljQWN0aW9uRW51bS5FbmFibGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbkRpc2FibGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb25JZDogcmVzdWx0UXVlc3Rpb24ucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJ1bGUubG9naWNBY3Rpb25JZCA9PSBMb2dpY0FjdGlvbkVudW0uRGlzYWJsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uRGlzYWJsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbklkOiByZXN1bHRRdWVzdGlvbi5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNEaXNhYmxlZDogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLlNldEFuc3dlcikge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXN0aW9uID0gcXVlc3Rpb25BcnIuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSByZXN1bHRRdWVzdGlvbi5xdWVzdGlvbklkKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy91cGRhdGUgbWF0cml4IHN1YiBxdWVzdGlvbnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uTWF0cml4ICYmIHF1ZXN0aW9uLmlzUXVlc3Rpb25Hcm91cCA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzdWJRdWVzdGlvbnMgPSBxdWVzdGlvbkFyci5maWx0ZXIoeCA9PiB4LnBhcmVudFF1ZXN0aW9uSWQgPT0gcXVlc3Rpb24ucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YlF1ZXN0aW9ucy5mb3JFYWNoKHN1YlF1ZXN0aW9uID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocnVsZS5sb2dpY0FjdGlvbklkID09IExvZ2ljQWN0aW9uRW51bS5TaG93KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvblNob3coe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbklkOiBzdWJRdWVzdGlvbi5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1Nob3c6IHRydWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJ1bGUubG9naWNBY3Rpb25JZCA9PSBMb2dpY0FjdGlvbkVudW0uSGlkZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25TaG93KHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNTaG93OiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJ1bGUubG9naWNBY3Rpb25JZCA9PSBMb2dpY0FjdGlvbkVudW0uRW5hYmxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbkRpc2FibGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbklkOiBzdWJRdWVzdGlvbi5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocnVsZS5sb2dpY0FjdGlvbklkID09IExvZ2ljQWN0aW9uRW51bS5EaXNhYmxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbkRpc2FibGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbklkOiBzdWJRdWVzdGlvbi5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0Rpc2FibGVkOiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBydWxlLnJ1bGVSZXN1bHRRdWVzdGlvbnMuZm9yRWFjaChyZXN1bHRRdWVzdGlvbiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcXVlc3Rpb24gPSBxdWVzdGlvbkFyci5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHJlc3VsdFF1ZXN0aW9uLnF1ZXN0aW9uSWQpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uU2hvdyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHJlc3VsdFF1ZXN0aW9uLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzU2hvdzogcXVlc3Rpb24uaXNTaG93X2RlZmF1bHRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25EaXNhYmxlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb25JZDogcmVzdWx0UXVlc3Rpb24ucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNEaXNhYmxlZDogcXVlc3Rpb24uaXNEaXNhYmxlZF9kZWZhdWx0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uTWF0cml4ICYmIHF1ZXN0aW9uLmlzUXVlc3Rpb25Hcm91cCA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzdWJRdWVzdGlvbnMgPSBxdWVzdGlvbkFyci5maWx0ZXIoeCA9PiB4LnBhcmVudFF1ZXN0aW9uSWQgPT0gcXVlc3Rpb24ucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YlF1ZXN0aW9ucy5mb3JFYWNoKHN1YlF1ZXN0aW9uID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25TaG93KHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbklkOiBzdWJRdWVzdGlvbi5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzU2hvdzogcXVlc3Rpb24uaXNTaG93X2RlZmF1bHRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uRGlzYWJsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0Rpc2FibGVkOiBxdWVzdGlvbi5pc0Rpc2FibGVkX2RlZmF1bHRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBvZihbXSlcclxuICAgICAgICAgICAgfSkpLCB7IGRpc3BhdGNoOiBmYWxzZSB9KTtcclxuXHJcbiAgICBsb2FkSW5zdGl0dXRpb25BcnIkID0gY3JlYXRlRWZmZWN0KCgpID0+XHJcbiAgICAgICAgdGhpcy5fYWN0aW9ucy5waXBlKG9mVHlwZShzdXJ2ZXlBY3Rpb25zLmxvYWRJbnN0aXR1dGlvbkFyciksIHdpdGhMYXRlc3RGcm9tKHRoaXMuX3N0b3JlLnNlbGVjdChzdXJ2ZXlTZWxlY3RvcnMuaW5zdGl0dXRpb25BcnIpKVxyXG4gICAgICAgICAgICAsIGZpbHRlcigoW2FjdGlvbiwgaW5zdGl0dXRpb25BcnJdKSA9PiBpbnN0aXR1dGlvbkFyci5sZW5ndGggPT0gMCksIHN3aXRjaE1hcCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5nZXRBbGxJbnN0aXR1dGlvbnMoKS5waXBlKG1hcCgocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1cnZleUFjdGlvbnMubG9hZEluc3RpdHV0aW9uQXJyU3VjY2Vzcyh7IGluc3RpdHV0aW9uQXJyOiByZXMucmVzcG9uc2VEZXRhaWxzIH0pO1xyXG4gICAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIH0pKSk7XHJcbn1cclxuXHJcbiJdfQ==
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LmVmZmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5lZmZlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7O0FBSS9FLE1BQU0sT0FBTyxhQUFhO0lBQ3RCLFlBQW9CLFFBQWlCLEVBQVUsTUFBYSxFQUNoRCxxQkFBMkMsRUFBVSxXQUF1QjtRQURwRSxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUNoRCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFHeEYsMEJBQXFCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENB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dWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSBcIkBuZ3J4L2VmZmVjdHNcIjtcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHsgd2l0aExhdGVzdEZyb20sIGZpbHRlciwgc3dpdGNoTWFwLCBtYXAsIGNhdGNoRXJyb3IsIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgc3VydmV5QWN0aW9ucyB9IGZyb20gXCIuL3N1cnZleS5hY3Rpb25cIjtcclxuaW1wb3J0IHsgQ2hlY2tSdWxlRXhwc1VzZWNhc2UgfSBmcm9tIFwiLi4vLi4vLi4vdXNlY2FzZXMvY2hlY2stcnVsZS1leHBzLnVzZWNhc2VcIjtcclxuaW1wb3J0IHsgc3VydmV5U2VsZWN0b3JzIH0gZnJvbSBcIi4vc3VydmV5LnNlbGVjdG9yXCI7XHJcbmltcG9ydCB7IHF1ZXN0aW9uU2VsZWN0b3JzIH0gZnJvbSBcIi4vcXVlc3Rpb24uc2VsZWN0b3JcIjtcclxuaW1wb3J0IHsgTG9naWNBY3Rpb25FbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9sb2dpYy1hY3Rpb24uZW51bVwiO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9hcGkuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3VydmV5RWZmZWN0cyB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hY3Rpb25zOiBBY3Rpb25zLCBwcml2YXRlIF9zdG9yZTogU3RvcmUsXHJcbiAgICAgICAgcHJpdmF0ZSBfY2hlY2tSdWxlRXhwc1VzZWNhc2U6IENoZWNrUnVsZUV4cHNVc2VjYXNlLCBwcml2YXRlIF9hcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlUXVlc3Rpb25BbnN3ZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+XHJcbiAgICAgICAgdGhpcy5fYWN0aW9ucy5waXBlKG9mVHlwZShzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uQW5zd2VyKSwgd2l0aExhdGVzdEZyb20odGhpcy5fc3RvcmUuc2VsZWN0KHN1cnZleVNlbGVjdG9ycy5ydWxlQXJyKVxyXG4gICAgICAgICAgICAsIHRoaXMuX3N0b3JlLnNlbGVjdChxdWVzdGlvblNlbGVjdG9ycy5hbGxRdWVzdGlvbnMpKSwgc3dpdGNoTWFwKChbYWN0aW9uLCBydWxlQXJyLCBxdWVzdGlvbkFycl0pID0+IHtcclxuICAgICAgICAgICAgICAgIHZhciBmb3JtYXRlZFJ1bGVBcnI6IHsgcnVsZUlkOiBhbnksIHF1ZXN0aW9uSWQ6IGFueSB9W10gPSBbXTtcclxuICAgICAgICAgICAgICAgIHJ1bGVBcnIuZm9yRWFjaChydWxlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBydWxlLnJ1bGVFeHBzLmZvckVhY2gocnVsZVF1ZXN0aW9uID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0ZWRSdWxlQXJyLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZUlkOiBydWxlLnJ1bGVJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHJ1bGVRdWVzdGlvbi5xdWVzdGlvbklkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH0pXHJcblxyXG4gICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkUnVsZUlkQXJyID0gZm9ybWF0ZWRSdWxlQXJyLmZpbHRlcih4ID0+IHgucXVlc3Rpb25JZCA9PSBhY3Rpb24ucXVlc3Rpb25JZCkubWFwKHggPT4gTnVtYmVyKHgucnVsZUlkKSk7XHJcbiAgICAgICAgICAgICAgICB2YXIgYXJyID0gcnVsZUFyci5maWx0ZXIoeCA9PiBzZWxlY3RlZFJ1bGVJZEFyci5maW5kKGMgPT4gYyA9PSB4LnJ1bGVJZCkgIT0gbnVsbCk7XHJcblxyXG4gICAgICAgICAgICAgICAgdmFyIHRvZ2dsZVNob3dlZFF1ZXN0aW9uSWRzOiB7IHF1ZXN0aW9uSWQ6IGFueSwgaXNTaG93OiBib29sZWFuIH1bXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgdmFyIHRvZ2dsZURpc2FibGVkUXVlc3Rpb25JZHM6IHsgcXVlc3Rpb25JZDogYW55LCBpc0Rpc2FibGVkOiBib29sZWFuIH1bXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgYXJyLmZvckVhY2gocnVsZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2hlY2tSdWxlRXhwc1VzZWNhc2UuZXhlY3V0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGVFeHBzOiBydWxlLnJ1bGVFeHBzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbnM6IHF1ZXN0aW9uQXJyLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlzUGFzc2VkID0gcmVzdWx0LmV4cHJlc3Rpb25SZXN1bHRBcnIuZmlsdGVyKHggPT4geCA9PSBmYWxzZSkubGVuZ3RoID09IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1Bhc3NlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZS5ydWxlUmVzdWx0UXVlc3Rpb25zLmZvckVhY2gocmVzdWx0UXVlc3Rpb24gPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLlNob3cpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlU2hvd2VkUXVlc3Rpb25JZHMucHVzaCh7IHF1ZXN0aW9uSWQ6IHJlc3VsdFF1ZXN0aW9uLnF1ZXN0aW9uSWQsIGlzU2hvdzogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJ1bGUubG9naWNBY3Rpb25JZCA9PSBMb2dpY0FjdGlvbkVudW0uSGlkZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVTaG93ZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogcmVzdWx0UXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNTaG93OiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJ1bGUubG9naWNBY3Rpb25JZCA9PSBMb2dpY0FjdGlvbkVudW0uRW5hYmxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZURpc2FibGVkUXVlc3Rpb25JZHMucHVzaCh7IHF1ZXN0aW9uSWQ6IHJlc3VsdFF1ZXN0aW9uLnF1ZXN0aW9uSWQsIGlzRGlzYWJsZWQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocnVsZS5sb2dpY0FjdGlvbklkID09IExvZ2ljQWN0aW9uRW51bS5EaXNhYmxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZURpc2FibGVkUXVlc3Rpb25JZHMucHVzaCh7IHF1ZXN0aW9uSWQ6IHJlc3VsdFF1ZXN0aW9uLnF1ZXN0aW9uSWQsIGlzRGlzYWJsZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLlNldEFuc3dlcikge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXN0aW9uID0gcXVlc3Rpb25BcnIuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSByZXN1bHRRdWVzdGlvbi5xdWVzdGlvbklkKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy91cGRhdGUgbWF0cml4IHN1YiBxdWVzdGlvbnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uTWF0cml4ICYmIHF1ZXN0aW9uLmlzUXVlc3Rpb25Hcm91cCA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzdWJRdWVzdGlvbnMgPSBxdWVzdGlvbkFyci5maWx0ZXIoeCA9PiB4LnBhcmVudFF1ZXN0aW9uSWQgPT0gcXVlc3Rpb24ucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YlF1ZXN0aW9ucy5mb3JFYWNoKHN1YlF1ZXN0aW9uID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLlNob3cpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVTaG93ZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNTaG93OiB0cnVlIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLkhpZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVTaG93ZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNTaG93OiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJ1bGUubG9naWNBY3Rpb25JZCA9PSBMb2dpY0FjdGlvbkVudW0uRW5hYmxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRGlzYWJsZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNEaXNhYmxlZDogZmFsc2UgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChydWxlLmxvZ2ljQWN0aW9uSWQgPT0gTG9naWNBY3Rpb25FbnVtLkRpc2FibGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVEaXNhYmxlZFF1ZXN0aW9uSWRzLnB1c2goeyBxdWVzdGlvbklkOiBzdWJRdWVzdGlvbi5xdWVzdGlvbklkLCBpc0Rpc2FibGVkOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBydWxlLnJ1bGVSZXN1bHRRdWVzdGlvbnMuZm9yRWFjaChyZXN1bHRRdWVzdGlvbiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcXVlc3Rpb24gPSBxdWVzdGlvbkFyci5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHJlc3VsdFF1ZXN0aW9uLnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChxdWVzdGlvbi5pc1Nob3cgIT0gcXVlc3Rpb24uaXNTaG93X2RlZmF1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlU2hvd2VkUXVlc3Rpb25JZHMucHVzaCh7IHF1ZXN0aW9uSWQ6IHJlc3VsdFF1ZXN0aW9uLnF1ZXN0aW9uSWQsIGlzU2hvdzogcXVlc3Rpb24uaXNTaG93X2RlZmF1bHQgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocXVlc3Rpb24uaXNEaXNhYmxlZCAhPSBxdWVzdGlvbi5pc0Rpc2FibGVkX2RlZmF1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRGlzYWJsZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogcmVzdWx0UXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNEaXNhYmxlZDogcXVlc3Rpb24uaXNEaXNhYmxlZF9kZWZhdWx0IH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLk1hdHJpeCAmJiBxdWVzdGlvbi5pc1F1ZXN0aW9uR3JvdXAgPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc3ViUXVlc3Rpb25zID0gcXVlc3Rpb25BcnIuZmlsdGVyKHggPT4geC5wYXJlbnRRdWVzdGlvbklkID09IHF1ZXN0aW9uLnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJRdWVzdGlvbnMuZm9yRWFjaChzdWJRdWVzdGlvbiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3ViUXVlc3Rpb24uaXNTaG93ICE9IHN1YlF1ZXN0aW9uLmlzU2hvd19kZWZhdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlU2hvd2VkUXVlc3Rpb25JZHMucHVzaCh7IHF1ZXN0aW9uSWQ6IHN1YlF1ZXN0aW9uLnF1ZXN0aW9uSWQsIGlzU2hvdzogc3ViUXVlc3Rpb24uaXNTaG93X2RlZmF1bHQgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN1YlF1ZXN0aW9uLmlzRGlzYWJsZWQgIT0gc3ViUXVlc3Rpb24uaXNEaXNhYmxlZF9kZWZhdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRGlzYWJsZWRRdWVzdGlvbklkcy5wdXNoKHsgcXVlc3Rpb25JZDogc3ViUXVlc3Rpb24ucXVlc3Rpb25JZCwgaXNEaXNhYmxlZDogcXVlc3Rpb24uaXNEaXNhYmxlZF9kZWZhdWx0IH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3Qgc2hvd2VkUXVlc3Rpb25JZHMgPSB0b2dnbGVTaG93ZWRRdWVzdGlvbklkcy5maWx0ZXIoeCA9PiB4LmlzU2hvdyA9PSB0cnVlKS5tYXAoeCA9PiB4LnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHNob3dlZFF1ZXN0aW9uSWRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnc2hvd2VkUXVlc3Rpb25JZHMnLCBzaG93ZWRRdWVzdGlvbklkcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbnNTaG93KHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb25JZHM6IHNob3dlZFF1ZXN0aW9uSWRzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1Nob3c6IHRydWVcclxuICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IGhpZGRlblF1ZXN0aW9uSWRzID0gdG9nZ2xlU2hvd2VkUXVlc3Rpb25JZHMuZmlsdGVyKHggPT4geC5pc1Nob3cgPT0gZmFsc2UpLm1hcCh4ID0+IHgucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoaGlkZGVuUXVlc3Rpb25JZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdoaWRkZW5RdWVzdGlvbklkcycsIGhpZGRlblF1ZXN0aW9uSWRzKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uc1Nob3coe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbklkczogaGlkZGVuUXVlc3Rpb25JZHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzU2hvdzogZmFsc2VcclxuICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IGRpc2FibGVkUXVlc3Rpb25JZHMgPSB0b2dnbGVEaXNhYmxlZFF1ZXN0aW9uSWRzLmZpbHRlcih4ID0+IHguaXNEaXNhYmxlZCA9PSB0cnVlKS5tYXAoeCA9PiB4LnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGRpc2FibGVkUXVlc3Rpb25JZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdkaXNhYmxlZFF1ZXN0aW9uSWRzJywgZGlzYWJsZWRRdWVzdGlvbklkcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbnNEaXNhYmxlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb25JZHM6IGRpc2FibGVkUXVlc3Rpb25JZHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ6IHRydWVcclxuICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgZW5hYmxlZFF1ZXN0aW9uSWRzID0gdG9nZ2xlRGlzYWJsZWRRdWVzdGlvbklkcy5maWx0ZXIoeCA9PiB4LmlzRGlzYWJsZWQgPT0gZmFsc2UpLm1hcCh4ID0+IHgucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoZW5hYmxlZFF1ZXN0aW9uSWRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnZW5hYmxlZFF1ZXN0aW9uSWRzJywgZW5hYmxlZFF1ZXN0aW9uSWRzKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uc0Rpc2FibGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbklkczogZW5hYmxlZFF1ZXN0aW9uSWRzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoW10pXHJcbiAgICAgICAgICAgIH0pKSwgeyBkaXNwYXRjaDogZmFsc2UgfSk7XHJcblxyXG4gICAgbG9hZEluc3RpdHV0aW9uQXJyJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxyXG4gICAgICAgIHRoaXMuX2FjdGlvbnMucGlwZShvZlR5cGUoc3VydmV5QWN0aW9ucy5sb2FkSW5zdGl0dXRpb25BcnIpLCB3aXRoTGF0ZXN0RnJvbSh0aGlzLl9zdG9yZS5zZWxlY3Qoc3VydmV5U2VsZWN0b3JzLmluc3RpdHV0aW9uQXJyKSlcclxuICAgICAgICAgICAgLCBmaWx0ZXIoKFthY3Rpb24sIGluc3RpdHV0aW9uQXJyXSkgPT4gaW5zdGl0dXRpb25BcnIubGVuZ3RoID09IDApLCBzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UuZ2V0QWxsSW5zdGl0dXRpb25zKCkucGlwZShtYXAoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdXJ2ZXlBY3Rpb25zLmxvYWRJbnN0aXR1dGlvbkFyclN1Y2Nlc3MoeyBpbnN0aXR1dGlvbkFycjogcmVzLnJlc3BvbnNlRGV0YWlscyB9KTtcclxuICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICB9KSkpO1xyXG59XHJcblxyXG4iXX0=
@@ -99,6 +99,15 @@ export const _surveyReducer = createReducer(initialSurveyState, on(surveyActions
99
99
  }
100
100
  }, state.questionArr)
101
101
  };
102
+ }), on(surveyActions.updateQuestionsShow, (state, props) => {
103
+ const updates = props.questionIds.map(id => ({
104
+ id,
105
+ changes: { isShow: props.isShow }
106
+ }));
107
+ return {
108
+ ...state,
109
+ questionArr: questionAdapter.updateMany(updates, state.questionArr)
110
+ };
102
111
  }), on(surveyActions.updateQuestionDisable, (state, props) => {
103
112
  const question = selectAll(state.questionArr).find(x => x.questionId == props.questionId);
104
113
  return {
@@ -110,6 +119,15 @@ export const _surveyReducer = createReducer(initialSurveyState, on(surveyActions
110
119
  }
111
120
  }, state.questionArr)
112
121
  };
122
+ }), on(surveyActions.updateQuestionsDisable, (state, props) => {
123
+ const updates = props.questionIds.map(id => ({
124
+ id,
125
+ changes: { isDisabled: props.isDisabled }
126
+ }));
127
+ return {
128
+ ...state,
129
+ questionArr: questionAdapter.updateMany(updates, state.questionArr)
130
+ };
113
131
  }), on(surveyActions.updateQuestionRequired, (state, props) => {
114
132
  const question = selectAll(state.questionArr).find(x => x.questionId == props.questionId);
115
133
  return {
@@ -140,4 +158,4 @@ export const _surveyReducer = createReducer(initialSurveyState, on(surveyActions
140
158
  export function surveyReducer(state, action) {
141
159
  return _surveyReducer(state, action);
142
160
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9zdXJ2ZXkucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUEwQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBNEIsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUkvRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQVVoRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBZ0I7SUFDM0MsY0FBYyxFQUFFLElBQUk7SUFDcEIsZ0JBQWdCLEVBQUUsb0JBQW9CLENBQUMsZUFBZSxFQUFFO0lBQ3hELFdBQVcsRUFBRSxlQUFlLENBQUMsZUFBZSxFQUFFO0lBQzlDLE9BQU8sRUFBRSxXQUFXLENBQUMsZUFBZSxFQUFFO0lBQ3RDLGNBQWMsRUFBQyxFQUFFO0NBQ3BCLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUN2QyxrQkFBa0IsRUFDbEIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDMUMsT0FBTztRQUNILEdBQUcsS0FBSztRQUNSLFdBQVcsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLEtB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QUFLLENBQUMsTUFBTTtLQUMvQixDQUFBO0FBQ0wsQ0FBQyxDQUFDLEVBQ0YsRUFBRSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUN6RCxPQUFPO1FBQ0gsR0FBRyxLQUFLO1FBQ1IsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO0tBQ3ZDLENBQUE7QUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO0FBRUYsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFLLEVBQUUsTUFBTTtJQUN2QyxPQUFPLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlZHVjZXIsIG9uIH0gZnJvbSBcIkBuZ3J4L3N0b3JlXCI7XHJcbmltcG9ydCB7IHF1ZXN0aW9uQWRhcHRlciwgUXVlc3Rpb25FbnRpdHlTdGF0ZSwgUXVlc3Rpb25OZ3J4TW9kZWwgfSBmcm9tIFwiLi4vZW50aXRlcy9xdWVzdGlvbi5lbnRpdHlcIjtcclxuaW1wb3J0IHsgc3VydmV5QWN0aW9ucyB9IGZyb20gXCIuL3N1cnZleS5hY3Rpb25cIjtcclxuaW1wb3J0IHsgUnVsZUVudGl0eVN0YXRlLCBydWxlQWRhcHRlciB9IGZyb20gXCIuLi9lbnRpdGVzL3J1bGUuZW50aXR5XCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9uR3JvdXBFbnRpdHlTdGF0ZSwgcXVlc3Rpb25Hcm91cEFkYXB0ZXIgfSBmcm9tIFwiLi4vZW50aXRlcy9xdWVzdGlvbi1ncm91cC5lbnRpdHlcIjtcclxuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvZW51bXMvcXVlc3Rpb24tdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7IFVwZGF0ZSB9IGZyb20gXCJAbmdyeC9lbnRpdHlcIjtcclxuaW1wb3J0IHsgSW5zdGl0dXRpb25EdG8gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2R0b3MvaW5zdGl0dXRpb24uZHRvXCI7XHJcblxyXG5jb25zdCB7IHNlbGVjdEFsbCwgc2VsZWN0SWRzIH0gPSBxdWVzdGlvbkFkYXB0ZXIuZ2V0U2VsZWN0b3JzKCk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN1cnZleVN0YXRlIHtcclxuICAgIHNlbGVjdGVkUGFnZUlkOiBudW1iZXIsXHJcbiAgICBxdWVzdGlvbkdyb3VwQXJyOiBRdWVzdGlvbkdyb3VwRW50aXR5U3RhdGUsXHJcbiAgICBxdWVzdGlvbkFycjogUXVlc3Rpb25FbnRpdHlTdGF0ZSxcclxuICAgIHJ1bGVBcnI6IFJ1bGVFbnRpdHlTdGF0ZSxcclxuICAgIEluc3RpdHV0aW9uQXJyOkluc3RpdHV0aW9uRHRvW11cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGluaXRpYWxTdXJ2ZXlTdGF0ZTogU3VydmV5U3RhdGUgPSB7XHJcbiAgICBzZWxlY3RlZFBhZ2VJZDogbnVsbCxcclxuICAgIHF1ZXN0aW9uR3JvdXBBcnI6IHF1ZXN0aW9uR3JvdXBBZGFwdGVyLmdldEluaXRpYWxTdGF0ZSgpLFxyXG4gICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci5nZXRJbml0aWFsU3RhdGUoKSxcclxuICAgIHJ1bGVBcnI6IHJ1bGVBZGFwdGVyLmdldEluaXRpYWxTdGF0ZSgpLFxyXG4gICAgSW5zdGl0dXRpb25BcnI6W11cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IF9zdXJ2ZXlSZWR1Y2VyID0gY3JlYXRlUmVkdWNlcihcclxuICAgIGluaXRpYWxTdXJ2ZXlTdGF0ZSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMubG9hZFN1cnZleSwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnNldEFsbChwcm9wcy5xdWVzdGlvbkFyciwgc3RhdGUucXVlc3Rpb25BcnIpLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkdyb3VwQXJyOiBxdWVzdGlvbkdyb3VwQWRhcHRlci5zZXRBbGwocHJvcHMucXVlc3Rpb25Hcm91cEFyciwgc3RhdGUucXVlc3Rpb25Hcm91cEFyciksXHJcbiAgICAgICAgICAgIHJ1bGVBcnI6IHJ1bGVBZGFwdGVyLnNldEFsbChwcm9wcy5ydWxlQXJyLCBzdGF0ZS5ydWxlQXJyKSxcclxuICAgICAgICAgICAgc2VsZWN0ZWRQYWdlSWQ6IHByb3BzLnNlbGVjdGVkUGFnZUlkLFxyXG4gICAgICAgICAgICBJbnN0aXR1dGlvbkFycjpbXVxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy5hZGRRdWVzdGlvbiwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLmFkZE9uZShwcm9wcy5xdWVzdGlvbiwgc3RhdGUucXVlc3Rpb25BcnIpXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uQW5zd2VyLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcXVlc3Rpb24gPSBzZWxlY3RBbGwoc3RhdGUucXVlc3Rpb25BcnIpLmZpbmQoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gcHJvcHMucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgaWYgKHF1ZXN0aW9uKSB7XHJcbiAgICAgICAgICAgIHZhciB1cGRhdGVNb2RlbDogVXBkYXRlPFF1ZXN0aW9uTmdyeE1vZGVsPjtcclxuXHJcbiAgICAgICAgICAgIGlmIChxdWVzdGlvbi5xdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5UZXh0SW5wdXQgfHwgcXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uRmVlZEJhY2spIHtcclxuICAgICAgICAgICAgICAgIHVwZGF0ZU1vZGVsID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkOiBwcm9wcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VySWQ6IHF1ZXN0aW9uLnF1ZXN0aW9uQWxsSW5mby5zdXJ2ZXlBbnN3ZXJzWzBdLmFuc3dlcklkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJUZXh0OiBwcm9wcy5hbnN3ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzVmFsaWQ6IHByb3BzLmlzVmFsaWRcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkNoZWNrQm94IHx8IHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkRyb3BEb3duTXVsdGkpIHtcclxuICAgICAgICAgICAgICAgIHVwZGF0ZU1vZGVsID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkOiBwcm9wcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VySWRBcnI6IHByb3BzLmFuc3dlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZDogcHJvcHMuaXNWYWxpZFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB1cGRhdGVNb2RlbCA9IHtcclxuICAgICAgICAgICAgICAgICAgICBpZDogcHJvcHMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgICAgICBjaGFuZ2VzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlcklkOiBwcm9wcy5hbnN3ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzVmFsaWQ6IHByb3BzLmlzVmFsaWRcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIudXBkYXRlT25lKHVwZGF0ZU1vZGVsLCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGVcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlSW5zdGl0dXRpb25RdWVzdGlvbkFuc3dlciwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uID0gc2VsZWN0QWxsKHN0YXRlLnF1ZXN0aW9uQXJyKS5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHByb3BzLnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgIGlmIChxdWVzdGlvbikge1xyXG4gICAgICAgICAgICB2YXIgdXBkYXRlTW9kZWw6IFVwZGF0ZTxRdWVzdGlvbk5ncnhNb2RlbD47XHJcblxyXG4gICAgICAgICAgICBpZiAocXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uSW5zdGl0dXRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICB1cGRhdGVNb2RlbCA9IHtcclxuICAgICAgICAgICAgICAgICAgICBpZDogcHJvcHMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgICAgICBjaGFuZ2VzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlcklkOiBwcm9wcy5hbnN3ZXJJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyVGV4dDogcHJvcHMuYW5zd2VyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJMZXZlbElkOiBwcm9wcy5hbnN3ZXJMZXZlbElkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkOiBwcm9wcy5pc1ZhbGlkXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIudXBkYXRlT25lKHVwZGF0ZU1vZGVsLCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZVxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvblNob3csIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci51cGRhdGVPbmUoe1xyXG4gICAgICAgICAgICAgICAgaWQ6IHByb3BzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICBjaGFuZ2VzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXNTaG93OiBwcm9wcy5pc1Nob3dcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwgc3RhdGUucXVlc3Rpb25BcnIpXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uRGlzYWJsZSwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uID0gc2VsZWN0QWxsKHN0YXRlLnF1ZXN0aW9uQXJyKS5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHByb3BzLnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnVwZGF0ZU9uZSh7XHJcbiAgICAgICAgICAgICAgICBpZDogcHJvcHMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICBpc0Rpc2FibGVkOiBwcm9wcy5pc0Rpc2FibGVkXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sIHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvblJlcXVpcmVkLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcXVlc3Rpb24gPSBzZWxlY3RBbGwoc3RhdGUucXVlc3Rpb25BcnIpLmZpbmQoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gcHJvcHMucXVlc3Rpb25JZCk7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIudXBkYXRlT25lKHtcclxuICAgICAgICAgICAgICAgIGlkOiBwcm9wcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQ6IHByb3BzLmlzUmVxdWlyZWRcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwgc3RhdGUucXVlc3Rpb25BcnIpXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLnJlbW92ZVF1ZXN0aW9uLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQXJyOiBxdWVzdGlvbkFkYXB0ZXIucmVtb3ZlT25lKHByb3BzLnF1ZXN0aW9uSWQsIHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy51cGRhdGVQYWdlSWQsIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgc2VsZWN0ZWRQYWdlSWQ6IHByb3BzLnBhZ2VJZFxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy5sb2FkSW5zdGl0dXRpb25BcnJTdWNjZXNzLCAoc3RhdGUsIHByb3BzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgIEluc3RpdHV0aW9uQXJyOiBwcm9wcy5pbnN0aXR1dGlvbkFyclxyXG4gICAgICAgIH1cclxuICAgIH0pXHJcbik7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc3VydmV5UmVkdWNlcihzdGF0ZSwgYWN0aW9uKSB7XHJcbiAgICByZXR1cm4gX3N1cnZleVJlZHVjZXIoc3RhdGUsIGFjdGlvbik7XHJcbn1cclxuIl19
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9zdXJ2ZXkucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUEwQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBNEIsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUkvRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQVVoRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBZ0I7SUFDM0MsY0FBYyxFQUFFLElBQUk7SUFDcEIsZ0JBQWdCLEVBQUUsb0JBQW9CLENBQUMsZUFBZSxFQUFFO0lBQ3hELFdBQVcsRUFBRSxlQUFlLENBQUMsZUFBZSxFQUFFO0lBQzlDLE9BQU8sRUFBRSxXQUFXLENBQUMsZUFBZSxFQUFFO0lBQ3RDLGNBQWMsRUFBRSxFQUFFO0NBQ3JCLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUN2QyxrQkFBa0IsRUFDbEIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDMUMsT0FBTztRQUNILEdBQUcsS0FBSztRQUNSLFdBQVcsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLEtB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LENBQUMsS0FBSyxFQUFFLE1BQU07SUFDdkMsT0FBTyxjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZWR1Y2VyLCBvbiB9IGZyb20gXCJAbmdyeC9zdG9yZVwiO1xyXG5pbXBvcnQgeyBxdWVzdGlvbkFkYXB0ZXIsIFF1ZXN0aW9uRW50aXR5U3RhdGUsIFF1ZXN0aW9uTmdyeE1vZGVsIH0gZnJvbSBcIi4uL2VudGl0ZXMvcXVlc3Rpb24uZW50aXR5XCI7XHJcbmltcG9ydCB7IHN1cnZleUFjdGlvbnMgfSBmcm9tIFwiLi9zdXJ2ZXkuYWN0aW9uXCI7XHJcbmltcG9ydCB7IFJ1bGVFbnRpdHlTdGF0ZSwgcnVsZUFkYXB0ZXIgfSBmcm9tIFwiLi4vZW50aXRlcy9ydWxlLmVudGl0eVwiO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkdyb3VwRW50aXR5U3RhdGUsIHF1ZXN0aW9uR3JvdXBBZGFwdGVyIH0gZnJvbSBcIi4uL2VudGl0ZXMvcXVlc3Rpb24tZ3JvdXAuZW50aXR5XCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVHlwZUVudW0gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2VudW1zL3F1ZXN0aW9uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQgeyBVcGRhdGUgfSBmcm9tIFwiQG5ncngvZW50aXR5XCI7XHJcbmltcG9ydCB7IEluc3RpdHV0aW9uRHRvIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9kdG9zL2luc3RpdHV0aW9uLmR0b1wiO1xyXG5cclxuY29uc3QgeyBzZWxlY3RBbGwsIHNlbGVjdElkcyB9ID0gcXVlc3Rpb25BZGFwdGVyLmdldFNlbGVjdG9ycygpO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdXJ2ZXlTdGF0ZSB7XHJcbiAgICBzZWxlY3RlZFBhZ2VJZDogbnVtYmVyLFxyXG4gICAgcXVlc3Rpb25Hcm91cEFycjogUXVlc3Rpb25Hcm91cEVudGl0eVN0YXRlLFxyXG4gICAgcXVlc3Rpb25BcnI6IFF1ZXN0aW9uRW50aXR5U3RhdGUsXHJcbiAgICBydWxlQXJyOiBSdWxlRW50aXR5U3RhdGUsXHJcbiAgICBJbnN0aXR1dGlvbkFycjogSW5zdGl0dXRpb25EdG9bXVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgaW5pdGlhbFN1cnZleVN0YXRlOiBTdXJ2ZXlTdGF0ZSA9IHtcclxuICAgIHNlbGVjdGVkUGFnZUlkOiBudWxsLFxyXG4gICAgcXVlc3Rpb25Hcm91cEFycjogcXVlc3Rpb25Hcm91cEFkYXB0ZXIuZ2V0SW5pdGlhbFN0YXRlKCksXHJcbiAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLmdldEluaXRpYWxTdGF0ZSgpLFxyXG4gICAgcnVsZUFycjogcnVsZUFkYXB0ZXIuZ2V0SW5pdGlhbFN0YXRlKCksXHJcbiAgICBJbnN0aXR1dGlvbkFycjogW11cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IF9zdXJ2ZXlSZWR1Y2VyID0gY3JlYXRlUmVkdWNlcihcclxuICAgIGluaXRpYWxTdXJ2ZXlTdGF0ZSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMubG9hZFN1cnZleSwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnNldEFsbChwcm9wcy5xdWVzdGlvbkFyciwgc3RhdGUucXVlc3Rpb25BcnIpLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkdyb3VwQXJyOiBxdWVzdGlvbkdyb3VwQWRhcHRlci5zZXRBbGwocHJvcHMucXVlc3Rpb25Hcm91cEFyciwgc3RhdGUucXVlc3Rpb25Hcm91cEFyciksXHJcbiAgICAgICAgICAgIHJ1bGVBcnI6IHJ1bGVBZGFwdGVyLnNldEFsbChwcm9wcy5ydWxlQXJyLCBzdGF0ZS5ydWxlQXJyKSxcclxuICAgICAgICAgICAgc2VsZWN0ZWRQYWdlSWQ6IHByb3BzLnNlbGVjdGVkUGFnZUlkLFxyXG4gICAgICAgICAgICBJbnN0aXR1dGlvbkFycjogW11cclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMuYWRkUXVlc3Rpb24sIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci5hZGRPbmUocHJvcHMucXVlc3Rpb24sIHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbkFuc3dlciwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uID0gc2VsZWN0QWxsKHN0YXRlLnF1ZXN0aW9uQXJyKS5maW5kKHggPT4geC5xdWVzdGlvbklkID09IHByb3BzLnF1ZXN0aW9uSWQpO1xyXG4gICAgICAgIGlmIChxdWVzdGlvbikge1xyXG4gICAgICAgICAgICB2YXIgdXBkYXRlTW9kZWw6IFVwZGF0ZTxRdWVzdGlvbk5ncnhNb2RlbD47XHJcblxyXG4gICAgICAgICAgICBpZiAocXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uVGV4dElucHV0IHx8IHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkZlZWRCYWNrKSB7XHJcbiAgICAgICAgICAgICAgICB1cGRhdGVNb2RlbCA9IHtcclxuICAgICAgICAgICAgICAgICAgICBpZDogcHJvcHMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgICAgICBjaGFuZ2VzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlcklkOiBxdWVzdGlvbi5xdWVzdGlvbkFsbEluZm8uc3VydmV5QW5zd2Vyc1swXS5hbnN3ZXJJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyVGV4dDogcHJvcHMuYW5zd2VyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkOiBwcm9wcy5pc1ZhbGlkXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChxdWVzdGlvbi5xdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5DaGVja0JveCB8fCBxdWVzdGlvbi5xdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5Ecm9wRG93bk11bHRpKSB7XHJcbiAgICAgICAgICAgICAgICB1cGRhdGVNb2RlbCA9IHtcclxuICAgICAgICAgICAgICAgICAgICBpZDogcHJvcHMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgICAgICBjaGFuZ2VzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlcklkQXJyOiBwcm9wcy5hbnN3ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzVmFsaWQ6IHByb3BzLmlzVmFsaWRcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdXBkYXRlTW9kZWwgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHByb3BzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJJZDogcHJvcHMuYW5zd2VyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkOiBwcm9wcy5pc1ZhbGlkXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXHJcbiAgICAgICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnVwZGF0ZU9uZSh1cGRhdGVNb2RlbCwgc3RhdGUucXVlc3Rpb25BcnIpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLnVwZGF0ZUluc3RpdHV0aW9uUXVlc3Rpb25BbnN3ZXIsIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICBjb25zdCBxdWVzdGlvbiA9IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSBwcm9wcy5xdWVzdGlvbklkKTtcclxuICAgICAgICBpZiAocXVlc3Rpb24pIHtcclxuICAgICAgICAgICAgdmFyIHVwZGF0ZU1vZGVsOiBVcGRhdGU8UXVlc3Rpb25OZ3J4TW9kZWw+O1xyXG5cclxuICAgICAgICAgICAgaWYgKHF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkluc3RpdHV0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgdXBkYXRlTW9kZWwgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHByb3BzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJJZDogcHJvcHMuYW5zd2VySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlclRleHQ6IHByb3BzLmFuc3dlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyTGV2ZWxJZDogcHJvcHMuYW5zd2VyTGV2ZWxJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZDogcHJvcHMuaXNWYWxpZFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnVwZGF0ZU9uZSh1cGRhdGVNb2RlbCwgc3RhdGUucXVlc3Rpb25BcnIpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uU2hvdywgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnVwZGF0ZU9uZSh7XHJcbiAgICAgICAgICAgICAgICBpZDogcHJvcHMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgIGNoYW5nZXM6IHtcclxuICAgICAgICAgICAgICAgICAgICBpc1Nob3c6IHByb3BzLmlzU2hvd1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25zU2hvdywgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IHVwZGF0ZXMgPSBwcm9wcy5xdWVzdGlvbklkcy5tYXAoaWQgPT4gKHtcclxuICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgIGNoYW5nZXM6IHsgaXNTaG93OiBwcm9wcy5pc1Nob3cgfVxyXG4gICAgICAgIH0pKTtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci51cGRhdGVNYW55KHVwZGF0ZXMsIHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgb24oc3VydmV5QWN0aW9ucy51cGRhdGVRdWVzdGlvbkRpc2FibGUsIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICBjb25zdCBxdWVzdGlvbiA9IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSBwcm9wcy5xdWVzdGlvbklkKTtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci51cGRhdGVPbmUoe1xyXG4gICAgICAgICAgICAgICAgaWQ6IHByb3BzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICBjaGFuZ2VzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXNEaXNhYmxlZDogcHJvcHMuaXNEaXNhYmxlZFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMudXBkYXRlUXVlc3Rpb25zRGlzYWJsZSwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IHVwZGF0ZXMgPSBwcm9wcy5xdWVzdGlvbklkcy5tYXAoaWQgPT4gKHtcclxuICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgIGNoYW5nZXM6IHsgaXNEaXNhYmxlZDogcHJvcHMuaXNEaXNhYmxlZCB9XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFycjogcXVlc3Rpb25BZGFwdGVyLnVwZGF0ZU1hbnkodXBkYXRlcywgc3RhdGUucXVlc3Rpb25BcnIpXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVF1ZXN0aW9uUmVxdWlyZWQsIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICBjb25zdCBxdWVzdGlvbiA9IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikuZmluZCh4ID0+IHgucXVlc3Rpb25JZCA9PSBwcm9wcy5xdWVzdGlvbklkKTtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci51cGRhdGVPbmUoe1xyXG4gICAgICAgICAgICAgICAgaWQ6IHByb3BzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICBjaGFuZ2VzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXNSZXF1aXJlZDogcHJvcHMuaXNSZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LCBzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgICAgICB9XHJcbiAgICB9KSxcclxuICAgIG9uKHN1cnZleUFjdGlvbnMucmVtb3ZlUXVlc3Rpb24sIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgcXVlc3Rpb25BcnI6IHF1ZXN0aW9uQWRhcHRlci5yZW1vdmVPbmUocHJvcHMucXVlc3Rpb25JZCwgc3RhdGUucXVlc3Rpb25BcnIpXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVBhZ2VJZCwgKHN0YXRlLCBwcm9wcykgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnN0YXRlLFxyXG4gICAgICAgICAgICBzZWxlY3RlZFBhZ2VJZDogcHJvcHMucGFnZUlkXHJcbiAgICAgICAgfVxyXG4gICAgfSksXHJcbiAgICBvbihzdXJ2ZXlBY3Rpb25zLmxvYWRJbnN0aXR1dGlvbkFyclN1Y2Nlc3MsIChzdGF0ZSwgcHJvcHMpID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5zdGF0ZSxcclxuICAgICAgICAgICAgSW5zdGl0dXRpb25BcnI6IHByb3BzLmluc3RpdHV0aW9uQXJyXHJcbiAgICAgICAgfVxyXG4gICAgfSlcclxuKTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzdXJ2ZXlSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pIHtcclxuICAgIHJldHVybiBfc3VydmV5UmVkdWNlcihzdGF0ZSwgYWN0aW9uKTtcclxufVxyXG4iXX0=