@firestitch/app-acl 12.4.1 → 12.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,6 +3,7 @@ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
3
3
  import { FsMessage } from '@firestitch/message';
4
4
  import { forkJoin } from 'rxjs';
5
5
  import { FsAppAclService } from './../../services/app-acl.service';
6
+ import { tap } from 'rxjs/operators';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "./../../services/app-acl.service";
8
9
  import * as i2 from "@angular/material/dialog";
@@ -30,10 +31,10 @@ export class FsAclEntryComponent {
30
31
  this.save = () => {
31
32
  const aclObjectEntry = Object.assign(Object.assign({}, this.aclObjectEntry), { aclEntries: this.aclEntries });
32
33
  return this._data.saveAclObjectEntry(aclObjectEntry)
33
- .subscribe((data) => {
34
+ .pipe(tap((data) => {
34
35
  this._message.success('Saved Changes');
35
36
  this.close(data);
36
- });
37
+ }));
37
38
  };
38
39
  this.aclObjectEntry = Object.assign({}, _data.aclObjectEntry);
39
40
  this.required = (_a = _data.required) !== null && _a !== void 0 ? _a : true;
@@ -45,7 +46,10 @@ export class FsAclEntryComponent {
45
46
  }
46
47
  }
47
48
  ngOnInit() {
48
- forkJoin(this._data.loadAclRoles(this.aclObjectEntry), this._appAclService.getIndexedLevels())
49
+ forkJoin(this._data.loadAclRoles({
50
+ level: this.aclObjectEntry.level,
51
+ environmentId: this.aclObjectEntry.environmentId || null,
52
+ }), this._appAclService.getIndexedLevels())
49
53
  .subscribe(([aclRoles, levels,]) => {
50
54
  this.aclRoles = aclRoles;
51
55
  this.indexedAclRoleLevels = levels;
@@ -87,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
87
91
  type: Inject,
88
92
  args: [MAT_DIALOG_DATA]
89
93
  }] }]; } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLWVudHJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9hY2wtZW50cnkvYWNsLWVudHJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9hY2wtZW50cnkvYWNsLWVudHJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFPaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7Ozs7QUFPbkUsTUFBTSxPQUFPLG1CQUFtQjtJQVc5QixZQUNtQixjQUErQixFQUMvQixVQUE2QyxFQUM3QyxRQUFtQixFQUNNLEtBQW1COztRQUg1QyxtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDL0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUM7UUFDN0MsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNNLFVBQUssR0FBTCxLQUFLLENBQWM7UUFieEQsYUFBUSxHQUFjLEVBQUUsQ0FBQztRQUd6QixlQUFVLEdBQWUsRUFBRSxDQUFDO1FBQzVCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMxQixjQUFTLEdBQUcsWUFBWSxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxjQUFjLENBQUM7UUFDMUIsYUFBUSxHQUFHLElBQUksQ0FBQztRQTBEaEIsU0FBSSxHQUFHLEdBQUcsRUFBRTtZQUNqQixNQUFNLGNBQWMsbUNBQ2YsSUFBSSxDQUFDLGNBQWMsS0FDdEIsVUFBVSxFQUFFLElB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fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgRnNNZXNzYWdlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbWVzc2FnZSc7XG5cbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFjbFJvbGV9IGZyb20gJy4vLi4vLi4vaW50ZXJmYWNlcy9hY2wtcm9sZSc7XG5pbXBvcnQgeyBBY2xFbnRyeURhdGEgfSBmcm9tICcuLy4uLy4uL2ludGVyZmFjZXMvYWNsLWVudHJ5LWRhdGEnO1xuaW1wb3J0IHsgQWNsT2JqZWN0Um9sZSB9IGZyb20gJy4vLi4vLi4vaW50ZXJmYWNlcy9hY2wtb2JqZWN0LXJvbGUnO1xuaW1wb3J0IHsgQWNsT2JqZWN0RW50cnkgfSBmcm9tICcuLy4uLy4uL2ludGVyZmFjZXMvYWNsLW9iamVjdC1lbnRyeSc7XG5pbXBvcnQgeyBBY2xFbnRyeSB9IGZyb20gJy4vLi4vLi4vaW50ZXJmYWNlcy9hY2wtZW50cnknO1xuaW1wb3J0IHsgRnNBcHBBY2xTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9hcHAtYWNsLnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vYWNsLWVudHJ5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWNsLWVudHJ5LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZzQWNsRW50cnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBhY2xSb2xlczogQWNsUm9sZVtdID0gW107XG4gIHB1YmxpYyBhY2xPYmplY3RFbnRyeTogQWNsT2JqZWN0RW50cnk7XG4gIHB1YmxpYyBhY2xPYmplY3RSb2xlOiBBY2xPYmplY3RSb2xlO1xuICBwdWJsaWMgYWNsRW50cmllczogQWNsRW50cnlbXSA9IFtdO1xuICBwdWJsaWMgaW5kZXhlZEFjbFJvbGVMZXZlbHMgPSB7fTtcbiAgcHVibGljIHRpdGxlRWRpdCA9ICdFZGl0IFJvbGVzJztcbiAgcHVibGljIHRpdGxlQWRkID0gJ0Fzc2lnbiBSb2xlcyc7XG4gIHB1YmxpYyByZXF1aXJlZCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYXBwQWNsU2VydmljZTogRnNBcHBBY2xTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEZzQWNsRW50cnlDb21wb25lbnQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX21lc3NhZ2U6IEZzTWVzc2FnZSxcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSByZWFkb25seSBfZGF0YTogQWNsRW50cnlEYXRhXG4gICkge1xuICAgIHRoaXMuYWNsT2JqZWN0RW50cnkgPSB7IC4uLl9kYXRhLmFjbE9iamVjdEVudHJ5IH07XG4gICAgdGhpcy5yZXF1aXJlZCA9IF9kYXRhLnJlcXVpcmVkID8/IHRydWU7XG5cbiAgICBpZiAoX2RhdGEudGl0bGVFZGl0KSB7XG4gICAgICB0aGlzLnRpdGxlRWRpdCA9IF9kYXRhLnRpdGxlRWRpdDtcbiAgICB9XG5cbiAgICBpZiAoX2RhdGEudGl0bGVBZGQpIHtcbiAgICAgIHRoaXMudGl0bGVBZGQgPSBfZGF0YS50aXRsZUFkZDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgZm9ya0pvaW4oXG4gICAgICB0aGlzLl9kYXRhLmxvYWRBY2xSb2xlcyh0aGlzLmFjbE9iamVjdEVudHJ5KSxcbiAgICAgIHRoaXMuX2FwcEFjbFNlcnZpY2UuZ2V0SW5kZXhlZExldmVscygpXG4gICAgKVxuICAgICAgLnN1YnNjcmliZSgoW1xuICAgICAgICBhY2xSb2xlcyxcbiAgICAgICAgbGV2ZWxzLFxuICAgICAgXSkgPT4ge1xuXG4gICAgICAgIHRoaXMuYWNsUm9sZXMgPSBhY2xSb2xlcztcbiAgICAgICAgdGhpcy5pbmRleGVkQWNsUm9sZUxldmVscyA9IGxldmVscztcblxuICAgICAgICB0aGlzLmFjbE9iamVjdFJvbGUgPSB7XG4gICAgICAgICAgb2JqZWN0OiB0aGlzLmFjbE9iamVjdEVudHJ5Lm9iamVjdCxcbiAgICAgICAgICBhY2xSb2xlczogdGhpcy5hY2xPYmplY3RFbnRyeS5hY2xFbnRyaWVzXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKGFjbEVudHJ5OiBBY2xFbnRyeSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2xFbnRyeS5hY2xSb2xlO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFjbE9iamVjdFJvbGVDaGFuZ2UoYWNsT2JqZWN0Um9sZXM6IEFjbE9iamVjdFJvbGVbXSkge1xuICAgIHRoaXMuYWNsRW50cmllcyA9IGFjbE9iamVjdFJvbGVzLnJlZHVjZSgoYWNsRW50cmllcywgYWNsT2JqZWN0Um9sZSkgPT4ge1xuICAgICAgYWNsT2JqZWN0Um9sZS5hY2xSb2xlcy5mb3JFYWNoKGFjbFJvbGUgPT4ge1xuICAgICAgICBhY2xFbnRyaWVzLnB1c2goe1xuICAgICAgICAgIGFjbFJvbGVJZDogYWNsUm9sZS5pZCxcbiAgICAgICAgICBhY2xSb2xlOiBhY2xSb2xlLFxuICAgICAgICAgIG9iamVjdElkOiBhY2xPYmplY3RSb2xlLm9iamVjdCA/IGFjbE9iamVjdFJvbGUub2JqZWN0LmlkIDogbnVsbCxcbiAgICAgICAgICBvYmplY3Q6IGFjbE9iamVjdFJvbGUub2JqZWN0IHx8IG51bGxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGFjbEVudHJpZXM7XG4gICAgfSwgW10pO1xuICB9XG5cbiAgcHVibGljIHNhdmUgPSAoKSA9PiB7XG4gICAgY29uc3QgYWNsT2JqZWN0RW50cnkgPSB7XG4gICAgICAuLi50aGlzLmFjbE9iamVjdEVudHJ5LFxuICAgICAgYWNsRW50cmllczogdGhpcy5hY2xFbnRyaWVzLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5fZGF0YS5zYXZlQWNsT2JqZWN0RW50cnkoYWNsT2JqZWN0RW50cnkpXG4gICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgIHRoaXMuX21lc3NhZ2Uuc3VjY2VzcygnU2F2ZWQgQ2hhbmdlcycpO1xuICAgICAgICB0aGlzLmNsb3NlKGRhdGEpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoZGF0YSA9IG51bGwpIHtcbiAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UoZGF0YSk7XG4gIH1cblxufVxuIiwiPGZvcm0gZnNGb3JtIFtzdWJtaXRdPVwic2F2ZVwiPlxuICA8ZnMtZGlhbG9nPlxuICAgIDxkaXYgbWF0LWRpYWxvZy10aXRsZT57eyB0aXRsZUVkaXQ/IHRpdGxlRWRpdCA6IHRpdGxlQWRkIH19PC9kaXY+XG4gICAgPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICAgIDxkaXYgKm5nSWY9XCJhY2xPYmplY3RSb2xlXCI+XG4gICAgICAgIDxmcy1sYWJlbC1maWVsZCAqbmdJZj1cImFjbE9iamVjdEVudHJ5Lm9iamVjdFwiPlxuICAgICAgICAgIDxmcy1sYWJlbD57e2luZGV4ZWRBY2xSb2xlTGV2ZWxzW2FjbE9iamVjdEVudHJ5LmxldmVsXX19PC9mcy1sYWJlbD5cbiAgICAgICAgICB7e2FjbE9iamVjdEVudHJ5Lm9iamVjdC5uYW1lfX1cbiAgICAgICAgPC9mcy1sYWJlbC1maWVsZD5cblxuICAgICAgICA8ZnMtYWNsLW9iamVjdC1yb2xlc1xuICAgICAgICAgIFthY2xSb2xlc109XCJhY2xSb2xlc1wiXG4gICAgICAgICAgW2FjbE9iamVjdFJvbGVzXT1cIlthY2xPYmplY3RSb2xlXVwiXG4gICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgICAoY2hhbmdlKT1cImFjbE9iamVjdFJvbGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICA8L2ZzLWFjbC1vYmplY3Qtcm9sZXM+XG4gICAgICA8L2Rpdj5cbiAgICA8L21hdC1kaWFsb2ctY29udGVudD5cbiAgICA8bWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjb2xvcj1cInByaW1hcnlcIj5TYXZlPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZSB0eXBlPVwiYnV0dG9uXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG4gIDwvZnMtZGlhbG9nPlxuPC9mb3JtPlxuIl19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLWVudHJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9hY2wtZW50cnkvYWNsLWVudHJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9hY2wtZW50cnkvYWNsLWVudHJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFPaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBT3JDLE1BQU0sT0FBTyxtQkFBbUI7SUFXOUIsWUFDbUIsY0FBK0IsRUFDL0IsVUFBNkMsRUFDN0MsUUFBbUIsRUFDTSxLQUFtQjs7UUFINUMsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBQy9CLGVBQVUsR0FBVixVQUFVLENBQW1DO1FBQzdDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDTSxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBYnhELGFBQVEsR0FBYyxFQUFFLENBQUM7UUFHekIsZUFBVSxHQUFlLEVBQUUsQ0FBQztRQUM1Qix5QkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDMUIsY0FBUyxHQUFHLFlBQVksQ0FBQztRQUN6QixhQUFRLEdBQUcsY0FBYyxDQUFDO1FBQzFCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUE2RGhCLFNBQUksR0FBRyxHQUFHLEVBQUU7WUFDakIsTUFBTSxj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Q1QsV0FBVyxFQUFFLDRCQUE0QjtvQkFDekMsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUM7aUJBQzFDOzswQkFnQkksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBGc01lc3NhZ2UgfSBmcm9tICdAZmlyZXN0aXRjaC9tZXNzYWdlJztcblxuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQWNsUm9sZX0gZnJvbSAnLi8uLi8uLi9pbnRlcmZhY2VzL2FjbC1yb2xlJztcbmltcG9ydCB7IEFjbEVudHJ5RGF0YSB9IGZyb20gJy4vLi4vLi4vaW50ZXJmYWNlcy9hY2wtZW50cnktZGF0YSc7XG5pbXBvcnQgeyBBY2xPYmplY3RSb2xlIH0gZnJvbSAnLi8uLi8uLi9pbnRlcmZhY2VzL2FjbC1vYmplY3Qtcm9sZSc7XG5pbXBvcnQgeyBBY2xPYmplY3RFbnRyeSB9IGZyb20gJy4vLi4vLi4vaW50ZXJmYWNlcy9hY2wtb2JqZWN0LWVudHJ5JztcbmltcG9ydCB7IEFjbEVudHJ5IH0gZnJvbSAnLi8uLi8uLi9pbnRlcmZhY2VzL2FjbC1lbnRyeSc7XG5pbXBvcnQgeyBGc0FwcEFjbFNlcnZpY2UgfSBmcm9tICcuLy4uLy4uL3NlcnZpY2VzL2FwcC1hY2wuc2VydmljZSc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9hY2wtZW50cnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2wtZW50cnkuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNBY2xFbnRyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGFjbFJvbGVzOiBBY2xSb2xlW10gPSBbXTtcbiAgcHVibGljIGFjbE9iamVjdEVudHJ5OiBBY2xPYmplY3RFbnRyeTtcbiAgcHVibGljIGFjbE9iamVjdFJvbGU6IEFjbE9iamVjdFJvbGU7XG4gIHB1YmxpYyBhY2xFbnRyaWVzOiBBY2xFbnRyeVtdID0gW107XG4gIHB1YmxpYyBpbmRleGVkQWNsUm9sZUxldmVscyA9IHt9O1xuICBwdWJsaWMgdGl0bGVFZGl0ID0gJ0VkaXQgUm9sZXMnO1xuICBwdWJsaWMgdGl0bGVBZGQgPSAnQXNzaWduIFJvbGVzJztcbiAgcHVibGljIHJlcXVpcmVkID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hcHBBY2xTZXJ2aWNlOiBGc0FwcEFjbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RnNBY2xFbnRyeUNvbXBvbmVudD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbWVzc2FnZTogRnNNZXNzYWdlLFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIHJlYWRvbmx5IF9kYXRhOiBBY2xFbnRyeURhdGFcbiAgKSB7XG4gICAgdGhpcy5hY2xPYmplY3RFbnRyeSA9IHsgLi4uX2RhdGEuYWNsT2JqZWN0RW50cnkgfTtcbiAgICB0aGlzLnJlcXVpcmVkID0gX2RhdGEucmVxdWlyZWQgPz8gdHJ1ZTtcblxuICAgIGlmIChfZGF0YS50aXRsZUVkaXQpIHtcbiAgICAgIHRoaXMudGl0bGVFZGl0ID0gX2RhdGEudGl0bGVFZGl0O1xuICAgIH1cblxuICAgIGlmIChfZGF0YS50aXRsZUFkZCkge1xuICAgICAgdGhpcy50aXRsZUFkZCA9IF9kYXRhLnRpdGxlQWRkO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBmb3JrSm9pbihcbiAgICAgIHRoaXMuX2RhdGEubG9hZEFjbFJvbGVzKHtcbiAgICAgICAgbGV2ZWw6IHRoaXMuYWNsT2JqZWN0RW50cnkubGV2ZWwsXG4gICAgICAgIGVudmlyb25tZW50SWQ6IHRoaXMuYWNsT2JqZWN0RW50cnkuZW52aXJvbm1lbnRJZCB8fCBudWxsLFxuICAgICAgfSksXG4gICAgICB0aGlzLl9hcHBBY2xTZXJ2aWNlLmdldEluZGV4ZWRMZXZlbHMoKVxuICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFtcbiAgICAgICAgYWNsUm9sZXMsXG4gICAgICAgIGxldmVscyxcbiAgICAgIF0pID0+IHtcblxuICAgICAgICB0aGlzLmFjbFJvbGVzID0gYWNsUm9sZXM7XG4gICAgICAgIHRoaXMuaW5kZXhlZEFjbFJvbGVMZXZlbHMgPSBsZXZlbHM7XG5cbiAgICAgICAgdGhpcy5hY2xPYmplY3RSb2xlID0ge1xuICAgICAgICAgIG9iamVjdDogdGhpcy5hY2xPYmplY3RFbnRyeS5vYmplY3QsXG4gICAgICAgICAgYWNsUm9sZXM6IHRoaXMuYWNsT2JqZWN0RW50cnkuYWNsRW50cmllc1xuICAgICAgICAgICAgICAgICAgICAubWFwKChhY2xFbnRyeTogQWNsRW50cnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNsRW50cnkuYWNsUm9sZTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhY2xPYmplY3RSb2xlQ2hhbmdlKGFjbE9iamVjdFJvbGVzOiBBY2xPYmplY3RSb2xlW10pIHtcbiAgICB0aGlzLmFjbEVudHJpZXMgPSBhY2xPYmplY3RSb2xlcy5yZWR1Y2UoKGFjbEVudHJpZXMsIGFjbE9iamVjdFJvbGUpID0+IHtcbiAgICAgIGFjbE9iamVjdFJvbGUuYWNsUm9sZXMuZm9yRWFjaChhY2xSb2xlID0+IHtcbiAgICAgICAgYWNsRW50cmllcy5wdXNoKHtcbiAgICAgICAgICBhY2xSb2xlSWQ6IGFjbFJvbGUuaWQsXG4gICAgICAgICAgYWNsUm9sZTogYWNsUm9sZSxcbiAgICAgICAgICBvYmplY3RJZDogYWNsT2JqZWN0Um9sZS5vYmplY3QgPyBhY2xPYmplY3RSb2xlLm9iamVjdC5pZCA6IG51bGwsXG4gICAgICAgICAgb2JqZWN0OiBhY2xPYmplY3RSb2xlLm9iamVjdCB8fCBudWxsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBhY2xFbnRyaWVzO1xuICAgIH0sIFtdKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlID0gKCkgPT4ge1xuICAgIGNvbnN0IGFjbE9iamVjdEVudHJ5ID0ge1xuICAgICAgLi4udGhpcy5hY2xPYmplY3RFbnRyeSxcbiAgICAgIGFjbEVudHJpZXM6IHRoaXMuYWNsRW50cmllcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuc2F2ZUFjbE9iamVjdEVudHJ5KGFjbE9iamVjdEVudHJ5KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoZGF0YSkgPT4ge1xuICAgICAgICAgIHRoaXMuX21lc3NhZ2Uuc3VjY2VzcygnU2F2ZWQgQ2hhbmdlcycpO1xuICAgICAgICAgIHRoaXMuY2xvc2UoZGF0YSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKGRhdGEgPSBudWxsKSB7XG4gICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKGRhdGEpO1xuICB9XG5cbn1cbiIsIjxmb3JtIGZzRm9ybSBbc3VibWl0XT1cInNhdmVcIj5cbiAgPGZzLWRpYWxvZz5cbiAgICA8ZGl2IG1hdC1kaWFsb2ctdGl0bGU+e3sgdGl0bGVFZGl0PyB0aXRsZUVkaXQgOiB0aXRsZUFkZCB9fTwvZGl2PlxuICAgIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgICA8ZGl2ICpuZ0lmPVwiYWNsT2JqZWN0Um9sZVwiPlxuICAgICAgICA8ZnMtbGFiZWwtZmllbGQgKm5nSWY9XCJhY2xPYmplY3RFbnRyeS5vYmplY3RcIj5cbiAgICAgICAgICA8ZnMtbGFiZWw+e3tpbmRleGVkQWNsUm9sZUxldmVsc1thY2xPYmplY3RFbnRyeS5sZXZlbF19fTwvZnMtbGFiZWw+XG4gICAgICAgICAge3thY2xPYmplY3RFbnRyeS5vYmplY3QubmFtZX19XG4gICAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XG5cbiAgICAgICAgPGZzLWFjbC1vYmplY3Qtcm9sZXNcbiAgICAgICAgICBbYWNsUm9sZXNdPVwiYWNsUm9sZXNcIlxuICAgICAgICAgIFthY2xPYmplY3RSb2xlc109XCJbYWNsT2JqZWN0Um9sZV1cIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJhY2xPYmplY3RSb2xlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPC9mcy1hY2wtb2JqZWN0LXJvbGVzPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY29sb3I9XCJwcmltYXJ5XCI+U2F2ZTwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2UgdHlwZT1cImJ1dHRvblwiPkNhbmNlbDwvYnV0dG9uPlxuICAgIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuICA8L2ZzLWRpYWxvZz5cbjwvZm9ybT5cbiJdfQ==
@@ -28,7 +28,7 @@ export class FsAclObjectRolesComponent {
28
28
  }
29
29
  }
30
30
  FsAclObjectRolesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsAclObjectRolesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- FsAclObjectRolesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsAclObjectRolesComponent, selector: "fs-acl-object-roles", inputs: { aclRoles: "aclRoles", required: "required", multiple: "multiple", disabled: "disabled", aclObjectRoles: "aclObjectRoles", rolesLabel: "rolesLabel", levelLabel: "levelLabel" }, outputs: { change: "change" }, ngImport: i0, template: "<ng-container *ngIf=\"!multiple\">\n <ng-container *ngFor=\"let aclObjectRole of aclObjectRoles\">\n <fs-checkbox-group\n [(ngModel)]=\"aclObjectRole.aclRoles\"\n (ngModelChange)=\"changed()\"\n name=\"roles\"\n [compareWith]=\"compareAclRole\"\n [disabled]=\"disabled\"\n [label]=\"rolesLabel\"\n [fsFormRequired]=\"required\"\n orientation=\"vertical\">\n <mat-checkbox [disabled]=\"disabled\" *ngFor=\"let aclRole of aclRoles\" [value]=\"aclRole\">\n {{ aclRole.name }}\n </mat-checkbox>\n </fs-checkbox-group>\n </ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"multiple\">\n <table>\n <tr>\n <td>\n <small>{{levelLabel}}</small>\n </td>\n <td>\n <small>{{rolesLabel}}</small>\n </td>\n </tr>\n <tr *ngFor=\"let aclObjectRole of aclObjectRoles\">\n <td>{{aclObjectRole.object.name}}</td>\n <td>\n <mat-form-field class=\"form-field-padless\">\n <mat-select\n [(ngModel)]=\"aclObjectRole.aclRoles\"\n multiple=\"true\"\n [disabled]=\"disabled\"\n [compareWith]=\"compareAclRole\"\n (ngModelChange)=\"changed()\"\n name=\"aclRole_{{ aclObjectRole.object.id }}\">\n <mat-option *ngFor=\"let aclRole of aclRoles\" [value]=\"aclRole\">\n {{ aclRole.name }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </td>\n </tr>\n </table>\n</ng-container>\n", styles: ["table tr td:first-child{padding-right:15px}\n"], components: [{ type: i1.FsCheckboxGroupComponent, selector: "fs-checkbox-group", inputs: ["orientation", "position", "label", "disabled", "compareWith"], outputs: ["change"] }, { type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.FsFormRequiredDirective, selector: "[fsFormRequired],[ngModel][required]", inputs: ["fsFormRequired", "required", "fsFormRequiredMessage"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] });
31
+ FsAclObjectRolesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsAclObjectRolesComponent, selector: "fs-acl-object-roles", inputs: { aclRoles: "aclRoles", required: "required", multiple: "multiple", disabled: "disabled", aclObjectRoles: "aclObjectRoles", rolesLabel: "rolesLabel", levelLabel: "levelLabel" }, outputs: { change: "change" }, ngImport: i0, template: "<ng-container *ngIf=\"!multiple\">\n <ng-container *ngFor=\"let aclObjectRole of aclObjectRoles\">\n <fs-checkbox-group\n [(ngModel)]=\"aclObjectRole.aclRoles\"\n (ngModelChange)=\"changed()\"\n name=\"roles\"\n [compareWith]=\"compareAclRole\"\n [disabled]=\"disabled\"\n [label]=\"rolesLabel\"\n [fsFormRequired]=\"required\"\n orientation=\"vertical\">\n <mat-checkbox [disabled]=\"disabled\" *ngFor=\"let aclRole of aclRoles\" [value]=\"$any(aclRole)\">\n {{ aclRole.name }}\n </mat-checkbox>\n </fs-checkbox-group>\n </ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"multiple\">\n <table>\n <tr>\n <td>\n <small>{{levelLabel}}</small>\n </td>\n <td>\n <small>{{rolesLabel}}</small>\n </td>\n </tr>\n <tr *ngFor=\"let aclObjectRole of aclObjectRoles\">\n <td>{{aclObjectRole.object.name}}</td>\n <td>\n <mat-form-field class=\"form-field-padless\">\n <mat-select\n [(ngModel)]=\"aclObjectRole.aclRoles\"\n multiple=\"true\"\n [disabled]=\"disabled\"\n [compareWith]=\"compareAclRole\"\n (ngModelChange)=\"changed()\"\n name=\"aclRole_{{ aclObjectRole.object.id }}\">\n <mat-option *ngFor=\"let aclRole of aclRoles\" [value]=\"aclRole\">\n {{ aclRole.name }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </td>\n </tr>\n </table>\n</ng-container>\n", styles: ["table tr td:first-child{padding-right:15px}\n"], components: [{ type: i1.FsCheckboxGroupComponent, selector: "fs-checkbox-group", inputs: ["orientation", "position", "label", "disabled", "compareWith"], outputs: ["change"] }, { type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.FsFormRequiredDirective, selector: "[fsFormRequired],[ngModel][required]", inputs: ["fsFormRequired", "required", "fsFormRequiredMessage"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] });
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsAclObjectRolesComponent, decorators: [{
33
33
  type: Component,
34
34
  args: [{
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
54
54
  }], change: [{
55
55
  type: Output
56
56
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLW9iamVjdC1yb2xlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYWNsLW9iamVjdC1yb2xlcy9hY2wtb2JqZWN0LXJvbGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9hY2wtb2JqZWN0LXJvbGVzL2FjbC1vYmplY3Qtcm9sZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFZdkUsTUFBTSxPQUFPLHlCQUF5QjtJQU50QztRQVFXLGFBQVEsR0FBYyxFQUFFLENBQUM7UUFDekIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsbUJBQWMsR0FBb0IsRUFBRSxDQUFDO1FBQ3JDLGVBQVUsR0FBRyxPQUFPLENBQUM7UUFDckIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNmLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUVoRCxtQkFBYyxHQUFHLENBQUMsRUFBTyxFQUFFLEVBQU8sRUFBRSxFQUFFO1lBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDckMsQ0FBQyxDQUFBO0tBS0Y7SUFIUSxPQUFPO1FBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O3VIQWpCVSx5QkFBeUI7MkdBQXpCLHlCQUF5QixvUkNidEMsby9DQWdEQSxnaUREckNpQixDQUFFLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBRTs0RkFFMUQseUJBQXlCO2tCQU5yQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFdBQVcsRUFBRSxtQ0FBbUM7b0JBQ2hELFNBQVMsRUFBRSxDQUFDLG1DQUFtQyxDQUFDO29CQUNoRCxhQUFhLEVBQUUsQ0FBRSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUU7aUJBQ3RFOzhCQUdVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWNsT2JqZWN0Um9sZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYWNsLW9iamVjdC1yb2xlJztcbmltcG9ydCB7IEFjbFJvbGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2FjbC1yb2xlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1hY2wtb2JqZWN0LXJvbGVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjbC1vYmplY3Qtcm9sZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2wtb2JqZWN0LXJvbGVzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHZpZXdQcm92aWRlcnM6IFsgeyBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogTmdGb3JtIH0gXVxufSlcbmV4cG9ydCBjbGFzcyBGc0FjbE9iamVjdFJvbGVzQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBhY2xSb2xlczogQWNsUm9sZVtdID0gW107XG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFjbE9iamVjdFJvbGVzOiBBY2xPYmplY3RSb2xlW10gPSBbXTtcbiAgQElucHV0KCkgcm9sZXNMYWJlbCA9ICdSb2xlcyc7XG4gIEBJbnB1dCgpIGxldmVsTGFiZWwgPSAnJztcbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QWNsT2JqZWN0Um9sZVtdPigpO1xuXG4gIHB1YmxpYyBjb21wYXJlQWNsUm9sZSA9IChvMTogYW55LCBvMjogYW55KSA9PiB7XG4gICAgcmV0dXJuIG8xICYmIG8yICYmIG8xLmlkID09PSBvMi5pZDtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VkKCkge1xuICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5hY2xPYmplY3RSb2xlcyk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhbXVsdGlwbGVcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWNsT2JqZWN0Um9sZSBvZiBhY2xPYmplY3RSb2xlc1wiPlxuICAgIDxmcy1jaGVja2JveC1ncm91cFxuICAgICAgWyhuZ01vZGVsKV09XCJhY2xPYmplY3RSb2xlLmFjbFJvbGVzXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZWQoKVwiXG4gICAgICBuYW1lPVwicm9sZXNcIlxuICAgICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVBY2xSb2xlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbbGFiZWxdPVwicm9sZXNMYWJlbFwiXG4gICAgICBbZnNGb3JtUmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiPlxuICAgICAgPG1hdC1jaGVja2JveCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAqbmdGb3I9XCJsZXQgYWNsUm9sZSBvZiBhY2xSb2xlc1wiIFt2YWx1ZV09XCJhY2xSb2xlXCI+XG4gICAgICAgIHt7IGFjbFJvbGUubmFtZSB9fVxuICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgPC9mcy1jaGVja2JveC1ncm91cD5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpcGxlXCI+XG4gIDx0YWJsZT5cbiAgICA8dHI+XG4gICAgICA8dGQ+XG4gICAgICAgIDxzbWFsbD57e2xldmVsTGFiZWx9fTwvc21hbGw+XG4gICAgICA8L3RkPlxuICAgICAgPHRkPlxuICAgICAgICA8c21hbGw+e3tyb2xlc0xhYmVsfX08L3NtYWxsPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICAgIDx0ciAqbmdGb3I9XCJsZXQgYWNsT2JqZWN0Um9sZSBvZiBhY2xPYmplY3RSb2xlc1wiPlxuICAgICAgPHRkPnt7YWNsT2JqZWN0Um9sZS5vYmplY3QubmFtZX19PC90ZD5cbiAgICAgIDx0ZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZm9ybS1maWVsZC1wYWRsZXNzXCI+XG4gICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYWNsT2JqZWN0Um9sZS5hY2xSb2xlc1wiXG4gICAgICAgICAgICBtdWx0aXBsZT1cInRydWVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlQWNsUm9sZVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VkKClcIlxuICAgICAgICAgICAgbmFtZT1cImFjbFJvbGVfe3sgYWNsT2JqZWN0Um9sZS5vYmplY3QuaWQgfX1cIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBhY2xSb2xlIG9mIGFjbFJvbGVzXCIgW3ZhbHVlXT1cImFjbFJvbGVcIj5cbiAgICAgICAgICAgICAge3sgYWNsUm9sZS5uYW1lIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3RhYmxlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLW9iamVjdC1yb2xlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYWNsLW9iamVjdC1yb2xlcy9hY2wtb2JqZWN0LXJvbGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9hY2wtb2JqZWN0LXJvbGVzL2FjbC1vYmplY3Qtcm9sZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFZdkUsTUFBTSxPQUFPLHlCQUF5QjtJQU50QztRQVFXLGFBQVEsR0FBYyxFQUFFLENBQUM7UUFDekIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsbUJBQWMsR0FBb0IsRUFBRSxDQUFDO1FBQ3JDLGVBQVUsR0FBRyxPQUFPLENBQUM7UUFDckIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNmLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUVoRCxtQkFBYyxHQUFHLENBQUMsRUFBTyxFQUFFLEVBQU8sRUFBRSxFQUFFO1lBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDckMsQ0FBQyxDQUFBO0tBS0Y7SUFIUSxPQUFPO1FBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O3VIQWpCVSx5QkFBeUI7MkdBQXpCLHlCQUF5QixvUkNidEMsMC9DQWdEQSxnaUREckNpQixDQUFFLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBRTs0RkFFMUQseUJBQXlCO2tCQU5yQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFdBQVcsRUFBRSxtQ0FBbUM7b0JBQ2hELFNBQVMsRUFBRSxDQUFDLG1DQUFtQyxDQUFDO29CQUNoRCxhQUFhLEVBQUUsQ0FBRSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUU7aUJBQ3RFOzhCQUdVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWNsT2JqZWN0Um9sZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYWNsLW9iamVjdC1yb2xlJztcbmltcG9ydCB7IEFjbFJvbGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2FjbC1yb2xlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1hY2wtb2JqZWN0LXJvbGVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjbC1vYmplY3Qtcm9sZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2wtb2JqZWN0LXJvbGVzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHZpZXdQcm92aWRlcnM6IFsgeyBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogTmdGb3JtIH0gXVxufSlcbmV4cG9ydCBjbGFzcyBGc0FjbE9iamVjdFJvbGVzQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBhY2xSb2xlczogQWNsUm9sZVtdID0gW107XG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFjbE9iamVjdFJvbGVzOiBBY2xPYmplY3RSb2xlW10gPSBbXTtcbiAgQElucHV0KCkgcm9sZXNMYWJlbCA9ICdSb2xlcyc7XG4gIEBJbnB1dCgpIGxldmVsTGFiZWwgPSAnJztcbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QWNsT2JqZWN0Um9sZVtdPigpO1xuXG4gIHB1YmxpYyBjb21wYXJlQWNsUm9sZSA9IChvMTogYW55LCBvMjogYW55KSA9PiB7XG4gICAgcmV0dXJuIG8xICYmIG8yICYmIG8xLmlkID09PSBvMi5pZDtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VkKCkge1xuICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5hY2xPYmplY3RSb2xlcyk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhbXVsdGlwbGVcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWNsT2JqZWN0Um9sZSBvZiBhY2xPYmplY3RSb2xlc1wiPlxuICAgIDxmcy1jaGVja2JveC1ncm91cFxuICAgICAgWyhuZ01vZGVsKV09XCJhY2xPYmplY3RSb2xlLmFjbFJvbGVzXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZWQoKVwiXG4gICAgICBuYW1lPVwicm9sZXNcIlxuICAgICAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVBY2xSb2xlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbbGFiZWxdPVwicm9sZXNMYWJlbFwiXG4gICAgICBbZnNGb3JtUmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiPlxuICAgICAgPG1hdC1jaGVja2JveCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAqbmdGb3I9XCJsZXQgYWNsUm9sZSBvZiBhY2xSb2xlc1wiIFt2YWx1ZV09XCIkYW55KGFjbFJvbGUpXCI+XG4gICAgICAgIHt7IGFjbFJvbGUubmFtZSB9fVxuICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgPC9mcy1jaGVja2JveC1ncm91cD5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpcGxlXCI+XG4gIDx0YWJsZT5cbiAgICA8dHI+XG4gICAgICA8dGQ+XG4gICAgICAgIDxzbWFsbD57e2xldmVsTGFiZWx9fTwvc21hbGw+XG4gICAgICA8L3RkPlxuICAgICAgPHRkPlxuICAgICAgICA8c21hbGw+e3tyb2xlc0xhYmVsfX08L3NtYWxsPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICAgIDx0ciAqbmdGb3I9XCJsZXQgYWNsT2JqZWN0Um9sZSBvZiBhY2xPYmplY3RSb2xlc1wiPlxuICAgICAgPHRkPnt7YWNsT2JqZWN0Um9sZS5vYmplY3QubmFtZX19PC90ZD5cbiAgICAgIDx0ZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZm9ybS1maWVsZC1wYWRsZXNzXCI+XG4gICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYWNsT2JqZWN0Um9sZS5hY2xSb2xlc1wiXG4gICAgICAgICAgICBtdWx0aXBsZT1cInRydWVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlQWNsUm9sZVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VkKClcIlxuICAgICAgICAgICAgbmFtZT1cImFjbFJvbGVfe3sgYWNsT2JqZWN0Um9sZS5vYmplY3QuaWQgfX1cIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBhY2xSb2xlIG9mIGFjbFJvbGVzXCIgW3ZhbHVlXT1cImFjbFJvbGVcIj5cbiAgICAgICAgICAgICAge3sgYWNsUm9sZS5uYW1lIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3RhYmxlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -19,7 +19,7 @@ export class FsAclPermissionPopoverComponent {
19
19
  }
20
20
  }
21
21
  FsAclPermissionPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsAclPermissionPopoverComponent, deps: [{ token: i1.FsAppAclService }], target: i0.ɵɵFactoryTarget.Component });
22
- FsAclPermissionPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsAclPermissionPopoverComponent, selector: "acl-permission-popover", inputs: { permission: "permission" }, ngImport: i0, template: "\n<fs-popover [template]=\"popover\" maxWidth=\"400\">\n <ng-content></ng-content>\n</fs-popover>\n\n<ng-template #popover>\n {{permission.name}}\n <div class=\"small\">{{description}}</div>\n</ng-template>\n\n", styles: [":host{cursor:pointer}\n"], components: [{ type: i2.FsPopoverComponent, selector: "fs-popover", inputs: ["template", "data", "leaveDelay", "showDelay", "maxWidth", "wrapperClass", "autoShow", "autoClose", "loadingDiameter", "loading", "indication", "position", "theme", "size", "trigger"] }] });
22
+ FsAclPermissionPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsAclPermissionPopoverComponent, selector: "acl-permission-popover", inputs: { permission: "permission" }, ngImport: i0, template: "\n<fs-popover [template]=\"popover\" [maxWidth]=\"400\">\n <ng-content></ng-content>\n</fs-popover>\n\n<ng-template #popover>\n {{permission.name}}\n <div class=\"small\">{{description}}</div>\n</ng-template>\n\n", styles: [":host{cursor:pointer}\n"], components: [{ type: i2.FsPopoverComponent, selector: "fs-popover", inputs: ["template", "data", "leaveDelay", "showDelay", "maxWidth", "wrapperClass", "autoShow", "autoClose", "loadingDiameter", "loading", "indication", "position", "theme", "size", "trigger"] }] });
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsAclPermissionPopoverComponent, decorators: [{
24
24
  type: Component,
25
25
  args: [{
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
30
30
  }], ctorParameters: function () { return [{ type: i1.FsAppAclService }]; }, propDecorators: { permission: [{
31
31
  type: Input
32
32
  }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLXBlcm1pc3Npb24tcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYWNsLXBlcm1pc3Npb24tcG9wb3Zlci9hY2wtcGVybWlzc2lvbi1wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9hY2wtcGVybWlzc2lvbi1wb3BvdmVyL2FjbC1wZXJtaXNzaW9uLXBvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7O0FBT25FLE1BQU0sT0FBTywrQkFBK0I7SUFNMUMsWUFDVSxjQUErQjtRQUEvQixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7SUFDckMsQ0FBQztJQUVFLFFBQVE7UUFDYixJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRTthQUNuQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMzQyxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDOUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NkhBbkJVLCtCQUErQjtpSEFBL0IsK0JBQStCLG9HQ1I1Qyx1TkFVQTs0RkRGYSwrQkFBK0I7a0JBTDNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsV0FBVyxFQUFFLHlDQUF5QztvQkFDdEQsU0FBUyxFQUFFLENBQUMseUNBQXlDLENBQUM7aUJBQ3ZEO3NHQUdVLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnNBcHBBY2xTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9hcHAtYWNsLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcGVybWlzc2lvbi1wb3BvdmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjbC1wZXJtaXNzaW9uLXBvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2wtcGVybWlzc2lvbi1wb3BvdmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRnNBY2xQZXJtaXNzaW9uUG9wb3ZlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgcGVybWlzc2lvbjtcblxuICBwdWJsaWMgZGVzY3JpcHRpb247XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2FwcEFjbFNlcnZpY2U6IEZzQXBwQWNsU2VydmljZVxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9hcHBBY2xTZXJ2aWNlLmdldFBlcm1pc3Npb25zKClcbiAgICAuc3Vic2NyaWJlKHBlcm1pc3Npb25zID0+IHtcbiAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSBwZXJtaXNzaW9ucy5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiBpdGVtLnZhbHVlID09PSB0aGlzLnBlcm1pc3Npb24udmFsdWU7XG4gICAgICB9KS5tYXAoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiBpdGVtLmRlc2NyaXB0aW9uO1xuICAgICAgfSlbMF07XG4gICAgfSk7XG4gIH1cbn1cbiIsIlxuPGZzLXBvcG92ZXIgW3RlbXBsYXRlXT1cInBvcG92ZXJcIiBtYXhXaWR0aD1cIjQwMFwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2ZzLXBvcG92ZXI+XG5cbjxuZy10ZW1wbGF0ZSAjcG9wb3Zlcj5cbiAge3twZXJtaXNzaW9uLm5hbWV9fVxuICA8ZGl2IGNsYXNzPVwic21hbGxcIj57e2Rlc2NyaXB0aW9ufX08L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLXBlcm1pc3Npb24tcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYWNsLXBlcm1pc3Npb24tcG9wb3Zlci9hY2wtcGVybWlzc2lvbi1wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9hY2wtcGVybWlzc2lvbi1wb3BvdmVyL2FjbC1wZXJtaXNzaW9uLXBvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7O0FBT25FLE1BQU0sT0FBTywrQkFBK0I7SUFNMUMsWUFDVSxjQUErQjtRQUEvQixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7SUFDckMsQ0FBQztJQUVFLFFBQVE7UUFDYixJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRTthQUNuQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMzQyxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDOUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NkhBbkJVLCtCQUErQjtpSEFBL0IsK0JBQStCLG9HQ1I1Qyx5TkFVQTs0RkRGYSwrQkFBK0I7a0JBTDNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsV0FBVyxFQUFFLHlDQUF5QztvQkFDdEQsU0FBUyxFQUFFLENBQUMseUNBQXlDLENBQUM7aUJBQ3ZEO3NHQUdVLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnNBcHBBY2xTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9hcHAtYWNsLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcGVybWlzc2lvbi1wb3BvdmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjbC1wZXJtaXNzaW9uLXBvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2wtcGVybWlzc2lvbi1wb3BvdmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRnNBY2xQZXJtaXNzaW9uUG9wb3ZlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgcGVybWlzc2lvbjtcblxuICBwdWJsaWMgZGVzY3JpcHRpb247XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2FwcEFjbFNlcnZpY2U6IEZzQXBwQWNsU2VydmljZVxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9hcHBBY2xTZXJ2aWNlLmdldFBlcm1pc3Npb25zKClcbiAgICAuc3Vic2NyaWJlKHBlcm1pc3Npb25zID0+IHtcbiAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSBwZXJtaXNzaW9ucy5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiBpdGVtLnZhbHVlID09PSB0aGlzLnBlcm1pc3Npb24udmFsdWU7XG4gICAgICB9KS5tYXAoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiBpdGVtLmRlc2NyaXB0aW9uO1xuICAgICAgfSlbMF07XG4gICAgfSk7XG4gIH1cbn1cbiIsIlxuPGZzLXBvcG92ZXIgW3RlbXBsYXRlXT1cInBvcG92ZXJcIiBbbWF4V2lkdGhdPVwiNDAwXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZnMtcG9wb3Zlcj5cblxuPG5nLXRlbXBsYXRlICNwb3BvdmVyPlxuICB7e3Blcm1pc3Npb24ubmFtZX19XG4gIDxkaXYgY2xhc3M9XCJzbWFsbFwiPnt7ZGVzY3JpcHRpb259fTwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuIl19
@@ -44,6 +44,7 @@ export class FsAclRoleComponent {
44
44
  this.AclLevels = {};
45
45
  this.roleConfigs = [];
46
46
  this.aclRoleConfigValues = {};
47
+ this.aclRolePermissions = {};
47
48
  this._destroy$ = new Subject();
48
49
  this.save = () => {
49
50
  const aclRoleConfigs = this.roleConfigs
@@ -56,7 +57,7 @@ export class FsAclRoleComponent {
56
57
  const aclRole = Object.assign(Object.assign({}, this.aclRole), { permissions: this.levelPermissions.map((permission) => {
57
58
  return {
58
59
  value: permission.value,
59
- access: this.aclRole.permissions[permission.value] || 0,
60
+ access: this.aclRolePermissions[permission.value] || 0,
60
61
  };
61
62
  }), aclRoleConfigs });
62
63
  return this._data.saveAclRole(aclRole)
@@ -94,7 +95,7 @@ export class FsAclRoleComponent {
94
95
  if (aclPermission) {
95
96
  access = aclPermission.access;
96
97
  }
97
- this.aclRole.permissions[permission.value] = access;
98
+ this.aclRolePermissions[permission.value] = access;
98
99
  });
99
100
  }
100
101
  if (this.aclRole.allPermissions) {
@@ -136,6 +137,17 @@ export class FsAclRoleComponent {
136
137
  },
137
138
  };
138
139
  }
140
+ bulkChange(event, groupChildren, group) {
141
+ groupChildren
142
+ .forEach((permission) => {
143
+ const access = permission.accesses
144
+ .find((access) => event.value === access);
145
+ if (access || !event.value) {
146
+ this.aclRolePermissions[permission.value] = event.value;
147
+ }
148
+ });
149
+ event.source.writeValue(null);
150
+ }
139
151
  levelChange() {
140
152
  this._updatePermissions();
141
153
  this._updateRoleConfigs();
@@ -186,12 +198,12 @@ export class FsAclRoleComponent {
186
198
  }
187
199
  _applyMaxPermissionAccess() {
188
200
  this.permissions.forEach((permission) => {
189
- this.aclRole.permissions[permission.value] = Math.max(...permission.accesses);
201
+ this.aclRolePermissions[permission.value] = Math.max(...permission.accesses);
190
202
  });
191
203
  }
192
204
  }
193
205
  FsAclRoleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsAclRoleComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.FsAppAclService }, { token: i2.MatDialogRef }, { token: i3.FsMessage }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
194
- FsAclRoleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsAclRoleComponent, selector: "ng-component", viewQueries: [{ propertyName: "list", first: true, predicate: FsListComponent, descendants: true }], ngImport: i0, template: "<form fsForm [submit]=\"save\">\n <fs-dialog>\n <ng-container *ngIf=\"aclRole\">\n <div mat-dialog-title>{{ aclRole.id ? 'Edit' : 'Create' }} Role</div>\n <mat-dialog-content>\n <div fxLayout=\"row\" fxLayout.lt-md=\"column\" fxLayoutGap=\"40px\" fxLayoutGap.lt-md=\"0\">\n <div fxLayout=\"column\" fxFlex fxFlex.lt-md=\"0\">\n <mat-form-field>\n <input \n matInput \n placeholder=\"Name\" \n [(ngModel)]=\"aclRole.name\" \n name=\"name\" \n fsFormRequired>\n </mat-form-field>\n\n <mat-form-field>\n <input \n matInput \n placeholder=\"Description\" \n [(ngModel)]=\"aclRole.description\"\n name=\"description\">\n </mat-form-field> \n\n <fs-label-field *ngIf=\"aclRole.id || aclLevels.length === 1; else levels\">\n <fs-label>Level</fs-label>\n {{indexedAclLevels[aclRole.level]}}\n </fs-label-field>\n\n <ng-template #levels>\n <div class=\"level\">\n <fs-radio-group\n [(ngModel)]=\"aclRole.level\"\n (ngModelChange)=\"levelChange()\"\n fsFormRequired\n label=\"Level\"\n orientation=\"vertical\"\n name=\"level\">\n <mat-radio-button\n *ngFor=\"let item of aclLevels\"\n [value]=\"item.value\"\n [disabled]=\"!!aclRole.protected\">\n {{ item.name }}\n </mat-radio-button>\n </fs-radio-group>\n </div>\n </ng-template>\n\n <fs-label-field *ngIf=\"levelPermissions.length\">\n <fs-label>All Permissions</fs-label>\n <mat-checkbox\n [(ngModel)]=\"aclRole.allPermissions\"\n (ngModelChange)=\"allPermissionsChange($event)\"\n [disabled]=\"!!aclRole.protected\"\n name=\"allPermissions\">\n Enable\n </mat-checkbox>\n </fs-label-field>\n\n <div fxLayout=\"column\" *ngFor=\"let roleConfig of roleConfigs\">\n <fs-label-field *ngIf=\"roleConfig.type === 'checkbox'\">\n <fs-label>{{roleConfig.label}}</fs-label>\n <mat-checkbox\n [(ngModel)]=\"aclRoleConfigValues[roleConfig.name]\"\n [name]=\"roleConfig.name\">\n Enable\n </mat-checkbox>\n <fs-label-message>\n <mat-hint>{{roleConfig.description}}</mat-hint>\n </fs-label-message>\n </fs-label-field>\n\n <mat-form-field *ngIf=\"roleConfig.type === 'select'\">\n <mat-select\n [(ngModel)]=\"aclRoleConfigValues[roleConfig.name]\"\n [name]=\"roleConfig.name\"\n [required]=\"roleConfig.required\"\n [placeholder]=\"roleConfig.label\">\n <mat-option\n *ngFor=\"let item of roleConfig.values\"\n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n <mat-hint>{{roleConfig.description}}</mat-hint>\n </mat-form-field>\n </div>\n </div>\n\n <div fxLayout=\"column\" fxFlex=\"65\" fxFlex.lt-md=\"0\" *ngIf=\"aclRole.level\" [hidden]=\"!levelPermissions.length\" class=\"permissions\">\n\n <fs-list [config]=\"listConfig\">\n <fs-list-column title=\"Permissions\">\n <ng-template colspan=\"2\" fs-list-group-cell let-row=\"row\" class=\"permission-group\">\n <small><b>{{row.category || 'General'}}</b></small>\n </ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <div class=\"permission\">{{ row.name }}</div>\n <div class=\"description small\">{{ row.description }}</div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Access\" width=\"1%\" class=\"access\">\n <ng-template fs-list-cell let-row=\"permission\" let-permission=\"row\">\n <span *ngIf=\"aclRole.allPermissions; else elseAll\">\n {{ indexedAccesses[aclRole.permissions[permission.value]] }}\n </span>\n <ng-template #elseAll>\n <mat-form-field>\n <mat-select\n [(ngModel)]=\"aclRole.permissions[permission.value]\"\n [disabled]=\"!!aclRole.protected\"\n fsFormRequired\n name=\"access-{{ permission.value }}\">\n <ng-container *ngFor=\"let access of AclRoleAccesses\">\n <mat-option\n *ngIf=\"access.value === 0 || permission.accesses.indexOf(access.value) !== -1\"\n [value]=\"access.value\">\n {{ access.name }}\n </mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n </ng-template>\n </ng-template>\n </fs-list-column>\n </fs-list>\n </div>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button type=\"submit\" color=\"primary\">{{ aclRole.id ? 'Save' : 'Create' }}</button>\n <button mat-button [mat-dialog-close]=\"null\" type=\"button\">Cancel</button>\n </mat-dialog-actions>\n </ng-container>\n </fs-dialog>\n</form>\n", styles: [":host .permissions ::ng-deep .fs-list-row-group{background-color:#f6f6f6}:host .permissions ::ng-deep fs-list .access{white-space:nowrap}:host .permissions ::ng-deep .mat-form-field{width:100px}:host .permissions ::ng-deep .mat-form-field .mat-form-field-wrapper{padding-bottom:0}:host .permissions ::ng-deep .mat-form-field .mat-form-field-infix{border-top:0}:host .permissions ::ng-deep .mat-form-field .mat-form-field-underline{bottom:0}:host ::ng-deep fs-radio-group{width:100%}:host ::ng-deep fs-label-field{width:100%}:host .level{width:100%}\n"], components: [{ type: i4.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i6.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i6.FsLabelComponent, selector: "fs-label" }, { type: i7.FsRadioGroupComponent, selector: "fs-radio-group", inputs: ["orientation", "label", "name", "disabled", "radioPosition", "compareWith", "required"] }, { type: i8.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i6.FsLabelMessageComponent, selector: "fs-label-message" }, { type: i10.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i11.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i12.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i13.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i14.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i14.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i14.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i15.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"] }, { type: i16.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i17.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i17.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i17.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i18.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i14.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i15.FsFormRequiredDirective, selector: "[fsFormRequired],[ngModel][required]", inputs: ["fsFormRequired", "required", "fsFormRequiredMessage"] }, { type: i14.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i14.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i16.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i14.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i12.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i12.FsListGroupHeaderDirective, selector: "[fs-list-group-cell],[fs-list-group-header]" }, { type: i12.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i15.FsSubmitButtonDirective, selector: "button[type=\"submit\"]", inputs: ["name", "dirtySubmit"] }, { type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
206
+ FsAclRoleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsAclRoleComponent, selector: "ng-component", viewQueries: [{ propertyName: "list", first: true, predicate: FsListComponent, descendants: true }], ngImport: i0, template: "<form fsForm [submit]=\"save\">\n <fs-dialog>\n <ng-container *ngIf=\"aclRole\">\n <div mat-dialog-title>{{ aclRole.id ? 'Edit' : 'Create' }} Role</div>\n <mat-dialog-content>\n <div fxLayout=\"row\" fxLayout.lt-md=\"column\" fxLayoutGap=\"40px\" fxLayoutGap.lt-md=\"0\">\n <div fxLayout=\"column\" fxFlex fxFlex.lt-md=\"0\">\n <mat-form-field>\n <input \n matInput \n placeholder=\"Name\" \n [(ngModel)]=\"aclRole.name\" \n name=\"name\" \n fsFormRequired>\n </mat-form-field>\n\n <mat-form-field>\n <input \n matInput \n placeholder=\"Description\" \n [(ngModel)]=\"aclRole.description\"\n name=\"description\">\n </mat-form-field> \n\n <fs-label-field *ngIf=\"aclRole.id || aclLevels.length === 1; else levels\">\n <fs-label>Level</fs-label>\n {{indexedAclLevels[aclRole.level]}}\n </fs-label-field>\n\n <ng-template #levels>\n <div class=\"level\">\n <fs-radio-group\n [(ngModel)]=\"aclRole.level\"\n (ngModelChange)=\"levelChange()\"\n fsFormRequired\n label=\"Level\"\n orientation=\"vertical\"\n name=\"level\">\n <mat-radio-button\n *ngFor=\"let item of aclLevels\"\n [value]=\"item.value\"\n [disabled]=\"!!aclRole.protected\">\n {{ item.name }}\n </mat-radio-button>\n </fs-radio-group>\n </div>\n </ng-template>\n\n <fs-label-field *ngIf=\"levelPermissions.length\">\n <fs-label>All Permissions</fs-label>\n <mat-checkbox\n [(ngModel)]=\"aclRole.allPermissions\"\n (ngModelChange)=\"allPermissionsChange($event)\"\n [disabled]=\"!!aclRole.protected\"\n name=\"allPermissions\">\n Enable\n </mat-checkbox>\n </fs-label-field>\n\n <div fxLayout=\"column\" *ngFor=\"let roleConfig of roleConfigs\">\n <fs-label-field *ngIf=\"roleConfig.type === 'checkbox'\">\n <fs-label>{{roleConfig.label}}</fs-label>\n <mat-checkbox\n [(ngModel)]=\"aclRoleConfigValues[roleConfig.name]\"\n [name]=\"roleConfig.name\">\n Enable\n </mat-checkbox>\n <fs-label-message>\n <mat-hint>{{roleConfig.description}}</mat-hint>\n </fs-label-message>\n </fs-label-field>\n\n <mat-form-field *ngIf=\"roleConfig.type === 'select'\">\n <mat-select\n [(ngModel)]=\"aclRoleConfigValues[roleConfig.name]\"\n [name]=\"roleConfig.name\"\n [required]=\"roleConfig.required\"\n [placeholder]=\"roleConfig.label\">\n <mat-option\n *ngFor=\"let item of roleConfig.values\"\n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n <mat-hint>{{roleConfig.description}}</mat-hint>\n </mat-form-field>\n </div>\n </div>\n\n <div fxLayout=\"column\" fxFlex=\"65\" fxFlex.lt-md=\"0\" *ngIf=\"aclRole.level\" [hidden]=\"!levelPermissions.length\" class=\"permissions\">\n <fs-list [config]=\"listConfig\">\n <fs-list-column title=\"Permissions\">\n <ng-template fs-list-group-cell let-row=\"row\" class=\"permission-group\">\n <small><b>{{row.category || 'General'}}</b></small>\n </ng-template> \n <ng-template fs-list-cell let-row=\"row\">\n <div class=\"permission\">{{ row.name }}</div>\n <div class=\"description small\">{{ row.description }}</div>\n </ng-template>\n </fs-list-column>\n <fs-list-column title=\"Access\" width=\"1%\" class=\"access\"> \n <ng-template fs-list-group-cell let-row=\"row\" let-group=\"group\" let-groupChildren=\"groupChildren\" class=\"permission-group\">\n <ng-container *ngIf=\"!aclRole.allPermissions\">\n <mat-form-field>\n <mat-select\n [ngModel]=\"group.bulk\"\n (selectionChange)=\"bulkChange($event, groupChildren, group)\"\n [name]=\"'bulk-' + row.category\">\n <ng-container *ngFor=\"let access of AclRoleAccesses\">\n <mat-option\n [value]=\"access.value\">\n {{ access.name }}\n </mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n </ng-container>\n </ng-template>\n <ng-template fs-list-cell let-row=\"permission\" let-permission=\"row\">\n <span *ngIf=\"aclRole.allPermissions; else elseAll\">\n {{ indexedAccesses[aclRolePermissions[permission.value]] }}\n </span>\n <ng-template #elseAll>\n <mat-form-field>\n <mat-select\n [(ngModel)]=\"aclRolePermissions[permission.value]\"\n [disabled]=\"!!aclRole.protected\"\n required\n name=\"access-{{ permission.value }}\">\n <ng-container *ngFor=\"let access of AclRoleAccesses\">\n <mat-option\n *ngIf=\"access.value === 0 || permission.accesses.indexOf(access.value) !== -1\"\n [value]=\"access.value\">\n {{ access.name }}\n </mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n </ng-template>\n </ng-template>\n </fs-list-column>\n </fs-list>\n </div>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button type=\"submit\" color=\"primary\">{{ aclRole.id ? 'Save' : 'Create' }}</button>\n <button mat-button [mat-dialog-close]=\"null\" type=\"button\">Cancel</button>\n </mat-dialog-actions>\n </ng-container>\n </fs-dialog>\n</form>\n", styles: [":host .permissions ::ng-deep .fs-list-row-group{background-color:#f6f6f6}:host .permissions ::ng-deep fs-list .access{white-space:nowrap}:host .permissions ::ng-deep .mat-form-field{width:100px}:host .permissions ::ng-deep .mat-form-field .mat-form-field-wrapper{padding-bottom:0}:host .permissions ::ng-deep .mat-form-field .mat-form-field-infix{border-top:0}:host .permissions ::ng-deep .mat-form-field .mat-form-field-underline{bottom:0}:host ::ng-deep fs-radio-group{width:100%}:host ::ng-deep fs-label-field{width:100%}:host .level{width:100%}\n"], components: [{ type: i4.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i6.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { type: i6.FsLabelComponent, selector: "fs-label" }, { type: i7.FsRadioGroupComponent, selector: "fs-radio-group", inputs: ["orientation", "label", "name", "disabled", "radioPosition", "compareWith", "required"] }, { type: i8.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i6.FsLabelMessageComponent, selector: "fs-label-message" }, { type: i10.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i11.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i12.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i13.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i14.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i14.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i14.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i15.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"] }, { type: i16.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i17.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i17.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i17.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i18.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i14.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i15.FsFormRequiredDirective, selector: "[fsFormRequired],[ngModel][required]", inputs: ["fsFormRequired", "required", "fsFormRequiredMessage"] }, { type: i14.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i14.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i16.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { type: i14.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i12.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i12.FsListGroupHeaderDirective, selector: "[fs-list-group-cell],[fs-list-group-header]" }, { type: i12.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i15.FsSubmitButtonDirective, selector: "button[type=\"submit\"]", inputs: ["name", "dirtySubmit"] }, { type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
195
207
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsAclRoleComponent, decorators: [{
196
208
  type: Component,
197
209
  args: [{
@@ -206,4 +218,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
206
218
  type: ViewChild,
207
219
  args: [FsListComponent]
208
220
  }] } });
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLXJvbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2FjbC1yb2xlL2FjbC1yb2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9hY2wtcm9sZS9hY2wtcm9sZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUdOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNuRSxNQUFNLE9BQU8sa0JBQWtCO0lBc0I3QixZQUM0QyxLQUFVLEVBQ25DLGNBQStCLEVBQy9CLFVBQTRDLEVBQzVDLFFBQW1CLEVBQzVCLE1BQXlCO1FBSlMsVUFBSyxHQUFMLEtBQUssQ0FBSztRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDL0IsZUFBVSxHQUFWLFVBQVUsQ0FBa0M7UUFDNUMsYUFBUSxH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QUFDLEtBQUssQ0FBQyxlQUFlLEVBQUU7aUJBQzNCLFNBQVMsQ0FBQyxDQUFDLFdBQXlCLEVBQUUsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXO3FCQUMzQixNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVPLHlCQUF5QjtRQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0hBeE5VLGtCQUFrQixrQkF1Qm5CLGVBQWU7b0dBdkJkLGtCQUFrQiwwRkFFbEIsZUFBZSxnREMvQjVCLDgzTEF3SUE7NEZEM0dhLGtCQUFrQjtrQkFMOUIsU0FBUzttQkFBQztvQkFDVCxXQUFXLEVBQUUsMkJBQTJCO29CQUN4QyxTQUFTLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDeEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzswQkF3QkksTUFBTTsyQkFBQyxlQUFlOzZKQXBCbEIsSUFBSTtzQkFEVixTQUFTO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBBY2xSb2xlQWNjZXNzZXMgfSBmcm9tICcuLy4uLy4uL2NvbnN0cy9hY2wtcm9sZS1hY2Nlc3Nlcyc7XG5pbXBvcnQgeyBBY2xSb2xlIH0gZnJvbSAnLi8uLi8uLi9pbnRlcmZhY2VzL2FjbC1yb2xlJztcbmltcG9ydCB7IHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGc01lc3NhZ2UgfSBmcm9tICdAZmlyZXN0aXRjaC9tZXNzYWdlJztcbmltcG9ydCB7IGxpc3QgfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuaW1wb3J0IHsgRnNMaXN0Q29tcG9uZW50LCBGc0xpc3RDb25maWcgfSBmcm9tICdAZmlyZXN0aXRjaC9saXN0JztcblxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGc0FwcEFjbFNlcnZpY2UgfSBmcm9tICcuLy4uLy4uL3NlcnZpY2VzL2FwcC1hY2wuc2VydmljZSc7XG5pbXBvcnQgeyBSb2xlQ29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9hY2wtcm9sZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjbC1yb2xlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc0FjbFJvbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQFZpZXdDaGlsZChGc0xpc3RDb21wb25lbnQpIFxuICBwdWJsaWMgbGlzdDogRnNMaXN0Q29tcG9uZW50O1xuXG4gIHB1YmxpYyBhY2xSb2xlOiBBY2xSb2xlID0gbnVsbDtcbiAgcHVibGljIGVudmlyb25tZW50O1xuICBwdWJsaWMgcGVybWlzc2lvbnM6IGFueVtdID0gW107XG4gIHB1YmxpYyBsaXN0Q29uZmlnOiBGc0xpc3RDb25maWc7XG4gIHB1YmxpYyBsZXZlbFBlcm1pc3Npb25zID0gW107XG4gIHB1YmxpYyBBY2xSb2xlQWNjZXNzZXMgPSBBY2xSb2xlQWNjZXNzZXM7XG4gIHB1YmxpYyBpbmRleGVkQWNjZXNzZXMgPSB7fTtcbiAgcHVibGljIGFjbExldmVsczogYW55W10gPSBbXTtcbiAgcHVibGljIGluZGV4ZWRBY2xMZXZlbHMgPSB7fTtcbiAgcHVibGljIG9ubHlGdWxsQWNjZXNzID0gZmFsc2U7XG4gIHB1YmxpYyBBY2xMZXZlbHMgPSB7fTtcbiAgcHVibGljIHJvbGVDb25maWdzOiBSb2xlQ29uZmlnW10gPSBbXTtcbiAgcHVibGljIGFjbFJvbGVDb25maWdWYWx1ZXMgPSB7fTtcbiAgcHVibGljIGxvYWRSb2xlQ29uZmlnczogKGFjbFJvbGU6IEFjbFJvbGUsIHF1ZXJ5KSA9PiBPYnNlcnZhYmxlPFJvbGVDb25maWdbXT47XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIHJlYWRvbmx5IF9kYXRhOiBhbnksXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYXBwQWNsU2VydmljZTogRnNBcHBBY2xTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEZzQWNsUm9sZUNvbXBvbmVudD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbWVzc2FnZTogRnNNZXNzYWdlLFxuICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHsgICAgICBcbiAgICBmb3JrSm9pbihcbiAgICAgIHRoaXMuZ2V0Um9sZSgpLFxuICAgICAgdGhpcy5fYXBwQWNsU2VydmljZS5nZXRQZXJtaXNzaW9ucygpLFxuICAgIClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChbXG4gICAgICAgIGFjbFJvbGUsXG4gICAgICAgIGFjbFBlcm1pc3Npb25zLFxuICAgICAgXSkgPT4ge1xuXG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBhY2xQZXJtaXNzaW9ucztcbiAgICAgICAgdGhpcy5hY2xMZXZlbHMgPSB0aGlzLl9kYXRhLmFjbExldmVscztcblxuICAgICAgICB0aGlzLmluZGV4ZWRBY2xMZXZlbHMgPSBsaXN0KHRoaXMuYWNsTGV2ZWxzLCAnbmFtZScsICd2YWx1ZScpO1xuICAgICAgICB0aGlzLmluZGV4ZWRBY2Nlc3NlcyA9IGxpc3QoQWNsUm9sZUFjY2Vzc2VzLCAnbmFtZScsICd2YWx1ZScpO1xuXG4gICAgICAgIHRoaXMuYWNsUm9sZSA9IHtcbiAgICAgICAgICAuLi57XG4gICAgICAgICAgICBhY2xQZXJtaXNzaW9uczogW10sXG4gICAgICAgICAgICBhbGxQZXJtaXNzaW9uczogdHJ1ZSxcbiAgICAgICAgICAgIGFjbFJvbGVDb25maWdzOiBbXSxcbiAgICAgICAgICAgIHBlcm1pc3Npb25zOiB7fSxcbiAgICAgICAgICAgIGxldmVsOiB0aGlzLmFjbExldmVsc1swXS52YWx1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC4uLmFjbFJvbGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5hY2xSb2xlQ29uZmlnVmFsdWVzID0gKGFjbFJvbGUuYWNsUm9sZUNvbmZpZ3MgfHwgW10pXG4gICAgICAgICAgLnJlZHVjZSgoYWNjdW0sIGFjbFJvbGVDb25maWcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmFjY3VtLFxuICAgICAgICAgICAgICBbYWNsUm9sZUNvbmZpZy5uYW1lXTogYWNsUm9sZUNvbmZpZy52YWx1ZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LCB7fSk7XG5cbiAgICAgICAgaWYgKHRoaXMuYWNsUm9sZS5pZCkge1xuICAgICAgICAgIHRoaXMucGVybWlzc2lvbnMuZm9yRWFjaCgocGVybWlzc2lvbikgPT4ge1xuICAgICAgICAgICAgbGV0IGFjY2VzcyA9IDA7XG5cbiAgICAgICAgICAgIGNvbnN0IGFjbFBlcm1pc3Npb24gPSB0aGlzLmFjbFJvbGUuYWNsUGVybWlzc2lvbnMuZmluZCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gaXRlbS5wZXJtaXNzaW9uID09PSBwZXJtaXNzaW9uLnZhbHVlO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmIChhY2xQZXJtaXNzaW9uKSB7XG4gICAgICAgICAgICAgIGFjY2VzcyA9IGFjbFBlcm1pc3Npb24uYWNjZXNzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmFjbFJvbGUucGVybWlzc2lvbnNbcGVybWlzc2lvbi52YWx1ZV0gPSBhY2Nlc3M7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hY2xSb2xlLmFsbFBlcm1pc3Npb25zKSB7XG4gICAgICAgICAgdGhpcy5fYXBwbHlNYXhQZXJtaXNzaW9uQWNjZXNzKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl91cGRhdGVQZXJtaXNzaW9ucygpO1xuICAgICAgICB0aGlzLl91cGRhdGVSb2xlQ29uZmlncygpO1xuXG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmxpc3RDb25maWcgPSB7XG4gICAgICBzdGF0dXM6IGZhbHNlLFxuICAgICAgcGFnaW5nOiBmYWxzZSxcbiAgICAgIG5vUmVzdWx0czoge1xuICAgICAgICBtZXNzYWdlOiAnJyxcbiAgICAgIH0sXG4gICAgICBncm91cDoge1xuICAgICAgICBpbml0aWFsRXhwYW5kOiB0cnVlLFxuICAgICAgICBncm91cEJ5OiAoZGF0YSkgPT4ge1xuICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9LFxuICAgICAgICBjb21wYXJlQnk6IChkYXRhKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGRhdGEuY2F0ZWdvcnkgfHwgJ0dlbmVyYWwnO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGZldGNoOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiBvZih7XG4gICAgICAgICAgZGF0YTogdGhpcy5sZXZlbFBlcm1pc3Npb25zLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgIGEgPSBhLm5hbWUudG9VcHBlckNhc2UoKTtcbiAgICAgICAgICAgIGIgPSBiLm5hbWUudG9VcHBlckNhc2UoKTtcbiAgICAgICAgICAgIGlmIChhIDwgYikge1xuICAgICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGEgPiBiKSB7XG4gICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgbGV2ZWxDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlUGVybWlzc2lvbnMoKTtcbiAgICB0aGlzLl91cGRhdGVSb2xlQ29uZmlncygpO1xuICAgIHRoaXMubGlzdC5yZWxvYWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSb2xlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKCF0aGlzLl9kYXRhLmFjbFJvbGUuaWQpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLl9kYXRhLmFjbFJvbGUpO1xuICAgIH1cblxuICAgIGNvbnN0IHF1ZXJ5OiBhbnkgPSB7XG4gICAgICBhY2xQZXJtaXNzaW9uczogdHJ1ZSxcbiAgICAgIGFjbFJvbGVDb25maWdzOiB0cnVlLFxuICAgIH07XG5cbiAgICBpZiAoIXRoaXMuZW52aXJvbm1lbnQpIHtcbiAgICAgIHF1ZXJ5LmVudmlyb25tZW50SWQgPSBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9kYXRhLmxvYWRBY2xSb2xlKHRoaXMuX2RhdGEuYWNsUm9sZSwgcXVlcnkpO1xuICB9XG5cbiAgcHVibGljIHNhdmUgPSAoKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcbiAgICBjb25zdCBhY2xSb2xlQ29uZmlncyA9IHRoaXMucm9sZUNvbmZpZ3NcbiAgICAgIC5tYXAoKHJvbGVDb25maWcpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBuYW1lOiByb2xlQ29uZmlnLm5hbWUsXG4gICAgICAgICAgdmFsdWU6IHRoaXMuYWNsUm9sZUNvbmZpZ1ZhbHVlc1tyb2xlQ29uZmlnLm5hbWVdLFxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIGNvbnN0IGFjbFJvbGUgPSB7XG4gICAgICAuLi50aGlzLmFjbFJvbGUsXG4gICAgICBwZXJtaXNzaW9uczogdGhpcy5sZXZlbFBlcm1pc3Npb25zLm1hcCgocGVybWlzc2lvbikgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHZhbHVlOiBwZXJtaXNzaW9uLnZhbHVlLFxuICAgICAgICAgIGFjY2VzczogdGhpcy5hY2xSb2xlLnBlcm1pc3Npb25zW3Blcm1pc3Npb24udmFsdWVdIHx8IDAsXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICAgIGFjbFJvbGVDb25maWdzLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5fZGF0YS5zYXZlQWNsUm9sZShhY2xSb2xlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLl9tZXNzYWdlLnN1Y2Nlc3MoJ1NhdmVkIENoYW5nZXMnKTtcbiAgICAgICAgICB0aGlzLmNsb3NlKHJlc3BvbnNlKTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKGRhdGE6IGFueSA9IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UoZGF0YSk7XG4gIH1cblxuICBwdWJsaWMgYWxsUGVybWlzc2lvbnNDaGFuZ2UoYWxsOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlUGVybWlzc2lvbnMoKTtcbiAgICBpZiAoYWxsKSB7XG4gICAgICB0aGlzLl9hcHBseU1heFBlcm1pc3Npb25BY2Nlc3MoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVQZXJtaXNzaW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmxldmVsUGVybWlzc2lvbnMgPSB0aGlzLnBlcm1pc3Npb25zLmZpbHRlcigocGVybWlzc2lvbikgPT4ge1xuICAgICAgcmV0dXJuIHBlcm1pc3Npb24ubGV2ZWxzLnNvbWUoKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW0gPT09IHRoaXMuYWNsUm9sZS5sZXZlbDtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlUm9sZUNvbmZpZ3MoKTogdm9pZCB7XG4gICAgaWYodGhpcy5fZGF0YS5sb2FkUm9sZUNvbmZpZ3MpIHtcbiAgICAgIHRoaXMuX2RhdGEubG9hZFJvbGVDb25maWdzKClcbiAgICAgIC5zdWJzY3JpYmUoKHJvbGVDb25maWdzOiBSb2xlQ29uZmlnW10pID0+IHtcbiAgICAgICAgdGhpcy5yb2xlQ29uZmlncyA9IHJvbGVDb25maWdzXG4gICAgICAgICAgLmZpbHRlcigocm9sZUNvbmZpZykgPT4gcm9sZUNvbmZpZy5sZXZlbCA9PT0gdGhpcy5hY2xSb2xlLmxldmVsKTtcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9hcHBseU1heFBlcm1pc3Npb25BY2Nlc3MoKTogdm9pZCB7XG4gICAgdGhpcy5wZXJtaXNzaW9ucy5mb3JFYWNoKChwZXJtaXNzaW9uKSA9PiB7XG4gICAgICB0aGlzLmFjbFJvbGUucGVybWlzc2lvbnNbcGVybWlzc2lvbi52YWx1ZV0gPSBNYXRoLm1heCguLi5wZXJtaXNzaW9uLmFjY2Vzc2VzKTtcbiAgICB9KTtcbiAgfVxuXG59XG4iLCI8Zm9ybSBmc0Zvcm0gW3N1Ym1pdF09XCJzYXZlXCI+XG4gIDxmcy1kaWFsb2c+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjbFJvbGVcIj5cbiAgICAgIDxkaXYgbWF0LWRpYWxvZy10aXRsZT57eyBhY2xSb2xlLmlkID8gJ0VkaXQnIDogJ0NyZWF0ZScgfX0gUm9sZTwvZGl2PlxuICAgICAgPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0Lmx0LW1kPVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCI0MHB4XCIgZnhMYXlvdXRHYXAubHQtbWQ9XCIwXCI+XG4gICAgICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleCBmeEZsZXgubHQtbWQ9XCIwXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDxpbnB1dCBcbiAgICAgICAgICAgICAgICBtYXRJbnB1dCBcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5hbWVcIiBcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImFjbFJvbGUubmFtZVwiIFxuICAgICAgICAgICAgICAgIG5hbWU9XCJuYW1lXCIgXG4gICAgICAgICAgICAgICAgZnNGb3JtUmVxdWlyZWQ+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgIDxpbnB1dCBcbiAgICAgICAgICAgICAgICBtYXRJbnB1dCBcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkRlc2NyaXB0aW9uXCIgXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhY2xSb2xlLmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+ICAgICAgICAgICAgXG5cbiAgICAgICAgICAgIDxmcy1sYWJlbC1maWVsZCAqbmdJZj1cImFjbFJvbGUuaWQgfHwgYWNsTGV2ZWxzLmxlbmd0aCA9PT0gMTsgZWxzZSBsZXZlbHNcIj5cbiAgICAgICAgICAgICAgPGZzLWxhYmVsPkxldmVsPC9mcy1sYWJlbD5cbiAgICAgICAgICAgICAge3tpbmRleGVkQWNsTGV2ZWxzW2FjbFJvbGUubGV2ZWxdfX1cbiAgICAgICAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGV2ZWxzPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGV2ZWxcIj5cbiAgICAgICAgICAgICAgICA8ZnMtcmFkaW8tZ3JvdXBcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYWNsUm9sZS5sZXZlbFwiXG4gICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJsZXZlbENoYW5nZSgpXCJcbiAgICAgICAgICAgICAgICAgIGZzRm9ybVJlcXVpcmVkXG4gICAgICAgICAgICAgICAgICBsYWJlbD1cIkxldmVsXCJcbiAgICAgICAgICAgICAgICAgIG9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cImxldmVsXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhY2xMZXZlbHNcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhIWFjbFJvbGUucHJvdGVjdGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5uYW1lIH19XG4gICAgICAgICAgICAgICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9mcy1yYWRpby1ncm91cD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8ZnMtbGFiZWwtZmllbGQgKm5nSWY9XCJsZXZlbFBlcm1pc3Npb25zLmxlbmd0aFwiPlxuICAgICAgICAgICAgICA8ZnMtbGFiZWw+QWxsIFBlcm1pc3Npb25zPC9mcy1sYWJlbD5cbiAgICAgICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhY2xSb2xlLmFsbFBlcm1pc3Npb25zXCJcbiAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImFsbFBlcm1pc3Npb25zQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEhYWNsUm9sZS5wcm90ZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cImFsbFBlcm1pc3Npb25zXCI+XG4gICAgICAgICAgICAgICAgRW5hYmxlXG4gICAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgPC9mcy1sYWJlbC1maWVsZD5cblxuICAgICAgICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiICpuZ0Zvcj1cImxldCByb2xlQ29uZmlnIG9mIHJvbGVDb25maWdzXCI+XG4gICAgICAgICAgICAgIDxmcy1sYWJlbC1maWVsZCAqbmdJZj1cInJvbGVDb25maWcudHlwZSA9PT0gJ2NoZWNrYm94J1wiPlxuICAgICAgICAgICAgICAgIDxmcy1sYWJlbD57e3JvbGVDb25maWcubGFiZWx9fTwvZnMtbGFiZWw+XG4gICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImFjbFJvbGVDb25maWdWYWx1ZXNbcm9sZUNvbmZpZy5uYW1lXVwiXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cInJvbGVDb25maWcubmFtZVwiPlxuICAgICAgICAgICAgICAgICAgRW5hYmxlXG4gICAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPGZzLWxhYmVsLW1lc3NhZ2U+XG4gICAgICAgICAgICAgICAgICA8bWF0LWhpbnQ+e3tyb2xlQ29uZmlnLmRlc2NyaXB0aW9ufX08L21hdC1oaW50PlxuICAgICAgICAgICAgICAgIDwvZnMtbGFiZWwtbWVzc2FnZT5cbiAgICAgICAgICAgICAgPC9mcy1sYWJlbC1maWVsZD5cblxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJyb2xlQ29uZmlnLnR5cGUgPT09ICdzZWxlY3QnXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYWNsUm9sZUNvbmZpZ1ZhbHVlc1tyb2xlQ29uZmlnLm5hbWVdXCJcbiAgICAgICAgICAgICAgICAgIFtuYW1lXT1cInJvbGVDb25maWcubmFtZVwiXG4gICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicm9sZUNvbmZpZy5yZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicm9sZUNvbmZpZy5sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygcm9sZUNvbmZpZy52YWx1ZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8bWF0LWhpbnQ+e3tyb2xlQ29uZmlnLmRlc2NyaXB0aW9ufX08L21hdC1oaW50PlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhGbGV4PVwiNjVcIiBmeEZsZXgubHQtbWQ9XCIwXCIgKm5nSWY9XCJhY2xSb2xlLmxldmVsXCIgW2hpZGRlbl09XCIhbGV2ZWxQZXJtaXNzaW9ucy5sZW5ndGhcIiBjbGFzcz1cInBlcm1pc3Npb25zXCI+XG5cbiAgICAgICAgICAgIDxmcy1saXN0IFtjb25maWddPVwibGlzdENvbmZpZ1wiPlxuICAgICAgICAgICAgICA8ZnMtbGlzdC1jb2x1bW4gdGl0bGU9XCJQZXJtaXNzaW9uc1wiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBjb2xzcGFuPVwiMlwiIGZzLWxpc3QtZ3JvdXAtY2VsbCBsZXQtcm93PVwicm93XCIgY2xhc3M9XCJwZXJtaXNzaW9uLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICA8c21hbGw+PGI+e3tyb3cuY2F0ZWdvcnkgfHwgJ0dlbmVyYWwnfX08L2I+PC9zbWFsbD5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWNlbGwgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlcm1pc3Npb25cIj57eyByb3cubmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uIHNtYWxsXCI+e3sgcm93LmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9mcy1saXN0LWNvbHVtbj5cbiAgICAgICAgICAgICAgPGZzLWxpc3QtY29sdW1uIHRpdGxlPVwiQWNjZXNzXCIgd2lkdGg9XCIxJVwiIGNsYXNzPVwiYWNjZXNzXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicGVybWlzc2lvblwiIGxldC1wZXJtaXNzaW9uPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImFjbFJvbGUuYWxsUGVybWlzc2lvbnM7IGVsc2UgZWxzZUFsbFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBpbmRleGVkQWNjZXNzZXNbYWNsUm9sZS5wZXJtaXNzaW9uc1twZXJtaXNzaW9uLnZhbHVlXV0gfX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZUFsbD5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImFjbFJvbGUucGVybWlzc2lvbnNbcGVybWlzc2lvbi52YWx1ZV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEhYWNsUm9sZS5wcm90ZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZnNGb3JtUmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJhY2Nlc3Mte3sgcGVybWlzc2lvbi52YWx1ZSB9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWNjZXNzIG9mIEFjbFJvbGVBY2Nlc3Nlc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYWNjZXNzLnZhbHVlID09PSAwIHx8IHBlcm1pc3Npb24uYWNjZXNzZXMuaW5kZXhPZihhY2Nlc3MudmFsdWUpICE9PSAtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImFjY2Vzcy52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYWNjZXNzLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L2ZzLWxpc3QtY29sdW1uPlxuICAgICAgICAgICAgPC9mcy1saXN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbWF0LWRpYWxvZy1jb250ZW50PlxuICAgICAgPG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjb2xvcj1cInByaW1hcnlcIj57eyBhY2xSb2xlLmlkID8gJ1NhdmUnIDogJ0NyZWF0ZScgfX08L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cIm51bGxcIiB0eXBlPVwiYnV0dG9uXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9mcy1kaWFsb2c+XG48L2Zvcm0+XG4iXX0=
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLXJvbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2FjbC1yb2xlL2FjbC1yb2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9hY2wtcm9sZS9hY2wtcm9sZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUdOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVVuRSxNQUFNLE9BQU8sa0JBQWtCO0lBdUI3QixZQUM0QyxLQUFVLEVBQ25DLGNBQStCLEVBQy9CLFVBQTRDLEVBQzVDLFFBQW1CLEVBQzVCLE1BQXlCO1FBSlMsVUFBSyxHQUFMLEtBQUssQ0FBSztRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDL0IsZUFBVSxHQUFWLFVBQVUsQ0FBa0M7UUFDNUMsYUFBUSxH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QUFrQixrQkF3Qm5CLGVBQWU7b0dBeEJkLGtCQUFrQiwwRkFFbEIsZUFBZSxnRENoQzVCLCt5TkF3SkE7NEZEMUhhLGtCQUFrQjtrQkFMOUIsU0FBUzttQkFBQztvQkFDVCxXQUFXLEVBQUUsMkJBQTJCO29CQUN4QyxTQUFTLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDeEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzswQkF5QkksTUFBTTsyQkFBQyxlQUFlOzZKQXJCbEIsSUFBSTtzQkFEVixTQUFTO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBBY2xSb2xlQWNjZXNzZXMgfSBmcm9tICcuLy4uLy4uL2NvbnN0cy9hY2wtcm9sZS1hY2Nlc3Nlcyc7XG5pbXBvcnQgeyBBY2xSb2xlIH0gZnJvbSAnLi8uLi8uLi9pbnRlcmZhY2VzL2FjbC1yb2xlJztcbmltcG9ydCB7IHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGc01lc3NhZ2UgfSBmcm9tICdAZmlyZXN0aXRjaC9tZXNzYWdlJztcbmltcG9ydCB7IGxpc3QgfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuaW1wb3J0IHsgRnNMaXN0Q29tcG9uZW50LCBGc0xpc3RDb25maWcgfSBmcm9tICdAZmlyZXN0aXRjaC9saXN0JztcblxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGc0FwcEFjbFNlcnZpY2UgfSBmcm9tICcuLy4uLy4uL3NlcnZpY2VzL2FwcC1hY2wuc2VydmljZSc7XG5pbXBvcnQgeyBSb2xlQ29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNYXRTZWxlY3RDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuXG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vYWNsLXJvbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2wtcm9sZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNBY2xSb2xlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBWaWV3Q2hpbGQoRnNMaXN0Q29tcG9uZW50KSBcbiAgcHVibGljIGxpc3Q6IEZzTGlzdENvbXBvbmVudDtcblxuICBwdWJsaWMgYWNsUm9sZTogQWNsUm9sZSA9IG51bGw7XG4gIHB1YmxpYyBlbnZpcm9ubWVudDtcbiAgcHVibGljIHBlcm1pc3Npb25zOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgbGlzdENvbmZpZzogRnNMaXN0Q29uZmlnO1xuICBwdWJsaWMgbGV2ZWxQZXJtaXNzaW9ucyA9IFtdO1xuICBwdWJsaWMgQWNsUm9sZUFjY2Vzc2VzID0gQWNsUm9sZUFjY2Vzc2VzO1xuICBwdWJsaWMgaW5kZXhlZEFjY2Vzc2VzID0ge307XG4gIHB1YmxpYyBhY2xMZXZlbHM6IGFueVtdID0gW107XG4gIHB1YmxpYyBpbmRleGVkQWNsTGV2ZWxzID0ge307XG4gIHB1YmxpYyBvbmx5RnVsbEFjY2VzcyA9IGZhbHNlO1xuICBwdWJsaWMgQWNsTGV2ZWxzID0ge307XG4gIHB1YmxpYyByb2xlQ29uZmlnczogUm9sZUNvbmZpZ1tdID0gW107XG4gIHB1YmxpYyBhY2xSb2xlQ29uZmlnVmFsdWVzID0ge307XG4gIHB1YmxpYyBhY2xSb2xlUGVybWlzc2lvbnMgPSB7fTtcbiAgcHVibGljIGxvYWRSb2xlQ29uZmlnczogKGFjbFJvbGU6IEFjbFJvbGUsIHF1ZXJ5KSA9PiBPYnNlcnZhYmxlPFJvbGVDb25maWdbXT47XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIHJlYWRvbmx5IF9kYXRhOiBhbnksXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYXBwQWNsU2VydmljZTogRnNBcHBBY2xTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEZzQWNsUm9sZUNvbXBvbmVudD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbWVzc2FnZTogRnNNZXNzYWdlLFxuICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHsgICAgICBcbiAgICBmb3JrSm9pbihcbiAgICAgIHRoaXMuZ2V0Um9sZSgpLFxuICAgICAgdGhpcy5fYXBwQWNsU2VydmljZS5nZXRQZXJtaXNzaW9ucygpLFxuICAgIClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChbXG4gICAgICAgIGFjbFJvbGUsXG4gICAgICAgIGFjbFBlcm1pc3Npb25zLFxuICAgICAgXSkgPT4ge1xuXG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBhY2xQZXJtaXNzaW9ucztcbiAgICAgICAgdGhpcy5hY2xMZXZlbHMgPSB0aGlzLl9kYXRhLmFjbExldmVscztcblxuICAgICAgICB0aGlzLmluZGV4ZWRBY2xMZXZlbHMgPSBsaXN0KHRoaXMuYWNsTGV2ZWxzLCAnbmFtZScsICd2YWx1ZScpO1xuICAgICAgICB0aGlzLmluZGV4ZWRBY2Nlc3NlcyA9IGxpc3QoQWNsUm9sZUFjY2Vzc2VzLCAnbmFtZScsICd2YWx1ZScpO1xuXG4gICAgICAgIHRoaXMuYWNsUm9sZSA9IHtcbiAgICAgICAgICAuLi57XG4gICAgICAgICAgICBhY2xQZXJtaXNzaW9uczogW10sXG4gICAgICAgICAgICBhbGxQZXJtaXNzaW9uczogdHJ1ZSxcbiAgICAgICAgICAgIGFjbFJvbGVDb25maWdzOiBbXSxcbiAgICAgICAgICAgIHBlcm1pc3Npb25zOiB7fSxcbiAgICAgICAgICAgIGxldmVsOiB0aGlzLmFjbExldmVsc1swXS52YWx1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC4uLmFjbFJvbGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5hY2xSb2xlQ29uZmlnVmFsdWVzID0gKGFjbFJvbGUuYWNsUm9sZUNvbmZpZ3MgfHwgW10pXG4gICAgICAgICAgLnJlZHVjZSgoYWNjdW0sIGFjbFJvbGVDb25maWcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmFjY3VtLFxuICAgICAgICAgICAgICBbYWNsUm9sZUNvbmZpZy5uYW1lXTogYWNsUm9sZUNvbmZpZy52YWx1ZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LCB7fSk7XG5cbiAgICAgICAgaWYgKHRoaXMuYWNsUm9sZS5pZCkge1xuICAgICAgICAgIHRoaXMucGVybWlzc2lvbnMuZm9yRWFjaCgocGVybWlzc2lvbikgPT4ge1xuICAgICAgICAgICAgbGV0IGFjY2VzcyA9IDA7XG5cbiAgICAgICAgICAgIGNvbnN0IGFjbFBlcm1pc3Npb24gPSB0aGlzLmFjbFJvbGUuYWNsUGVybWlzc2lvbnMuZmluZCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gaXRlbS5wZXJtaXNzaW9uID09PSBwZXJtaXNzaW9uLnZhbHVlO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmIChhY2xQZXJtaXNzaW9uKSB7XG4gICAgICAgICAgICAgIGFjY2VzcyA9IGFjbFBlcm1pc3Npb24uYWNjZXNzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmFjbFJvbGVQZXJtaXNzaW9uc1twZXJtaXNzaW9uLnZhbHVlXSA9IGFjY2VzcztcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmFjbFJvbGUuYWxsUGVybWlzc2lvbnMpIHtcbiAgICAgICAgICB0aGlzLl9hcHBseU1heFBlcm1pc3Npb25BY2Nlc3MoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3VwZGF0ZVBlcm1pc3Npb25zKCk7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVJvbGVDb25maWdzKCk7XG5cbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMubGlzdENvbmZpZyA9IHtcbiAgICAgIHN0YXR1czogZmFsc2UsXG4gICAgICBwYWdpbmc6IGZhbHNlLFxuICAgICAgbm9SZXN1bHRzOiB7XG4gICAgICAgIG1lc3NhZ2U6ICcnLFxuICAgICAgfSxcbiAgICAgIGdyb3VwOiB7XG4gICAgICAgIGluaXRpYWxFeHBhbmQ6IHRydWUsXG4gICAgICAgIGdyb3VwQnk6IChkYXRhKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0sXG4gICAgICAgIGNvbXBhcmVCeTogKGRhdGEpID0+IHtcbiAgICAgICAgICByZXR1cm4gZGF0YS5jYXRlZ29yeSB8fCAnR2VuZXJhbCc7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZmV0Y2g6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIG9mKHtcbiAgICAgICAgICBkYXRhOiB0aGlzLmxldmVsUGVybWlzc2lvbnMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICAgICAgYSA9IGEubmFtZS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICAgICAgYiA9IGIubmFtZS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICAgICAgaWYgKGEgPCBiKSB7XG4gICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYSA+IGIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBidWxrQ2hhbmdlKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UsIGdyb3VwQ2hpbGRyZW4sIGdyb3VwKTogdm9pZCB7ICAgIFxuICAgIGdyb3VwQ2hpbGRyZW5cbiAgICAuZm9yRWFjaCgocGVybWlzc2lvbikgPT4ge1xuICAgICAgY29uc3QgYWNjZXNzID0gcGVybWlzc2lvbi5hY2Nlc3Nlc1xuICAgICAgICAuZmluZCgoYWNjZXNzKSA9PiBldmVudC52YWx1ZSA9PT0gYWNjZXNzKTtcblxuICAgICAgaWYoYWNjZXNzIHx8ICFldmVudC52YWx1ZSkge1xuICAgICAgICB0aGlzLmFjbFJvbGVQZXJtaXNzaW9uc1twZXJtaXNzaW9uLnZhbHVlXSA9IGV2ZW50LnZhbHVlO1xuICAgICAgfSAgICAgIFxuICAgIH0pO1xuXG4gICAgZXZlbnQuc291cmNlLndyaXRlVmFsdWUobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgbGV2ZWxDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlUGVybWlzc2lvbnMoKTtcbiAgICB0aGlzLl91cGRhdGVSb2xlQ29uZmlncygpO1xuICAgIHRoaXMubGlzdC5yZWxvYWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSb2xlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKCF0aGlzLl9kYXRhLmFjbFJvbGUuaWQpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLl9kYXRhLmFjbFJvbGUpO1xuICAgIH1cblxuICAgIGNvbnN0IHF1ZXJ5OiBhbnkgPSB7XG4gICAgICBhY2xQZXJtaXNzaW9uczogdHJ1ZSxcbiAgICAgIGFjbFJvbGVDb25maWdzOiB0cnVlLFxuICAgIH07XG5cbiAgICBpZiAoIXRoaXMuZW52aXJvbm1lbnQpIHtcbiAgICAgIHF1ZXJ5LmVudmlyb25tZW50SWQgPSBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9kYXRhLmxvYWRBY2xSb2xlKHRoaXMuX2RhdGEuYWNsUm9sZSwgcXVlcnkpO1xuICB9XG5cbiAgcHVibGljIHNhdmUgPSAoKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcbiAgICBjb25zdCBhY2xSb2xlQ29uZmlncyA9IHRoaXMucm9sZUNvbmZpZ3NcbiAgICAgIC5tYXAoKHJvbGVDb25maWcpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBuYW1lOiByb2xlQ29uZmlnLm5hbWUsXG4gICAgICAgICAgdmFsdWU6IHRoaXMuYWNsUm9sZUNvbmZpZ1ZhbHVlc1tyb2xlQ29uZmlnLm5hbWVdLFxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIGNvbnN0IGFjbFJvbGUgPSB7XG4gICAgICAuLi50aGlzLmFjbFJvbGUsXG4gICAgICBwZXJtaXNzaW9uczogdGhpcy5sZXZlbFBlcm1pc3Npb25zLm1hcCgocGVybWlzc2lvbikgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHZhbHVlOiBwZXJtaXNzaW9uLnZhbHVlLFxuICAgICAgICAgIGFjY2VzczogdGhpcy5hY2xSb2xlUGVybWlzc2lvbnNbcGVybWlzc2lvbi52YWx1ZV0gfHwgMCxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICAgYWNsUm9sZUNvbmZpZ3MsXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLl9kYXRhLnNhdmVBY2xSb2xlKGFjbFJvbGUpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMuX21lc3NhZ2Uuc3VjY2VzcygnU2F2ZWQgQ2hhbmdlcycpO1xuICAgICAgICAgIHRoaXMuY2xvc2UocmVzcG9uc2UpO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoZGF0YTogYW55ID0gbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZShkYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBhbGxQZXJtaXNzaW9uc0NoYW5nZShhbGw6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVQZXJtaXNzaW9ucygpO1xuICAgIGlmIChhbGwpIHtcbiAgICAgIHRoaXMuX2FwcGx5TWF4UGVybWlzc2lvbkFjY2VzcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVBlcm1pc3Npb25zKCk6IHZvaWQge1xuICAgIHRoaXMubGV2ZWxQZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMuZmlsdGVyKChwZXJtaXNzaW9uKSA9PiB7XG4gICAgICByZXR1cm4gcGVybWlzc2lvbi5sZXZlbHMuc29tZSgoaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4gaXRlbSA9PT0gdGhpcy5hY2xSb2xlLmxldmVsO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVSb2xlQ29uZmlncygpOiB2b2lkIHtcbiAgICBpZih0aGlzLl9kYXRhLmxvYWRSb2xlQ29uZmlncykge1xuICAgICAgdGhpcy5fZGF0YS5sb2FkUm9sZUNvbmZpZ3MoKVxuICAgICAgLnN1YnNjcmliZSgocm9sZUNvbmZpZ3M6IFJvbGVDb25maWdbXSkgPT4ge1xuICAgICAgICB0aGlzLnJvbGVDb25maWdzID0gcm9sZUNvbmZpZ3NcbiAgICAgICAgICAuZmlsdGVyKChyb2xlQ29uZmlnKSA9PiByb2xlQ29uZmlnLmxldmVsID09PSB0aGlzLmFjbFJvbGUubGV2ZWwpO1xuICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5TWF4UGVybWlzc2lvbkFjY2VzcygpOiB2b2lkIHtcbiAgICB0aGlzLnBlcm1pc3Npb25zLmZvckVhY2goKHBlcm1pc3Npb24pID0+IHtcbiAgICAgIHRoaXMuYWNsUm9sZVBlcm1pc3Npb25zW3Blcm1pc3Npb24udmFsdWVdID0gTWF0aC5tYXgoLi4ucGVybWlzc2lvbi5hY2Nlc3Nlcyk7XG4gICAgfSk7XG4gIH1cblxufVxuIiwiPGZvcm0gZnNGb3JtIFtzdWJtaXRdPVwic2F2ZVwiPlxuICA8ZnMtZGlhbG9nPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY2xSb2xlXCI+XG4gICAgICA8ZGl2IG1hdC1kaWFsb2ctdGl0bGU+e3sgYWNsUm9sZS5pZCA/ICdFZGl0JyA6ICdDcmVhdGUnIH19IFJvbGU8L2Rpdj5cbiAgICAgIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dC5sdC1tZD1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiNDBweFwiIGZ4TGF5b3V0R2FwLmx0LW1kPVwiMFwiPlxuICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZsZXggZnhGbGV4Lmx0LW1kPVwiMFwiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8aW5wdXQgXG4gICAgICAgICAgICAgICAgbWF0SW5wdXQgXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJOYW1lXCIgXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhY2xSb2xlLm5hbWVcIiBcbiAgICAgICAgICAgICAgICBuYW1lPVwibmFtZVwiIFxuICAgICAgICAgICAgICAgIGZzRm9ybVJlcXVpcmVkPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICA8aW5wdXQgXG4gICAgICAgICAgICAgICAgbWF0SW5wdXQgXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJEZXNjcmlwdGlvblwiIFxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYWNsUm9sZS5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgbmFtZT1cImRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPiAgICAgICAgICAgIFxuXG4gICAgICAgICAgICA8ZnMtbGFiZWwtZmllbGQgKm5nSWY9XCJhY2xSb2xlLmlkIHx8IGFjbExldmVscy5sZW5ndGggPT09IDE7IGVsc2UgbGV2ZWxzXCI+XG4gICAgICAgICAgICAgIDxmcy1sYWJlbD5MZXZlbDwvZnMtbGFiZWw+XG4gICAgICAgICAgICAgIHt7aW5kZXhlZEFjbExldmVsc1thY2xSb2xlLmxldmVsXX19XG4gICAgICAgICAgICA8L2ZzLWxhYmVsLWZpZWxkPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xldmVscz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxldmVsXCI+XG4gICAgICAgICAgICAgICAgPGZzLXJhZGlvLWdyb3VwXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImFjbFJvbGUubGV2ZWxcIlxuICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwibGV2ZWxDaGFuZ2UoKVwiXG4gICAgICAgICAgICAgICAgICBmc0Zvcm1SZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgbGFiZWw9XCJMZXZlbFwiXG4gICAgICAgICAgICAgICAgICBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJsZXZlbFwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgYWNsTGV2ZWxzXCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiISFhY2xSb2xlLnByb3RlY3RlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZnMtcmFkaW8tZ3JvdXA+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgPGZzLWxhYmVsLWZpZWxkICpuZ0lmPVwibGV2ZWxQZXJtaXNzaW9ucy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgPGZzLWxhYmVsPkFsbCBQZXJtaXNzaW9uczwvZnMtbGFiZWw+XG4gICAgICAgICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYWNsUm9sZS5hbGxQZXJtaXNzaW9uc1wiXG4gICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJhbGxQZXJtaXNzaW9uc0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhIWFjbFJvbGUucHJvdGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJhbGxQZXJtaXNzaW9uc1wiPlxuICAgICAgICAgICAgICAgIEVuYWJsZVxuICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XG5cbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiAqbmdGb3I9XCJsZXQgcm9sZUNvbmZpZyBvZiByb2xlQ29uZmlnc1wiPlxuICAgICAgICAgICAgICA8ZnMtbGFiZWwtZmllbGQgKm5nSWY9XCJyb2xlQ29uZmlnLnR5cGUgPT09ICdjaGVja2JveCdcIj5cbiAgICAgICAgICAgICAgICA8ZnMtbGFiZWw+e3tyb2xlQ29uZmlnLmxhYmVsfX08L2ZzLWxhYmVsPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhY2xSb2xlQ29uZmlnVmFsdWVzW3JvbGVDb25maWcubmFtZV1cIlxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJyb2xlQ29uZmlnLm5hbWVcIj5cbiAgICAgICAgICAgICAgICAgIEVuYWJsZVxuICAgICAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDxmcy1sYWJlbC1tZXNzYWdlPlxuICAgICAgICAgICAgICAgICAgPG1hdC1oaW50Pnt7cm9sZUNvbmZpZy5kZXNjcmlwdGlvbn19PC9tYXQtaGludD5cbiAgICAgICAgICAgICAgICA8L2ZzLWxhYmVsLW1lc3NhZ2U+XG4gICAgICAgICAgICAgIDwvZnMtbGFiZWwtZmllbGQ+XG5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwicm9sZUNvbmZpZy50eXBlID09PSAnc2VsZWN0J1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImFjbFJvbGVDb25maWdWYWx1ZXNbcm9sZUNvbmZpZy5uYW1lXVwiXG4gICAgICAgICAgICAgICAgICBbbmFtZV09XCJyb2xlQ29uZmlnLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJvbGVDb25maWcucmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInJvbGVDb25maWcubGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHJvbGVDb25maWcudmFsdWVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPG1hdC1oaW50Pnt7cm9sZUNvbmZpZy5kZXNjcmlwdGlvbn19PC9tYXQtaGludD5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleD1cIjY1XCIgZnhGbGV4Lmx0LW1kPVwiMFwiICpuZ0lmPVwiYWNsUm9sZS5sZXZlbFwiIFtoaWRkZW5dPVwiIWxldmVsUGVybWlzc2lvbnMubGVuZ3RoXCIgY2xhc3M9XCJwZXJtaXNzaW9uc1wiPlxuICAgICAgICAgICAgPGZzLWxpc3QgW2NvbmZpZ109XCJsaXN0Q29uZmlnXCI+XG4gICAgICAgICAgICAgIDxmcy1saXN0LWNvbHVtbiB0aXRsZT1cIlBlcm1pc3Npb25zXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtZ3JvdXAtY2VsbCBsZXQtcm93PVwicm93XCIgY2xhc3M9XCJwZXJtaXNzaW9uLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICA8c21hbGw+PGI+e3tyb3cuY2F0ZWdvcnkgfHwgJ0dlbmVyYWwnfX08L2I+PC9zbWFsbD5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPiAgXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVybWlzc2lvblwiPnt7IHJvdy5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb24gc21hbGxcIj57eyByb3cuZGVzY3JpcHRpb24gfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L2ZzLWxpc3QtY29sdW1uPlxuICAgICAgICAgICAgICA8ZnMtbGlzdC1jb2x1bW4gdGl0bGU9XCJBY2Nlc3NcIiB3aWR0aD1cIjElXCIgY2xhc3M9XCJhY2Nlc3NcIj4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWdyb3VwLWNlbGwgbGV0LXJvdz1cInJvd1wiIGxldC1ncm91cD1cImdyb3VwXCIgbGV0LWdyb3VwQ2hpbGRyZW49XCJncm91cENoaWxkcmVuXCIgY2xhc3M9XCJwZXJtaXNzaW9uLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWFjbFJvbGUuYWxsUGVybWlzc2lvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cImdyb3VwLmJ1bGtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cImJ1bGtDaGFuZ2UoJGV2ZW50LCBncm91cENoaWxkcmVuLCBncm91cClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCInYnVsay0nICsgcm93LmNhdGVnb3J5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY2Nlc3Mgb2YgQWNsUm9sZUFjY2Vzc2VzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiYWNjZXNzLnZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYWNjZXNzLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJwZXJtaXNzaW9uXCIgbGV0LXBlcm1pc3Npb249XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWNsUm9sZS5hbGxQZXJtaXNzaW9uczsgZWxzZSBlbHNlQWxsXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGluZGV4ZWRBY2Nlc3Nlc1thY2xSb2xlUGVybWlzc2lvbnNbcGVybWlzc2lvbi52YWx1ZV1dIH19XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VBbGw+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImFjbFJvbGVQZXJtaXNzaW9uc1twZXJtaXNzaW9uLnZhbHVlXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhIWFjbFJvbGUucHJvdGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImFjY2Vzcy17eyBwZXJtaXNzaW9uLnZhbHVlIH19XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY2Nlc3Mgb2YgQWNsUm9sZUFjY2Vzc2VzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFjY2Vzcy52YWx1ZSA9PT0gMCB8fCBwZXJtaXNzaW9uLmFjY2Vzc2VzLmluZGV4T2YoYWNjZXNzLnZhbHVlKSAhPT0gLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImFjY2Vzcy52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGFjY2Vzcy5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9mcy1saXN0LWNvbHVtbj5cbiAgICAgICAgICAgIDwvZnMtbGlzdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1kaWFsb2ctY29udGVudD5cbiAgICAgIDxtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY29sb3I9XCJwcmltYXJ5XCI+e3sgYWNsUm9sZS5pZCA/ICdTYXZlJyA6ICdDcmVhdGUnIH19PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJudWxsXCIgdHlwZT1cImJ1dHRvblwiPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZnMtZGlhbG9nPlxuPC9mb3JtPlxuIl19
@@ -22,7 +22,7 @@ export class FsAclRolePopoverComponent {
22
22
  }
23
23
  }
24
24
  FsAclRolePopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsAclRolePopoverComponent, deps: [{ token: i1.FsAppAclService }], target: i0.ɵɵFactoryTarget.Component });
25
- FsAclRolePopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsAclRolePopoverComponent, selector: "fs-acl-role-popover", inputs: { aclRole: "aclRole", objectName: "objectName" }, ngImport: i0, template: "\n<fs-popover [template]=\"popover\" maxWidth=\"400\">\n <ng-content></ng-content>\n</fs-popover>\n\n<ng-template #popover>\n <div class=\"name small\">{{aclRole.name}}<span *ngIf=\"objectName\">: {{objectName}}</span></div>\n\n <ng-container *ngIf=\"permissions.length; else nonePermission\">\n <div *ngFor=\"let permission of permissions\" class=\"permission\">\n <div>{{permission.name}}</div>\n <div class=\"small\">{{permission.description}}</div>\n </div>\n </ng-container>\n\n <ng-template #nonePermission>\n None\n </ng-template>\n</ng-template>\n", styles: [".name{padding-bottom:10px}.permission+.permission{padding-top:5px}:host{cursor:pointer}\n"], components: [{ type: i2.FsPopoverComponent, selector: "fs-popover", inputs: ["template", "data", "leaveDelay", "showDelay", "maxWidth", "wrapperClass", "autoShow", "autoClose", "loadingDiameter", "loading", "indication", "position", "theme", "size", "trigger"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
25
+ FsAclRolePopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsAclRolePopoverComponent, selector: "fs-acl-role-popover", inputs: { aclRole: "aclRole", objectName: "objectName" }, ngImport: i0, template: "\n<fs-popover [template]=\"popover\" [maxWidth]=\"400\">\n <ng-content></ng-content>\n</fs-popover>\n\n<ng-template #popover>\n <div class=\"name small\">{{aclRole.name}}<span *ngIf=\"objectName\">: {{objectName}}</span></div>\n\n <ng-container *ngIf=\"permissions.length; else nonePermission\">\n <div *ngFor=\"let permission of permissions\" class=\"permission\">\n <div>{{permission.name}}</div>\n <div class=\"small\">{{permission.description}}</div>\n </div>\n </ng-container>\n\n <ng-template #nonePermission>\n None\n </ng-template>\n</ng-template>\n", styles: [".name{padding-bottom:10px}.permission+.permission{padding-top:5px}:host{cursor:pointer}\n"], components: [{ type: i2.FsPopoverComponent, selector: "fs-popover", inputs: ["template", "data", "leaveDelay", "showDelay", "maxWidth", "wrapperClass", "autoShow", "autoClose", "loadingDiameter", "loading", "indication", "position", "theme", "size", "trigger"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsAclRolePopoverComponent, decorators: [{
27
27
  type: Component,
28
28
  args: [{
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
35
35
  }], objectName: [{
36
36
  type: Input
37
37
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLXJvbGUtcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYWNsLXJvbGUtcG9wb3Zlci9hY2wtcm9sZS1wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9hY2wtcm9sZS1wb3BvdmVyL2FjbC1yb2xlLXBvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7OztBQU9uRSxNQUFNLE9BQU8seUJBQXlCO0lBT3BDLFlBQ21CLGNBQStCO1FBQS9CLG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtRQUgzQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztJQUlyQixDQUFDO0lBRUcsUUFBUTtRQUNiLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBRTFELElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFO2FBQ2pDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDeEMsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQzFDLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsS0FBSyxDQUFDO2dCQUN6QyxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzt1SEF0QlUseUJBQXlCOzJHQUF6Qix5QkFBeUIscUhDUnRDLHNrQkFtQkE7NEZEWGEseUJBQXlCO2tCQUxyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFdBQVcsRUFBRSxtQ0FBbUM7b0JBQ2hELFNBQVMsRUFBRSxDQUFDLG1DQUFtQyxDQUFDO2lCQUNqRDtzR0FHVSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnNBcHBBY2xTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9hcHAtYWNsLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1hY2wtcm9sZS1wb3BvdmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjbC1yb2xlLXBvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2wtcm9sZS1wb3BvdmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRnNBY2xSb2xlUG9wb3ZlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgYWNsUm9sZTtcbiAgQElucHV0KCkgb2JqZWN0TmFtZTtcblxuICBwdWJsaWMgcGVybWlzc2lvbnMgPSBbXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYXBwQWNsU2VydmljZTogRnNBcHBBY2xTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGFjbFJvbGVQZXJtaXNzaW9ucyA9IHRoaXMuYWNsUm9sZS5wZXJtaXNzaW9ucyB8fCBbXTtcblxuICAgIHRoaXMuX2FwcEFjbFNlcnZpY2UuZ2V0UGVybWlzc2lvbnMoKVxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IHJlc3BvbnNlLmZpbHRlcihpdGVtID0+IHtcbiAgICAgICAgICByZXR1cm4gYWNsUm9sZVBlcm1pc3Npb25zLnNvbWUocGVybWlzc2lvbiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS52YWx1ZSA9PT0gcGVybWlzc2lvbi52YWx1ZTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iLCJcbjxmcy1wb3BvdmVyIFt0ZW1wbGF0ZV09XCJwb3BvdmVyXCIgbWF4V2lkdGg9XCI0MDBcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9mcy1wb3BvdmVyPlxuXG48bmctdGVtcGxhdGUgI3BvcG92ZXI+XG4gIDxkaXYgY2xhc3M9XCJuYW1lIHNtYWxsXCI+e3thY2xSb2xlLm5hbWV9fTxzcGFuICpuZ0lmPVwib2JqZWN0TmFtZVwiPjoge3tvYmplY3ROYW1lfX08L3NwYW4+PC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBlcm1pc3Npb25zLmxlbmd0aDsgZWxzZSBub25lUGVybWlzc2lvblwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHBlcm1pc3Npb24gb2YgcGVybWlzc2lvbnNcIiBjbGFzcz1cInBlcm1pc3Npb25cIj5cbiAgICAgIDxkaXY+e3twZXJtaXNzaW9uLm5hbWV9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNtYWxsXCI+e3twZXJtaXNzaW9uLmRlc2NyaXB0aW9ufX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLXRlbXBsYXRlICNub25lUGVybWlzc2lvbj5cbiAgICBOb25lXG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLXJvbGUtcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYWNsLXJvbGUtcG9wb3Zlci9hY2wtcm9sZS1wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9hY2wtcm9sZS1wb3BvdmVyL2FjbC1yb2xlLXBvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7OztBQU9uRSxNQUFNLE9BQU8seUJBQXlCO0lBT3BDLFlBQ21CLGNBQStCO1FBQS9CLG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtRQUgzQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztJQUlyQixDQUFDO0lBRUcsUUFBUTtRQUNiLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBRTFELElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFO2FBQ2pDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDeEMsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQzFDLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsS0FBSyxDQUFDO2dCQUN6QyxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzt1SEF0QlUseUJBQXlCOzJHQUF6Qix5QkFBeUIscUhDUnRDLHdrQkFtQkE7NEZEWGEseUJBQXlCO2tCQUxyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFdBQVcsRUFBRSxtQ0FBbUM7b0JBQ2hELFNBQVMsRUFBRSxDQUFDLG1DQUFtQyxDQUFDO2lCQUNqRDtzR0FHVSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnNBcHBBY2xTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9hcHAtYWNsLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1hY2wtcm9sZS1wb3BvdmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjbC1yb2xlLXBvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2wtcm9sZS1wb3BvdmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRnNBY2xSb2xlUG9wb3ZlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgYWNsUm9sZTtcbiAgQElucHV0KCkgb2JqZWN0TmFtZTtcblxuICBwdWJsaWMgcGVybWlzc2lvbnMgPSBbXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYXBwQWNsU2VydmljZTogRnNBcHBBY2xTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGFjbFJvbGVQZXJtaXNzaW9ucyA9IHRoaXMuYWNsUm9sZS5wZXJtaXNzaW9ucyB8fCBbXTtcblxuICAgIHRoaXMuX2FwcEFjbFNlcnZpY2UuZ2V0UGVybWlzc2lvbnMoKVxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IHJlc3BvbnNlLmZpbHRlcihpdGVtID0+IHtcbiAgICAgICAgICByZXR1cm4gYWNsUm9sZVBlcm1pc3Npb25zLnNvbWUocGVybWlzc2lvbiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS52YWx1ZSA9PT0gcGVybWlzc2lvbi52YWx1ZTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iLCJcbjxmcy1wb3BvdmVyIFt0ZW1wbGF0ZV09XCJwb3BvdmVyXCIgW21heFdpZHRoXT1cIjQwMFwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2ZzLXBvcG92ZXI+XG5cbjxuZy10ZW1wbGF0ZSAjcG9wb3Zlcj5cbiAgPGRpdiBjbGFzcz1cIm5hbWUgc21hbGxcIj57e2FjbFJvbGUubmFtZX19PHNwYW4gKm5nSWY9XCJvYmplY3ROYW1lXCI+OiB7e29iamVjdE5hbWV9fTwvc3Bhbj48L2Rpdj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwicGVybWlzc2lvbnMubGVuZ3RoOyBlbHNlIG5vbmVQZXJtaXNzaW9uXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgcGVybWlzc2lvbiBvZiBwZXJtaXNzaW9uc1wiIGNsYXNzPVwicGVybWlzc2lvblwiPlxuICAgICAgPGRpdj57e3Blcm1pc3Npb24ubmFtZX19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic21hbGxcIj57e3Blcm1pc3Npb24uZGVzY3JpcHRpb259fTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgI25vbmVQZXJtaXNzaW9uPlxuICAgIE5vbmVcbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2ludGVyZmFjZXMvcm9sZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUm9sZUNvbmZpZyB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICB0eXBlPzogJ2NoZWNrYm94JyB8ICdzZWxlY3QnO1xuICB2YWx1ZXM/OiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZ31bXTtcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICBsZXZlbD86IHN0cmluZztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2ludGVyZmFjZXMvcm9sZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUm9sZUNvbmZpZyB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICB0eXBlPzogJ2NoZWNrYm94JyB8ICdzZWxlY3QnO1xuICB2YWx1ZXM/OiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZ31bXTtcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICBsZXZlbD86IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG59XG4iXX0=