qms-angular 1.1.14 → 1.1.16

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.
Files changed (41) hide show
  1. package/bundles/qms-angular.umd.js +510 -154
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/components/breadcrumb/breadcrumb.js +3 -3
  4. package/esm2015/lib/components/qms-nav-drawer/qms-nav-drawer.component.js +3 -3
  5. package/esm2015/lib/components/qms-paginator/qms-paginator.component.js +12 -3
  6. package/esm2015/lib/components/select-access-dialog/select-access-dialog.component.js +49 -23
  7. package/esm2015/lib/components/select-access-dialog/select-access-dialog.module.js +5 -1
  8. package/esm2015/lib/components/select-department/common/animation.js +4 -4
  9. package/esm2015/lib/components/select-department/model/select-department-popup-data.model.js +5 -2
  10. package/esm2015/lib/components/select-department/select-department.component.js +28 -14
  11. package/esm2015/lib/components/select-department/select-department.module.js +4 -2
  12. package/esm2015/lib/components/select-department-tree/animation/animation.js +54 -0
  13. package/esm2015/lib/components/select-department-tree/model/department-search-result.model.js +6 -0
  14. package/esm2015/lib/components/select-department-tree/public-api.js +3 -1
  15. package/esm2015/lib/components/select-department-tree/select-department-tree.component.js +296 -73
  16. package/esm2015/lib/components/select-department-tree/select-department-tree.module.js +15 -5
  17. package/esm2015/lib/components/select-department-tree/service/select-department-tree-global.service.js +1 -1
  18. package/esm2015/lib/components/select-one/select-one-next.component.js +1 -1
  19. package/esm2015/lib/components/tree/basic-tree.component.js +1 -1
  20. package/esm2015/lib/model/en.js +5 -2
  21. package/esm2015/lib/model/no.js +4 -1
  22. package/fesm2015/qms-angular.js +494 -153
  23. package/fesm2015/qms-angular.js.map +1 -1
  24. package/lib/components/select-access-dialog/select-access-dialog.component.d.ts +8 -0
  25. package/lib/components/select-department/model/select-department-popup-data.model.d.ts +2 -0
  26. package/lib/components/select-department/select-department.component.d.ts +14 -8
  27. package/lib/components/select-department-tree/animation/animation.d.ts +1 -0
  28. package/lib/components/select-department-tree/model/department-search-result.model.d.ts +11 -0
  29. package/lib/components/select-department-tree/public-api.d.ts +2 -0
  30. package/lib/components/select-department-tree/select-department-tree.component.d.ts +50 -17
  31. package/lib/model/en.d.ts +3 -0
  32. package/lib/model/no.d.ts +3 -0
  33. package/package.json +1 -1
  34. package/qms-angular.metadata.json +1 -1
  35. package/src/lib/components/breadcrumb/breadcrumb.scss +3 -3
  36. package/src/lib/components/qms-paginator/qms-paginator.component.scss +4 -0
  37. package/src/lib/components/select-access-dialog/select-access-dialog.component.scss +69 -2
  38. package/src/lib/components/select-department/select-department.component.scss +1 -9
  39. package/src/lib/components/select-department-tree/select-department-tree.component.scss +166 -2
  40. package/src/themes/_qms-icon-font.scss +1 -1
  41. package/src/themes/core/_table-pure-gap.scss +0 -1
@@ -169,9 +169,9 @@ export class QMSBreadcrumb {
169
169
  QMSBreadcrumb.decorators = [
170
170
  { type: Component, args: [{
171
171
  selector: 'qms-breadcrumb',
172
- template: "<div>\r\n <div class=\"breadcrumb-container\" *ngIf=\"!isMobileType\">\r\n <!-- Home -->\r\n <div\r\n qms-breadcrumb-item\r\n *ngIf=\"!isOverflow || type=='table'\"\r\n [(showTooltip)]=\"homeNode['isOverflow']\"\r\n >\r\n <mat-icon\r\n *ngIf=\"homeNode?.displayType === itemIconType.name\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n >\r\n {{ homeNode?.itemIcon }}\r\n </mat-icon>\r\n <mat-icon\r\n *ngIf=\"homeNode?.displayType === itemIconType.svg\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n [svgIcon]=\"homeNode.itemIconSvg\"\r\n >\r\n </mat-icon>\r\n <img\r\n *ngIf=\"homeNode?.displayType === itemIconType.path\"\r\n class=\"mat-icon item-icon\"\r\n [src]=\"homeNode.itemIconPath\"\r\n />\r\n <img\r\n *ngIf=\"homeNode?.displayType === itemIconType.base64\"\r\n class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(homeNode)\"\r\n />\r\n <div\r\n class=\"qms-breadcrumb-item-text\"\r\n [qms-tool-tip]=\"homeNode['name']\"\r\n [showToolTip]=\"homeNode['isOverflow']\"\r\n #breadcrumbItemText\r\n mode=\"dark\"\r\n (click)=\"onItemSelect(homeNode)\"\r\n >\r\n {{homeNode?.name}}\r\n </div>\r\n <mat-icon *ngIf=\"!isOverflow && type !=='table'\"\r\n >keyboard_arrow_right</mat-icon\r\n >\r\n <span\r\n *ngIf=\"itemNodes.length && type=='table'\"\r\n qms-breadcrumb-direction-icon\r\n >\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </div>\r\n\r\n <!-- Dropdown not table -->\r\n <div qms-breadcrumb-item *ngIf=\"isOverflow && type!='table'\">\r\n <button\r\n qms-btn-icon\r\n color=\"light\"\r\n class=\"breadcrumb__dropdown-btn\"\r\n [matMenuTriggerFor]=\"bodyMediumMenu\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n <mat-icon svgIcon=\"breadcrumb_dropdown\"></mat-icon>\r\n </button>\r\n <mat-menu\r\n #bodyMediumMenu=\"matMenu\"\r\n yPosition=\"below\"\r\n class=\"qms-breadcrumb-menu\"\r\n >\r\n <div>\r\n <div\r\n qms-menu-item\r\n mat-menu-item\r\n disableRipple\r\n *ngFor=\"let item of dropdownNodes\"\r\n (keydown.enter)=\"onKeyPressed($event)\"\r\n (click)=\"onItemSelect(item)\"\r\n >\r\n <div #menuItemContent qms-expansion-header>\r\n <div qms-list-header>\r\n <div qms-line color=\"default-subtitle\">{{item.name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n\r\n <span qms-breadcrumb-direction-icon>\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </div>\r\n\r\n <!-- Dropdown table -->\r\n <div qms-breadcrumb-item *ngIf=\"isOverflow && type=='table'\">\r\n <button\r\n qms-btn-icon\r\n color=\"light\"\r\n (click)=\"$event.stopPropagation()\"\r\n [matMenuTriggerFor]=\"bodyMediumMenu\"\r\n >\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n <mat-menu\r\n #bodyMediumMenu=\"matMenu\"\r\n yPosition=\"below\"\r\n class=\"qms-breadcrumb-menu\"\r\n >\r\n <div>\r\n <div\r\n qms-menu-item\r\n mat-menu-item\r\n disableRipple\r\n *ngFor=\"let item of dropdownNodes\"\r\n (keydown.enter)=\"onKeyPressed($event)\"\r\n (click)=\"onItemSelect(item)\"\r\n >\r\n <div #menuItemContent qms-expansion-header>\r\n <div qms-list-header>\r\n <div qms-line color=\"default-subtitle\">{{item.name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n\r\n <span qms-breadcrumb-direction-icon>\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </div>\r\n <!-- Item list -->\r\n <div\r\n qms-breadcrumb-item\r\n *ngFor=\"let item of itemNodes;let i=index\"\r\n [isLastItem]=\"i === itemNodes.length - 1\"\r\n [(showTooltip)]=\"item.isOverflow\"\r\n >\r\n <mat-icon\r\n *ngIf=\"item.displayType === itemIconType.name && item.isShow\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n >\r\n {{ item.itemIcon }}\r\n </mat-icon>\r\n <mat-icon\r\n *ngIf=\"item.displayType === itemIconType.svg && item.isShow\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n [svgIcon]=\"item.itemIconSvg\"\r\n >\r\n </mat-icon>\r\n <img\r\n *ngIf=\"item.displayType === itemIconType.path && item.isShow\"\r\n class=\"mat-icon item-icon\"\r\n [src]=\"item.itemIconPath\"\r\n />\r\n <img\r\n *ngIf=\"item.displayType === itemIconType.base64 && item.isShow\"\r\n class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(item)\"\r\n />\r\n <div\r\n class=\"qms-breadcrumb-item-text\"\r\n [qms-tool-tip]=\"item.name\"\r\n [showToolTip]=\"item.isOverflow\"\r\n #breadcrumbItemText\r\n mode=\"dark\"\r\n *ngIf=\"item.isShow\"\r\n (click)=\"onItemSelect(item, i == itemNodes.length - 1);\"\r\n >\r\n {{item.name}}\r\n </div>\r\n <span\r\n qms-breadcrumb-direction-icon\r\n *ngIf=\"item.isShow && i !== itemNodes.length - 1\"\r\n >\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"breadcrumb-container\" *ngIf=\"isMobileType\">\r\n <mat-sidenav-container>\r\n <mat-sidenav\r\n #sidenav\r\n mode=\"'over'\"\r\n class=\"breadcrumb-sidenav\"\r\n [fixedInViewport]=\"true\"\r\n >\r\n <div class=\"header\">\r\n <div class=\"header-left\">\r\n <p>{{LANG.BREADCRUMB}}</p>\r\n <div class=\"sub\">{{LANG.NAVIGATE_TO}}</div>\r\n </div>\r\n <div class=\"header-right\">\r\n <button qms-btn-text (click)=\"sidenav.close()\">\r\n {{LANG.QMSCKEDITOR.CLOSE}}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"content\">\r\n <mat-selection-list #shoes [multiple]=\"false\">\r\n <mat-list-option\r\n class=\"qms-list-option\"\r\n *ngFor=\"let item of sideNavNodes; let first = first; let last = last;\"\r\n (click)=\"onItemSelect(item)\"\r\n >\r\n <mat-icon\r\n *ngIf=\"!first\"\r\n mat-list-icon\r\n class=\"subdirectory_arrow_right\"\r\n >subdirectory_arrow_right</mat-icon\r\n >\r\n <div class=\"content-text-name\">\r\n <div class=\"content-text-name-heading\">\r\n <mat-icon\r\n *ngIf=\"item.displayType === itemIconType.name\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n >\r\n {{ item.itemIcon }}\r\n </mat-icon>\r\n <img\r\n *ngIf=\"item.displayType === itemIconType.path\"\r\n class=\"mat-icon item-icon\"\r\n [src]=\"item.itemIconPath\"\r\n />\r\n <img\r\n *ngIf=\"item.displayType === itemIconType.base64\"\r\n class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(item)\"\r\n />\r\n <span class=\"\">{{item.name}}</span>\r\n </div>\r\n <mat-icon class=\"color-gray\" *ngIf=\"last\">done</mat-icon>\r\n </div>\r\n </mat-list-option>\r\n </mat-selection-list>\r\n </div>\r\n </mat-sidenav>\r\n\r\n <mat-sidenav-content>\r\n <button\r\n qms-btn-icon\r\n class=\"more_horiz-btn\"\r\n color=\"light\"\r\n *ngIf=\"sideNavNodes.length\"\r\n (click)=\"sidenav.toggle()\"\r\n >\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n </mat-sidenav-content>\r\n </mat-sidenav-container>\r\n <div qms-breadcrumb-item [(showTooltip)]=\"previousNode['isOverflow']\">\r\n <!-- Home -->\r\n <span qms-breadcrumb-direction-icon>\r\n <mat-icon>keyboard_arrow_left</mat-icon>\r\n </span>\r\n <mat-icon\r\n *ngIf=\"previousNode?.displayType === itemIconType.name\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n >\r\n {{ previousNode.itemIcon }}\r\n </mat-icon>\r\n <mat-icon\r\n *ngIf=\"previousNode?.displayType === itemIconType.svg\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\"\r\n [svgIcon]=\"previousNode.itemIconSvg\"\r\n >\r\n </mat-icon>\r\n <img\r\n *ngIf=\"previousNode?.displayType === itemIconType.path\"\r\n class=\"mat-icon item-icon\"\r\n [src]=\"previousNode.itemIconPath\"\r\n />\r\n <img\r\n *ngIf=\"previousNode?.displayType === itemIconType.base64\"\r\n class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(previousNode)\"\r\n />\r\n <div\r\n class=\"qms-breadcrumb-item-text\"\r\n [qms-tool-tip]=\"previousNode['name']\"\r\n [showToolTip]=\"previousNode['isOverflow']\"\r\n #breadcrumbItemText\r\n mode=\"dark\"\r\n (click)=\"onItemSelect(previousNode)\"\r\n >\r\n {{previousNode.name}}\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
172
+ template: "<div>\r\n <div class=\"breadcrumb-container\" *ngIf=\"!isMobileType\">\r\n <!-- Home -->\r\n <div qms-breadcrumb-item *ngIf=\"!isOverflow || type=='table'\" [(showTooltip)]=\"homeNode['isOverflow']\">\r\n <mat-icon *ngIf=\"homeNode?.displayType === itemIconType.name\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\">\r\n {{ homeNode?.itemIcon }}\r\n </mat-icon>\r\n <mat-icon *ngIf=\"homeNode?.displayType === itemIconType.svg\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\" [svgIcon]=\"homeNode.itemIconSvg\">\r\n </mat-icon>\r\n <img *ngIf=\"homeNode?.displayType === itemIconType.path\" class=\"mat-icon item-icon\"\r\n [src]=\"homeNode.itemIconPath\" />\r\n <img *ngIf=\"homeNode?.displayType === itemIconType.base64\" class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(homeNode)\" />\r\n <div class=\"qms-breadcrumb-item-text\" [qms-tool-tip]=\"homeNode['name']\" [showToolTip]=\"homeNode['isOverflow']\"\r\n #breadcrumbItemText mode=\"dark\" (click)=\"onItemSelect(homeNode)\">\r\n {{homeNode?.name}}\r\n </div>\r\n <mat-icon *ngIf=\"!isOverflow && type !=='table'\">keyboard_arrow_right</mat-icon>\r\n <span *ngIf=\"itemNodes.length && type=='table'\" qms-breadcrumb-direction-icon>\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </div>\r\n\r\n <!-- Dropdown not table -->\r\n <div qms-breadcrumb-item *ngIf=\"isOverflow && type!='table'\">\r\n <button qms-btn-icon color=\"light\" class=\"breadcrumb__dropdown-btn\" [matMenuTriggerFor]=\"bodyMediumMenu\"\r\n (click)=\"$event.stopPropagation()\">\r\n <mat-icon svgIcon=\"breadcrumb_dropdown\"></mat-icon>\r\n </button>\r\n <mat-menu #bodyMediumMenu=\"matMenu\" yPosition=\"below\" class=\"qms-breadcrumb-menu\">\r\n <div>\r\n <div qms-menu-item mat-menu-item disableRipple *ngFor=\"let item of dropdownNodes\"\r\n (keydown.enter)=\"onKeyPressed($event)\" (click)=\"onItemSelect(item)\">\r\n <div #menuItemContent qms-expansion-header>\r\n <div qms-list-header>\r\n <div qms-line color=\"default-subtitle\">{{item.name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n\r\n <span qms-breadcrumb-direction-icon>\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </div>\r\n\r\n <!-- Dropdown table -->\r\n <div qms-breadcrumb-item *ngIf=\"isOverflow && type=='table' && dropdownNodes.length\">\r\n <button qms-btn-icon color=\"light\" (click)=\"$event.stopPropagation()\" [matMenuTriggerFor]=\"bodyMediumMenu\">\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n <mat-menu #bodyMediumMenu=\"matMenu\" yPosition=\"below\" class=\"qms-breadcrumb-menu\">\r\n <div>\r\n <div qms-menu-item mat-menu-item disableRipple *ngFor=\"let item of dropdownNodes\"\r\n (keydown.enter)=\"onKeyPressed($event)\" (click)=\"onItemSelect(item)\">\r\n <div #menuItemContent qms-expansion-header>\r\n <div qms-list-header>\r\n <div qms-line color=\"default-subtitle\">{{item.name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n\r\n <span qms-breadcrumb-direction-icon>\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </div>\r\n <!-- Item list -->\r\n <div qms-breadcrumb-item *ngFor=\"let item of itemNodes;let i=index\" [isLastItem]=\"i === itemNodes.length - 1\"\r\n [(showTooltip)]=\"item.isOverflow\">\r\n <mat-icon *ngIf=\"item.displayType === itemIconType.name && item.isShow\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\">\r\n {{ item.itemIcon }}\r\n </mat-icon>\r\n <mat-icon *ngIf=\"item.displayType === itemIconType.svg && item.isShow\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\" [svgIcon]=\"item.itemIconSvg\">\r\n </mat-icon>\r\n <img *ngIf=\"item.displayType === itemIconType.path && item.isShow\" class=\"mat-icon item-icon\"\r\n [src]=\"item.itemIconPath\" />\r\n <img *ngIf=\"item.displayType === itemIconType.base64 && item.isShow\" class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(item)\" />\r\n <div class=\"qms-breadcrumb-item-text\" [qms-tool-tip]=\"item.name\" [showToolTip]=\"item.isOverflow\"\r\n #breadcrumbItemText mode=\"dark\" *ngIf=\"item.isShow\" (click)=\"onItemSelect(item, i == itemNodes.length - 1);\">\r\n {{item.name}}\r\n </div>\r\n <span qms-breadcrumb-direction-icon *ngIf=\"item.isShow && i !== itemNodes.length - 1\">\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"breadcrumb-container\" *ngIf=\"isMobileType\">\r\n <mat-sidenav-container>\r\n <mat-sidenav #sidenav mode=\"'over'\" class=\"breadcrumb-sidenav\" [fixedInViewport]=\"true\">\r\n <div class=\"header\">\r\n <div class=\"header-left\">\r\n <p>{{LANG.BREADCRUMB}}</p>\r\n <div class=\"sub\">{{LANG.NAVIGATE_TO}}</div>\r\n </div>\r\n <div class=\"header-right\">\r\n <button qms-btn-text (click)=\"sidenav.close()\">\r\n {{LANG.QMSCKEDITOR.CLOSE}}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"content\">\r\n <mat-selection-list #shoes [multiple]=\"false\">\r\n <mat-list-option class=\"qms-list-option\"\r\n *ngFor=\"let item of sideNavNodes; let first = first; let last = last;\" (click)=\"onItemSelect(item)\">\r\n <mat-icon *ngIf=\"!first\" mat-list-icon class=\"subdirectory_arrow_right\">subdirectory_arrow_right\r\n </mat-icon>\r\n <div class=\"content-text-name\">\r\n <div class=\"content-text-name-heading\">\r\n <mat-icon *ngIf=\"item.displayType === itemIconType.name\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\">\r\n {{ item.itemIcon }}\r\n </mat-icon>\r\n <img *ngIf=\"item.displayType === itemIconType.path\" class=\"mat-icon item-icon\"\r\n [src]=\"item.itemIconPath\" />\r\n <img *ngIf=\"item.displayType === itemIconType.base64\" class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(item)\" />\r\n <span class=\"\">{{item.name}}</span>\r\n </div>\r\n <mat-icon class=\"color-gray\" *ngIf=\"last\">done</mat-icon>\r\n </div>\r\n </mat-list-option>\r\n </mat-selection-list>\r\n </div>\r\n </mat-sidenav>\r\n\r\n <mat-sidenav-content>\r\n <button qms-btn-icon class=\"more_horiz-btn\" color=\"light\" *ngIf=\"sideNavNodes.length\"\r\n (click)=\"sidenav.toggle()\">\r\n <mat-icon>more_horiz</mat-icon>\r\n </button>\r\n </mat-sidenav-content>\r\n </mat-sidenav-container>\r\n <div qms-breadcrumb-item [(showTooltip)]=\"previousNode['isOverflow']\">\r\n <!-- Home -->\r\n <span qms-breadcrumb-direction-icon>\r\n <mat-icon>keyboard_arrow_left</mat-icon>\r\n </span>\r\n <mat-icon *ngIf=\"previousNode?.displayType === itemIconType.name\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\">\r\n {{ previousNode.itemIcon }}\r\n </mat-icon>\r\n <mat-icon *ngIf=\"previousNode?.displayType === itemIconType.svg\"\r\n class=\"mat-icon-rtl-mirror material-icons-outlined item-icon\" [svgIcon]=\"previousNode.itemIconSvg\">\r\n </mat-icon>\r\n <img *ngIf=\"previousNode?.displayType === itemIconType.path\" class=\"mat-icon item-icon\"\r\n [src]=\"previousNode.itemIconPath\" />\r\n <img *ngIf=\"previousNode?.displayType === itemIconType.base64\" class=\"mat-icon image-base64 item-icon\"\r\n [src]=\"getImagePath(previousNode)\" />\r\n <div class=\"qms-breadcrumb-item-text\" [qms-tool-tip]=\"previousNode['name']\"\r\n [showToolTip]=\"previousNode['isOverflow']\" #breadcrumbItemText mode=\"dark\" (click)=\"onItemSelect(previousNode)\">\r\n {{previousNode.name}}\r\n </div>\r\n </div>\r\n </div>\r\n</div>",
173
173
  encapsulation: ViewEncapsulation.None,
174
- styles: [".breadcrumb-container{display:flex;font-family:Open Sans;font-size:14px;font-weight:600;color:#323232}.breadcrumb-container .qms-breadcrumb-direction-icon,.breadcrumb-container .qms-breadcrumb-item{display:flex;align-items:center;padding:3px 0 2px}.breadcrumb-container .qms-breadcrumb-direction-icon .mat-icon{width:18px;height:18px;font-size:18px;margin-left:.5rem;margin-right:.5rem}.breadcrumb-container .item-icon{margin-right:2px}.breadcrumb-container .qms-breadcrumb-item{cursor:inherit;margin:8px 8px 8px 0}.breadcrumb-container .qms-breadcrumb-item .qms-btn-icon{width:1.5rem;height:1.5rem;line-height:2rem}.breadcrumb-container .qms-breadcrumb-item .qms-breadcrumb-item-overflow{max-width:240px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.breadcrumb-container .qms-breadcrumb-item .breadcrumb__dropdown-btn{width:2rem;height:2rem}.breadcrumb-container .qms-breadcrumb-item .breadcrumb__dropdown-btn svg{display:block}.breadcrumb-container .qms-breadcrumb-last-item{color:rgba(0,0,0,.6);font-weight:400;cursor:not-allowed}.breadcrumb-container .mat-drawer-container{z-index:3;background-color:transparent}.qms-breadcrumb-table .breadcrumb-container .qms-breadcrumb-direction-icon .mat-icon{width:12px;height:12px;font-size:12px;margin-left:.25rem;margin-right:.25rem;color:rgba(0,0,0,.6)}.qms-breadcrumb-table .breadcrumb-container .item-icon{margin-right:1px}.qms-breadcrumb-table .breadcrumb-container .qms-breadcrumb-item .qms-breadcrumb-item-text{font-size:12px;font-weight:400;color:rgba(0,0,0,.6)}.qms-breadcrumb-table .breadcrumb-container .qms-breadcrumb-item .qms-breadcrumb-item-overflow{max-width:240px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.qms-breadcrumb__multi-line .breadcrumb-container{flex-wrap:wrap}.qms-breadcrumb-menu .qms-dropdown-menu-item{border:none}.breadcrumb-sidenav{display:flex;align-items:center;justify-content:center;width:100%;background:#fff;z-index:3}.breadcrumb-sidenav .header{font-family:Open Sans;font-style:normal;background-color:var(--background-area);height:71px;display:flex;justify-content:space-between;padding:16px}.breadcrumb-sidenav .header p{font-weight:600;font-size:18px;line-height:25px;color:var(--default-color);margin-bottom:0}.breadcrumb-sidenav .header .sub{font-weight:400;font-size:14px;line-height:22px;color:#5a5a5a}.breadcrumb-sidenav .content{padding:0 16px 16px;height:calc(100vh - 71px);overflow:auto}.breadcrumb-sidenav .content .qms-list-option{height:unset!important}.breadcrumb-sidenav .content .qms-list-option .mat-list-text{padding-right:0!important;padding-left:0!important}.breadcrumb-sidenav .content .qms-list-option .mat-list-item-content{border-bottom:1px solid #e0e0e0;padding:8px}.breadcrumb-sidenav .content-text-name{display:flex;align-items:center;justify-content:space-between}.breadcrumb-sidenav .content-text-name .content-text-name-heading{display:flex;align-items:center;color:var(--default-color)}.breadcrumb-sidenav .content-text-name .content-text-name-heading .item-icon{margin-right:10px;color:var(--tab-border)}.breadcrumb-sidenav .content-text-name .color-gray{color:var(--tab-border)}.more_horiz-btn.qms-btn-icon{width:1.5rem;height:1.5rem;line-height:2rem;margin:8px 0 8px 8px}.subdirectory_arrow_right{color:#0163b2}"]
174
+ styles: [".breadcrumb-container{display:flex;font-family:Open Sans;font-size:14px;font-weight:600;color:#323232}.breadcrumb-container .qms-breadcrumb-direction-icon,.breadcrumb-container .qms-breadcrumb-item{display:flex;align-items:center;padding:3px 0 2px}.breadcrumb-container .qms-breadcrumb-direction-icon .mat-icon{width:18px;height:18px;font-size:18px;margin-left:.25rem;margin-right:.25rem}.breadcrumb-container .item-icon{margin-right:2px}.breadcrumb-container .qms-breadcrumb-item{cursor:inherit;margin:8px 0}.breadcrumb-container .qms-breadcrumb-item .qms-btn-icon{width:1.5rem;height:1.5rem;line-height:2rem}.breadcrumb-container .qms-breadcrumb-item .qms-breadcrumb-item-overflow{max-width:240px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.breadcrumb-container .qms-breadcrumb-item .breadcrumb__dropdown-btn{width:2rem;height:2rem}.breadcrumb-container .qms-breadcrumb-item .breadcrumb__dropdown-btn svg{display:block}.breadcrumb-container .qms-breadcrumb-last-item{color:rgba(0,0,0,.6);font-weight:400;cursor:not-allowed}.breadcrumb-container .mat-drawer-container{z-index:3;background-color:transparent}.qms-breadcrumb-table .breadcrumb-container .qms-breadcrumb-direction-icon .mat-icon{width:12px;height:12px;font-size:12px;margin-left:.25rem;margin-right:.25rem;color:rgba(0,0,0,.6)}.qms-breadcrumb-table .breadcrumb-container .item-icon{margin-right:1px}.qms-breadcrumb-table .breadcrumb-container .qms-breadcrumb-item .qms-breadcrumb-item-text{font-size:12px;font-weight:400;color:rgba(0,0,0,.6)}.qms-breadcrumb-table .breadcrumb-container .qms-breadcrumb-item .qms-breadcrumb-item-overflow{max-width:240px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.qms-breadcrumb__multi-line .breadcrumb-container{flex-wrap:wrap}.qms-breadcrumb-menu .qms-dropdown-menu-item{border:none}.breadcrumb-sidenav{display:flex;align-items:center;justify-content:center;width:100%;background:#fff;z-index:3}.breadcrumb-sidenav .header{font-family:Open Sans;font-style:normal;background-color:var(--background-area);height:71px;display:flex;justify-content:space-between;padding:16px}.breadcrumb-sidenav .header p{font-weight:600;font-size:18px;line-height:25px;color:var(--default-color);margin-bottom:0}.breadcrumb-sidenav .header .sub{font-weight:400;font-size:14px;line-height:22px;color:#5a5a5a}.breadcrumb-sidenav .content{padding:0 16px 16px;height:calc(100vh - 71px);overflow:auto}.breadcrumb-sidenav .content .qms-list-option{height:unset!important}.breadcrumb-sidenav .content .qms-list-option .mat-list-text{padding-right:0!important;padding-left:0!important}.breadcrumb-sidenav .content .qms-list-option .mat-list-item-content{border-bottom:1px solid #e0e0e0;padding:8px}.breadcrumb-sidenav .content-text-name{display:flex;align-items:center;justify-content:space-between}.breadcrumb-sidenav .content-text-name .content-text-name-heading{display:flex;align-items:center;color:var(--default-color)}.breadcrumb-sidenav .content-text-name .content-text-name-heading .item-icon{margin-right:10px;color:var(--tab-border)}.breadcrumb-sidenav .content-text-name .color-gray{color:var(--tab-border)}.more_horiz-btn.qms-btn-icon{width:1.5rem;height:1.5rem;line-height:2rem;margin:8px 0 8px 8px}.subdirectory_arrow_right{color:#0163b2}"]
175
175
  },] }
176
176
  ];
177
177
  QMSBreadcrumb.ctorParameters = () => [
@@ -191,4 +191,4 @@ QMSBreadcrumb.propDecorators = {
191
191
  onItemClick: [{ type: Output }],
192
192
  breadCrumbNodes: [{ type: ViewChildren, args: [QMSBreadcrumbItemDirective, {},] }]
193
193
  };
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUE0QixZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEwsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQVUvRCxNQUFNLE9BQU8sYUFBYTtJQXFCeEIsWUFBb0IsR0FBZSxFQUN6QixZQUE2QixFQUM3QixLQUF3QixFQUN4QixTQUF1QixFQUN4QixLQUE4QjtRQUpuQixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENB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ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkcmVuLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcbmltcG9ydCB7IEJSRUFEQ1JVTUJfRFJPUERPV05fSUNPTiB9IGZyb20gXCIuLi8uLi9jb21tb24vcW1zLWljb24uY29uc3RcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdHJhbnNsYXRpb24tcmVnaXN0cnkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJdGVtSWNvblR5cGUgfSBmcm9tIFwiLi4vcmVsYXRlZC9jb21tb24vaXRlbS1pY29uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQgeyBRTVNCcmVhZGNydW1iSXRlbURpcmVjdGl2ZSB9IGZyb20gXCIuL2JyZWFkY3J1bWItaXRlbS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgQnJlYWRjcnVtYlR5cGUgfSBmcm9tIFwiLi9lbnVtL2JyZWFkY3J1bWItdHlwZVwiO1xyXG5pbXBvcnQgeyBEcm9wZG93bkJyZWFkQ3J1bWJOb2RlV2lkdGggfSBmcm9tIFwiLi9lbnVtL2Ryb3Bkb3duLW5vZGUtd2lkdGguZW51bVwiO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iTm9kZSB9IGZyb20gXCIuL21vZGVsL2JyZWFkY3J1bWItbm9kZS5tb2RlbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdxbXMtYnJlYWRjcnVtYicsXHJcbiAgdGVtcGxhdGVVcmw6ICdicmVhZGNydW1iLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWydicmVhZGNydW1iLnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFFNU0JyZWFkY3J1bWIgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIG5vZGVzOiBCcmVhZGNydW1iTm9kZVtdO1xyXG4gIEBJbnB1dCgpIHR5cGU6IEJyZWFkY3J1bWJUeXBlLm5vcm1hbCB8IEJyZWFkY3J1bWJUeXBlLnRhYmxlIHwgQnJlYWRjcnVtYlR5cGUubW9iaWxlID0gQnJlYWRjcnVtYlR5cGUubm9ybWFsO1xyXG4gIEBJbnB1dCgpIG1heExpbmU6IG51bWJlcjtcclxuICBASW5wdXQoKSBudW1EaXNwbGF5SXRlbTogbnVtYmVyID0gMDtcclxuICBASW5wdXQoKSBvbmx5SXRlbTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkTGFzdEl0ZW06IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBPdXRwdXQoKSBvbkl0ZW1DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAVmlld0NoaWxkcmVuKFFNU0JyZWFkY3J1bWJJdGVtRGlyZWN0aXZlLCB7fSkgYnJlYWRDcnVtYk5vZGVzOiBRdWVyeUxpc3Q8UU1TQnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmU+O1xyXG5cclxuICBpc092ZXJmbG93ID0gZmFsc2U7XHJcbiAgZHJvcGRvd25Ob2RlczogQnJlYWRjcnVtYk5vZGVbXSA9IFtdO1xyXG4gIGhvbWVOb2RlOiBCcmVhZGNydW1iTm9kZSA9IG5ldyBCcmVhZGNydW1iTm9kZSgpO1xyXG4gIHByZXZpb3VzTm9kZTogQnJlYWRjcnVtYk5vZGUgPSBuZXcgQnJlYWRjcnVtYk5vZGUoKTtcclxuICBpdGVtTm9kZXM6IEJyZWFkY3J1bWJOb2RlW107XHJcbiAgc2lkZU5hdk5vZGVzOiBCcmVhZGNydW1iTm9kZVtdID0gW107XHJcbiAgaXRlbVNwYWNlOiBudW1iZXIgPSBEcm9wZG93bkJyZWFkQ3J1bWJOb2RlV2lkdGguTk9STUFMOyAvLyB3aWR0aCBvZiBkcm9wZG93biBub2RlIGluIG5vcm1hbCB2aWV3XHJcbiAgaXRlbUljb25UeXBlO1xyXG4gIGlzTW9iaWxlVHlwZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIExBTkc6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGU6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgcHVibGljIHRyYW5zOiBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSkge1xyXG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCdicmVhZGNydW1iX2Ryb3Bkb3duJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKEJSRUFEQ1JVTUJfRFJPUERPV05fSUNPTikpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMubm9kZXMgJiYgdGhpcy5icmVhZENydW1iTm9kZXMgJiYgSlNPTi5zdHJpbmdpZnkoY2hhbmdlcy5ub2Rlcy5jdXJyZW50VmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzLm5vZGVzLnByZXZpb3VzVmFsdWUpKSB7XHJcbiAgICAgIHRoaXMubm9kZXMgPSBbLi4uY2hhbmdlcy5ub2Rlcy5jdXJyZW50VmFsdWVdO1xyXG4gICAgICB0aGlzLmluaXRCcmVhZENydW1iKCk7XHJcbiAgICAgIHRoaXMuYnVpbGRCcmVhZGNydW1iKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudHJhbnMuZ2V0TGFuZ3VhZ2VTdWJqZWN0JC5waXBlKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgIHRoaXMuTEFORyA9IHRoaXMudHJhbnMuZ2V0T2JqZWN0TGFuZyhyZXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmlzTW9iaWxlVHlwZSA9ICh0aGlzLnR5cGUgPT0gQnJlYWRjcnVtYlR5cGUubW9iaWxlKTtcclxuICAgIHRoaXMuaXRlbUljb25UeXBlID0gSXRlbUljb25UeXBlO1xyXG4gICAgdGhpcy5pbml0QnJlYWRDcnVtYigpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5idWlsZEJyZWFkY3J1bWIoKTtcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tPdmVyZmxvdyh3aWR0aDogbnVtYmVyKSB7XHJcblxyXG4gICAgY29uc3Qgbm9kZVdpZHRocyA9IHRoaXMuYnJlYWRDcnVtYk5vZGVzLm1hcCh4ID0+IHguZWxlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpO1xyXG4gICAgbGV0IGN1cnJlbnRXaWR0aCA9IDA7XHJcbiAgICBub2RlV2lkdGhzLmZvckVhY2god2lkdGggPT4ge1xyXG4gICAgICBjdXJyZW50V2lkdGggKz0gd2lkdGg7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmlzT3ZlcmZsb3cgPSB3aWR0aCA8IGN1cnJlbnRXaWR0aCAmJiAodGhpcy5pdGVtTm9kZXMubGVuZ3RoID49IHRoaXMubnVtRGlzcGxheUl0ZW0pO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNPdmVyZmxvdykge1xyXG4gICAgICBsZXQgc2NyZWVuV2lkdGggPSB3aWR0aDtcclxuICAgICAgaWYgKHRoaXMudHlwZSAhPT0gJ3RhYmxlJykge1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd25Ob2Rlcy5wdXNoKHRoaXMuaG9tZU5vZGUpO1xyXG4gICAgICAgIGN1cnJlbnRXaWR0aCAtPSBub2RlV2lkdGhzWzBdO1xyXG4gICAgICAgIGN1cnJlbnRXaWR0aCArPSB0aGlzLml0ZW1TcGFjZTtcclxuICAgICAgICBzY3JlZW5XaWR0aCAtPSB0aGlzLml0ZW1TcGFjZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjdXJyZW50V2lkdGggKz0gdGhpcy5pdGVtU3BhY2U7XHJcbiAgICAgICAgc2NyZWVuV2lkdGggLT0gbm9kZVdpZHRoc1swXTtcclxuICAgICAgICBzY3JlZW5XaWR0aCAtPSB0aGlzLml0ZW1TcGFjZTtcclxuICAgICAgfVxyXG4gICAgICBub2RlV2lkdGhzLnNoaWZ0KCk7XHJcbiAgICAgIG5vZGVXaWR0aHMuZm9yRWFjaCgoZWxlV2lkdGgsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgaWYgKGN1cnJlbnRXaWR0aCA+IHNjcmVlbldpZHRoKSB7XHJcbiAgICAgICAgICB0aGlzLml0ZW1Ob2Rlc1tpbmRleF0uaXNTaG93ID0gaW5kZXggPT0gbm9kZVdpZHRocy5sZW5ndGggLSAxID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pdGVtTm9kZXNbaW5kZXhdLmlzT3ZlcmZsb3cgPSBpbmRleCA9PSBub2RlV2lkdGhzLmxlbmd0aCAtIDEgPyBmYWxzZSA6IHRoaXMuaXRlbU5vZGVzW2luZGV4XS5pc092ZXJmbG93O1xyXG4gICAgICAgICAgdGhpcy5kcm9wZG93bk5vZGVzLnB1c2godGhpcy5pdGVtTm9kZXNbaW5kZXhdKTtcclxuICAgICAgICAgIGN1cnJlbnRXaWR0aCAtPSAoZWxlV2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25Ob2RlcyA9IHRoaXMuZHJvcGRvd25Ob2Rlcy5yZXZlcnNlKCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgaW5pdEJyZWFkQ3J1bWIoKSB7XHJcbiAgICBpZiAodGhpcy5ub2RlcyAmJiB0aGlzLm5vZGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5ub2Rlcy5mb3JFYWNoKGVsZSA9PiB7XHJcbiAgICAgICAgZWxlLmlzT3ZlcmZsb3cgPSBlbGUuaXNPdmVyZmxvdyA/IGVsZS5pc092ZXJmbG93IDogZmFsc2U7XHJcbiAgICAgICAgZWxlLmlzU2hvdyA9IHRydWU7XHJcbiAgICAgICAgZWxlLmRpc3BsYXlUeXBlID0gdGhpcy5nZXRJdGVtSWNvblR5cGUoZWxlKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09ICdtb2JpbGUnKSB7XHJcbiAgICAgICAgdGhpcy5ob21lTm9kZSA9IHRoaXMubm9kZXNbMF07XHJcbiAgICAgICAgdGhpcy5pdGVtTm9kZXMgPSB0aGlzLm5vZGVzLnNsaWNlKDEpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMucHJldmlvdXNOb2RlID0gdGhpcy5ub2Rlc1t0aGlzLm5vZGVzLmxlbmd0aCA+PSAyID8gdGhpcy5ub2Rlcy5sZW5ndGggLSAyIDogMF07XHJcbiAgICAgICAgdGhpcy5zaWRlTmF2Tm9kZXMgPSBbXTtcclxuICAgICAgICB0aGlzLnNpZGVOYXZOb2RlcyA9IHRoaXMubm9kZXMubGVuZ3RoID49IDIgPyBbLi4udGhpcy5ub2Rlc10gOiBbXTtcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy50eXBlID09PSAndGFibGUnKSB7XHJcbiAgICAgIHRoaXMuZWxlLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgncW1zLWJyZWFkY3J1bWItdGFibGUnKTtcclxuICAgICAgdGhpcy5pdGVtU3BhY2UgPSBEcm9wZG93bkJyZWFkQ3J1bWJOb2RlV2lkdGguVEFCTEU7ICAvLyB3aWR0aCBvZiBkcm9wZG93biBub2RlIGluIHRhYmxlIHZpZXdcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm1heExpbmUgJiYgdGhpcy5tYXhMaW5lID4gMSkge1xyXG4gICAgICB0aGlzLmVsZS5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Ftcy1icmVhZGNydW1iX19tdWx0aS1saW5lJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidWlsZEJyZWFkY3J1bWIoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNNb2JpbGVUeXBlICYmIHRoaXMuZWxlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzID0gW107XHJcbiAgICAgIGlmICghdGhpcy5tYXhMaW5lIHx8IHRoaXMubWF4TGluZSA8IDIpIHtcclxuICAgICAgICB0aGlzLmNoZWNrT3ZlcmZsb3codGhpcy5lbGUubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jaGVja092ZXJmbG93KHRoaXMuZWxlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKiAxLjcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9zaG93IG51bWJlciBJdGVtcyBhZnRlciAzIGRvdCBpY29uXHJcbiAgICBpZiAoK3RoaXMubnVtRGlzcGxheUl0ZW0gJiYgK3RoaXMubnVtRGlzcGxheUl0ZW0gPj0gMiAmJiB0aGlzLml0ZW1Ob2Rlcy5sZW5ndGggPj0gMikge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTm9kZXMgPSBbXTtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzID0gdGhpcy5pdGVtTm9kZXMuc2xpY2UoMCwgLXRoaXMubnVtRGlzcGxheUl0ZW0pLnJldmVyc2UoKTtcclxuICAgICAgdGhpcy5pdGVtTm9kZXMgPSBbLi4uW10sIC4uLnRoaXMuaXRlbU5vZGVzLnNsaWNlKC10aGlzLm51bURpc3BsYXlJdGVtKV07XHJcbiAgICAgIGlmICh0aGlzLmRyb3Bkb3duTm9kZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5pc092ZXJmbG93ID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIC8vanVzdCBzaG93IDEgaXRlbSBmb3IgbW9iaWxlXHJcbiAgICBpZiAodGhpcy5vbmx5SXRlbSkge1xyXG4gICAgICB0aGlzLmlzT3ZlcmZsb3cgPSB0cnVlO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTm9kZXMgPSBbXTtcclxuICAgICAgbGV0IGl0ZW1Ob2RlcyA9IFsuLi50aGlzLml0ZW1Ob2Rlc107XHJcbiAgICAgIGxldCBsYXN0SXRlbSA9IGl0ZW1Ob2Rlcy5wb3AoKTtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzID0gWy4uLml0ZW1Ob2Rlc10ucmV2ZXJzZSgpO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTm9kZXMucHVzaCh0aGlzLmhvbWVOb2RlKTtcclxuICAgICAgdGhpcy5pdGVtTm9kZXMgPSBbXTtcclxuICAgICAgdGhpcy5pdGVtTm9kZXMgPSBbbGFzdEl0ZW1dO1xyXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEl0ZW1JY29uVHlwZSh0cmVlQ29uZmlnOiBCcmVhZGNydW1iTm9kZSkge1xyXG4gICAgaWYgKHRyZWVDb25maWcuaXRlbUljb24pIHJldHVybiBJdGVtSWNvblR5cGUubmFtZTtcclxuICAgIGlmICh0cmVlQ29uZmlnLml0ZW1JY29uUGF0aCkgcmV0dXJuIEl0ZW1JY29uVHlwZS5wYXRoO1xyXG4gICAgaWYgKHRyZWVDb25maWcuaXRlbUljb25CYXNlNjQpIHJldHVybiBJdGVtSWNvblR5cGUuYmFzZTY0O1xyXG4gICAgaWYgKHRyZWVDb25maWcuaXRlbUljb25TdmcpIHJldHVybiBJdGVtSWNvblR5cGUuc3ZnO1xyXG4gICAgcmV0dXJuIEl0ZW1JY29uVHlwZS5ub25lO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW1hZ2VQYXRoKG5vZGU6IEJyZWFkY3J1bWJOb2RlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKG5vZGUuaXRlbUljb25CYXNlNjQpIGFzIHN0cmluZztcclxuICB9XHJcblxyXG4gIG9uS2V5UHJlc3NlZChldmVudCkge1xyXG4gICAgWy4uLmV2ZW50LnRhcmdldC5jaGlsZHJlbl0uZm9yRWFjaCh4ID0+IHguY2xpY2soKSk7XHJcbiAgfVxyXG5cclxuICBvbkl0ZW1TZWxlY3QoaXRlbTogQnJlYWRjcnVtYk5vZGUsIGlzTGFzdEl0ZW0/OiBib29sZWFuKSB7XHJcbiAgICBpZiAoaXNMYXN0SXRlbSAmJiB0aGlzLmRpc2FibGVkTGFzdEl0ZW0pIHJldHVybjtcclxuICAgIGlmICh0aGlzLm9uSXRlbUNsaWNrKSB7XHJcbiAgICAgIHRoaXMub25JdGVtQ2xpY2suZW1pdChpdGVtKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUE0QixZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEwsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQVUvRCxNQUFNLE9BQU8sYUFBYTtJQXFCeEIsWUFBb0IsR0FBZSxFQUN6QixZQUE2QixFQUM3QixLQUF3QixFQUN4QixTQUF1QixFQUN4QixLQUE4QjtRQUpuQixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENB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ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkcmVuLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcbmltcG9ydCB7IEJSRUFEQ1JVTUJfRFJPUERPV05fSUNPTiB9IGZyb20gXCIuLi8uLi9jb21tb24vcW1zLWljb24uY29uc3RcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdHJhbnNsYXRpb24tcmVnaXN0cnkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJdGVtSWNvblR5cGUgfSBmcm9tIFwiLi4vcmVsYXRlZC9jb21tb24vaXRlbS1pY29uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQgeyBRTVNCcmVhZGNydW1iSXRlbURpcmVjdGl2ZSB9IGZyb20gXCIuL2JyZWFkY3J1bWItaXRlbS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgQnJlYWRjcnVtYlR5cGUgfSBmcm9tIFwiLi9lbnVtL2JyZWFkY3J1bWItdHlwZVwiO1xyXG5pbXBvcnQgeyBEcm9wZG93bkJyZWFkQ3J1bWJOb2RlV2lkdGggfSBmcm9tIFwiLi9lbnVtL2Ryb3Bkb3duLW5vZGUtd2lkdGguZW51bVwiO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iTm9kZSB9IGZyb20gXCIuL21vZGVsL2JyZWFkY3J1bWItbm9kZS5tb2RlbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdxbXMtYnJlYWRjcnVtYicsXHJcbiAgdGVtcGxhdGVVcmw6ICdicmVhZGNydW1iLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWydicmVhZGNydW1iLnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFFNU0JyZWFkY3J1bWIgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIG5vZGVzOiBCcmVhZGNydW1iTm9kZVtdO1xyXG4gIEBJbnB1dCgpIHR5cGU6IEJyZWFkY3J1bWJUeXBlLm5vcm1hbCB8IEJyZWFkY3J1bWJUeXBlLnRhYmxlIHwgQnJlYWRjcnVtYlR5cGUubW9iaWxlID0gQnJlYWRjcnVtYlR5cGUubm9ybWFsO1xyXG4gIEBJbnB1dCgpIG1heExpbmU6IG51bWJlcjtcclxuICBASW5wdXQoKSBudW1EaXNwbGF5SXRlbTogbnVtYmVyID0gMDtcclxuICBASW5wdXQoKSBvbmx5SXRlbTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkTGFzdEl0ZW06IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBPdXRwdXQoKSBvbkl0ZW1DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAVmlld0NoaWxkcmVuKFFNU0JyZWFkY3J1bWJJdGVtRGlyZWN0aXZlLCB7fSkgYnJlYWRDcnVtYk5vZGVzOiBRdWVyeUxpc3Q8UU1TQnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmU+O1xyXG5cclxuICBpc092ZXJmbG93ID0gZmFsc2U7XHJcbiAgZHJvcGRvd25Ob2RlczogQnJlYWRjcnVtYk5vZGVbXSA9IFtdO1xyXG4gIGhvbWVOb2RlOiBCcmVhZGNydW1iTm9kZSA9IG5ldyBCcmVhZGNydW1iTm9kZSgpO1xyXG4gIHByZXZpb3VzTm9kZTogQnJlYWRjcnVtYk5vZGUgPSBuZXcgQnJlYWRjcnVtYk5vZGUoKTtcclxuICBpdGVtTm9kZXM6IEJyZWFkY3J1bWJOb2RlW107XHJcbiAgc2lkZU5hdk5vZGVzOiBCcmVhZGNydW1iTm9kZVtdID0gW107XHJcbiAgaXRlbVNwYWNlOiBudW1iZXIgPSBEcm9wZG93bkJyZWFkQ3J1bWJOb2RlV2lkdGguTk9STUFMOyAvLyB3aWR0aCBvZiBkcm9wZG93biBub2RlIGluIG5vcm1hbCB2aWV3XHJcbiAgaXRlbUljb25UeXBlO1xyXG4gIGlzTW9iaWxlVHlwZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIExBTkc6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGU6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgcHVibGljIHRyYW5zOiBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSkge1xyXG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCdicmVhZGNydW1iX2Ryb3Bkb3duJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKEJSRUFEQ1JVTUJfRFJPUERPV05fSUNPTikpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMubm9kZXMgJiYgdGhpcy5icmVhZENydW1iTm9kZXMgJiYgSlNPTi5zdHJpbmdpZnkoY2hhbmdlcy5ub2Rlcy5jdXJyZW50VmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzLm5vZGVzLnByZXZpb3VzVmFsdWUpKSB7XHJcbiAgICAgIHRoaXMubm9kZXMgPSBbLi4uY2hhbmdlcy5ub2Rlcy5jdXJyZW50VmFsdWVdO1xyXG4gICAgICB0aGlzLmluaXRCcmVhZENydW1iKCk7XHJcbiAgICAgIHRoaXMuYnVpbGRCcmVhZGNydW1iKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudHJhbnMuZ2V0TGFuZ3VhZ2VTdWJqZWN0JC5waXBlKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgIHRoaXMuTEFORyA9IHRoaXMudHJhbnMuZ2V0T2JqZWN0TGFuZyhyZXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmlzTW9iaWxlVHlwZSA9ICh0aGlzLnR5cGUgPT0gQnJlYWRjcnVtYlR5cGUubW9iaWxlKTtcclxuICAgIHRoaXMuaXRlbUljb25UeXBlID0gSXRlbUljb25UeXBlO1xyXG4gICAgdGhpcy5pbml0QnJlYWRDcnVtYigpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5idWlsZEJyZWFkY3J1bWIoKTtcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tPdmVyZmxvdyh3aWR0aDogbnVtYmVyKSB7XHJcblxyXG4gICAgY29uc3Qgbm9kZVdpZHRocyA9IHRoaXMuYnJlYWRDcnVtYk5vZGVzLm1hcCh4ID0+IHguZWxlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpO1xyXG4gICAgbGV0IGN1cnJlbnRXaWR0aCA9IDA7XHJcbiAgICBub2RlV2lkdGhzLmZvckVhY2god2lkdGggPT4ge1xyXG4gICAgICBjdXJyZW50V2lkdGggKz0gd2lkdGg7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmlzT3ZlcmZsb3cgPSB3aWR0aCA8IGN1cnJlbnRXaWR0aCAmJiAodGhpcy5pdGVtTm9kZXMubGVuZ3RoID49IHRoaXMubnVtRGlzcGxheUl0ZW0pO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNPdmVyZmxvdykge1xyXG4gICAgICBsZXQgc2NyZWVuV2lkdGggPSB3aWR0aDtcclxuICAgICAgaWYgKHRoaXMudHlwZSAhPT0gJ3RhYmxlJykge1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd25Ob2Rlcy5wdXNoKHRoaXMuaG9tZU5vZGUpO1xyXG4gICAgICAgIGN1cnJlbnRXaWR0aCAtPSBub2RlV2lkdGhzWzBdO1xyXG4gICAgICAgIGN1cnJlbnRXaWR0aCArPSB0aGlzLml0ZW1TcGFjZTtcclxuICAgICAgICBzY3JlZW5XaWR0aCAtPSB0aGlzLml0ZW1TcGFjZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjdXJyZW50V2lkdGggKz0gdGhpcy5pdGVtU3BhY2U7XHJcbiAgICAgICAgc2NyZWVuV2lkdGggLT0gbm9kZVdpZHRoc1swXTtcclxuICAgICAgICBzY3JlZW5XaWR0aCAtPSB0aGlzLml0ZW1TcGFjZTtcclxuICAgICAgfVxyXG4gICAgICBub2RlV2lkdGhzLnNoaWZ0KCk7XHJcbiAgICAgIG5vZGVXaWR0aHMuZm9yRWFjaCgoZWxlV2lkdGgsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgaWYgKGN1cnJlbnRXaWR0aCA+IHNjcmVlbldpZHRoKSB7XHJcbiAgICAgICAgICB0aGlzLml0ZW1Ob2Rlc1tpbmRleF0uaXNTaG93ID0gaW5kZXggPT0gbm9kZVdpZHRocy5sZW5ndGggLSAxID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pdGVtTm9kZXNbaW5kZXhdLmlzT3ZlcmZsb3cgPSBpbmRleCA9PSBub2RlV2lkdGhzLmxlbmd0aCAtIDEgPyBmYWxzZSA6IHRoaXMuaXRlbU5vZGVzW2luZGV4XS5pc092ZXJmbG93O1xyXG4gICAgICAgICAgdGhpcy5kcm9wZG93bk5vZGVzLnB1c2godGhpcy5pdGVtTm9kZXNbaW5kZXhdKTtcclxuICAgICAgICAgIGN1cnJlbnRXaWR0aCAtPSAoZWxlV2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25Ob2RlcyA9IHRoaXMuZHJvcGRvd25Ob2Rlcy5yZXZlcnNlKCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgaW5pdEJyZWFkQ3J1bWIoKSB7XHJcbiAgICBpZiAodGhpcy5ub2RlcyAmJiB0aGlzLm5vZGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5ub2Rlcy5mb3JFYWNoKGVsZSA9PiB7XHJcbiAgICAgICAgZWxlLmlzT3ZlcmZsb3cgPSBlbGUuaXNPdmVyZmxvdyA/IGVsZS5pc092ZXJmbG93IDogZmFsc2U7XHJcbiAgICAgICAgZWxlLmlzU2hvdyA9IHRydWU7XHJcbiAgICAgICAgZWxlLmRpc3BsYXlUeXBlID0gdGhpcy5nZXRJdGVtSWNvblR5cGUoZWxlKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09ICdtb2JpbGUnKSB7XHJcbiAgICAgICAgdGhpcy5ob21lTm9kZSA9IHRoaXMubm9kZXNbMF07XHJcbiAgICAgICAgdGhpcy5pdGVtTm9kZXMgPSB0aGlzLm5vZGVzLnNsaWNlKDEpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMucHJldmlvdXNOb2RlID0gdGhpcy5ub2Rlc1t0aGlzLm5vZGVzLmxlbmd0aCA+PSAyID8gdGhpcy5ub2Rlcy5sZW5ndGggLSAyIDogMF07XHJcbiAgICAgICAgdGhpcy5zaWRlTmF2Tm9kZXMgPSBbXTtcclxuICAgICAgICB0aGlzLnNpZGVOYXZOb2RlcyA9IHRoaXMubm9kZXMubGVuZ3RoID49IDIgPyBbLi4udGhpcy5ub2Rlc10gOiBbXTtcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy50eXBlID09PSAndGFibGUnKSB7XHJcbiAgICAgIHRoaXMuZWxlLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgncW1zLWJyZWFkY3J1bWItdGFibGUnKTtcclxuICAgICAgdGhpcy5pdGVtU3BhY2UgPSBEcm9wZG93bkJyZWFkQ3J1bWJOb2RlV2lkdGguVEFCTEU7ICAvLyB3aWR0aCBvZiBkcm9wZG93biBub2RlIGluIHRhYmxlIHZpZXdcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm1heExpbmUgJiYgdGhpcy5tYXhMaW5lID4gMSkge1xyXG4gICAgICB0aGlzLmVsZS5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Ftcy1icmVhZGNydW1iX19tdWx0aS1saW5lJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidWlsZEJyZWFkY3J1bWIoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNNb2JpbGVUeXBlICYmIHRoaXMuZWxlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzID0gW107XHJcbiAgICAgIGlmICghdGhpcy5tYXhMaW5lIHx8IHRoaXMubWF4TGluZSA8IDIpIHtcclxuICAgICAgICB0aGlzLmNoZWNrT3ZlcmZsb3codGhpcy5lbGUubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jaGVja092ZXJmbG93KHRoaXMuZWxlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKiAxLjcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9zaG93IG51bWJlciBJdGVtcyBhZnRlciAzIGRvdCBpY29uXHJcbiAgICBpZiAoK3RoaXMubnVtRGlzcGxheUl0ZW0gJiYgK3RoaXMubnVtRGlzcGxheUl0ZW0gPj0gMiAmJiB0aGlzLml0ZW1Ob2Rlcy5sZW5ndGggPj0gMikge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTm9kZXMgPSBbXTtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzID0gdGhpcy5pdGVtTm9kZXMuc2xpY2UoMCwgLXRoaXMubnVtRGlzcGxheUl0ZW0pLnJldmVyc2UoKTtcclxuICAgICAgdGhpcy5pdGVtTm9kZXMgPSBbLi4uW10sIC4uLnRoaXMuaXRlbU5vZGVzLnNsaWNlKC10aGlzLm51bURpc3BsYXlJdGVtKV07XHJcbiAgICAgIGlmICh0aGlzLmRyb3Bkb3duTm9kZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5pc092ZXJmbG93ID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIC8vanVzdCBzaG93IDEgaXRlbSBmb3IgbW9iaWxlXHJcbiAgICBpZiAodGhpcy5vbmx5SXRlbSkge1xyXG4gICAgICB0aGlzLmlzT3ZlcmZsb3cgPSB0cnVlO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTm9kZXMgPSBbXTtcclxuICAgICAgbGV0IGl0ZW1Ob2RlcyA9IFsuLi50aGlzLml0ZW1Ob2Rlc107XHJcbiAgICAgIGxldCBsYXN0SXRlbSA9IGl0ZW1Ob2Rlcy5wb3AoKTtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzID0gWy4uLml0ZW1Ob2Rlc10ucmV2ZXJzZSgpO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTm9kZXMucHVzaCh0aGlzLmhvbWVOb2RlKTtcclxuICAgICAgdGhpcy5pdGVtTm9kZXMgPSBbXTtcclxuICAgICAgdGhpcy5pdGVtTm9kZXMgPSBbbGFzdEl0ZW1dO1xyXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEl0ZW1JY29uVHlwZSh0cmVlQ29uZmlnOiBCcmVhZGNydW1iTm9kZSkge1xyXG4gICAgaWYgKHRyZWVDb25maWcuaXRlbUljb24pIHJldHVybiBJdGVtSWNvblR5cGUubmFtZTtcclxuICAgIGlmICh0cmVlQ29uZmlnLml0ZW1JY29uUGF0aCkgcmV0dXJuIEl0ZW1JY29uVHlwZS5wYXRoO1xyXG4gICAgaWYgKHRyZWVDb25maWcuaXRlbUljb25CYXNlNjQpIHJldHVybiBJdGVtSWNvblR5cGUuYmFzZTY0O1xyXG4gICAgaWYgKHRyZWVDb25maWcuaXRlbUljb25TdmcpIHJldHVybiBJdGVtSWNvblR5cGUuc3ZnO1xyXG4gICAgcmV0dXJuIEl0ZW1JY29uVHlwZS5ub25lO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW1hZ2VQYXRoKG5vZGU6IEJyZWFkY3J1bWJOb2RlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKG5vZGUuaXRlbUljb25CYXNlNjQpIGFzIHN0cmluZztcclxuICB9XHJcblxyXG4gIG9uS2V5UHJlc3NlZChldmVudCkge1xyXG4gICAgWy4uLmV2ZW50LnRhcmdldC5jaGlsZHJlbl0uZm9yRWFjaCh4ID0+IHguY2xpY2soKSk7XHJcbiAgfVxyXG5cclxuICBvbkl0ZW1TZWxlY3QoaXRlbTogQnJlYWRjcnVtYk5vZGUsIGlzTGFzdEl0ZW0/OiBib29sZWFuKSB7XHJcbiAgICBpZiAoaXNMYXN0SXRlbSAmJiB0aGlzLmRpc2FibGVkTGFzdEl0ZW0pIHJldHVybjtcclxuICAgIGlmICh0aGlzLm9uSXRlbUNsaWNrKSB7XHJcbiAgICAgIHRoaXMub25JdGVtQ2xpY2suZW1pdChpdGVtKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -162,8 +162,8 @@ export class QMSNavDrawerComponent {
162
162
  QMSNavDrawerComponent.decorators = [
163
163
  { type: Component, args: [{
164
164
  selector: 'qms-nav-drawer',
165
- template: "<mat-tree\r\n class=\"qms-nav-drawer-container\"\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n>\r\n <!-- This is the tree node template for leaf nodes -->\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodeToggle\r\n matTreeNodePadding\r\n [ngClass]=\"{\r\n active: activeNode === getActiveNode(node.id, node.parentId)\r\n }\"\r\n >\r\n <button mat-icon-button disabled></button>\r\n <img\r\n *ngIf=\"node.itemIconSvg\"\r\n class=\"material-icons type-icon cursor-pointer\"\r\n [src]=\"node.itemIconSvg\"\r\n (click)=\"onClickNode(node)\"\r\n />\r\n <span\r\n *ngIf=\"node.itemIcon\"\r\n [class]=\"node.itemIcon\"\r\n [qmsTransformIcon]=\"node.itemIcon\"\r\n class=\"material-icons-outlined type-icon cursor-pointer\"\r\n (click)=\"onClickNode(node)\"\r\n ></span>\r\n <span\r\n *ngIf=\"node.itemMatIcon\"\r\n class=\"material-icons-outlined type-icon cursor-pointer\"\r\n (click)=\"onClickNode(node)\"\r\n >{{ node.itemMatIcon }}\r\n </span>\r\n\r\n <span\r\n class=\"text-name cursor-pointer ml-5 456\"\r\n (click)=\"onClickNode(node)\"\r\n >{{ node.name }}</span\r\n >\r\n </mat-tree-node>\r\n <!-- This is the tree node template for expandable nodes -->\r\n <mat-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodePadding\r\n [ngClass]=\"{\r\n 'expand-node': treeControl.isExpanded(node),\r\n 'collapse-node': !treeControl.isExpanded(node),\r\n active: activeNode === getActiveNode(node.id, node.parentId)\r\n }\"\r\n >\r\n <button mat-icon-button (click)=\"onExpandNode(node)\" matTreeNodeToggle>\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n {{ treeControl.isExpanded(node) ? \"expand_more\" : \"chevron_right\" }}\r\n </mat-icon>\r\n </button>\r\n\r\n <img\r\n *ngIf=\"node.itemIconSvg\"\r\n class=\"material-icons type-icon cursor-pointer\"\r\n [src]=\"node.itemIconSvg\"\r\n (click)=\"onClickNode(node)\"\r\n />\r\n <span\r\n *ngIf=\"node.itemIcon\"\r\n [class]=\"node.itemIcon\"\r\n [qmsTransformIcon]=\"node.itemIcon\"\r\n class=\"material-icons-outlined type-icon cursor-pointer\"\r\n (click)=\"onClickNode(node)\"\r\n ></span>\r\n <span\r\n *ngIf=\"node.itemMatIcon\"\r\n class=\"material-icons-outlined type-icon cursor-pointer\"\r\n (click)=\"onClickNode(node)\"\r\n >{{ node.itemMatIcon }}\r\n </span>\r\n\r\n <span\r\n class=\"text-name cursor-pointer ml-5 123\"\r\n (click)=\"onClickNode(node)\"\r\n >{{ node.name }}</span\r\n >\r\n </mat-tree-node>\r\n</mat-tree>\r\n",
166
- styles: ["@charset \"UTF-8\";@font-face{font-family:icomoon;src:url(../assets/fonts/icomoon.eot?aghldx);src:url(../assets/fonts/icomoon.eot?aghldx#iefix) format(\"embedded-opentype\"),url(../assets/fonts/icomoon.ttf?aghldx) format(\"truetype\"),url(../assets/fonts/icomoon.woff?aghldx) format(\"woff\"),url(../assets/fonts/icomoon.svg?aghldx#icomoon) format(\"svg\");font-weight:400;font-style:normal;font-display:block}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;speak:never;font-style:normal;font-weight:400;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-acutely-toxic .path1:before{content:\"\uE91B\";color:#e32730}.icon-acutely-toxic .path2:before{content:\"\uE922\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path3:before{content:\"\uE923\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path4:before{content:\"\uE924\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path5:before{content:\"\uE925\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path6:before{content:\"\uE926\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path7:before{content:\"\uE927\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path8:before{content:\"\uE928\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path9:before{content:\"\uE929\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path10:before{content:\"\uE92A\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path11:before{content:\"\uE92B\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path12:before{content:\"\uE92C\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path13:before{content:\"\uE92D\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path14:before{content:\"\uE92E\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path15:before{content:\"\uE92F\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path16:before{content:\"\uE930\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path17:before{content:\"\uE931\";margin-left:-1em;color:#323232}.icon-add-column:before{content:\"\uE932\"}.icon-add-tooltip:before{content:\"\uE933\"}.icon-admin:before{content:\"\uE934\"}.icon-annual-cycle:before{content:\"\uE935\"}.icon-assignment-repete:before{content:\"\uE936\"}.icon-barrier-add:before{content:\"\uE937\"}.icon-barrier-edit:before{content:\"\uE938\"}.icon-barrier-view:before{content:\"\uE939\"}.icon-button-group:before{content:\"\uE93A\"}.icon-chemical-manager:before{content:\"\uE93B\"}.icon-chronic-health-hazard .path1:before{content:\"\uE93C\";color:#e32730}.icon-chronic-health-hazard .path2:before{content:\"\uE93D\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path3:before{content:\"\uE93E\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path4:before{content:\"\uE93F\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path5:before{content:\"\uE940\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path6:before{content:\"\uE941\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path7:before{content:\"\uE942\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path8:before{content:\"\uE943\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path9:before{content:\"\uE944\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path10:before{content:\"\uE945\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path11:before{content:\"\uE946\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path12:before{content:\"\uE947\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path13:before{content:\"\uE948\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path14:before{content:\"\uE949\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path15:before{content:\"\uE94A\";margin-left:-1em;color:#323232}.icon-contingency:before{content:\"\uE94B\"}.icon-corrosive .path1:before{content:\"\uE94C\";color:#323232}.icon-corrosive .path2:before{content:\"\uE94D\";margin-left:-1em;color:#323232}.icon-corrosive .path3:before{content:\"\uE94E\";margin-left:-1em;color:#323232}.icon-corrosive .path4:before{content:\"\uE94F\";margin-left:-1em;color:#323232}.icon-corrosive .path5:before{content:\"\uE950\";margin-left:-1em;color:#323232}.icon-corrosive .path6:before{content:\"\uE951\";margin-left:-1em;color:#323232}.icon-corrosive .path7:before{content:\"\uE952\";margin-left:-1em;color:#323232}.icon-corrosive .path8:before{content:\"\uE953\";margin-left:-1em;color:#323232}.icon-corrosive .path9:before{content:\"\uE954\";margin-left:-1em;color:#323232}.icon-corrosive .path10:before{content:\"\uE955\";margin-left:-1em;color:#323232}.icon-corrosive .path11:before{content:\"\uE956\";margin-left:-1em;color:#323232}.icon-corrosive .path12:before{content:\"\uE957\";margin-left:-1em;color:#323232}.icon-corrosive .path13:before{content:\"\uE958\";margin-left:-1em;color:#323232}.icon-corrosive .path14:before{content:\"\uE959\";margin-left:-1em;color:#323232}.icon-corrosive .path15:before{content:\"\uE95A\";margin-left:-1em;color:#323232}.icon-corrosive .path16:before{content:\"\uE95B\";margin-left:-1em;color:#323232}.icon-corrosive .path17:before{content:\"\uE95C\";margin-left:-1em;color:#323232}.icon-corrosive .path18:before{content:\"\uE95D\";margin-left:-1em;color:#323232}.icon-corrosive .path19:before{content:\"\uE95E\";margin-left:-1em;color:#323232}.icon-corrosive .path20:before{content:\"\uE95F\";margin-left:-1em;color:#323232}.icon-corrosive .path21:before{content:\"\uE960\";margin-left:-1em;color:#e32730}.icon-dashboard:before{content:\"\uE961\"}.icon-database-sds:before{content:\"\uE962\"}.icon-description-add:before{content:\"\uE963\"}.icon-description-edit:before{content:\"\uE964\"}.icon-description-view:before{content:\"\uE965\";color:#666}.icon-document-read .path1:before{content:\"\uE966\";color:#000;opacity:.6}.icon-document-read .path2:before{content:\"\uE967\";margin-left:-1em;color:#fff}.icon-document-read .path3:before{content:\"\uE968\";margin-left:-1em;color:#000;opacity:.6}.icon-draft:before{content:\"\uE969\"}.icon-expired-off:before{content:\"\uE96A\"}.icon-expired-on:before{content:\"\uE96B\"}.icon-explosive .path1:before{content:\"\uE96C\";color:#e32730}.icon-explosive .path2:before{content:\"\uE96D\";margin-left:-1em;color:#323232}.icon-explosive .path3:before{content:\"\uE96E\";margin-left:-1em;color:#323232}.icon-explosive .path4:before{content:\"\uE96F\";margin-left:-1em;color:#323232}.icon-explosive .path5:before{content:\"\uE970\";margin-left:-1em;color:#323232}.icon-explosive .path6:before{content:\"\uE971\";margin-left:-1em;color:#323232}.icon-explosive .path7:before{content:\"\uE972\";margin-left:-1em;color:#323232}.icon-explosive .path8:before{content:\"\uE973\";margin-left:-1em;color:#323232}.icon-explosive .path9:before{content:\"\uE974\";margin-left:-1em;color:#323232}.icon-explosive .path10:before{content:\"\uE975\";margin-left:-1em;color:#323232}.icon-explosive .path11:before{content:\"\uE976\";margin-left:-1em;color:#323232}.icon-explosive .path12:before{content:\"\uE977\";margin-left:-1em;color:#323232}.icon-explosive .path13:before{content:\"\uE978\";margin-left:-1em;color:#323232}.icon-explosive .path14:before{content:\"\uE979\";margin-left:-1em;color:#323232}.icon-explosive .path15:before{content:\"\uE97A\";margin-left:-1em;color:#323232}.icon-explosive .path16:before{content:\"\uE97B\";margin-left:-1em;color:#323232}.icon-explosive .path17:before{content:\"\uE97C\";margin-left:-1em;color:#323232}.icon-explosive .path18:before{content:\"\uE97D\";margin-left:-1em;color:#323232}.icon-explosive .path19:before{content:\"\uE97E\";margin-left:-1em;color:#323232}.icon-explosive .path20:before{content:\"\uE97F\";margin-left:-1em;color:#323232}.icon-explosive .path21:before{content:\"\uE980\";margin-left:-1em;color:#323232}.icon-explosive .path22:before{content:\"\uE981\";margin-left:-1em;color:#323232}.icon-explosive .path23:before{content:\"\uE982\";margin-left:-1em;color:#323232}.icon-explosive .path24:before{content:\"\uE983\";margin-left:-1em;color:#323232}.icon-explosive .path25:before{content:\"\uE984\";margin-left:-1em;color:#323232}.icon-explosive .path26:before{content:\"\uE985\";margin-left:-1em;color:#323232}.icon-explosive .path27:before{content:\"\uE986\";margin-left:-1em;color:#323232}.icon-explosive .path28:before{content:\"\uE987\";margin-left:-1em;color:#323232}.icon-explosive .path29:before{content:\"\uE988\";margin-left:-1em;color:#323232}.icon-explosive .path30:before{content:\"\uE989\";margin-left:-1em;color:#323232}.icon-explosive .path31:before{content:\"\uE98A\";margin-left:-1em;color:#323232}.icon-explosive .path32:before{content:\"\uE98B\";margin-left:-1em;color:#323232}.icon-explosive .path33:before{content:\"\uE98C\";margin-left:-1em;color:#323232}.icon-explosive .path34:before{content:\"\uE98D\";margin-left:-1em;color:#323232}.icon-explosive .path35:before{content:\"\uE98E\";margin-left:-1em;color:#323232}.icon-explosive .path36:before{content:\"\uE98F\";margin-left:-1em;color:#323232}.icon-explosive .path37:before{content:\"\uE990\";margin-left:-1em;color:#323232}.icon-explosive .path38:before{content:\"\uE991\";margin-left:-1em;color:#323232}.icon-explosive .path39:before{content:\"\uE992\";margin-left:-1em;color:#323232}.icon-explosive .path40:before{content:\"\uE993\";margin-left:-1em;color:#323232}.icon-explosive .path41:before{content:\"\uE994\";margin-left:-1em;color:#323232}.icon-explosive .path42:before{content:\"\uE995\";margin-left:-1em;color:#323232}.icon-explosive .path43:before{content:\"\uE996\";margin-left:-1em;color:#323232}.icon-explosive .path44:before{content:\"\uE997\";margin-left:-1em;color:#323232}.icon-explosive .path45:before{content:\"\uE998\";margin-left:-1em;color:#323232}.icon-explosive .path46:before{content:\"\uE999\";margin-left:-1em;color:#323232}.icon-file-excel:before{content:\"\uE99A\"}.icon-file-pdf:before{content:\"\uE99B\"}.icon-file-pdf-verified .path1:before{content:\"\uE99C\";color:#000;opacity:.6}.icon-file-pdf-verified .path2:before{content:\"\uE99D\";margin-left:-1em;color:#fff}.icon-file-pdf-verified .path3:before{content:\"\uE99E\";margin-left:-1em;color:#000;opacity:.6}.icon-file-word:before{content:\"\uE99F\"}.icon-filter-alt:before{content:\"\uE9A0\"}.icon-flammable .path1:before{content:\"\uE9A1\";color:#323232}.icon-flammable .path2:before{content:\"\uE9A2\";margin-left:-1em;color:#323232}.icon-flammable .path3:before{content:\"\uE9A3\";margin-left:-1em;color:#e32730}.icon-gas-under-pressure .path1:before{content:\"\uE9A4\";color:#323232}.icon-gas-under-pressure .path2:before{content:\"\uE9A5\";margin-left:-1em;color:#e32730}.icon-health-hazard .path1:before{content:\"\uE9A6\";color:#323232}.icon-health-hazard .path2:before{content:\"\uE9A7\";margin-left:-1em;color:#e32730}.icon-line-break:before{content:\"\uE9A8\"}.icon-location:before{content:\"\uE9A9\"}.icon-measure-add:before{content:\"\uE9AA\"}.icon-measure-edit:before{content:\"\uE9AB\"}.icon-measure-view:before{content:\"\uE9AC\";color:#666}.icon-messages:before{content:\"\uE9AD\"}.icon-monitoring:before{content:\"\uE9AE\";color:#666}.icon-move:before{content:\"\uE9AF\"}.icon-oxidizing .path1:before{content:\"\uE9B0\";color:#e32730}.icon-oxidizing .path2:before{content:\"\uE9B1\";margin-left:-1em;color:#323232}.icon-oxidizing .path3:before{content:\"\uE9B2\";margin-left:-1em;color:#323232}.icon-oxidizing .path4:before{content:\"\uE9B3\";margin-left:-1em;color:#323232}.icon-process-area-closed:before{content:\"\uE9B4\"}.icon-process-area-open:before{content:\"\uE9B5\"}.icon-process-linked .path1:before{content:\"\uE9B6\";color:#000;opacity:.6}.icon-process-linked .path2:before{content:\"\uE9B7\";margin-left:-1em;color:#666}.icon-risk:before{content:\"\uE9B8\"}.icon-search-in-file:before{content:\"\uE9B9\"}.icon-sort-ascending:before{content:\"\uE9BA\"}.icon-sort-descending:before{content:\"\uE9BB\"}.icon-subscript:before{content:\"\uE9BC\"}.icon-superscript:before{content:\"\uE9BD\"}.icon-syncronice-favorites:before{content:\"\uE9BE\"}.icon-system-settings:before{content:\"\uE9BF\"}.icon-view-three-outlined:before{content:\"\uE9C0\"}.icon-workplace-safety:before{content:\"\uE9C1\"}.icon-checklist:before{content:\"\uE900\"}.icon-department-document .path1:before{content:\"\uE901\";color:#000;opacity:.6}.icon-department-document .path2:before{content:\"\uE902\";margin-left:-1em;color:#00804c}.icon-department-folder-closed .path1:before{content:\"\uE903\";color:#000;opacity:.6}.icon-department-folder-closed .path2:before{content:\"\uE904\";margin-left:-1em;color:#00804c}.icon-department-folder-open .path1:before{content:\"\uE905\";color:#000;opacity:.6}.icon-department-folder-open .path2:before{content:\"\uE906\";margin-left:-1em;color:#00804c}.icon-deviation:before{content:\"\uE907\"}.icon-dropdown-folder .path1:before{content:\"\uE908\";color:#00324e}.icon-dropdown-folder .path2:before{content:\"\uE909\";margin-left:-1em;color:#fff;opacity:.6}.icon-enterprise-document .path1:before{content:\"\uE90A\";color:#000;opacity:.6}.icon-enterprise-document .path2:before{content:\"\uE90B\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-closed .path1:before{content:\"\uE90C\";color:#000;opacity:.6}.icon-enterprise-folder-closed .path2:before{content:\"\uE90D\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-open .path1:before{content:\"\uE90E\";color:#000;opacity:.6}.icon-enterprise-folder-open .path2:before{content:\"\uE90F\";margin-left:-1em;color:#cf4714}.icon-folder-closed:before{content:\"\uE910\"}.icon-folder-open:before{content:\"\uE911\"}.icon-keyboard_arrow_down:before{content:\"\uE912\"}.icon-keyboard_arrow_up:before{content:\"\uE913\"}.icon-local-document .path1:before{content:\"\uE914\";color:#000;opacity:.6}.icon-local-document .path2:before{content:\"\uE915\";margin-left:-1em;color:#1954a9}.icon-local-folder-closed .path1:before{content:\"\uE916\";color:#000;opacity:.6}.icon-local-folder-closed .path2:before{content:\"\uE917\";margin-left:-1em;color:#1954a9}.icon-local-folder-open .path1:before{content:\"\uE918\";color:#000;opacity:.6}.icon-local-folder-open .path2:before{content:\"\uE919\";margin-left:-1em;color:#1954a9}.icon-process:before{content:\"\uE91A\"}.icon-regional-document .path1:before{content:\"\uE91C\";color:#000;opacity:.6}.icon-regional-document .path2:before{content:\"\uE91D\";margin-left:-1em;color:#662e0d}.icon-regional-folder-closed .path1:before{content:\"\uE91E\";color:#000;opacity:.6}.icon-regional-folder-closed .path2:before{content:\"\uE91F\";margin-left:-1em;color:#662e0d}.icon-regional-folder-open .path1:before{content:\"\uE920\";color:#000;opacity:.6}.icon-regional-folder-open .path2:before{content:\"\uE921\";margin-left:-1em;color:#662e0d}.mat-tree.qms-nav-drawer-container{font-family:Open Sans}.mat-tree.qms-nav-drawer-container .mat-tree-node:hover{background:rgba(0,0,0,.08)}.mat-tree.qms-nav-drawer-container .mat-tree-node:active{background:rgba(0,0,0,.12)}.mat-tree.qms-nav-drawer-container .mat-tree-node.active{color:var(--primary);background:var(--primary-light-6-opacity)}.mat-tree.qms-nav-drawer-container .mat-tree-node.active:active{background:var(--primary-light-12-opacity)}.mat-tree.qms-nav-drawer-container .mat-tree-node.active .mat-icon-rtl-mirror,.mat-tree.qms-nav-drawer-container .mat-tree-node.active .text-name,.mat-tree.qms-nav-drawer-container .mat-tree-node.active .type-icon,.mat-tree.qms-nav-drawer-container .mat-tree-node.active button,.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active .mat-icon-rtl-mirror,.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active .text-name,.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active .type-icon,.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active button{color:var(--primary)}.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active:hover{background:var(--primary-light-6-opacity)}.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active:active{background:var(--primary-light-12-opacity)}.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node,.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node .mat-icon-rtl-mirror,.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node .text-name,.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node .type-icon,.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node button{color:var(--primary)}.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node:hover{background:var(--primary-light-6-opacity)}.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node:active{background:var(--primary-light-12-opacity)}.mat-tree.qms-nav-drawer-container .type-icon{margin-right:5px;color:var(--ws-action-active)}.mat-tree.qms-nav-drawer-container .text-name{color:var(--default-color)}.mat-tree.qms-nav-drawer-container .mat-icon-rtl-mirror{color:rgba(0,0,0,.6)}.text-name{position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%}.cursor-pointer,.text-name{cursor:pointer}.ml-5{margin-left:10px}"]
165
+ template: "<mat-tree class=\"qms-nav-drawer-container\" [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\r\n <!-- This is the tree node template for leaf nodes -->\r\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodeToggle matTreeNodePadding [ngClass]=\"{\r\n active: activeNode === getActiveNode(node.id, node.parentId)\r\n }\">\r\n <button mat-icon-button disabled></button>\r\n <img *ngIf=\"node.itemIconSvg\" class=\"material-icons type-icon cursor-pointer\" [src]=\"node.itemIconSvg\"\r\n (click)=\"onClickNode(node)\" />\r\n <span *ngIf=\"node.itemIcon\" [class]=\"node.itemIcon\" [qmsTransformIcon]=\"node.itemIcon\"\r\n class=\"material-icons-outlined type-icon cursor-pointer\" (click)=\"onClickNode(node)\"></span>\r\n <span *ngIf=\"node.itemMatIcon\" class=\"material-icons-outlined type-icon cursor-pointer\"\r\n (click)=\"onClickNode(node)\">{{ node.itemMatIcon }}\r\n </span>\r\n\r\n <span class=\"text-name cursor-pointer ml-5 456\" (click)=\"onClickNode(node)\">{{ node.name }}</span>\r\n </mat-tree-node>\r\n <!-- This is the tree node template for expandable nodes -->\r\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" matTreeNodePadding [ngClass]=\"{\r\n 'expand-node': treeControl.isExpanded(node),\r\n 'collapse-node': !treeControl.isExpanded(node),\r\n active: activeNode === getActiveNode(node.id, node.parentId)\r\n }\">\r\n <button mat-icon-button (click)=\"onExpandNode(node)\" matTreeNodeToggle>\r\n <mat-icon class=\"mat-icon-rtl-mirror\">\r\n {{ treeControl.isExpanded(node) ? \"expand_more\" : \"chevron_right\" }}\r\n </mat-icon>\r\n </button>\r\n\r\n <img *ngIf=\"node.itemIconSvg\" class=\"material-icons type-icon cursor-pointer\" [src]=\"node.itemIconSvg\"\r\n (click)=\"onClickNode(node)\" />\r\n <span *ngIf=\"node.itemIcon\" [class]=\"node.itemIcon\" [qmsTransformIcon]=\"node.itemIcon\"\r\n class=\"material-icons-outlined type-icon cursor-pointer\" (click)=\"onClickNode(node)\"></span>\r\n <span *ngIf=\"node.itemMatIcon\" class=\"material-icons-outlined type-icon cursor-pointer\"\r\n (click)=\"onClickNode(node)\">{{ node.itemMatIcon }}\r\n </span>\r\n\r\n <span class=\"text-name cursor-pointer ml-5 123\" (click)=\"onClickNode(node)\">{{ node.name }}</span>\r\n </mat-tree-node>\r\n</mat-tree>",
166
+ styles: ["@charset \"UTF-8\";@font-face{font-family:icomoon;src:url(../assets/fonts/icomoon.eot?aghldx);src:url(../assets/fonts/icomoon.eot?aghldx#iefix) format(\"embedded-opentype\"),url(../assets/fonts/icomoon.ttf?aghldx) format(\"truetype\"),url(../assets/fonts/icomoon.woff?aghldx) format(\"woff\"),url(../assets/fonts/icomoon.svg?aghldx#icomoon) format(\"svg\");font-weight:400;font-style:normal;font-display:block}[class^=icon-]{font-family:icomoon!important;speak:never;font-style:normal;font-weight:400;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-acutely-toxic .path1:before{content:\"\uE91B\";color:#e32730}.icon-acutely-toxic .path2:before{content:\"\uE922\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path3:before{content:\"\uE923\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path4:before{content:\"\uE924\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path5:before{content:\"\uE925\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path6:before{content:\"\uE926\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path7:before{content:\"\uE927\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path8:before{content:\"\uE928\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path9:before{content:\"\uE929\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path10:before{content:\"\uE92A\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path11:before{content:\"\uE92B\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path12:before{content:\"\uE92C\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path13:before{content:\"\uE92D\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path14:before{content:\"\uE92E\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path15:before{content:\"\uE92F\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path16:before{content:\"\uE930\";margin-left:-1em;color:#323232}.icon-acutely-toxic .path17:before{content:\"\uE931\";margin-left:-1em;color:#323232}.icon-add-column:before{content:\"\uE932\"}.icon-add-tooltip:before{content:\"\uE933\"}.icon-admin:before{content:\"\uE934\"}.icon-annual-cycle:before{content:\"\uE935\"}.icon-assignment-repete:before{content:\"\uE936\"}.icon-barrier-add:before{content:\"\uE937\"}.icon-barrier-edit:before{content:\"\uE938\"}.icon-barrier-view:before{content:\"\uE939\"}.icon-button-group:before{content:\"\uE93A\"}.icon-chemical-manager:before{content:\"\uE93B\"}.icon-chronic-health-hazard .path1:before{content:\"\uE93C\";color:#e32730}.icon-chronic-health-hazard .path2:before{content:\"\uE93D\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path3:before{content:\"\uE93E\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path4:before{content:\"\uE93F\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path5:before{content:\"\uE940\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path6:before{content:\"\uE941\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path7:before{content:\"\uE942\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path8:before{content:\"\uE943\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path9:before{content:\"\uE944\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path10:before{content:\"\uE945\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path11:before{content:\"\uE946\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path12:before{content:\"\uE947\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path13:before{content:\"\uE948\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path14:before{content:\"\uE949\";margin-left:-1em;color:#323232}.icon-chronic-health-hazard .path15:before{content:\"\uE94A\";margin-left:-1em;color:#323232}.icon-contingency:before{content:\"\uE94B\"}.icon-corrosive .path1:before{content:\"\uE94C\";color:#323232}.icon-corrosive .path2:before{content:\"\uE94D\";margin-left:-1em;color:#323232}.icon-corrosive .path3:before{content:\"\uE94E\";margin-left:-1em;color:#323232}.icon-corrosive .path4:before{content:\"\uE94F\";margin-left:-1em;color:#323232}.icon-corrosive .path5:before{content:\"\uE950\";margin-left:-1em;color:#323232}.icon-corrosive .path6:before{content:\"\uE951\";margin-left:-1em;color:#323232}.icon-corrosive .path7:before{content:\"\uE952\";margin-left:-1em;color:#323232}.icon-corrosive .path8:before{content:\"\uE953\";margin-left:-1em;color:#323232}.icon-corrosive .path9:before{content:\"\uE954\";margin-left:-1em;color:#323232}.icon-corrosive .path10:before{content:\"\uE955\";margin-left:-1em;color:#323232}.icon-corrosive .path11:before{content:\"\uE956\";margin-left:-1em;color:#323232}.icon-corrosive .path12:before{content:\"\uE957\";margin-left:-1em;color:#323232}.icon-corrosive .path13:before{content:\"\uE958\";margin-left:-1em;color:#323232}.icon-corrosive .path14:before{content:\"\uE959\";margin-left:-1em;color:#323232}.icon-corrosive .path15:before{content:\"\uE95A\";margin-left:-1em;color:#323232}.icon-corrosive .path16:before{content:\"\uE95B\";margin-left:-1em;color:#323232}.icon-corrosive .path17:before{content:\"\uE95C\";margin-left:-1em;color:#323232}.icon-corrosive .path18:before{content:\"\uE95D\";margin-left:-1em;color:#323232}.icon-corrosive .path19:before{content:\"\uE95E\";margin-left:-1em;color:#323232}.icon-corrosive .path20:before{content:\"\uE95F\";margin-left:-1em;color:#323232}.icon-corrosive .path21:before{content:\"\uE960\";margin-left:-1em;color:#e32730}.icon-dashboard:before{content:\"\uE961\"}.icon-database-sds:before{content:\"\uE962\"}.icon-description-add:before{content:\"\uE963\"}.icon-description-edit:before{content:\"\uE964\"}.icon-description-view:before{content:\"\uE965\";color:#666}.icon-document-read .path1:before{content:\"\uE966\";color:#000;opacity:.6}.icon-document-read .path2:before{content:\"\uE967\";margin-left:-1em;color:#fff}.icon-document-read .path3:before{content:\"\uE968\";margin-left:-1em;color:#000;opacity:.6}.icon-draft:before{content:\"\uE969\"}.icon-expired-off:before{content:\"\uE96A\"}.icon-expired-on:before{content:\"\uE96B\"}.icon-explosive .path1:before{content:\"\uE96C\";color:#e32730}.icon-explosive .path2:before{content:\"\uE96D\";margin-left:-1em;color:#323232}.icon-explosive .path3:before{content:\"\uE96E\";margin-left:-1em;color:#323232}.icon-explosive .path4:before{content:\"\uE96F\";margin-left:-1em;color:#323232}.icon-explosive .path5:before{content:\"\uE970\";margin-left:-1em;color:#323232}.icon-explosive .path6:before{content:\"\uE971\";margin-left:-1em;color:#323232}.icon-explosive .path7:before{content:\"\uE972\";margin-left:-1em;color:#323232}.icon-explosive .path8:before{content:\"\uE973\";margin-left:-1em;color:#323232}.icon-explosive .path9:before{content:\"\uE974\";margin-left:-1em;color:#323232}.icon-explosive .path10:before{content:\"\uE975\";margin-left:-1em;color:#323232}.icon-explosive .path11:before{content:\"\uE976\";margin-left:-1em;color:#323232}.icon-explosive .path12:before{content:\"\uE977\";margin-left:-1em;color:#323232}.icon-explosive .path13:before{content:\"\uE978\";margin-left:-1em;color:#323232}.icon-explosive .path14:before{content:\"\uE979\";margin-left:-1em;color:#323232}.icon-explosive .path15:before{content:\"\uE97A\";margin-left:-1em;color:#323232}.icon-explosive .path16:before{content:\"\uE97B\";margin-left:-1em;color:#323232}.icon-explosive .path17:before{content:\"\uE97C\";margin-left:-1em;color:#323232}.icon-explosive .path18:before{content:\"\uE97D\";margin-left:-1em;color:#323232}.icon-explosive .path19:before{content:\"\uE97E\";margin-left:-1em;color:#323232}.icon-explosive .path20:before{content:\"\uE97F\";margin-left:-1em;color:#323232}.icon-explosive .path21:before{content:\"\uE980\";margin-left:-1em;color:#323232}.icon-explosive .path22:before{content:\"\uE981\";margin-left:-1em;color:#323232}.icon-explosive .path23:before{content:\"\uE982\";margin-left:-1em;color:#323232}.icon-explosive .path24:before{content:\"\uE983\";margin-left:-1em;color:#323232}.icon-explosive .path25:before{content:\"\uE984\";margin-left:-1em;color:#323232}.icon-explosive .path26:before{content:\"\uE985\";margin-left:-1em;color:#323232}.icon-explosive .path27:before{content:\"\uE986\";margin-left:-1em;color:#323232}.icon-explosive .path28:before{content:\"\uE987\";margin-left:-1em;color:#323232}.icon-explosive .path29:before{content:\"\uE988\";margin-left:-1em;color:#323232}.icon-explosive .path30:before{content:\"\uE989\";margin-left:-1em;color:#323232}.icon-explosive .path31:before{content:\"\uE98A\";margin-left:-1em;color:#323232}.icon-explosive .path32:before{content:\"\uE98B\";margin-left:-1em;color:#323232}.icon-explosive .path33:before{content:\"\uE98C\";margin-left:-1em;color:#323232}.icon-explosive .path34:before{content:\"\uE98D\";margin-left:-1em;color:#323232}.icon-explosive .path35:before{content:\"\uE98E\";margin-left:-1em;color:#323232}.icon-explosive .path36:before{content:\"\uE98F\";margin-left:-1em;color:#323232}.icon-explosive .path37:before{content:\"\uE990\";margin-left:-1em;color:#323232}.icon-explosive .path38:before{content:\"\uE991\";margin-left:-1em;color:#323232}.icon-explosive .path39:before{content:\"\uE992\";margin-left:-1em;color:#323232}.icon-explosive .path40:before{content:\"\uE993\";margin-left:-1em;color:#323232}.icon-explosive .path41:before{content:\"\uE994\";margin-left:-1em;color:#323232}.icon-explosive .path42:before{content:\"\uE995\";margin-left:-1em;color:#323232}.icon-explosive .path43:before{content:\"\uE996\";margin-left:-1em;color:#323232}.icon-explosive .path44:before{content:\"\uE997\";margin-left:-1em;color:#323232}.icon-explosive .path45:before{content:\"\uE998\";margin-left:-1em;color:#323232}.icon-explosive .path46:before{content:\"\uE999\";margin-left:-1em;color:#323232}.icon-file-excel:before{content:\"\uE99A\"}.icon-file-pdf:before{content:\"\uE99B\"}.icon-file-pdf-verified .path1:before{content:\"\uE99C\";color:#000;opacity:.6}.icon-file-pdf-verified .path2:before{content:\"\uE99D\";margin-left:-1em;color:#fff}.icon-file-pdf-verified .path3:before{content:\"\uE99E\";margin-left:-1em;color:#000;opacity:.6}.icon-file-word:before{content:\"\uE99F\"}.icon-filter-alt:before{content:\"\uE9A0\"}.icon-flammable .path1:before{content:\"\uE9A1\";color:#323232}.icon-flammable .path2:before{content:\"\uE9A2\";margin-left:-1em;color:#323232}.icon-flammable .path3:before{content:\"\uE9A3\";margin-left:-1em;color:#e32730}.icon-gas-under-pressure .path1:before{content:\"\uE9A4\";color:#323232}.icon-gas-under-pressure .path2:before{content:\"\uE9A5\";margin-left:-1em;color:#e32730}.icon-health-hazard .path1:before{content:\"\uE9A6\";color:#323232}.icon-health-hazard .path2:before{content:\"\uE9A7\";margin-left:-1em;color:#e32730}.icon-line-break:before{content:\"\uE9A8\"}.icon-location:before{content:\"\uE9A9\"}.icon-measure-add:before{content:\"\uE9AA\"}.icon-measure-edit:before{content:\"\uE9AB\"}.icon-measure-view:before{content:\"\uE9AC\";color:#666}.icon-messages:before{content:\"\uE9AD\"}.icon-monitoring:before{content:\"\uE9AE\";color:#666}.icon-move:before{content:\"\uE9AF\"}.icon-oxidizing .path1:before{content:\"\uE9B0\";color:#e32730}.icon-oxidizing .path2:before{content:\"\uE9B1\";margin-left:-1em;color:#323232}.icon-oxidizing .path3:before{content:\"\uE9B2\";margin-left:-1em;color:#323232}.icon-oxidizing .path4:before{content:\"\uE9B3\";margin-left:-1em;color:#323232}.icon-process-area-closed:before{content:\"\uE9B4\"}.icon-process-area-open:before{content:\"\uE9B5\"}.icon-process-linked .path1:before{content:\"\uE9B6\";color:#000;opacity:.6}.icon-process-linked .path2:before{content:\"\uE9B7\";margin-left:-1em;color:#666}.icon-risk:before{content:\"\uE9B8\"}.icon-search-in-file:before{content:\"\uE9B9\"}.icon-sort-ascending:before{content:\"\uE9BA\"}.icon-sort-descending:before{content:\"\uE9BB\"}.icon-subscript:before{content:\"\uE9BC\"}.icon-superscript:before{content:\"\uE9BD\"}.icon-syncronice-favorites:before{content:\"\uE9BE\"}.icon-system-settings:before{content:\"\uE9BF\"}.icon-view-three-outlined:before{content:\"\uE9C0\"}.icon-workplace-safety:before{content:\"\uE9C1\"}.icon-checklist:before{content:\"\uE900\"}.icon-department-document .path1:before{content:\"\uE901\";color:#000;opacity:.6}.icon-department-document .path2:before{content:\"\uE902\";margin-left:-1em;color:#00804c}.icon-department-folder-closed .path1:before{content:\"\uE903\";color:#000;opacity:.6}.icon-department-folder-closed .path2:before{content:\"\uE904\";margin-left:-1em;color:#00804c}.icon-department-folder-open .path1:before{content:\"\uE905\";color:#000;opacity:.6}.icon-department-folder-open .path2:before{content:\"\uE906\";margin-left:-1em;color:#00804c}.icon-deviation:before{content:\"\uE907\"}.icon-dropdown-folder .path1:before{content:\"\uE908\";color:#00324e}.icon-dropdown-folder .path2:before{content:\"\uE909\";margin-left:-1em;color:#fff;opacity:.6}.icon-enterprise-document .path1:before{content:\"\uE90A\";color:#000;opacity:.6}.icon-enterprise-document .path2:before{content:\"\uE90B\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-closed .path1:before{content:\"\uE90C\";color:#000;opacity:.6}.icon-enterprise-folder-closed .path2:before{content:\"\uE90D\";margin-left:-1em;color:#cf4714}.icon-enterprise-folder-open .path1:before{content:\"\uE90E\";color:#000;opacity:.6}.icon-enterprise-folder-open .path2:before{content:\"\uE90F\";margin-left:-1em;color:#cf4714}.icon-folder-closed:before{content:\"\uE910\"}.icon-folder-open:before{content:\"\uE911\"}.icon-keyboard_arrow_down:before{content:\"\uE912\"}.icon-keyboard_arrow_up:before{content:\"\uE913\"}.icon-local-document .path1:before{content:\"\uE914\";color:#000;opacity:.6}.icon-local-document .path2:before{content:\"\uE915\";margin-left:-1em;color:#1954a9}.icon-local-folder-closed .path1:before{content:\"\uE916\";color:#000;opacity:.6}.icon-local-folder-closed .path2:before{content:\"\uE917\";margin-left:-1em;color:#1954a9}.icon-local-folder-open .path1:before{content:\"\uE918\";color:#000;opacity:.6}.icon-local-folder-open .path2:before{content:\"\uE919\";margin-left:-1em;color:#1954a9}.icon-process:before{content:\"\uE91A\"}.icon-regional-document .path1:before{content:\"\uE91C\";color:#000;opacity:.6}.icon-regional-document .path2:before{content:\"\uE91D\";margin-left:-1em;color:#662e0d}.icon-regional-folder-closed .path1:before{content:\"\uE91E\";color:#000;opacity:.6}.icon-regional-folder-closed .path2:before{content:\"\uE91F\";margin-left:-1em;color:#662e0d}.icon-regional-folder-open .path1:before{content:\"\uE920\";color:#000;opacity:.6}.icon-regional-folder-open .path2:before{content:\"\uE921\";margin-left:-1em;color:#662e0d}.mat-tree.qms-nav-drawer-container{font-family:Open Sans}.mat-tree.qms-nav-drawer-container .mat-tree-node:hover{background:rgba(0,0,0,.08)}.mat-tree.qms-nav-drawer-container .mat-tree-node:active{background:rgba(0,0,0,.12)}.mat-tree.qms-nav-drawer-container .mat-tree-node.active{color:var(--primary);background:var(--primary-light-6-opacity)}.mat-tree.qms-nav-drawer-container .mat-tree-node.active:active{background:var(--primary-light-12-opacity)}.mat-tree.qms-nav-drawer-container .mat-tree-node.active .mat-icon-rtl-mirror,.mat-tree.qms-nav-drawer-container .mat-tree-node.active .text-name,.mat-tree.qms-nav-drawer-container .mat-tree-node.active .type-icon,.mat-tree.qms-nav-drawer-container .mat-tree-node.active button,.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active .mat-icon-rtl-mirror,.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active .text-name,.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active .type-icon,.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active button{color:var(--primary)}.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active:hover{background:var(--primary-light-6-opacity)}.mat-tree.qms-nav-drawer-container .mat-tree-node.collapse-node.active:active{background:var(--primary-light-12-opacity)}.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node,.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node .mat-icon-rtl-mirror,.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node .text-name,.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node .type-icon,.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node button{color:var(--primary)}.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node:hover{background:var(--primary-light-6-opacity)}.mat-tree.qms-nav-drawer-container .mat-tree-node.expand-node:active{background:var(--primary-light-12-opacity)}.mat-tree.qms-nav-drawer-container .type-icon{margin-right:5px;color:var(--ws-action-active)}.mat-tree.qms-nav-drawer-container .text-name{color:var(--default-color)}.mat-tree.qms-nav-drawer-container .mat-icon-rtl-mirror{color:rgba(0,0,0,.6)}.text-name{position:relative;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%}.cursor-pointer,.text-name{cursor:pointer}.ml-5{margin-left:10px}"]
167
167
  },] }
168
168
  ];
169
169
  QMSNavDrawerComponent.ctorParameters = () => [
@@ -176,4 +176,4 @@ QMSNavDrawerComponent.propDecorators = {
176
176
  nodeExpand: [{ type: Output }],
177
177
  onClickNodeEvent: [{ type: Output }]
178
178
  };
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLW5hdi1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3Ftcy1uYXYtZHJhd2VyL3Ftcy1uYXYtZHJhd2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBTzlFLE1BQU0sT0FBTyxxQkFBcUI7SUFrQmhDLFlBQW1CLG1CQUF5QyxFQUFVLEtBQXdCO1FBQTNFLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBc0I7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQWhCOUYsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzNCLGFBQVEsR0FBNkIsRUFBRSxDQUFDO1FBQ3hDLGNBQVMsR0FBYSxFQUFFLENBQUM7UUFDeEIsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR25FLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxV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bXBvcnQgeyBGbGF0VHJlZUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRUcmVlRmxhdERhdGFTb3VyY2UsIE1hdFRyZWVGbGF0dGVuZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90cmVlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEZsYXROb2RlTmF2RHJhd2VyLCBUcmVlTm9kZU5hdkRyYXdlciB9IGZyb20gJy4vbW9kZWxzL3Ftcy1uYXYtZHJhd2VyLm1vZGVsJztcclxuaW1wb3J0IHsgUU1TVHJlZUdsb2JhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xbXMtdHJlZS1nbG9iYWwuc2VydmljZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncW1zLW5hdi1kcmF3ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xbXMtbmF2LWRyYXdlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcW1zLW5hdi1kcmF3ZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFFNU05hdkRyYXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG5cclxuICBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBASW5wdXQoKSB0cmVlRGF0YTogQXJyYXk8VHJlZU5vZGVOYXZEcmF3ZXI+ID0gW107XHJcbiAgQElucHV0KCkgb3Blbk5vZGVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIEBPdXRwdXQoKSBub2RlRXhwYW5kOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25DbGlja05vZGVFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cclxuICB0cmVlQ29udHJvbCA9IG5ldyBGbGF0VHJlZUNvbnRyb2w8RmxhdE5vZGVOYXZEcmF3ZXI+KG5vZGUgPT4gbm9kZS5sZXZlbCwgbm9kZSA9PiBub2RlLmV4cGFuZGFibGUpO1xyXG4gIHRyZWVGbGF0dGVuZXIgPSBuZXcgTWF0VHJlZUZsYXR0ZW5lcih0aGlzLl90cmFuc2Zvcm1lciwgbm9kZSA9PiBub2RlLmxldmVsLCBub2RlID0+IG5vZGUuZXhwYW5kYWJsZSwgbm9kZSA9PiBub2RlLmNoaWxkcmVuKTtcclxuICBkYXRhU291cmNlID0gbmV3IE1hdFRyZWVGbGF0RGF0YVNvdXJjZSh0aGlzLnRyZWVDb250cm9sLCB0aGlzLnRyZWVGbGF0dGVuZXIpO1xyXG4gIGV4cGFuZGluZ05vZGVzOiBGbGF0Tm9kZU5hdkRyYXdlcltdID0gW107XHJcbiAgYWN0aXZlTm9kZTogc3RyaW5nO1xyXG4gIGd1aWRIZWxwZXIgPSB7XHJcbiAgICBlbXB0eTogJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCdcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcW1zTmF2RHJhd2VyU2VydmljZTogUU1TVHJlZUdsb2JhbFNlcnZpY2UsIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IHRoaXMuY29udmVydFRyZWVEYXRhKHRoaXMudHJlZURhdGEpO1xyXG4gIH1cclxuXHJcbiAgX3RyYW5zZm9ybWVyKG5vZGU6IFRyZWVOb2RlTmF2RHJhd2VyLCBsZXZlbDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBleHBhbmRhYmxlOiAoISFub2RlLmNoaWxkcmVuICYmIG5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMCkgfHwgKCEhbm9kZS5jaGlsZENvdW50KSxcclxuICAgICAgbmFtZTogbm9kZS5uYW1lLFxyXG4gICAgICBsZXZlbCxcclxuICAgICAgaWQ6IG5vZGUuaWQsXHJcbiAgICAgIHBhcmVudElkOiBub2RlLnBhcmVudElkLFxyXG4gICAgICBpdGVtSWNvbjogbm9kZS5pdGVtSWNvbixcclxuICAgICAgaXRlbU1hdEljb246IG5vZGUuaXRlbU1hdEljb24sXHJcbiAgICAgIGl0ZW1JY29uU3ZnOiBub2RlLml0ZW1JY29uU3ZnLFxyXG4gICAgICBpc0ZpbGU6IG5vZGUuaXNGaWxlLFxyXG4gICAgICBtYXJrZWRHZXRDaGlsZHJlbjogbm9kZS5tYXJrZWRHZXRDaGlsZHJlblxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGhhc0NoaWxkID0gKF86IG51bWJlciwgbm9kZTogRmxhdE5vZGVOYXZEcmF3ZXIpID0+IG5vZGUuZXhwYW5kYWJsZTtcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXMudHJlZURhdGEpIHtcclxuICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSB0aGlzLnRyZWVEYXRhO1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXMub3Blbk5vZGVzKSB7XHJcbiAgICAgIHRoaXMuZmluZEFuZEV4cGFuZE5vZGVzKCk7XHJcbiAgICAgIHRoaXMuX2FjdGl2ZU5vZGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5xbXNOYXZEcmF3ZXJTZXJ2aWNlLmdldEl0ZW1zQ2hpbGRyZW4kLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXMubGVuZ3RoKSB7XHJcblxyXG4gICAgICAgIGxldCBuZXdOb2Rlc0NoaWxkcmVuID0gW107XHJcblxyXG4gICAgICAgIHJlcy5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnRyZWVEYXRhLmZpbmRJbmRleChcclxuICAgICAgICAgICAgaXRlbSA9PiBpdGVtLmlkID09PSB4LmlkICYmIGl0ZW0ucGFyZW50SWQgPT09IHgucGFyZW50SWQpO1xyXG4gICAgICAgICAgaWYgKGluZGV4IDwgMCkge1xyXG4gICAgICAgICAgICBuZXdOb2Rlc0NoaWxkcmVuLnB1c2goeCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIEFkZCBjaGlsZHJlbiB0byB0cmVlRGF0YVxyXG4gICAgICAgIGlmIChuZXdOb2Rlc0NoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy50cmVlRGF0YSA9IFsuLi50aGlzLnRyZWVEYXRhLCAuLi5uZXdOb2Rlc0NoaWxkcmVuXTtcclxuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy5jb252ZXJ0VHJlZURhdGEodGhpcy50cmVlRGF0YSk7XHJcbiAgICAgICAgICB0aGlzLmZpbmRBbmRFeHBhbmROb2Rlcyh0cnVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZXhwYW5kaW5nTm9kZXMuZm9yRWFjaChub2RlID0+IHtcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZEluZGV4KHggPT4geC5wYXJlbnRJZCA9PT0gbm9kZS5wYXJlbnRJZCAmJiB4LmlkID09PSBub2RlLmlkKTtcclxuICAgICAgICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5kKHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzW2luZGV4XSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2FjdGl2ZU5vZGUoKSB7XHJcbiAgICBjb25zdCBjdXJyTm9kZSA9IHRoaXMub3Blbk5vZGVzW3RoaXMub3Blbk5vZGVzLmxlbmd0aCAtIDFdO1xyXG4gICAgY29uc3QgaWR4UGFyZW50ID0gdGhpcy5vcGVuTm9kZXMubGVuZ3RoID49IDIgPyB0aGlzLm9wZW5Ob2Rlcy5sZW5ndGggLSAyIDogJyc7XHJcbiAgICBjb25zdCBwYXJlbnROb2RlID0gaWR4UGFyZW50ICE9PSAnJyA/IHRoaXMub3Blbk5vZGVzW2lkeFBhcmVudF0gOiAnJztcclxuXHJcbiAgICB0aGlzLmFjdGl2ZU5vZGUgPSB0aGlzLmdldEFjdGl2ZU5vZGUoY3Vyck5vZGUsIHBhcmVudE5vZGUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZlTm9kZShpZCwgcGFyZW50SWQpIHtcclxuICAgIGNvbnN0IF9pZCA9IGlkID8gaWQgOiAnJztcclxuICAgIGNvbnN0IF9wYXJlbnRJZCA9IHBhcmVudElkID8gcGFyZW50SWQgOiAnJztcclxuICAgIHJldHVybiBgJHtfaWR9LSR7X3BhcmVudElkfWA7XHJcbiAgfVxyXG5cclxuICBmaW5kQW5kRXhwYW5kTm9kZXMoZXhwYW5kTmV3Q2hpbGQ6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgdGhpcy5vcGVuTm9kZXMuZm9yRWFjaChlbCA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzW2ldLmlkID09PSBlbCkge1xyXG4gICAgICAgICAgdGhpcy5leHBhbmRpbmdOb2Rlcy5wdXNoKHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzW2ldKTtcclxuICAgICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5kKHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzW2ldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2FjdGl2ZU5vZGUoKTtcclxuXHJcbiAgICAvLyBzY3JvbGwgdG8gc2VsZWN0ZWQgbm9kZVxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubWF0LXRyZWUtbm9kZS5hY3RpdmUnKTtcclxuICAgICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgb25DbGlja05vZGUobm9kZTogRmxhdE5vZGVOYXZEcmF3ZXIpIHtcclxuICAgIHRoaXMuYWN0aXZlTm9kZSA9IHRoaXMuZ2V0QWN0aXZlTm9kZShub2RlLmlkLCBub2RlLnBhcmVudElkKTtcclxuICAgIHRoaXMub25DbGlja05vZGVFdmVudC5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgb25FeHBhbmROb2RlKG5vZGU6IEZsYXROb2RlTmF2RHJhd2VyKSB7XHJcbiAgICB0aGlzLm9wZW5Ob2RlcyA9IFtdO1xyXG4gICAgaWYgKHRoaXMudHJlZUNvbnRyb2wuaXNFeHBhbmRlZChub2RlKSkge1xyXG4gICAgICB0aGlzLnRyZWVDb250cm9sLmV4cGFuZChub2RlKTtcclxuICAgICAgdGhpcy5fYWRkRXhwYW5kaW5nTm9kZShub2RlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudHJlZUNvbnRyb2wuY29sbGFwc2Uobm9kZSk7XHJcbiAgICAgIHRoaXMuX3JlbW92ZUV4cGFuZGluZ05vZGVzKG5vZGUuaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghbm9kZS5tYXJrZWRHZXRDaGlsZHJlbikge1xyXG4gICAgICBub2RlLm1hcmtlZEdldENoaWxkcmVuID0gdHJ1ZTtcclxuICAgICAgdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMuZm9yRWFjaCh4ID0+IHtcclxuICAgICAgICBpZiAoeC5wYXJlbnRJZCA9PT0gbm9kZS5wYXJlbnRJZCAmJiB4LmlkID09PSBub2RlLmlkKSB7XHJcbiAgICAgICAgICB4Lm1hcmtlZEdldENoaWxkcmVuID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLm5vZGVFeHBhbmQuZW1pdCh7IG5vZGUsIGlzRXhwYW5kOiB0aGlzLnRyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSkgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hZGRFeHBhbmRpbmdOb2RlKG5vZGU6IEZsYXROb2RlTmF2RHJhd2VyKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZXhwYW5kaW5nTm9kZXMuc29tZSh4ID0+IHguaWQgPT09IG5vZGUuaWQpKSB7XHJcbiAgICAgIHRoaXMuZXhwYW5kaW5nTm9kZXMucHVzaChub2RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3JlbW92ZUV4cGFuZGluZ05vZGVzKG5vZGVJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmV4cGFuZGluZ05vZGVzID0gdGhpcy5leHBhbmRpbmdOb2Rlcy5maWx0ZXIoeCA9PiB4LmlkICE9PSBub2RlSWQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xyXG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBjb252ZXJ0VHJlZURhdGEobGlzdCkge1xyXG4gICAgbGV0IG1hcCA9IHt9LCBub2RlLCByb290cyA9IFtdLCBpO1xyXG4gICAgZm9yIChpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpICs9IDEpIHtcclxuICAgICAgbWFwW2Ake2xpc3RbaV0uaWR9LSR7bGlzdFtpXS5wYXJlbnRJZH1gXSA9IGkgLy8gaW5pdGlhbGl6ZSB0aGUgbWFwXHJcbiAgICAgIGxpc3RbaV0uY2hpbGRyZW4gPSBbXTsgLy8gaW5pdGlhbGl6ZSB0aGUgY2hpbGRyZW5cclxuICAgIH1cclxuXHJcblxyXG4gICAgZm9yIChpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpICs9IDEpIHtcclxuICAgICAgbm9kZSA9IGxpc3RbaV07XHJcbiAgICAgIGNvbnN0IHN0cktleSA9IGAke2xpc3RbaV0uaWR9LSR7bGlzdFtpXS5wYXJlbnRJZH1gO1xyXG5cclxuICAgICAgaWYgKG5vZGUucGFyZW50SWQgJiYgKG5vZGUucGFyZW50SWQgIT09IHRoaXMuZ3VpZEhlbHBlci5lbXB0eSkgJiYgbGlzdFttYXBbc3RyS2V5XV0pIHtcclxuICAgICAgICBjb25zdCBwYXJlbnQgPSBsaXN0LmZpbHRlcih4ID0+IHguaWQgPT09IG5vZGUucGFyZW50SWQgJiYgIXguaXNGaWxlKVswXVxyXG4gICAgICAgIGlmIChwYXJlbnQpIHtcclxuICAgICAgICAgIHBhcmVudC5jaGlsZHJlbi5wdXNoKG5vZGUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcm9vdHMucHVzaChub2RlKTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcm9vdHM7XHJcbiAgfVxyXG5cclxufSJdfQ==
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLW5hdi1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3Ftcy1uYXYtZHJhd2VyL3Ftcy1uYXYtZHJhd2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBTzlFLE1BQU0sT0FBTyxxQkFBcUI7SUFrQmhDLFlBQW1CLG1CQUF5QyxFQUFVLEtBQXdCO1FBQTNFLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBc0I7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQWhCOUYsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzNCLGFBQVEsR0FBNkIsRUFBRSxDQUFDO1FBQ3hDLGNBQVMsR0FBYSxFQUFFLENBQUM7UUFDeEIsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR25FLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxV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bXBvcnQgeyBGbGF0VHJlZUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRUcmVlRmxhdERhdGFTb3VyY2UsIE1hdFRyZWVGbGF0dGVuZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90cmVlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEZsYXROb2RlTmF2RHJhd2VyLCBUcmVlTm9kZU5hdkRyYXdlciB9IGZyb20gJy4vbW9kZWxzL3Ftcy1uYXYtZHJhd2VyLm1vZGVsJztcclxuaW1wb3J0IHsgUU1TVHJlZUdsb2JhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xbXMtdHJlZS1nbG9iYWwuc2VydmljZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncW1zLW5hdi1kcmF3ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xbXMtbmF2LWRyYXdlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcW1zLW5hdi1kcmF3ZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFFNU05hdkRyYXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG5cclxuICBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBASW5wdXQoKSB0cmVlRGF0YTogQXJyYXk8VHJlZU5vZGVOYXZEcmF3ZXI+ID0gW107XHJcbiAgQElucHV0KCkgb3Blbk5vZGVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIEBPdXRwdXQoKSBub2RlRXhwYW5kOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25DbGlja05vZGVFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cclxuICB0cmVlQ29udHJvbCA9IG5ldyBGbGF0VHJlZUNvbnRyb2w8RmxhdE5vZGVOYXZEcmF3ZXI+KG5vZGUgPT4gbm9kZS5sZXZlbCwgbm9kZSA9PiBub2RlLmV4cGFuZGFibGUpO1xyXG4gIHRyZWVGbGF0dGVuZXIgPSBuZXcgTWF0VHJlZUZsYXR0ZW5lcih0aGlzLl90cmFuc2Zvcm1lciwgbm9kZSA9PiBub2RlLmxldmVsLCBub2RlID0+IG5vZGUuZXhwYW5kYWJsZSwgbm9kZSA9PiBub2RlLmNoaWxkcmVuKTtcclxuICBkYXRhU291cmNlID0gbmV3IE1hdFRyZWVGbGF0RGF0YVNvdXJjZSh0aGlzLnRyZWVDb250cm9sLCB0aGlzLnRyZWVGbGF0dGVuZXIpO1xyXG4gIGV4cGFuZGluZ05vZGVzOiBGbGF0Tm9kZU5hdkRyYXdlcltdID0gW107XHJcbiAgYWN0aXZlTm9kZTogc3RyaW5nO1xyXG4gIGd1aWRIZWxwZXIgPSB7XHJcbiAgICBlbXB0eTogJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCdcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcW1zTmF2RHJhd2VyU2VydmljZTogUU1TVHJlZUdsb2JhbFNlcnZpY2UsIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IHRoaXMuY29udmVydFRyZWVEYXRhKHRoaXMudHJlZURhdGEpO1xyXG4gIH1cclxuXHJcbiAgX3RyYW5zZm9ybWVyKG5vZGU6IFRyZWVOb2RlTmF2RHJhd2VyLCBsZXZlbDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBleHBhbmRhYmxlOiAoISFub2RlLmNoaWxkcmVuICYmIG5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMCkgfHwgKCEhbm9kZS5jaGlsZENvdW50KSxcclxuICAgICAgbmFtZTogbm9kZS5uYW1lLFxyXG4gICAgICBsZXZlbCxcclxuICAgICAgaWQ6IG5vZGUuaWQsXHJcbiAgICAgIHBhcmVudElkOiBub2RlLnBhcmVudElkLFxyXG4gICAgICBpdGVtSWNvbjogbm9kZS5pdGVtSWNvbixcclxuICAgICAgaXRlbU1hdEljb246IG5vZGUuaXRlbU1hdEljb24sXHJcbiAgICAgIGl0ZW1JY29uU3ZnOiBub2RlLml0ZW1JY29uU3ZnLFxyXG4gICAgICBpc0ZpbGU6IG5vZGUuaXNGaWxlLFxyXG4gICAgICBtYXJrZWRHZXRDaGlsZHJlbjogbm9kZS5tYXJrZWRHZXRDaGlsZHJlblxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGhhc0NoaWxkID0gKF86IG51bWJlciwgbm9kZTogRmxhdE5vZGVOYXZEcmF3ZXIpID0+IG5vZGUuZXhwYW5kYWJsZTtcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXMudHJlZURhdGEpIHtcclxuICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSB0aGlzLnRyZWVEYXRhO1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXMub3Blbk5vZGVzKSB7XHJcbiAgICAgIHRoaXMuZmluZEFuZEV4cGFuZE5vZGVzKCk7XHJcbiAgICAgIHRoaXMuX2FjdGl2ZU5vZGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5xbXNOYXZEcmF3ZXJTZXJ2aWNlLmdldEl0ZW1zQ2hpbGRyZW4kLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXMubGVuZ3RoKSB7XHJcblxyXG4gICAgICAgIGxldCBuZXdOb2Rlc0NoaWxkcmVuID0gW107XHJcblxyXG4gICAgICAgIHJlcy5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnRyZWVEYXRhLmZpbmRJbmRleChcclxuICAgICAgICAgICAgaXRlbSA9PiBpdGVtLmlkID09PSB4LmlkICYmIGl0ZW0ucGFyZW50SWQgPT09IHgucGFyZW50SWQpO1xyXG4gICAgICAgICAgaWYgKGluZGV4IDwgMCkge1xyXG4gICAgICAgICAgICBuZXdOb2Rlc0NoaWxkcmVuLnB1c2goeCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIEFkZCBjaGlsZHJlbiB0byB0cmVlRGF0YVxyXG4gICAgICAgIGlmIChuZXdOb2Rlc0NoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy50cmVlRGF0YSA9IFsuLi50aGlzLnRyZWVEYXRhLCAuLi5uZXdOb2Rlc0NoaWxkcmVuXTtcclxuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy5jb252ZXJ0VHJlZURhdGEodGhpcy50cmVlRGF0YSk7XHJcbiAgICAgICAgICB0aGlzLmZpbmRBbmRFeHBhbmROb2Rlcyh0cnVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZXhwYW5kaW5nTm9kZXMuZm9yRWFjaChub2RlID0+IHtcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZEluZGV4KHggPT4geC5wYXJlbnRJZCA9PT0gbm9kZS5wYXJlbnRJZCAmJiB4LmlkID09PSBub2RlLmlkKTtcclxuICAgICAgICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5kKHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzW2luZGV4XSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2FjdGl2ZU5vZGUoKSB7XHJcbiAgICBjb25zdCBjdXJyTm9kZSA9IHRoaXMub3Blbk5vZGVzW3RoaXMub3Blbk5vZGVzLmxlbmd0aCAtIDFdO1xyXG4gICAgY29uc3QgaWR4UGFyZW50ID0gdGhpcy5vcGVuTm9kZXMubGVuZ3RoID49IDIgPyB0aGlzLm9wZW5Ob2Rlcy5sZW5ndGggLSAyIDogJyc7XHJcbiAgICBjb25zdCBwYXJlbnROb2RlID0gaWR4UGFyZW50ICE9PSAnJyA/IHRoaXMub3Blbk5vZGVzW2lkeFBhcmVudF0gOiAnJztcclxuXHJcbiAgICB0aGlzLmFjdGl2ZU5vZGUgPSB0aGlzLmdldEFjdGl2ZU5vZGUoY3Vyck5vZGUsIHBhcmVudE5vZGUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZlTm9kZShpZCwgcGFyZW50SWQpIHtcclxuICAgIGNvbnN0IF9pZCA9IGlkID8gaWQgOiAnJztcclxuICAgIGNvbnN0IF9wYXJlbnRJZCA9IHBhcmVudElkID8gcGFyZW50SWQgOiAnJztcclxuICAgIHJldHVybiBgJHtfaWR9LSR7X3BhcmVudElkfWA7XHJcbiAgfVxyXG5cclxuICBmaW5kQW5kRXhwYW5kTm9kZXMoZXhwYW5kTmV3Q2hpbGQ6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgdGhpcy5vcGVuTm9kZXMuZm9yRWFjaChlbCA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzW2ldLmlkID09PSBlbCkge1xyXG4gICAgICAgICAgdGhpcy5leHBhbmRpbmdOb2Rlcy5wdXNoKHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzW2ldKTtcclxuICAgICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5kKHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzW2ldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2FjdGl2ZU5vZGUoKTtcclxuXHJcbiAgICAvLyBzY3JvbGwgdG8gc2VsZWN0ZWQgbm9kZVxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubWF0LXRyZWUtbm9kZS5hY3RpdmUnKTtcclxuICAgICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgb25DbGlja05vZGUobm9kZTogRmxhdE5vZGVOYXZEcmF3ZXIpIHtcclxuICAgIHRoaXMuYWN0aXZlTm9kZSA9IHRoaXMuZ2V0QWN0aXZlTm9kZShub2RlLmlkLCBub2RlLnBhcmVudElkKTtcclxuICAgIHRoaXMub25DbGlja05vZGVFdmVudC5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgb25FeHBhbmROb2RlKG5vZGU6IEZsYXROb2RlTmF2RHJhd2VyKSB7XHJcbiAgICB0aGlzLm9wZW5Ob2RlcyA9IFtdO1xyXG4gICAgaWYgKHRoaXMudHJlZUNvbnRyb2wuaXNFeHBhbmRlZChub2RlKSkge1xyXG4gICAgICB0aGlzLnRyZWVDb250cm9sLmV4cGFuZChub2RlKTtcclxuICAgICAgdGhpcy5fYWRkRXhwYW5kaW5nTm9kZShub2RlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudHJlZUNvbnRyb2wuY29sbGFwc2Uobm9kZSk7XHJcbiAgICAgIHRoaXMuX3JlbW92ZUV4cGFuZGluZ05vZGVzKG5vZGUuaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghbm9kZS5tYXJrZWRHZXRDaGlsZHJlbikge1xyXG4gICAgICBub2RlLm1hcmtlZEdldENoaWxkcmVuID0gdHJ1ZTtcclxuICAgICAgdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMuZm9yRWFjaCh4ID0+IHtcclxuICAgICAgICBpZiAoeC5wYXJlbnRJZCA9PT0gbm9kZS5wYXJlbnRJZCAmJiB4LmlkID09PSBub2RlLmlkKSB7XHJcbiAgICAgICAgICB4Lm1hcmtlZEdldENoaWxkcmVuID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLm5vZGVFeHBhbmQuZW1pdCh7IG5vZGUsIGlzRXhwYW5kOiB0aGlzLnRyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSkgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hZGRFeHBhbmRpbmdOb2RlKG5vZGU6IEZsYXROb2RlTmF2RHJhd2VyKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZXhwYW5kaW5nTm9kZXMuc29tZSh4ID0+IHguaWQgPT09IG5vZGUuaWQpKSB7XHJcbiAgICAgIHRoaXMuZXhwYW5kaW5nTm9kZXMucHVzaChub2RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3JlbW92ZUV4cGFuZGluZ05vZGVzKG5vZGVJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmV4cGFuZGluZ05vZGVzID0gdGhpcy5leHBhbmRpbmdOb2Rlcy5maWx0ZXIoeCA9PiB4LmlkICE9PSBub2RlSWQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xyXG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBjb252ZXJ0VHJlZURhdGEobGlzdCkge1xyXG4gICAgbGV0IG1hcCA9IHt9LCBub2RlLCByb290cyA9IFtdLCBpO1xyXG4gICAgZm9yIChpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpICs9IDEpIHtcclxuICAgICAgbWFwW2Ake2xpc3RbaV0uaWR9LSR7bGlzdFtpXS5wYXJlbnRJZH1gXSA9IGkgLy8gaW5pdGlhbGl6ZSB0aGUgbWFwXHJcbiAgICAgIGxpc3RbaV0uY2hpbGRyZW4gPSBbXTsgLy8gaW5pdGlhbGl6ZSB0aGUgY2hpbGRyZW5cclxuICAgIH1cclxuXHJcblxyXG4gICAgZm9yIChpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpICs9IDEpIHtcclxuICAgICAgbm9kZSA9IGxpc3RbaV07XHJcbiAgICAgIGNvbnN0IHN0cktleSA9IGAke2xpc3RbaV0uaWR9LSR7bGlzdFtpXS5wYXJlbnRJZH1gO1xyXG5cclxuICAgICAgaWYgKG5vZGUucGFyZW50SWQgJiYgKG5vZGUucGFyZW50SWQgIT09IHRoaXMuZ3VpZEhlbHBlci5lbXB0eSkgJiYgbGlzdFttYXBbc3RyS2V5XV0pIHtcclxuICAgICAgICBjb25zdCBwYXJlbnQgPSBsaXN0LmZpbHRlcih4ID0+IHguaWQgPT09IG5vZGUucGFyZW50SWQgJiYgIXguaXNGaWxlKVswXVxyXG4gICAgICAgIGlmIChwYXJlbnQpIHtcclxuICAgICAgICAgIHBhcmVudC5jaGlsZHJlbi5wdXNoKG5vZGUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcm9vdHMucHVzaChub2RlKTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcm9vdHM7XHJcbiAgfVxyXG5cclxufSJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { coerceNumberProperty, } from '@angular/cdk/coercion';
3
3
  import { TranslateLibraryService } from "../../services/translation-registry.service";
4
+ import { MAT_SELECT_CONFIG } from '@angular/material/select';
4
5
  const DEFAULT_PAGE_SIZE = 50;
5
6
  export var PaginationSize;
6
7
  (function (PaginationSize) {
@@ -9,6 +10,7 @@ export var PaginationSize;
9
10
  PaginationSize["large"] = "large";
10
11
  PaginationSize["mobile"] = "mobile";
11
12
  })(PaginationSize || (PaginationSize = {}));
13
+ const ɵ0 = { overlayPanelClass: 'customCDKpanel' };
12
14
  export class QMSPaginatorComponent {
13
15
  constructor(trans) {
14
16
  this.trans = trans;
@@ -172,11 +174,17 @@ export class QMSPaginatorComponent {
172
174
  QMSPaginatorComponent.decorators = [
173
175
  { type: Component, args: [{
174
176
  selector: 'qms-paginator',
175
- template: "<div class=\"qms-paginator-outer-container\" [class.size-small]='size == sizeSmall' [class.d-none]='numHidden > length'>\r\n <div class=\"mat-paginator-container\" *ngIf='size != sizeMobile'>\r\n <div class=\"qms-total-result\" [class.mr-b-size-small]='size == sizeSmall'>\r\n <span>{{LANG.RESULTS}}: {{length}}</span>\r\n </div>\r\n <div class=\"qms-paginator-page-size\" *ngIf='size != sizeSmall'>\r\n <div class=\"qms-pagesize-label\">{{LANG.ROW_PER_PAGE}}:</div>\r\n <mat-form-field\r\n qms-form\r\n qms-select-input\r\n class=\"qms-form-page-size\"\r\n appearance=\"fill\">\r\n <mat-select\r\n panelClass=\"qms-select-panel\"\r\n [value]=\"pageSize\"\r\n (selectionChange)=\"_changePageSize($event.value)\"\r\n qms-select>\r\n <mat-option *ngFor=\"let item of pageSizeOptions\" [value]=\"item\">\r\n {{ item }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"qms-paginator-page-size\" *ngIf='size != sizeMedium && size != sizeSmall'>\r\n <div class=\"qms-pagesize-label \">{{LANG.JUM_TO_PAGE}}:</div>\r\n\r\n <mat-form-field\r\n qms-form\r\n qms-select-input\r\n class=\"qms-form-page-size qms-form-select-page-size\"\r\n appearance=\"fill\">\r\n <mat-select\r\n panelClass=\"qms-select-panel\"\r\n [value]=\"pageIndex\"\r\n (selectionChange)=\"_changePageNumber($event.value)\"\r\n qms-select>\r\n <mat-option *ngFor=\"let item of numberOfPages\" [value]=\"item\">\r\n {{ item }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field> \r\n </div>\r\n <div class=\"qms-paginator-range-actions\">\r\n <button qms-btn-icon color=\"light\" (click)='previousPage()' [disabled]='minPage == pageIndex'>\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n <ng-container *ngFor='let item of displayNumberOfPages' >\r\n <span *ngIf='item == \"...\"' class=\"qms-3d\">{{item}}</span>\r\n <button *ngIf='item != \"...\"' qms-btn-icon color=\"light\" \r\n [class.selected]='pageIndex == item' [disabled]='pageIndex == item'\r\n (click)='changePage(item)'>\r\n {{item}}\r\n </button>\r\n </ng-container>\r\n \r\n <button qms-btn-icon color=\"light\" (click)='nextPage()' [disabled]='maxpage == pageIndex'>\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mat-paginator-container-mobile\" *ngIf='size == sizeMobile'>\r\n <div class=\"mat-paginator-container\" *ngIf='size == sizeMobile'>\r\n <div class=\"qms-paginator-range-actions\">\r\n <button qms-btn-icon color=\"light\" (click)='previousPage()' [disabled]='minPage == pageIndex'>\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n <ng-container *ngFor='let item of displayNumberOfPages' >\r\n <span *ngIf='item == \"...\"' class=\"qms-3d\">{{item}}</span>\r\n <button *ngIf='item != \"...\"' qms-btn-icon color=\"light\" \r\n [class.selected]='pageIndex == item' [disabled]='pageIndex == item'\r\n (click)='changePage(item)'>\r\n {{item}}\r\n </button>\r\n </ng-container>\r\n \r\n <button qms-btn-icon color=\"light\" (click)='nextPage()' [disabled]='maxpage == pageIndex'>\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"qms-total-result\">\r\n <span>{{LANG.RESULTS}}: {{length}}</span>\r\n </div>\r\n <div style=\"display: flex;\">\r\n <div class=\"qms-paginator-page-size\" *ngIf='size != sizeSmall'>\r\n <div class=\"qms-pagesize-label\">{{LANG.ROW_PER_PAGE}}:</div>\r\n <mat-form-field\r\n qms-form\r\n qms-select-input\r\n class=\"qms-form-page-size\"\r\n appearance=\"fill\">\r\n <mat-select\r\n panelClass=\"qms-select-panel\"\r\n [value]=\"pageSize\"\r\n (selectionChange)=\"_changePageSize($event.value)\"\r\n qms-select>\r\n <mat-option *ngFor=\"let item of pageSizeOptions\" [value]=\"item\">\r\n {{ item }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"qms-paginator-page-size\" *ngIf='size != sizeMedium && size != sizeSmall'>\r\n <div class=\"qms-pagesize-label \">{{LANG.JUM_TO_PAGE}}:</div>\r\n <mat-form-field\r\n qms-form\r\n qms-select-input\r\n class=\"qms-form-page-size qms-form-select-page-size\"\r\n appearance=\"fill\">\r\n <mat-select\r\n panelClass=\"qms-select-panel\"\r\n [value]=\"pageIndex\"\r\n (selectionChange)=\"_changePageNumber($event.value)\"\r\n qms-select>\r\n <mat-option *ngFor=\"let item of numberOfPages\" [value]=\"item\">\r\n {{ item }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field> \r\n </div>\r\n </div>\r\n \r\n </div>\r\n \r\n</div>",
177
+ template: "<div class=\"qms-paginator-outer-container\" [class.size-small]='size == sizeSmall' [class.d-none]='numHidden > length'>\r\n <div class=\"mat-paginator-container\" *ngIf='size != sizeMobile'>\r\n <div class=\"qms-total-result\" [class.mr-b-size-small]='size == sizeSmall'>\r\n <span>{{LANG.RESULTS}}: {{length}}</span>\r\n </div>\r\n <div class=\"qms-paginator-page-size\" *ngIf='size != sizeSmall'>\r\n <div class=\"qms-pagesize-label\">{{LANG.ROW_PER_PAGE}}:</div>\r\n <mat-form-field qms-form qms-select-input class=\"qms-form-page-size\" appearance=\"fill\">\r\n <mat-select panelClass=\"qms-select-panel\" [value]=\"pageSize\"\r\n (selectionChange)=\"_changePageSize($event.value)\" qms-select>\r\n <mat-option *ngFor=\"let item of pageSizeOptions\" [value]=\"item\">\r\n {{ item }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"qms-paginator-page-size\" *ngIf='size != sizeMedium && size != sizeSmall'>\r\n <div class=\"qms-pagesize-label \">{{LANG.JUM_TO_PAGE}}:</div>\r\n\r\n <mat-form-field qms-form qms-select-input class=\"qms-form-page-size qms-form-select-page-size\"\r\n appearance=\"fill\">\r\n <mat-select panelClass=\"qms-select-panel\" [value]=\"pageIndex\"\r\n (selectionChange)=\"_changePageNumber($event.value)\" qms-select disableOptionCentering>\r\n <mat-option *ngFor=\"let item of numberOfPages\" [value]=\"item\">\r\n {{ item }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"qms-paginator-range-actions\">\r\n <button qms-btn-icon color=\"light\" (click)='previousPage()' [disabled]='minPage == pageIndex'>\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n <ng-container *ngFor='let item of displayNumberOfPages'>\r\n <span *ngIf='item == \"...\"' class=\"qms-3d\">{{item}}</span>\r\n <button *ngIf='item != \"...\"' qms-btn-icon color=\"light\" [class.selected]='pageIndex == item'\r\n [disabled]='pageIndex == item' (click)='changePage(item)'>\r\n {{item}}\r\n </button>\r\n </ng-container>\r\n\r\n <button qms-btn-icon color=\"light\" (click)='nextPage()' [disabled]='maxpage == pageIndex'>\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mat-paginator-container-mobile\" *ngIf='size == sizeMobile'>\r\n <div class=\"mat-paginator-container\" *ngIf='size == sizeMobile'>\r\n <div class=\"qms-paginator-range-actions\">\r\n <button qms-btn-icon color=\"light\" (click)='previousPage()' [disabled]='minPage == pageIndex'>\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n <ng-container *ngFor='let item of displayNumberOfPages'>\r\n <span *ngIf='item == \"...\"' class=\"qms-3d\">{{item}}</span>\r\n <button *ngIf='item != \"...\"' qms-btn-icon color=\"light\" [class.selected]='pageIndex == item'\r\n [disabled]='pageIndex == item' (click)='changePage(item)'>\r\n {{item}}\r\n </button>\r\n </ng-container>\r\n\r\n <button qms-btn-icon color=\"light\" (click)='nextPage()' [disabled]='maxpage == pageIndex'>\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"qms-total-result\">\r\n <span>{{LANG.RESULTS}}: {{length}}</span>\r\n </div>\r\n <div style=\"display: flex;\">\r\n <div class=\"qms-paginator-page-size\" *ngIf='size != sizeSmall'>\r\n <div class=\"qms-pagesize-label\">{{LANG.ROW_PER_PAGE}}:</div>\r\n <mat-form-field qms-form qms-select-input class=\"qms-form-page-size\" appearance=\"fill\">\r\n <mat-select panelClass=\"qms-select-panel\" [value]=\"pageSize\"\r\n (selectionChange)=\"_changePageSize($event.value)\" qms-select>\r\n <mat-option *ngFor=\"let item of pageSizeOptions\" [value]=\"item\">\r\n {{ item }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"qms-paginator-page-size\" *ngIf='size != sizeMedium && size != sizeSmall'>\r\n <div class=\"qms-pagesize-label \">{{LANG.JUM_TO_PAGE}}:</div>\r\n <mat-form-field qms-form qms-select-input class=\"qms-form-page-size qms-form-select-page-size\"\r\n appearance=\"fill\">\r\n <mat-select panelClass=\"qms-select-panel\" [value]=\"pageIndex\"\r\n (selectionChange)=\"_changePageNumber($event.value)\" qms-select>\r\n <mat-option *ngFor=\"let item of numberOfPages\" [value]=\"item\">\r\n {{ item }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n</div>",
176
178
  host: {
177
179
  'class': 'qms-paginator'
178
180
  },
179
- styles: ["::ng-deep .qms-paginator{display:block}::ng-deep .qms-paginator .qms-paginator-outer-container{display:flex}::ng-deep .qms-paginator .mat-paginator-container{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;flex-wrap:wrap-reverse;width:100%}::ng-deep .qms-paginator .mat-paginator-container .qms-btn-icon{width:40px;height:40px;line-height:40px}::ng-deep .qms-paginator .mat-paginator-container .mat-select .mat-select-arrow{margin-top:20px}::ng-deep .qms-paginator .mat-paginator-container .qms-total-result{margin-right:24px;margin-bottom:21px}::ng-deep .qms-paginator .mat-paginator-container .qms-total-result span{font-family:Open Sans;font-weight:400;font-size:14px;line-height:22px;color:rgba(0,0,0,.6)}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size{margin-right:24px;display:flex;align-items:baseline}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .qms-pagesize-label{font-weight:400;font-size:14px;line-height:22px;color:#323232;font-family:Open Sans;font-style:normal;margin-right:8px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .qms-form-page-size .mat-form-field-flex{width:80px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .qms-form-select-page-size .mat-form-field-flex{width:51px;padding-left:9px;padding-right:5px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .jump-page .mat-form-field-wrapper .mat-form-field-flex{width:55px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .mat-form-field-flex{height:40px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .mat-form-field-flex .mat-form-field-infix{padding-top:4px;border-top:0;padding-bottom:0;height:25px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions{display:flex;align-items:center;margin-bottom:15px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions .selected{background-color:#e5eefb;color:#1954a9}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions .qms-3d{font-weight:600;font-size:14px;line-height:22px;color:#323232}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions button:not(.qms-btn-disabled) .qms-btn-icon-wrapper{color:#323232}::ng-deep .qms-paginator .mat-paginator-container-mobile .mat-select .mat-select-arrow{margin-top:20px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-total-result{margin-bottom:16px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-total-result span{font-family:Open Sans;font-style:normal;font-weight:400;font-size:12px;line-height:16px;color:rgba(0,0,0,.6)}::ng-deep .qms-paginator .mat-paginator-container-mobile .mat-paginator-container{justify-content:flex-start}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size{margin-right:24px;display:flex;align-items:baseline}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .qms-pagesize-label{font-weight:400;font-size:12px;line-height:22px;color:#323232;font-family:Open Sans;font-style:normal;margin-right:8px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .qms-form-page-size .mat-form-field-flex{width:80px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .qms-form-select-page-size .mat-form-field-flex{width:51px;padding-left:9px;padding-right:5px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .jump-page .mat-form-field-wrapper .mat-form-field-flex{width:55px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .mat-form-field-flex{height:40px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .mat-form-field-flex .mat-form-field-infix{padding-top:4px;border-top:0;padding-bottom:0;height:25px}::ng-deep .qms-paginator .size-small .mat-paginator-container{justify-content:flex-start}::ng-deep .qms-paginator .mr-b-size-small{margin-bottom:17px!important}"]
181
+ providers: [
182
+ {
183
+ provide: MAT_SELECT_CONFIG,
184
+ useValue: ɵ0,
185
+ },
186
+ ],
187
+ styles: ["::ng-deep .customCDKpanel{transform:none!important}::ng-deep .qms-paginator{display:block}::ng-deep .qms-paginator .qms-paginator-outer-container{display:flex}::ng-deep .qms-paginator .mat-paginator-container{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;flex-wrap:wrap-reverse;width:100%}::ng-deep .qms-paginator .mat-paginator-container .qms-btn-icon{width:40px;height:40px;line-height:40px}::ng-deep .qms-paginator .mat-paginator-container .mat-select .mat-select-arrow{margin-top:20px}::ng-deep .qms-paginator .mat-paginator-container .qms-total-result{margin-right:24px;margin-bottom:21px}::ng-deep .qms-paginator .mat-paginator-container .qms-total-result span{font-family:Open Sans;font-weight:400;font-size:14px;line-height:22px;color:rgba(0,0,0,.6)}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size{margin-right:24px;display:flex;align-items:baseline}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .qms-pagesize-label{font-weight:400;font-size:14px;line-height:22px;color:#323232;font-family:Open Sans;font-style:normal;margin-right:8px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .qms-form-page-size .mat-form-field-flex{width:80px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .qms-form-select-page-size .mat-form-field-flex{width:51px;padding-left:9px;padding-right:5px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .jump-page .mat-form-field-wrapper .mat-form-field-flex{width:55px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .mat-form-field-flex{height:40px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-page-size .mat-form-field-flex .mat-form-field-infix{padding-top:4px;border-top:0;padding-bottom:0;height:25px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions{display:flex;align-items:center;margin-bottom:15px}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions .selected{background-color:#e5eefb;color:#1954a9}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions .qms-3d{font-weight:600;font-size:14px;line-height:22px;color:#323232}::ng-deep .qms-paginator .mat-paginator-container .qms-paginator-range-actions button:not(.qms-btn-disabled) .qms-btn-icon-wrapper{color:#323232}::ng-deep .qms-paginator .mat-paginator-container-mobile .mat-select .mat-select-arrow{margin-top:20px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-total-result{margin-bottom:16px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-total-result span{font-family:Open Sans;font-style:normal;font-weight:400;font-size:12px;line-height:16px;color:rgba(0,0,0,.6)}::ng-deep .qms-paginator .mat-paginator-container-mobile .mat-paginator-container{justify-content:flex-start}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size{margin-right:24px;display:flex;align-items:baseline}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .qms-pagesize-label{font-weight:400;font-size:12px;line-height:22px;color:#323232;font-family:Open Sans;font-style:normal;margin-right:8px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .qms-form-page-size .mat-form-field-flex{width:80px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .qms-form-select-page-size .mat-form-field-flex{width:51px;padding-left:9px;padding-right:5px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .jump-page .mat-form-field-wrapper .mat-form-field-flex{width:55px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .mat-form-field-flex{height:40px}::ng-deep .qms-paginator .mat-paginator-container-mobile .qms-paginator-page-size .mat-form-field-flex .mat-form-field-infix{padding-top:4px;border-top:0;padding-bottom:0;height:25px}::ng-deep .qms-paginator .size-small .mat-paginator-container{justify-content:flex-start}::ng-deep .qms-paginator .mr-b-size-small{margin-bottom:17px!important}"]
180
188
  },] }
181
189
  ];
182
190
  QMSPaginatorComponent.ctorParameters = () => [
@@ -191,4 +199,5 @@ QMSPaginatorComponent.propDecorators = {
191
199
  pageIndex: [{ type: Input }],
192
200
  page: [{ type: Output }]
193
201
  };
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLXBhZ2luYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcW1zLXBhZ2luYXRvci9xbXMtcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxZQUFZLEVBQWdCLEtBQUssRUFBb0IsTUFBTSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUNuSixPQUFPLEVBQ0wsb0JBQW9CLEdBRXJCLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFdEYsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7QUFRN0IsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4QixpQ0FBZSxDQUFBO0lBQ2YsbUNBQWlCLENBQUE7SUFDakIsaUNBQWUsQ0FBQTtJQUNmLG1DQUFpQixDQUFBO0FBQ25CLENBQUMsRUFMVyxjQUFjLEtBQWQsY0FBYyxRQUt6QjtBQVNELE1BQU0sT0FBTyxxQkFBcUI7SUEyRDlCLFlBQW9CLEtBQThCO1FBQTlCLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBMURsRCxlQUFVLEdBQVcsUUFBUSxDQUFDO1FBQzlCLGNBQVMsR0FBVyxPQUFPLENBQUM7UUFDNUIsY0FBUyxHQUFXLE9BQU8sQ0FBQztRQUM1QixlQUFVLEdBQVcsUUFBUSxDQUFDO1FBR3JCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDdkIsU0FBSSxHQUFtQixjQUFjLENBQUMsS0FBSyxDQUFDO1FBUTdDLHFCQUFnQixHQUFhLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFVOUMsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQVV2QixZQUFPLEdBQUcsQ0FBQyxDQUFD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OEJBQ0wsS0FBSzt1QkFTTCxLQUFLO3FCQVVMLEtBQUs7d0JBVUwsS0FBSzttQkFhTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3QsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgU2VsZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgY29lcmNlTnVtYmVyUHJvcGVydHksXHJcbiAgTnVtYmVySW5wdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdHJhbnNsYXRpb24tcmVnaXN0cnkuc2VydmljZVwiO1xyXG5cclxuY29uc3QgREVGQVVMVF9QQUdFX1NJWkUgPSA1MDtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUU1TUGFnaW5hdGlvbk9wdGlvbiB7XHJcbiAgcGFnZVNpemU/OiBudW1iZXI7XHJcbiAgcGFnZVNpemVPcHRpb25zPzogbnVtYmVyW107XHJcbiAgbGVuZ3RoOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFBhZ2luYXRpb25TaXplIHtcclxuICBzbWFsbCA9ICdzbWFsbCcsXHJcbiAgbWVkaXVtID0gJ21lZGl1bScsXHJcbiAgbGFyZ2UgPSAnbGFyZ2UnLFxyXG4gIG1vYmlsZSA9ICdtb2JpbGUnXHJcbn1cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Ftcy1wYWdpbmF0b3InLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Ftcy1wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vcW1zLXBhZ2luYXRvci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgaG9zdDoge1xyXG4gICAgICAgICdjbGFzcyc6ICdxbXMtcGFnaW5hdG9yJ1xyXG4gICAgfVxyXG4gIH0pXHJcbmV4cG9ydCBjbGFzcyBRTVNQYWdpbmF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgc2l6ZU1lZGl1bTogc3RyaW5nID0gJ21lZGl1bSc7XHJcbiAgICBzaXplU21hbGw6IHN0cmluZyA9ICdzbWFsbCc7XHJcbiAgICBzaXplTGFyZ2U6IHN0cmluZyA9ICdsYXJnZSc7XHJcbiAgICBzaXplTW9iaWxlOiBzdHJpbmcgPSAnbW9iaWxlJztcclxuICAgIExBTkc6IGFueTtcclxuXHJcbiAgICBASW5wdXQoKSBudW1IaWRkZW46IG51bWJlciA9IDEwO1xyXG4gICAgQElucHV0KCkgc2l6ZTogUGFnaW5hdGlvblNpemUgPSBQYWdpbmF0aW9uU2l6ZS5sYXJnZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgcGFnZVNpemVPcHRpb25zKCk6IG51bWJlcltdIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX3BhZ2VTaXplT3B0aW9ucztcclxuICAgIH1cclxuICAgIHNldCBwYWdlU2l6ZU9wdGlvbnModmFsdWU6IG51bWJlcltdKSB7XHJcbiAgICAgIHRoaXMuX3BhZ2VTaXplT3B0aW9ucyA9ICh2YWx1ZSB8fCBbXSkubWFwKHAgPT4gY29lcmNlTnVtYmVyUHJvcGVydHkocCkpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IFs1LCAxMCwgMjUsIDEwMF07XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBwYWdlU2l6ZSgpOiBudW1iZXIge1xyXG4gICAgICByZXR1cm4gdGhpcy5fcGFnZVNpemU7XHJcbiAgICB9XHJcbiAgICBzZXQgcGFnZVNpemUodmFsdWU6IG51bWJlcikge1xyXG4gICAgICB0aGlzLl9wYWdlU2l6ZSA9IE1hdGgubWF4KGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKSwgMCk7XHJcbiAgICAgIHRoaXMuX3VwZGF0ZURpc3BsYXllZFBhZ2VTaXplT3B0aW9ucygpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfcGFnZVNpemU6IG51bWJlciA9IDEwO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9sZW5ndGg7XHJcbiAgICB9XHJcbiAgICBzZXQgbGVuZ3RoKHZhbHVlOiBudW1iZXIpIHtcclxuICAgICAgdGhpcy5fbGVuZ3RoID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xyXG4gICAgICB0aGlzLmdldE51bWJlck9mUGFnZXMoKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX2xlbmd0aCA9IDA7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBwYWdlSW5kZXgoKTogbnVtYmVyIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX3BhZ2VJbmRleCArIDE7XHJcbiAgICB9XHJcbiAgICBzZXQgcGFnZUluZGV4KHZhbHVlOiBudW1iZXIpIHtcclxuICAgICAgdGhpcy5wcmV2aW91c1BhZ2VJbmRleCA9IHRoaXMuX3BhZ2VJbmRleDtcclxuICAgICAgdGhpcy5fcGFnZUluZGV4ID0gTWF0aC5tYXgoY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUgIC0gKHRoaXMuaXNGaXJzdExvYWQgPyAgMCA6IDEpKSwgMCk7XHJcbiAgICAgIHRoaXMuZGlzcGxheU51bWJlck9mUGFnZXMgPSB0aGlzLnBhZ2luYXRpb24odGhpcy5fcGFnZUluZGV4LCB0aGlzLm51bWJlck9mUGFnZXMubGVuZ3RoKTtcclxuXHJcbiAgICAgIHRoaXMuZ2V0TnVtYmVyT2ZQYWdlcygpO1xyXG4gICAgfVxyXG4gICAgX3BhZ2VJbmRleCA9IDA7XHJcblxyXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5ICBwYWdlOiBFdmVudEVtaXR0ZXI8UGFnZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8UGFnZUV2ZW50PigpO1xyXG4gICAgcHJldmlvdXNQYWdlSW5kZXg/OiBudW1iZXIgPSAwO1xyXG4gICAgbnVtYmVyT2ZQYWdlczogbnVtYmVyW10gPSBbXTtcclxuICAgIGRpc3BsYXlOdW1iZXJPZlBhZ2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgbWluUGFnZTogbnVtYmVyO1xyXG4gICAgbWF4cGFnZTogbnVtYmVyO1xyXG4gICAgaXNGaXJzdExvYWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnM6IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlKSB7fVxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgIGNvbnN0IGxhbmdEZWZhdWx0ID0gJ2VuJztcclxuICAgICAgdGhpcy50cmFucy5nZXRMYW5ndWFnZVN1YmplY3QkLnBpcGUoKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIHRoaXMuTEFORyA9IHRoaXMudHJhbnMuZ2V0T2JqZWN0TGFuZyhyZXMgfHwgbGFuZ0RlZmF1bHQpO1xyXG4gICAgfSk7XHJcbiAgICAgIHRoaXMuZ2V0TnVtYmVyT2ZQYWdlcygpO1xyXG4gICAgICB0aGlzLmlzRmlyc3RMb2FkID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfdXBkYXRlRGlzcGxheWVkUGFnZVNpemVPcHRpb25zKCkge1xyXG4gICAgICBpZiAoIXRoaXMucGFnZVNpemUpIHtcclxuICAgICAgICB0aGlzLl9wYWdlU2l6ZSA9XHJcbiAgICAgICAgICB0aGlzLnBhZ2VTaXplT3B0aW9ucy5sZW5ndGggIT0gMCA/IHRoaXMucGFnZVNpemVPcHRpb25zWzBdIDogREVGQVVMVF9QQUdFX1NJWkU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXROdW1iZXJPZlBhZ2VzKCk6IHZvaWQge1xyXG4gICAgICBpZiAoIXRoaXMucGFnZVNpemUpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5udW1iZXJPZlBhZ2VzID0gW107XHJcbiAgICAgIGNvbnN0IEFycmxlbmd0aCA9IE1hdGguY2VpbCh0aGlzLl9sZW5ndGggLyB0aGlzLl9wYWdlU2l6ZSk7XHJcbiAgICAgIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPD0gQXJybGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgICAgdGhpcy5udW1iZXJPZlBhZ2VzLnB1c2goaW5kZXgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubWluUGFnZSA9IDE7XHJcbiAgICAgIHRoaXMubWF4cGFnZSA9IHRoaXMubnVtYmVyT2ZQYWdlcy5sZW5ndGg7XHJcbiAgICAgIHRoaXMucmVuZGVyRGlzcGxheU51bWJlck9mcGFnZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXJEaXNwbGF5TnVtYmVyT2ZwYWdlcygpIHtcclxuICAgICAgaWYgKHRoaXMubnVtYmVyT2ZQYWdlcy5sZW5ndGggPD0gNSkge1xyXG4gICAgICAgIHRoaXMuZGlzcGxheU51bWJlck9mUGFnZXMgPSB0aGlzLm51bWJlck9mUGFnZXMubWFwKHg9PiB4LnRvU3RyaW5nKCkpOyBcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH0gXHJcbiAgICAgIHRoaXMuZGlzcGxheU51bWJlck9mUGFnZXMgPSB0aGlzLm51bWJlck9mUGFnZXMubWFwKHg9PiB4LnRvU3RyaW5nKCkpOyBcclxuICAgICAgdGhpcy5kaXNwbGF5TnVtYmVyT2ZQYWdlcyA9IHRoaXMucGFnaW5hdGlvbih0aGlzLnBhZ2VJbmRleCwgdGhpcy5udW1iZXJPZlBhZ2VzLmxlbmd0aCk7XHJcbiAgICB9XHJcbiAgICBjaGFuZ2VQYWdlKHBhZ2U6IG51bWJlcik6dm9pZCB7XHJcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gcGFnZTtcclxuICAgICAgdGhpcy5fZW1pdFBhZ2VFdmVudCh0aGlzLnByZXZpb3VzUGFnZUluZGV4KTtcclxuICAgICAgdGhpcy5kaXNwbGF5TnVtYmVyT2ZQYWdlcyA9IHRoaXMucGFnaW5hdGlvbihwYXJzZUludChwYWdlLnRvU3RyaW5nKCkpLCB0aGlzLm51bWJlck9mUGFnZXMubGVuZ3RoKTtcclxuICAgIH1cclxuXHJcbiAgICBwYWdpbmF0aW9uKGMsIG0pIHtcclxuICAgICAgbGV0IGN1cnJlbnQgPSBjO1xyXG4gICAgICBsZXQgbGFzdCA9IG07XHJcbiAgICAgIGxldCBkZWx0YSA9IDE7XHJcbiAgICAgIGlmIChjdXJyZW50ID09IHRoaXMubWluUGFnZSB8fCBjdXJyZW50ID09IHRoaXMubWF4cGFnZSkge1xyXG4gICAgICAgIGRlbHRhID0gMztcclxuICAgICAgfSBlbHNlIGlmIChjdXJyZW50ID09ICh0aGlzLm1pblBhZ2UgKyAxKSkge1xyXG4gICAgICAgIGRlbHRhID0gMjtcclxuICAgICAgfSBlbHNlIGlmIChjdXJyZW50ID09ICh0aGlzLm1heHBhZ2UgLSAxKSkge1xyXG4gICAgICAgIGRlbHRhID0gMjtcclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgIGxldCBsZWZ0ID0gY3VycmVudCAtIGRlbHRhO1xyXG4gICAgICBsZXQgcmlnaHQgPSBjdXJyZW50ICsgZGVsdGEgKyAxO1xyXG4gICAgICBsZXQgcmFuZ2UgPSBbXTtcclxuICAgICAgbGV0IHJhbmdlV2l0aERvdHMgPSBbXTtcclxuICAgICAgbGV0IGw7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gbGFzdDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGkgPT0gMSB8fCBpID09IGxhc3QgfHwgaSA+PSBsZWZ0ICYmIGkgPCByaWdodCkge1xyXG4gICAgICAgICAgICByYW5nZS5wdXNoKGkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgZm9yIChsZXQgaSBvZiByYW5nZSkge1xyXG4gICAgICAgIGlmIChsKSB7XHJcbiAgICAgICAgICAgIGlmIChpIC0gbCAhPT0gMSkge1xyXG4gICAgICAgICAgICAgICAgcmFuZ2VXaXRoRG90cy5wdXNoKCcuLi4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByYW5nZVdpdGhEb3RzLnB1c2goaSk7XHJcbiAgICAgICAgbCA9IGk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJhbmdlV2l0aERvdHM7XHJcbiAgICB9XHJcbiAgICBuZXh0UGFnZSgpOiB2b2lkIHtcclxuICAgICAgdGhpcy5wcmV2aW91c1BhZ2VJbmRleCA9IHRoaXMucGFnZUluZGV4O1xyXG4gICAgICB0aGlzLnBhZ2VJbmRleCAgPSB0aGlzLnBhZ2VJbmRleCArIDE7XHJcbiAgICAgIHRoaXMuX2VtaXRQYWdlRXZlbnQodGhpcy5wcmV2aW91c1BhZ2VJbmRleCk7XHJcblxyXG4gICAgICB0aGlzLmRpc3BsYXlOdW1iZXJPZlBhZ2VzID0gdGhpcy5wYWdpbmF0aW9uKHRoaXMucGFnZUluZGV4LCB0aGlzLm51bWJlck9mUGFnZXMubGVuZ3RoKTtcclxuICAgIH1cclxuICAgIHByZXZpb3VzUGFnZSgpOiB2b2lkIHtcclxuICAgICAgdGhpcy5wcmV2aW91c1BhZ2VJbmRleCA9IHRoaXMucGFnZUluZGV4O1xyXG4gICAgICB0aGlzLnBhZ2VJbmRleCAgPSB0aGlzLnBhZ2VJbmRleCAtIDE7XHJcbiAgICAgIHRoaXMuX2VtaXRQYWdlRXZlbnQodGhpcy5wcmV2aW91c1BhZ2VJbmRleCk7XHJcblxyXG4gICAgICB0aGlzLmRpc3BsYXlOdW1iZXJPZlBhZ2VzID0gdGhpcy5wYWdpbmF0aW9uKHRoaXMucGFnZUluZGV4LCB0aGlzLm51bWJlck9mUGFnZXMubGVuZ3RoKTtcclxuICAgIH1cclxuXHJcbiAgICBfY2hhbmdlUGFnZVNpemUocGFnZVNpemU6IG51bWJlcikge1xyXG4gICAgICBjb25zdCBzdGFydEluZGV4ID0gdGhpcy5fcGFnZUluZGV4ICogdGhpcy5wYWdlU2l6ZTtcclxuICAgICAgY29uc3QgcHJldmlvdXNQYWdlSW5kZXggPSB0aGlzLl9wYWdlSW5kZXg7XHJcblxyXG4gICAgICB0aGlzLnByZXZpb3VzUGFnZUluZGV4ID0gcHJldmlvdXNQYWdlSW5kZXg7XHJcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gKE1hdGguZmxvb3Ioc3RhcnRJbmRleCAvIHBhZ2VTaXplKSB8fCAwKSArIDE7XHJcbiAgICAgIHRoaXMucGFnZVNpemUgPSBwYWdlU2l6ZTtcclxuXHJcbiAgICAgIHRoaXMuX2VtaXRQYWdlRXZlbnQodGhpcy5wcmV2aW91c1BhZ2VJbmRleCk7XHJcbiAgICAgIHRoaXMuZ2V0TnVtYmVyT2ZQYWdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIF9jaGFuZ2VQYWdlTnVtYmVyKHBhZ2VOdW1iZXI6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICB0aGlzLnByZXZpb3VzUGFnZUluZGV4ID0gdGhpcy5wYWdlSW5kZXg7XHJcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gcGFnZU51bWJlcjtcclxuICAgICAgdGhpcy5fZW1pdFBhZ2VFdmVudCh0aGlzLnByZXZpb3VzUGFnZUluZGV4KTtcclxuICAgICAgdGhpcy5nZXROdW1iZXJPZlBhZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZW1pdFBhZ2VFdmVudChwcmV2aW91c1BhZ2VJbmRleDogbnVtYmVyKSB7XHJcbiAgICAgIHRoaXMucGFnZS5lbWl0KHtcclxuICAgICAgICBwcmV2aW91c1BhZ2VJbmRleCxcclxuICAgICAgICBwYWdlSW5kZXg6IHRoaXMuX3BhZ2VJbmRleCxcclxuICAgICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgICBsZW5ndGg6IHRoaXMubGVuZ3RoLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuIl19
202
+ export { ɵ0 };
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLXBhZ2luYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcW1zLXBhZ2luYXRvci9xbXMtcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxZQUFZLEVBQWdCLEtBQUssRUFBb0IsTUFBTSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUNuSixPQUFPLEVBQ0gsb0JBQW9CLEdBRXZCLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0QsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7QUFRN0IsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN0QixpQ0FBZSxDQUFBO0lBQ2YsbUNBQWlCLENBQUE7SUFDakIsaUNBQWUsQ0FBQTtJQUNmLG1DQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxjQUFjLEtBQWQsY0FBYyxRQUt6QjtXQVdxQixFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFO0FBSTdELE1BQU0sT0FBTyxxQkFBcUI7SUEyRDlCLFlBQW9CLEtBQThCO1FBQTlCLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBMURsRCxlQUFVLEdBQVcsUUFBUSxDQUFDO1FBQzlCLGNBQVMsR0FBVyxPQUFPLENBQUM7UUFDNUIsY0FBUyxHQUFXLE9BQU8sQ0FBQztRQUM1QixlQUFVLEdBQVcsUUFBUSxDQUFDO1FBR3JCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDdkIsU0FBSSxHQUFtQixjQUFjLENBQUMsS0FBSyxDQUFDO1FBUTdDLHFCQUFnQixHQUFhLENBQUMsQ0FBQyxFQUFFLEVBQUUs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RUFBRTtvQkFDRixPQUFPLEVBQUUsZUFBZTtpQkFDM0I7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFFBQVEsSUFBeUM7cUJBQ3BEO2lCQUNKOzthQUNKOzs7WUE5QlEsdUJBQXVCOzs7d0JBc0MzQixLQUFLO21CQUNMLEtBQUs7OEJBQ0wsS0FBSzt1QkFTTCxLQUFLO3FCQVVMLEtBQUs7d0JBVUwsS0FBSzttQkFhTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3QsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgU2VsZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBjb2VyY2VOdW1iZXJQcm9wZXJ0eSxcclxuICAgIE51bWJlcklucHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcbmltcG9ydCB7IFBhZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0aW9uLXJlZ2lzdHJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTUFUX1NFTEVDVF9DT05GSUcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5cclxuY29uc3QgREVGQVVMVF9QQUdFX1NJWkUgPSA1MDtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUU1TUGFnaW5hdGlvbk9wdGlvbiB7XHJcbiAgICBwYWdlU2l6ZT86IG51bWJlcjtcclxuICAgIHBhZ2VTaXplT3B0aW9ucz86IG51bWJlcltdO1xyXG4gICAgbGVuZ3RoOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFBhZ2luYXRpb25TaXplIHtcclxuICAgIHNtYWxsID0gJ3NtYWxsJyxcclxuICAgIG1lZGl1bSA9ICdtZWRpdW0nLFxyXG4gICAgbGFyZ2UgPSAnbGFyZ2UnLFxyXG4gICAgbW9iaWxlID0gJ21vYmlsZSdcclxufVxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAncW1zLXBhZ2luYXRvcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcW1zLXBhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9xbXMtcGFnaW5hdG9yLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBob3N0OiB7XHJcbiAgICAgICAgJ2NsYXNzJzogJ3Ftcy1wYWdpbmF0b3InXHJcbiAgICB9LFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBNQVRfU0VMRUNUX0NPTkZJRyxcclxuICAgICAgICAgICAgdXNlVmFsdWU6IHsgb3ZlcmxheVBhbmVsQ2xhc3M6ICdjdXN0b21DREtwYW5lbCcgfSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFFNU1BhZ2luYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBzaXplTWVkaXVtOiBzdHJpbmcgPSAnbWVkaXVtJztcclxuICAgIHNpemVTbWFsbDogc3RyaW5nID0gJ3NtYWxsJztcclxuICAgIHNpemVMYXJnZTogc3RyaW5nID0gJ2xhcmdlJztcclxuICAgIHNpemVNb2JpbGU6IHN0cmluZyA9ICdtb2JpbGUnO1xyXG4gICAgTEFORzogYW55O1xyXG5cclxuICAgIEBJbnB1dCgpIG51bUhpZGRlbjogbnVtYmVyID0gMTA7XHJcbiAgICBASW5wdXQoKSBzaXplOiBQYWdpbmF0aW9uU2l6ZSA9IFBhZ2luYXRpb25TaXplLmxhcmdlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBwYWdlU2l6ZU9wdGlvbnMoKTogbnVtYmVyW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9wYWdlU2l6ZU9wdGlvbnM7XHJcbiAgICB9XHJcbiAgICBzZXQgcGFnZVNpemVPcHRpb25zKHZhbHVlOiBudW1iZXJbXSkge1xyXG4gICAgICAgIHRoaXMuX3BhZ2VTaXplT3B0aW9ucyA9ICh2YWx1ZSB8fCBbXSkubWFwKHAgPT4gY29lcmNlTnVtYmVyUHJvcGVydHkocCkpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IFs1LCAxMCwgMjUsIDEwMF07XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBwYWdlU2l6ZSgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9wYWdlU2l6ZTtcclxuICAgIH1cclxuICAgIHNldCBwYWdlU2l6ZSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5fcGFnZVNpemUgPSBNYXRoLm1heChjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSksIDApO1xyXG4gICAgICAgIHRoaXMuX3VwZGF0ZURpc3BsYXllZFBhZ2VTaXplT3B0aW9ucygpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfcGFnZVNpemU6IG51bWJlciA9IDEwO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xlbmd0aDtcclxuICAgIH1cclxuICAgIHNldCBsZW5ndGgodmFsdWU6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuX2xlbmd0aCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcclxuICAgICAgICB0aGlzLmdldE51bWJlck9mUGFnZXMoKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX2xlbmd0aCA9IDA7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBwYWdlSW5kZXgoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGFnZUluZGV4ICsgMTtcclxuICAgIH1cclxuICAgIHNldCBwYWdlSW5kZXgodmFsdWU6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMucHJldmlvdXNQYWdlSW5kZXggPSB0aGlzLl9wYWdlSW5kZXg7XHJcbiAgICAgICAgdGhpcy5fcGFnZUluZGV4ID0gTWF0aC5tYXgoY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUgLSAodGhpcy5pc0ZpcnN0TG9hZCA/IDAgOiAxKSksIDApO1xyXG4gICAgICAgIHRoaXMuZGlzcGxheU51bWJlck9mUGFnZXMgPSB0aGlzLnBhZ2luYXRpb24odGhpcy5fcGFnZUluZGV4LCB0aGlzLm51bWJlck9mUGFnZXMubGVuZ3RoKTtcclxuXHJcbiAgICAgICAgdGhpcy5nZXROdW1iZXJPZlBhZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBfcGFnZUluZGV4ID0gMDtcclxuXHJcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgcGFnZTogRXZlbnRFbWl0dGVyPFBhZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFBhZ2VFdmVudD4oKTtcclxuICAgIHByZXZpb3VzUGFnZUluZGV4PzogbnVtYmVyID0gMDtcclxuICAgIG51bWJlck9mUGFnZXM6IG51bWJlcltdID0gW107XHJcbiAgICBkaXNwbGF5TnVtYmVyT2ZQYWdlczogc3RyaW5nW10gPSBbXTtcclxuICAgIG1pblBhZ2U6IG51bWJlcjtcclxuICAgIG1heHBhZ2U6IG51bWJlcjtcclxuICAgIGlzRmlyc3RMb2FkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zOiBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSkgeyB9XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBsYW5nRGVmYXVsdCA9ICdlbic7XHJcbiAgICAgICAgdGhpcy50cmFucy5nZXRMYW5ndWFnZVN1YmplY3QkLnBpcGUoKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLkxBTkcgPSB0aGlzLnRyYW5zLmdldE9iamVjdExhbmcocmVzIHx8IGxhbmdEZWZhdWx0KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmdldE51bWJlck9mUGFnZXMoKTtcclxuICAgICAgICB0aGlzLmlzRmlyc3RMb2FkID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfdXBkYXRlRGlzcGxheWVkUGFnZVNpemVPcHRpb25zKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5wYWdlU2l6ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9wYWdlU2l6ZSA9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2VTaXplT3B0aW9ucy5sZW5ndGggIT0gMCA/IHRoaXMucGFnZVNpemVPcHRpb25zWzBdIDogREVGQVVMVF9QQUdFX1NJWkU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldE51bWJlck9mUGFnZXMoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnBhZ2VTaXplKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5udW1iZXJPZlBhZ2VzID0gW107XHJcbiAgICAgICAgY29uc3QgQXJybGVuZ3RoID0gTWF0aC5jZWlsKHRoaXMuX2xlbmd0aCAvIHRoaXMuX3BhZ2VTaXplKTtcclxuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDw9IEFycmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICAgICAgICB0aGlzLm51bWJlck9mUGFnZXMucHVzaChpbmRleCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubWluUGFnZSA9IDE7XHJcbiAgICAgICAgdGhpcy5tYXhwYWdlID0gdGhpcy5udW1iZXJPZlBhZ2VzLmxlbmd0aDtcclxuICAgICAgICB0aGlzLnJlbmRlckRpc3BsYXlOdW1iZXJPZnBhZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyRGlzcGxheU51bWJlck9mcGFnZXMoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubnVtYmVyT2ZQYWdlcy5sZW5ndGggPD0gNSkge1xyXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlOdW1iZXJPZlBhZ2VzID0gdGhpcy5udW1iZXJPZlBhZ2VzLm1hcCh4ID0+IHgudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5TnVtYmVyT2ZQYWdlcyA9IHRoaXMubnVtYmVyT2ZQYWdlcy5tYXAoeCA9PiB4LnRvU3RyaW5nKCkpO1xyXG4gICAgICAgIHRoaXMuZGlzcGxheU51bWJlck9mUGFnZXMgPSB0aGlzLnBhZ2luYXRpb24odGhpcy5wYWdlSW5kZXgsIHRoaXMubnVtYmVyT2ZQYWdlcy5sZW5ndGgpO1xyXG4gICAgfVxyXG4gICAgY2hhbmdlUGFnZShwYWdlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IHBhZ2U7XHJcbiAgICAgICAgdGhpcy5fZW1pdFBhZ2VFdmVudCh0aGlzLnByZXZpb3VzUGFnZUluZGV4KTtcclxuICAgICAgICB0aGlzLmRpc3BsYXlOdW1iZXJPZlBhZ2VzID0gdGhpcy5wYWdpbmF0aW9uKHBhcnNlSW50KHBhZ2UudG9TdHJpbmcoKSksIHRoaXMubnVtYmVyT2ZQYWdlcy5sZW5ndGgpO1xyXG4gICAgfVxyXG5cclxuICAgIHBhZ2luYXRpb24oYywgbSkge1xyXG4gICAgICAgIGxldCBjdXJyZW50ID0gYztcclxuICAgICAgICBsZXQgbGFzdCA9IG07XHJcbiAgICAgICAgbGV0IGRlbHRhID0gMTtcclxuICAgICAgICBpZiAoY3VycmVudCA9PSB0aGlzLm1pblBhZ2UgfHwgY3VycmVudCA9PSB0aGlzLm1heHBhZ2UpIHtcclxuICAgICAgICAgICAgZGVsdGEgPSAzO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudCA9PSAodGhpcy5taW5QYWdlICsgMSkpIHtcclxuICAgICAgICAgICAgZGVsdGEgPSAyO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoY3VycmVudCA9PSAodGhpcy5tYXhwYWdlIC0gMSkpIHtcclxuICAgICAgICAgICAgZGVsdGEgPSAyO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGxldCBsZWZ0ID0gY3VycmVudCAtIGRlbHRhO1xyXG4gICAgICAgIGxldCByaWdodCA9IGN1cnJlbnQgKyBkZWx0YSArIDE7XHJcbiAgICAgICAgbGV0IHJhbmdlID0gW107XHJcbiAgICAgICAgbGV0IHJhbmdlV2l0aERvdHMgPSBbXTtcclxuICAgICAgICBsZXQgbDtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gbGFzdDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChpID09IDEgfHwgaSA9PSBsYXN0IHx8IGkgPj0gbGVmdCAmJiBpIDwgcmlnaHQpIHtcclxuICAgICAgICAgICAgICAgIHJhbmdlLnB1c2goaSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgb2YgcmFuZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGwpIHtcclxuICAgICAgICAgICAgICAgIGlmIChpIC0gbCAhPT0gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJhbmdlV2l0aERvdHMucHVzaCgnLi4uJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmFuZ2VXaXRoRG90cy5wdXNoKGkpO1xyXG4gICAgICAgICAgICBsID0gaTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiByYW5nZVdpdGhEb3RzO1xyXG4gICAgfVxyXG4gICAgbmV4dFBhZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5wcmV2aW91c1BhZ2VJbmRleCA9IHRoaXMucGFnZUluZGV4O1xyXG4gICAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5wYWdlSW5kZXggKyAxO1xyXG4gICAgICAgIHRoaXMuX2VtaXRQYWdlRXZlbnQodGhpcy5wcmV2aW91c1BhZ2VJbmRleCk7XHJcblxyXG4gICAgICAgIHRoaXMuZGlzcGxheU51bWJlck9mUGFnZXMgPSB0aGlzLnBhZ2luYXRpb24odGhpcy5wYWdlSW5kZXgsIHRoaXMubnVtYmVyT2ZQYWdlcy5sZW5ndGgpO1xyXG4gICAgfVxyXG4gICAgcHJldmlvdXNQYWdlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucHJldmlvdXNQYWdlSW5kZXggPSB0aGlzLnBhZ2VJbmRleDtcclxuICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IHRoaXMucGFnZUluZGV4IC0gMTtcclxuICAgICAgICB0aGlzLl9lbWl0UGFnZUV2ZW50KHRoaXMucHJldmlvdXNQYWdlSW5kZXgpO1xyXG5cclxuICAgICAgICB0aGlzLmRpc3BsYXlOdW1iZXJPZlBhZ2VzID0gdGhpcy5wYWdpbmF0aW9uKHRoaXMucGFnZUluZGV4LCB0aGlzLm51bWJlck9mUGFnZXMubGVuZ3RoKTtcclxuICAgIH1cclxuXHJcbiAgICBfY2hhbmdlUGFnZVNpemUocGFnZVNpemU6IG51bWJlcikge1xyXG4gICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSB0aGlzLl9wYWdlSW5kZXggKiB0aGlzLnBhZ2VTaXplO1xyXG4gICAgICAgIGNvbnN0IHByZXZpb3VzUGFnZUluZGV4ID0gdGhpcy5fcGFnZUluZGV4O1xyXG5cclxuICAgICAgICB0aGlzLnByZXZpb3VzUGFnZUluZGV4ID0gcHJldmlvdXNQYWdlSW5kZXg7XHJcbiAgICAgICAgdGhpcy5wYWdlSW5kZXggPSAoTWF0aC5mbG9vcihzdGFydEluZGV4IC8gcGFnZVNpemUpIHx8IDApICsgMTtcclxuICAgICAgICB0aGlzLnBhZ2VTaXplID0gcGFnZVNpemU7XHJcblxyXG4gICAgICAgIHRoaXMuX2VtaXRQYWdlRXZlbnQodGhpcy5wcmV2aW91c1BhZ2VJbmRleCk7XHJcbiAgICAgICAgdGhpcy5nZXROdW1iZXJPZlBhZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgX2NoYW5nZVBhZ2VOdW1iZXIocGFnZU51bWJlcjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5wcmV2aW91c1BhZ2VJbmRleCA9IHRoaXMucGFnZUluZGV4O1xyXG4gICAgICAgIHRoaXMucGFnZUluZGV4ID0gcGFnZU51bWJlcjtcclxuICAgICAgICB0aGlzLl9lbWl0UGFnZUV2ZW50KHRoaXMucHJldmlvdXNQYWdlSW5kZXgpO1xyXG4gICAgICAgIHRoaXMuZ2V0TnVtYmVyT2ZQYWdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2VtaXRQYWdlRXZlbnQocHJldmlvdXNQYWdlSW5kZXg6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMucGFnZS5lbWl0KHtcclxuICAgICAgICAgICAgcHJldmlvdXNQYWdlSW5kZXgsXHJcbiAgICAgICAgICAgIHBhZ2VJbmRleDogdGhpcy5fcGFnZUluZGV4LFxyXG4gICAgICAgICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgICAgICAgbGVuZ3RoOiB0aGlzLmxlbmd0aCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ==