qms-angular 1.1.12 → 1.1.14
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.
- package/bundles/qms-angular.umd.js +1132 -59
- package/bundles/qms-angular.umd.js.map +1 -1
- package/esm2015/lib/common/models/qms-flat-node.model.js +1 -1
- package/esm2015/lib/components/breadcrumb/breadcrumb.js +7 -5
- package/esm2015/lib/components/select-access-dialog/common/animation.js +10 -0
- package/esm2015/lib/components/select-access-dialog/common/option-select-access.enum.js +7 -0
- package/esm2015/lib/components/select-access-dialog/index.js +2 -0
- package/esm2015/lib/components/select-access-dialog/model/access-item.model.js +6 -0
- package/esm2015/lib/components/select-access-dialog/model/option-select-access.model.js +3 -0
- package/esm2015/lib/components/select-access-dialog/model/select-access-data.js +16 -0
- package/esm2015/lib/components/select-access-dialog/public-api.js +8 -0
- package/esm2015/lib/components/select-access-dialog/select-access-dialog.component.js +288 -0
- package/esm2015/lib/components/select-access-dialog/select-access-dialog.module.js +56 -0
- package/esm2015/lib/components/select-access-dialog/service/select-access-global.service.js +11 -0
- package/esm2015/lib/components/select-department/common/animation.js +30 -0
- package/esm2015/lib/components/select-department/index.js +2 -0
- package/esm2015/lib/components/select-department/model/select-department-popup-data.model.js +12 -0
- package/esm2015/lib/components/select-department/public-api.js +5 -0
- package/esm2015/lib/components/select-department/select-department.component.js +84 -0
- package/esm2015/lib/components/select-department/select-department.module.js +60 -0
- package/esm2015/lib/components/select-department/service/select-department-global.service.js +22 -0
- package/esm2015/lib/components/select-department-tree/index.js +2 -0
- package/esm2015/lib/components/select-department-tree/model/select-department-tree.config.js +10 -0
- package/esm2015/lib/components/select-department-tree/public-api.js +5 -0
- package/esm2015/lib/components/select-department-tree/select-department-tree.component.js +379 -0
- package/esm2015/lib/components/select-department-tree/select-department-tree.module.js +50 -0
- package/esm2015/lib/components/select-department-tree/service/select-department-tree-global.service.js +22 -0
- package/esm2015/lib/components/select-include-children/services/select-include-children-global.service.js +1 -1
- package/esm2015/lib/components/select-one/select-one.component.js +12 -10
- package/esm2015/lib/components/tree/tree.component.js +39 -32
- package/esm2015/lib/directives/tooltip/tooltip-renderer.directive.js +1 -1
- package/esm2015/lib/model/en.js +14 -1
- package/esm2015/lib/model/no.js +14 -1
- package/esm2015/lib/services/translation-registry.service.js +2 -2
- package/esm2015/public-api.js +4 -1
- package/fesm2015/qms-angular.js +1053 -56
- package/fesm2015/qms-angular.js.map +1 -1
- package/lib/common/models/qms-flat-node.model.d.ts +3 -0
- package/lib/components/select-access-dialog/common/animation.d.ts +1 -0
- package/lib/components/select-access-dialog/common/option-select-access.enum.d.ts +5 -0
- package/lib/components/select-access-dialog/index.d.ts +1 -0
- package/lib/components/select-access-dialog/model/access-item.model.d.ts +7 -0
- package/lib/components/select-access-dialog/model/option-select-access.model.d.ts +5 -0
- package/lib/components/select-access-dialog/model/select-access-data.d.ts +14 -0
- package/lib/components/select-access-dialog/public-api.d.ts +7 -0
- package/lib/components/select-access-dialog/select-access-dialog.component.d.ts +64 -0
- package/lib/components/select-access-dialog/select-access-dialog.module.d.ts +2 -0
- package/lib/components/select-access-dialog/service/select-access-global.service.d.ts +2 -0
- package/lib/components/select-department/common/animation.d.ts +1 -0
- package/lib/components/select-department/index.d.ts +1 -0
- package/lib/components/select-department/model/select-department-popup-data.model.d.ts +14 -0
- package/lib/components/select-department/public-api.d.ts +4 -0
- package/lib/components/select-department/select-department.component.d.ts +31 -0
- package/lib/components/select-department/select-department.module.d.ts +2 -0
- package/lib/components/select-department/service/select-department-global.service.d.ts +9 -0
- package/lib/components/select-department-tree/index.d.ts +1 -0
- package/lib/components/select-department-tree/model/select-department-tree.config.d.ts +9 -0
- package/lib/components/select-department-tree/public-api.d.ts +4 -0
- package/lib/components/select-department-tree/select-department-tree.component.d.ts +84 -0
- package/lib/components/select-department-tree/select-department-tree.module.d.ts +2 -0
- package/lib/components/select-department-tree/service/select-department-tree-global.service.d.ts +9 -0
- package/lib/model/en.d.ts +13 -0
- package/lib/model/no.d.ts +13 -0
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
- package/qms-angular.metadata.json +1 -1
- package/src/lib/components/select-access-dialog/select-access-dialog.component.scss +205 -0
- package/src/lib/components/select-department/select-department.component.scss +193 -0
- package/src/lib/components/select-department-tree/select-department-tree.component.scss +265 -0
- package/src/lib/components/select-one/select-one.component.scss +9 -3
- package/src/lib/components/tree/tree.component.scss +21 -11
@@ -1,3 +1,3 @@
|
|
1
1
|
export class QMSFlatNodeTree {
|
2
2
|
}
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWZsYXQtbm9kZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tbW9uL21vZGVscy9xbXMtZmxhdC1ub2RlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxlQUFlO0NBWTNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFFNU0ZsYXROb2RlVHJlZSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgbGV2ZWw6IG51bWJlcjtcclxuICBleHBhbmRhYmxlOiBib29sZWFuO1xyXG4gIHBhcmVudElkOiBzdHJpbmc7XHJcbiAgaXNGaWxlOiBib29sZWFuO1xyXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICBtYXJrZWRHZXRDaGlsZHJlbj86IGJvb2xlYW47XHJcbiAgaXRlbUljb24/OiBzdHJpbmc7XHJcbiAgaXRlbUljb25Tdmc/OiBzdHJpbmc7XHJcbiAgaXRlbU1hdEljb24/OiBzdHJpbmc7XHJcbn1cclxuIl19
|
@@ -56,7 +56,7 @@ export class QMSBreadcrumb {
|
|
56
56
|
nodeWidths.forEach(width => {
|
57
57
|
currentWidth += width;
|
58
58
|
});
|
59
|
-
this.isOverflow = width < currentWidth;
|
59
|
+
this.isOverflow = width < currentWidth && (this.itemNodes.length >= this.numDisplayItem);
|
60
60
|
this.cdRef.detectChanges();
|
61
61
|
if (this.isOverflow) {
|
62
62
|
let screenWidth = width;
|
@@ -119,11 +119,13 @@ export class QMSBreadcrumb {
|
|
119
119
|
}
|
120
120
|
}
|
121
121
|
//show number Items after 3 dot icon
|
122
|
-
if (+this.numDisplayItem
|
122
|
+
if (+this.numDisplayItem && +this.numDisplayItem >= 2 && this.itemNodes.length >= 2) {
|
123
123
|
this.dropdownNodes = [];
|
124
124
|
this.dropdownNodes = this.itemNodes.slice(0, -this.numDisplayItem).reverse();
|
125
125
|
this.itemNodes = [...[], ...this.itemNodes.slice(-this.numDisplayItem)];
|
126
|
-
this.
|
126
|
+
if (this.dropdownNodes.length) {
|
127
|
+
this.isOverflow = true;
|
128
|
+
}
|
127
129
|
this.cdRef.detectChanges();
|
128
130
|
}
|
129
131
|
//just show 1 item for mobile
|
@@ -167,7 +169,7 @@ export class QMSBreadcrumb {
|
|
167
169
|
QMSBreadcrumb.decorators = [
|
168
170
|
{ type: Component, args: [{
|
169
171
|
selector: 'qms-breadcrumb',
|
170
|
-
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 >\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 (click)=\"$event.stopPropagation()\">\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 qms-btn-icon color=\"light\" [matMenuTriggerFor]=\"bodyMediumMenu\">\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 (click)=\"$event.stopPropagation()\">\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\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",
|
171
173
|
encapsulation: ViewEncapsulation.None,
|
172
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}"]
|
173
175
|
},] }
|
@@ -189,4 +191,4 @@ QMSBreadcrumb.propDecorators = {
|
|
189
191
|
onItemClick: [{ type: Output }],
|
190
192
|
breadCrumbNodes: [{ type: ViewChildren, args: [QMSBreadcrumbItemDirective, {},] }]
|
191
193
|
};
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUE0QixZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEwsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQVUvRCxNQUFNLE9BQU8sYUFBYTtJQXFCeEIsWUFBb0IsR0FBZSxFQUN6QixZQUE2QixFQUM3QixLQUF3QixFQUN4QixTQUF1QixFQUN4QixLQUE4QjtRQUpuQixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBdkI5QixTQUFJLEdBQXlFLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFFbkcsbUJBQWMsR0FBVyxDQUFDLENBQUM7UUFDM0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFDaEMsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUduRSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGtCQUFhLEdBQXFCLEVBQUUsQ0FBQztRQUNyQyxhQUFRLEdBQW1CLElBQUksY0FBYyxFQUFFLENBQUM7UUFDaEQsaUJBQVksR0FBbUIsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUVwRCxpQkFBWSxHQUFxQixFQUFFLENBQUM7UUFDcEMsY0FBUyxHQUFXLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxDQUFDLHdDQUF3QztRQUVoRyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQVE1QixZQUFZLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLEVBQUUsU0FBUyxDQUFDLHVCQUF1QixDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDdkksSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3RELElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDM0M7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWE7UUFDekIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRixJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDckIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6QixZQUFZLElBQUksS0FBSyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLEdBQUcsWUFBWSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFM0IsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO2dCQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3ZDLFlBQVksSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlCLFlBQVksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUMvQixXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUMvQjtpQkFDSTtnQkFDSCxZQUFZLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDL0IsV0FBVyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0IsV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUM7YUFDL0I7WUFDRCxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDckMsSUFBSSxZQUFZLEdBQUcsV0FBVyxFQUFFO29CQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO29CQUM3RSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsR0FBRyxLQUFLLElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUM7b0JBQzdHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztvQkFDL0MsWUFBWSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQzVCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDbkQ7SUFFSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3ZCLEdBQUcsQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUN6RCxHQUFHLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDbEIsR0FBRyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3RDO2lCQUNJO2dCQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25GLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBRW5FO1NBQ0Y7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsU0FBUyxHQUFHLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFFLHVDQUF1QztTQUM3RjtRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7U0FDcEU7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRTtZQUM1RCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRTtnQkFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN4RDtpQkFDSTtnQkFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsQ0FBQzthQUM5RDtTQUNGO1FBRUQsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDMUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDN0UsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztZQUN4RSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQzVCO1FBQ0QsNkJBQTZCO1FBQzdCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztZQUN4QixJQUFJLFNBQVMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLElBQUksUUFBUSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLFVBQTBCO1FBQ3hDLElBQUksVUFBVSxDQUFDLFFBQVE7WUFBRSxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDbEQsSUFBSSxVQUFVLENBQUMsWUFBWTtZQUFFLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQztRQUN0RCxJQUFJLFVBQVUsQ0FBQyxjQUFjO1lBQUUsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQzFELElBQUksVUFBVSxDQUFDLFdBQVc7WUFBRSxPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUM7UUFDcEQsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBb0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxjQUFjLENBQVcsQ0FBQztJQUN0RixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQUs7UUFDaEIsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFvQixFQUFFLFVBQW9CO1FBQ3JELElBQUksVUFBVSxJQUFJLElBQUksQ0FBQyxnQkFBZ0I7WUFBRSxPQUFPO1FBQ2hELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7OztZQXBMRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsdXdUQUE4QjtnQkFFOUIsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O2FBQ3RDOzs7WUFoQnFELFVBQVU7WUFDdkQsZUFBZTtZQURBLGlCQUFpQjtZQUVoQyxZQUFZO1lBRVosdUJBQXVCOzs7b0JBZ0I3QixLQUFLO21CQUNMLEtBQUs7c0JBQ0wsS0FBSzs2QkFDTCxLQUFLO3VCQUNMLEtBQUs7K0JBQ0wsS0FBSzswQkFDTCxNQUFNOzhCQUNOLFlBQVksU0FBQywwQkFBMEIsRUFBRSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkcmVuLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcbmltcG9ydCB7IEJSRUFEQ1JVTUJfRFJPUERPV05fSUNPTiB9IGZyb20gXCIuLi8uLi9jb21tb24vcW1zLWljb24uY29uc3RcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdHJhbnNsYXRpb24tcmVnaXN0cnkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJdGVtSWNvblR5cGUgfSBmcm9tIFwiLi4vcmVsYXRlZC9jb21tb24vaXRlbS1pY29uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQgeyBRTVNCcmVhZGNydW1iSXRlbURpcmVjdGl2ZSB9IGZyb20gXCIuL2JyZWFkY3J1bWItaXRlbS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgQnJlYWRjcnVtYlR5cGUgfSBmcm9tIFwiLi9lbnVtL2JyZWFkY3J1bWItdHlwZVwiO1xyXG5pbXBvcnQgeyBEcm9wZG93bkJyZWFkQ3J1bWJOb2RlV2lkdGggfSBmcm9tIFwiLi9lbnVtL2Ryb3Bkb3duLW5vZGUtd2lkdGguZW51bVwiO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iTm9kZSB9IGZyb20gXCIuL21vZGVsL2JyZWFkY3J1bWItbm9kZS5tb2RlbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdxbXMtYnJlYWRjcnVtYicsXHJcbiAgdGVtcGxhdGVVcmw6ICdicmVhZGNydW1iLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWydicmVhZGNydW1iLnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFFNU0JyZWFkY3J1bWIgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIG5vZGVzOiBCcmVhZGNydW1iTm9kZVtdO1xyXG4gIEBJbnB1dCgpIHR5cGU6IEJyZWFkY3J1bWJUeXBlLm5vcm1hbCB8IEJyZWFkY3J1bWJUeXBlLnRhYmxlIHwgQnJlYWRjcnVtYlR5cGUubW9iaWxlID0gQnJlYWRjcnVtYlR5cGUubm9ybWFsO1xyXG4gIEBJbnB1dCgpIG1heExpbmU6IG51bWJlcjtcclxuICBASW5wdXQoKSBudW1EaXNwbGF5SXRlbTogbnVtYmVyID0gMDtcclxuICBASW5wdXQoKSBvbmx5SXRlbTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkTGFzdEl0ZW06IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBPdXRwdXQoKSBvbkl0ZW1DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAVmlld0NoaWxkcmVuKFFNU0JyZWFkY3J1bWJJdGVtRGlyZWN0aXZlLCB7fSkgYnJlYWRDcnVtYk5vZGVzOiBRdWVyeUxpc3Q8UU1TQnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmU+O1xyXG5cclxuICBpc092ZXJmbG93ID0gZmFsc2U7XHJcbiAgZHJvcGRvd25Ob2RlczogQnJlYWRjcnVtYk5vZGVbXSA9IFtdO1xyXG4gIGhvbWVOb2RlOiBCcmVhZGNydW1iTm9kZSA9IG5ldyBCcmVhZGNydW1iTm9kZSgpO1xyXG4gIHByZXZpb3VzTm9kZTogQnJlYWRjcnVtYk5vZGUgPSBuZXcgQnJlYWRjcnVtYk5vZGUoKTtcclxuICBpdGVtTm9kZXM6IEJyZWFkY3J1bWJOb2RlW107XHJcbiAgc2lkZU5hdk5vZGVzOiBCcmVhZGNydW1iTm9kZVtdID0gW107XHJcbiAgaXRlbVNwYWNlOiBudW1iZXIgPSBEcm9wZG93bkJyZWFkQ3J1bWJOb2RlV2lkdGguTk9STUFMOyAvLyB3aWR0aCBvZiBkcm9wZG93biBub2RlIGluIG5vcm1hbCB2aWV3XHJcbiAgaXRlbUljb25UeXBlO1xyXG4gIGlzTW9iaWxlVHlwZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIExBTkc6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGU6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgcHVibGljIHRyYW5zOiBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSkge1xyXG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCdicmVhZGNydW1iX2Ryb3Bkb3duJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKEJSRUFEQ1JVTUJfRFJPUERPV05fSUNPTikpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMubm9kZXMgJiYgdGhpcy5icmVhZENydW1iTm9kZXMgJiYgSlNPTi5zdHJpbmdpZnkoY2hhbmdlcy5ub2Rlcy5jdXJyZW50VmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzLm5vZGVzLnByZXZpb3VzVmFsdWUpKSB7XHJcbiAgICAgIHRoaXMubm9kZXMgPSBbLi4uY2hhbmdlcy5ub2Rlcy5jdXJyZW50VmFsdWVdO1xyXG4gICAgICB0aGlzLmluaXRCcmVhZENydW1iKCk7XHJcbiAgICAgIHRoaXMuYnVpbGRCcmVhZGNydW1iKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudHJhbnMuZ2V0TGFuZ3VhZ2VTdWJqZWN0JC5waXBlKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgIHRoaXMuTEFORyA9IHRoaXMudHJhbnMuZ2V0T2JqZWN0TGFuZyhyZXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmlzTW9iaWxlVHlwZSA9ICh0aGlzLnR5cGUgPT0gQnJlYWRjcnVtYlR5cGUubW9iaWxlKTtcclxuICAgIHRoaXMuaXRlbUljb25UeXBlID0gSXRlbUljb25UeXBlO1xyXG4gICAgdGhpcy5pbml0QnJlYWRDcnVtYigpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5idWlsZEJyZWFkY3J1bWIoKTtcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tPdmVyZmxvdyh3aWR0aDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBub2RlV2lkdGhzID0gdGhpcy5icmVhZENydW1iTm9kZXMubWFwKHggPT4geC5lbGUubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCk7XHJcbiAgICBsZXQgY3VycmVudFdpZHRoID0gMDtcclxuICAgIG5vZGVXaWR0aHMuZm9yRWFjaCh3aWR0aCA9PiB7XHJcbiAgICAgIGN1cnJlbnRXaWR0aCArPSB3aWR0aDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5pc092ZXJmbG93ID0gd2lkdGggPCBjdXJyZW50V2lkdGg7XHJcbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICBpZiAodGhpcy5pc092ZXJmbG93KSB7XHJcbiAgICAgIGxldCBzY3JlZW5XaWR0aCA9IHdpZHRoO1xyXG4gICAgICBpZiAodGhpcy50eXBlICE9PSAndGFibGUnKSB7XHJcbiAgICAgICAgdGhpcy5kcm9wZG93bk5vZGVzLnB1c2godGhpcy5ob21lTm9kZSk7XHJcbiAgICAgICAgY3VycmVudFdpZHRoIC09IG5vZGVXaWR0aHNbMF07XHJcbiAgICAgICAgY3VycmVudFdpZHRoICs9IHRoaXMuaXRlbVNwYWNlO1xyXG4gICAgICAgIHNjcmVlbldpZHRoIC09IHRoaXMuaXRlbVNwYWNlO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGN1cnJlbnRXaWR0aCArPSB0aGlzLml0ZW1TcGFjZTtcclxuICAgICAgICBzY3JlZW5XaWR0aCAtPSBub2RlV2lkdGhzWzBdO1xyXG4gICAgICAgIHNjcmVlbldpZHRoIC09IHRoaXMuaXRlbVNwYWNlO1xyXG4gICAgICB9XHJcbiAgICAgIG5vZGVXaWR0aHMuc2hpZnQoKTtcclxuICAgICAgbm9kZVdpZHRocy5mb3JFYWNoKChlbGVXaWR0aCwgaW5kZXgpID0+IHtcclxuICAgICAgICBpZiAoY3VycmVudFdpZHRoID4gc2NyZWVuV2lkdGgpIHtcclxuICAgICAgICAgIHRoaXMuaXRlbU5vZGVzW2luZGV4XS5pc1Nob3cgPSBpbmRleCA9PSBub2RlV2lkdGhzLmxlbmd0aCAtIDEgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLml0ZW1Ob2Rlc1tpbmRleF0uaXNPdmVyZmxvdyA9IGluZGV4ID09IG5vZGVXaWR0aHMubGVuZ3RoIC0gMSA/IGZhbHNlIDogdGhpcy5pdGVtTm9kZXNbaW5kZXhdLmlzT3ZlcmZsb3c7XHJcbiAgICAgICAgICB0aGlzLmRyb3Bkb3duTm9kZXMucHVzaCh0aGlzLml0ZW1Ob2Rlc1tpbmRleF0pO1xyXG4gICAgICAgICAgY3VycmVudFdpZHRoIC09IChlbGVXaWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzID0gdGhpcy5kcm9wZG93bk5vZGVzLnJldmVyc2UoKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBpbml0QnJlYWRDcnVtYigpIHtcclxuICAgIGlmICh0aGlzLm5vZGVzICYmIHRoaXMubm9kZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLm5vZGVzLmZvckVhY2goZWxlID0+IHtcclxuICAgICAgICBlbGUuaXNPdmVyZmxvdyA9IGVsZS5pc092ZXJmbG93ID8gZWxlLmlzT3ZlcmZsb3cgOiBmYWxzZTtcclxuICAgICAgICBlbGUuaXNTaG93ID0gdHJ1ZTtcclxuICAgICAgICBlbGUuZGlzcGxheVR5cGUgPSB0aGlzLmdldEl0ZW1JY29uVHlwZShlbGUpO1xyXG4gICAgICB9KTtcclxuICAgICAgaWYgKHRoaXMudHlwZSAhPT0gJ21vYmlsZScpIHtcclxuICAgICAgICB0aGlzLmhvbWVOb2RlID0gdGhpcy5ub2Rlc1swXTtcclxuICAgICAgICB0aGlzLml0ZW1Ob2RlcyA9IHRoaXMubm9kZXMuc2xpY2UoMSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wcmV2aW91c05vZGUgPSB0aGlzLm5vZGVzW3RoaXMubm9kZXMubGVuZ3RoID49IDIgPyB0aGlzLm5vZGVzLmxlbmd0aCAtIDIgOiAwXTtcclxuICAgICAgICB0aGlzLnNpZGVOYXZOb2RlcyA9IFtdO1xyXG4gICAgICAgIHRoaXMuc2lkZU5hdk5vZGVzID0gdGhpcy5ub2Rlcy5sZW5ndGggPj0gMiA/IFsuLi50aGlzLm5vZGVzXSA6IFtdO1xyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICd0YWJsZScpIHtcclxuICAgICAgdGhpcy5lbGUubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdxbXMtYnJlYWRjcnVtYi10YWJsZScpO1xyXG4gICAgICB0aGlzLml0ZW1TcGFjZSA9IERyb3Bkb3duQnJlYWRDcnVtYk5vZGVXaWR0aC5UQUJMRTsgIC8vIHdpZHRoIG9mIGRyb3Bkb3duIG5vZGUgaW4gdGFibGUgdmlld1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubWF4TGluZSAmJiB0aGlzLm1heExpbmUgPiAxKSB7XHJcbiAgICAgIHRoaXMuZWxlLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgncW1zLWJyZWFkY3J1bWJfX211bHRpLWxpbmUnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJ1aWxkQnJlYWRjcnVtYigpIHtcclxuICAgIGlmICghdGhpcy5pc01vYmlsZVR5cGUgJiYgdGhpcy5lbGUubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCkge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTm9kZXMgPSBbXTtcclxuICAgICAgaWYgKCF0aGlzLm1heExpbmUgfHwgdGhpcy5tYXhMaW5lIDwgMikge1xyXG4gICAgICAgIHRoaXMuY2hlY2tPdmVyZmxvdyh0aGlzLmVsZS5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLmNoZWNrT3ZlcmZsb3codGhpcy5lbGUubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAqIDEuNyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL3Nob3cgbnVtYmVyIEl0ZW1zIGFmdGVyIDMgZG90IGljb25cclxuICAgIGlmICgrdGhpcy5udW1EaXNwbGF5SXRlbSA+IDAgJiYgdGhpcy5pdGVtTm9kZXMubGVuZ3RoID49IDIpIHtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzID0gW107XHJcbiAgICAgIHRoaXMuZHJvcGRvd25Ob2RlcyA9IHRoaXMuaXRlbU5vZGVzLnNsaWNlKDAsIC10aGlzLm51bURpc3BsYXlJdGVtKS5yZXZlcnNlKCk7XHJcbiAgICAgIHRoaXMuaXRlbU5vZGVzID0gWy4uLltdLCAuLi50aGlzLml0ZW1Ob2Rlcy5zbGljZSgtdGhpcy5udW1EaXNwbGF5SXRlbSldO1xyXG4gICAgICB0aGlzLmlzT3ZlcmZsb3cgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIC8vanVzdCBzaG93IDEgaXRlbSBmb3IgbW9iaWxlXHJcbiAgICBpZiAodGhpcy5vbmx5SXRlbSkge1xyXG4gICAgICB0aGlzLmlzT3ZlcmZsb3cgPSB0cnVlO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTm9kZXMgPSBbXTtcclxuICAgICAgbGV0IGl0ZW1Ob2RlcyA9IFsuLi50aGlzLml0ZW1Ob2Rlc107XHJcbiAgICAgIGxldCBsYXN0SXRlbSA9IGl0ZW1Ob2Rlcy5wb3AoKTtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzID0gWy4uLml0ZW1Ob2Rlc10ucmV2ZXJzZSgpO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTm9kZXMucHVzaCh0aGlzLmhvbWVOb2RlKTtcclxuICAgICAgdGhpcy5pdGVtTm9kZXMgPSBbXTtcclxuICAgICAgdGhpcy5pdGVtTm9kZXMgPSBbbGFzdEl0ZW1dO1xyXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEl0ZW1JY29uVHlwZSh0cmVlQ29uZmlnOiBCcmVhZGNydW1iTm9kZSkge1xyXG4gICAgaWYgKHRyZWVDb25maWcuaXRlbUljb24pIHJldHVybiBJdGVtSWNvblR5cGUubmFtZTtcclxuICAgIGlmICh0cmVlQ29uZmlnLml0ZW1JY29uUGF0aCkgcmV0dXJuIEl0ZW1JY29uVHlwZS5wYXRoO1xyXG4gICAgaWYgKHRyZWVDb25maWcuaXRlbUljb25CYXNlNjQpIHJldHVybiBJdGVtSWNvblR5cGUuYmFzZTY0O1xyXG4gICAgaWYgKHRyZWVDb25maWcuaXRlbUljb25TdmcpIHJldHVybiBJdGVtSWNvblR5cGUuc3ZnO1xyXG4gICAgcmV0dXJuIEl0ZW1JY29uVHlwZS5ub25lO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW1hZ2VQYXRoKG5vZGU6IEJyZWFkY3J1bWJOb2RlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKG5vZGUuaXRlbUljb25CYXNlNjQpIGFzIHN0cmluZztcclxuICB9XHJcblxyXG4gIG9uS2V5UHJlc3NlZChldmVudCkge1xyXG4gICAgWy4uLmV2ZW50LnRhcmdldC5jaGlsZHJlbl0uZm9yRWFjaCh4ID0+IHguY2xpY2soKSk7XHJcbiAgfVxyXG5cclxuICBvbkl0ZW1TZWxlY3QoaXRlbTogQnJlYWRjcnVtYk5vZGUsIGlzTGFzdEl0ZW0/OiBib29sZWFuKSB7XHJcbiAgICBpZiAoaXNMYXN0SXRlbSAmJiB0aGlzLmRpc2FibGVkTGFzdEl0ZW0pIHJldHVybjtcclxuICAgIGlmICh0aGlzLm9uSXRlbUNsaWNrKSB7XHJcbiAgICAgIHRoaXMub25JdGVtQ2xpY2suZW1pdChpdGVtKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUE0QixZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEwsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQVUvRCxNQUFNLE9BQU8sYUFBYTtJQXFCeEIsWUFBb0IsR0FBZSxFQUN6QixZQUE2QixFQUM3QixLQUF3QixFQUN4QixTQUF1QixFQUN4QixLQUE4QjtRQUpuQixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENB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ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkcmVuLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcbmltcG9ydCB7IEJSRUFEQ1JVTUJfRFJPUERPV05fSUNPTiB9IGZyb20gXCIuLi8uLi9jb21tb24vcW1zLWljb24uY29uc3RcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdHJhbnNsYXRpb24tcmVnaXN0cnkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJdGVtSWNvblR5cGUgfSBmcm9tIFwiLi4vcmVsYXRlZC9jb21tb24vaXRlbS1pY29uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQgeyBRTVNCcmVhZGNydW1iSXRlbURpcmVjdGl2ZSB9IGZyb20gXCIuL2JyZWFkY3J1bWItaXRlbS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgQnJlYWRjcnVtYlR5cGUgfSBmcm9tIFwiLi9lbnVtL2JyZWFkY3J1bWItdHlwZVwiO1xyXG5pbXBvcnQgeyBEcm9wZG93bkJyZWFkQ3J1bWJOb2RlV2lkdGggfSBmcm9tIFwiLi9lbnVtL2Ryb3Bkb3duLW5vZGUtd2lkdGguZW51bVwiO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iTm9kZSB9IGZyb20gXCIuL21vZGVsL2JyZWFkY3J1bWItbm9kZS5tb2RlbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdxbXMtYnJlYWRjcnVtYicsXHJcbiAgdGVtcGxhdGVVcmw6ICdicmVhZGNydW1iLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWydicmVhZGNydW1iLnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFFNU0JyZWFkY3J1bWIgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIG5vZGVzOiBCcmVhZGNydW1iTm9kZVtdO1xyXG4gIEBJbnB1dCgpIHR5cGU6IEJyZWFkY3J1bWJUeXBlLm5vcm1hbCB8IEJyZWFkY3J1bWJUeXBlLnRhYmxlIHwgQnJlYWRjcnVtYlR5cGUubW9iaWxlID0gQnJlYWRjcnVtYlR5cGUubm9ybWFsO1xyXG4gIEBJbnB1dCgpIG1heExpbmU6IG51bWJlcjtcclxuICBASW5wdXQoKSBudW1EaXNwbGF5SXRlbTogbnVtYmVyID0gMDtcclxuICBASW5wdXQoKSBvbmx5SXRlbTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkTGFzdEl0ZW06IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBPdXRwdXQoKSBvbkl0ZW1DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAVmlld0NoaWxkcmVuKFFNU0JyZWFkY3J1bWJJdGVtRGlyZWN0aXZlLCB7fSkgYnJlYWRDcnVtYk5vZGVzOiBRdWVyeUxpc3Q8UU1TQnJlYWRjcnVtYkl0ZW1EaXJlY3RpdmU+O1xyXG5cclxuICBpc092ZXJmbG93ID0gZmFsc2U7XHJcbiAgZHJvcGRvd25Ob2RlczogQnJlYWRjcnVtYk5vZGVbXSA9IFtdO1xyXG4gIGhvbWVOb2RlOiBCcmVhZGNydW1iTm9kZSA9IG5ldyBCcmVhZGNydW1iTm9kZSgpO1xyXG4gIHByZXZpb3VzTm9kZTogQnJlYWRjcnVtYk5vZGUgPSBuZXcgQnJlYWRjcnVtYk5vZGUoKTtcclxuICBpdGVtTm9kZXM6IEJyZWFkY3J1bWJOb2RlW107XHJcbiAgc2lkZU5hdk5vZGVzOiBCcmVhZGNydW1iTm9kZVtdID0gW107XHJcbiAgaXRlbVNwYWNlOiBudW1iZXIgPSBEcm9wZG93bkJyZWFkQ3J1bWJOb2RlV2lkdGguTk9STUFMOyAvLyB3aWR0aCBvZiBkcm9wZG93biBub2RlIGluIG5vcm1hbCB2aWV3XHJcbiAgaXRlbUljb25UeXBlO1xyXG4gIGlzTW9iaWxlVHlwZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIExBTkc6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGU6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgcHVibGljIHRyYW5zOiBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSkge1xyXG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCdicmVhZGNydW1iX2Ryb3Bkb3duJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKEJSRUFEQ1JVTUJfRFJPUERPV05fSUNPTikpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMubm9kZXMgJiYgdGhpcy5icmVhZENydW1iTm9kZXMgJiYgSlNPTi5zdHJpbmdpZnkoY2hhbmdlcy5ub2Rlcy5jdXJyZW50VmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzLm5vZGVzLnByZXZpb3VzVmFsdWUpKSB7XHJcbiAgICAgIHRoaXMubm9kZXMgPSBbLi4uY2hhbmdlcy5ub2Rlcy5jdXJyZW50VmFsdWVdO1xyXG4gICAgICB0aGlzLmluaXRCcmVhZENydW1iKCk7XHJcbiAgICAgIHRoaXMuYnVpbGRCcmVhZGNydW1iKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudHJhbnMuZ2V0TGFuZ3VhZ2VTdWJqZWN0JC5waXBlKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgIHRoaXMuTEFORyA9IHRoaXMudHJhbnMuZ2V0T2JqZWN0TGFuZyhyZXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmlzTW9iaWxlVHlwZSA9ICh0aGlzLnR5cGUgPT0gQnJlYWRjcnVtYlR5cGUubW9iaWxlKTtcclxuICAgIHRoaXMuaXRlbUljb25UeXBlID0gSXRlbUljb25UeXBlO1xyXG4gICAgdGhpcy5pbml0QnJlYWRDcnVtYigpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5idWlsZEJyZWFkY3J1bWIoKTtcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tPdmVyZmxvdyh3aWR0aDogbnVtYmVyKSB7XHJcblxyXG4gICAgY29uc3Qgbm9kZVdpZHRocyA9IHRoaXMuYnJlYWRDcnVtYk5vZGVzLm1hcCh4ID0+IHguZWxlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpO1xyXG4gICAgbGV0IGN1cnJlbnRXaWR0aCA9IDA7XHJcbiAgICBub2RlV2lkdGhzLmZvckVhY2god2lkdGggPT4ge1xyXG4gICAgICBjdXJyZW50V2lkdGggKz0gd2lkdGg7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmlzT3ZlcmZsb3cgPSB3aWR0aCA8IGN1cnJlbnRXaWR0aCAmJiAodGhpcy5pdGVtTm9kZXMubGVuZ3RoID49IHRoaXMubnVtRGlzcGxheUl0ZW0pO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuaXNPdmVyZmxvdykge1xyXG4gICAgICBsZXQgc2NyZWVuV2lkdGggPSB3aWR0aDtcclxuICAgICAgaWYgKHRoaXMudHlwZSAhPT0gJ3RhYmxlJykge1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd25Ob2Rlcy5wdXNoKHRoaXMuaG9tZU5vZGUpO1xyXG4gICAgICAgIGN1cnJlbnRXaWR0aCAtPSBub2RlV2lkdGhzWzBdO1xyXG4gICAgICAgIGN1cnJlbnRXaWR0aCArPSB0aGlzLml0ZW1TcGFjZTtcclxuICAgICAgICBzY3JlZW5XaWR0aCAtPSB0aGlzLml0ZW1TcGFjZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjdXJyZW50V2lkdGggKz0gdGhpcy5pdGVtU3BhY2U7XHJcbiAgICAgICAgc2NyZWVuV2lkdGggLT0gbm9kZVdpZHRoc1swXTtcclxuICAgICAgICBzY3JlZW5XaWR0aCAtPSB0aGlzLml0ZW1TcGFjZTtcclxuICAgICAgfVxyXG4gICAgICBub2RlV2lkdGhzLnNoaWZ0KCk7XHJcbiAgICAgIG5vZGVXaWR0aHMuZm9yRWFjaCgoZWxlV2lkdGgsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgaWYgKGN1cnJlbnRXaWR0aCA+IHNjcmVlbldpZHRoKSB7XHJcbiAgICAgICAgICB0aGlzLml0ZW1Ob2Rlc1tpbmRleF0uaXNTaG93ID0gaW5kZXggPT0gbm9kZVdpZHRocy5sZW5ndGggLSAxID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pdGVtTm9kZXNbaW5kZXhdLmlzT3ZlcmZsb3cgPSBpbmRleCA9PSBub2RlV2lkdGhzLmxlbmd0aCAtIDEgPyBmYWxzZSA6IHRoaXMuaXRlbU5vZGVzW2luZGV4XS5pc092ZXJmbG93O1xyXG4gICAgICAgICAgdGhpcy5kcm9wZG93bk5vZGVzLnB1c2godGhpcy5pdGVtTm9kZXNbaW5kZXhdKTtcclxuICAgICAgICAgIGN1cnJlbnRXaWR0aCAtPSAoZWxlV2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25Ob2RlcyA9IHRoaXMuZHJvcGRvd25Ob2Rlcy5yZXZlcnNlKCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgaW5pdEJyZWFkQ3J1bWIoKSB7XHJcbiAgICBpZiAodGhpcy5ub2RlcyAmJiB0aGlzLm5vZGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5ub2Rlcy5mb3JFYWNoKGVsZSA9PiB7XHJcbiAgICAgICAgZWxlLmlzT3ZlcmZsb3cgPSBlbGUuaXNPdmVyZmxvdyA/IGVsZS5pc092ZXJmbG93IDogZmFsc2U7XHJcbiAgICAgICAgZWxlLmlzU2hvdyA9IHRydWU7XHJcbiAgICAgICAgZWxlLmRpc3BsYXlUeXBlID0gdGhpcy5nZXRJdGVtSWNvblR5cGUoZWxlKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09ICdtb2JpbGUnKSB7XHJcbiAgICAgICAgdGhpcy5ob21lTm9kZSA9IHRoaXMubm9kZXNbMF07XHJcbiAgICAgICAgdGhpcy5pdGVtTm9kZXMgPSB0aGlzLm5vZGVzLnNsaWNlKDEpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMucHJldmlvdXNOb2RlID0gdGhpcy5ub2Rlc1t0aGlzLm5vZGVzLmxlbmd0aCA+PSAyID8gdGhpcy5ub2Rlcy5sZW5ndGggLSAyIDogMF07XHJcbiAgICAgICAgdGhpcy5zaWRlTmF2Tm9kZXMgPSBbXTtcclxuICAgICAgICB0aGlzLnNpZGVOYXZOb2RlcyA9IHRoaXMubm9kZXMubGVuZ3RoID49IDIgPyBbLi4udGhpcy5ub2Rlc10gOiBbXTtcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy50eXBlID09PSAndGFibGUnKSB7XHJcbiAgICAgIHRoaXMuZWxlLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgncW1zLWJyZWFkY3J1bWItdGFibGUnKTtcclxuICAgICAgdGhpcy5pdGVtU3BhY2UgPSBEcm9wZG93bkJyZWFkQ3J1bWJOb2RlV2lkdGguVEFCTEU7ICAvLyB3aWR0aCBvZiBkcm9wZG93biBub2RlIGluIHRhYmxlIHZpZXdcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm1heExpbmUgJiYgdGhpcy5tYXhMaW5lID4gMSkge1xyXG4gICAgICB0aGlzLmVsZS5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Ftcy1icmVhZGNydW1iX19tdWx0aS1saW5lJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidWlsZEJyZWFkY3J1bWIoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNNb2JpbGVUeXBlICYmIHRoaXMuZWxlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzID0gW107XHJcbiAgICAgIGlmICghdGhpcy5tYXhMaW5lIHx8IHRoaXMubWF4TGluZSA8IDIpIHtcclxuICAgICAgICB0aGlzLmNoZWNrT3ZlcmZsb3codGhpcy5lbGUubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jaGVja092ZXJmbG93KHRoaXMuZWxlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKiAxLjcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9zaG93IG51bWJlciBJdGVtcyBhZnRlciAzIGRvdCBpY29uXHJcbiAgICBpZiAoK3RoaXMubnVtRGlzcGxheUl0ZW0gJiYgK3RoaXMubnVtRGlzcGxheUl0ZW0gPj0gMiAmJiB0aGlzLml0ZW1Ob2Rlcy5sZW5ndGggPj0gMikge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTm9kZXMgPSBbXTtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzID0gdGhpcy5pdGVtTm9kZXMuc2xpY2UoMCwgLXRoaXMubnVtRGlzcGxheUl0ZW0pLnJldmVyc2UoKTtcclxuICAgICAgdGhpcy5pdGVtTm9kZXMgPSBbLi4uW10sIC4uLnRoaXMuaXRlbU5vZGVzLnNsaWNlKC10aGlzLm51bURpc3BsYXlJdGVtKV07XHJcbiAgICAgIGlmICh0aGlzLmRyb3Bkb3duTm9kZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5pc092ZXJmbG93ID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIC8vanVzdCBzaG93IDEgaXRlbSBmb3IgbW9iaWxlXHJcbiAgICBpZiAodGhpcy5vbmx5SXRlbSkge1xyXG4gICAgICB0aGlzLmlzT3ZlcmZsb3cgPSB0cnVlO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTm9kZXMgPSBbXTtcclxuICAgICAgbGV0IGl0ZW1Ob2RlcyA9IFsuLi50aGlzLml0ZW1Ob2Rlc107XHJcbiAgICAgIGxldCBsYXN0SXRlbSA9IGl0ZW1Ob2Rlcy5wb3AoKTtcclxuICAgICAgdGhpcy5kcm9wZG93bk5vZGVzID0gWy4uLml0ZW1Ob2Rlc10ucmV2ZXJzZSgpO1xyXG4gICAgICB0aGlzLmRyb3Bkb3duTm9kZXMucHVzaCh0aGlzLmhvbWVOb2RlKTtcclxuICAgICAgdGhpcy5pdGVtTm9kZXMgPSBbXTtcclxuICAgICAgdGhpcy5pdGVtTm9kZXMgPSBbbGFzdEl0ZW1dO1xyXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEl0ZW1JY29uVHlwZSh0cmVlQ29uZmlnOiBCcmVhZGNydW1iTm9kZSkge1xyXG4gICAgaWYgKHRyZWVDb25maWcuaXRlbUljb24pIHJldHVybiBJdGVtSWNvblR5cGUubmFtZTtcclxuICAgIGlmICh0cmVlQ29uZmlnLml0ZW1JY29uUGF0aCkgcmV0dXJuIEl0ZW1JY29uVHlwZS5wYXRoO1xyXG4gICAgaWYgKHRyZWVDb25maWcuaXRlbUljb25CYXNlNjQpIHJldHVybiBJdGVtSWNvblR5cGUuYmFzZTY0O1xyXG4gICAgaWYgKHRyZWVDb25maWcuaXRlbUljb25TdmcpIHJldHVybiBJdGVtSWNvblR5cGUuc3ZnO1xyXG4gICAgcmV0dXJuIEl0ZW1JY29uVHlwZS5ub25lO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW1hZ2VQYXRoKG5vZGU6IEJyZWFkY3J1bWJOb2RlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKG5vZGUuaXRlbUljb25CYXNlNjQpIGFzIHN0cmluZztcclxuICB9XHJcblxyXG4gIG9uS2V5UHJlc3NlZChldmVudCkge1xyXG4gICAgWy4uLmV2ZW50LnRhcmdldC5jaGlsZHJlbl0uZm9yRWFjaCh4ID0+IHguY2xpY2soKSk7XHJcbiAgfVxyXG5cclxuICBvbkl0ZW1TZWxlY3QoaXRlbTogQnJlYWRjcnVtYk5vZGUsIGlzTGFzdEl0ZW0/OiBib29sZWFuKSB7XHJcbiAgICBpZiAoaXNMYXN0SXRlbSAmJiB0aGlzLmRpc2FibGVkTGFzdEl0ZW0pIHJldHVybjtcclxuICAgIGlmICh0aGlzLm9uSXRlbUNsaWNrKSB7XHJcbiAgICAgIHRoaXMub25JdGVtQ2xpY2suZW1pdChpdGVtKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { animate, style, transition, trigger } from "@angular/animations";
|
2
|
+
export const SelectAccessAnimationTrigger = [
|
3
|
+
trigger('inOutAnimation', [
|
4
|
+
transition(':enter', [
|
5
|
+
style({ opacity: 0 }),
|
6
|
+
animate('0.3s ease-out', style({ opacity: 1 }))
|
7
|
+
]),
|
8
|
+
]),
|
9
|
+
];
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1hY2Nlc3MtZGlhbG9nL2NvbW1vbi9hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHO0lBQzFDLE9BQU8sQ0FDTCxnQkFBZ0IsRUFDaEI7UUFDRSxVQUFVLENBQ1IsUUFBUSxFQUNSO1lBQ0UsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sQ0FBQyxlQUFlLEVBQ3JCLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3pCLENBQ0Y7S0FDRixDQUNGO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBTZWxlY3RBY2Nlc3NBbmltYXRpb25UcmlnZ2VyID0gW1xyXG4gIHRyaWdnZXIoXHJcbiAgICAnaW5PdXRBbmltYXRpb24nLFxyXG4gICAgW1xyXG4gICAgICB0cmFuc2l0aW9uKFxyXG4gICAgICAgICc6ZW50ZXInLFxyXG4gICAgICAgIFtcclxuICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCB9KSxcclxuICAgICAgICAgIGFuaW1hdGUoJzAuM3MgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpXHJcbiAgICAgICAgXVxyXG4gICAgICApLFxyXG4gICAgXSxcclxuICApLFxyXG5dXHJcbiJdfQ==
|
@@ -0,0 +1,7 @@
|
|
1
|
+
export var OptionSelectAccessEnum;
|
2
|
+
(function (OptionSelectAccessEnum) {
|
3
|
+
OptionSelectAccessEnum[OptionSelectAccessEnum["PERSON"] = 0] = "PERSON";
|
4
|
+
OptionSelectAccessEnum[OptionSelectAccessEnum["USER_GROUP"] = 1] = "USER_GROUP";
|
5
|
+
OptionSelectAccessEnum[OptionSelectAccessEnum["DEPARTMENT"] = 2] = "DEPARTMENT";
|
6
|
+
})(OptionSelectAccessEnum || (OptionSelectAccessEnum = {}));
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLXNlbGVjdC1hY2Nlc3MuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtYWNjZXNzLWRpYWxvZy9jb21tb24vb3B0aW9uLXNlbGVjdC1hY2Nlc3MuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxzQkFJWDtBQUpELFdBQVksc0JBQXNCO0lBQ2hDLHVFQUFNLENBQUE7SUFDTiwrRUFBVSxDQUFBO0lBQ1YsK0VBQVUsQ0FBQTtBQUNaLENBQUMsRUFKVyxzQkFBc0IsS0FBdEIsc0JBQXNCLFFBSWpDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gT3B0aW9uU2VsZWN0QWNjZXNzRW51bSB7XHJcbiAgUEVSU09OLFxyXG4gIFVTRVJfR1JPVVAsXHJcbiAgREVQQVJUTUVOVFxyXG59XHJcbiJdfQ==
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './public-api';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LWFjY2Vzcy1kaWFsb2cvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xyXG4iXX0=
|
@@ -0,0 +1,6 @@
|
|
1
|
+
export class QMSAccessItem {
|
2
|
+
constructor() {
|
3
|
+
this.selected = false;
|
4
|
+
}
|
5
|
+
}
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWl0ZW0ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LWFjY2Vzcy1kaWFsb2cvbW9kZWwvYWNjZXNzLWl0ZW0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGFBQWE7SUFBMUI7UUFLRSxhQUFRLEdBQVksS0FBSyxDQUFDO0lBQzVCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBRTVNBY2Nlc3NJdGVtIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBzdWJOYW1lPzogc3RyaW5nO1xyXG4gIGhlbHBUZXh0Pzogc3RyaW5nO1xyXG4gIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcbn1cclxuIl19
|
@@ -0,0 +1,3 @@
|
|
1
|
+
export class OptionSelectAccessModel {
|
2
|
+
}
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLXNlbGVjdC1hY2Nlc3MubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LWFjY2Vzcy1kaWFsb2cvbW9kZWwvb3B0aW9uLXNlbGVjdC1hY2Nlc3MubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLHVCQUF1QjtDQUduQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvblNlbGVjdEFjY2Vzc0VudW0gfSBmcm9tIFwiLi4vY29tbW9uL29wdGlvbi1zZWxlY3QtYWNjZXNzLmVudW1cIjtcclxuZXhwb3J0IGNsYXNzIE9wdGlvblNlbGVjdEFjY2Vzc01vZGVsIHtcclxuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xyXG4gIHR5cGU6IE9wdGlvblNlbGVjdEFjY2Vzc0VudW07XHJcbn0iXX0=
|
@@ -0,0 +1,16 @@
|
|
1
|
+
export class QMSSelectAccessResult {
|
2
|
+
constructor() {
|
3
|
+
this.userGroups = [];
|
4
|
+
this.departments = [];
|
5
|
+
this.persons = [];
|
6
|
+
}
|
7
|
+
}
|
8
|
+
export class QMSSelectAccessData {
|
9
|
+
constructor() {
|
10
|
+
this.accessUserGroups = [];
|
11
|
+
this.accessDepartments = [];
|
12
|
+
this.accessPersons = [];
|
13
|
+
this.selectedData = new QMSSelectAccessResult();
|
14
|
+
}
|
15
|
+
}
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFjY2Vzcy1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1hY2Nlc3MtZGlhbG9nL21vZGVsL3NlbGVjdC1hY2Nlc3MtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8scUJBQXFCO0lBQWxDO1FBQ0UsZUFBVSxHQUFvQixFQUFFLENBQUM7UUFDakMsZ0JBQVcsR0FBa0IsRUFBRSxDQUFDO1FBQ2hDLFlBQU8sR0FBb0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxtQkFBbUI7SUFBaEM7UUFDRSxxQkFBZ0IsR0FBb0IsRUFBRSxDQUFDO1FBQ3ZDLHNCQUFpQixHQUFzQixFQUFFLENBQUM7UUFDMUMsa0JBQWEsR0FBb0IsRUFBRSxDQUFDO1FBQ3BDLGlCQUFZLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0lBQzdDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFFNU0ZsYXROb2RlVHJlZSB9IGZyb20gXCIuLi8uLi8uLi9jb21tb24vbW9kZWxzL3Ftcy1mbGF0LW5vZGUubW9kZWxcIjtcclxuaW1wb3J0IHsgUU1TVHJlZU5vZGUgfSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL21vZGVscy9xbXMtdHJlZS1ub2RlLm1vZGVsXCI7XHJcbmltcG9ydCB7IFFNU0FjY2Vzc0l0ZW0gfSBmcm9tIFwiLi9hY2Nlc3MtaXRlbS5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFFNU1NlbGVjdEFjY2Vzc1Jlc3VsdCB7XHJcbiAgdXNlckdyb3VwczogUU1TQWNjZXNzSXRlbVtdID0gW107XHJcbiAgZGVwYXJ0bWVudHM6IFFNU1RyZWVOb2RlW10gPSBbXTtcclxuICBwZXJzb25zOiBRTVNBY2Nlc3NJdGVtW10gPSBbXTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFFNU1NlbGVjdEFjY2Vzc0RhdGEge1xyXG4gIGFjY2Vzc1VzZXJHcm91cHM6IFFNU0FjY2Vzc0l0ZW1bXSA9IFtdO1xyXG4gIGFjY2Vzc0RlcGFydG1lbnRzOiBRTVNGbGF0Tm9kZVRyZWVbXSA9IFtdO1xyXG4gIGFjY2Vzc1BlcnNvbnM6IFFNU0FjY2Vzc0l0ZW1bXSA9IFtdO1xyXG4gIHNlbGVjdGVkRGF0YSA9IG5ldyBRTVNTZWxlY3RBY2Nlc3NSZXN1bHQoKTtcclxufVxyXG5cclxuIl19
|
@@ -0,0 +1,8 @@
|
|
1
|
+
export * from './common/option-select-access.enum';
|
2
|
+
export * from './model/select-access-data';
|
3
|
+
export * from './model/access-item.model';
|
4
|
+
export * from './model/option-select-access.model';
|
5
|
+
export * from './service/select-access-global.service';
|
6
|
+
export * from './select-access-dialog.component';
|
7
|
+
export * from './select-access-dialog.module';
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtYWNjZXNzLWRpYWxvZy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbW1vbi9vcHRpb24tc2VsZWN0LWFjY2Vzcy5lbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9zZWxlY3QtYWNjZXNzLWRhdGEnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVsL2FjY2Vzcy1pdGVtLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9vcHRpb24tc2VsZWN0LWFjY2Vzcy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZS9zZWxlY3QtYWNjZXNzLWdsb2JhbC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtYWNjZXNzLWRpYWxvZy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC1hY2Nlc3MtZGlhbG9nLm1vZHVsZSc7XHJcbiJdfQ==
|