qms-angular 1.1.35 → 1.1.36

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,6 +4,7 @@ export class RiskDanger {
4
4
  this.data = [];
5
5
  this.numRow = 5;
6
6
  this.isNotEditedItem = false;
7
+ this.enableArchive = false;
7
8
  }
8
9
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlzay1kYW5nZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcmVsYXRlZC9tb2RlbC9yaXNrLWRhbmdlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sVUFBVTtJQU1yQjtRQUNFLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGFuZ2VyIH0gZnJvbSBcIi4vZGFuZ2VyLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUmlza0RhbmdlciB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBkYXRhOiBBcnJheTxEYW5nZXI+O1xyXG4gIG51bVJvdzogbnVtYmVyO1xyXG4gIGlzTm90RWRpdGVkSXRlbTogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLnRpdGxlID0gJyc7XHJcbiAgICB0aGlzLmRhdGEgPSBbXTtcclxuICAgIHRoaXMubnVtUm93ID0gNTtcclxuICAgIHRoaXMuaXNOb3RFZGl0ZWRJdGVtID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlzay1kYW5nZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcmVsYXRlZC9tb2RlbC9yaXNrLWRhbmdlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sVUFBVTtJQU9yQjtRQUNFLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGFuZ2VyIH0gZnJvbSBcIi4vZGFuZ2VyLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUmlza0RhbmdlciB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBkYXRhOiBBcnJheTxEYW5nZXI+O1xyXG4gIG51bVJvdzogbnVtYmVyO1xyXG4gIGlzTm90RWRpdGVkSXRlbTogYm9vbGVhbjtcclxuICBlbmFibGVBcmNoaXZlPzogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLnRpdGxlID0gJyc7XHJcbiAgICB0aGlzLmRhdGEgPSBbXTtcclxuICAgIHRoaXMubnVtUm93ID0gNTtcclxuICAgIHRoaXMuaXNOb3RFZGl0ZWRJdGVtID0gZmFsc2U7XHJcbiAgICB0aGlzLmVuYWJsZUFyY2hpdmUgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
@@ -17,13 +17,14 @@ export class RiskListComponent {
17
17
  this.updateData = new EventEmitter();
18
18
  }
19
19
  ngOnChanges(changes) {
20
- var _a, _b;
20
+ var _a, _b, _c;
21
21
  if (changes.data && JSON.stringify(changes.data.currentValue) !== JSON.stringify(changes.data.previousValue)) {
22
22
  this.dangers = [];
23
23
  this.title = changes.data.currentValue.title;
24
24
  this.isNotEditedItem = (_a = changes.data.currentValue['isNotEditedItem']) !== null && _a !== void 0 ? _a : false;
25
25
  this.dangers = [...changes.data.currentValue.data];
26
26
  this.show = ((_b = changes.data.currentValue) === null || _b === void 0 ? void 0 : _b.numRow) || 5;
27
+ this.enableArchive = (_c = changes.data.currentValue) === null || _c === void 0 ? void 0 : _c.enableArchive;
27
28
  this.analysisDanger = [];
28
29
  this.groupByDanger(changes.data.currentValue.data, 0);
29
30
  }
@@ -147,7 +148,7 @@ export class RiskListComponent {
147
148
  RiskListComponent.decorators = [
148
149
  { type: Component, args: [{
149
150
  selector: 'qms-risk-list',
150
- template: "<div class=\"container list-risk\">\r\n <div class=\"list-risk__title\">\r\n <strong>{{ title }}</strong>\r\n </div>\r\n <div class=\"list-risk__body\" *ngFor=\"let analysis of analysisDanger\">\r\n <div class=\"list-risk__body-parent\">\r\n <div class=\"block\">\r\n <mat-icon class=\"material-icons-outlined mat-icon\">border_all</mat-icon>\r\n <div class=\"title\">{{ analysis.name }}</div>\r\n </div>\r\n <div class=\"block\" *ngIf=\"!isNotEditedItem\">\r\n <span class=\"label-archived\" *ngIf=\"analysis.folderId == -1\">\r\n {{ LANG.ARCHIVED }}</span\r\n >\r\n <button\r\n *ngIf=\"analysis.folderId !== -1\"\r\n qms-btn-icon\r\n color=\"light\"\r\n qms-tool-tip=\"Caption\"\r\n mode=\"dark\"\r\n (click)=\"editDanger(analysis)\"\r\n >\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button\r\n qms-btn-icon\r\n color=\"light\"\r\n qms-tool-tip=\"Caption\"\r\n mode=\"dark\"\r\n (click)=\"removeDanger(analysis.id)\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"list-risk__body-child\"\r\n *ngFor=\"let danger of analysis.dangers | slice: 0:analysis.show\"\r\n >\r\n <div class=\"default\">\r\n <div class=\"title\">{{ danger.dangerName }}</div>\r\n <div class=\"group-button\">\r\n <label\r\n class=\"label-red cursor\"\r\n *ngIf=\"danger.red > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.red }}</label\r\n >\r\n <label\r\n class=\"label-yellow cursor\"\r\n *ngIf=\"danger.yellow > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.yellow }}</label\r\n >\r\n <label\r\n class=\"label-green cursor\"\r\n *ngIf=\"danger.green > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.green }}</label\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"remain\" *ngIf=\"analysis.remain > 0\">\r\n <span class=\"title cursor\" (click)=\"increaseShow(analysis.id)\"\r\n >+ {{ analysis.remain }}</span\r\n >\r\n </div>\r\n </div>\r\n</div>\r\n",
151
+ template: "<div class=\"container list-risk\">\r\n <div class=\"list-risk__title\">\r\n <strong>{{ title }}</strong>\r\n </div>\r\n <div class=\"list-risk__body\" *ngFor=\"let analysis of analysisDanger\">\r\n <div class=\"list-risk__body-parent\">\r\n <div class=\"block\">\r\n <mat-icon class=\"material-icons-outlined mat-icon\">border_all</mat-icon>\r\n <div class=\"title\">{{ analysis.name }}</div>\r\n </div>\r\n <div class=\"block\">\r\n <span class=\"label-archived\" *ngIf=\"analysis.folderId == -1 && (!isNotEditedItem || enableArchive)\">\r\n {{ LANG.ARCHIVED }}</span\r\n >\r\n <button\r\n *ngIf=\"analysis.folderId !== -1 && !isNotEditedItem\"\r\n qms-btn-icon\r\n color=\"light\"\r\n qms-tool-tip=\"Caption\"\r\n mode=\"dark\"\r\n (click)=\"editDanger(analysis)\"\r\n >\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button\r\n *ngIf=\"!isNotEditedItem\"\r\n qms-btn-icon\r\n color=\"light\"\r\n qms-tool-tip=\"Caption\"\r\n mode=\"dark\"\r\n (click)=\"removeDanger(analysis.id)\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"list-risk__body-child\"\r\n *ngFor=\"let danger of analysis.dangers | slice: 0:analysis.show\"\r\n >\r\n <div class=\"default\">\r\n <div class=\"title\">{{ danger.dangerName }}</div>\r\n <div class=\"group-button\">\r\n <label\r\n class=\"label-red cursor\"\r\n *ngIf=\"danger.red > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.red }}</label\r\n >\r\n <label\r\n class=\"label-yellow cursor\"\r\n *ngIf=\"danger.yellow > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.yellow }}</label\r\n >\r\n <label\r\n class=\"label-green cursor\"\r\n *ngIf=\"danger.green > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.green }}</label\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"remain\" *ngIf=\"analysis.remain > 0\">\r\n <span class=\"title cursor\" (click)=\"increaseShow(analysis.id)\"\r\n >+ {{ analysis.remain }}</span\r\n >\r\n </div>\r\n </div>\r\n</div>\r\n",
151
152
  styles: [".list-risk{font-family:Open Sans;font-style:normal;font-weight:400;color:var(--default-color)}.list-risk .list-risk__title{font-weight:600;font-size:.875rem;line-height:22px;margin-bottom:1rem}.list-risk .list-risk__body .list-risk__body-parent{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.list-risk .list-risk__body .list-risk__body-parent .block{font-weight:400;font-size:1rem;line-height:28px;display:flex;align-items:center}.list-risk .list-risk__body .list-risk__body-parent .block .title{margin-left:1.5rem;padding-top:5px;padding-bottom:5px}.list-risk .list-risk__body .list-risk__body-parent .block mat-icon{color:rgba(0,0,0,.6)}.list-risk .list-risk__body .list-risk__body-parent .block button.qms-btn-icon{width:40px;height:40px;line-height:40px}.list-risk .list-risk__body .list-risk__body-parent .block .label-archived{font-weight:600;font-size:.875rem;line-height:1rem;color:#525252;padding:5px;background:linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1)),#fff;border-radius:2px}.list-risk .list-risk__body .list-risk__body-child{font-weight:400;font-size:.875rem;line-height:22px}.list-risk .list-risk__body .list-risk__body-child .default{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.list-risk .list-risk__body .list-risk__body-child .default .title{margin-left:3rem}.list-risk .list-risk__body .list-risk__body-child .default .group-button{margin-right:2rem;display:flex}.list-risk .list-risk__body .remain{font-weight:600;font-size:.875rem;line-height:22px;display:flex;align-items:center;justify-content:space-between;background-color:#fafafa;color:var(--primary);min-height:48px;border-bottom:1px solid #ddd}.list-risk .list-risk__body .remain .title{margin-left:3rem}.label-green,.label-red,.label-yellow{font-family:Open Sans;font-style:normal;font-weight:600;display:inline-block;text-align:center;margin-left:1rem;width:24px;height:24px;font-size:.75rem;border-radius:1px}.label-red{background-color:var(--secondary);color:#fff}.label-yellow{background-color:var(--risk-yellow);color:rgba(0,0,0,.87)}.label-green{background-color:var(--risk-green);color:#fff}.cursor{cursor:pointer}"]
152
153
  },] }
153
154
  ];
@@ -159,4 +160,4 @@ RiskListComponent.propDecorators = {
159
160
  data: [{ type: Input }],
160
161
  updateData: [{ type: Output }]
161
162
  };
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcmVsYXRlZC9yaXNrL2xpc3QvbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFNM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPM0MsTUFBTSxPQUFPLGlCQUFpQjtJQWtCNUIsWUFDUyxTQUFrQyxFQUNqQyxNQUFpQjtRQURsQixjQUFTLEdBQVQsU0FBUyxDQUF5QjtRQUNqQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBaEIzQixZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQUM1QixtQkFBYyxHQUE0QixFQUFFLENBQUM7UUFFN0MsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUlULGVBQVUsR0FBZSxFQUFFLENBQUM7UUFDNUIsaUJBQVksR0FBZSxFQUFFLENBQUM7UUFDOUIsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRzFCLGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQU9sRSxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCOztRQUNoQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUM1RyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUM3QyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQUEsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsbUNBQUksS0FBSyxDQUFDO1lBQzdFLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQSxNQUFBLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSwwQ0FBRSxNQUFNLEtBQUksQ0FBQyxDQUFDO1lBRW5ELElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVELFFBQVE7O1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFBLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsS0FBSyxLQUFJLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQ0FBSSxLQUFLLENBQUM7UUFDN0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFBLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsSUFBSSxLQUFJLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUEsTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxNQUFNLEtBQUksQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN2RixJQUFJLEdBQUcsRUFBRTtnQkFDUCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQy9DO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBc0IsRUFBRSxDQUFTO1FBQzdDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzlDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO2dCQUNiLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztvQkFDdkIsRUFBRSxFQUFFLENBQUMsQ0FBQyxVQUFVO29CQUNoQixJQUFJLEVBQUUsQ0FBQyxDQUFDLFlBQVk7b0JBQ3BCLFdBQVcsRUFBRSxDQUFDO29CQUNkLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtvQkFDZixNQUFNLEVBQUUsQ0FBQztvQkFDVCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVE7b0JBQ3BCLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUTtvQkFDcEIsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNO2lCQUNqQixDQUFDLENBQUM7Z0JBQ0gsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO3dCQUN6RCxPQUFPLENBQUMsQ0FBQyxRQUFRLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQztvQkFDbkMsQ0FBQyxDQUFDLENBQUM7b0JBRUgsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxVQUFVLEVBQUU7d0JBQzNELElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDdkMsS0FBSyxFQUFFLENBQUM7cUJBQ1Q7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO2dCQUMzQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDbEQsQ0FBQyxFQUFFLENBQUM7YUFDTDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFJO1FBQ2IsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNsQixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7WUFDckIsTUFBTSxFQUFFO2dCQUNOLFVBQVUsRUFBRSxDQUFDO2dCQUNiLFlBQVksRUFBRSxFQUFFO2dCQUNoQixRQUFRLEVBQUUsQ0FBQztnQkFDWCxVQUFVLEVBQUUsRUFBRTtnQkFDZCxLQUFLLEVBQUUsQ0FBQztnQkFDUixNQUFNLEVBQUUsQ0FBQztnQkFDVCxHQUFHLEVBQUUsQ0FBQzthQUNQO1NBQ0YsQ0FBQTtRQUNELE1BQU0sSUFBSSxtQ0FBUSxJQUFJLENBQUMsWUFBWSxHQUFLLElBQUksQ0FBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTdCLENBQUM7SUFFRCxZQUFZLENBQUMsRUFBVTtRQUNyQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM5QyxPQUFPLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsWUFBWSxHQUFHO1lBQ2xCLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTTtZQUN2QixNQUFNLEVBQUU7Z0JBQ04sVUFBVSxFQUFFLENBQUM7Z0JBQ2IsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLFFBQVEsRUFBRSxDQUFDO2dCQUNYLFVBQVUsRUFBRSxFQUFFO2dCQUNkLEtBQUssRUFBRSxDQUFDO2dCQUNSLE1BQU0sRUFBRSxDQUFDO2dCQUNULEdBQUcsRUFBRSxDQUFDO2FBQ1A7U0FDRixDQUFDO1FBRUYsTUFBTSxJQUFJLG1DQUFRLElBQUksQ0FBQyxZQUFZLEdBQUssV0FBVyxDQUFFLENBQUM7UUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFjO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUc7WUFDbEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNO1lBQ3ZCLE1BQU0sRUFBRTtnQkFDTixVQUFVLEVBQUUsQ0FBQztnQkFDYixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsUUFBUSxFQUFFLENBQUM7Z0JBQ1gsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsR0FBRyxFQUFFLENBQUM7YUFDUDtTQUNGLENBQUM7UUFDRixNQUFNLElBQUksbUNBQVEsSUFBSSxDQUFDLFlBQVksR0FBSyxNQUFNLENBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsWUFBWSxDQUFDLEVBQVU7UUFDckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDOUMsT0FBTyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7SUFFRCxZQUFZO0lBRVosQ0FBQzs7O1lBMUtGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsZzNFQUFvQzs7YUFFckM7OztZQWRRLHVCQUF1QjtZQUR2QixTQUFTOzs7bUJBK0JmLEtBQUs7eUJBQ0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGlvbi1yZWdpc3RyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aW9uVHlwZSB9IGZyb20gXCIuLi8uLi9jb21tb24vYWN0aW9uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQgeyBEYW5nZXJBY3Rpb24gfSBmcm9tIFwiLi4vLi4vbW9kZWwvZGFuZ2VyLWFjdGlvbi5tb2RlbFwiO1xyXG5pbXBvcnQgeyBEYW5nZXJBc3Nlc3NtZW50IH0gZnJvbSBcIi4uLy4uL21vZGVsL2Rhbmdlci1hc3Nlc3NtZW50Lm1vZGVsXCI7XHJcbmltcG9ydCB7IERhbmdlciB9IGZyb20gXCIuLi8uLi9tb2RlbC9kYW5nZXIubW9kZWxcIjtcclxuaW1wb3J0IHsgUmlza0RhbmdlciB9IGZyb20gXCIuLi8uLi9tb2RlbC9yaXNrLWRhbmdlci5tb2RlbFwiO1xyXG5pbXBvcnQgeyBUcmVlQ29uZmlnIH0gZnJvbSBcIi4uLy4uLy4uL3RyZWUvbW9kZWwvdHJlZS1jb25maWcubW9kZWxcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdxbXMtcmlzay1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSaXNrTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBMQU5HOiBhbnk7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBpc05vdEVkaXRlZEl0ZW06IGJvb2xlYW47XHJcbiAgZGFuZ2VyczogQXJyYXk8RGFuZ2VyPiA9IFtdO1xyXG4gIGFuYWx5c2lzRGFuZ2VyOiBBcnJheTxEYW5nZXJBc3Nlc3NtZW50PiA9IFtdO1xyXG4gIGRhbmdlckFjdGlvbjogRGFuZ2VyQWN0aW9uO1xyXG4gIHNob3cgPSA1O1xyXG5cclxuICBkYW5nZXJDb25maWc6IFRyZWVDb25maWc7XHJcblxyXG4gIHJlc3VsdERhdGE6IEFycmF5PGFueT4gPSBbXTtcclxuICByaXNrQW5hbHlzaXM6IEFycmF5PGFueT4gPSBbXTtcclxuICBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgQElucHV0KCkgZGF0YTogUmlza0RhbmdlcjtcclxuICBAT3V0cHV0KCkgdXBkYXRlRGF0YTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2dcclxuICApIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy5kYXRhICYmIEpTT04uc3RyaW5naWZ5KGNoYW5nZXMuZGF0YS5jdXJyZW50VmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzLmRhdGEucHJldmlvdXNWYWx1ZSkpIHtcclxuICAgICAgdGhpcy5kYW5nZXJzID0gW107XHJcbiAgICAgIHRoaXMudGl0bGUgPSBjaGFuZ2VzLmRhdGEuY3VycmVudFZhbHVlLnRpdGxlO1xyXG4gICAgICB0aGlzLmlzTm90RWRpdGVkSXRlbSA9IGNoYW5nZXMuZGF0YS5jdXJyZW50VmFsdWVbJ2lzTm90RWRpdGVkSXRlbSddID8/IGZhbHNlO1xyXG4gICAgICB0aGlzLmRhbmdlcnMgPSBbLi4uY2hhbmdlcy5kYXRhLmN1cnJlbnRWYWx1ZS5kYXRhXTtcclxuICAgICAgdGhpcy5zaG93ID0gY2hhbmdlcy5kYXRhLmN1cnJlbnRWYWx1ZT8ubnVtUm93IHx8IDU7XHJcblxyXG4gICAgICB0aGlzLmFuYWx5c2lzRGFuZ2VyID0gW107XHJcbiAgICAgIHRoaXMuZ3JvdXBCeURhbmdlcihjaGFuZ2VzLmRhdGEuY3VycmVudFZhbHVlLmRhdGEsIDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpdGxlID0gdGhpcy5kYXRhPy50aXRsZSB8fCAnJztcclxuICAgIHRoaXMuaXNOb3RFZGl0ZWRJdGVtID0gdGhpcy5kYXRhWydpc05vdEVkaXRlZEl0ZW0nXSA/PyBmYWxzZTtcclxuICAgIHRoaXMuZGFuZ2VycyA9IHRoaXMuZGF0YT8uZGF0YSB8fCBbXTtcclxuICAgIHRoaXMuc2hvdyA9IHRoaXMuZGF0YT8ubnVtUm93IHx8IDU7XHJcblxyXG4gICAgdGhpcy50cmFuc2xhdGUuZ2V0TGFuZ3VhZ2VTdWJqZWN0JC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgdGhpcy5MQU5HID0gdGhpcy50cmFuc2xhdGUuZ2V0T2JqZWN0TGFuZyhyZXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLmRhbmdlcnMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXBCeURhbmdlcih0aGlzLmRhbmdlcnMsIDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xyXG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBncm91cEJ5RGFuZ2VyKGRhbmdlcnM6IEFycmF5PERhbmdlcj4sIGk6IG51bWJlcikge1xyXG4gICAgZGFuZ2Vycy5mb3JFYWNoKGQgPT4ge1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuYW5hbHlzaXNEYW5nZXIuZmluZEluZGV4KHggPT4ge1xyXG4gICAgICAgIHJldHVybiBkLmFuYWx5c2lzSWQgPT09IHguaWQ7XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAoaW5kZXggPCAwKSB7XHJcbiAgICAgICAgbGV0IGNvdW50ID0gMDtcclxuICAgICAgICB0aGlzLmFuYWx5c2lzRGFuZ2VyLnB1c2goe1xyXG4gICAgICAgICAgaWQ6IGQuYW5hbHlzaXNJZCxcclxuICAgICAgICAgIG5hbWU6IGQuYW5hbHlzaXNOYW1lLFxyXG4gICAgICAgICAgY2hpbGROdW1iZXI6IDAsXHJcbiAgICAgICAgICBzaG93OiB0aGlzLnNob3csXHJcbiAgICAgICAgICByZW1haW46IDAsXHJcbiAgICAgICAgICBkYW5nZXJzOiBbXSxcclxuICAgICAgICAgIGZvbGRlcklkOiBkLmZvbGRlcklkLFxyXG4gICAgICAgICAgc3RhdHVzSWQ6IGQuc3RhdHVzSWQsXHJcbiAgICAgICAgICBzaW1wbGU6IGQuc2ltcGxlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgZGFuZ2Vycy5mb3JFYWNoKGQgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmFuYWx5c2lzRGFuZ2VyW2ldLmRhbmdlcnMuZmluZEluZGV4KHggPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4geC5kYW5nZXJJZCA9PT0gZC5kYW5nZXJJZDtcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIGlmIChpbmRleCA8IDAgJiYgdGhpcy5hbmFseXNpc0RhbmdlcltpXS5pZCA9PT0gZC5hbmFseXNpc0lkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYW5hbHlzaXNEYW5nZXJbaV0uZGFuZ2Vycy5wdXNoKGQpO1xyXG4gICAgICAgICAgICBjb3VudCsrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmFuYWx5c2lzRGFuZ2VyW2ldLmNoaWxkTnVtYmVyID0gY291bnQ7XHJcbiAgICAgICAgdGhpcy5hbmFseXNpc0RhbmdlcltpXS5yZW1haW4gPSBjb3VudCAtIHRoaXMuc2hvdztcclxuICAgICAgICBpKys7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZWRpdERhbmdlcihpdGVtKSB7XHJcbiAgICB0aGlzLmRhbmdlckFjdGlvbiA9IHtcclxuICAgICAgdHlwZTogQWN0aW9uVHlwZS5lZGl0LFxyXG4gICAgICBkYW5nZXI6IHtcclxuICAgICAgICBhbmFseXNpc0lkOiAwLFxyXG4gICAgICAgIGFuYWx5c2lzTmFtZTogJycsXHJcbiAgICAgICAgZGFuZ2VySWQ6IDAsXHJcbiAgICAgICAgZGFuZ2VyTmFtZTogJycsXHJcbiAgICAgICAgZ3JlZW46IDAsXHJcbiAgICAgICAgeWVsbG93OiAwLFxyXG4gICAgICAgIHJlZDogMFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBkYXRhID0geyAuLi50aGlzLmRhbmdlckFjdGlvbiwgLi4uaXRlbSB9O1xyXG4gICAgdGhpcy51cGRhdGVEYXRhLmVtaXQoZGF0YSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRGFuZ2VyKGlkOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5hbmFseXNpc0Rhbmdlci5maW5kSW5kZXgoeCA9PiB7XHJcbiAgICAgIHJldHVybiB4LmlkID09PSBpZDtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgcmVtb3ZlZEl0ZW0gPSB0aGlzLmFuYWx5c2lzRGFuZ2VyW2luZGV4XTtcclxuXHJcbiAgICB0aGlzLmRhbmdlckFjdGlvbiA9IHtcclxuICAgICAgdHlwZTogQWN0aW9uVHlwZS5kZWxldGUsXHJcbiAgICAgIGRhbmdlcjoge1xyXG4gICAgICAgIGFuYWx5c2lzSWQ6IDAsXHJcbiAgICAgICAgYW5hbHlzaXNOYW1lOiAnJyxcclxuICAgICAgICBkYW5nZXJJZDogMCxcclxuICAgICAgICBkYW5nZXJOYW1lOiAnJyxcclxuICAgICAgICBncmVlbjogMCxcclxuICAgICAgICB5ZWxsb3c6IDAsXHJcbiAgICAgICAgcmVkOiAwXHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgZGF0YSA9IHsgLi4udGhpcy5kYW5nZXJBY3Rpb24sIC4uLnJlbW92ZWRJdGVtIH07XHJcbiAgICB0aGlzLnVwZGF0ZURhdGEuZW1pdChkYXRhKTtcclxuICB9XHJcblxyXG4gIGRhbmdlckRldGFpbChkYW5nZXI6IERhbmdlcikge1xyXG4gICAgdGhpcy5kYW5nZXJBY3Rpb24gPSB7XHJcbiAgICAgIHR5cGU6IEFjdGlvblR5cGUuZGV0YWlsLFxyXG4gICAgICBkYW5nZXI6IHtcclxuICAgICAgICBhbmFseXNpc0lkOiAwLFxyXG4gICAgICAgIGFuYWx5c2lzTmFtZTogJycsXHJcbiAgICAgICAgZGFuZ2VySWQ6IDAsXHJcbiAgICAgICAgZGFuZ2VyTmFtZTogJycsXHJcbiAgICAgICAgZ3JlZW46IDAsXHJcbiAgICAgICAgeWVsbG93OiAwLFxyXG4gICAgICAgIHJlZDogMFxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3QgZGF0YSA9IHsgLi4udGhpcy5kYW5nZXJBY3Rpb24sIC4uLmRhbmdlciB9O1xyXG4gICAgdGhpcy51cGRhdGVEYXRhLmVtaXQoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBpbmNyZWFzZVNob3coaWQ6IG51bWJlcikge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmFuYWx5c2lzRGFuZ2VyLmZpbmRJbmRleCh4ID0+IHtcclxuICAgICAgcmV0dXJuIHguaWQgPT09IGlkO1xyXG4gICAgfSk7XHJcbiAgICBpZiAoaW5kZXggPj0gMCkge1xyXG4gICAgICB0aGlzLmFuYWx5c2lzRGFuZ2VyW2luZGV4XS5zaG93ID0gdGhpcy5hbmFseXNpc0RhbmdlcltpbmRleF0uY2hpbGROdW1iZXI7XHJcbiAgICAgIHRoaXMuYW5hbHlzaXNEYW5nZXJbaW5kZXhdLnJlbWFpbiA9IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlQ2xpY2soKTogdm9pZCB7XHJcblxyXG4gIH1cclxufVxyXG4iXX0=
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcmVsYXRlZC9yaXNrL2xpc3QvbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFNM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPM0MsTUFBTSxPQUFPLGlCQUFpQjtJQW1CNUIsWUFDUyxTQUFrQyxFQUNqQyxNQUFpQjtRQURsQixjQUFTLEdBQVQsU0FBUyxDQUF5QjtRQUNqQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBakIzQixZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQUM1QixtQkFBYyxHQUE0QixFQUFFLENBQUM7UUFFN0MsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUlULGVBQVUsR0FBZSxFQUFFLENBQUM7UUFDNUIsaUJBQVksR0FBZSxFQUFFLENBQUM7UUFDOUIsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBSTFCLGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQU9sRSxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCOztRQUNoQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlB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SSxFQUFFLFVBQVUsQ0FBQyxNQUFNO1lBQ3ZCLE1BQU0sRUFBRTtnQkFDTixVQUFVLEVBQUUsQ0FBQztnQkFDYixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsUUFBUSxFQUFFLENBQUM7Z0JBQ1gsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsR0FBRyxFQUFFLENBQUM7YUFDUDtTQUNGLENBQUM7UUFDRixNQUFNLElBQUksbUNBQVEsSUFBSSxDQUFDLFlBQVksR0FBSyxNQUFNLENBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsWUFBWSxDQUFDLEVBQVU7UUFDckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDOUMsT0FBTyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7SUFFRCxZQUFZO0lBRVosQ0FBQzs7O1lBM0tGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsdzdFQUFvQzs7YUFFckM7OztZQWRRLHVCQUF1QjtZQUR2QixTQUFTOzs7bUJBZ0NmLEtBQUs7eUJBQ0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGlvbi1yZWdpc3RyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aW9uVHlwZSB9IGZyb20gXCIuLi8uLi9jb21tb24vYWN0aW9uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQgeyBEYW5nZXJBY3Rpb24gfSBmcm9tIFwiLi4vLi4vbW9kZWwvZGFuZ2VyLWFjdGlvbi5tb2RlbFwiO1xyXG5pbXBvcnQgeyBEYW5nZXJBc3Nlc3NtZW50IH0gZnJvbSBcIi4uLy4uL21vZGVsL2Rhbmdlci1hc3Nlc3NtZW50Lm1vZGVsXCI7XHJcbmltcG9ydCB7IERhbmdlciB9IGZyb20gXCIuLi8uLi9tb2RlbC9kYW5nZXIubW9kZWxcIjtcclxuaW1wb3J0IHsgUmlza0RhbmdlciB9IGZyb20gXCIuLi8uLi9tb2RlbC9yaXNrLWRhbmdlci5tb2RlbFwiO1xyXG5pbXBvcnQgeyBUcmVlQ29uZmlnIH0gZnJvbSBcIi4uLy4uLy4uL3RyZWUvbW9kZWwvdHJlZS1jb25maWcubW9kZWxcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdxbXMtcmlzay1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSaXNrTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBMQU5HOiBhbnk7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBpc05vdEVkaXRlZEl0ZW06IGJvb2xlYW47XHJcbiAgZGFuZ2VyczogQXJyYXk8RGFuZ2VyPiA9IFtdO1xyXG4gIGFuYWx5c2lzRGFuZ2VyOiBBcnJheTxEYW5nZXJBc3Nlc3NtZW50PiA9IFtdO1xyXG4gIGRhbmdlckFjdGlvbjogRGFuZ2VyQWN0aW9uO1xyXG4gIHNob3cgPSA1O1xyXG5cclxuICBkYW5nZXJDb25maWc6IFRyZWVDb25maWc7XHJcblxyXG4gIHJlc3VsdERhdGE6IEFycmF5PGFueT4gPSBbXTtcclxuICByaXNrQW5hbHlzaXM6IEFycmF5PGFueT4gPSBbXTtcclxuICBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBlbmFibGVBcmNoaXZlPzogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KCkgZGF0YTogUmlza0RhbmdlcjtcclxuICBAT3V0cHV0KCkgdXBkYXRlRGF0YTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2dcclxuICApIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy5kYXRhICYmIEpTT04uc3RyaW5naWZ5KGNoYW5nZXMuZGF0YS5jdXJyZW50VmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzLmRhdGEucHJldmlvdXNWYWx1ZSkpIHtcclxuICAgICAgdGhpcy5kYW5nZXJzID0gW107XHJcbiAgICAgIHRoaXMudGl0bGUgPSBjaGFuZ2VzLmRhdGEuY3VycmVudFZhbHVlLnRpdGxlO1xyXG4gICAgICB0aGlzLmlzTm90RWRpdGVkSXRlbSA9IGNoYW5nZXMuZGF0YS5jdXJyZW50VmFsdWVbJ2lzTm90RWRpdGVkSXRlbSddID8/IGZhbHNlO1xyXG4gICAgICB0aGlzLmRhbmdlcnMgPSBbLi4uY2hhbmdlcy5kYXRhLmN1cnJlbnRWYWx1ZS5kYXRhXTtcclxuICAgICAgdGhpcy5zaG93ID0gY2hhbmdlcy5kYXRhLmN1cnJlbnRWYWx1ZT8ubnVtUm93IHx8IDU7XHJcbiAgICAgIHRoaXMuZW5hYmxlQXJjaGl2ZSA9IGNoYW5nZXMuZGF0YS5jdXJyZW50VmFsdWU/LmVuYWJsZUFyY2hpdmU7XHJcbiAgICAgIHRoaXMuYW5hbHlzaXNEYW5nZXIgPSBbXTtcclxuICAgICAgdGhpcy5ncm91cEJ5RGFuZ2VyKGNoYW5nZXMuZGF0YS5jdXJyZW50VmFsdWUuZGF0YSwgMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGl0bGUgPSB0aGlzLmRhdGE/LnRpdGxlIHx8ICcnO1xyXG4gICAgdGhpcy5pc05vdEVkaXRlZEl0ZW0gPSB0aGlzLmRhdGFbJ2lzTm90RWRpdGVkSXRlbSddID8/IGZhbHNlO1xyXG4gICAgdGhpcy5kYW5nZXJzID0gdGhpcy5kYXRhPy5kYXRhIHx8IFtdO1xyXG4gICAgdGhpcy5zaG93ID0gdGhpcy5kYXRhPy5udW1Sb3cgfHwgNTtcclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0ZS5nZXRMYW5ndWFnZVN1YmplY3QkLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICB0aGlzLkxBTkcgPSB0aGlzLnRyYW5zbGF0ZS5nZXRPYmplY3RMYW5nKHJlcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuZGFuZ2Vycy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5ncm91cEJ5RGFuZ2VyKHRoaXMuZGFuZ2VycywgMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XHJcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGdyb3VwQnlEYW5nZXIoZGFuZ2VyczogQXJyYXk8RGFuZ2VyPiwgaTogbnVtYmVyKSB7XHJcbiAgICBkYW5nZXJzLmZvckVhY2goZCA9PiB7XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5hbmFseXNpc0Rhbmdlci5maW5kSW5kZXgoeCA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGQuYW5hbHlzaXNJZCA9PT0geC5pZDtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmIChpbmRleCA8IDApIHtcclxuICAgICAgICBsZXQgY291bnQgPSAwO1xyXG4gICAgICAgIHRoaXMuYW5hbHlzaXNEYW5nZXIucHVzaCh7XHJcbiAgICAgICAgICBpZDogZC5hbmFseXNpc0lkLFxyXG4gICAgICAgICAgbmFtZTogZC5hbmFseXNpc05hbWUsXHJcbiAgICAgICAgICBjaGlsZE51bWJlcjogMCxcclxuICAgICAgICAgIHNob3c6IHRoaXMuc2hvdyxcclxuICAgICAgICAgIHJlbWFpbjogMCxcclxuICAgICAgICAgIGRhbmdlcnM6IFtdLFxyXG4gICAgICAgICAgZm9sZGVySWQ6IGQuZm9sZGVySWQsXHJcbiAgICAgICAgICBzdGF0dXNJZDogZC5zdGF0dXNJZCxcclxuICAgICAgICAgIHNpbXBsZTogZC5zaW1wbGVcclxuICAgICAgICB9KTtcclxuICAgICAgICBkYW5nZXJzLmZvckVhY2goZCA9PiB7XHJcbiAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuYW5hbHlzaXNEYW5nZXJbaV0uZGFuZ2Vycy5maW5kSW5kZXgoeCA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB4LmRhbmdlcklkID09PSBkLmRhbmdlcklkO1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgaWYgKGluZGV4IDwgMCAmJiB0aGlzLmFuYWx5c2lzRGFuZ2VyW2ldLmlkID09PSBkLmFuYWx5c2lzSWQpIHtcclxuICAgICAgICAgICAgdGhpcy5hbmFseXNpc0RhbmdlcltpXS5kYW5nZXJzLnB1c2goZCk7XHJcbiAgICAgICAgICAgIGNvdW50Kys7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuYW5hbHlzaXNEYW5nZXJbaV0uY2hpbGROdW1iZXIgPSBjb3VudDtcclxuICAgICAgICB0aGlzLmFuYWx5c2lzRGFuZ2VyW2ldLnJlbWFpbiA9IGNvdW50IC0gdGhpcy5zaG93O1xyXG4gICAgICAgIGkrKztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBlZGl0RGFuZ2VyKGl0ZW0pIHtcclxuICAgIHRoaXMuZGFuZ2VyQWN0aW9uID0ge1xyXG4gICAgICB0eXBlOiBBY3Rpb25UeXBlLmVkaXQsXHJcbiAgICAgIGRhbmdlcjoge1xyXG4gICAgICAgIGFuYWx5c2lzSWQ6IDAsXHJcbiAgICAgICAgYW5hbHlzaXNOYW1lOiAnJyxcclxuICAgICAgICBkYW5nZXJJZDogMCxcclxuICAgICAgICBkYW5nZXJOYW1lOiAnJyxcclxuICAgICAgICBncmVlbjogMCxcclxuICAgICAgICB5ZWxsb3c6IDAsXHJcbiAgICAgICAgcmVkOiAwXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IGRhdGEgPSB7IC4uLnRoaXMuZGFuZ2VyQWN0aW9uLCAuLi5pdGVtIH07XHJcbiAgICB0aGlzLnVwZGF0ZURhdGEuZW1pdChkYXRhKTtcclxuXHJcbiAgfVxyXG5cclxuICByZW1vdmVEYW5nZXIoaWQ6IG51bWJlcikge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmFuYWx5c2lzRGFuZ2VyLmZpbmRJbmRleCh4ID0+IHtcclxuICAgICAgcmV0dXJuIHguaWQgPT09IGlkO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCByZW1vdmVkSXRlbSA9IHRoaXMuYW5hbHlzaXNEYW5nZXJbaW5kZXhdO1xyXG5cclxuICAgIHRoaXMuZGFuZ2VyQWN0aW9uID0ge1xyXG4gICAgICB0eXBlOiBBY3Rpb25UeXBlLmRlbGV0ZSxcclxuICAgICAgZGFuZ2VyOiB7XHJcbiAgICAgICAgYW5hbHlzaXNJZDogMCxcclxuICAgICAgICBhbmFseXNpc05hbWU6ICcnLFxyXG4gICAgICAgIGRhbmdlcklkOiAwLFxyXG4gICAgICAgIGRhbmdlck5hbWU6ICcnLFxyXG4gICAgICAgIGdyZWVuOiAwLFxyXG4gICAgICAgIHllbGxvdzogMCxcclxuICAgICAgICByZWQ6IDBcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBkYXRhID0geyAuLi50aGlzLmRhbmdlckFjdGlvbiwgLi4ucmVtb3ZlZEl0ZW0gfTtcclxuICAgIHRoaXMudXBkYXRlRGF0YS5lbWl0KGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgZGFuZ2VyRGV0YWlsKGRhbmdlcjogRGFuZ2VyKSB7XHJcbiAgICB0aGlzLmRhbmdlckFjdGlvbiA9IHtcclxuICAgICAgdHlwZTogQWN0aW9uVHlwZS5kZXRhaWwsXHJcbiAgICAgIGRhbmdlcjoge1xyXG4gICAgICAgIGFuYWx5c2lzSWQ6IDAsXHJcbiAgICAgICAgYW5hbHlzaXNOYW1lOiAnJyxcclxuICAgICAgICBkYW5nZXJJZDogMCxcclxuICAgICAgICBkYW5nZXJOYW1lOiAnJyxcclxuICAgICAgICBncmVlbjogMCxcclxuICAgICAgICB5ZWxsb3c6IDAsXHJcbiAgICAgICAgcmVkOiAwXHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBjb25zdCBkYXRhID0geyAuLi50aGlzLmRhbmdlckFjdGlvbiwgLi4uZGFuZ2VyIH07XHJcbiAgICB0aGlzLnVwZGF0ZURhdGEuZW1pdChkYXRhKTtcclxuICB9XHJcblxyXG4gIGluY3JlYXNlU2hvdyhpZDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuYW5hbHlzaXNEYW5nZXIuZmluZEluZGV4KHggPT4ge1xyXG4gICAgICByZXR1cm4geC5pZCA9PT0gaWQ7XHJcbiAgICB9KTtcclxuICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgIHRoaXMuYW5hbHlzaXNEYW5nZXJbaW5kZXhdLnNob3cgPSB0aGlzLmFuYWx5c2lzRGFuZ2VyW2luZGV4XS5jaGlsZE51bWJlcjtcclxuICAgICAgdGhpcy5hbmFseXNpc0RhbmdlcltpbmRleF0ucmVtYWluID0gMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2xvc2VDbGljaygpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -242,7 +242,7 @@ export class SelectDepartmentComponent {
242
242
  SelectDepartmentComponent.decorators = [
243
243
  { type: Component, args: [{
244
244
  selector: 'qms-select-department',
245
- template: "<div class=\"qms-select-department\">\r\n <div class=\"header-dialog mb-2\">\r\n <span>{{popupData.headerName}}</span>\r\n <button matDialogClose class=\"btn-close-dialog\" color=\"light\" qms-btn-icon>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n <div>\r\n <div class=\"qms-scrollbar\">\r\n <div>\r\n <qms-select-department-tree #treeDepartment customClass=\"custom-department-tree\"\r\n [height]=\"popupData.config.isMobile ? '38vh' : '50vh'\" [rowsSkeleton]=\"9\" [config]=\"popupData.config\"\r\n (onSearchEvent)=\"onSearchEvent.emit($event)\" (onValueChangeEvent)=\"onResultDepartmentChange($event)\"\r\n (onPagingSearchEvent)=\"onPagingEvent.emit($event)\" (onCheckNodeEvent)=\"onCheckNodeEvent.emit($event)\"\r\n (onExpandNodeEvent)=\"onExpandNodeEvent.emit($event)\" (onLoadMoreEvent)=\"onLoadMoreEvent.emit()\"\r\n (onCheckAllItemSearchEvent)=\"onCheckAllItemSearchEvent.emit($event)\"\r\n (onCheckItemSearchEvent)=\"onCheckItemSearchEvent.emit($event)\"\r\n (toggleIncludeChildEvent)=\"toggleIncludeChildEvent.emit($event)\">\r\n </qms-select-department-tree>\r\n </div>\r\n </div>\r\n <div class=\"line__divider\"></div>\r\n <div [@heightAnimation] *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length\" class=\" pr-0 pe-0\">\r\n <div class=\"header-title\">{{LANG.RESULTS}}</div>\r\n <div class=\"result-content pr-0 pe-0\">\r\n <mat-chip-list class=\"panel__item qms-scrollbar\">\r\n <div [@inOutAnimation_2] [id]=\"'item-result-'+item.id\" *ngFor=\"let item of treeDepartment.resultSelected\">\r\n <mat-chip [@updateItemAnimation] *qmsContentChanges=\"item.children?.length\"\r\n [qms-tool-tip]=\"generateTootip(item)\" position=\"top\" mode=\"dark\" qms-chip [removable]=\"true\">\r\n <span (click)=\"onScrollToNode(item)\" qms-chip-body>\r\n <span class=\"related__item__content_name\" #itemName>\r\n <span>{{item.name}}</span>\r\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && !popupData.config.lazy\">\r\n {{item.children.length}}/{{item.childCount}}\r\n </span>\r\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && popupData.config.lazy\">\r\n {{item.selectedChildCount}}/{{item.childCount}}\r\n </span>\r\n </span>\r\n </span>\r\n <mat-icon *ngIf=\"!isNodeLoading(item.id); else loadingSpinner\"\r\n (click)=\"onRemoveNode(item)\">cancel</mat-icon>\r\n </mat-chip>\r\n </div>\r\n </mat-chip-list>\r\n </div>\r\n </div>\r\n <mat-divider *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length\" class=\"mx-auto\"></mat-divider>\r\n <div class=\"confirm__button__groups\">\r\n <button (click)=\"onCloseDialog()\" class=\"btn-add\" [disabled]=\"!resultSelected.length\"\r\n [class.qms-btn-disabled]=\"!resultSelected.length\" qms-btn>\r\n <span>{{LANG.ADD}}</span>\r\n <span>\r\n ({{treeDepartment.resultSelected.length}})\r\n </span>\r\n </button>\r\n <button qms-btn-text mat-dialog-close>\r\n Cancel\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Loading spinner -->\r\n<ng-template #loadingSpinner>\r\n <div class=\"qms-spinner-wrapper\">\r\n <div class=\"qms-spinner center\">\r\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\"></mat-spinner>\r\n </div>\r\n </div>\r\n</ng-template>",
245
+ template: "<div class=\"qms-select-department\">\r\n <div class=\"header-dialog mb-2\">\r\n <span>{{popupData.headerName}}</span>\r\n <button matDialogClose class=\"btn-close-dialog\" color=\"light\" qms-btn-icon>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n <div>\r\n <div class=\"qms-scrollbar\">\r\n <div>\r\n <qms-select-department-tree #treeDepartment customClass=\"custom-department-tree\"\r\n [height]=\"popupData.config.isMobile ? '38vh' : '50vh'\" [rowsSkeleton]=\"9\" [config]=\"popupData.config\"\r\n (onSearchEvent)=\"onSearchEvent.emit($event)\" (onValueChangeEvent)=\"onResultDepartmentChange($event)\"\r\n (onPagingSearchEvent)=\"onPagingEvent.emit($event)\" (onCheckNodeEvent)=\"onCheckNodeEvent.emit($event)\"\r\n (onExpandNodeEvent)=\"onExpandNodeEvent.emit($event)\" (onLoadMoreEvent)=\"onLoadMoreEvent.emit()\"\r\n (onCheckAllItemSearchEvent)=\"onCheckAllItemSearchEvent.emit($event)\"\r\n (onCheckItemSearchEvent)=\"onCheckItemSearchEvent.emit($event)\"\r\n (toggleIncludeChildEvent)=\"toggleIncludeChildEvent.emit($event)\">\r\n </qms-select-department-tree>\r\n </div>\r\n </div>\r\n <div class=\"line__divider\"></div>\r\n <div [@heightAnimation] *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length\" class=\" pr-0 pe-0\">\r\n <div class=\"header-title\">{{LANG.RESULTS}}</div>\r\n <div class=\"result-content pr-0 pe-0\">\r\n <mat-chip-list class=\"panel__item qms-scrollbar\">\r\n <div [@inOutAnimation_2] [id]=\"'item-result-'+item.id\" *ngFor=\"let item of treeDepartment.resultSelected\">\r\n <mat-chip [@updateItemAnimation] *qmsContentChanges=\"item.children?.length\"\r\n [qms-tool-tip]=\"generateTootip(item)\" position=\"top\" mode=\"dark\" qms-chip [removable]=\"true\">\r\n <span (click)=\"onScrollToNode(item)\" qms-chip-body>\r\n <span class=\"related__item__content_name\" #itemName>\r\n <span>{{item.name}}</span>\r\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && !popupData.config.lazy\">\r\n {{item.children.length}}/{{item.childCount}}\r\n </span>\r\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && popupData.config.lazy\">\r\n {{item.selectedChildCount}}/{{item.childCount}}\r\n </span>\r\n </span>\r\n </span>\r\n <mat-icon *ngIf=\"!isNodeLoading(item.id); else loadingSpinner\"\r\n (click)=\"onRemoveNode(item)\">cancel</mat-icon>\r\n </mat-chip>\r\n </div>\r\n </mat-chip-list>\r\n </div>\r\n </div>\r\n <mat-divider *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length\" class=\"mx-auto\"></mat-divider>\r\n <div class=\"confirm__button__groups\">\r\n <button (click)=\"onCloseDialog()\" class=\"btn-add\"\r\n [disabled]=\"!resultSelected.length && !popupData.config.canAddNullResult\"\r\n [class.qms-btn-disabled]=\"!resultSelected.length && !popupData.config.canAddNullResult\" qms-btn>\r\n <span>{{LANG.ADD}}</span>\r\n <span>\r\n ({{treeDepartment.resultSelected.length}})\r\n </span>\r\n </button>\r\n <button qms-btn-text mat-dialog-close>\r\n Cancel\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Loading spinner -->\r\n<ng-template #loadingSpinner>\r\n <div class=\"qms-spinner-wrapper\">\r\n <div class=\"qms-spinner center\">\r\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\"></mat-spinner>\r\n </div>\r\n </div>\r\n</ng-template>",
246
246
  providers: [
247
247
  {
248
248
  provide: MAT_CHECKBOX_DEFAULT_OPTIONS,
@@ -271,4 +271,4 @@ SelectDepartmentComponent.propDecorators = {
271
271
  toggleIncludeChildEvent: [{ type: Output }]
272
272
  };
273
273
  export { ɵ0 };
274
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWRlcGFydG1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1kZXBhcnRtZW50L3NlbGVjdC1kZXBhcnRtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SSxPQUFPLEVBQTZCLDRCQUE0QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUczQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV0RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztXQVN2RTtJQUNSLFdBQVcsRUFBRSxNQUFNO0NBQ1M7QUFLcEMsTUFBTSxPQUFPLHlCQUF5QjtJQXFCcEMsWUFDVSxLQUF3QixFQUN4QixTQUFrRCxFQUN6QixJQUErQixFQUN6RCxLQUE4QjtRQUg3QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUF5QztRQUN6QixTQUFJLEdBQUosSUFBSSxDQUEyQjtRQUN6RCxVQUFLLEdBQUwsS0FBSyxDQUF5QjtRQXhCdkMsa0JBQWEsR0FBRyxJQUFJ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Q04sTUFBTTtzQ0FDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveERlZmF1bHRPcHRpb25zLCBNQVRfQ0hFQ0tCT1hfREVGQVVMVF9PUFRJT05TIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFBhZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFFNU0ZsYXROb2RlVHJlZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvcW1zLWZsYXQtbm9kZS5tb2RlbCc7XHJcbmltcG9ydCB7IFFNU1RyZWVOb2RlIH0gZnJvbSAnLi4vLi4vY29tbW9uL21vZGVscy9xbXMtdHJlZS1ub2RlLm1vZGVsJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGlvbi1yZWdpc3RyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudFNlYXJjaFJlc3VsdE1vZGVsLCBRTVNEZXBhcnRtZW50UGFnaW5nTW9kZWwsIFNlbGVjdERlcGFydG1lbnRUcmVlQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VsZWN0LWRlcGFydG1lbnQtdHJlZSc7XHJcbmltcG9ydCB7IFNlbGVjdERlcGFydG1lbnRBbmltYXRpb25UcmlnZ2VyIH0gZnJvbSAnLi9jb21tb24vYW5pbWF0aW9uJztcclxuaW1wb3J0IHsgU2VsZWN0RGVwYXJ0bWVudFBvcHVwRGF0YSB9IGZyb20gJy4vbW9kZWwvc2VsZWN0LWRlcGFydG1lbnQtcG9wdXAtZGF0YS5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Ftcy1zZWxlY3QtZGVwYXJ0bWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1kZXBhcnRtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtZGVwYXJ0bWVudC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBNQVRfQ0hFQ0tCT1hfREVGQVVMVF9PUFRJT05TLFxyXG4gICAgICB1c2VWYWx1ZToge1xyXG4gICAgICAgIGNsaWNrQWN0aW9uOiAnbm9vcCdcclxuICAgICAgfSBhcyBNYXRDaGVja2JveERlZmF1bHRPcHRpb25zXHJcbiAgICB9XHJcbiAgXSxcclxuICBhbmltYXRpb25zOiBbU2VsZWN0RGVwYXJ0bWVudEFuaW1hdGlvblRyaWdnZXJdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3REZXBhcnRtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG4gIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIExBTkc6IGFueTtcclxuICBAVmlld0NoaWxkKCd0cmVlRGVwYXJ0bWVudCcpIHRyZWVEZXBhcnRtZW50OiBTZWxlY3REZXBhcnRtZW50VHJlZUNvbXBvbmVudDtcclxuICBAT3V0cHV0KCkgb25QYWdpbmdFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8UGFnZUV2ZW50PigpO1xyXG4gIHBvcHVwRGF0YSA9IG5ldyBTZWxlY3REZXBhcnRtZW50UG9wdXBEYXRhKCk7XHJcbiAgcmVzdWx0U2VsZWN0ZWQ6IFFNU1RyZWVOb2RlW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpIG9uU2VhcmNoRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgb25DaGVja05vZGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8UU1TRmxhdE5vZGVUcmVlPigpO1xyXG4gIEBPdXRwdXQoKSBvbkV4cGFuZE5vZGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8UU1TRmxhdE5vZGVUcmVlPigpO1xyXG4gIEBPdXRwdXQoKSBvbkxvYWRNb3JlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIG9uQ2hlY2tJdGVtU2VhcmNoRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgc3RhdGU6IGJvb2xlYW4sIGl0ZW06IERlcGFydG1lbnRTZWFyY2hSZXN1bHRNb2RlbCB9PigpO1xyXG4gIEBPdXRwdXQoKSBvbkNoZWNrQWxsSXRlbVNlYXJjaEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSB0b2dnbGVJbmNsdWRlQ2hpbGRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICByZXN1bHRTZWFyY2g6IFFNU0ZsYXROb2RlVHJlZVtdID0gW107XHJcbiAgaXNBY3RpdmVWaWV3U2VhcmNoOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZ2V0IGlzSW5jbHVkZUNoaWxkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy50cmVlRGVwYXJ0bWVudCAmJiB0aGlzLnRyZWVEZXBhcnRtZW50LmlzSW5jbHVkZUNoaWxkcmVuO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U2VsZWN0RGVwYXJ0bWVudENvbXBvbmVudD4sXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBkYXRhOiBTZWxlY3REZXBhcnRtZW50UG9wdXBEYXRhLFxyXG4gICAgcHVibGljIHRyYW5zOiBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy50cmFucy5nZXRMYW5ndWFnZVN1YmplY3QkLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICB0aGlzLkxBTkcgPSB0aGlzLnRyYW5zLmdldE9iamVjdExhbmcocmVzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyBJbml0IHBvcHVwIGRhdGFcclxuICAgIHRoaXMucG9wdXBEYXRhID0gXy5jbG9uZURlZXAodGhpcy5kYXRhKTtcclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy50cmVlRGVwYXJ0bWVudC5yZXN1bHRTZWxlY3RlZCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcclxuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGN1cnJlbnRUcmVlRGF0YSgpOiBRTVNUcmVlTm9kZVtdIHtcclxuICAgIHJldHVybiB0aGlzLnRyZWVEZXBhcnRtZW50ID8gdGhpcy50cmVlRGVwYXJ0bWVudC5jdXJyZW50VHJlZURhdGEgOiBbXTtcclxuICB9XHJcblxyXG4gIGRpc3BsYXlXaGVuU2VsZWN0RGVwYXJ0bWVudE9wdGlvbigkZXZlbnQ6IGFueSk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgb25TY3JvbGxUb05vZGUobm9kZTogUU1TVHJlZU5vZGUpIHtcclxuICAgIC8vIHRoaXMudHJlZURlcGFydG1lbnQuc2Nyb2xsVG9Ob2RlKG5vZGUuaWQpO1xyXG4gIH1cclxuXHJcbiAgb25SZW1vdmVOb2RlKG5vZGU6IFFNU1RyZWVOb2RlKSB7XHJcbiAgICB0aGlzLnRyZWVEZXBhcnRtZW50Lm9uUmVtb3ZlTm9kZShub2RlLmlkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBHZXRzIGEgbGlzdCBvZiB0aGUgZGF0YSBub2RlJ3Mgc3VidHJlZSBvZiBkZXNjZW5kZW50IGRhdGEgbm9kZXMuXHJcbiAqL1xyXG4gIGdldENoaWxkcmVuTm9kZShub2RlOiBRTVNGbGF0Tm9kZVRyZWUpIHtcclxuICAgIHJldHVybiB0aGlzLnRyZWVEZXBhcnRtZW50LmdldExpc3RDaGlsZHJlbk9mTm9kZShub2RlKTtcclxuICB9XHJcblxyXG4gIG9uUmVzdWx0RGVwYXJ0bWVudENoYW5nZShkYXRhOiBRTVNUcmVlTm9kZVtdKSB7XHJcbiAgICB0aGlzLnJlc3VsdFNlbGVjdGVkID0gZGF0YS5tYXAoaXRlbSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4uaXRlbSxcclxuICAgICAgICB0b29sdGlwOiB0aGlzLmdlbmVyYXRlVG9vdGlwKGl0ZW0pXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVmYXVsdEZvcm1hdFRvb2x0aXBOb2RlKG5vZGU6IFFNU1RyZWVOb2RlKSB7XHJcbiAgICByZXR1cm4gbm9kZS5pc0dyb3VwID8gdGhpcy5mb3JtYXRTdHJpbmcodGhpcy5wb3B1cERhdGEuY29uZmlnLnRvb2x0aXBJbmNsdWRlTGFiZWwgPyB0aGlzLnBvcHVwRGF0YS5jb25maWcudG9vbHRpcEluY2x1ZGVMYWJlbCA6IHRoaXMuTEFORy5UT09MVElQX0lOQ0xVREVfU1VCX0RFUEFSVE1FTlQsIG5vZGUubmFtZSwgbm9kZS5jaGlsZHJlbi5sZW5ndGgudG9TdHJpbmcoKSkgOiBub2RlLm5hbWU7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZVRvb3RpcChub2RlOiBRTVNUcmVlTm9kZSkge1xyXG4gICAgcmV0dXJuICEhdGhpcy5wb3B1cERhdGEuZm9ybWF0VG9vbHRpcEl0ZW1SZXN1bHQgPyB0aGlzLnBvcHVwRGF0YS5mb3JtYXRUb29sdGlwSXRlbVJlc3VsdChub2RlKSA6IHRoaXMuZGVmYXVsdEZvcm1hdFRvb2x0aXBOb2RlKG5vZGUpXHJcbiAgfVxyXG5cclxuICB1cGRhdGVSZXN1bHRTZWFyY2goZGF0YTogUU1TRGVwYXJ0bWVudFBhZ2luZ01vZGVsPFFNU0ZsYXROb2RlVHJlZT4pIHtcclxuICAgIGlmICghdGhpcy50cmVlRGVwYXJ0bWVudClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgdGhpcy50cmVlRGVwYXJ0bWVudC5zZXRSZXN1bHRTZWFyY2goZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1hdFN0cmluZyguLi5yZXBsYWNlbWVudHM6IHN0cmluZ1tdKTogc3RyaW5nIHtcclxuICAgIGxldCByZXN1bHQgPSBhcmd1bWVudHNbMF07XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGggLSAxOyBpKyspIHtcclxuICAgICAgY29uc3QgcmVnID0gbmV3IFJlZ0V4cChgXFxcXHske2l9XFxcXH1gLCAnZ20nKTtcclxuICAgICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UocmVnLCBhcmd1bWVudHNbaSArIDFdKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAgICAgKiBUaGlzIGZ1bmN0aW9uIHVzZSBmb3IgbGF6eSBsb2FkIGNoaWxkcmVuIG9mIG5vZGVcclxuICAgICAgICogQHBhcmFtIG5vZGUgbm9kZSB1cGRhdGVcclxuICAgICAgICogQHBhcmFtIGRhdGEgbGlzdCBjaGlsZHJlbiB0byB1cGRhdGUgbm9kZS5cclxuICAgICAgICogQHBhcmFtIG1vZGUgZGVmYXVsdCBpcyB1cGRhdGUgdGhhdCByZXBsYWNlIGN1cnJlbnQgbGlzdCBjaGlsZHJlbiBieSBuZXcgbGlzdCBjaGlsZHJlbiAsIGlmIG1vZGUgPSAnaW5zZXJ0JyB3aWxsIGluc2VydCBuZXcgdmFsdWUgdG8gbGlzdCBjaGlsZHJlbiBleGlzdGVkIGJlZm9yZS5cclxuICAqL1xyXG4gIHVwZGF0ZUNoaWxkT2ZOb2RlKG5vZGU6IFFNU0ZsYXROb2RlVHJlZSwgZGF0YTogUU1TRmxhdE5vZGVUcmVlW10sIG1vZGU6ICdpbnNlcnQnIHwgJ3VwZGF0ZScgPSAndXBkYXRlJykge1xyXG4gICAgdGhpcy50cmVlRGVwYXJ0bWVudC51cGRhdGVDaGlsZE9mTm9kZShub2RlLCBkYXRhLCBtb2RlKTtcclxuICB9XHJcblxyXG4gIGFkZFJvb3RUcmVlKGRhdGE6IFFNU0ZsYXROb2RlVHJlZVtdID0gW10pIHtcclxuICAgIHRoaXMudHJlZURlcGFydG1lbnQuYWRkUm9vdFRyZWUoZGF0YSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICogVGhpcyBmdW5jdGlvbiBoYW5kbGUgY2hlY2sgbm9kZSBvZiB0cmVlXHJcbiAqIEBwYXJhbSBub2RlIG5vZGUgb2YgdHJlZVxyXG4gKiBAcGFyYW0gY2FsbGJhY2sgZG8gc29tZXRoaW5nIGJlZm9yZSBoYW5kbGUgY2hlY2sgbm9kZVxyXG4gKiBAcmV0dXJuc1xyXG4gKi9cclxuICBvbkJlZm9yZUNoZWNrTm9kZShub2RlOiBRTVNGbGF0Tm9kZVRyZWUsIGNhbGxiYWNrPzogKG5vZGU6IFFNU0ZsYXROb2RlVHJlZSkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD4pIHtcclxuICAgIHJldHVybiB0aGlzLnRyZWVEZXBhcnRtZW50Lm9uQmVmb3JlQ2hlY2tOb2RlKG5vZGUsIGNhbGxiYWNrKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNoZWNrTm9kZShub2RlOiBRTVNGbGF0Tm9kZVRyZWUpIHtcclxuICAgIGlmICghdGhpcy50cmVlRGVwYXJ0bWVudClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgdGhpcy50cmVlRGVwYXJ0bWVudC5oYW5kbGVDaGVja05vZGUobm9kZSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBUaGlzIG1ldGhvZCB1c2UgZm9yIGxhenkgbW9kZSwgZG8gc29tZSB0aGluZyBiZWZvcmUgaW5pdCBsaXN0IG5vZGUgc2VsZWN0ZWRcclxuICogQHBhcmFtIGNhbGxiYWNrXHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG4gIGFzeW5jIG9uQmVmb3JlSW5pdE5vZGVTZWxlY3RlZChjYWxsYmFjaz86ICgpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+KSB7XHJcbiAgICBpZiAoIXRoaXMudHJlZURlcGFydG1lbnQpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGlmICghIWNhbGxiYWNrKVxyXG4gICAgICBhd2FpdCB0aGlzLnRyZWVEZXBhcnRtZW50Lm9uQmVmb3JlSW5pdE5vZGVTZWxlY3RlZChjYWxsYmFjayk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgbm9kZSBieSBpZCBvZiBub2RlXHJcbiAgICogQHBhcmFtIG5vZGVJZCBpZCBvZiBub2RlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBmaW5kTm9kZShub2RlSWQ6IHN0cmluZyk6IFFNU0ZsYXROb2RlVHJlZSB7XHJcbiAgICBpZiAoIXRoaXMudHJlZURlcGFydG1lbnQpXHJcbiAgICAgIHJldHVybjtcclxuICAgIHJldHVybiB0aGlzLnRyZWVEZXBhcnRtZW50LnRyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG5vZGUgPT4gbm9kZS5pZCA9PT0gbm9kZUlkLnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIFRoaXMgbWV0aG9kIHVzZSBmb3IgbGF6eSBtb2RlLCBkbyBzb21lIHRoaW5nIGJlZm9yZSBzZWxlY3QgYWxsIHJlc3VsdCBzZWFyY2hcclxuICogQHBhcmFtIGNhbGxiYWNrXHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG4gIGFzeW5jIG9uQmVmb3JlQ2hlY2tBbGxTZWFyY2goY2FsbGJhY2s/OiAoZGF0YSkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD4pIHtcclxuICAgIGlmICghdGhpcy50cmVlRGVwYXJ0bWVudClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgYXdhaXQgdGhpcy50cmVlRGVwYXJ0bWVudC5vbkJlZm9yZUNoZWNrQWxsU2VhcmNoKGNhbGxiYWNrKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4qIFRoaXMgbWV0aG9kIHVzZSBmb3IgbGF6eSBtb2RlLCBkbyBzb21lIHRoaW5nIGJlZm9yZSBjaGVjayBpdGVtIHJlc3VsdFxyXG4qIEBwYXJhbSBjYWxsYmFja1xyXG4qIEByZXR1cm5zXHJcbiovXHJcbiAgb25CZWZvcmVDaGVja0l0ZW1TZWFyY2goaXRlbTogRGVwYXJ0bWVudFNlYXJjaFJlc3VsdE1vZGVsLCBjYWxsYmFjaz86IChpdGVtOiBEZXBhcnRtZW50U2VhcmNoUmVzdWx0TW9kZWwpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+KSB7XHJcbiAgICB0aGlzLnRyZWVEZXBhcnRtZW50Lm9uQmVmb3JlQ2hlY2tJdGVtU2VhcmNoKGl0ZW0sIGNhbGxiYWNrKTtcclxuICB9XHJcblxyXG4gIHNldExvYWRpbmdTdGF0ZU5vZGUoaXNMb2FkaW5nLCBub2RlSWQ6IHN0cmluZykge1xyXG4gICAgISF0aGlzLnRyZWVEZXBhcnRtZW50ICYmIHRoaXMudHJlZURlcGFydG1lbnQuc2V0TG9hZGluZ1N0YXRlTm9kZShpc0xvYWRpbmcsIG5vZGVJZCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNlbGVjdCBhIHZhbHVlIG9yIGFuIGFycmF5IG9mIHZhbHVlcy5cclxuICAgKi9cclxuICBvblNlbGVjdE5vZGUoLi4ubm9kZUlkczogc3RyaW5nW10pIHtcclxuICAgIHRoaXMudHJlZURlcGFydG1lbnQub25TZWxlY3ROb2RlKC4uLm5vZGVJZHMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVzZWxlY3RzIGEgdmFsdWUgb3IgYW4gYXJyYXkgb2YgdmFsdWVzLlxyXG4gICAqL1xyXG4gIG9uRGVzZWxlY3ROb2RlKC4uLm5vZGVJZHM6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLnRyZWVEZXBhcnRtZW50Lm9uRGVzZWxlY3ROb2RlKC4uLm5vZGVJZHMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBUb2dnbGVzIGEgdmFsdWUgYmV0d2VlbiBzZWxlY3RlZCBhbmQgZGVzZWxlY3RlZC5cclxuICAqL1xyXG4gIG9uVG9nZ2xlTm9kZShub2RlSWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy50cmVlRGVwYXJ0bWVudC5vblRvZ2dsZU5vZGUobm9kZUlkKTtcclxuICB9XHJcblxyXG4gIGdldE5vZGVCeUlkKG5vZGVJZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy50cmVlRGVwYXJ0bWVudC5nZXROb2RlQnlJZChub2RlSWQpO1xyXG4gIH1cclxuXHJcbiAgaXNOb2RlTG9hZGluZyhub2RlSWQ6IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLnRyZWVEZXBhcnRtZW50KVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICBjb25zdCBub2RlID0gdGhpcy50cmVlRGVwYXJ0bWVudC5nZXROb2RlQnlJZChub2RlSWQpO1xyXG4gICAgcmV0dXJuICEhbm9kZSAmJiBub2RlLmlzTG9hZGluZztcclxuICB9XHJcblxyXG4gIHNldExvYWRpbmdNb3JlKHN0YXRlOiBib29sZWFuKSB7XHJcbiAgICBpZiAoIXRoaXMudHJlZURlcGFydG1lbnQpXHJcbiAgICAgIHJldHVybjtcclxuICAgIHRoaXMudHJlZURlcGFydG1lbnQuZ2V0TG9hZGluZ01vcmUkLm5leHQoc3RhdGUpO1xyXG4gIH1cclxuXHJcbiAgc2V0TG9hZGluZyhzdGF0ZTogYm9vbGVhbikge1xyXG4gICAgaWYgKCF0aGlzLnRyZWVEZXBhcnRtZW50KVxyXG4gICAgICByZXR1cm47XHJcbiAgICB0aGlzLnRyZWVEZXBhcnRtZW50LmdldExvYWRpbmckLm5leHQoc3RhdGUpO1xyXG4gIH1cclxuICBzZXRMb2FkaW5nTm9kZShub2RlSWQ6IHN0cmluZywgc3RhdGU6IGJvb2xlYW4pIHtcclxuICAgIGlmICghdGhpcy50cmVlRGVwYXJ0bWVudClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMudHJlZURlcGFydG1lbnQuZ2V0Tm9kZUJ5SWQobm9kZUlkKTtcclxuICAgIGlmICghIW5vZGUpXHJcbiAgICAgIG5vZGUuaXNMb2FkaW5nID0gc3RhdGU7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVUcmVlRGF0YShkYXRhOiBRTVNUcmVlTm9kZVtdID0gdGhpcy5jdXJyZW50VHJlZURhdGEpIHtcclxuICAgICEhdGhpcy50cmVlRGVwYXJ0bWVudCAmJiB0aGlzLnRyZWVEZXBhcnRtZW50LnVwZGF0ZURhdGFUcmVlKGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgb25EZXN0cm95TG9hZE1vcmUoKSB7XHJcbiAgICB0aGlzLnRyZWVEZXBhcnRtZW50Lm9uRGVzdHJveUxvYWRNb3JlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZExpc3REYXRhKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5wb3B1cERhdGEuY29uZmlnLnNlbGVjdGVkTGlzdCA9IGRhdGE7XHJcbiAgfVxyXG5cclxuICBnZXRDaGVja2VkU3RhdHVzTm9kZShub2RlOiBRTVNGbGF0Tm9kZVRyZWUpIHtcclxuICAgIHJldHVybiB0aGlzLnRyZWVEZXBhcnRtZW50LmdldENoZWNrZWRTdGF0dXNOb2RlKG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlTm9kZUluZm9ybWF0aW9uKG5vZGU6IFFNU0ZsYXROb2RlVHJlZSkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJlZURlcGFydG1lbnQudXBkYXRlTm9kZUluZm9ybWF0aW9uKG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlU2VsZWN0ZWRSZXN1bHREYXRhKG5vZGU6IFFNU0ZsYXROb2RlVHJlZSkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJlZURlcGFydG1lbnQudXBkYXRlU2VsZWN0ZWRSZXN1bHREYXRhKG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsUGFyZW50Tm9kZShub2RlOiBRTVNGbGF0Tm9kZVRyZWUpIHtcclxuICAgIHJldHVybiB0aGlzLnRyZWVEZXBhcnRtZW50LmdldEFsbFBhcmVudE5vZGUobm9kZSk7XHJcbiAgfVxyXG5cclxuICBvbkNoZWNrTm9kZShub2RlOiBRTVNGbGF0Tm9kZVRyZWUsIGZpcmVFdmVudENoZWNrTm9kZTogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIHJldHVybiB0aGlzLnRyZWVEZXBhcnRtZW50Lm9uQ2hlY2tOb2RlKG5vZGUsIGZpcmVFdmVudENoZWNrTm9kZSk7XHJcbiAgfVxyXG5cclxuICBnZXRDaGlsZHJlblNlbGVjdGVkKG5vZGU6IFFNU0ZsYXROb2RlVHJlZSk6IFFNU0ZsYXROb2RlVHJlZVtdIHtcclxuICAgIHJldHVybiB0aGlzLnRyZWVEZXBhcnRtZW50LmdldENoaWxkcmVuU2VsZWN0ZWQobm9kZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
274
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWRlcGFydG1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1kZXBhcnRtZW50L3NlbGVjdC1kZXBhcnRtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SSxPQUFPLEVBQTZCLDRCQUE0QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUczQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV0RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztXQVN2RTtJQUNSLFdBQVcsRUFBRSxNQUFNO0NBQ1M7QUFLcEMsTUFBTSxPQUFPLHlCQUF5QjtJQXFCcEMsWUFDVSxLQUF3QixFQUN4QixTQUFrRCxFQUN6QixJQUErQixFQUN6RCxLQUE4QjtRQUg3QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUF5QztRQUN6QixTQUFJLEdBQUosSUFBSSxDQUEyQjtRQUN6RCxVQUFLLEdBQUwsS0FBSyxDQUF5QjtRQXhCdkMsa0JBQWEsR0FBRyxJQUFJ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Q04sTUFBTTtzQ0FDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveERlZmF1bHRPcHRpb25zLCBNQVRfQ0hFQ0tCT1hfREVGQVVMVF9PUFRJT05TIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFBhZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFFNU0ZsYXROb2RlVHJlZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvcW1zLWZsYXQtbm9kZS5tb2RlbCc7XHJcbmltcG9ydCB7IFFNU1RyZWVOb2RlIH0gZnJvbSAnLi4vLi4vY29tbW9uL21vZGVscy9xbXMtdHJlZS1ub2RlLm1vZGVsJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGlvbi1yZWdpc3RyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudFNlYXJjaFJlc3VsdE1vZGVsLCBRTVNEZXBhcnRtZW50UGFnaW5nTW9kZWwsIFNlbGVjdERlcGFydG1lbnRUcmVlQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VsZWN0LWRlcGFydG1lbnQtdHJlZSc7XHJcbmltcG9ydCB7IFNlbGVjdERlcGFydG1lbnRBbmltYXRpb25UcmlnZ2VyIH0gZnJvbSAnLi9jb21tb24vYW5pbWF0aW9uJztcclxuaW1wb3J0IHsgU2VsZWN0RGVwYXJ0bWVudFBvcHVwRGF0YSB9IGZyb20gJy4vbW9kZWwvc2VsZWN0LWRlcGFydG1lbnQtcG9wdXAtZGF0YS5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Ftcy1zZWxlY3QtZGVwYXJ0bWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1kZXBhcnRtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtZGVwYXJ0bWVudC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBNQVRfQ0hFQ0tCT1hfREVGQVVMVF9PUFRJT05TLFxyXG4gICAgICB1c2VWYWx1ZToge1xyXG4gICAgICAgIGNsaWNrQWN0aW9uOiAnbm9vcCdcclxuICAgICAgfSBhcyBNYXRDaGVja2JveERlZmF1bHRPcHRpb25zXHJcbiAgICB9XHJcbiAgXSxcclxuICBhbmltYXRpb25zOiBbU2VsZWN0RGVwYXJ0bWVudEFuaW1hdGlvblRyaWdnZXJdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3REZXBhcnRtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG4gIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIExBTkc6IGFueTtcclxuICBAVmlld0NoaWxkKCd0cmVlRGVwYXJ0bWVudCcpIHRyZWVEZXBhcnRtZW50OiBTZWxlY3REZXBhcnRtZW50VHJlZUNvbXBvbmVudDtcclxuICBAT3V0cHV0KCkgb25QYWdpbmdFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8UGFnZUV2ZW50PigpO1xyXG4gIHBvcHVwRGF0YSA9IG5ldyBTZWxlY3REZXBhcnRtZW50UG9wdXBEYXRhKCk7XHJcbiAgcmVzdWx0U2VsZWN0ZWQ6IFFNU1RyZWVOb2RlW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpIG9uU2VhcmNoRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgb25DaGVja05vZGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8UU1TRmxhdE5vZGVUcmVlPigpO1xyXG4gIEBPdXRwdXQoKSBvbkV4cGFuZE5vZGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8UU1TRmxhdE5vZGVUcmVlPigpO1xyXG4gIEBPdXRwdXQoKSBvbkxvYWRNb3JlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIG9uQ2hlY2tJdGVtU2VhcmNoRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgc3RhdGU6IGJvb2xlYW4sIGl0ZW06IERlcGFydG1lbnRTZWFyY2hSZXN1bHRNb2RlbCB9PigpO1xyXG4gIEBPdXRwdXQoKSBvbkNoZWNrQWxsSXRlbVNlYXJjaEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSB0b2dnbGVJbmNsdWRlQ2hpbGRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICByZXN1bHRTZWFyY2g6IFFNU0ZsYXROb2RlVHJlZVtdID0gW107XHJcbiAgaXNBY3RpdmVWaWV3U2VhcmNoOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZ2V0IGlzSW5jbHVkZUNoaWxkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy50cmVlRGVwYXJ0bWVudCAmJiB0aGlzLnRyZWVEZXBhcnRtZW50LmlzSW5jbHVkZUNoaWxkcmVuO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U2VsZWN0RGVwYXJ0bWVudENvbXBvbmVudD4sXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBkYXRhOiBTZWxlY3REZXBhcnRtZW50UG9wdXBEYXRhLFxyXG4gICAgcHVibGljIHRyYW5zOiBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy50cmFucy5nZXRMYW5ndWFnZVN1YmplY3QkLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICB0aGlzLkxBTkcgPSB0aGlzLnRyYW5zLmdldE9iamVjdExhbmcocmVzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyBJbml0IHBvcHVwIGRhdGFcclxuICAgIHRoaXMucG9wdXBEYXRhID0gXy5jbG9uZURlZXAodGhpcy5kYXRhKTtcclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy50cmVlRGVwYXJ0bWVudC5yZXN1bHRTZWxlY3RlZCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcclxuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGN1cnJlbnRUcmVlRGF0YSgpOiBRTVNUcmVlTm9kZVtdIHtcclxuICAgIHJldHVybiB0aGlzLnRyZWVEZXBhcnRtZW50ID8gdGhpcy50cmVlRGVwYXJ0bWVudC5jdXJyZW50VHJlZURhdGEgOiBbXTtcclxuICB9XHJcblxyXG4gIGRpc3BsYXlXaGVuU2VsZWN0RGVwYXJ0bWVudE9wdGlvbigkZXZlbnQ6IGFueSk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgb25TY3JvbGxUb05vZGUobm9kZTogUU1TVHJlZU5vZGUpIHtcclxuICAgIC8vIHRoaXMudHJlZURlcGFydG1lbnQuc2Nyb2xsVG9Ob2RlKG5vZGUuaWQpO1xyXG4gIH1cclxuXHJcbiAgb25SZW1vdmVOb2RlKG5vZGU6IFFNU1RyZWVOb2RlKSB7XHJcbiAgICB0aGlzLnRyZWVEZXBhcnRtZW50Lm9uUmVtb3ZlTm9kZShub2RlLmlkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBHZXRzIGEgbGlzdCBvZiB0aGUgZGF0YSBub2RlJ3Mgc3VidHJlZSBvZiBkZXNjZW5kZW50IGRhdGEgbm9kZXMuXHJcbiAqL1xyXG4gIGdldENoaWxkcmVuTm9kZShub2RlOiBRTVNGbGF0Tm9kZVRyZWUpIHtcclxuICAgIHJldHVybiB0aGlzLnRyZWVEZXBhcnRtZW50LmdldExpc3RDaGlsZHJlbk9mTm9kZShub2RlKTtcclxuICB9XHJcblxyXG4gIG9uUmVzdWx0RGVwYXJ0bWVudENoYW5nZShkYXRhOiBRTVNUcmVlTm9kZVtdKSB7XHJcbiAgICB0aGlzLnJlc3VsdFNlbGVjdGVkID0gZGF0YS5tYXAoaXRlbSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4uaXRlbSxcclxuICAgICAgICB0b29sdGlwOiB0aGlzLmdlbmVyYXRlVG9vdGlwKGl0ZW0pXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVmYXVsdEZvcm1hdFRvb2x0aXBOb2RlKG5vZGU6IFFNU1RyZWVOb2RlKSB7XHJcbiAgICByZXR1cm4gbm9kZS5pc0dyb3VwID8gdGhpcy5mb3JtYXRTdHJpbmcodGhpcy5wb3B1cERhdGEuY29uZmlnLnRvb2x0aXBJbmNsdWRlTGFiZWwgPyB0aGlzLnBvcHVwRGF0YS5jb25maWcudG9vbHRpcEluY2x1ZGVMYWJlbCA6IHRoaXMuTEFORy5UT09MVElQX0lOQ0xVREVfU1VCX0RFUEFSVE1FTlQsIG5vZGUubmFtZSwgbm9kZS5jaGlsZHJlbi5sZW5ndGgudG9TdHJpbmcoKSkgOiBub2RlLm5hbWU7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZVRvb3RpcChub2RlOiBRTVNUcmVlTm9kZSkge1xyXG4gICAgcmV0dXJuICEhdGhpcy5wb3B1cERhdGEuZm9ybWF0VG9vbHRpcEl0ZW1SZXN1bHQgPyB0aGlzLnBvcHVwRGF0YS5mb3JtYXRUb29sdGlwSXRlbVJlc3VsdChub2RlKSA6IHRoaXMuZGVmYXVsdEZvcm1hdFRvb2x0aXBOb2RlKG5vZGUpXHJcbiAgfVxyXG5cclxuICB1cGRhdGVSZXN1bHRTZWFyY2goZGF0YTogUU1TRGVwYXJ0bWVudFBhZ2luZ01vZGVsPFFNU0ZsYXROb2RlVHJlZT4pIHtcclxuICAgIGlmICghdGhpcy50cmVlRGVwYXJ0bWVudClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgdGhpcy50cmVlRGVwYXJ0bWVudC5zZXRSZXN1bHRTZWFyY2goZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1hdFN0cmluZyguLi5yZXBsYWNlbWVudHM6IHN0cmluZ1tdKTogc3RyaW5nIHtcclxuICAgIGxldCByZXN1bHQgPSBhcmd1bWVudHNbMF07XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGggLSAxOyBpKyspIHtcclxuICAgICAgY29uc3QgcmVnID0gbmV3IFJlZ0V4cChgXFxcXHske2l9XFxcXH1gLCAnZ20nKTtcclxuICAgICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UocmVnLCBhcmd1bWVudHNbaSArIDFdKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAgICAgKiBUaGlzIGZ1bmN0aW9uIHVzZSBmb3IgbGF6eSBsb2FkIGNoaWxkcmVuIG9mIG5vZGVcclxuICAgICAgICogQHBhcmFtIG5vZGUgbm9kZSB1cGRhdGVcclxuICAgICAgICogQHBhcmFtIGRhdGEgbGlzdCBjaGlsZHJlbiB0byB1cGRhdGUgbm9kZS5cclxuICAgICAgICogQHBhcmFtIG1vZGUgZGVmYXVsdCBpcyB1cGRhdGUgdGhhdCByZXBsYWNlIGN1cnJlbnQgbGlzdCBjaGlsZHJlbiBieSBuZXcgbGlzdCBjaGlsZHJlbiAsIGlmIG1vZGUgPSAnaW5zZXJ0JyB3aWxsIGluc2VydCBuZXcgdmFsdWUgdG8gbGlzdCBjaGlsZHJlbiBleGlzdGVkIGJlZm9yZS5cclxuICAqL1xyXG4gIHVwZGF0ZUNoaWxkT2ZOb2RlKG5vZGU6IFFNU0ZsYXROb2RlVHJlZSwgZGF0YTogUU1TRmxhdE5vZGVUcmVlW10sIG1vZGU6ICdpbnNlcnQnIHwgJ3VwZGF0ZScgPSAndXBkYXRlJykge1xyXG4gICAgdGhpcy50cmVlRGVwYXJ0bWVudC51cGRhdGVDaGlsZE9mTm9kZShub2RlLCBkYXRhLCBtb2RlKTtcclxuICB9XHJcblxyXG4gIGFkZFJvb3RUcmVlKGRhdGE6IFFNU0ZsYXROb2RlVHJlZVtdID0gW10pIHtcclxuICAgIHRoaXMudHJlZURlcGFydG1lbnQuYWRkUm9vdFRyZWUoZGF0YSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICogVGhpcyBmdW5jdGlvbiBoYW5kbGUgY2hlY2sgbm9kZSBvZiB0cmVlXHJcbiAqIEBwYXJhbSBub2RlIG5vZGUgb2YgdHJlZVxyXG4gKiBAcGFyYW0gY2FsbGJhY2sgZG8gc29tZXRoaW5nIGJlZm9yZSBoYW5kbGUgY2hlY2sgbm9kZVxyXG4gKiBAcmV0dXJuc1xyXG4gKi9cclxuICBvbkJlZm9yZUNoZWNrTm9kZShub2RlOiBRTVNGbGF0Tm9kZVRyZWUsIGNhbGxiYWNrPzogKG5vZGU6IFFNU0ZsYXROb2RlVHJlZSkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD4pIHtcclxuICAgIHJldHVybiB0aGlzLnRyZWVEZXBhcnRtZW50Lm9uQmVmb3JlQ2hlY2tOb2RlKG5vZGUsIGNhbGxiYWNrKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNoZWNrTm9kZShub2RlOiBRTVNGbGF0Tm9kZVRyZWUpIHtcclxuICAgIGlmICghdGhpcy50cmVlRGVwYXJ0bWVudClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgdGhpcy50cmVlRGVwYXJ0bWVudC5oYW5kbGVDaGVja05vZGUobm9kZSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBUaGlzIG1ldGhvZCB1c2UgZm9yIGxhenkgbW9kZSwgZG8gc29tZSB0aGluZyBiZWZvcmUgaW5pdCBsaXN0IG5vZGUgc2VsZWN0ZWRcclxuICogQHBhcmFtIGNhbGxiYWNrXHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG4gIGFzeW5jIG9uQmVmb3JlSW5pdE5vZGVTZWxlY3RlZChjYWxsYmFjaz86ICgpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+KSB7XHJcbiAgICBpZiAoIXRoaXMudHJlZURlcGFydG1lbnQpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGlmICghIWNhbGxiYWNrKVxyXG4gICAgICBhd2FpdCB0aGlzLnRyZWVEZXBhcnRtZW50Lm9uQmVmb3JlSW5pdE5vZGVTZWxlY3RlZChjYWxsYmFjayk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgbm9kZSBieSBpZCBvZiBub2RlXHJcbiAgICogQHBhcmFtIG5vZGVJZCBpZCBvZiBub2RlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBmaW5kTm9kZShub2RlSWQ6IHN0cmluZyk6IFFNU0ZsYXROb2RlVHJlZSB7XHJcbiAgICBpZiAoIXRoaXMudHJlZURlcGFydG1lbnQpXHJcbiAgICAgIHJldHVybjtcclxuICAgIHJldHVybiB0aGlzLnRyZWVEZXBhcnRtZW50LnRyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG5vZGUgPT4gbm9kZS5pZCA9PT0gbm9kZUlkLnRvU3RyaW5nKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIFRoaXMgbWV0aG9kIHVzZSBmb3IgbGF6eSBtb2RlLCBkbyBzb21lIHRoaW5nIGJlZm9yZSBzZWxlY3QgYWxsIHJlc3VsdCBzZWFyY2hcclxuICogQHBhcmFtIGNhbGxiYWNrXHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG4gIGFzeW5jIG9uQmVmb3JlQ2hlY2tBbGxTZWFyY2goY2FsbGJhY2s/OiAoZGF0YSkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD4pIHtcclxuICAgIGlmICghdGhpcy50cmVlRGVwYXJ0bWVudClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgYXdhaXQgdGhpcy50cmVlRGVwYXJ0bWVudC5vbkJlZm9yZUNoZWNrQWxsU2VhcmNoKGNhbGxiYWNrKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4qIFRoaXMgbWV0aG9kIHVzZSBmb3IgbGF6eSBtb2RlLCBkbyBzb21lIHRoaW5nIGJlZm9yZSBjaGVjayBpdGVtIHJlc3VsdFxyXG4qIEBwYXJhbSBjYWxsYmFja1xyXG4qIEByZXR1cm5zXHJcbiovXHJcbiAgb25CZWZvcmVDaGVja0l0ZW1TZWFyY2goaXRlbTogRGVwYXJ0bWVudFNlYXJjaFJlc3VsdE1vZGVsLCBjYWxsYmFjaz86IChpdGVtOiBEZXBhcnRtZW50U2VhcmNoUmVzdWx0TW9kZWwpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+KSB7XHJcbiAgICB0aGlzLnRyZWVEZXBhcnRtZW50Lm9uQmVmb3JlQ2hlY2tJdGVtU2VhcmNoKGl0ZW0sIGNhbGxiYWNrKTtcclxuICB9XHJcblxyXG4gIHNldExvYWRpbmdTdGF0ZU5vZGUoaXNMb2FkaW5nLCBub2RlSWQ6IHN0cmluZykge1xyXG4gICAgISF0aGlzLnRyZWVEZXBhcnRtZW50ICYmIHRoaXMudHJlZURlcGFydG1lbnQuc2V0TG9hZGluZ1N0YXRlTm9kZShpc0xvYWRpbmcsIG5vZGVJZCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNlbGVjdCBhIHZhbHVlIG9yIGFuIGFycmF5IG9mIHZhbHVlcy5cclxuICAgKi9cclxuICBvblNlbGVjdE5vZGUoLi4ubm9kZUlkczogc3RyaW5nW10pIHtcclxuICAgIHRoaXMudHJlZURlcGFydG1lbnQub25TZWxlY3ROb2RlKC4uLm5vZGVJZHMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVzZWxlY3RzIGEgdmFsdWUgb3IgYW4gYXJyYXkgb2YgdmFsdWVzLlxyXG4gICAqL1xyXG4gIG9uRGVzZWxlY3ROb2RlKC4uLm5vZGVJZHM6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLnRyZWVEZXBhcnRtZW50Lm9uRGVzZWxlY3ROb2RlKC4uLm5vZGVJZHMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBUb2dnbGVzIGEgdmFsdWUgYmV0d2VlbiBzZWxlY3RlZCBhbmQgZGVzZWxlY3RlZC5cclxuICAqL1xyXG4gIG9uVG9nZ2xlTm9kZShub2RlSWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy50cmVlRGVwYXJ0bWVudC5vblRvZ2dsZU5vZGUobm9kZUlkKTtcclxuICB9XHJcblxyXG4gIGdldE5vZGVCeUlkKG5vZGVJZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy50cmVlRGVwYXJ0bWVudC5nZXROb2RlQnlJZChub2RlSWQpO1xyXG4gIH1cclxuXHJcbiAgaXNOb2RlTG9hZGluZyhub2RlSWQ6IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLnRyZWVEZXBhcnRtZW50KVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICBjb25zdCBub2RlID0gdGhpcy50cmVlRGVwYXJ0bWVudC5nZXROb2RlQnlJZChub2RlSWQpO1xyXG4gICAgcmV0dXJuICEhbm9kZSAmJiBub2RlLmlzTG9hZGluZztcclxuICB9XHJcblxyXG4gIHNldExvYWRpbmdNb3JlKHN0YXRlOiBib29sZWFuKSB7XHJcbiAgICBpZiAoIXRoaXMudHJlZURlcGFydG1lbnQpXHJcbiAgICAgIHJldHVybjtcclxuICAgIHRoaXMudHJlZURlcGFydG1lbnQuZ2V0TG9hZGluZ01vcmUkLm5leHQoc3RhdGUpO1xyXG4gIH1cclxuXHJcbiAgc2V0TG9hZGluZyhzdGF0ZTogYm9vbGVhbikge1xyXG4gICAgaWYgKCF0aGlzLnRyZWVEZXBhcnRtZW50KVxyXG4gICAgICByZXR1cm47XHJcbiAgICB0aGlzLnRyZWVEZXBhcnRtZW50LmdldExvYWRpbmckLm5leHQoc3RhdGUpO1xyXG4gIH1cclxuICBzZXRMb2FkaW5nTm9kZShub2RlSWQ6IHN0cmluZywgc3RhdGU6IGJvb2xlYW4pIHtcclxuICAgIGlmICghdGhpcy50cmVlRGVwYXJ0bWVudClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMudHJlZURlcGFydG1lbnQuZ2V0Tm9kZUJ5SWQobm9kZUlkKTtcclxuICAgIGlmICghIW5vZGUpXHJcbiAgICAgIG5vZGUuaXNMb2FkaW5nID0gc3RhdGU7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVUcmVlRGF0YShkYXRhOiBRTVNUcmVlTm9kZVtdID0gdGhpcy5jdXJyZW50VHJlZURhdGEpIHtcclxuICAgICEhdGhpcy50cmVlRGVwYXJ0bWVudCAmJiB0aGlzLnRyZWVEZXBhcnRtZW50LnVwZGF0ZURhdGFUcmVlKGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgb25EZXN0cm95TG9hZE1vcmUoKSB7XHJcbiAgICB0aGlzLnRyZWVEZXBhcnRtZW50Lm9uRGVzdHJveUxvYWRNb3JlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZExpc3REYXRhKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5wb3B1cERhdGEuY29uZmlnLnNlbGVjdGVkTGlzdCA9IGRhdGE7XHJcbiAgfVxyXG5cclxuICBnZXRDaGVja2VkU3RhdHVzTm9kZShub2RlOiBRTVNGbGF0Tm9kZVRyZWUpIHtcclxuICAgIHJldHVybiB0aGlzLnRyZWVEZXBhcnRtZW50LmdldENoZWNrZWRTdGF0dXNOb2RlKG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlTm9kZUluZm9ybWF0aW9uKG5vZGU6IFFNU0ZsYXROb2RlVHJlZSkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJlZURlcGFydG1lbnQudXBkYXRlTm9kZUluZm9ybWF0aW9uKG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlU2VsZWN0ZWRSZXN1bHREYXRhKG5vZGU6IFFNU0ZsYXROb2RlVHJlZSkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJlZURlcGFydG1lbnQudXBkYXRlU2VsZWN0ZWRSZXN1bHREYXRhKG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWxsUGFyZW50Tm9kZShub2RlOiBRTVNGbGF0Tm9kZVRyZWUpIHtcclxuICAgIHJldHVybiB0aGlzLnRyZWVEZXBhcnRtZW50LmdldEFsbFBhcmVudE5vZGUobm9kZSk7XHJcbiAgfVxyXG5cclxuICBvbkNoZWNrTm9kZShub2RlOiBRTVNGbGF0Tm9kZVRyZWUsIGZpcmVFdmVudENoZWNrTm9kZTogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIHJldHVybiB0aGlzLnRyZWVEZXBhcnRtZW50Lm9uQ2hlY2tOb2RlKG5vZGUsIGZpcmVFdmVudENoZWNrTm9kZSk7XHJcbiAgfVxyXG5cclxuICBnZXRDaGlsZHJlblNlbGVjdGVkKG5vZGU6IFFNU0ZsYXROb2RlVHJlZSk6IFFNU0ZsYXROb2RlVHJlZVtdIHtcclxuICAgIHJldHVybiB0aGlzLnRyZWVEZXBhcnRtZW50LmdldENoaWxkcmVuU2VsZWN0ZWQobm9kZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -25,6 +25,7 @@ export class QMSSelectDepartmentTreeConfig {
25
25
  this.resetToggleIncludeChildWhenChangeView = true;
26
26
  this.isIncludeChildren = false;
27
27
  this.tooltipIncludeLabel = '';
28
+ this.canAddNullResult = false;
28
29
  }
29
30
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWRlcGFydG1lbnQtdHJlZS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LWRlcGFydG1lbnQtdHJlZS9tb2RlbC9zZWxlY3QtZGVwYXJ0bWVudC10cmVlLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUVyRixNQUFNLE9BQU8sNkJBQTZCO0lBeUJ4QztRQUNFLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsWUFBWSxFQUFFLEVBQUU7WUFDaEIsUUFBUSxFQUFFLEVBQUU7WUFDWixnQkFBZ0IsRUFBRSxFQUFFO1NBQ3JCLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLDJCQUEyQixDQUFDLEtBQUssQ0FBQztRQUNsRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxJQUFJLENBQUM7UUFDbEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFFNU0ZsYXROb2RlVHJlZSB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vbW9kZWxzL3Ftcy1mbGF0LW5vZGUubW9kZWxcIjtcclxuaW1wb3J0IHsgUU1TVHJlZU5vZGUgfSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL21vZGVscy9xbXMtdHJlZS1ub2RlLm1vZGVsXCI7XHJcbmltcG9ydCB7IE1vZGVEZXBhcnRtZW50VHJlZWVWaWV3RW51bSB9IGZyb20gXCIuLi9lbnVtL21vZGUtZGVwYXJ0bWVudC10cmVlLXZpZXcuZW51bVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFFNU1NlbGVjdERlcGFydG1lbnRUcmVlQ29uZmlnIHtcclxuICBzZWxlY3RJbmNsdWRlTGFiZWw6IHN0cmluZztcclxuICB0cmVlRGF0YTogQXJyYXk8UU1TRmxhdE5vZGVUcmVlPjtcclxuICBkaXNhYmxlZExpc3Q/OiBBcnJheTxhbnk+O1xyXG4gIHNlbGVjdGVkTGlzdD86IEFycmF5PFFNU0ZsYXROb2RlVHJlZT47XHJcbiAgZW5hYmxlSW5jbHVkZUNoaWxkPzogYm9vbGVhbjtcclxuICBlbmFibGVUcmVlU2VhcmNoOiBib29sZWFuO1xyXG4gIGVuYWJsZVBhZ2luZ1NlYXJjaDogYm9vbGVhbjtcclxuICBjaGVja1NlYXJjaE1hcHBpbmdUcmVlPzogYm9vbGVhbjtcclxuICBpc1NlbGVjdE9uZTogYm9vbGVhbjtcclxuICBhY3RpdmVWaWV3U2VhcmNoPzogYm9vbGVhbjtcclxuICBoZWlnaHQ/OiBzdHJpbmc7XHJcbiAgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaGVhZGVyTmFtZToge1xyXG4gICAgdHJlZU5hbWU6IHN0cmluZyxcclxuICAgIGV4dGVybmFsTmFtZTogc3RyaW5nLFxyXG4gICAgcmVzdWx0U2VhcmNoTmFtZTogc3RyaW5nXHJcbiAgfVxyXG4gIGFjdGl2ZVNlbGVjdEFsbE5vZGU6IGJvb2xlYW47XHJcbiAgbW9kZVZpZXc6IE1vZGVEZXBhcnRtZW50VHJlZWVWaWV3RW51bTtcclxuICBpc01vYmlsZTogYm9vbGVhbjtcclxuICBsYXp5OiBib29sZWFuO1xyXG4gIHJlc2V0VG9nZ2xlSW5jbHVkZUNoaWxkV2hlbkNoYW5nZVZpZXc/OiBib29sZWFuO1xyXG4gIGlzSW5jbHVkZUNoaWxkcmVuPzogYm9vbGVhbjtcclxuICB0b29sdGlwSW5jbHVkZUxhYmVsPzogc3RyaW5nO1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy50cmVlRGF0YSA9IFtdO1xyXG4gICAgdGhpcy5zZWxlY3RJbmNsdWRlTGFiZWwgPSAnJztcclxuICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gW107XHJcbiAgICB0aGlzLmRpc2FibGVkTGlzdCA9IFtdO1xyXG4gICAgdGhpcy5lbmFibGVJbmNsdWRlQ2hpbGQgPSB0cnVlO1xyXG4gICAgdGhpcy5lbmFibGVUcmVlU2VhcmNoID0gdHJ1ZTtcclxuICAgIHRoaXMuZW5hYmxlUGFnaW5nU2VhcmNoID0gdHJ1ZTtcclxuICAgIHRoaXMuY2hlY2tTZWFyY2hNYXBwaW5nVHJlZSA9IHRydWU7XHJcbiAgICB0aGlzLmlzU2VsZWN0T25lID0gZmFsc2U7XHJcbiAgICB0aGlzLmFjdGl2ZVZpZXdTZWFyY2ggPSBmYWxzZTtcclxuICAgIHRoaXMuaGVpZ2h0ID0gJyc7XHJcbiAgICB0aGlzLmN1c3RvbUNsYXNzID0gJyc7XHJcbiAgICB0aGlzLmhlYWRlck5hbWUgPSB7XHJcbiAgICAgIGV4dGVybmFsTmFtZTogJycsXHJcbiAgICAgIHRyZWVOYW1lOiAnJyxcclxuICAgICAgcmVzdWx0U2VhcmNoTmFtZTogJydcclxuICAgIH07XHJcbiAgICB0aGlzLm1vZGVWaWV3ID0gTW9kZURlcGFydG1lbnRUcmVlZVZpZXdFbnVtLkJhc2ljO1xyXG4gICAgdGhpcy5hY3RpdmVTZWxlY3RBbGxOb2RlID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzTW9iaWxlID0gZmFsc2U7XHJcbiAgICB0aGlzLmxhenkgPSBmYWxzZTtcclxuICAgIHRoaXMucmVzZXRUb2dnbGVJbmNsdWRlQ2hpbGRXaGVuQ2hhbmdlVmlldyA9IHRydWU7XHJcbiAgICB0aGlzLmlzSW5jbHVkZUNoaWxkcmVuID0gZmFsc2U7XHJcbiAgICB0aGlzLnRvb2x0aXBJbmNsdWRlTGFiZWwgPSAnJztcclxuICB9XHJcbn1cclxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWRlcGFydG1lbnQtdHJlZS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LWRlcGFydG1lbnQtdHJlZS9tb2RlbC9zZWxlY3QtZGVwYXJ0bWVudC10cmVlLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUVyRixNQUFNLE9BQU8sNkJBQTZCO0lBMEJ4QztRQUNFLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsWUFBWSxFQUFFLEVBQUU7WUFDaEIsUUFBUSxFQUFFLEVBQUU7WUFDWixnQkFBZ0IsRUFBRSxFQUFFO1NBQ3JCLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLDJCQUEyQixDQUFDLEtBQUssQ0FBQztRQUNsRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxJQUFJLENBQUM7UUFDbEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUU1TRmxhdE5vZGVUcmVlIH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9tb2RlbHMvcW1zLWZsYXQtbm9kZS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBRTVNUcmVlTm9kZSB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vbW9kZWxzL3Ftcy10cmVlLW5vZGUubW9kZWxcIjtcclxuaW1wb3J0IHsgTW9kZURlcGFydG1lbnRUcmVlZVZpZXdFbnVtIH0gZnJvbSBcIi4uL2VudW0vbW9kZS1kZXBhcnRtZW50LXRyZWUtdmlldy5lbnVtXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUU1TU2VsZWN0RGVwYXJ0bWVudFRyZWVDb25maWcge1xyXG4gIHNlbGVjdEluY2x1ZGVMYWJlbDogc3RyaW5nO1xyXG4gIHRyZWVEYXRhOiBBcnJheTxRTVNGbGF0Tm9kZVRyZWU+O1xyXG4gIGRpc2FibGVkTGlzdD86IEFycmF5PGFueT47XHJcbiAgc2VsZWN0ZWRMaXN0PzogQXJyYXk8UU1TRmxhdE5vZGVUcmVlPjtcclxuICBlbmFibGVJbmNsdWRlQ2hpbGQ/OiBib29sZWFuO1xyXG4gIGVuYWJsZVRyZWVTZWFyY2g6IGJvb2xlYW47XHJcbiAgZW5hYmxlUGFnaW5nU2VhcmNoOiBib29sZWFuO1xyXG4gIGNoZWNrU2VhcmNoTWFwcGluZ1RyZWU/OiBib29sZWFuO1xyXG4gIGlzU2VsZWN0T25lOiBib29sZWFuO1xyXG4gIGFjdGl2ZVZpZXdTZWFyY2g/OiBib29sZWFuO1xyXG4gIGhlaWdodD86IHN0cmluZztcclxuICBjdXN0b21DbGFzcz86IHN0cmluZztcclxuICBoZWFkZXJOYW1lOiB7XHJcbiAgICB0cmVlTmFtZTogc3RyaW5nLFxyXG4gICAgZXh0ZXJuYWxOYW1lOiBzdHJpbmcsXHJcbiAgICByZXN1bHRTZWFyY2hOYW1lOiBzdHJpbmdcclxuICB9XHJcbiAgYWN0aXZlU2VsZWN0QWxsTm9kZTogYm9vbGVhbjtcclxuICBtb2RlVmlldzogTW9kZURlcGFydG1lbnRUcmVlZVZpZXdFbnVtO1xyXG4gIGlzTW9iaWxlOiBib29sZWFuO1xyXG4gIGxhenk6IGJvb2xlYW47XHJcbiAgcmVzZXRUb2dnbGVJbmNsdWRlQ2hpbGRXaGVuQ2hhbmdlVmlldz86IGJvb2xlYW47XHJcbiAgaXNJbmNsdWRlQ2hpbGRyZW4/OiBib29sZWFuO1xyXG4gIHRvb2x0aXBJbmNsdWRlTGFiZWw/OiBzdHJpbmc7XHJcbiAgY2FuQWRkTnVsbFJlc3VsdD86IGJvb2xlYW47XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLnRyZWVEYXRhID0gW107XHJcbiAgICB0aGlzLnNlbGVjdEluY2x1ZGVMYWJlbCA9ICcnO1xyXG4gICAgdGhpcy5zZWxlY3RlZExpc3QgPSBbXTtcclxuICAgIHRoaXMuZGlzYWJsZWRMaXN0ID0gW107XHJcbiAgICB0aGlzLmVuYWJsZUluY2x1ZGVDaGlsZCA9IHRydWU7XHJcbiAgICB0aGlzLmVuYWJsZVRyZWVTZWFyY2ggPSB0cnVlO1xyXG4gICAgdGhpcy5lbmFibGVQYWdpbmdTZWFyY2ggPSB0cnVlO1xyXG4gICAgdGhpcy5jaGVja1NlYXJjaE1hcHBpbmdUcmVlID0gdHJ1ZTtcclxuICAgIHRoaXMuaXNTZWxlY3RPbmUgPSBmYWxzZTtcclxuICAgIHRoaXMuYWN0aXZlVmlld1NlYXJjaCA9IGZhbHNlO1xyXG4gICAgdGhpcy5oZWlnaHQgPSAnJztcclxuICAgIHRoaXMuY3VzdG9tQ2xhc3MgPSAnJztcclxuICAgIHRoaXMuaGVhZGVyTmFtZSA9IHtcclxuICAgICAgZXh0ZXJuYWxOYW1lOiAnJyxcclxuICAgICAgdHJlZU5hbWU6ICcnLFxyXG4gICAgICByZXN1bHRTZWFyY2hOYW1lOiAnJ1xyXG4gICAgfTtcclxuICAgIHRoaXMubW9kZVZpZXcgPSBNb2RlRGVwYXJ0bWVudFRyZWVlVmlld0VudW0uQmFzaWM7XHJcbiAgICB0aGlzLmFjdGl2ZVNlbGVjdEFsbE5vZGUgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNNb2JpbGUgPSBmYWxzZTtcclxuICAgIHRoaXMubGF6eSA9IGZhbHNlO1xyXG4gICAgdGhpcy5yZXNldFRvZ2dsZUluY2x1ZGVDaGlsZFdoZW5DaGFuZ2VWaWV3ID0gdHJ1ZTtcclxuICAgIHRoaXMuaXNJbmNsdWRlQ2hpbGRyZW4gPSBmYWxzZTtcclxuICAgIHRoaXMudG9vbHRpcEluY2x1ZGVMYWJlbCA9ICcnO1xyXG4gICAgdGhpcy5jYW5BZGROdWxsUmVzdWx0ID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -7559,13 +7559,14 @@ class RiskListComponent {
7559
7559
  this.updateData = new EventEmitter();
7560
7560
  }
7561
7561
  ngOnChanges(changes) {
7562
- var _a, _b;
7562
+ var _a, _b, _c;
7563
7563
  if (changes.data && JSON.stringify(changes.data.currentValue) !== JSON.stringify(changes.data.previousValue)) {
7564
7564
  this.dangers = [];
7565
7565
  this.title = changes.data.currentValue.title;
7566
7566
  this.isNotEditedItem = (_a = changes.data.currentValue['isNotEditedItem']) !== null && _a !== void 0 ? _a : false;
7567
7567
  this.dangers = [...changes.data.currentValue.data];
7568
7568
  this.show = ((_b = changes.data.currentValue) === null || _b === void 0 ? void 0 : _b.numRow) || 5;
7569
+ this.enableArchive = (_c = changes.data.currentValue) === null || _c === void 0 ? void 0 : _c.enableArchive;
7569
7570
  this.analysisDanger = [];
7570
7571
  this.groupByDanger(changes.data.currentValue.data, 0);
7571
7572
  }
@@ -7689,7 +7690,7 @@ class RiskListComponent {
7689
7690
  RiskListComponent.decorators = [
7690
7691
  { type: Component, args: [{
7691
7692
  selector: 'qms-risk-list',
7692
- template: "<div class=\"container list-risk\">\r\n <div class=\"list-risk__title\">\r\n <strong>{{ title }}</strong>\r\n </div>\r\n <div class=\"list-risk__body\" *ngFor=\"let analysis of analysisDanger\">\r\n <div class=\"list-risk__body-parent\">\r\n <div class=\"block\">\r\n <mat-icon class=\"material-icons-outlined mat-icon\">border_all</mat-icon>\r\n <div class=\"title\">{{ analysis.name }}</div>\r\n </div>\r\n <div class=\"block\" *ngIf=\"!isNotEditedItem\">\r\n <span class=\"label-archived\" *ngIf=\"analysis.folderId == -1\">\r\n {{ LANG.ARCHIVED }}</span\r\n >\r\n <button\r\n *ngIf=\"analysis.folderId !== -1\"\r\n qms-btn-icon\r\n color=\"light\"\r\n qms-tool-tip=\"Caption\"\r\n mode=\"dark\"\r\n (click)=\"editDanger(analysis)\"\r\n >\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button\r\n qms-btn-icon\r\n color=\"light\"\r\n qms-tool-tip=\"Caption\"\r\n mode=\"dark\"\r\n (click)=\"removeDanger(analysis.id)\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"list-risk__body-child\"\r\n *ngFor=\"let danger of analysis.dangers | slice: 0:analysis.show\"\r\n >\r\n <div class=\"default\">\r\n <div class=\"title\">{{ danger.dangerName }}</div>\r\n <div class=\"group-button\">\r\n <label\r\n class=\"label-red cursor\"\r\n *ngIf=\"danger.red > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.red }}</label\r\n >\r\n <label\r\n class=\"label-yellow cursor\"\r\n *ngIf=\"danger.yellow > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.yellow }}</label\r\n >\r\n <label\r\n class=\"label-green cursor\"\r\n *ngIf=\"danger.green > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.green }}</label\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"remain\" *ngIf=\"analysis.remain > 0\">\r\n <span class=\"title cursor\" (click)=\"increaseShow(analysis.id)\"\r\n >+ {{ analysis.remain }}</span\r\n >\r\n </div>\r\n </div>\r\n</div>\r\n",
7693
+ template: "<div class=\"container list-risk\">\r\n <div class=\"list-risk__title\">\r\n <strong>{{ title }}</strong>\r\n </div>\r\n <div class=\"list-risk__body\" *ngFor=\"let analysis of analysisDanger\">\r\n <div class=\"list-risk__body-parent\">\r\n <div class=\"block\">\r\n <mat-icon class=\"material-icons-outlined mat-icon\">border_all</mat-icon>\r\n <div class=\"title\">{{ analysis.name }}</div>\r\n </div>\r\n <div class=\"block\">\r\n <span class=\"label-archived\" *ngIf=\"analysis.folderId == -1 && (!isNotEditedItem || enableArchive)\">\r\n {{ LANG.ARCHIVED }}</span\r\n >\r\n <button\r\n *ngIf=\"analysis.folderId !== -1 && !isNotEditedItem\"\r\n qms-btn-icon\r\n color=\"light\"\r\n qms-tool-tip=\"Caption\"\r\n mode=\"dark\"\r\n (click)=\"editDanger(analysis)\"\r\n >\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button\r\n *ngIf=\"!isNotEditedItem\"\r\n qms-btn-icon\r\n color=\"light\"\r\n qms-tool-tip=\"Caption\"\r\n mode=\"dark\"\r\n (click)=\"removeDanger(analysis.id)\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"list-risk__body-child\"\r\n *ngFor=\"let danger of analysis.dangers | slice: 0:analysis.show\"\r\n >\r\n <div class=\"default\">\r\n <div class=\"title\">{{ danger.dangerName }}</div>\r\n <div class=\"group-button\">\r\n <label\r\n class=\"label-red cursor\"\r\n *ngIf=\"danger.red > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.red }}</label\r\n >\r\n <label\r\n class=\"label-yellow cursor\"\r\n *ngIf=\"danger.yellow > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.yellow }}</label\r\n >\r\n <label\r\n class=\"label-green cursor\"\r\n *ngIf=\"danger.green > 0\"\r\n (click)=\"dangerDetail(danger)\"\r\n >{{ danger.green }}</label\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"remain\" *ngIf=\"analysis.remain > 0\">\r\n <span class=\"title cursor\" (click)=\"increaseShow(analysis.id)\"\r\n >+ {{ analysis.remain }}</span\r\n >\r\n </div>\r\n </div>\r\n</div>\r\n",
7693
7694
  styles: [".list-risk{font-family:Open Sans;font-style:normal;font-weight:400;color:var(--default-color)}.list-risk .list-risk__title{font-weight:600;font-size:.875rem;line-height:22px;margin-bottom:1rem}.list-risk .list-risk__body .list-risk__body-parent{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.list-risk .list-risk__body .list-risk__body-parent .block{font-weight:400;font-size:1rem;line-height:28px;display:flex;align-items:center}.list-risk .list-risk__body .list-risk__body-parent .block .title{margin-left:1.5rem;padding-top:5px;padding-bottom:5px}.list-risk .list-risk__body .list-risk__body-parent .block mat-icon{color:rgba(0,0,0,.6)}.list-risk .list-risk__body .list-risk__body-parent .block button.qms-btn-icon{width:40px;height:40px;line-height:40px}.list-risk .list-risk__body .list-risk__body-parent .block .label-archived{font-weight:600;font-size:.875rem;line-height:1rem;color:#525252;padding:5px;background:linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1)),#fff;border-radius:2px}.list-risk .list-risk__body .list-risk__body-child{font-weight:400;font-size:.875rem;line-height:22px}.list-risk .list-risk__body .list-risk__body-child .default{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.list-risk .list-risk__body .list-risk__body-child .default .title{margin-left:3rem}.list-risk .list-risk__body .list-risk__body-child .default .group-button{margin-right:2rem;display:flex}.list-risk .list-risk__body .remain{font-weight:600;font-size:.875rem;line-height:22px;display:flex;align-items:center;justify-content:space-between;background-color:#fafafa;color:var(--primary);min-height:48px;border-bottom:1px solid #ddd}.list-risk .list-risk__body .remain .title{margin-left:3rem}.label-green,.label-red,.label-yellow{font-family:Open Sans;font-style:normal;font-weight:600;display:inline-block;text-align:center;margin-left:1rem;width:24px;height:24px;font-size:.75rem;border-radius:1px}.label-red{background-color:var(--secondary);color:#fff}.label-yellow{background-color:var(--risk-yellow);color:rgba(0,0,0,.87)}.label-green{background-color:var(--risk-green);color:#fff}.cursor{cursor:pointer}"]
7694
7695
  },] }
7695
7696
  ];
@@ -7860,6 +7861,7 @@ class RiskDanger {
7860
7861
  this.data = [];
7861
7862
  this.numRow = 5;
7862
7863
  this.isNotEditedItem = false;
7864
+ this.enableArchive = false;
7863
7865
  }
7864
7866
  }
7865
7867
 
@@ -29573,6 +29575,7 @@ class QMSSelectDepartmentTreeConfig {
29573
29575
  this.resetToggleIncludeChildWhenChangeView = true;
29574
29576
  this.isIncludeChildren = false;
29575
29577
  this.tooltipIncludeLabel = '';
29578
+ this.canAddNullResult = false;
29576
29579
  }
29577
29580
  }
29578
29581
 
@@ -31094,7 +31097,7 @@ class SelectDepartmentComponent {
31094
31097
  SelectDepartmentComponent.decorators = [
31095
31098
  { type: Component, args: [{
31096
31099
  selector: 'qms-select-department',
31097
- template: "<div class=\"qms-select-department\">\r\n <div class=\"header-dialog mb-2\">\r\n <span>{{popupData.headerName}}</span>\r\n <button matDialogClose class=\"btn-close-dialog\" color=\"light\" qms-btn-icon>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n <div>\r\n <div class=\"qms-scrollbar\">\r\n <div>\r\n <qms-select-department-tree #treeDepartment customClass=\"custom-department-tree\"\r\n [height]=\"popupData.config.isMobile ? '38vh' : '50vh'\" [rowsSkeleton]=\"9\" [config]=\"popupData.config\"\r\n (onSearchEvent)=\"onSearchEvent.emit($event)\" (onValueChangeEvent)=\"onResultDepartmentChange($event)\"\r\n (onPagingSearchEvent)=\"onPagingEvent.emit($event)\" (onCheckNodeEvent)=\"onCheckNodeEvent.emit($event)\"\r\n (onExpandNodeEvent)=\"onExpandNodeEvent.emit($event)\" (onLoadMoreEvent)=\"onLoadMoreEvent.emit()\"\r\n (onCheckAllItemSearchEvent)=\"onCheckAllItemSearchEvent.emit($event)\"\r\n (onCheckItemSearchEvent)=\"onCheckItemSearchEvent.emit($event)\"\r\n (toggleIncludeChildEvent)=\"toggleIncludeChildEvent.emit($event)\">\r\n </qms-select-department-tree>\r\n </div>\r\n </div>\r\n <div class=\"line__divider\"></div>\r\n <div [@heightAnimation] *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length\" class=\" pr-0 pe-0\">\r\n <div class=\"header-title\">{{LANG.RESULTS}}</div>\r\n <div class=\"result-content pr-0 pe-0\">\r\n <mat-chip-list class=\"panel__item qms-scrollbar\">\r\n <div [@inOutAnimation_2] [id]=\"'item-result-'+item.id\" *ngFor=\"let item of treeDepartment.resultSelected\">\r\n <mat-chip [@updateItemAnimation] *qmsContentChanges=\"item.children?.length\"\r\n [qms-tool-tip]=\"generateTootip(item)\" position=\"top\" mode=\"dark\" qms-chip [removable]=\"true\">\r\n <span (click)=\"onScrollToNode(item)\" qms-chip-body>\r\n <span class=\"related__item__content_name\" #itemName>\r\n <span>{{item.name}}</span>\r\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && !popupData.config.lazy\">\r\n {{item.children.length}}/{{item.childCount}}\r\n </span>\r\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && popupData.config.lazy\">\r\n {{item.selectedChildCount}}/{{item.childCount}}\r\n </span>\r\n </span>\r\n </span>\r\n <mat-icon *ngIf=\"!isNodeLoading(item.id); else loadingSpinner\"\r\n (click)=\"onRemoveNode(item)\">cancel</mat-icon>\r\n </mat-chip>\r\n </div>\r\n </mat-chip-list>\r\n </div>\r\n </div>\r\n <mat-divider *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length\" class=\"mx-auto\"></mat-divider>\r\n <div class=\"confirm__button__groups\">\r\n <button (click)=\"onCloseDialog()\" class=\"btn-add\" [disabled]=\"!resultSelected.length\"\r\n [class.qms-btn-disabled]=\"!resultSelected.length\" qms-btn>\r\n <span>{{LANG.ADD}}</span>\r\n <span>\r\n ({{treeDepartment.resultSelected.length}})\r\n </span>\r\n </button>\r\n <button qms-btn-text mat-dialog-close>\r\n Cancel\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Loading spinner -->\r\n<ng-template #loadingSpinner>\r\n <div class=\"qms-spinner-wrapper\">\r\n <div class=\"qms-spinner center\">\r\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\"></mat-spinner>\r\n </div>\r\n </div>\r\n</ng-template>",
31100
+ template: "<div class=\"qms-select-department\">\r\n <div class=\"header-dialog mb-2\">\r\n <span>{{popupData.headerName}}</span>\r\n <button matDialogClose class=\"btn-close-dialog\" color=\"light\" qms-btn-icon>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n <div>\r\n <div class=\"qms-scrollbar\">\r\n <div>\r\n <qms-select-department-tree #treeDepartment customClass=\"custom-department-tree\"\r\n [height]=\"popupData.config.isMobile ? '38vh' : '50vh'\" [rowsSkeleton]=\"9\" [config]=\"popupData.config\"\r\n (onSearchEvent)=\"onSearchEvent.emit($event)\" (onValueChangeEvent)=\"onResultDepartmentChange($event)\"\r\n (onPagingSearchEvent)=\"onPagingEvent.emit($event)\" (onCheckNodeEvent)=\"onCheckNodeEvent.emit($event)\"\r\n (onExpandNodeEvent)=\"onExpandNodeEvent.emit($event)\" (onLoadMoreEvent)=\"onLoadMoreEvent.emit()\"\r\n (onCheckAllItemSearchEvent)=\"onCheckAllItemSearchEvent.emit($event)\"\r\n (onCheckItemSearchEvent)=\"onCheckItemSearchEvent.emit($event)\"\r\n (toggleIncludeChildEvent)=\"toggleIncludeChildEvent.emit($event)\">\r\n </qms-select-department-tree>\r\n </div>\r\n </div>\r\n <div class=\"line__divider\"></div>\r\n <div [@heightAnimation] *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length\" class=\" pr-0 pe-0\">\r\n <div class=\"header-title\">{{LANG.RESULTS}}</div>\r\n <div class=\"result-content pr-0 pe-0\">\r\n <mat-chip-list class=\"panel__item qms-scrollbar\">\r\n <div [@inOutAnimation_2] [id]=\"'item-result-'+item.id\" *ngFor=\"let item of treeDepartment.resultSelected\">\r\n <mat-chip [@updateItemAnimation] *qmsContentChanges=\"item.children?.length\"\r\n [qms-tool-tip]=\"generateTootip(item)\" position=\"top\" mode=\"dark\" qms-chip [removable]=\"true\">\r\n <span (click)=\"onScrollToNode(item)\" qms-chip-body>\r\n <span class=\"related__item__content_name\" #itemName>\r\n <span>{{item.name}}</span>\r\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && !popupData.config.lazy\">\r\n {{item.children.length}}/{{item.childCount}}\r\n </span>\r\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && popupData.config.lazy\">\r\n {{item.selectedChildCount}}/{{item.childCount}}\r\n </span>\r\n </span>\r\n </span>\r\n <mat-icon *ngIf=\"!isNodeLoading(item.id); else loadingSpinner\"\r\n (click)=\"onRemoveNode(item)\">cancel</mat-icon>\r\n </mat-chip>\r\n </div>\r\n </mat-chip-list>\r\n </div>\r\n </div>\r\n <mat-divider *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length\" class=\"mx-auto\"></mat-divider>\r\n <div class=\"confirm__button__groups\">\r\n <button (click)=\"onCloseDialog()\" class=\"btn-add\"\r\n [disabled]=\"!resultSelected.length && !popupData.config.canAddNullResult\"\r\n [class.qms-btn-disabled]=\"!resultSelected.length && !popupData.config.canAddNullResult\" qms-btn>\r\n <span>{{LANG.ADD}}</span>\r\n <span>\r\n ({{treeDepartment.resultSelected.length}})\r\n </span>\r\n </button>\r\n <button qms-btn-text mat-dialog-close>\r\n Cancel\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Loading spinner -->\r\n<ng-template #loadingSpinner>\r\n <div class=\"qms-spinner-wrapper\">\r\n <div class=\"qms-spinner center\">\r\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\"></mat-spinner>\r\n </div>\r\n </div>\r\n</ng-template>",
31098
31101
  providers: [
31099
31102
  {
31100
31103
  provide: MAT_CHECKBOX_DEFAULT_OPTIONS,