gamma-app-controller 2.0.2 → 2.0.3

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.
@@ -49,25 +49,25 @@ export class ApplicationCreateMenuComponent {
49
49
  ngOnInit() {
50
50
  let menuId = this.activatedRoute.snapshot.queryParams['menuId'];
51
51
  let contentType = this.activatedRoute.snapshot.queryParams['contentType'];
52
- if (contentType == "edit") {
52
+ if (menuId && contentType == "edit") {
53
53
  this.service.getAppMenuConfigById(menuId).subscribe({
54
54
  next: (data) => {
55
55
  this.menuObject = data;
56
56
  this.selectedQueryParamStr = (data['queryParams'] && data['queryParams']['pageId']) ? data['queryParams']['pageId'] : "";
57
57
  this.userOptionContainer = (data['permissions'] && data['permissions'].length !== 0) ? data['permissions'] : [];
58
58
  this.isContentType = true;
59
+ this.getParentMenuList();
59
60
  }, error: (err) => {
60
61
  }
61
62
  });
62
63
  }
63
- this.getParentMenuList();
64
64
  }
65
65
  getParentMenuList() {
66
66
  this.paparentMenuDatasource = [];
67
67
  this.service.listAppMenuConfigs().subscribe({
68
68
  next: (data) => {
69
69
  data.forEach(element => {
70
- if (element.type == "collapsable") {
70
+ if (element.type == "collapsable" || element.menuType == "parent") {
71
71
  let obj = {};
72
72
  obj = {
73
73
  parentMenuTid: element.parentMenuTid,
@@ -78,6 +78,7 @@ export class ApplicationCreateMenuComponent {
78
78
  this.paparentMenuDatasource.push(obj);
79
79
  }
80
80
  });
81
+ debugger;
81
82
  if (this.menuObject.menuId !== "" && this.menuObject.menuType == "parent") {
82
83
  const menu_object = this.paparentMenuDatasource.filter(menu => menu.menuId == this.menuObject.menuId);
83
84
  this.defaultSelectedParent = menu_object[0].menuId;
@@ -153,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
153
154
  type: Component,
154
155
  args: [{ selector: 'lib-application-create-menu', template: "<div class=\"flex flex-col flex-auto min-w-0\">\n\n <lib-common-header [pageTitle]=\"'Add Menu'\"></lib-common-header>\n\n <div class=\"p-4 w-full\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <h6 class=\"mb-2 text-lg tracking-tight text-gray-900\n dark:text-white border-b pb-3 flex items-center\">\n Basic Information\n <div class=\"ml-auto\">\n <button class=\"{{commonservice.btn_purple_md}}\" (click)=\"menuList()\">\n All Menu Items\n </button>\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <div class=\"flex flex-row\">\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Menu Type</div>\n <div class=\"\">\n <dx-select-box [items]=\"['child','parent']\" [(ngModel)]=\"menuObject.menuType\"\n (onValueChanged)=\"getMenuType($event)\"></dx-select-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Parent Menu</div>\n <div class=\"\">\n <dx-select-box [showClearButton]=\"true\" [value]=\"defaultSelectedParent\"\n (onValueChanged)=\"getMenuTidType($event)\" [items]=\"paparentMenuDatasource\"\n valueExpr=\"menuId\" displayExpr=\"title\"></dx-select-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Parent Menu TID</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.parentMenuTid\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-1/3\">\n <div class=\"text-md p-2 capitalize\">Child Menu TID</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.childMenuTid\"\n [value]=\"menuObject.childMenuTid\"></dx-text-box>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"ismenuContainer\">\n <div class=\"p-4 w-full\">\n <div\n class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n <h6 class=\"mb-2 text-lg tracking-tight text-gray-900\n dark:text-white border-b pb-3 flex items-center\">\n Item Information\n <div class=\"ml-auto\">\n\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <div class=\"flex flex-row\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Menu ID</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.menuId\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Title</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.title\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">subtitle</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.subtitle\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">Type</div>\n <div class=\"\">\n <dx-select-box [items]=\"['aside','basic','collapsable','divider','group','spacer']\"\n [(ngModel)]=\"menuObject.type\"></dx-select-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">tooltip</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.tooltip\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">link</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.link\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">fragment</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.fragment\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">target</div>\n <div class=\"\">\n <dx-select-box [items]=\"['_blank','_self','_parent','_top']\"\n [(ngModel)]=\"menuObject.target\"></dx-select-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">preserveFragment</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.preserveFragment\"></dx-text-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">queryParams</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"selectedQueryParamStr\"></dx-text-box>\n </div>\n </div>\n\n <div class=\"mx-2 w-full\">\n <div class=\"text-md p-2 capitalize\">icon</div>\n <div class=\"\">\n <dx-text-box [(ngModel)]=\"menuObject.icon\"></dx-text-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n\n <div class=\"mx-2 w-full\">\n <div class=\"m-10\">\n <dx-check-box [(ngModel)]=\"menuObject.children\" text=\"Children\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.externalLink\" text=\"External Link\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.active\" text=\"Active\"></dx-check-box>\n </div>\n </div>\n <div class=\"mx-2 w-full\">\n <div class=\"mt-10\">\n <dx-check-box [(ngModel)]=\"menuObject.disabled\" text=\"Disabled\"></dx-check-box>\n </div>\n </div>\n </div>\n <div class=\"flex flex-row mt-2\">\n\n <div class=\"mx-2 w-full\">\n <textarea id=\"message\" rows=\"7\"\n class=\"block p-2.5 w-full text-lg text-gray-900 bg-gray-50 rounded-lg border border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500\"\n placeholder=\"Write Menu Description\" [(ngModel)]=\"menuObject.description\"\n id=\"exampleTextarea\"></textarea>\n </div>\n\n </div>\n </div>\n\n </div>\n </div>\n\n\n <div class=\"p-4 w-full\">\n <div\n class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n\n\n <app-user-access [(userOptionContainer)]=\"userOptionContainer\">\n </app-user-access>\n\n <div class=\"flex flex-row justify-end mt-4 border-t mt-8 py-4\" *ngIf=\"!isContentType\">\n <div class=\"{{commonservice.btn_success_md}}\" (click)=\"submitNewMenu()\">Create Menu</div>\n </div>\n <div class=\"flex flex-row justify-end mt-4 border-t mt-8 py-4\" *ngIf=\"isContentType\">\n <div class=\"{{commonservice.btn_success_md}}\" (click)=\"updateMenu()\">Update Menu</div>\n </div>\n\n </div>\n </div>\n </ng-container>\n</div>" }]
155
156
  }], ctorParameters: function () { return [{ type: i1.CommonService }, { type: i2.ApplicationContentService }, { type: i3.ToastrService }, { type: i4.ActivatedRoute }, { type: i4.Router }]; } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tY3JlYXRlLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2FtbWEtYXBwLWNvbnRyb2xsZXIvc3JjL2xpYi9hcHBsaWNhdGlvbi1jb250cm9sbGVyL2FwcGxpY2F0aW9uLW1lbnUtY29udHJvbGxlci9hcHBsaWNhdGlvbi1jcmVhdGUtbWVudS9hcHBsaWNhdGlvbi1jcmVhdGUtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nYW1tYS1hcHAtY29udHJvbGxlci9zcmMvbGliL2FwcGxpY2F0aW9uLWNvbnRyb2xsZXIvYXBwbGljYXRpb24tbWVudS1jb250cm9sbGVyL2FwcGxpY2F0aW9uLWNyZWF0ZS1tZW51L2FwcGxpY2F0aW9uLWNyZWF0ZS1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFXbEQsTUFBTSxPQUFPLDhCQUE4QjtJQXFDekMsWUFDUyxhQUE0QixFQUMzQixPQUFrQyxFQUNsQyxjQUE2QixFQUM3QixjQUE4QixFQUM5QixNQUFjO1FBSmYsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDM0IsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFDbEMsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFdBQU0sR0FBTixNQUFNLENBQVE7UUF6Q3hCLGVBQVUsR0FBUTtZQUNoQixNQUFNLEVBQUUsRUFBRTtZQUNWLEtBQUssRUFBRSxFQUFFO1lBQ1QsUUFBUSxFQUFFLEVBQUU7WUFDWixJQUFJLEVBQUUsRUFBRTtZQUNSLE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLEtBQUs7WUFDZixZQUFZLEVBQUUsS0FBSztZQUNuQixXQUFX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Y0FBYyxDQUFDLENBQUM7YUFDbkU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDcEU7U0FDRjtJQUlILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUE7SUFFN0QsQ0FBQzs7MkhBMUtVLDhCQUE4QjsrR0FBOUIsOEJBQThCLG1FQ1gzQyw0Z1VBcU1NOzJGRDFMTyw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBJc0FjdGl2ZU1hdGNoT3B0aW9ucywgUGFyYW1zLCBRdWVyeVBhcmFtc0hhbmRsaW5nLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkNvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwbGljYXRpb24tY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFwcGxpY2F0aW9uLWNyZWF0ZS1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FwcGxpY2F0aW9uLWNyZWF0ZS1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXBwbGljYXRpb24tY3JlYXRlLW1lbnUuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uQ3JlYXRlTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG1lbnVPYmplY3Q6IGFueSA9IHtcbiAgICBtZW51SWQ6IFwiXCIsXG4gICAgdGl0bGU6IFwiXCIsXG4gICAgc3VidGl0bGU6IFwiXCIsXG4gICAgdHlwZTogXCJcIixcbiAgICBhY3RpdmU6IHRydWUsXG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIGV4dGVybmFsTGluazogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiXCIsXG4gICAgdG9vbHRpcDogXCJcIixcbiAgICBsaW5rOiBcIlwiLFxuICAgIGZyYWdtZW50OiBcIlwiLFxuICAgIHByZXNlcnZlRnJhZ21lbnQ6IFwiXCIsXG4gICAgcXVlcnlQYXJhbXM6IHt9LFxuICAgIHRhcmdldDogXCJcIixcbiAgICBpY29uOiBcIlwiLFxuICAgIC8vIGJhZGdlOiB7XG4gICAgLy8gICAgIHRpdGxlOiBcInN0cmluZ1wiLFxuICAgIC8vICAgICBjbGFzc2VzOiBcIlwiLFxuICAgIC8vIH0sXG4gICAgY2hpbGRyZW46IHRydWUsXG4gICAgdXJsOiBcIlwiLFxuICAgIG1lbnVUeXBlOiBcIlwiLFxuICAgIHBhcmVudE1lbnVUaWQ6IFwiXCIsXG4gICAgY2hpbGRNZW51VGlkOiBcIlwiLFxuICAgIG1lYXN1cmVzOiBbXVxuICB9XG5cbiAgaXNtZW51Q29udGFpbmVyID0gZmFsc2U7XG4gIGlzQ29udGVudFR5cGUgPSBmYWxzZTtcblxuICB1c2VyT3B0aW9uQ29udGFpbmVyOiBhbnkgPSBbXTtcblxuICBwYXBhcmVudE1lbnVEYXRhc291cmNlOiBhbnk7XG4gIGRlZmF1bHRTZWxlY3RlZFBhcmVudDogYW55O1xuICBzZWxlY3RlZFF1ZXJ5UGFyYW1TdHIgPSBcIlwiO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29tbW9uc2VydmljZTogQ29tbW9uU2VydmljZSxcbiAgICBwcml2YXRlIHNlcnZpY2U6IEFwcGxpY2F0aW9uQ29udGVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RyU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG5cbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBsZXQgbWVudUlkID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1snbWVudUlkJ107XG4gICAgbGV0IGNvbnRlbnRUeXBlID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1snY29udGVudFR5cGUnXTtcbiAgICBpZiAoY29udGVudFR5cGUgPT0gXCJlZGl0XCIpIHtcblxuICAgICAgdGhpcy5zZXJ2aWNlLmdldEFwcE1lbnVDb25maWdCeUlkKG1lbnVJZCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMubWVudU9iamVjdCA9IGRhdGE7XG4gICAgICAgICAgLy8gaWYgKGRhdGFbJ21lYXN1cmVzJ10gJiYgZGF0YVsnbWVhc3VyZXMnXS5sZW5ndGggIT09IDApXG4gICAgICAgICAgLy8gICBkYXRhWydtZWFzdXJlcyddLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgLy8gICAgIGxldCBhdHRfdmFsdWUgPSBlbGVtZW50LmF0dHJpYnV0ZVZhbHVlcy5qb2luKFwiLFwiKTtcbiAgICAgICAgICAvLyAgICAgZWxlbWVudC5hdHRyaWJ1dGVWYWx1ZXMgPSBhdHRfdmFsdWU7XG4gICAgICAgICAgLy8gICB9KTtcblxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRRdWVyeVBhcmFtU3RyID0gKGRhdGFbJ3F1ZXJ5UGFyYW1zJ10gJiYgZGF0YVsncXVlcnlQYXJhbXMnXVsncGFnZUlkJ10pID8gZGF0YVsncXVlcnlQYXJhbXMnXVsncGFnZUlkJ10gOiBcIlwiO1xuXG4gICAgICAgICAgdGhpcy51c2VyT3B0aW9uQ29udGFpbmVyID0gKGRhdGFbJ3Blcm1pc3Npb25zJ10gJiYgZGF0YVsncGVybWlzc2lvbnMnXS5sZW5ndGggIT09IDApID8gZGF0YVsncGVybWlzc2lvbnMnXSA6IFtdO1xuICAgICAgICAgIHRoaXMuaXNDb250ZW50VHlwZSA9IHRydWU7XG5cbiAgICAgICAgfSwgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgdGhpcy5nZXRQYXJlbnRNZW51TGlzdCgpO1xuICB9XG5cbiAgZ2V0UGFyZW50TWVudUxpc3QoKSB7XG4gICAgdGhpcy5wYXBhcmVudE1lbnVEYXRhc291cmNlID0gW107XG4gICAgdGhpcy5zZXJ2aWNlLmxpc3RBcHBNZW51Q29uZmlncygpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGRhdGEuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICBpZiAoZWxlbWVudC50eXBlID09IFwiY29sbGFwc2FibGVcIikge1xuICAgICAgICAgICAgbGV0IG9iaiA9IHt9O1xuICAgICAgICAgICAgb2JqID0ge1xuICAgICAgICAgICAgICBwYXJlbnRNZW51VGlkOiBlbGVtZW50LnBhcmVudE1lbnVUaWQsXG4gICAgICAgICAgICAgIHRpdGxlOiBlbGVtZW50LnRpdGxlLFxuICAgICAgICAgICAgICBtZW51SWQ6IGVsZW1lbnQubWVudUlkLFxuICAgICAgICAgICAgICBjaGlsZE1lbnVUaWQ6IGVsZW1lbnQuY2hpbGRNZW51VGlkLFxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnBhcGFyZW50TWVudURhdGFzb3VyY2UucHVzaChvYmopXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRoaXMubWVudU9iamVjdC5tZW51SWQgIT09IFwiXCIgJiYgdGhpcy5tZW51T2JqZWN0Lm1lbnVUeXBlID09IFwicGFyZW50XCIpIHtcbiAgICAgICAgICBjb25zdCBtZW51X29iamVjdCA9IHRoaXMucGFwYXJlbnRNZW51RGF0YXNvdXJjZS5maWx0ZXIobWVudSA9PiBtZW51Lm1lbnVJZCA9PSB0aGlzLm1lbnVPYmplY3QubWVudUlkKTtcbiAgICAgICAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZFBhcmVudCA9IG1lbnVfb2JqZWN0WzBdLm1lbnVJZDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1lbnVPYmplY3QubWVudUlkICE9PSBcIlwiICYmIHRoaXMubWVudU9iamVjdC5tZW51VHlwZSA9PSBcImNoaWxkXCIpIHtcbiAgICAgICAgICBjb25zdCBtZW51X29iamVjdCA9IHRoaXMucGFwYXJlbnRNZW51RGF0YXNvdXJjZS5maWx0ZXIobWVudSA9PiBtZW51LnBhcmVudE1lbnVUaWQgPT0gdGhpcy5tZW51T2JqZWN0LnBhcmVudE1lbnVUaWQpO1xuICAgICAgICAgIHRoaXMuZGVmYXVsdFNlbGVjdGVkUGFyZW50ID0gbWVudV9vYmplY3RbMF0ubWVudUlkO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNtZW51Q29udGFpbmVyID0gdHJ1ZTtcblxuICAgICAgfSwgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XG5cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZ2V0TWVudVR5cGUoZSkge1xuICAgIGlmIChlLmV2ZW50KSB7XG4gICAgICBpZiAoZS52YWx1ZSA9PSBcImNoaWxkXCIpIHtcbiAgICAgICAgdGhpcy5tZW51T2JqZWN0WydjaGlsZHJlbiddID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoZS52YWx1ZSA9PSBcInBhcmVudFwiKSB7XG4gICAgICAgIHRoaXMubWVudU9iamVjdFsnY2hpbGRyZW4nXSA9IGZhbHNlO1xuXG4gICAgICB9XG4gICAgICB0aGlzLm1lbnVPYmplY3RbJ21lbnVUeXBlJ10gPSBlLnZhbHVlO1xuICAgICAgdGhpcy5tZW51T2JqZWN0WydwYXJlbnRNZW51VGlkJ10gPSBcIlwiO1xuICAgICAgdGhpcy5tZW51T2JqZWN0WydjaGlsZE1lbnVUaWQnXSA9IFwiXCI7XG4gICAgICB0aGlzLmlzbWVudUNvbnRhaW5lciA9IHRydWU7XG4gICAgfVxuICB9XG5cblxuICBzdWJtaXROZXdNZW51KCkge1xuICAgIHRoaXMubWVudU9iamVjdFsncGVybWlzc2lvbnMnXSA9IHRoaXMudXNlck9wdGlvbkNvbnRhaW5lcjtcbiAgICB0aGlzLm1lbnVPYmplY3RbJ3F1ZXJ5UGFyYW1zJ10gPSB7ICdwYWdlSWQnOiB0aGlzLnNlbGVjdGVkUXVlcnlQYXJhbVN0ciB9O1xuXG4gICAgY29uc29sZS5sb2codGhpcy5tZW51T2JqZWN0KVxuICAgIHRoaXMuc2VydmljZS5jb25maWd1cmVBcHBNZW51Q29uZmlnKHRoaXMubWVudU9iamVjdCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5zdWNjZXNzKFwiTWVudSBBZGRlZCBTdWNjZXNzZnVsbHlcIik7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2FwcHMvY29udHJvbFBhbmVsL21lbnVDb250cm9sbGVyJ10pXG4gICAgICB9LCBlcnJvcjogKGVycjogYW55KSA9PiB7XG5cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgdXBkYXRlTWVudSgpIHtcbiAgICB0aGlzLm1lbnVPYmplY3RbJ3Blcm1pc3Npb25zJ10gPSB0aGlzLnVzZXJPcHRpb25Db250YWluZXI7XG4gICAgdGhpcy5tZW51T2JqZWN0WydxdWVyeVBhcmFtcyddID0gKHRoaXMuc2VsZWN0ZWRRdWVyeVBhcmFtU3RyKSA/IHsgJ3BhZ2VJZCc6IHRoaXMuc2VsZWN0ZWRRdWVyeVBhcmFtU3RyIH0gOiB7fTtcbiAgICBjb25zb2xlLmxvZyh0aGlzLm1lbnVPYmplY3QpXG4gICAgdGhpcy5zZXJ2aWNlLnVwZGF0ZUFwcE1lbnVDb25maWcodGhpcy5tZW51T2JqZWN0KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoXCJNZW51IFVwZGF0ZWQgU3VjY2Vzc2Z1bGx5XCIpO1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9hcHBzL2NvbnRyb2xQYW5lbC9tZW51Q29udHJvbGxlciddKVxuICAgICAgfSwgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGdldE1lbnVUaWRUeXBlKGl0ZW0pIHtcbiAgICBpZiAoaXRlbS5ldmVudCkge1xuICAgICAgY29uc3QgbWVudV9vYmplY3QgPSB0aGlzLnBhcGFyZW50TWVudURhdGFzb3VyY2UuZmlsdGVyKG1lbnUgPT4gbWVudS5tZW51SWQgPT0gaXRlbS52YWx1ZSk7XG4gICAgICBpZiAodGhpcy5tZW51T2JqZWN0Lm1lbnVUeXBlID09ICdwYXJlbnQnICYmIG1lbnVfb2JqZWN0WzBdWydjaGlsZE1lbnVUaWQnXSAhPT0gXCJcIikge1xuICAgICAgICB0aGlzLm1lbnVPYmplY3RbJ3BhcmVudE1lbnVUaWQnXSA9IG1lbnVfb2JqZWN0WzBdW1wiY2hpbGRNZW51VGlkXCJdO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLm1lbnVPYmplY3QubWVudVR5cGUgPT0gJ2NoaWxkJyAmJiBtZW51X29iamVjdFswXVsnY2hpbGRNZW51VGlkJ10gIT09IFwiXCIpIHtcbiAgICAgICAgdGhpcy5tZW51T2JqZWN0WydwYXJlbnRNZW51VGlkJ10gPSBtZW51X29iamVjdFswXVtcImNoaWxkTWVudVRpZFwiXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubWVudU9iamVjdFsncGFyZW50TWVudVRpZCddID0gbWVudV9vYmplY3RbMF1bXCJwYXJlbnRNZW51VGlkXCJdO1xuICAgICAgfVxuICAgIH1cblxuXG5cbiAgfVxuXG4gIG1lbnVMaXN0KCkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2FwcHMvY29udHJvbFBhbmVsL21lbnVDb250cm9sbGVyJ10pXG5cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBmbGV4LWF1dG8gbWluLXctMFwiPlxuXG4gICAgPGxpYi1jb21tb24taGVhZGVyIFtwYWdlVGl0bGVdPVwiJ0FkZCBNZW51J1wiPjwvbGliLWNvbW1vbi1oZWFkZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwicC00IHctZnVsbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibS0zIHAtNCBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93LW1kIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDBcIj5cbiAgICAgICAgICAgIDxoNiBjbGFzcz1cIm1iLTIgdGV4dC1sZyB0cmFja2luZy10aWdodCB0ZXh0LWdyYXktOTAwXG4gICAgICAgICAgICAgICAgZGFyazp0ZXh0LXdoaXRlIGJvcmRlci1iIHBiLTMgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICBCYXNpYyBJbmZvcm1hdGlvblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtbC1hdXRvXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ7e2NvbW1vbnNlcnZpY2UuYnRuX3B1cnBsZV9tZH19XCIgKGNsaWNrKT1cIm1lbnVMaXN0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFsbCBNZW51IEl0ZW1zXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9oNj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBtLTJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LTEvM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5NZW51IFR5cGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBbaXRlbXNdPVwiWydjaGlsZCcsJ3BhcmVudCddXCIgWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0Lm1lbnVUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImdldE1lbnVUeXBlKCRldmVudClcIj48L2R4LXNlbGVjdC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctMS8zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPlBhcmVudCBNZW51PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggW3Nob3dDbGVhckJ1dHRvbl09XCJ0cnVlXCIgW3ZhbHVlXT1cImRlZmF1bHRTZWxlY3RlZFBhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJnZXRNZW51VGlkVHlwZSgkZXZlbnQpXCIgW2l0ZW1zXT1cInBhcGFyZW50TWVudURhdGFzb3VyY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZUV4cHI9XCJtZW51SWRcIiBkaXNwbGF5RXhwcj1cInRpdGxlXCI+PC9keC1zZWxlY3QtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LTEvM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5QYXJlbnQgTWVudSBUSUQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LnBhcmVudE1lbnVUaWRcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LTEvM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5DaGlsZCBNZW51IFRJRDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QuY2hpbGRNZW51VGlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm1lbnVPYmplY3QuY2hpbGRNZW51VGlkXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc21lbnVDb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtNCB3LWZ1bGxcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm0tMyBwLTQgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCByb3VuZGVkLWxnIHNoYWRvdy1tZCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwXCI+XG4gICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwibWItMiB0ZXh0LWxnIHRyYWNraW5nLXRpZ2h0IHRleHQtZ3JheS05MDBcbiAgICAgICAgICAgICAgICBkYXJrOnRleHQtd2hpdGUgYm9yZGVyLWIgcGItMyBmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICBJdGVtIEluZm9ybWF0aW9uXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtbC1hdXRvXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9oNj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgbS0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPk1lbnUgSUQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QubWVudUlkXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5UaXRsZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC50aXRsZVwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+c3VidGl0bGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3Quc3VidGl0bGVcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPlR5cGU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IFtpdGVtc109XCJbJ2FzaWRlJywnYmFzaWMnLCdjb2xsYXBzYWJsZScsJ2RpdmlkZXInLCdncm91cCcsJ3NwYWNlciddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibWVudU9iamVjdC50eXBlXCI+PC9keC1zZWxlY3QtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBtdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPnRvb2x0aXA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QudG9vbHRpcFwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+bGluazwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5saW5rXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5mcmFnbWVudDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5mcmFnbWVudFwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+dGFyZ2V0PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBbaXRlbXNdPVwiWydfYmxhbmsnLCdfc2VsZicsJ19wYXJlbnQnLCdfdG9wJ11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LnRhcmdldFwiPjwvZHgtc2VsZWN0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgbXQtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5wcmVzZXJ2ZUZyYWdtZW50PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LnByZXNlcnZlRnJhZ21lbnRcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPnF1ZXJ5UGFyYW1zPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJzZWxlY3RlZFF1ZXJ5UGFyYW1TdHJcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+aWNvbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5pY29uXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgbXQtMlwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS0xMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtY2hlY2stYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5jaGlsZHJlblwiIHRleHQ9XCJDaGlsZHJlblwiPjwvZHgtY2hlY2stYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0xMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtY2hlY2stYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5leHRlcm5hbExpbmtcIiB0ZXh0PVwiRXh0ZXJuYWwgTGlua1wiPjwvZHgtY2hlY2stYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LWNoZWNrLWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QuYWN0aXZlXCIgdGV4dD1cIkFjdGl2ZVwiPjwvZHgtY2hlY2stYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LWNoZWNrLWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QuZGlzYWJsZWRcIiB0ZXh0PVwiRGlzYWJsZWRcIj48L2R4LWNoZWNrLWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgbXQtMlwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgaWQ9XCJtZXNzYWdlXCIgcm93cz1cIjdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJsb2NrIHAtMi41IHctZnVsbCB0ZXh0LWxnIHRleHQtZ3JheS05MDAgYmctZ3JheS01MCByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItZ3JheS0zMDAgZm9jdXM6cmluZy1ibHVlLTUwMCBmb2N1czpib3JkZXItYmx1ZS01MDAgZGFyazpiZy1ncmF5LTcwMCBkYXJrOmJvcmRlci1ncmF5LTYwMCBkYXJrOnBsYWNlaG9sZGVyLWdyYXktNDAwIGRhcms6dGV4dC13aGl0ZSBkYXJrOmZvY3VzOnJpbmctYmx1ZS01MDAgZGFyazpmb2N1czpib3JkZXItYmx1ZS01MDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIldyaXRlIE1lbnUgRGVzY3JpcHRpb25cIiBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QuZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImV4YW1wbGVUZXh0YXJlYVwiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtNCB3LWZ1bGxcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm0tMyBwLTQgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCByb3VuZGVkLWxnIHNoYWRvdy1tZCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwXCI+XG5cblxuICAgICAgICAgICAgICAgIDxhcHAtdXNlci1hY2Nlc3MgWyh1c2VyT3B0aW9uQ29udGFpbmVyKV09XCJ1c2VyT3B0aW9uQ29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPC9hcHAtdXNlci1hY2Nlc3M+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWVuZCBtdC00IGJvcmRlci10IG10LTggcHktNFwiICpuZ0lmPVwiIWlzQ29udGVudFR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInt7Y29tbW9uc2VydmljZS5idG5fc3VjY2Vzc19tZH19XCIgKGNsaWNrKT1cInN1Ym1pdE5ld01lbnUoKVwiPkNyZWF0ZSBNZW51PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1lbmQgbXQtNCBib3JkZXItdCBtdC04IHB5LTRcIiAqbmdJZj1cImlzQ29udGVudFR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInt7Y29tbW9uc2VydmljZS5idG5fc3VjY2Vzc19tZH19XCIgKGNsaWNrKT1cInVwZGF0ZU1lbnUoKVwiPlVwZGF0ZSBNZW51PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PiJdfQ==
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tY3JlYXRlLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2FtbWEtYXBwLWNvbnRyb2xsZXIvc3JjL2xpYi9hcHBsaWNhdGlvbi1jb250cm9sbGVyL2FwcGxpY2F0aW9uLW1lbnUtY29udHJvbGxlci9hcHBsaWNhdGlvbi1jcmVhdGUtbWVudS9hcHBsaWNhdGlvbi1jcmVhdGUtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nYW1tYS1hcHAtY29udHJvbGxlci9zcmMvbGliL2FwcGxpY2F0aW9uLWNvbnRyb2xsZXIvYXBwbGljYXRpb24tbWVudS1jb250cm9sbGVyL2FwcGxpY2F0aW9uLWNyZWF0ZS1tZW51L2FwcGxpY2F0aW9uLWNyZWF0ZS1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFXbEQsTUFBTSxPQUFPLDhCQUE4QjtJQXFDekMsWUFDUyxhQUE0QixFQUMzQixPQUFrQyxFQUNsQyxjQUE2QixFQUM3QixjQUE4QixFQUM5QixNQUFjO1FBSmYsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDM0IsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFDbEMsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFdBQU0sR0FBTixNQUFNLENBQVE7UUF6Q3hCLGVBQVUsR0FBUTtZQUNoQixNQUFNLEVBQUUsRUFBRTtZQUNWLEtBQUssRUFBRSxFQUFFO1lBQ1QsUUFBUSxFQUFFLEVBQUU7WUFDWixJQUFJLEVBQUUsRUFBRTtZQUNSLE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLEtBQUs7WUFDZixZQUFZLEVBQUUsS0FBSztZQUNuQixXQUFX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SSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDbkU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDcEU7U0FDRjtJQUlILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUE7SUFFN0QsQ0FBQzs7MkhBM0tVLDhCQUE4QjsrR0FBOUIsOEJBQThCLG1FQ1gzQyw0Z1VBcU1NOzJGRDFMTyw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBJc0FjdGl2ZU1hdGNoT3B0aW9ucywgUGFyYW1zLCBRdWVyeVBhcmFtc0hhbmRsaW5nLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkNvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwbGljYXRpb24tY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFwcGxpY2F0aW9uLWNyZWF0ZS1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FwcGxpY2F0aW9uLWNyZWF0ZS1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXBwbGljYXRpb24tY3JlYXRlLW1lbnUuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uQ3JlYXRlTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG1lbnVPYmplY3Q6IGFueSA9IHtcbiAgICBtZW51SWQ6IFwiXCIsXG4gICAgdGl0bGU6IFwiXCIsXG4gICAgc3VidGl0bGU6IFwiXCIsXG4gICAgdHlwZTogXCJcIixcbiAgICBhY3RpdmU6IHRydWUsXG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIGV4dGVybmFsTGluazogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiXCIsXG4gICAgdG9vbHRpcDogXCJcIixcbiAgICBsaW5rOiBcIlwiLFxuICAgIGZyYWdtZW50OiBcIlwiLFxuICAgIHByZXNlcnZlRnJhZ21lbnQ6IFwiXCIsXG4gICAgcXVlcnlQYXJhbXM6IHt9LFxuICAgIHRhcmdldDogXCJcIixcbiAgICBpY29uOiBcIlwiLFxuICAgIC8vIGJhZGdlOiB7XG4gICAgLy8gICAgIHRpdGxlOiBcInN0cmluZ1wiLFxuICAgIC8vICAgICBjbGFzc2VzOiBcIlwiLFxuICAgIC8vIH0sXG4gICAgY2hpbGRyZW46IHRydWUsXG4gICAgdXJsOiBcIlwiLFxuICAgIG1lbnVUeXBlOiBcIlwiLFxuICAgIHBhcmVudE1lbnVUaWQ6IFwiXCIsXG4gICAgY2hpbGRNZW51VGlkOiBcIlwiLFxuICAgIG1lYXN1cmVzOiBbXVxuICB9XG5cbiAgaXNtZW51Q29udGFpbmVyID0gZmFsc2U7XG4gIGlzQ29udGVudFR5cGUgPSBmYWxzZTtcblxuICB1c2VyT3B0aW9uQ29udGFpbmVyOiBhbnkgPSBbXTtcblxuICBwYXBhcmVudE1lbnVEYXRhc291cmNlOiBhbnk7XG4gIGRlZmF1bHRTZWxlY3RlZFBhcmVudDogYW55O1xuICBzZWxlY3RlZFF1ZXJ5UGFyYW1TdHIgPSBcIlwiO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29tbW9uc2VydmljZTogQ29tbW9uU2VydmljZSxcbiAgICBwcml2YXRlIHNlcnZpY2U6IEFwcGxpY2F0aW9uQ29udGVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RyU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG5cbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBsZXQgbWVudUlkID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1snbWVudUlkJ107XG4gICAgbGV0IGNvbnRlbnRUeXBlID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1snY29udGVudFR5cGUnXTtcbiAgICBpZiAobWVudUlkICYmIGNvbnRlbnRUeXBlID09IFwiZWRpdFwiKSB7XG4gICAgICB0aGlzLnNlcnZpY2UuZ2V0QXBwTWVudUNvbmZpZ0J5SWQobWVudUlkKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5tZW51T2JqZWN0ID0gZGF0YTtcbiAgICAgICAgICAvLyBpZiAoZGF0YVsnbWVhc3VyZXMnXSAmJiBkYXRhWydtZWFzdXJlcyddLmxlbmd0aCAhPT0gMClcbiAgICAgICAgICAvLyAgIGRhdGFbJ21lYXN1cmVzJ10uZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICAvLyAgICAgbGV0IGF0dF92YWx1ZSA9IGVsZW1lbnQuYXR0cmlidXRlVmFsdWVzLmpvaW4oXCIsXCIpO1xuICAgICAgICAgIC8vICAgICBlbGVtZW50LmF0dHJpYnV0ZVZhbHVlcyA9IGF0dF92YWx1ZTtcbiAgICAgICAgICAvLyAgIH0pO1xuXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFF1ZXJ5UGFyYW1TdHIgPSAoZGF0YVsncXVlcnlQYXJhbXMnXSAmJiBkYXRhWydxdWVyeVBhcmFtcyddWydwYWdlSWQnXSkgPyBkYXRhWydxdWVyeVBhcmFtcyddWydwYWdlSWQnXSA6IFwiXCI7XG5cbiAgICAgICAgICB0aGlzLnVzZXJPcHRpb25Db250YWluZXIgPSAoZGF0YVsncGVybWlzc2lvbnMnXSAmJiBkYXRhWydwZXJtaXNzaW9ucyddLmxlbmd0aCAhPT0gMCkgPyBkYXRhWydwZXJtaXNzaW9ucyddIDogW107XG4gICAgICAgICAgdGhpcy5pc0NvbnRlbnRUeXBlID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmdldFBhcmVudE1lbnVMaXN0KCk7XG5cbiAgICAgICAgfSwgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gIH1cblxuICBnZXRQYXJlbnRNZW51TGlzdCgpIHtcbiAgICB0aGlzLnBhcGFyZW50TWVudURhdGFzb3VyY2UgPSBbXTtcbiAgICB0aGlzLnNlcnZpY2UubGlzdEFwcE1lbnVDb25maWdzKCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgZGF0YS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT0gXCJjb2xsYXBzYWJsZVwiIHx8IGVsZW1lbnQubWVudVR5cGUgPT0gXCJwYXJlbnRcIikge1xuICAgICAgICAgICAgbGV0IG9iaiA9IHt9O1xuICAgICAgICAgICAgb2JqID0ge1xuICAgICAgICAgICAgICBwYXJlbnRNZW51VGlkOiBlbGVtZW50LnBhcmVudE1lbnVUaWQsXG4gICAgICAgICAgICAgIHRpdGxlOiBlbGVtZW50LnRpdGxlLFxuICAgICAgICAgICAgICBtZW51SWQ6IGVsZW1lbnQubWVudUlkLFxuICAgICAgICAgICAgICBjaGlsZE1lbnVUaWQ6IGVsZW1lbnQuY2hpbGRNZW51VGlkLFxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnBhcGFyZW50TWVudURhdGFzb3VyY2UucHVzaChvYmopXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgZGVidWdnZXJcbiAgICAgICAgaWYgKHRoaXMubWVudU9iamVjdC5tZW51SWQgIT09IFwiXCIgJiYgdGhpcy5tZW51T2JqZWN0Lm1lbnVUeXBlID09IFwicGFyZW50XCIpIHtcblxuICAgICAgICAgIGNvbnN0IG1lbnVfb2JqZWN0ID0gdGhpcy5wYXBhcmVudE1lbnVEYXRhc291cmNlLmZpbHRlcihtZW51ID0+IG1lbnUubWVudUlkID09IHRoaXMubWVudU9iamVjdC5tZW51SWQpO1xuICAgICAgICAgIHRoaXMuZGVmYXVsdFNlbGVjdGVkUGFyZW50ID0gbWVudV9vYmplY3RbMF0ubWVudUlkO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubWVudU9iamVjdC5tZW51SWQgIT09IFwiXCIgJiYgdGhpcy5tZW51T2JqZWN0Lm1lbnVUeXBlID09IFwiY2hpbGRcIikge1xuICAgICAgICAgIGNvbnN0IG1lbnVfb2JqZWN0ID0gdGhpcy5wYXBhcmVudE1lbnVEYXRhc291cmNlLmZpbHRlcihtZW51ID0+IG1lbnUucGFyZW50TWVudVRpZCA9PSB0aGlzLm1lbnVPYmplY3QucGFyZW50TWVudVRpZCk7XG4gICAgICAgICAgdGhpcy5kZWZhdWx0U2VsZWN0ZWRQYXJlbnQgPSBtZW51X29iamVjdFswXS5tZW51SWQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc21lbnVDb250YWluZXIgPSB0cnVlO1xuXG4gICAgICB9LCBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcblxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBnZXRNZW51VHlwZShlKSB7XG4gICAgaWYgKGUuZXZlbnQpIHtcbiAgICAgIGlmIChlLnZhbHVlID09IFwiY2hpbGRcIikge1xuICAgICAgICB0aGlzLm1lbnVPYmplY3RbJ2NoaWxkcmVuJ10gPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmIChlLnZhbHVlID09IFwicGFyZW50XCIpIHtcbiAgICAgICAgdGhpcy5tZW51T2JqZWN0WydjaGlsZHJlbiddID0gZmFsc2U7XG5cbiAgICAgIH1cbiAgICAgIHRoaXMubWVudU9iamVjdFsnbWVudVR5cGUnXSA9IGUudmFsdWU7XG4gICAgICB0aGlzLm1lbnVPYmplY3RbJ3BhcmVudE1lbnVUaWQnXSA9IFwiXCI7XG4gICAgICB0aGlzLm1lbnVPYmplY3RbJ2NoaWxkTWVudVRpZCddID0gXCJcIjtcbiAgICAgIHRoaXMuaXNtZW51Q29udGFpbmVyID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuXG4gIHN1Ym1pdE5ld01lbnUoKSB7XG4gICAgdGhpcy5tZW51T2JqZWN0WydwZXJtaXNzaW9ucyddID0gdGhpcy51c2VyT3B0aW9uQ29udGFpbmVyO1xuICAgIHRoaXMubWVudU9iamVjdFsncXVlcnlQYXJhbXMnXSA9IHsgJ3BhZ2VJZCc6IHRoaXMuc2VsZWN0ZWRRdWVyeVBhcmFtU3RyIH07XG5cbiAgICBjb25zb2xlLmxvZyh0aGlzLm1lbnVPYmplY3QpXG4gICAgdGhpcy5zZXJ2aWNlLmNvbmZpZ3VyZUFwcE1lbnVDb25maWcodGhpcy5tZW51T2JqZWN0KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoXCJNZW51IEFkZGVkIFN1Y2Nlc3NmdWxseVwiKTtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYXBwcy9jb250cm9sUGFuZWwvbWVudUNvbnRyb2xsZXInXSlcbiAgICAgIH0sIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcblxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICB1cGRhdGVNZW51KCkge1xuICAgIHRoaXMubWVudU9iamVjdFsncGVybWlzc2lvbnMnXSA9IHRoaXMudXNlck9wdGlvbkNvbnRhaW5lcjtcbiAgICB0aGlzLm1lbnVPYmplY3RbJ3F1ZXJ5UGFyYW1zJ10gPSAodGhpcy5zZWxlY3RlZFF1ZXJ5UGFyYW1TdHIpID8geyAncGFnZUlkJzogdGhpcy5zZWxlY3RlZFF1ZXJ5UGFyYW1TdHIgfSA6IHt9O1xuICAgIGNvbnNvbGUubG9nKHRoaXMubWVudU9iamVjdClcbiAgICB0aGlzLnNlcnZpY2UudXBkYXRlQXBwTWVudUNvbmZpZyh0aGlzLm1lbnVPYmplY3QpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2Uuc3VjY2VzcyhcIk1lbnUgVXBkYXRlZCBTdWNjZXNzZnVsbHlcIik7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2FwcHMvY29udHJvbFBhbmVsL21lbnVDb250cm9sbGVyJ10pXG4gICAgICB9LCBlcnJvcjogKGVycjogYW55KSA9PiB7XG5cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZ2V0TWVudVRpZFR5cGUoaXRlbSkge1xuICAgIGlmIChpdGVtLmV2ZW50KSB7XG4gICAgICBjb25zdCBtZW51X29iamVjdCA9IHRoaXMucGFwYXJlbnRNZW51RGF0YXNvdXJjZS5maWx0ZXIobWVudSA9PiBtZW51Lm1lbnVJZCA9PSBpdGVtLnZhbHVlKTtcbiAgICAgIGlmICh0aGlzLm1lbnVPYmplY3QubWVudVR5cGUgPT0gJ3BhcmVudCcgJiYgbWVudV9vYmplY3RbMF1bJ2NoaWxkTWVudVRpZCddICE9PSBcIlwiKSB7XG4gICAgICAgIHRoaXMubWVudU9iamVjdFsncGFyZW50TWVudVRpZCddID0gbWVudV9vYmplY3RbMF1bXCJjaGlsZE1lbnVUaWRcIl07XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubWVudU9iamVjdC5tZW51VHlwZSA9PSAnY2hpbGQnICYmIG1lbnVfb2JqZWN0WzBdWydjaGlsZE1lbnVUaWQnXSAhPT0gXCJcIikge1xuICAgICAgICB0aGlzLm1lbnVPYmplY3RbJ3BhcmVudE1lbnVUaWQnXSA9IG1lbnVfb2JqZWN0WzBdW1wiY2hpbGRNZW51VGlkXCJdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tZW51T2JqZWN0WydwYXJlbnRNZW51VGlkJ10gPSBtZW51X29iamVjdFswXVtcInBhcmVudE1lbnVUaWRcIl07XG4gICAgICB9XG4gICAgfVxuXG5cblxuICB9XG5cbiAgbWVudUxpc3QoKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYXBwcy9jb250cm9sUGFuZWwvbWVudUNvbnRyb2xsZXInXSlcblxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGZsZXgtYXV0byBtaW4tdy0wXCI+XG5cbiAgICA8bGliLWNvbW1vbi1oZWFkZXIgW3BhZ2VUaXRsZV09XCInQWRkIE1lbnUnXCI+PC9saWItY29tbW9uLWhlYWRlcj5cblxuICAgIDxkaXYgY2xhc3M9XCJwLTQgdy1mdWxsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLTMgcC00IGJnLXdoaXRlIGJvcmRlciBib3JkZXItZ3JheS0yMDAgcm91bmRlZC1sZyBzaGFkb3ctbWQgZGFyazpiZy1ncmF5LTgwMCBkYXJrOmJvcmRlci1ncmF5LTcwMFwiPlxuICAgICAgICAgICAgPGg2IGNsYXNzPVwibWItMiB0ZXh0LWxnIHRyYWNraW5nLXRpZ2h0IHRleHQtZ3JheS05MDBcbiAgICAgICAgICAgICAgICBkYXJrOnRleHQtd2hpdGUgYm9yZGVyLWIgcGItMyBmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIEJhc2ljIEluZm9ybWF0aW9uXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1sLWF1dG9cIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInt7Y29tbW9uc2VydmljZS5idG5fcHVycGxlX21kfX1cIiAoY2xpY2spPVwibWVudUxpc3QoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQWxsIE1lbnUgSXRlbXNcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2g2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIG0tMlwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctMS8zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPk1lbnUgVHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IFtpdGVtc109XCJbJ2NoaWxkJywncGFyZW50J11cIiBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QubWVudVR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiZ2V0TWVudVR5cGUoJGV2ZW50KVwiPjwvZHgtc2VsZWN0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy0xLzNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+UGFyZW50IE1lbnU8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBbc2hvd0NsZWFyQnV0dG9uXT1cInRydWVcIiBbdmFsdWVdPVwiZGVmYXVsdFNlbGVjdGVkUGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImdldE1lbnVUaWRUeXBlKCRldmVudClcIiBbaXRlbXNdPVwicGFwYXJlbnRNZW51RGF0YXNvdXJjZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlRXhwcj1cIm1lbnVJZFwiIGRpc3BsYXlFeHByPVwidGl0bGVcIj48L2R4LXNlbGVjdC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctMS8zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPlBhcmVudCBNZW51IFRJRDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QucGFyZW50TWVudVRpZFwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctMS8zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPkNoaWxkIE1lbnUgVElEPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5jaGlsZE1lbnVUaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwibWVudU9iamVjdC5jaGlsZE1lbnVUaWRcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzbWVudUNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicC00IHctZnVsbFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibS0zIHAtNCBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93LW1kIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDBcIj5cbiAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJtYi0yIHRleHQtbGcgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMFxuICAgICAgICAgICAgICAgIGRhcms6dGV4dC13aGl0ZSBib3JkZXItYiBwYi0zIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIEl0ZW0gSW5mb3JtYXRpb25cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1sLWF1dG9cIj5cblxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2g2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBtLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+TWVudSBJRDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5tZW51SWRcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPlRpdGxlPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LnRpdGxlXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5zdWJ0aXRsZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5zdWJ0aXRsZVwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+VHlwZTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggW2l0ZW1zXT1cIlsnYXNpZGUnLCdiYXNpYycsJ2NvbGxhcHNhYmxlJywnZGl2aWRlcicsJ2dyb3VwJywnc3BhY2VyJ11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LnR5cGVcIj48L2R4LXNlbGVjdC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IG10LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+dG9vbHRpcDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC50b29sdGlwXCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5saW5rPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LmxpbmtcIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPmZyYWdtZW50PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LmZyYWdtZW50XCI+PC9keC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj50YXJnZXQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IFtpdGVtc109XCJbJ19ibGFuaycsJ19zZWxmJywnX3BhcmVudCcsJ190b3AnXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QudGFyZ2V0XCI+PC9keC1zZWxlY3QtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBtdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPnByZXNlcnZlRnJhZ21lbnQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cIm1lbnVPYmplY3QucHJlc2VydmVGcmFnbWVudFwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+cXVlcnlQYXJhbXM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC10ZXh0LWJveCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUXVlcnlQYXJhbVN0clwiPjwvZHgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5pY29uPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0Lmljb25cIj48L2R4LXRleHQtYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBtdC0yXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLTEwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1jaGVjay1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LmNoaWxkcmVuXCIgdGV4dD1cIkNoaWxkcmVuXCI+PC9keC1jaGVjay1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1jaGVjay1ib3ggWyhuZ01vZGVsKV09XCJtZW51T2JqZWN0LmV4dGVybmFsTGlua1wiIHRleHQ9XCJFeHRlcm5hbCBMaW5rXCI+PC9keC1jaGVjay1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0xMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtY2hlY2stYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5hY3RpdmVcIiB0ZXh0PVwiQWN0aXZlXCI+PC9keC1jaGVjay1ib3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0xMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZHgtY2hlY2stYm94IFsobmdNb2RlbCldPVwibWVudU9iamVjdC5kaXNhYmxlZFwiIHRleHQ9XCJEaXNhYmxlZFwiPjwvZHgtY2hlY2stYm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBtdC0yXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBpZD1cIm1lc3NhZ2VcIiByb3dzPVwiN1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmxvY2sgcC0yLjUgdy1mdWxsIHRleHQtbGcgdGV4dC1ncmF5LTkwMCBiZy1ncmF5LTUwIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCBmb2N1czpyaW5nLWJsdWUtNTAwIGZvY3VzOmJvcmRlci1ibHVlLTUwMCBkYXJrOmJnLWdyYXktNzAwIGRhcms6Ym9yZGVyLWdyYXktNjAwIGRhcms6cGxhY2Vob2xkZXItZ3JheS00MDAgZGFyazp0ZXh0LXdoaXRlIGRhcms6Zm9jdXM6cmluZy1ibHVlLTUwMCBkYXJrOmZvY3VzOmJvcmRlci1ibHVlLTUwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiV3JpdGUgTWVudSBEZXNjcmlwdGlvblwiIFsobmdNb2RlbCldPVwibWVudU9iamVjdC5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZXhhbXBsZVRleHRhcmVhXCI+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwicC00IHctZnVsbFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibS0zIHAtNCBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMjAwIHJvdW5kZWQtbGcgc2hhZG93LW1kIGRhcms6YmctZ3JheS04MDAgZGFyazpib3JkZXItZ3JheS03MDBcIj5cblxuXG4gICAgICAgICAgICAgICAgPGFwcC11c2VyLWFjY2VzcyBbKHVzZXJPcHRpb25Db250YWluZXIpXT1cInVzZXJPcHRpb25Db250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8L2FwcC11c2VyLWFjY2Vzcz5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGp1c3RpZnktZW5kIG10LTQgYm9yZGVyLXQgbXQtOCBweS00XCIgKm5nSWY9XCIhaXNDb250ZW50VHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwie3tjb21tb25zZXJ2aWNlLmJ0bl9zdWNjZXNzX21kfX1cIiAoY2xpY2spPVwic3VibWl0TmV3TWVudSgpXCI+Q3JlYXRlIE1lbnU8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWVuZCBtdC00IGJvcmRlci10IG10LTggcHktNFwiICpuZ0lmPVwiaXNDb250ZW50VHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwie3tjb21tb25zZXJ2aWNlLmJ0bl9zdWNjZXNzX21kfX1cIiAoY2xpY2spPVwidXBkYXRlTWVudSgpXCI+VXBkYXRlIE1lbnU8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+Il19
@@ -39,13 +39,13 @@ export class UserAccessComponent {
39
39
  }
40
40
  }
41
41
  UserAccessComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UserAccessComponent, deps: [{ token: i1.CommonService }], target: i0.ɵɵFactoryTarget.Component });
42
- UserAccessComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: UserAccessComponent, selector: "app-user-access", inputs: { userOptionContainer: "userOptionContainer" }, outputs: { userOptionContainerChange: "userOptionContainerChange" }, ngImport: i0, template: "<div class=\"p-4 w-full\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n\n <h6 class=\"mb-2 text-lg tracking-tight text-gray-900 dark:text-white border-b pb-3 flex items-center\">\n User Information\n <div class=\"ml-auto\">\n <div class=\"{{ commonService?.btn_primary_md }}\" (click)=\"addNewUser()\">\n Add Permission Entity\n </div>\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <ng-container *ngFor=\"let item of userOptionContainer; let i = index\">\n <div class=\"flex flex-row\">\n\n <!-- Accessible User Type -->\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Entity Type</div>\n <dx-select-box [items]=\"menuType\" [(ngModel)]=\"item.entityName\" (onValueChanged)=\"emitChanges()\">\n </dx-select-box>\n </div>\n\n <!-- User -->\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Entity Value</div>\n <dx-tag-box [(ngModel)]=\"item.entityValues\" [acceptCustomValue]=\"true\" (onValueChanged)=\"emitChanges()\">\n </dx-tag-box>\n </div>\n\n <!-- Delete -->\n <div class=\"mx-2\">\n <div class=\"text-md p-2 capitalize\"></div>\n <div class=\"mt-4\">\n <div class=\"{{ commonService?.btn_danger_md }}\" (click)=\"deleteUser(i)\">\n Delete\n </div>\n </div>\n </div>\n\n </div>\n </ng-container>\n </div>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i5.DxTagBoxComponent, selector: "dx-tag-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "applyValueMode", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hideSelectedItems", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxDisplayedTags", "maxFilterQueryLength", "maxLength", "minSearchLength", "multiline", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectAllMode", "selectAllText", "selectedItems", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showMultiTagOnly", "showSelectionControls", "stylingMode", "tabIndex", "tagTemplate", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCustomItemCreating", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onMultiTagPreparing", "onOpened", "onOptionChanged", "onSelectAllValueChanged", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "applyValueModeChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hideSelectedItemsChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxDisplayedTagsChange", "maxFilterQueryLengthChange", "maxLengthChange", "minSearchLengthChange", "multilineChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectAllModeChange", "selectAllTextChange", "selectedItemsChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showMultiTagOnlyChange", "showSelectionControlsChange", "stylingModeChange", "tabIndexChange", "tagTemplateChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }] });
42
+ UserAccessComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: UserAccessComponent, selector: "app-user-access", inputs: { userOptionContainer: "userOptionContainer" }, outputs: { userOptionContainerChange: "userOptionContainerChange" }, ngImport: i0, template: "<div class=\"p-4 w-full\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n\n <h6 class=\"mb-2 text-lg tracking-tight text-gray-900 dark:text-white border-b pb-3 flex items-center\">\n Manage Permissions\n <div class=\"ml-auto\">\n <div class=\"{{ commonService?.btn_primary_md }}\" (click)=\"addNewUser()\">\n Add Permission Entity\n </div>\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <ng-container *ngFor=\"let item of userOptionContainer; let i = index\">\n <div class=\"flex flex-row\">\n\n <!-- Accessible User Type -->\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Entity Type</div>\n <dx-select-box [items]=\"menuType\" [(ngModel)]=\"item.entityName\" (onValueChanged)=\"emitChanges()\">\n </dx-select-box>\n </div>\n\n <!-- User -->\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Entity Value</div>\n <dx-tag-box [(ngModel)]=\"item.entityValues\" [acceptCustomValue]=\"true\" (onValueChanged)=\"emitChanges()\">\n </dx-tag-box>\n </div>\n\n <!-- Delete -->\n <div class=\"mx-2\">\n <div class=\"text-md p-2 capitalize\"></div>\n <div class=\"mt-4\">\n <div class=\"{{ commonService?.btn_danger_md }}\" (click)=\"deleteUser(i)\">\n Delete\n </div>\n </div>\n </div>\n\n </div>\n </ng-container>\n </div>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i5.DxTagBoxComponent, selector: "dx-tag-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "applyValueMode", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hideSelectedItems", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxDisplayedTags", "maxFilterQueryLength", "maxLength", "minSearchLength", "multiline", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectAllMode", "selectAllText", "selectedItems", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showMultiTagOnly", "showSelectionControls", "stylingMode", "tabIndex", "tagTemplate", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCustomItemCreating", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onMultiTagPreparing", "onOpened", "onOptionChanged", "onSelectAllValueChanged", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "applyValueModeChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hideSelectedItemsChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxDisplayedTagsChange", "maxFilterQueryLengthChange", "maxLengthChange", "minSearchLengthChange", "multilineChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectAllModeChange", "selectAllTextChange", "selectedItemsChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showMultiTagOnlyChange", "showSelectionControlsChange", "stylingModeChange", "tabIndexChange", "tagTemplateChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }] });
43
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UserAccessComponent, decorators: [{
44
44
  type: Component,
45
- args: [{ selector: 'app-user-access', template: "<div class=\"p-4 w-full\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n\n <h6 class=\"mb-2 text-lg tracking-tight text-gray-900 dark:text-white border-b pb-3 flex items-center\">\n User Information\n <div class=\"ml-auto\">\n <div class=\"{{ commonService?.btn_primary_md }}\" (click)=\"addNewUser()\">\n Add Permission Entity\n </div>\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <ng-container *ngFor=\"let item of userOptionContainer; let i = index\">\n <div class=\"flex flex-row\">\n\n <!-- Accessible User Type -->\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Entity Type</div>\n <dx-select-box [items]=\"menuType\" [(ngModel)]=\"item.entityName\" (onValueChanged)=\"emitChanges()\">\n </dx-select-box>\n </div>\n\n <!-- User -->\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Entity Value</div>\n <dx-tag-box [(ngModel)]=\"item.entityValues\" [acceptCustomValue]=\"true\" (onValueChanged)=\"emitChanges()\">\n </dx-tag-box>\n </div>\n\n <!-- Delete -->\n <div class=\"mx-2\">\n <div class=\"text-md p-2 capitalize\"></div>\n <div class=\"mt-4\">\n <div class=\"{{ commonService?.btn_danger_md }}\" (click)=\"deleteUser(i)\">\n Delete\n </div>\n </div>\n </div>\n\n </div>\n </ng-container>\n </div>\n </div>\n</div>" }]
45
+ args: [{ selector: 'app-user-access', template: "<div class=\"p-4 w-full\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n\n <h6 class=\"mb-2 text-lg tracking-tight text-gray-900 dark:text-white border-b pb-3 flex items-center\">\n Manage Permissions\n <div class=\"ml-auto\">\n <div class=\"{{ commonService?.btn_primary_md }}\" (click)=\"addNewUser()\">\n Add Permission Entity\n </div>\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <ng-container *ngFor=\"let item of userOptionContainer; let i = index\">\n <div class=\"flex flex-row\">\n\n <!-- Accessible User Type -->\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Entity Type</div>\n <dx-select-box [items]=\"menuType\" [(ngModel)]=\"item.entityName\" (onValueChanged)=\"emitChanges()\">\n </dx-select-box>\n </div>\n\n <!-- User -->\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Entity Value</div>\n <dx-tag-box [(ngModel)]=\"item.entityValues\" [acceptCustomValue]=\"true\" (onValueChanged)=\"emitChanges()\">\n </dx-tag-box>\n </div>\n\n <!-- Delete -->\n <div class=\"mx-2\">\n <div class=\"text-md p-2 capitalize\"></div>\n <div class=\"mt-4\">\n <div class=\"{{ commonService?.btn_danger_md }}\" (click)=\"deleteUser(i)\">\n Delete\n </div>\n </div>\n </div>\n\n </div>\n </ng-container>\n </div>\n </div>\n</div>" }]
46
46
  }], ctorParameters: function () { return [{ type: i1.CommonService }]; }, propDecorators: { userOptionContainer: [{
47
47
  type: Input
48
48
  }], userOptionContainerChange: [{
49
49
  type: Output
50
50
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY2Nlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2FtbWEtYXBwLWNvbnRyb2xsZXIvc3JjL2xpYi9zaGFyZWQvdXNlci1hY2Nlc3MvdXNlci1hY2Nlc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2FtbWEtYXBwLWNvbnRyb2xsZXIvc3JjL2xpYi9zaGFyZWQvdXNlci1hY2Nlc3MvdXNlci1hY2Nlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVkvRSxNQUFNLE9BQU8sbUJBQW1CO0lBVTVCLFlBQ1MsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFSOUIsd0JBQW1CLEdBQWlCLEVBQUUsQ0FBQztRQUd0Qyw4QkFBeUIsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUV2RSxhQUFRLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQU1oRSxDQUFDO0lBRUgsUUFBUTtRQUVOLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdEUsSUFBSSxDQUFDLG1CQUFtQixHQUFHO2dCQUN6QjtvQkFDRSxVQUFVLEVBQUUsTUFBTTtvQkFDbEIsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO2lCQUN6QjthQUNGLENBQUM7WUFDRixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7WUFDNUIsVUFBVSxFQUFFLE1BQU07WUFDbEIsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO1NBQ3pCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFhRCxXQUFXO1FBRVQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNoRSxDQUFDOztnSEF4RFUsbUJBQW1CO29HQUFuQixtQkFBbUIsb0xDWmhDLDZtREE0Q007MkZEaENPLG1CQUFtQjtrQkFKL0IsU0FBUzsrQkFDRSxpQkFBaUI7b0dBTWxCLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFHSSx5QkFBeUI7c0JBQWxDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwbGljYXRpb24tY29udHJvbGxlci9jb21tb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJPcHRpb24ge1xuICBlbnRpdHlOYW1lOiBzdHJpbmc7XG4gIGVudGl0eVZhbHVlczogc3RyaW5nW107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC11c2VyLWFjY2VzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWFjY2Vzcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVXNlckFjY2Vzc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqIElucHV0IGZyb20gcGFyZW50ICovXG4gIEBJbnB1dCgpIHVzZXJPcHRpb25Db250YWluZXI6IFVzZXJPcHRpb25bXSA9IFtdO1xuXG4gIC8qKiBPdXRwdXQgdG8gcGFyZW50ICovXG4gIEBPdXRwdXQoKSB1c2VyT3B0aW9uQ29udGFpbmVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxVc2VyT3B0aW9uW10+KCk7XG5cbiAgbWVudVR5cGUgPSBbJ3VzZXInLCAncm9sZScsICdncm91cCcsICd0ZW5hbnQnLCAnc2VydmljZV9hY2NvdW50J107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBjb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlXG4gICAgKSB7XG4gIFxuICAgIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBJZiBpbnB1dCBpcyBlbXB0eSBvciB1bmRlZmluZWQsIHNldCBkZWZhdWx0XG4gICAgaWYgKCF0aGlzLnVzZXJPcHRpb25Db250YWluZXIgfHwgdGhpcy51c2VyT3B0aW9uQ29udGFpbmVyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy51c2VyT3B0aW9uQ29udGFpbmVyID0gW1xuICAgICAgICB7XG4gICAgICAgICAgZW50aXR5TmFtZTogJ3VzZXInLFxuICAgICAgICAgIGVudGl0eVZhbHVlczogWyd7VVNFUn0nXVxuICAgICAgICB9XG4gICAgICBdO1xuICAgICAgdGhpcy5lbWl0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGFkZE5ld1VzZXIoKTogdm9pZCB7XG4gICAgdGhpcy51c2VyT3B0aW9uQ29udGFpbmVyLnB1c2goe1xuICAgICAgZW50aXR5TmFtZTogJ3VzZXInLFxuICAgICAgZW50aXR5VmFsdWVzOiBbJ3tVU0VSfSddXG4gICAgfSk7XG4gICAgdGhpcy5lbWl0Q2hhbmdlcygpO1xuICB9XG5cbiAgZGVsZXRlVXNlcihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy51c2VyT3B0aW9uQ29udGFpbmVyLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5lbWl0Q2hhbmdlcygpO1xuICB9XG5cbiAgLy8gb25DdXN0b21EaW1lbnRpb25DcmVhdGluZyhhcmdzKSB7XG4gIC8vICAgY29uc3QgbmV3VmFsdWUgPSBhcmdzLnRleHQ7XG4gIC8vICAgYXJncy5jdXN0b21JdGVtID0gbmV3VmFsdWU7XG4gIC8vICAgY29uc3QgaXNJdGVtSW5EYXRhU291cmNlID0gdGhpcy5hdmFpbGFibGVEaW1lbnRpb24uc29tZSgoaXRlbSkgPT4gaXRlbSA9PT0gbmV3VmFsdWUpO1xuICAvLyAgIGlmICghaXNJdGVtSW5EYXRhU291cmNlKSB7XG4gIC8vICAgICB0aGlzLmF2YWlsYWJsZURpbWVudGlvbi51bnNoaWZ0KG5ld1ZhbHVlKTtcbiAgLy8gICB9XG5cblxuICAvLyB9XG5cbiAgZW1pdENoYW5nZXMoKTogdm9pZCB7XG4gICAgXG4gICAgdGhpcy51c2VyT3B0aW9uQ29udGFpbmVyQ2hhbmdlLmVtaXQodGhpcy51c2VyT3B0aW9uQ29udGFpbmVyKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInAtNCB3LWZ1bGxcIj5cbiAgPGRpdiBjbGFzcz1cIm0tMyBwLTQgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCByb3VuZGVkLWxnIHNoYWRvdy1tZCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwXCI+XG5cbiAgICA8aDYgY2xhc3M9XCJtYi0yIHRleHQtbGcgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtd2hpdGUgYm9yZGVyLWIgcGItMyBmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgVXNlciBJbmZvcm1hdGlvblxuICAgICAgPGRpdiBjbGFzcz1cIm1sLWF1dG9cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInt7IGNvbW1vblNlcnZpY2U/LmJ0bl9wcmltYXJ5X21kIH19XCIgKGNsaWNrKT1cImFkZE5ld1VzZXIoKVwiPlxuICAgICAgICAgIEFkZCBQZXJtaXNzaW9uIEVudGl0eVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvaDY+XG5cbiAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIG0tMlwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB1c2VyT3B0aW9uQ29udGFpbmVyOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93XCI+XG5cbiAgICAgICAgICA8IS0tIEFjY2Vzc2libGUgVXNlciBUeXBlIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0yIHctMS80XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBwLTIgY2FwaXRhbGl6ZVwiPkVudGl0eSBUeXBlPC9kaXY+XG4gICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBbaXRlbXNdPVwibWVudVR5cGVcIiBbKG5nTW9kZWwpXT1cIml0ZW0uZW50aXR5TmFtZVwiIChvblZhbHVlQ2hhbmdlZCk9XCJlbWl0Q2hhbmdlcygpXCI+XG4gICAgICAgICAgICA8L2R4LXNlbGVjdC1ib3g+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8IS0tIFVzZXIgLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy0xLzRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+RW50aXR5IFZhbHVlPC9kaXY+XG4gICAgICAgICAgICA8ZHgtdGFnLWJveCBbKG5nTW9kZWwpXT1cIml0ZW0uZW50aXR5VmFsdWVzXCIgW2FjY2VwdEN1c3RvbVZhbHVlXT1cInRydWVcIiAob25WYWx1ZUNoYW5nZWQpPVwiZW1pdENoYW5nZXMoKVwiPlxuICAgICAgICAgICAgPC9keC10YWctYm94PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPCEtLSBEZWxldGUgLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwie3sgY29tbW9uU2VydmljZT8uYnRuX2Rhbmdlcl9tZCB9fVwiIChjbGljayk9XCJkZWxldGVVc2VyKGkpXCI+XG4gICAgICAgICAgICAgICAgRGVsZXRlXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY2Nlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2FtbWEtYXBwLWNvbnRyb2xsZXIvc3JjL2xpYi9zaGFyZWQvdXNlci1hY2Nlc3MvdXNlci1hY2Nlc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2FtbWEtYXBwLWNvbnRyb2xsZXIvc3JjL2xpYi9zaGFyZWQvdXNlci1hY2Nlc3MvdXNlci1hY2Nlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVkvRSxNQUFNLE9BQU8sbUJBQW1CO0lBVTVCLFlBQ1MsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFSOUIsd0JBQW1CLEdBQWlCLEVBQUUsQ0FBQztRQUd0Qyw4QkFBeUIsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUV2RSxhQUFRLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQU1oRSxDQUFDO0lBRUgsUUFBUTtRQUVOLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdEUsSUFBSSxDQUFDLG1CQUFtQixHQUFHO2dCQUN6QjtvQkFDRSxVQUFVLEVBQUUsTUFBTTtvQkFDbEIsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO2lCQUN6QjthQUNGLENBQUM7WUFDRixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7WUFDNUIsVUFBVSxFQUFFLE1BQU07WUFDbEIsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO1NBQ3pCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFhRCxXQUFXO1FBRVQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNoRSxDQUFDOztnSEF4RFUsbUJBQW1CO29HQUFuQixtQkFBbUIsb0xDWmhDLCttREE0Q007MkZEaENPLG1CQUFtQjtrQkFKL0IsU0FBUzsrQkFDRSxpQkFBaUI7b0dBTWxCLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFHSSx5QkFBeUI7c0JBQWxDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBwbGljYXRpb24tY29udHJvbGxlci9jb21tb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJPcHRpb24ge1xuICBlbnRpdHlOYW1lOiBzdHJpbmc7XG4gIGVudGl0eVZhbHVlczogc3RyaW5nW107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC11c2VyLWFjY2VzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWFjY2Vzcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVXNlckFjY2Vzc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqIElucHV0IGZyb20gcGFyZW50ICovXG4gIEBJbnB1dCgpIHVzZXJPcHRpb25Db250YWluZXI6IFVzZXJPcHRpb25bXSA9IFtdO1xuXG4gIC8qKiBPdXRwdXQgdG8gcGFyZW50ICovXG4gIEBPdXRwdXQoKSB1c2VyT3B0aW9uQ29udGFpbmVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxVc2VyT3B0aW9uW10+KCk7XG5cbiAgbWVudVR5cGUgPSBbJ3VzZXInLCAncm9sZScsICdncm91cCcsICd0ZW5hbnQnLCAnc2VydmljZV9hY2NvdW50J107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBjb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlXG4gICAgKSB7XG4gIFxuICAgIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBJZiBpbnB1dCBpcyBlbXB0eSBvciB1bmRlZmluZWQsIHNldCBkZWZhdWx0XG4gICAgaWYgKCF0aGlzLnVzZXJPcHRpb25Db250YWluZXIgfHwgdGhpcy51c2VyT3B0aW9uQ29udGFpbmVyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy51c2VyT3B0aW9uQ29udGFpbmVyID0gW1xuICAgICAgICB7XG4gICAgICAgICAgZW50aXR5TmFtZTogJ3VzZXInLFxuICAgICAgICAgIGVudGl0eVZhbHVlczogWyd7VVNFUn0nXVxuICAgICAgICB9XG4gICAgICBdO1xuICAgICAgdGhpcy5lbWl0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGFkZE5ld1VzZXIoKTogdm9pZCB7XG4gICAgdGhpcy51c2VyT3B0aW9uQ29udGFpbmVyLnB1c2goe1xuICAgICAgZW50aXR5TmFtZTogJ3VzZXInLFxuICAgICAgZW50aXR5VmFsdWVzOiBbJ3tVU0VSfSddXG4gICAgfSk7XG4gICAgdGhpcy5lbWl0Q2hhbmdlcygpO1xuICB9XG5cbiAgZGVsZXRlVXNlcihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy51c2VyT3B0aW9uQ29udGFpbmVyLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5lbWl0Q2hhbmdlcygpO1xuICB9XG5cbiAgLy8gb25DdXN0b21EaW1lbnRpb25DcmVhdGluZyhhcmdzKSB7XG4gIC8vICAgY29uc3QgbmV3VmFsdWUgPSBhcmdzLnRleHQ7XG4gIC8vICAgYXJncy5jdXN0b21JdGVtID0gbmV3VmFsdWU7XG4gIC8vICAgY29uc3QgaXNJdGVtSW5EYXRhU291cmNlID0gdGhpcy5hdmFpbGFibGVEaW1lbnRpb24uc29tZSgoaXRlbSkgPT4gaXRlbSA9PT0gbmV3VmFsdWUpO1xuICAvLyAgIGlmICghaXNJdGVtSW5EYXRhU291cmNlKSB7XG4gIC8vICAgICB0aGlzLmF2YWlsYWJsZURpbWVudGlvbi51bnNoaWZ0KG5ld1ZhbHVlKTtcbiAgLy8gICB9XG5cblxuICAvLyB9XG5cbiAgZW1pdENoYW5nZXMoKTogdm9pZCB7XG4gICAgXG4gICAgdGhpcy51c2VyT3B0aW9uQ29udGFpbmVyQ2hhbmdlLmVtaXQodGhpcy51c2VyT3B0aW9uQ29udGFpbmVyKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInAtNCB3LWZ1bGxcIj5cbiAgPGRpdiBjbGFzcz1cIm0tMyBwLTQgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTIwMCByb3VuZGVkLWxnIHNoYWRvdy1tZCBkYXJrOmJnLWdyYXktODAwIGRhcms6Ym9yZGVyLWdyYXktNzAwXCI+XG5cbiAgICA8aDYgY2xhc3M9XCJtYi0yIHRleHQtbGcgdHJhY2tpbmctdGlnaHQgdGV4dC1ncmF5LTkwMCBkYXJrOnRleHQtd2hpdGUgYm9yZGVyLWIgcGItMyBmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgTWFuYWdlIFBlcm1pc3Npb25zXG4gICAgICA8ZGl2IGNsYXNzPVwibWwtYXV0b1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwie3sgY29tbW9uU2VydmljZT8uYnRuX3ByaW1hcnlfbWQgfX1cIiAoY2xpY2spPVwiYWRkTmV3VXNlcigpXCI+XG4gICAgICAgICAgQWRkIFBlcm1pc3Npb24gRW50aXR5XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9oNj5cblxuICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgbS0yXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHVzZXJPcHRpb25Db250YWluZXI7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3dcIj5cblxuICAgICAgICAgIDwhLS0gQWNjZXNzaWJsZSBVc2VyIFR5cGUgLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm14LTIgdy0xLzRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW1kIHAtMiBjYXBpdGFsaXplXCI+RW50aXR5IFR5cGU8L2Rpdj5cbiAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IFtpdGVtc109XCJtZW51VHlwZVwiIFsobmdNb2RlbCldPVwiaXRlbS5lbnRpdHlOYW1lXCIgKG9uVmFsdWVDaGFuZ2VkKT1cImVtaXRDaGFuZ2VzKClcIj5cbiAgICAgICAgICAgIDwvZHgtc2VsZWN0LWJveD5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDwhLS0gVXNlciAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMiB3LTEvNFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj5FbnRpdHkgVmFsdWU8L2Rpdj5cbiAgICAgICAgICAgIDxkeC10YWctYm94IFsobmdNb2RlbCldPVwiaXRlbS5lbnRpdHlWYWx1ZXNcIiBbYWNjZXB0Q3VzdG9tVmFsdWVdPVwidHJ1ZVwiIChvblZhbHVlQ2hhbmdlZCk9XCJlbWl0Q2hhbmdlcygpXCI+XG4gICAgICAgICAgICA8L2R4LXRhZy1ib3g+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8IS0tIERlbGV0ZSAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgcC0yIGNhcGl0YWxpemVcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC00XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ7eyBjb21tb25TZXJ2aWNlPy5idG5fZGFuZ2VyX21kIH19XCIgKGNsaWNrKT1cImRlbGV0ZVVzZXIoaSlcIj5cbiAgICAgICAgICAgICAgICBEZWxldGVcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -4335,10 +4335,10 @@ class UserAccessComponent {
4335
4335
  }
4336
4336
  }
4337
4337
  UserAccessComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UserAccessComponent, deps: [{ token: CommonService }], target: i0.ɵɵFactoryTarget.Component });
4338
- UserAccessComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: UserAccessComponent, selector: "app-user-access", inputs: { userOptionContainer: "userOptionContainer" }, outputs: { userOptionContainerChange: "userOptionContainerChange" }, ngImport: i0, template: "<div class=\"p-4 w-full\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n\n <h6 class=\"mb-2 text-lg tracking-tight text-gray-900 dark:text-white border-b pb-3 flex items-center\">\n User Information\n <div class=\"ml-auto\">\n <div class=\"{{ commonService?.btn_primary_md }}\" (click)=\"addNewUser()\">\n Add Permission Entity\n </div>\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <ng-container *ngFor=\"let item of userOptionContainer; let i = index\">\n <div class=\"flex flex-row\">\n\n <!-- Accessible User Type -->\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Entity Type</div>\n <dx-select-box [items]=\"menuType\" [(ngModel)]=\"item.entityName\" (onValueChanged)=\"emitChanges()\">\n </dx-select-box>\n </div>\n\n <!-- User -->\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Entity Value</div>\n <dx-tag-box [(ngModel)]=\"item.entityValues\" [acceptCustomValue]=\"true\" (onValueChanged)=\"emitChanges()\">\n </dx-tag-box>\n </div>\n\n <!-- Delete -->\n <div class=\"mx-2\">\n <div class=\"text-md p-2 capitalize\"></div>\n <div class=\"mt-4\">\n <div class=\"{{ commonService?.btn_danger_md }}\" (click)=\"deleteUser(i)\">\n Delete\n </div>\n </div>\n </div>\n\n </div>\n </ng-container>\n </div>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i4$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$1.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i8$1.DxTagBoxComponent, selector: "dx-tag-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "applyValueMode", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hideSelectedItems", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxDisplayedTags", "maxFilterQueryLength", "maxLength", "minSearchLength", "multiline", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectAllMode", "selectAllText", "selectedItems", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showMultiTagOnly", "showSelectionControls", "stylingMode", "tabIndex", "tagTemplate", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCustomItemCreating", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onMultiTagPreparing", "onOpened", "onOptionChanged", "onSelectAllValueChanged", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "applyValueModeChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hideSelectedItemsChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxDisplayedTagsChange", "maxFilterQueryLengthChange", "maxLengthChange", "minSearchLengthChange", "multilineChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectAllModeChange", "selectAllTextChange", "selectedItemsChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showMultiTagOnlyChange", "showSelectionControlsChange", "stylingModeChange", "tabIndexChange", "tagTemplateChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }] });
4338
+ UserAccessComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: UserAccessComponent, selector: "app-user-access", inputs: { userOptionContainer: "userOptionContainer" }, outputs: { userOptionContainerChange: "userOptionContainerChange" }, ngImport: i0, template: "<div class=\"p-4 w-full\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n\n <h6 class=\"mb-2 text-lg tracking-tight text-gray-900 dark:text-white border-b pb-3 flex items-center\">\n Manage Permissions\n <div class=\"ml-auto\">\n <div class=\"{{ commonService?.btn_primary_md }}\" (click)=\"addNewUser()\">\n Add Permission Entity\n </div>\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <ng-container *ngFor=\"let item of userOptionContainer; let i = index\">\n <div class=\"flex flex-row\">\n\n <!-- Accessible User Type -->\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Entity Type</div>\n <dx-select-box [items]=\"menuType\" [(ngModel)]=\"item.entityName\" (onValueChanged)=\"emitChanges()\">\n </dx-select-box>\n </div>\n\n <!-- User -->\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Entity Value</div>\n <dx-tag-box [(ngModel)]=\"item.entityValues\" [acceptCustomValue]=\"true\" (onValueChanged)=\"emitChanges()\">\n </dx-tag-box>\n </div>\n\n <!-- Delete -->\n <div class=\"mx-2\">\n <div class=\"text-md p-2 capitalize\"></div>\n <div class=\"mt-4\">\n <div class=\"{{ commonService?.btn_danger_md }}\" (click)=\"deleteUser(i)\">\n Delete\n </div>\n </div>\n </div>\n\n </div>\n </ng-container>\n </div>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i4$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$1.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i8$1.DxTagBoxComponent, selector: "dx-tag-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "applyValueMode", "buttons", "dataSource", "deferRendering", "disabled", "displayExpr", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hideSelectedItems", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxDisplayedTags", "maxFilterQueryLength", "maxLength", "minSearchLength", "multiline", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectAllMode", "selectAllText", "selectedItems", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showMultiTagOnly", "showSelectionControls", "stylingMode", "tabIndex", "tagTemplate", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationStatus", "value", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCustomItemCreating", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onMultiTagPreparing", "onOpened", "onOptionChanged", "onSelectAllValueChanged", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "applyValueModeChange", "buttonsChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hideSelectedItemsChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxDisplayedTagsChange", "maxFilterQueryLengthChange", "maxLengthChange", "minSearchLengthChange", "multilineChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectAllModeChange", "selectAllTextChange", "selectedItemsChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showMultiTagOnlyChange", "showSelectionControlsChange", "stylingModeChange", "tabIndexChange", "tagTemplateChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationStatusChange", "valueChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }] });
4339
4339
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UserAccessComponent, decorators: [{
4340
4340
  type: Component,
4341
- args: [{ selector: 'app-user-access', template: "<div class=\"p-4 w-full\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n\n <h6 class=\"mb-2 text-lg tracking-tight text-gray-900 dark:text-white border-b pb-3 flex items-center\">\n User Information\n <div class=\"ml-auto\">\n <div class=\"{{ commonService?.btn_primary_md }}\" (click)=\"addNewUser()\">\n Add Permission Entity\n </div>\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <ng-container *ngFor=\"let item of userOptionContainer; let i = index\">\n <div class=\"flex flex-row\">\n\n <!-- Accessible User Type -->\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Entity Type</div>\n <dx-select-box [items]=\"menuType\" [(ngModel)]=\"item.entityName\" (onValueChanged)=\"emitChanges()\">\n </dx-select-box>\n </div>\n\n <!-- User -->\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Entity Value</div>\n <dx-tag-box [(ngModel)]=\"item.entityValues\" [acceptCustomValue]=\"true\" (onValueChanged)=\"emitChanges()\">\n </dx-tag-box>\n </div>\n\n <!-- Delete -->\n <div class=\"mx-2\">\n <div class=\"text-md p-2 capitalize\"></div>\n <div class=\"mt-4\">\n <div class=\"{{ commonService?.btn_danger_md }}\" (click)=\"deleteUser(i)\">\n Delete\n </div>\n </div>\n </div>\n\n </div>\n </ng-container>\n </div>\n </div>\n</div>" }]
4341
+ args: [{ selector: 'app-user-access', template: "<div class=\"p-4 w-full\">\n <div class=\"m-3 p-4 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700\">\n\n <h6 class=\"mb-2 text-lg tracking-tight text-gray-900 dark:text-white border-b pb-3 flex items-center\">\n Manage Permissions\n <div class=\"ml-auto\">\n <div class=\"{{ commonService?.btn_primary_md }}\" (click)=\"addNewUser()\">\n Add Permission Entity\n </div>\n </div>\n </h6>\n\n <div class=\"w-full m-2\">\n <ng-container *ngFor=\"let item of userOptionContainer; let i = index\">\n <div class=\"flex flex-row\">\n\n <!-- Accessible User Type -->\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Entity Type</div>\n <dx-select-box [items]=\"menuType\" [(ngModel)]=\"item.entityName\" (onValueChanged)=\"emitChanges()\">\n </dx-select-box>\n </div>\n\n <!-- User -->\n <div class=\"mx-2 w-1/4\">\n <div class=\"text-md p-2 capitalize\">Entity Value</div>\n <dx-tag-box [(ngModel)]=\"item.entityValues\" [acceptCustomValue]=\"true\" (onValueChanged)=\"emitChanges()\">\n </dx-tag-box>\n </div>\n\n <!-- Delete -->\n <div class=\"mx-2\">\n <div class=\"text-md p-2 capitalize\"></div>\n <div class=\"mt-4\">\n <div class=\"{{ commonService?.btn_danger_md }}\" (click)=\"deleteUser(i)\">\n Delete\n </div>\n </div>\n </div>\n\n </div>\n </ng-container>\n </div>\n </div>\n</div>" }]
4342
4342
  }], ctorParameters: function () { return [{ type: CommonService }]; }, propDecorators: { userOptionContainer: [{
4343
4343
  type: Input
4344
4344
  }], userOptionContainerChange: [{
@@ -13284,25 +13284,25 @@ class ApplicationCreateMenuComponent {
13284
13284
  ngOnInit() {
13285
13285
  let menuId = this.activatedRoute.snapshot.queryParams['menuId'];
13286
13286
  let contentType = this.activatedRoute.snapshot.queryParams['contentType'];
13287
- if (contentType == "edit") {
13287
+ if (menuId && contentType == "edit") {
13288
13288
  this.service.getAppMenuConfigById(menuId).subscribe({
13289
13289
  next: (data) => {
13290
13290
  this.menuObject = data;
13291
13291
  this.selectedQueryParamStr = (data['queryParams'] && data['queryParams']['pageId']) ? data['queryParams']['pageId'] : "";
13292
13292
  this.userOptionContainer = (data['permissions'] && data['permissions'].length !== 0) ? data['permissions'] : [];
13293
13293
  this.isContentType = true;
13294
+ this.getParentMenuList();
13294
13295
  }, error: (err) => {
13295
13296
  }
13296
13297
  });
13297
13298
  }
13298
- this.getParentMenuList();
13299
13299
  }
13300
13300
  getParentMenuList() {
13301
13301
  this.paparentMenuDatasource = [];
13302
13302
  this.service.listAppMenuConfigs().subscribe({
13303
13303
  next: (data) => {
13304
13304
  data.forEach(element => {
13305
- if (element.type == "collapsable") {
13305
+ if (element.type == "collapsable" || element.menuType == "parent") {
13306
13306
  let obj = {};
13307
13307
  obj = {
13308
13308
  parentMenuTid: element.parentMenuTid,
@@ -13313,6 +13313,7 @@ class ApplicationCreateMenuComponent {
13313
13313
  this.paparentMenuDatasource.push(obj);
13314
13314
  }
13315
13315
  });
13316
+ debugger;
13316
13317
  if (this.menuObject.menuId !== "" && this.menuObject.menuType == "parent") {
13317
13318
  const menu_object = this.paparentMenuDatasource.filter(menu => menu.menuId == this.menuObject.menuId);
13318
13319
  this.defaultSelectedParent = menu_object[0].menuId;