mapa-library-ui 0.23.1 → 0.24.1
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/esm2020/src/lib/components/capability/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.component.mjs +3 -3
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-detail/capability-detail.component.mjs +13 -3
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-dot/capability-dot.component.mjs +8 -3
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-expand/capability-expand.component.mjs +10 -3
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-indicator/capability-indicator.component.mjs +3 -3
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-interval/capability-interval.component.mjs +6 -3
- package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.mjs +6 -3
- package/esm2020/src/lib/components/capability/lib/components/capability/src/essentials/interfaces/capability-item.interface.mjs +1 -1
- package/esm2020/src/lib/components/capability/lib/components/tag/src/tag.component.mjs +6 -7
- package/esm2020/src/lib/components/table/lib/components/table/src/table.component.mjs +19 -5
- package/esm2020/src/lib/components/tag/src/tag.component.mjs +6 -7
- package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs +45 -19
- package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-table.mjs +18 -4
- package/fesm2015/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-tag.mjs +4 -5
- package/fesm2015/mapa-library-ui-src-lib-components-tag.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs +45 -19
- package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-table.mjs +18 -4
- package/fesm2020/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-tag.mjs +4 -5
- package/fesm2020/mapa-library-ui-src-lib-components-tag.mjs.map +1 -1
- package/mapa-library-ui-0.24.1.tgz +0 -0
- package/package.json +1 -1
- package/src/lib/components/capability/lib/components/capability/src/capability-detail/capability-detail.component.d.ts +6 -0
- package/src/lib/components/capability/lib/components/capability/src/capability-dot/capability-dot.component.d.ts +3 -0
- package/src/lib/components/capability/lib/components/capability/src/capability-expand/capability-expand.component.d.ts +6 -0
- package/src/lib/components/capability/lib/components/capability/src/capability-interval/capability-interval.component.d.ts +1 -0
- package/src/lib/components/capability/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.d.ts +1 -0
- package/src/lib/components/capability/lib/components/capability/src/essentials/interfaces/capability-item.interface.d.ts +8 -1
- package/src/lib/components/capability/lib/components/tag/src/tag.component.d.ts +8 -3
- package/src/lib/components/table/lib/components/table/src/table.component.d.ts +1 -0
- package/src/lib/components/tag/src/tag.component.d.ts +8 -3
- package/mapa-library-ui-0.23.1.tgz +0 -0
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import { Component, Input } from
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
3
4
|
export class TagComponent {
|
|
4
5
|
}
|
|
5
6
|
TagComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6
|
-
TagComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TagComponent, selector: "mapa-tag", inputs: {
|
|
7
|
+
TagComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TagComponent, selector: "mapa-tag", inputs: { tag: "tag" }, ngImport: i0, template: "<div\n *ngIf=\"tag\"\n class=\"mapa-tag\"\n [class.mapa-tag--small]=\"tag.size === 'small' && !tag.fontSize\"\n [class.mapa-tag--highlight]=\"tag.color === 'highlight'\"\n [class.mapa-tag--selected]=\"tag.color === 'selected'\"\n [class.mapa-tag--default-bg]=\"!tag.bgColor\"\n [class.mapa-tag--bg]=\"tag.bgColor\"\n [style.backgroundColor]=\"tag.bgColor\"\n [style.padding-left]=\"tag.fontSize\"\n [style.border-radius]=\"tag.fontSize\"\n [style.fontSize]=\"tag.fontSize\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".mapa-tag{font-family:SF-Pro;display:flex;align-items:center;border-radius:16px;padding:8px 12px;margin:0 4px;white-space:nowrap}.mapa-tag--default-bg{border:1px solid #cdcdcd;background:#fff;font-weight:300}.mapa-tag--bg{font-weight:600!important;text-transform:uppercase}.mapa-tag--highlight{border:2px solid #eedb2a!important}.mapa-tag--small{gap:8px;padding:2px 8px!important;font-size:12px}.mapa-tag--selected{padding:8px 16px!important;gap:16px;border-radius:8px!important;border:1px solid #d9d9d9!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
7
8
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TagComponent, decorators: [{
|
|
8
9
|
type: Component,
|
|
9
|
-
args: [{ selector:
|
|
10
|
-
}], propDecorators: {
|
|
11
|
-
type: Input
|
|
12
|
-
}], size: [{
|
|
10
|
+
args: [{ selector: "mapa-tag", template: "<div\n *ngIf=\"tag\"\n class=\"mapa-tag\"\n [class.mapa-tag--small]=\"tag.size === 'small' && !tag.fontSize\"\n [class.mapa-tag--highlight]=\"tag.color === 'highlight'\"\n [class.mapa-tag--selected]=\"tag.color === 'selected'\"\n [class.mapa-tag--default-bg]=\"!tag.bgColor\"\n [class.mapa-tag--bg]=\"tag.bgColor\"\n [style.backgroundColor]=\"tag.bgColor\"\n [style.padding-left]=\"tag.fontSize\"\n [style.border-radius]=\"tag.fontSize\"\n [style.fontSize]=\"tag.fontSize\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".mapa-tag{font-family:SF-Pro;display:flex;align-items:center;border-radius:16px;padding:8px 12px;margin:0 4px;white-space:nowrap}.mapa-tag--default-bg{border:1px solid #cdcdcd;background:#fff;font-weight:300}.mapa-tag--bg{font-weight:600!important;text-transform:uppercase}.mapa-tag--highlight{border:2px solid #eedb2a!important}.mapa-tag--small{gap:8px;padding:2px 8px!important;font-size:12px}.mapa-tag--selected{padding:8px 16px!important;gap:16px;border-radius:8px!important;border:1px solid #d9d9d9!important}\n"] }]
|
|
11
|
+
}], propDecorators: { tag: [{
|
|
13
12
|
type: Input
|
|
14
13
|
}] } });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcGEtbGlicmFyeS11aS9zcmMvbGliL2NvbXBvbmVudHMvdGFnL3NyYy90YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWcvc3JjL3RhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBY2pELE1BQU0sT0FBTyxZQUFZOzswR0FBWixZQUFZOzhGQUFaLFlBQVksd0VDZHpCLGdoQkFlQTs0RkREYSxZQUFZO2tCQUx4QixTQUFTOytCQUNFLFVBQVU7OEJBS1gsR0FBRztzQkFBWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFnIHtcbiAgYmdDb2xvcj86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIGNvbG9yPzogXCJoaWdobGlnaHRcIiB8IFwic2VsZWN0ZWRcIiB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHNpemU/OiBcInNtYWxsXCIgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBmb250U2l6ZT86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtYXBhLXRhZ1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3RhZy5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vdGFnLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWdDb21wb25lbnQge1xuICBASW5wdXQoKSB0YWc6IFRhZyB8IHVuZGVmaW5lZDtcbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJ0YWdcIlxuICBjbGFzcz1cIm1hcGEtdGFnXCJcbiAgW2NsYXNzLm1hcGEtdGFnLS1zbWFsbF09XCJ0YWcuc2l6ZSA9PT0gJ3NtYWxsJyAmJiAhdGFnLmZvbnRTaXplXCJcbiAgW2NsYXNzLm1hcGEtdGFnLS1oaWdobGlnaHRdPVwidGFnLmNvbG9yID09PSAnaGlnaGxpZ2h0J1wiXG4gIFtjbGFzcy5tYXBhLXRhZy0tc2VsZWN0ZWRdPVwidGFnLmNvbG9yID09PSAnc2VsZWN0ZWQnXCJcbiAgW2NsYXNzLm1hcGEtdGFnLS1kZWZhdWx0LWJnXT1cIiF0YWcuYmdDb2xvclwiXG4gIFtjbGFzcy5tYXBhLXRhZy0tYmddPVwidGFnLmJnQ29sb3JcIlxuICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cInRhZy5iZ0NvbG9yXCJcbiAgW3N0eWxlLnBhZGRpbmctbGVmdF09XCJ0YWcuZm9udFNpemVcIlxuICBbc3R5bGUuYm9yZGVyLXJhZGl1c109XCJ0YWcuZm9udFNpemVcIlxuICBbc3R5bGUuZm9udFNpemVdPVwidGFnLmZvbnRTaXplXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|
|
@@ -234,8 +234,22 @@ export class MapaTableComponent {
|
|
|
234
234
|
return "";
|
|
235
235
|
}
|
|
236
236
|
try {
|
|
237
|
-
|
|
238
|
-
|
|
237
|
+
return `classification`;
|
|
238
|
+
}
|
|
239
|
+
catch {
|
|
240
|
+
return "";
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
getCellBg(column, row) {
|
|
244
|
+
if (!this.isGroupReport ||
|
|
245
|
+
column.key === "name" ||
|
|
246
|
+
column.key === "cpf" ||
|
|
247
|
+
column.key === "general") {
|
|
248
|
+
return "";
|
|
249
|
+
}
|
|
250
|
+
try {
|
|
251
|
+
const bg = row[column.key]?.classificationColor;
|
|
252
|
+
return bg;
|
|
239
253
|
}
|
|
240
254
|
catch {
|
|
241
255
|
return "";
|
|
@@ -299,10 +313,10 @@ export class MapaTableComponent {
|
|
|
299
313
|
}
|
|
300
314
|
}
|
|
301
315
|
MapaTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
302
|
-
MapaTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaTableComponent, selector: "mapa-table", inputs: { columns: "columns", data: "data", pageIndex: "pageIndex", pageSize: "pageSize", totalCount: "totalCount", totalPages: "totalPages", checkbox: "checkbox", selection: "selection", actions: "actions", filterControl: "filterControl", groupReport: "groupReport", isGroupReport: "isGroupReport", menuItems: "menuItems", menu: "menu", showPaginator: "showPaginator" }, outputs: { rowClick: "rowClick", selectedRows: "selectedRows", onChangePage: "onChangePage" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, read: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section class=\"mapa-table\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"sortDataFunction($event)\"\n >\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\"\n >\n <div\n [ngTemplateOutlet]=\"tableHeader\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"\n ></div>\n </th>\n <td mat-cell *matCellDef=\"let row\" [style.width]=\"column?.width\">\n <div\n class=\"mapa-table__column\"\n (click)=\"emitRowClick(row, '')\"\n [class.mapa-table__column--center-cell]=\"column?.align === 'center' || isGroupReport && column.key !== 'name'\"\n >\n <ng-container\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\"\n >\n <div class=\"mapa-table__content\">\n <div\n *ngIf=\"!isGroupReport\"\n [style.width]=\"column?.width\"\n [class.mapa-table__column--ellipsis]=\"column?.collapse === 'overflow'\"\n [class.mapa-table__column--no-wrap]=\"column?.collapse === 'no-wrap'\"\n [class.mapa-table__column--wrap]=\"column?.collapse === 'wrap'\"\n [ngClass]=\"[hasCustomClass(column, row, column.key) ? getCustomClass(column, row, column.key) : '']\"\n >\n <div\n *ngIf=\"column?.status?.color; else commonColumn\"\n class=\"mapa-table__column--status\"\n [style.backgroundColor]=\"getBackgroundColor(column, row)\"\n >\n <div\n [ngTemplateOutlet]=\"tableContent\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox, row }\"\n ></div>\n </div>\n <ng-template #commonColumn>\n <div\n [ngTemplateOutlet]=\"tableContent\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox, row }\"\n ></div>\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container\n *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\"\n >\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">{{ row.name }}<br /></div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div\n class=\"mapa-table__column--actions\"\n *ngIf=\"column.key === 'actions' && actions\"\n >\n <button\n *ngFor=\"let item of actions\"\n (click)=\"handleMenu({data: row, action: item.action})\"\n class=\"mapa-table__column--actions-item\"\n [title]=\"item.text\"\n mat-icon-button\n >\n <mat-icon *ngIf=\"item.icon\">{{item.icon}}</mat-icon>\n <img *ngIf=\"item.image\" [src]=\"item.image\" />\n </button>\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu\n *ngIf=\"hasIndividualMenu(row['menu']); else generalMenu\"\n [items]=\"row['menu']\"\n [data]=\"row\"\n (emitMenu)=\"handleMenu($event)\"\n ></mapa-menu>\n <ng-template #generalMenu>\n <mapa-menu\n *ngIf=\"menuItems && menuItems.length > 0\"\n [items]=\"menuItems\"\n [data]=\"row\"\n (emitMenu)=\"handleMenu($event)\"\n ></mapa-menu>\n </ng-template>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns;\"\n [ngClass]=\"getRowClass()\"\n ></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport && showPaginator\">\n <mat-paginator\n class=\"mapa-table__paginator-legacy\"\n itemsPerPageLabel=\"Item por p\u00E1gina\"\n appStylePaginatorMv\n [length]=\"totalCount\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n (page)=\"changePage($event)\"\n ></mat-paginator>\n </section>\n</section>\n\n<ng-template\n #tableHeader\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n>\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n *ngIf=\"selection\"\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation()\"\n ></mat-checkbox>\n </ng-container>\n <div\n class=\"mapa-table__label\"\n [ngClass]=\"{ 'label_report': isGroupReport }\"\n >\n {{ column.label }}\n </div>\n <div\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\"\n >\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #tableContent\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n let-row=\"row\"\n>\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection?.toggle(row) : null; getSelectedValues()\"\n [checked]=\"selection?.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <!-- POR FAVOR, N\u00C3O QUEBRE LINHA ENTRE NG-CONTAINER/TEMPLATE E O VALOR CONTE\u00DADO -->\n <ng-container *ngIf=\"isMaskedData(column, row); else statusContent\"\n >{{ getValueAsDate(column, row) | date: column.mask }}</ng-container\n >\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.status; else commonContent\">\n <ng-container *ngIf=\"isBoolean(column, row); else commonStatus\"\n >{{ column.status.label[row[column.key] ? 1 : 0] }}</ng-container\n >\n <ng-template #commonStatus\n >{{ column.status.label[row[column.key]] || '-' }}</ng-template\n >\n </ng-container>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n</ng-template>\n", styles: [".mapa-table .mat-table{font-family:SF-Pro;width:100%}.mapa-table .mat-table .mat-checkbox{margin:6px 8px 0 0;padding:0}.mapa-table td.mat-cell{padding:16px 0}.mapa-table .mat-table .mat-row .mat-cell{font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400;color:#50575e}.mapa-table .row-hover:hover{box-shadow:0 2px 4px #00000021;outline:1px solid rgba(238,238,238,.93);cursor:pointer}.mapa-table .mat-table .mat-header-cell{border:none;border-bottom:1px solid #eee;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:600;color:#50575e}.mapa-table .mat-mdc-row,.mapa-table .mdc-data-table__content,.mapa-table .mat-mdc-header-cell{--mat-table-row-item-label-text-font: \"SF-Pro\"}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#b6b6b6}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-frame{border-color:#ea561d}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-background{background-color:transparent}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-background{background-color:#ea561d}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.mapa-table__paginator-legacy .mat-paginator-container{font-family:SF-Pro!important;justify-content:flex-start}.mapa-table__paginator-legacy .mat-paginator-page-size{margin-right:10vw}.mapa-table__paginator-legacy .custom-paginator-container{justify-content:flex-end}.mapa-table__paginator-legacy .custom-paginator-counter{white-space:nowrap;margin:0 4px 0 10px!important}.mapa-table__paginator-legacy .custom-paginator-page{border-radius:4px;outline:none;border:none;margin:.4em;font-size:14px;min-width:24px;width:auto;min-height:24px;max-height:24px;padding:1px 6px}.mapa-table__paginator-legacy .custom-paginator-page-enabled{color:#50575e;background:transparent;cursor:pointer}.mapa-table__paginator-legacy .custom-paginator-page-enabled:hover{background-color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-page-disabled{background-color:#ea561d;color:#fff}.mapa-table__paginator-legacy .custom-paginator-arrow-disabled{color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-arrow-enabled{color:#999}.mapa-table{width:100%;white-space:nowrap}.mapa-table__label{margin-top:4px}.mapa-table__column{padding:15px;align-items:center;display:flex}.mapa-table__column--actions{display:flex}.mapa-table__column--actions .mat-icon{color:#ea561d!important}.mapa-table__column--actions-item{display:flex;align-items:center}.mapa-table__column--actions-item img{margin-right:8px}.mapa-table__column--header{width:100%}.mapa-table__column--header .mat-icon{cursor:pointer;position:relative;bottom:-3px;margin:0 7px;font-size:14px;height:14px;width:14px}.mapa-table__column--status{border-radius:4px;padding:4px 8px;margin:auto;text-align:center;width:min-content}.mapa-table__column--ellipsis{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mapa-table__column--no-wrap{white-space:nowrap}.mapa-table__column--wrap{white-space:pre-wrap}.mapa-table__column--center-cell{justify-content:center}.mapa-table .mat-sort-header-arrow{color:transparent}.mapa-table .mat-sort-header-content{width:100%}.mapa-table .mat-cell,.mapa-table .mat-header-cell{padding:0 10px!important}.mapa-table .mat-table{width:100%;overflow-x:auto}.mapa-table .classification{width:40px;height:40px;border-radius:24px;display:flex;justify-content:center;align-items:center}.mapa-table .roundCell{border-radius:10px}.mapa-table .general{border-radius:24px;border:1px solid #dcdcde;display:flex;justify-content:center;align-items:center;width:48px;height:48px}.mapa-table .name{color:#181818;text-align:left;font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mapa-table .cpf{color:var(--Grey-Grey-30, #8c8f94);text-align:left;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-table .label_report{color:#181818;text-align:center;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#000}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f598a7;color:#000}.classification-7{background-color:#f56580;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400}.display-S{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400}.display-L{font-family:SF-Pro;font-size:32px;font-style:normal;font-weight:400}.display-XG{font-family:SF-Pro;font-size:48px;font-style:normal;font-weight:400}*{transition:opacity .4s ease-out,max-height .4s ease-out}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MapaMenuComponent, selector: "mapa-menu", inputs: ["items", "data"], outputs: ["emitMenu"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i7.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i7.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i7.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i7.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i7.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i7.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i7.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i7.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i7.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i7.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i8.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i8.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: i9.PaginatorLegacyDirective, selector: "[appStylePaginatorMv]" }, { kind: "pipe", type: i1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None });
|
|
316
|
+
MapaTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaTableComponent, selector: "mapa-table", inputs: { columns: "columns", data: "data", pageIndex: "pageIndex", pageSize: "pageSize", totalCount: "totalCount", totalPages: "totalPages", checkbox: "checkbox", selection: "selection", actions: "actions", filterControl: "filterControl", groupReport: "groupReport", isGroupReport: "isGroupReport", menuItems: "menuItems", menu: "menu", showPaginator: "showPaginator" }, outputs: { rowClick: "rowClick", selectedRows: "selectedRows", onChangePage: "onChangePage" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, read: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section class=\"mapa-table\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"sortDataFunction($event)\"\n >\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\"\n >\n <div\n [ngTemplateOutlet]=\"tableHeader\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"\n ></div>\n </th>\n <td mat-cell *matCellDef=\"let row\" [style.width]=\"column?.width\">\n <div\n class=\"mapa-table__column\"\n (click)=\"emitRowClick(row, '')\"\n [class.mapa-table__column--center-cell]=\"column?.align === 'center' || isGroupReport && column.key !== 'name'\"\n >\n <ng-container\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\"\n >\n <div class=\"mapa-table__content\">\n <div\n *ngIf=\"!isGroupReport\"\n [style.width]=\"column?.width\"\n [class.mapa-table__column--ellipsis]=\"column?.collapse === 'overflow'\"\n [class.mapa-table__column--no-wrap]=\"column?.collapse === 'no-wrap'\"\n [class.mapa-table__column--wrap]=\"column?.collapse === 'wrap'\"\n [ngClass]=\"[hasCustomClass(column, row, column.key) ? getCustomClass(column, row, column.key) : '']\"\n >\n <div\n *ngIf=\"column?.status?.color; else commonColumn\"\n class=\"mapa-table__column--status\"\n [style.backgroundColor]=\"getBackgroundColor(column, row)\"\n >\n <div\n [ngTemplateOutlet]=\"tableContent\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox, row }\"\n ></div>\n </div>\n <ng-template #commonColumn>\n <div\n [ngTemplateOutlet]=\"tableContent\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox, row }\"\n ></div>\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div\n [class.backgroundColor]=\"getCellBg(column, row)\"\n [ngClass]=\"getCellClass(column, row)\"\n >\n <ng-container\n *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\"\n >\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">{{ row.name }}<br /></div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div\n class=\"mapa-table__column--actions\"\n *ngIf=\"column.key === 'actions' && actions\"\n >\n <button\n *ngFor=\"let item of actions\"\n (click)=\"handleMenu({data: row, action: item.action})\"\n class=\"mapa-table__column--actions-item\"\n [title]=\"item.text\"\n mat-icon-button\n >\n <mat-icon *ngIf=\"item.icon\">{{item.icon}}</mat-icon>\n <img *ngIf=\"item.image\" [src]=\"item.image\" />\n </button>\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu\n *ngIf=\"hasIndividualMenu(row['menu']); else generalMenu\"\n [items]=\"row['menu']\"\n [data]=\"row\"\n (emitMenu)=\"handleMenu($event)\"\n ></mapa-menu>\n <ng-template #generalMenu>\n <mapa-menu\n *ngIf=\"menuItems && menuItems.length > 0\"\n [items]=\"menuItems\"\n [data]=\"row\"\n (emitMenu)=\"handleMenu($event)\"\n ></mapa-menu>\n </ng-template>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns;\"\n [ngClass]=\"getRowClass()\"\n ></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport && showPaginator\">\n <mat-paginator\n class=\"mapa-table__paginator-legacy\"\n itemsPerPageLabel=\"Item por p\u00E1gina\"\n appStylePaginatorMv\n [length]=\"totalCount\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n (page)=\"changePage($event)\"\n ></mat-paginator>\n </section>\n</section>\n\n<ng-template\n #tableHeader\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n>\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n *ngIf=\"selection\"\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation()\"\n ></mat-checkbox>\n </ng-container>\n <div\n class=\"mapa-table__label\"\n [ngClass]=\"{ 'label_report': isGroupReport }\"\n >\n {{ column.label }}\n </div>\n <div\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\"\n >\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #tableContent\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n let-row=\"row\"\n>\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection?.toggle(row) : null; getSelectedValues()\"\n [checked]=\"selection?.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <!-- POR FAVOR, N\u00C3O QUEBRE LINHA ENTRE NG-CONTAINER/TEMPLATE E O VALOR CONTE\u00DADO -->\n <ng-container *ngIf=\"isMaskedData(column, row); else statusContent\"\n >{{ getValueAsDate(column, row) | date: column.mask }}</ng-container\n >\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.status; else commonContent\">\n <ng-container *ngIf=\"isBoolean(column, row); else commonStatus\"\n >{{ column.status.label[row[column.key] ? 1 : 0] }}</ng-container\n >\n <ng-template #commonStatus\n >{{ column.status.label[row[column.key]] || '-' }}</ng-template\n >\n </ng-container>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n</ng-template>\n", styles: [".mapa-table .mat-table{font-family:SF-Pro;width:100%}.mapa-table .mat-table .mat-checkbox{margin:6px 8px 0 0;padding:0}.mapa-table td.mat-cell{padding:16px 0}.mapa-table .mat-table .mat-row .mat-cell{font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400;color:#50575e}.mapa-table .row-hover:hover{box-shadow:0 2px 4px #00000021;outline:1px solid rgba(238,238,238,.93);cursor:pointer}.mapa-table .mat-table .mat-header-cell{border:none;border-bottom:1px solid #eee;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:600;color:#50575e}.mapa-table .mat-mdc-row,.mapa-table .mdc-data-table__content,.mapa-table .mat-mdc-header-cell{--mat-table-row-item-label-text-font: \"SF-Pro\"}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#b6b6b6}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-frame{border-color:#ea561d}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-background{background-color:transparent}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-background{background-color:#ea561d}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.mapa-table__paginator-legacy .mat-paginator-container{font-family:SF-Pro!important;justify-content:flex-start}.mapa-table__paginator-legacy .mat-paginator-page-size{margin-right:10vw}.mapa-table__paginator-legacy .custom-paginator-container{justify-content:flex-end}.mapa-table__paginator-legacy .custom-paginator-counter{white-space:nowrap;margin:0 4px 0 10px!important}.mapa-table__paginator-legacy .custom-paginator-page{border-radius:4px;outline:none;border:none;margin:.4em;font-size:14px;min-width:24px;width:auto;min-height:24px;max-height:24px;padding:1px 6px}.mapa-table__paginator-legacy .custom-paginator-page-enabled{color:#50575e;background:transparent;cursor:pointer}.mapa-table__paginator-legacy .custom-paginator-page-enabled:hover{background-color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-page-disabled{background-color:#ea561d;color:#fff}.mapa-table__paginator-legacy .custom-paginator-arrow-disabled{color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-arrow-enabled{color:#999}.mapa-table{width:100%;white-space:nowrap}.mapa-table__label{margin-top:4px}.mapa-table__column{padding:15px;align-items:center;display:flex}.mapa-table__column--actions{display:flex}.mapa-table__column--actions .mat-icon{color:#ea561d!important}.mapa-table__column--actions-item{display:flex;align-items:center}.mapa-table__column--actions-item img{margin-right:8px}.mapa-table__column--header{width:100%}.mapa-table__column--header .mat-icon{cursor:pointer;position:relative;bottom:-3px;margin:0 7px;font-size:14px;height:14px;width:14px}.mapa-table__column--status{border-radius:4px;padding:4px 8px;margin:auto;text-align:center;width:min-content}.mapa-table__column--ellipsis{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mapa-table__column--no-wrap{white-space:nowrap}.mapa-table__column--wrap{white-space:pre-wrap}.mapa-table__column--center-cell{justify-content:center}.mapa-table .mat-sort-header-arrow{color:transparent}.mapa-table .mat-sort-header-content{width:100%}.mapa-table .mat-cell,.mapa-table .mat-header-cell{padding:0 10px!important}.mapa-table .mat-table{width:100%;overflow-x:auto}.mapa-table .classification{width:40px;height:40px;border-radius:24px;display:flex;justify-content:center;align-items:center}.mapa-table .roundCell{border-radius:10px}.mapa-table .general{border-radius:24px;border:1px solid #dcdcde;display:flex;justify-content:center;align-items:center;width:48px;height:48px}.mapa-table .name{color:#181818;text-align:left;font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mapa-table .cpf{color:var(--Grey-Grey-30, #8c8f94);text-align:left;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-table .label_report{color:#181818;text-align:center;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#000}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f598a7;color:#000}.classification-7{background-color:#f56580;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400}.display-S{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400}.display-L{font-family:SF-Pro;font-size:32px;font-style:normal;font-weight:400}.display-XG{font-family:SF-Pro;font-size:48px;font-style:normal;font-weight:400}*{transition:opacity .4s ease-out,max-height .4s ease-out}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MapaMenuComponent, selector: "mapa-menu", inputs: ["items", "data"], outputs: ["emitMenu"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i7.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i7.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i7.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i7.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i7.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i7.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i7.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i7.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i7.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i7.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i8.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i8.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: i9.PaginatorLegacyDirective, selector: "[appStylePaginatorMv]" }, { kind: "pipe", type: i1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None });
|
|
303
317
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaTableComponent, decorators: [{
|
|
304
318
|
type: Component,
|
|
305
|
-
args: [{ selector: "mapa-table", encapsulation: ViewEncapsulation.None, template: "<section class=\"mapa-table\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"sortDataFunction($event)\"\n >\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\"\n >\n <div\n [ngTemplateOutlet]=\"tableHeader\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"\n ></div>\n </th>\n <td mat-cell *matCellDef=\"let row\" [style.width]=\"column?.width\">\n <div\n class=\"mapa-table__column\"\n (click)=\"emitRowClick(row, '')\"\n [class.mapa-table__column--center-cell]=\"column?.align === 'center' || isGroupReport && column.key !== 'name'\"\n >\n <ng-container\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\"\n >\n <div class=\"mapa-table__content\">\n <div\n *ngIf=\"!isGroupReport\"\n [style.width]=\"column?.width\"\n [class.mapa-table__column--ellipsis]=\"column?.collapse === 'overflow'\"\n [class.mapa-table__column--no-wrap]=\"column?.collapse === 'no-wrap'\"\n [class.mapa-table__column--wrap]=\"column?.collapse === 'wrap'\"\n [ngClass]=\"[hasCustomClass(column, row, column.key) ? getCustomClass(column, row, column.key) : '']\"\n >\n <div\n *ngIf=\"column?.status?.color; else commonColumn\"\n class=\"mapa-table__column--status\"\n [style.backgroundColor]=\"getBackgroundColor(column, row)\"\n >\n <div\n [ngTemplateOutlet]=\"tableContent\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox, row }\"\n ></div>\n </div>\n <ng-template #commonColumn>\n <div\n [ngTemplateOutlet]=\"tableContent\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox, row }\"\n ></div>\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div [ngClass]=\"getCellClass(column, row)\">\n <ng-container\n *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\"\n >\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">{{ row.name }}<br /></div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div\n class=\"mapa-table__column--actions\"\n *ngIf=\"column.key === 'actions' && actions\"\n >\n <button\n *ngFor=\"let item of actions\"\n (click)=\"handleMenu({data: row, action: item.action})\"\n class=\"mapa-table__column--actions-item\"\n [title]=\"item.text\"\n mat-icon-button\n >\n <mat-icon *ngIf=\"item.icon\">{{item.icon}}</mat-icon>\n <img *ngIf=\"item.image\" [src]=\"item.image\" />\n </button>\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu\n *ngIf=\"hasIndividualMenu(row['menu']); else generalMenu\"\n [items]=\"row['menu']\"\n [data]=\"row\"\n (emitMenu)=\"handleMenu($event)\"\n ></mapa-menu>\n <ng-template #generalMenu>\n <mapa-menu\n *ngIf=\"menuItems && menuItems.length > 0\"\n [items]=\"menuItems\"\n [data]=\"row\"\n (emitMenu)=\"handleMenu($event)\"\n ></mapa-menu>\n </ng-template>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns;\"\n [ngClass]=\"getRowClass()\"\n ></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport && showPaginator\">\n <mat-paginator\n class=\"mapa-table__paginator-legacy\"\n itemsPerPageLabel=\"Item por p\u00E1gina\"\n appStylePaginatorMv\n [length]=\"totalCount\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n (page)=\"changePage($event)\"\n ></mat-paginator>\n </section>\n</section>\n\n<ng-template\n #tableHeader\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n>\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n *ngIf=\"selection\"\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation()\"\n ></mat-checkbox>\n </ng-container>\n <div\n class=\"mapa-table__label\"\n [ngClass]=\"{ 'label_report': isGroupReport }\"\n >\n {{ column.label }}\n </div>\n <div\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\"\n >\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #tableContent\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n let-row=\"row\"\n>\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection?.toggle(row) : null; getSelectedValues()\"\n [checked]=\"selection?.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <!-- POR FAVOR, N\u00C3O QUEBRE LINHA ENTRE NG-CONTAINER/TEMPLATE E O VALOR CONTE\u00DADO -->\n <ng-container *ngIf=\"isMaskedData(column, row); else statusContent\"\n >{{ getValueAsDate(column, row) | date: column.mask }}</ng-container\n >\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.status; else commonContent\">\n <ng-container *ngIf=\"isBoolean(column, row); else commonStatus\"\n >{{ column.status.label[row[column.key] ? 1 : 0] }}</ng-container\n >\n <ng-template #commonStatus\n >{{ column.status.label[row[column.key]] || '-' }}</ng-template\n >\n </ng-container>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n</ng-template>\n", styles: [".mapa-table .mat-table{font-family:SF-Pro;width:100%}.mapa-table .mat-table .mat-checkbox{margin:6px 8px 0 0;padding:0}.mapa-table td.mat-cell{padding:16px 0}.mapa-table .mat-table .mat-row .mat-cell{font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400;color:#50575e}.mapa-table .row-hover:hover{box-shadow:0 2px 4px #00000021;outline:1px solid rgba(238,238,238,.93);cursor:pointer}.mapa-table .mat-table .mat-header-cell{border:none;border-bottom:1px solid #eee;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:600;color:#50575e}.mapa-table .mat-mdc-row,.mapa-table .mdc-data-table__content,.mapa-table .mat-mdc-header-cell{--mat-table-row-item-label-text-font: \"SF-Pro\"}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#b6b6b6}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-frame{border-color:#ea561d}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-background{background-color:transparent}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-background{background-color:#ea561d}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.mapa-table__paginator-legacy .mat-paginator-container{font-family:SF-Pro!important;justify-content:flex-start}.mapa-table__paginator-legacy .mat-paginator-page-size{margin-right:10vw}.mapa-table__paginator-legacy .custom-paginator-container{justify-content:flex-end}.mapa-table__paginator-legacy .custom-paginator-counter{white-space:nowrap;margin:0 4px 0 10px!important}.mapa-table__paginator-legacy .custom-paginator-page{border-radius:4px;outline:none;border:none;margin:.4em;font-size:14px;min-width:24px;width:auto;min-height:24px;max-height:24px;padding:1px 6px}.mapa-table__paginator-legacy .custom-paginator-page-enabled{color:#50575e;background:transparent;cursor:pointer}.mapa-table__paginator-legacy .custom-paginator-page-enabled:hover{background-color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-page-disabled{background-color:#ea561d;color:#fff}.mapa-table__paginator-legacy .custom-paginator-arrow-disabled{color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-arrow-enabled{color:#999}.mapa-table{width:100%;white-space:nowrap}.mapa-table__label{margin-top:4px}.mapa-table__column{padding:15px;align-items:center;display:flex}.mapa-table__column--actions{display:flex}.mapa-table__column--actions .mat-icon{color:#ea561d!important}.mapa-table__column--actions-item{display:flex;align-items:center}.mapa-table__column--actions-item img{margin-right:8px}.mapa-table__column--header{width:100%}.mapa-table__column--header .mat-icon{cursor:pointer;position:relative;bottom:-3px;margin:0 7px;font-size:14px;height:14px;width:14px}.mapa-table__column--status{border-radius:4px;padding:4px 8px;margin:auto;text-align:center;width:min-content}.mapa-table__column--ellipsis{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mapa-table__column--no-wrap{white-space:nowrap}.mapa-table__column--wrap{white-space:pre-wrap}.mapa-table__column--center-cell{justify-content:center}.mapa-table .mat-sort-header-arrow{color:transparent}.mapa-table .mat-sort-header-content{width:100%}.mapa-table .mat-cell,.mapa-table .mat-header-cell{padding:0 10px!important}.mapa-table .mat-table{width:100%;overflow-x:auto}.mapa-table .classification{width:40px;height:40px;border-radius:24px;display:flex;justify-content:center;align-items:center}.mapa-table .roundCell{border-radius:10px}.mapa-table .general{border-radius:24px;border:1px solid #dcdcde;display:flex;justify-content:center;align-items:center;width:48px;height:48px}.mapa-table .name{color:#181818;text-align:left;font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mapa-table .cpf{color:var(--Grey-Grey-30, #8c8f94);text-align:left;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-table .label_report{color:#181818;text-align:center;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#000}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f598a7;color:#000}.classification-7{background-color:#f56580;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400}.display-S{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400}.display-L{font-family:SF-Pro;font-size:32px;font-style:normal;font-weight:400}.display-XG{font-family:SF-Pro;font-size:48px;font-style:normal;font-weight:400}*{transition:opacity .4s ease-out,max-height .4s ease-out}\n"] }]
|
|
319
|
+
args: [{ selector: "mapa-table", encapsulation: ViewEncapsulation.None, template: "<section class=\"mapa-table\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"sortDataFunction($event)\"\n >\n <ng-container\n *ngFor=\"let column of columns; let isFirst = first\"\n [matColumnDef]=\"column.key\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n [disabled]=\"!(column.key !== 'actions' ? column.sort : null)\"\n >\n <div\n [ngTemplateOutlet]=\"tableHeader\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox }\"\n ></div>\n </th>\n <td mat-cell *matCellDef=\"let row\" [style.width]=\"column?.width\">\n <div\n class=\"mapa-table__column\"\n (click)=\"emitRowClick(row, '')\"\n [class.mapa-table__column--center-cell]=\"column?.align === 'center' || isGroupReport && column.key !== 'name'\"\n >\n <ng-container\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu'; else columnActionsOrMenu\"\n >\n <div class=\"mapa-table__content\">\n <div\n *ngIf=\"!isGroupReport\"\n [style.width]=\"column?.width\"\n [class.mapa-table__column--ellipsis]=\"column?.collapse === 'overflow'\"\n [class.mapa-table__column--no-wrap]=\"column?.collapse === 'no-wrap'\"\n [class.mapa-table__column--wrap]=\"column?.collapse === 'wrap'\"\n [ngClass]=\"[hasCustomClass(column, row, column.key) ? getCustomClass(column, row, column.key) : '']\"\n >\n <div\n *ngIf=\"column?.status?.color; else commonColumn\"\n class=\"mapa-table__column--status\"\n [style.backgroundColor]=\"getBackgroundColor(column, row)\"\n >\n <div\n [ngTemplateOutlet]=\"tableContent\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox, row }\"\n ></div>\n </div>\n <ng-template #commonColumn>\n <div\n [ngTemplateOutlet]=\"tableContent\"\n [ngTemplateOutletContext]=\"{ selection, column, isFirst, checkbox, row }\"\n ></div>\n </ng-template>\n </div>\n <div *ngIf=\"isGroupReport\">\n <div\n [class.backgroundColor]=\"getCellBg(column, row)\"\n [ngClass]=\"getCellClass(column, row)\"\n >\n <ng-container\n *ngIf=\"column.key === 'name' || column.key === 'cpf' || column.key === 'general'; else valueContent\"\n >\n <div *ngIf=\"column.key === 'name'\">\n <div class=\"name\">{{ row.name }}<br /></div>\n <div class=\"cpf\">\n {{row.cpf}}\n </div>\n </div>\n <div *ngIf=\"column.key === 'general'\" class=\"general\">\n {{ row[column.key] | currency:'':'' }}%\n </div>\n </ng-container>\n <ng-template #valueContent>\n {{ getValue(row[column.key]) }}\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n <ng-template #columnActionsOrMenu>\n <div\n class=\"mapa-table__column--actions\"\n *ngIf=\"column.key === 'actions' && actions\"\n >\n <button\n *ngFor=\"let item of actions\"\n (click)=\"handleMenu({data: row, action: item.action})\"\n class=\"mapa-table__column--actions-item\"\n [title]=\"item.text\"\n mat-icon-button\n >\n <mat-icon *ngIf=\"item.icon\">{{item.icon}}</mat-icon>\n <img *ngIf=\"item.image\" [src]=\"item.image\" />\n </button>\n </div>\n <div class=\"mapa-table__column--menu\" *ngIf=\"column.key === 'menu'\">\n <mapa-menu\n *ngIf=\"hasIndividualMenu(row['menu']); else generalMenu\"\n [items]=\"row['menu']\"\n [data]=\"row\"\n (emitMenu)=\"handleMenu($event)\"\n ></mapa-menu>\n <ng-template #generalMenu>\n <mapa-menu\n *ngIf=\"menuItems && menuItems.length > 0\"\n [items]=\"menuItems\"\n [data]=\"row\"\n (emitMenu)=\"handleMenu($event)\"\n ></mapa-menu>\n </ng-template>\n </div>\n </ng-template>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns;\"\n [ngClass]=\"getRowClass()\"\n ></tr>\n </table>\n\n <section *ngIf=\"!isGroupReport && showPaginator\">\n <mat-paginator\n class=\"mapa-table__paginator-legacy\"\n itemsPerPageLabel=\"Item por p\u00E1gina\"\n appStylePaginatorMv\n [length]=\"totalCount\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\"\n (page)=\"changePage($event)\"\n ></mat-paginator>\n </section>\n</section>\n\n<ng-template\n #tableHeader\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n>\n <div class=\"mapa-table__column mapa-table__column--header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n *ngIf=\"selection\"\n (change)=\"$event ? toggleAllRows() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation()\"\n ></mat-checkbox>\n </ng-container>\n <div\n class=\"mapa-table__label\"\n [ngClass]=\"{ 'label_report': isGroupReport }\"\n >\n {{ column.label }}\n </div>\n <div\n *ngIf=\"column.key !== 'actions' && column.key !== 'menu' && column.sort\"\n >\n <mat-icon>filter_list</mat-icon>\n </div>\n </div>\n</ng-template>\n\n<ng-template\n #tableContent\n let-selection=\"selection\"\n let-column=\"column\"\n let-isFirst=\"isFirst\"\n let-checkbox=\"checkbox\"\n let-row=\"row\"\n>\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection?.toggle(row) : null; getSelectedValues()\"\n [checked]=\"selection?.isSelected(row)\"\n >\n </mat-checkbox>\n </ng-container>\n <!-- POR FAVOR, N\u00C3O QUEBRE LINHA ENTRE NG-CONTAINER/TEMPLATE E O VALOR CONTE\u00DADO -->\n <ng-container *ngIf=\"isMaskedData(column, row); else statusContent\"\n >{{ getValueAsDate(column, row) | date: column.mask }}</ng-container\n >\n <ng-template #statusContent>\n <ng-container *ngIf=\"column.status; else commonContent\">\n <ng-container *ngIf=\"isBoolean(column, row); else commonStatus\"\n >{{ column.status.label[row[column.key] ? 1 : 0] }}</ng-container\n >\n <ng-template #commonStatus\n >{{ column.status.label[row[column.key]] || '-' }}</ng-template\n >\n </ng-container>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n <ng-template #statusContent>\n <ng-template #commonContent>{{ row[column.key] }}</ng-template>\n </ng-template>\n</ng-template>\n", styles: [".mapa-table .mat-table{font-family:SF-Pro;width:100%}.mapa-table .mat-table .mat-checkbox{margin:6px 8px 0 0;padding:0}.mapa-table td.mat-cell{padding:16px 0}.mapa-table .mat-table .mat-row .mat-cell{font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400;color:#50575e}.mapa-table .row-hover:hover{box-shadow:0 2px 4px #00000021;outline:1px solid rgba(238,238,238,.93);cursor:pointer}.mapa-table .mat-table .mat-header-cell{border:none;border-bottom:1px solid #eee;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:600;color:#50575e}.mapa-table .mat-mdc-row,.mapa-table .mdc-data-table__content,.mapa-table .mat-mdc-header-cell{--mat-table-row-item-label-text-font: \"SF-Pro\"}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-frame{border-color:#b6b6b6}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-frame{border-color:#ea561d}.mapa-table .mat-checkbox.mat-accent .mat-checkbox-background{background-color:transparent}.mapa-table .mat-checkbox.mat-accent.mat-checkbox-checked .mat-checkbox-background{background-color:#ea561d}.mapa-table .mat-mdc-paginator-container{display:flex;justify-content:space-between}.mapa-table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.mapa-table__paginator-legacy .mat-paginator-container{font-family:SF-Pro!important;justify-content:flex-start}.mapa-table__paginator-legacy .mat-paginator-page-size{margin-right:10vw}.mapa-table__paginator-legacy .custom-paginator-container{justify-content:flex-end}.mapa-table__paginator-legacy .custom-paginator-counter{white-space:nowrap;margin:0 4px 0 10px!important}.mapa-table__paginator-legacy .custom-paginator-page{border-radius:4px;outline:none;border:none;margin:.4em;font-size:14px;min-width:24px;width:auto;min-height:24px;max-height:24px;padding:1px 6px}.mapa-table__paginator-legacy .custom-paginator-page-enabled{color:#50575e;background:transparent;cursor:pointer}.mapa-table__paginator-legacy .custom-paginator-page-enabled:hover{background-color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-page-disabled{background-color:#ea561d;color:#fff}.mapa-table__paginator-legacy .custom-paginator-arrow-disabled{color:#dfe3e6}.mapa-table__paginator-legacy .custom-paginator-arrow-enabled{color:#999}.mapa-table{width:100%;white-space:nowrap}.mapa-table__label{margin-top:4px}.mapa-table__column{padding:15px;align-items:center;display:flex}.mapa-table__column--actions{display:flex}.mapa-table__column--actions .mat-icon{color:#ea561d!important}.mapa-table__column--actions-item{display:flex;align-items:center}.mapa-table__column--actions-item img{margin-right:8px}.mapa-table__column--header{width:100%}.mapa-table__column--header .mat-icon{cursor:pointer;position:relative;bottom:-3px;margin:0 7px;font-size:14px;height:14px;width:14px}.mapa-table__column--status{border-radius:4px;padding:4px 8px;margin:auto;text-align:center;width:min-content}.mapa-table__column--ellipsis{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mapa-table__column--no-wrap{white-space:nowrap}.mapa-table__column--wrap{white-space:pre-wrap}.mapa-table__column--center-cell{justify-content:center}.mapa-table .mat-sort-header-arrow{color:transparent}.mapa-table .mat-sort-header-content{width:100%}.mapa-table .mat-cell,.mapa-table .mat-header-cell{padding:0 10px!important}.mapa-table .mat-table{width:100%;overflow-x:auto}.mapa-table .classification{width:40px;height:40px;border-radius:24px;display:flex;justify-content:center;align-items:center}.mapa-table .roundCell{border-radius:10px}.mapa-table .general{border-radius:24px;border:1px solid #dcdcde;display:flex;justify-content:center;align-items:center;width:48px;height:48px}.mapa-table .name{color:#181818;text-align:left;font-family:SF-Pro;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mapa-table .cpf{color:var(--Grey-Grey-30, #8c8f94);text-align:left;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.mapa-table .label_report{color:#181818;text-align:center;font-family:SF-Pro;font-size:12px;font-style:normal;font-weight:400;line-height:16px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#000}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f598a7;color:#000}.classification-7{background-color:#f56580;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px;font-family:SF-Pro;font-size:16px;font-style:normal;font-weight:400}.display-S{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400}.display-L{font-family:SF-Pro;font-size:32px;font-style:normal;font-weight:400}.display-XG{font-family:SF-Pro;font-size:48px;font-style:normal;font-weight:400}*{transition:opacity .4s ease-out,max-height .4s ease-out}\n"] }]
|
|
306
320
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
|
|
307
321
|
type: Input
|
|
308
322
|
}], data: [{
|
|
@@ -349,4 +363,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
349
363
|
type: ViewChild,
|
|
350
364
|
args: [MatSort]
|
|
351
365
|
}] } });
|
|
352
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUUsWUFBWSxFQUFhLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBUSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFZeEQsTUFBTSxPQUFPLGtCQUFrQjtJQWlDN0IsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFoQ2pDLFlBQU8sR0FBa0IsRUFBRSxDQUFDO1FBQzVCLFNBQUksR0FBYSxFQUFFLENBQUM7UUFDcEIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUt2QixnQkFBVyxHQUFzQixFQUFFLENBQUM7UUFFcEMsY0FBUyxHQUFlLEVBQUUsQ0FBQztR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LE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7Z0hBdlZVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLDhpQkFpQmxCLGNBQWMsNEVBUWQsWUFBWSwyQkFBVSxJQUFJLG9EQUMxQixPQUFPLHFFQzdEcEIsMCtPQTJNQTs0RkR4S2Esa0JBQWtCO2tCQVQ5QixTQUFTOytCQUNFLFlBQVksaUJBTVAsaUJBQWlCLENBQUMsSUFBSTt3R0FHNUIsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFcUIsT0FBTztzQkFBakMsU0FBUzt1QkFBQyxjQUFjO2dCQUVmLFFBQVE7c0JBQWpCLE1BQU07Z0JBR0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUVrQyxTQUFTO3NCQUFqRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7Z0JBQ25CLElBQUk7c0JBQXZCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9jb2xsZWN0aW9uc1wiO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcblxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yLCBQYWdlRXZlbnQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yXCI7XG5pbXBvcnQgeyBNYXRTb3J0LCBTb3J0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NvcnRcIjtcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZVwiO1xuXG5pbXBvcnQgeyBSb3dDbGlja0V2ZW50IH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy90YWJsZS1yb3ctY2xpY2stZXZlbnQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2ludGVyZmFjZXMvdGFibGUtY29sdW1uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgR3JvdXBSZXBvcnRJdGVtIH0gZnJvbSBcIi4vZ3JvdXAtcmVwb3J0LWludGVyZmFjZVwiO1xuaW1wb3J0IHsgTWF0TWVudVRyaWdnZXIgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudVwiO1xuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tIFwiLi4vLi4vbWVudS9wdWJsaWMtYXBpXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtYXBhLXRhYmxlXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdGFibGUuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXG4gICAgXCIuL3RhYmxlLmNvbXBvbmVudC5zY3NzXCIsXG4gICAgXCIuLy4uLy4uL2NhcGFiaWxpdHkvc3R5bGVzL2NhcGFiaWxpdHkuc2Nzc1wiLFxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBhVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBjb2x1bW5zOiBUYWJsZUNvbHVtbltdID0gW107XG4gIEBJbnB1dCgpIGRhdGE6IE9iamVjdFtdID0gW107XG4gIEBJbnB1dCgpIHBhZ2VJbmRleDogbnVtYmVyID0gMTtcbiAgQElucHV0KCkgcGFnZVNpemU6IG51bWJlciA9IDU7XG4gIEBJbnB1dCgpIHRvdGFsQ291bnQ6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIHRvdGFsUGFnZXM6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIGNoZWNrYm94OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBzZWxlY3Rpb246IFNlbGVjdGlvbk1vZGVsPGFueT4gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGFjdGlvbnM/OiBNZW51SXRlbVtdIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBmaWx0ZXJDb250cm9sOiBGb3JtQ29udHJvbCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgZ3JvdXBSZXBvcnQ6IEdyb3VwUmVwb3J0SXRlbVtdID0gW107XG4gIEBJbnB1dCgpIGlzR3JvdXBSZXBvcnQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIG1lbnVJdGVtczogTWVudUl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBtZW51OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBzaG93UGFnaW5hdG9yOiBib29sZWFuID0gdHJ1ZTtcbiAgXG4gIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpIHRyaWdnZXIhOiBNYXRNZW51VHJpZ2dlcjtcblxuICBAT3V0cHV0KCkgcm93Q2xpY2s6IEV2ZW50RW1pdHRlcjxSb3dDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgUm93Q2xpY2tFdmVudFxuICA+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZFJvd3M6IEV2ZW50RW1pdHRlcjxhbnlbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuICBAT3V0cHV0KCkgb25DaGFuZ2VQYWdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7IHJlYWQ6IHRydWUgfSkgcGFnaW5hdG9yITogTWF0UGFnaW5hdG9yO1xuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQhOiBNYXRTb3J0O1xuXG4gIGNoZWNrYm94R3JvdXAhOiBGb3JtR3JvdXA7XG4gIGRhdGFTb3VyY2UhOiBNYXRUYWJsZURhdGFTb3VyY2U8T2JqZWN0PjtcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbXTtcbiAgY3VycmVudFNvcnQ6IFNvcnQgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzR3JvdXBSZXBvcnQpIHtcbiAgICAgIHRoaXMuZ2VuZXJhdGVDb2x1bW5zKCk7XG4gICAgICB0aGlzLmdlbmVyYXRlR3JvdXBEYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5kYXRhKTtcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMubWFwKChjb2x1bW4pID0+IGNvbHVtbi5rZXkpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzW1wiZGF0YVwiXSkge1xuICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZSkge1xuICAgICAgICB0aGlzLmRhdGEgPSBjaGFuZ2VzW1wiZGF0YVwiXS5jdXJyZW50VmFsdWU7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5kYXRhKTtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XG4gICAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuY29sdW1ucy5tYXAoKGNvbHVtbikgPT4gY29sdW1uLmtleSk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1tcImZpbHRlckNvbnRyb2xcIl0gJiYgdGhpcy5maWx0ZXJDb250cm9sKSB7XG4gICAgICB0aGlzLnNldHVwRmlsdGVyKCk7XG4gICAgfVxuICB9XG5cbiAgc2V0dXBGaWx0ZXIoKSB7XG4gICAgaWYgKHRoaXMuZGF0YVNvdXJjZSkge1xuICAgICAgdGhpcy5maWx0ZXJDb250cm9sIS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIgPSB2YWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyUHJlZGljYXRlID0gKGRhdGE6IGFueSwgZmlsdGVyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YVN0ciA9IE9iamVjdC5rZXlzKGRhdGEpXG4gICAgICAgICAgLnJlZHVjZSgoY3VycmVudFRlcm0sIGtleSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgY3VycmVudFRlcm0gK1xuICAgICAgICAgICAgICAoKGRhdGFba2V5XSAmJiBkYXRhW2tleV0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpKSB8fCBcIlwiKSArXG4gICAgICAgICAgICAgIFwiIFwiXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0sIFwiXCIpXG4gICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgIC50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgIHJldHVybiBkYXRhU3RyLmluZGV4T2YoZmlsdGVyKSAhPT0gLTE7XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGlzQWxsU2VsZWN0ZWQoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICBjb25zdCBudW1TZWxlY3RlZCA9IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aDtcbiAgICAgIGNvbnN0IG51bVJvd3MgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5sZW5ndGg7XG4gICAgICByZXR1cm4gbnVtU2VsZWN0ZWQgPT09IG51bVJvd3M7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHRvZ2dsZUFsbFJvd3MoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICBpZiAodGhpcy5pc0FsbFNlbGVjdGVkKCkpIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtcbiAgICAgICAgdGhpcy5nZXRTZWxlY3RlZFZhbHVlcygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZGF0YUFzUGVyaW9kaWNFbGVtZW50cyA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhIGFzIGFueVtdO1xuICAgICAgICBkYXRhQXNQZXJpb2RpY0VsZW1lbnRzLmZvckVhY2goKHJvdykgPT4gdGhpcy5zZWxlY3Rpb24/LnNlbGVjdChyb3cpKTtcbiAgICAgICAgdGhpcy5nZXRTZWxlY3RlZFZhbHVlcygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNoZWNrYm94TGFiZWwocm93PzogYW55KTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgIGlmICghcm93KSB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmlzQWxsU2VsZWN0ZWQoKSA/IFwiZGVzZWxlY3RcIiA6IFwic2VsZWN0XCJ9IGFsbGA7XG4gICAgICB9XG4gICAgICByZXR1cm4gYCR7dGhpcy5zZWxlY3Rpb24uaXNTZWxlY3RlZChyb3cpID8gXCJkZXNlbGVjdFwiIDogXCJzZWxlY3RcIn0gcm93ICR7XG4gICAgICAgIHJvdy5wb3NpdGlvbiArIDFcbiAgICAgIH1gO1xuICAgIH1cbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHNvcnREYXRhKGNvbHVtbjogVGFibGVDb2x1bW4pOiB2b2lkIHtcbiAgICBpZiAoY29sdW1uLnNvcnQpIHtcbiAgICAgIGNvbnN0IHNvcnQ6IFNvcnQgPSB7IGFjdGl2ZTogY29sdW1uLmtleSwgZGlyZWN0aW9uOiBcImFzY1wiIH07XG5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5jdXJyZW50U29ydCAmJlxuICAgICAgICB0aGlzLmN1cnJlbnRTb3J0LmFjdGl2ZSA9PT0gY29sdW1uLmtleSAmJlxuICAgICAgICB0aGlzLmN1cnJlbnRTb3J0LmRpcmVjdGlvbiA9PT0gXCJhc2NcIlxuICAgICAgKSB7XG4gICAgICAgIHNvcnQuZGlyZWN0aW9uID0gXCJkZXNjXCI7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY3VycmVudFNvcnQgPSBzb3J0O1xuICAgICAgdGhpcy5zb3J0RGF0YUZ1bmN0aW9uKHNvcnQpO1xuICAgIH1cbiAgfVxuXG4gIHNvcnREYXRhRnVuY3Rpb24oc29ydDogU29ydCkge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5zbGljZSgpO1xuXG4gICAgaWYgKCFzb3J0LmFjdGl2ZSB8fCBzb3J0LmRpcmVjdGlvbiA9PT0gXCJcIikge1xuICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBkYXRhO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gZGF0YS5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xuICAgICAgY29uc3QgaXNBc2MgPSBzb3J0LmRpcmVjdGlvbiA9PT0gXCJhc2NcIjtcbiAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoYVtzb3J0LmFjdGl2ZV0sIGJbc29ydC5hY3RpdmVdLCBpc0FzYyk7XG4gICAgfSk7XG4gIH1cblxuICBjb21wYXJlKGE6IGFueSwgYjogYW55LCBpc0FzYzogYm9vbGVhbikge1xuICAgIGlmICh0eXBlb2YgYSA9PT0gXCJzdHJpbmdcIiAmJiB0eXBlb2YgYiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgcmV0dXJuIChhLnRvTG93ZXJDYXNlKCkgPCBiLnRvTG93ZXJDYXNlKCkgPyAtMSA6IDEpICogKGlzQXNjID8gMSA6IC0xKTtcbiAgICB9XG4gICAgcmV0dXJuIChhIDwgYiA/IC0xIDogMSkgKiAoaXNBc2MgPyAxIDogLTEpO1xuICB9XG5cbiAgZW1pdFJvd0NsaWNrKHJvdzogc3RyaW5nLCBhY3Rpb246IHN0cmluZykge1xuICAgIGNvbnN0IHJvd0RhdGE6IFJvd0NsaWNrRXZlbnQgPSB7IHJvdywgYWN0aW9uIH07XG4gICAgdGhpcy5yb3dDbGljay5lbWl0KHJvd0RhdGEpO1xuICB9XG5cbiAgdG9nZ2xlU2VsZWN0aW9uKHJvdzogYW55KSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICBpZiAodGhpcy5zZWxlY3Rpb24uaXNTZWxlY3RlZChyb3cpKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLmRlc2VsZWN0KHJvdyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3Qocm93KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICB9XG4gIH1cblxuICBnZXRTZWxlY3RlZFZhbHVlcygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkUm93cyA9IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLm1hcCgocm93KSA9PiB7XG4gICAgICAgIHJldHVybiB7IHJvdyB9O1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNlbGVjdGVkUm93cy5lbWl0KHNlbGVjdGVkUm93cyk7XG4gICAgfVxuICB9XG5cbiAgZ2VuZXJhdGVDb2x1bW5zKCkge1xuICAgIGNvbnN0IGNvbHVtbnM6IFRhYmxlQ29sdW1uW10gPSBbXG4gICAgICB7IGtleTogXCJuYW1lXCIsIGxhYmVsOiBcIlwiLCBzb3J0OiBmYWxzZSB9LFxuICAgIF07XG4gICAgdGhpcy5ncm91cFJlcG9ydC5mb3JFYWNoKChyZXBvcnRJdGVtKSA9PiB7XG4gICAgICByZXBvcnRJdGVtLmRpbWVuc2lvbnM/LmZvckVhY2goKGRpbWVuc2lvbikgPT4ge1xuICAgICAgICBjb25zdCBkaW1lbnNpb25LZXkgPSBkaW1lbnNpb24uZGltZW5zaW9uTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBjb25zdCBkaW1lbnNpb25MYWJlbCA9IGRpbWVuc2lvbi5kaW1lbnNpb25OYW1lO1xuICAgICAgICBpZiAoIXRoaXMuY29sdW1uRXhpc3RzKGNvbHVtbnMsIGRpbWVuc2lvbktleSkpIHtcbiAgICAgICAgICBjb2x1bW5zLnB1c2goe1xuICAgICAgICAgICAga2V5OiBkaW1lbnNpb25LZXksXG4gICAgICAgICAgICBsYWJlbDogZGltZW5zaW9uTGFiZWwsXG4gICAgICAgICAgICBzb3J0OiBkaW1lbnNpb24uc29ydCB8fCBmYWxzZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHJlcG9ydEl0ZW0uaW5kaWNhdG9ycz8uZm9yRWFjaCgoaW5kaWNhdG9yKSA9PiB7XG4gICAgICAgIGNvbnN0IGluZGljYXRvcktleSA9IGluZGljYXRvci5uYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IGluZGljYXRvckxhYmVsID0gaW5kaWNhdG9yLm5hbWU7XG4gICAgICAgIGlmICghdGhpcy5jb2x1bW5FeGlzdHMoY29sdW1ucywgaW5kaWNhdG9yS2V5KSkge1xuICAgICAgICAgIGNvbHVtbnMucHVzaCh7XG4gICAgICAgICAgICBrZXk6IGluZGljYXRvcktleSxcbiAgICAgICAgICAgIGxhYmVsOiBpbmRpY2F0b3JMYWJlbCxcbiAgICAgICAgICAgIHNvcnQ6IGluZGljYXRvci5zb3J0IHx8IGZhbHNlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnM7XG4gIH1cblxuICBjb2x1bW5FeGlzdHMoY29sdW1uczogVGFibGVDb2x1bW5bXSwga2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY29sdW1ucy5zb21lKChjb2x1bW4pID0+IGNvbHVtbi5rZXkgPT09IGtleSk7XG4gIH1cblxuICBnZW5lcmF0ZUdyb3VwRGF0YSgpIHtcbiAgICBjb25zdCByZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogYW55IH1bXSA9IFtdO1xuXG4gICAgdGhpcy5ncm91cFJlcG9ydC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBjb25zdCBkYXRhSXRlbTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHtcbiAgICAgICAgbmFtZTogaXRlbS5jYW5kaWRhdGUubmFtZSxcbiAgICAgICAgY3BmOiBpdGVtLmNhbmRpZGF0ZS5jcGYsXG4gICAgICAgIGdlbmVyYWw6IGl0ZW0uY2FuZGlkYXRlLmdlbmVyYWwsXG4gICAgICB9O1xuXG4gICAgICBpdGVtLmRpbWVuc2lvbnM/LmZvckVhY2goKGRpbWVuc2lvbikgPT4ge1xuICAgICAgICBkYXRhSXRlbVtkaW1lbnNpb24uZGltZW5zaW9uTmFtZS50b0xvd2VyQ2FzZSgpXSA9IHtcbiAgICAgICAgICB2YWx1ZTogZGltZW5zaW9uLmVzY29yZVQsXG4gICAgICAgICAgZGlyZWN0aW9uOiBkaW1lbnNpb24uZGlyZWN0aW9uLFxuICAgICAgICAgIGNsYXNzaWZpY2F0aW9uSWQ6IGRpbWVuc2lvbi5jbGFzc2lmaWNhdGlvbklkLFxuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICAgIGl0ZW0uaW5kaWNhdG9ycz8uZm9yRWFjaCgoaW5kaWNhdG9yKSA9PiB7XG4gICAgICAgIGRhdGFJdGVtW2luZGljYXRvci5uYW1lLnRvTG93ZXJDYXNlKCldID0ge1xuICAgICAgICAgIHZhbHVlOiBpbmRpY2F0b3IuaW50ZXJ2YWwsXG4gICAgICAgICAgZGlyZWN0aW9uOiBpbmRpY2F0b3IuZGlyZWN0aW9uLFxuICAgICAgICAgIGNsYXNzaWZpY2F0aW9uSWQ6IGluZGljYXRvci5jbGFzc2lmaWNhdGlvbklkLFxuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICAgIHJlc3VsdC5wdXNoKGRhdGFJdGVtKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZGF0YSA9IHJlc3VsdDtcbiAgfVxuXG4gIGlzQm9vbGVhbihjb2x1bW46IFRhYmxlQ29sdW1uLCByb3c6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2Ygcm93W2NvbHVtbi5rZXldID09PSBcImJvb2xlYW5cIjtcbiAgfVxuXG4gIGlzTWFza2VkRGF0YShjb2x1bW46IFRhYmxlQ29sdW1uLCByb3c6IGFueSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZvcm1hdHMgPSBbbW9tZW50LklTT184NjAxLCBcIk1NL0REL1lZWVkgIDopICBISCptbSpzc1wiXTtcbiAgICBjb25zdCBpc0RhdGUgPSBtb21lbnQocm93W2NvbHVtbi5rZXldLCBmb3JtYXRzLCB0cnVlKS5pc1ZhbGlkKCk7XG4gICAgcmV0dXJuIChjb2x1bW4ubWFzayAmJiBpc0RhdGUpIHx8IGZhbHNlO1xuICB9XG5cbiAgZ2V0VmFsdWVBc0RhdGUoY29sdW1uOiBUYWJsZUNvbHVtbiwgcm93OiBhbnkpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUocm93W2NvbHVtbi5rZXldKTtcbiAgfVxuXG4gIGdldENlbGxDbGFzcyhjb2x1bW46IFRhYmxlQ29sdW1uLCByb3c6IGFueSk6IHN0cmluZyB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuaXNHcm91cFJlcG9ydCB8fFxuICAgICAgY29sdW1uLmtleSA9PT0gXCJuYW1lXCIgfHxcbiAgICAgIGNvbHVtbi5rZXkgPT09IFwiY3BmXCIgfHxcbiAgICAgIGNvbHVtbi5rZXkgPT09IFwiZ2VuZXJhbFwiXG4gICAgKSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNsYXNzaWZpY2F0aW9uID0gcm93W2NvbHVtbi5rZXldPy5jbGFzc2lmaWNhdGlvbklkO1xuICAgICAgcmV0dXJuIGBjbGFzc2lmaWNhdGlvbiBjbGFzc2lmaWNhdGlvbi0ke2NsYXNzaWZpY2F0aW9ufWA7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gIH1cblxuICBnZXRSb3dDbGFzcygpOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwicm93LWhvdmVyXCI6ICF0aGlzLmlzR3JvdXBSZXBvcnQsXG4gICAgfTtcbiAgfVxuXG4gIGdldFZhbHVlKHJvdzogeyB2YWx1ZTogc3RyaW5nIH0pOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gcm93LnZhbHVlICsgXCIlXCI7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gXCItXCI7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlUGFnZShldmVudD86IFBhZ2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2VQYWdlLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgdG9nZ2xlTWVudSgpIHtcbiAgICB0aGlzLnRyaWdnZXIub3Blbk1lbnUoKTtcbiAgfVxuXG4gIGdldEJhY2tncm91bmRDb2xvcihjb2x1bW46IFRhYmxlQ29sdW1uLCByb3c6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbHVtbi5zdGF0dXM/LmNvbG9yPy5bcm93W2NvbHVtbi5rZXldIHx8IDBdIHx8IFwiXCI7XG4gIH1cblxuICBoYXNDdXN0b21DbGFzcyhjb2x1bW46IFRhYmxlQ29sdW1uLCByb3c6IGFueSwga2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoY29sdW1uPy5jbGFzcyB8fCByb3c/LnJvd1N0eWxlQ2xhc3MgfHwgdGhpcy5oYXNDZWxsU3R5bGVDbGFzcyhyb3csIGtleSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXRDdXN0b21DbGFzcyhjb2x1bW46IFRhYmxlQ29sdW1uLCByb3c6IGFueSwga2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmhhc0NlbGxTdHlsZUNsYXNzKHJvdywga2V5KSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2VsbFN0eWxlQ2xhc3Mocm93LCBjb2x1bW4ua2V5KTtcbiAgICB9IGVsc2UgaWYgKGNvbHVtbj8uY2xhc3MpIHtcbiAgICAgIHJldHVybiBjb2x1bW4uY2xhc3M7XG4gICAgfSBlbHNlIGlmIChyb3c/LnJvd1N0eWxlQ2xhc3MpIHtcbiAgICAgIHJldHVybiByb3cucm93U3R5bGVDbGFzcztcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgaGFzQ2VsbFN0eWxlQ2xhc3Mocm93OiBhbnksIGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHJvdy5zdHlsZUNsYXNzPy5rZXkgPT09IGtleTtcbiAgfTtcblxuICBnZXRDZWxsU3R5bGVDbGFzcyhyb3c6IGFueSwga2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiByb3cuc3R5bGVDbGFzcz8ua2V5ID09PSBrZXkgPyByb3cuc3R5bGVDbGFzcz8uY2xhc3MgOiAnJztcbiAgfTtcblxuICBoYW5kbGVNZW51KHNlbGVjdGVkOiBhbnkpIHtcbiAgICB0aGlzLmVtaXRSb3dDbGljayhzZWxlY3RlZC5kYXRhLCBzZWxlY3RlZC5hY3Rpb24pO1xuICB9XG5cbiAgaGFzSW5kaXZpZHVhbE1lbnUocm93OiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAocm93ICE9PSBcIlwiICYmIHJvdyAhPT0gbnVsbCkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIFxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJtYXBhLXRhYmxlXCI+XG4gIDx0YWJsZVxuICAgIG1hdC10YWJsZVxuICAgIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIlxuICAgIG1hdFNvcnRcbiAgICAobWF0U29ydENoYW5nZSk9XCJzb3J0RGF0YUZ1bmN0aW9uKCRldmVudClcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zOyBsZXQgaXNGaXJzdCA9IGZpcnN0XCJcbiAgICAgIFttYXRDb2x1bW5EZWZdPVwiY29sdW1uLmtleVwiXG4gICAgPlxuICAgICAgPHRoXG4gICAgICAgIG1hdC1oZWFkZXItY2VsbFxuICAgICAgICAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICBtYXQtc29ydC1oZWFkZXJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiEoY29sdW1uLmtleSAhPT0gJ2FjdGlvbnMnID8gY29sdW1uLnNvcnQgOiBudWxsKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJsZUhlYWRlclwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgc2VsZWN0aW9uLCBjb2x1bW4sIGlzRmlyc3QsIGNoZWNrYm94IH1cIlxuICAgICAgICA+PC9kaXY+XG4gICAgICA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiIFtzdHlsZS53aWR0aF09XCJjb2x1bW4/LndpZHRoXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cIm1hcGEtdGFibGVfX2NvbHVtblwiXG4gICAgICAgICAgKGNsaWNrKT1cImVtaXRSb3dDbGljayhyb3csICcnKVwiXG4gICAgICAgICAgW2NsYXNzLm1hcGEtdGFibGVfX2NvbHVtbi0tY2VudGVyLWNlbGxdPVwiY29sdW1uPy5hbGlnbiA9PT0gJ2NlbnRlcicgfHwgaXNHcm91cFJlcG9ydCAmJiBjb2x1bW4ua2V5ICE9PSAnbmFtZSdcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJjb2x1bW4ua2V5ICE9PSAnYWN0aW9ucycgJiYgY29sdW1uLmtleSAhPT0gJ21lbnUnOyBlbHNlIGNvbHVtbkFjdGlvbnNPck1lbnVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXBhLXRhYmxlX19jb250ZW50XCI+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFpc0dyb3VwUmVwb3J0XCJcbiAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwiY29sdW1uPy53aWR0aFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLm1hcGEtdGFibGVfX2NvbHVtbi0tZWxsaXBzaXNdPVwiY29sdW1uPy5jb2xsYXBzZSA9PT0gJ292ZXJmbG93J1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzLm1hcGEtdGFibGVfX2NvbHVtbi0tbm8td3JhcF09XCJjb2x1bW4/LmNvbGxhcHNlID09PSAnbm8td3JhcCdcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5tYXBhLXRhYmxlX19jb2x1bW4tLXdyYXBdPVwiY29sdW1uPy5jb2xsYXBzZSA9PT0gJ3dyYXAnXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJbaGFzQ3VzdG9tQ2xhc3MoY29sdW1uLCByb3csIGNvbHVtbi5rZXkpID8gZ2V0Q3VzdG9tQ2xhc3MoY29sdW1uLCByb3csIGNvbHVtbi5rZXkpIDogJyddXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uPy5zdGF0dXM/LmNvbG9yOyBlbHNlIGNvbW1vbkNvbHVtblwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hcGEtdGFibGVfX2NvbHVtbi0tc3RhdHVzXCJcbiAgICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiZ2V0QmFja2dyb3VuZENvbG9yKGNvbHVtbiwgcm93KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJsZUNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBzZWxlY3Rpb24sIGNvbHVtbiwgaXNGaXJzdCwgY2hlY2tib3gsIHJvdyB9XCJcbiAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2NvbW1vbkNvbHVtbj5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVDb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgc2VsZWN0aW9uLCBjb2x1bW4sIGlzRmlyc3QsIGNoZWNrYm94LCByb3cgfVwiXG4gICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0dyb3VwUmVwb3J0XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJnZXRDZWxsQ2xhc3MoY29sdW1uLCByb3cpXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uLmtleSA9PT0gJ25hbWUnIHx8IGNvbHVtbi5rZXkgPT09ICdjcGYnIHx8IGNvbHVtbi5rZXkgPT09ICdnZW5lcmFsJzsgZWxzZSB2YWx1ZUNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmtleSA9PT0gJ25hbWUnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj57eyByb3cubmFtZSB9fTxiciAvPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcGZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7cm93LmNwZn19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmtleSA9PT0gJ2dlbmVyYWwnXCIgY2xhc3M9XCJnZW5lcmFsXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgcm93W2NvbHVtbi5rZXldIHwgY3VycmVuY3k6Jyc6JycgfX0lXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3ZhbHVlQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0VmFsdWUocm93W2NvbHVtbi5rZXldKSB9fVxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NvbHVtbkFjdGlvbnNPck1lbnU+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwibWFwYS10YWJsZV9fY29sdW1uLS1hY3Rpb25zXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJjb2x1bW4ua2V5ID09PSAnYWN0aW9ucycgJiYgYWN0aW9uc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhY3Rpb25zXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlTWVudSh7ZGF0YTogcm93LCBhY3Rpb246IGl0ZW0uYWN0aW9ufSlcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWFwYS10YWJsZV9fY29sdW1uLS1hY3Rpb25zLWl0ZW1cIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJpdGVtLnRleHRcIlxuICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiaXRlbS5pY29uXCI+e3tpdGVtLmljb259fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cIml0ZW0uaW1hZ2VcIiBbc3JjXT1cIml0ZW0uaW1hZ2VcIiAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hcGEtdGFibGVfX2NvbHVtbi0tbWVudVwiICpuZ0lmPVwiY29sdW1uLmtleSA9PT0gJ21lbnUnXCI+XG4gICAgICAgICAgICAgIDxtYXBhLW1lbnVcbiAgICAgICAgICAgICAgICAqbmdJZj1cImhhc0luZGl2aWR1YWxNZW51KHJvd1snbWVudSddKTsgZWxzZSBnZW5lcmFsTWVudVwiXG4gICAgICAgICAgICAgICAgW2l0ZW1zXT1cInJvd1snbWVudSddXCJcbiAgICAgICAgICAgICAgICBbZGF0YV09XCJyb3dcIlxuICAgICAgICAgICAgICAgIChlbWl0TWVudSk9XCJoYW5kbGVNZW51KCRldmVudClcIlxuICAgICAgICAgICAgICA+PC9tYXBhLW1lbnU+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZ2VuZXJhbE1lbnU+XG4gICAgICAgICAgICAgICAgPG1hcGEtbWVudVxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJtZW51SXRlbXMgJiYgbWVudUl0ZW1zLmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIm1lbnVJdGVtc1wiXG4gICAgICAgICAgICAgICAgICBbZGF0YV09XCJyb3dcIlxuICAgICAgICAgICAgICAgICAgKGVtaXRNZW51KT1cImhhbmRsZU1lbnUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPjwvbWFwYS1tZW51PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICA8dHJcbiAgICAgIG1hdC1yb3dcbiAgICAgICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiXG4gICAgICBbbmdDbGFzc109XCJnZXRSb3dDbGFzcygpXCJcbiAgICA+PC90cj5cbiAgPC90YWJsZT5cblxuICA8c2VjdGlvbiAqbmdJZj1cIiFpc0dyb3VwUmVwb3J0ICYmIHNob3dQYWdpbmF0b3JcIj5cbiAgICA8bWF0LXBhZ2luYXRvclxuICAgICAgY2xhc3M9XCJtYXBhLXRhYmxlX19wYWdpbmF0b3ItbGVnYWN5XCJcbiAgICAgIGl0ZW1zUGVyUGFnZUxhYmVsPVwiSXRlbSBwb3IgcMOhZ2luYVwiXG4gICAgICBhcHBTdHlsZVBhZ2luYXRvck12XG4gICAgICBbbGVuZ3RoXT1cInRvdGFsQ291bnRcIlxuICAgICAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcbiAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUsIDEwLCAyNSwgMTAwXVwiXG4gICAgICAocGFnZSk9XCJjaGFuZ2VQYWdlKCRldmVudClcIlxuICAgID48L21hdC1wYWdpbmF0b3I+XG4gIDwvc2VjdGlvbj5cbjwvc2VjdGlvbj5cblxuPG5nLXRlbXBsYXRlXG4gICN0YWJsZUhlYWRlclxuICBsZXQtc2VsZWN0aW9uPVwic2VsZWN0aW9uXCJcbiAgbGV0LWNvbHVtbj1cImNvbHVtblwiXG4gIGxldC1pc0ZpcnN0PVwiaXNGaXJzdFwiXG4gIGxldC1jaGVja2JveD1cImNoZWNrYm94XCJcbj5cbiAgPGRpdiBjbGFzcz1cIm1hcGEtdGFibGVfX2NvbHVtbiBtYXBhLXRhYmxlX19jb2x1bW4tLWhlYWRlclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ZpcnN0ICYmIGNoZWNrYm94XCI+XG4gICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICpuZ0lmPVwic2VsZWN0aW9uXCJcbiAgICAgICAgKGNoYW5nZSk9XCIkZXZlbnQgPyB0b2dnbGVBbGxSb3dzKCkgOiBudWxsXCJcbiAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgaXNBbGxTZWxlY3RlZCgpXCJcbiAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwic2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgIWlzQWxsU2VsZWN0ZWQoKVwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgPjwvbWF0LWNoZWNrYm94PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibWFwYS10YWJsZV9fbGFiZWxcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnbGFiZWxfcmVwb3J0JzogaXNHcm91cFJlcG9ydCB9XCJcbiAgICA+XG4gICAgICB7eyBjb2x1bW4ubGFiZWwgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImNvbHVtbi5rZXkgIT09ICdhY3Rpb25zJyAmJiBjb2x1bW4ua2V5ICE9PSAnbWVudScgJiYgY29sdW1uLnNvcnRcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj5maWx0ZXJfbGlzdDwvbWF0LWljb24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICN0YWJsZUNvbnRlbnRcbiAgbGV0LXNlbGVjdGlvbj1cInNlbGVjdGlvblwiXG4gIGxldC1jb2x1bW49XCJjb2x1bW5cIlxuICBsZXQtaXNGaXJzdD1cImlzRmlyc3RcIlxuICBsZXQtY2hlY2tib3g9XCJjaGVja2JveFwiXG4gIGxldC1yb3c9XCJyb3dcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGaXJzdCAmJiBjaGVja2JveFwiPlxuICAgIDxtYXQtY2hlY2tib3hcbiAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgKGNoYW5nZSk9XCIkZXZlbnQgPyBzZWxlY3Rpb24/LnRvZ2dsZShyb3cpIDogbnVsbDsgZ2V0U2VsZWN0ZWRWYWx1ZXMoKVwiXG4gICAgICBbY2hlY2tlZF09XCJzZWxlY3Rpb24/LmlzU2VsZWN0ZWQocm93KVwiXG4gICAgPlxuICAgIDwvbWF0LWNoZWNrYm94PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPCEtLSBQT1IgRkFWT1IsIE7Dg08gUVVFQlJFIExJTkhBIEVOVFJFIE5HLUNPTlRBSU5FUi9URU1QTEFURSBFIE8gVkFMT1IgQ09OVEXDmkRPICAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTWFza2VkRGF0YShjb2x1bW4sIHJvdyk7IGVsc2Ugc3RhdHVzQ29udGVudFwiXG4gICAgPnt7IGdldFZhbHVlQXNEYXRlKGNvbHVtbiwgcm93KSB8IGRhdGU6IGNvbHVtbi5tYXNrIH19PC9uZy1jb250YWluZXJcbiAgPlxuICA8bmctdGVtcGxhdGUgI3N0YXR1c0NvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi5zdGF0dXM7IGVsc2UgY29tbW9uQ29udGVudFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQm9vbGVhbihjb2x1bW4sIHJvdyk7IGVsc2UgY29tbW9uU3RhdHVzXCJcbiAgICAgICAgPnt7IGNvbHVtbi5zdGF0dXMubGFiZWxbcm93W2NvbHVtbi5rZXldID8gMSA6IDBdIH19PC9uZy1jb250YWluZXJcbiAgICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY29tbW9uU3RhdHVzXG4gICAgICAgID57eyBjb2x1bW4uc3RhdHVzLmxhYmVsW3Jvd1tjb2x1bW4ua2V5XV0gfHwgJy0nIH19PC9uZy10ZW1wbGF0ZVxuICAgICAgPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjY29tbW9uQ29udGVudD57eyByb3dbY29sdW1uLmtleV0gfX08L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI3N0YXR1c0NvbnRlbnQ+XG4gICAgPG5nLXRlbXBsYXRlICNjb21tb25Db250ZW50Pnt7IHJvd1tjb2x1bW4ua2V5XSB9fTwvbmctdGVtcGxhdGU+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
366
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUUsWUFBWSxFQUFhLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBUSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFZeEQsTUFBTSxPQUFPLGtCQUFrQjtJQWlDN0IsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFoQ2pDLFlBQU8sR0FBa0IsRUFBRSxDQUFDO1FBQzVCLFNBQUksR0FBYSxFQUFFLENBQUM7UUFDcEIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUt2QixnQkFBVyxHQUFzQixFQUFFLENBQUM7UUFFcEMsY0FBUyxHQUFlLEVBQUUsQ0FBQztR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U0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO2dCQUNuQixJQUFJO3NCQUF2QixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvY29sbGVjdGlvbnNcIjtcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5cbmltcG9ydCB7IE1hdFBhZ2luYXRvciwgUGFnZUV2ZW50IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvclwiO1xuaW1wb3J0IHsgTWF0U29ydCwgU29ydCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zb3J0XCI7XG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcblxuaW1wb3J0IHsgUm93Q2xpY2tFdmVudCB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2ludGVyZmFjZXMvdGFibGUtcm93LWNsaWNrLWV2ZW50LmludGVyZmFjZVwiO1xuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL3RhYmxlLWNvbHVtbi5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEdyb3VwUmVwb3J0SXRlbSB9IGZyb20gXCIuL2dyb3VwLXJlcG9ydC1pbnRlcmZhY2VcIjtcbmltcG9ydCB7IE1hdE1lbnVUcmlnZ2VyIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSBcIi4uLy4uL21lbnUvcHVibGljLWFwaVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWFwYS10YWJsZVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3RhYmxlLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1xuICAgIFwiLi90YWJsZS5jb21wb25lbnQuc2Nzc1wiLFxuICAgIFwiLi8uLi8uLi9jYXBhYmlsaXR5L3N0eWxlcy9jYXBhYmlsaXR5LnNjc3NcIixcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwYVRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgY29sdW1uczogVGFibGVDb2x1bW5bXSA9IFtdO1xuICBASW5wdXQoKSBkYXRhOiBPYmplY3RbXSA9IFtdO1xuICBASW5wdXQoKSBwYWdlSW5kZXg6IG51bWJlciA9IDE7XG4gIEBJbnB1dCgpIHBhZ2VTaXplOiBudW1iZXIgPSA1O1xuICBASW5wdXQoKSB0b3RhbENvdW50OiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSB0b3RhbFBhZ2VzOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBjaGVja2JveDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxhbnk+IHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBhY3Rpb25zPzogTWVudUl0ZW1bXSB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgZmlsdGVyQ29udHJvbDogRm9ybUNvbnRyb2wgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGdyb3VwUmVwb3J0OiBHcm91cFJlcG9ydEl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBpc0dyb3VwUmVwb3J0OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBtZW51SXRlbXM6IE1lbnVJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgbWVudTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgc2hvd1BhZ2luYXRvcjogYm9vbGVhbiA9IHRydWU7XG4gIFxuICBAVmlld0NoaWxkKE1hdE1lbnVUcmlnZ2VyKSB0cmlnZ2VyITogTWF0TWVudVRyaWdnZXI7XG5cbiAgQE91dHB1dCgpIHJvd0NsaWNrOiBFdmVudEVtaXR0ZXI8Um93Q2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIFJvd0NsaWNrRXZlbnRcbiAgPigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRSb3dzOiBFdmVudEVtaXR0ZXI8YW55W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcbiAgQE91dHB1dCgpIG9uQ2hhbmdlUGFnZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvciwgeyByZWFkOiB0cnVlIH0pIHBhZ2luYXRvciE6IE1hdFBhZ2luYXRvcjtcbiAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0ITogTWF0U29ydDtcblxuICBjaGVja2JveEdyb3VwITogRm9ybUdyb3VwO1xuICBkYXRhU291cmNlITogTWF0VGFibGVEYXRhU291cmNlPE9iamVjdD47XG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW107XG4gIGN1cnJlbnRTb3J0OiBTb3J0IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0dyb3VwUmVwb3J0KSB7XG4gICAgICB0aGlzLmdlbmVyYXRlQ29sdW1ucygpO1xuICAgICAgdGhpcy5nZW5lcmF0ZUdyb3VwRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKHRoaXMuZGF0YSk7XG4gICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5jb2x1bW5zLm1hcCgoY29sdW1uKSA9PiBjb2x1bW4ua2V5KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1tcImRhdGFcIl0pIHtcbiAgICAgIGlmICh0aGlzLmRhdGFTb3VyY2UpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gY2hhbmdlc1tcImRhdGFcIl0uY3VycmVudFZhbHVlO1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKHRoaXMuZGF0YSk7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xuICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMubWFwKChjb2x1bW4pID0+IGNvbHVtbi5rZXkpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXNbXCJmaWx0ZXJDb250cm9sXCJdICYmIHRoaXMuZmlsdGVyQ29udHJvbCkge1xuICAgICAgdGhpcy5zZXR1cEZpbHRlcigpO1xuICAgIH1cbiAgfVxuXG4gIHNldHVwRmlsdGVyKCkge1xuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UpIHtcbiAgICAgIHRoaXMuZmlsdGVyQ29udHJvbCEudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gdmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlclByZWRpY2F0ZSA9IChkYXRhOiBhbnksIGZpbHRlcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGFTdHIgPSBPYmplY3Qua2V5cyhkYXRhKVxuICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnRUZXJtLCBrZXkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIGN1cnJlbnRUZXJtICtcbiAgICAgICAgICAgICAgKChkYXRhW2tleV0gJiYgZGF0YVtrZXldLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSkgfHwgXCJcIikgK1xuICAgICAgICAgICAgICBcIiBcIlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LCBcIlwiKVxuICAgICAgICAgIC50cmltKClcbiAgICAgICAgICAudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICByZXR1cm4gZGF0YVN0ci5pbmRleE9mKGZpbHRlcikgIT09IC0xO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBpc0FsbFNlbGVjdGVkKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7XG4gICAgICBjb25zdCBudW1Sb3dzID0gdGhpcy5kYXRhU291cmNlLmRhdGEubGVuZ3RoO1xuICAgICAgcmV0dXJuIG51bVNlbGVjdGVkID09PSBudW1Sb3dzO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB0b2dnbGVBbGxSb3dzKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgaWYgKHRoaXMuaXNBbGxTZWxlY3RlZCgpKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGRhdGFBc1BlcmlvZGljRWxlbWVudHMgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YSBhcyBhbnlbXTtcbiAgICAgICAgZGF0YUFzUGVyaW9kaWNFbGVtZW50cy5mb3JFYWNoKChyb3cpID0+IHRoaXMuc2VsZWN0aW9uPy5zZWxlY3Qocm93KSk7XG4gICAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjaGVja2JveExhYmVsKHJvdz86IGFueSk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICBpZiAoIXJvdykge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5pc0FsbFNlbGVjdGVkKCkgPyBcImRlc2VsZWN0XCIgOiBcInNlbGVjdFwifSBhbGxgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGAke3RoaXMuc2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93KSA/IFwiZGVzZWxlY3RcIiA6IFwic2VsZWN0XCJ9IHJvdyAke1xuICAgICAgICByb3cucG9zaXRpb24gKyAxXG4gICAgICB9YDtcbiAgICB9XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBzb3J0RGF0YShjb2x1bW46IFRhYmxlQ29sdW1uKTogdm9pZCB7XG4gICAgaWYgKGNvbHVtbi5zb3J0KSB7XG4gICAgICBjb25zdCBzb3J0OiBTb3J0ID0geyBhY3RpdmU6IGNvbHVtbi5rZXksIGRpcmVjdGlvbjogXCJhc2NcIiB9O1xuXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuY3VycmVudFNvcnQgJiZcbiAgICAgICAgdGhpcy5jdXJyZW50U29ydC5hY3RpdmUgPT09IGNvbHVtbi5rZXkgJiZcbiAgICAgICAgdGhpcy5jdXJyZW50U29ydC5kaXJlY3Rpb24gPT09IFwiYXNjXCJcbiAgICAgICkge1xuICAgICAgICBzb3J0LmRpcmVjdGlvbiA9IFwiZGVzY1wiO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmN1cnJlbnRTb3J0ID0gc29ydDtcbiAgICAgIHRoaXMuc29ydERhdGFGdW5jdGlvbihzb3J0KTtcbiAgICB9XG4gIH1cblxuICBzb3J0RGF0YUZ1bmN0aW9uKHNvcnQ6IFNvcnQpIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5kYXRhU291cmNlLmRhdGEuc2xpY2UoKTtcblxuICAgIGlmICghc29ydC5hY3RpdmUgfHwgc29ydC5kaXJlY3Rpb24gPT09IFwiXCIpIHtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gZGF0YTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IGRhdGEuc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IGlzQXNjID0gc29ydC5kaXJlY3Rpb24gPT09IFwiYXNjXCI7XG4gICAgICByZXR1cm4gdGhpcy5jb21wYXJlKGFbc29ydC5hY3RpdmVdLCBiW3NvcnQuYWN0aXZlXSwgaXNBc2MpO1xuICAgIH0pO1xuICB9XG5cbiAgY29tcGFyZShhOiBhbnksIGI6IGFueSwgaXNBc2M6IGJvb2xlYW4pIHtcbiAgICBpZiAodHlwZW9mIGEgPT09IFwic3RyaW5nXCIgJiYgdHlwZW9mIGIgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHJldHVybiAoYS50b0xvd2VyQ2FzZSgpIDwgYi50b0xvd2VyQ2FzZSgpID8gLTEgOiAxKSAqIChpc0FzYyA/IDEgOiAtMSk7XG4gICAgfVxuICAgIHJldHVybiAoYSA8IGIgPyAtMSA6IDEpICogKGlzQXNjID8gMSA6IC0xKTtcbiAgfVxuXG4gIGVtaXRSb3dDbGljayhyb3c6IHN0cmluZywgYWN0aW9uOiBzdHJpbmcpIHtcbiAgICBjb25zdCByb3dEYXRhOiBSb3dDbGlja0V2ZW50ID0geyByb3csIGFjdGlvbiB9O1xuICAgIHRoaXMucm93Q2xpY2suZW1pdChyb3dEYXRhKTtcbiAgfVxuXG4gIHRvZ2dsZVNlbGVjdGlvbihyb3c6IGFueSkge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93KSkge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5kZXNlbGVjdChyb3cpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0KHJvdyk7XG4gICAgICB9XG4gICAgICB0aGlzLmdldFNlbGVjdGVkVmFsdWVzKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0U2VsZWN0ZWRWYWx1ZXMoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZFJvd3MgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5tYXAoKHJvdykgPT4ge1xuICAgICAgICByZXR1cm4geyByb3cgfTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuZW1pdChzZWxlY3RlZFJvd3MpO1xuICAgIH1cbiAgfVxuXG4gIGdlbmVyYXRlQ29sdW1ucygpIHtcbiAgICBjb25zdCBjb2x1bW5zOiBUYWJsZUNvbHVtbltdID0gW1xuICAgICAgeyBrZXk6IFwibmFtZVwiLCBsYWJlbDogXCJcIiwgc29ydDogZmFsc2UgfSxcbiAgICBdO1xuICAgIHRoaXMuZ3JvdXBSZXBvcnQuZm9yRWFjaCgocmVwb3J0SXRlbSkgPT4ge1xuICAgICAgcmVwb3J0SXRlbS5kaW1lbnNpb25zPy5mb3JFYWNoKChkaW1lbnNpb24pID0+IHtcbiAgICAgICAgY29uc3QgZGltZW5zaW9uS2V5ID0gZGltZW5zaW9uLmRpbWVuc2lvbk5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgZGltZW5zaW9uTGFiZWwgPSBkaW1lbnNpb24uZGltZW5zaW9uTmFtZTtcbiAgICAgICAgaWYgKCF0aGlzLmNvbHVtbkV4aXN0cyhjb2x1bW5zLCBkaW1lbnNpb25LZXkpKSB7XG4gICAgICAgICAgY29sdW1ucy5wdXNoKHtcbiAgICAgICAgICAgIGtleTogZGltZW5zaW9uS2V5LFxuICAgICAgICAgICAgbGFiZWw6IGRpbWVuc2lvbkxhYmVsLFxuICAgICAgICAgICAgc29ydDogZGltZW5zaW9uLnNvcnQgfHwgZmFsc2UsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXBvcnRJdGVtLmluZGljYXRvcnM/LmZvckVhY2goKGluZGljYXRvcikgPT4ge1xuICAgICAgICBjb25zdCBpbmRpY2F0b3JLZXkgPSBpbmRpY2F0b3IubmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBjb25zdCBpbmRpY2F0b3JMYWJlbCA9IGluZGljYXRvci5uYW1lO1xuICAgICAgICBpZiAoIXRoaXMuY29sdW1uRXhpc3RzKGNvbHVtbnMsIGluZGljYXRvcktleSkpIHtcbiAgICAgICAgICBjb2x1bW5zLnB1c2goe1xuICAgICAgICAgICAga2V5OiBpbmRpY2F0b3JLZXksXG4gICAgICAgICAgICBsYWJlbDogaW5kaWNhdG9yTGFiZWwsXG4gICAgICAgICAgICBzb3J0OiBpbmRpY2F0b3Iuc29ydCB8fCBmYWxzZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbHVtbnMgPSBjb2x1bW5zO1xuICB9XG5cbiAgY29sdW1uRXhpc3RzKGNvbHVtbnM6IFRhYmxlQ29sdW1uW10sIGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNvbHVtbnMuc29tZSgoY29sdW1uKSA9PiBjb2x1bW4ua2V5ID09PSBrZXkpO1xuICB9XG5cbiAgZ2VuZXJhdGVHcm91cERhdGEoKSB7XG4gICAgY29uc3QgcmVzdWx0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9W10gPSBbXTtcblxuICAgIHRoaXMuZ3JvdXBSZXBvcnQuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3QgZGF0YUl0ZW06IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7XG4gICAgICAgIG5hbWU6IGl0ZW0uY2FuZGlkYXRlLm5hbWUsXG4gICAgICAgIGNwZjogaXRlbS5jYW5kaWRhdGUuY3BmLFxuICAgICAgICBnZW5lcmFsOiBpdGVtLmNhbmRpZGF0ZS5nZW5lcmFsLFxuICAgICAgfTtcblxuICAgICAgaXRlbS5kaW1lbnNpb25zPy5mb3JFYWNoKChkaW1lbnNpb24pID0+IHtcbiAgICAgICAgZGF0YUl0ZW1bZGltZW5zaW9uLmRpbWVuc2lvbk5hbWUudG9Mb3dlckNhc2UoKV0gPSB7XG4gICAgICAgICAgdmFsdWU6IGRpbWVuc2lvbi5lc2NvcmVULFxuICAgICAgICAgIGRpcmVjdGlvbjogZGltZW5zaW9uLmRpcmVjdGlvbixcbiAgICAgICAgICBjbGFzc2lmaWNhdGlvbklkOiBkaW1lbnNpb24uY2xhc3NpZmljYXRpb25JZCxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuXG4gICAgICBpdGVtLmluZGljYXRvcnM/LmZvckVhY2goKGluZGljYXRvcikgPT4ge1xuICAgICAgICBkYXRhSXRlbVtpbmRpY2F0b3IubmFtZS50b0xvd2VyQ2FzZSgpXSA9IHtcbiAgICAgICAgICB2YWx1ZTogaW5kaWNhdG9yLmludGVydmFsLFxuICAgICAgICAgIGRpcmVjdGlvbjogaW5kaWNhdG9yLmRpcmVjdGlvbixcbiAgICAgICAgICBjbGFzc2lmaWNhdGlvbklkOiBpbmRpY2F0b3IuY2xhc3NpZmljYXRpb25JZCxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuXG4gICAgICByZXN1bHQucHVzaChkYXRhSXRlbSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRhdGEgPSByZXN1bHQ7XG4gIH1cblxuICBpc0Jvb2xlYW4oY29sdW1uOiBUYWJsZUNvbHVtbiwgcm93OiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIHJvd1tjb2x1bW4ua2V5XSA9PT0gXCJib29sZWFuXCI7XG4gIH1cblxuICBpc01hc2tlZERhdGEoY29sdW1uOiBUYWJsZUNvbHVtbiwgcm93OiBhbnkpOiBib29sZWFuIHtcbiAgICBjb25zdCBmb3JtYXRzID0gW21vbWVudC5JU09fODYwMSwgXCJNTS9ERC9ZWVlZICA6KSAgSEgqbW0qc3NcIl07XG4gICAgY29uc3QgaXNEYXRlID0gbW9tZW50KHJvd1tjb2x1bW4ua2V5XSwgZm9ybWF0cywgdHJ1ZSkuaXNWYWxpZCgpO1xuICAgIHJldHVybiAoY29sdW1uLm1hc2sgJiYgaXNEYXRlKSB8fCBmYWxzZTtcbiAgfVxuXG4gIGdldFZhbHVlQXNEYXRlKGNvbHVtbjogVGFibGVDb2x1bW4sIHJvdzogYW55KTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHJvd1tjb2x1bW4ua2V5XSk7XG4gIH1cblxuICBnZXRDZWxsQ2xhc3MoY29sdW1uOiBUYWJsZUNvbHVtbiwgcm93OiBhbnkpOiBzdHJpbmcge1xuICAgIGlmIChcbiAgICAgICF0aGlzLmlzR3JvdXBSZXBvcnQgfHxcbiAgICAgIGNvbHVtbi5rZXkgPT09IFwibmFtZVwiIHx8XG4gICAgICBjb2x1bW4ua2V5ID09PSBcImNwZlwiIHx8XG4gICAgICBjb2x1bW4ua2V5ID09PSBcImdlbmVyYWxcIlxuICAgICkge1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYGNsYXNzaWZpY2F0aW9uYDtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgfVxuXG4gIGdldENlbGxCZyhjb2x1bW46IFRhYmxlQ29sdW1uLCByb3c6IGFueSk6IHN0cmluZyB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuaXNHcm91cFJlcG9ydCB8fFxuICAgICAgY29sdW1uLmtleSA9PT0gXCJuYW1lXCIgfHxcbiAgICAgIGNvbHVtbi5rZXkgPT09IFwiY3BmXCIgfHxcbiAgICAgIGNvbHVtbi5rZXkgPT09IFwiZ2VuZXJhbFwiXG4gICAgKSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGJnID0gcm93W2NvbHVtbi5rZXldPy5jbGFzc2lmaWNhdGlvbkNvbG9yO1xuICAgICAgcmV0dXJuIGJnO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICB9XG5cbiAgZ2V0Um93Q2xhc3MoKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBcInJvdy1ob3ZlclwiOiAhdGhpcy5pc0dyb3VwUmVwb3J0LFxuICAgIH07XG4gIH1cblxuICBnZXRWYWx1ZShyb3c6IHsgdmFsdWU6IHN0cmluZyB9KTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHJvdy52YWx1ZSArIFwiJVwiO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIFwiLVwiO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZVBhZ2UoZXZlbnQ/OiBQYWdlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlUGFnZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHRvZ2dsZU1lbnUoKSB7XG4gICAgdGhpcy50cmlnZ2VyLm9wZW5NZW51KCk7XG4gIH1cblxuICBnZXRCYWNrZ3JvdW5kQ29sb3IoY29sdW1uOiBUYWJsZUNvbHVtbiwgcm93OiBhbnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBjb2x1bW4uc3RhdHVzPy5jb2xvcj8uW3Jvd1tjb2x1bW4ua2V5XSB8fCAwXSB8fCBcIlwiO1xuICB9XG5cbiAgaGFzQ3VzdG9tQ2xhc3MoY29sdW1uOiBUYWJsZUNvbHVtbiwgcm93OiBhbnksIGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKGNvbHVtbj8uY2xhc3MgfHwgcm93Py5yb3dTdHlsZUNsYXNzIHx8IHRoaXMuaGFzQ2VsbFN0eWxlQ2xhc3Mocm93LCBrZXkpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZ2V0Q3VzdG9tQ2xhc3MoY29sdW1uOiBUYWJsZUNvbHVtbiwgcm93OiBhbnksIGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5oYXNDZWxsU3R5bGVDbGFzcyhyb3csIGtleSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldENlbGxTdHlsZUNsYXNzKHJvdywgY29sdW1uLmtleSk7XG4gICAgfSBlbHNlIGlmIChjb2x1bW4/LmNsYXNzKSB7XG4gICAgICByZXR1cm4gY29sdW1uLmNsYXNzO1xuICAgIH0gZWxzZSBpZiAocm93Py5yb3dTdHlsZUNsYXNzKSB7XG4gICAgICByZXR1cm4gcm93LnJvd1N0eWxlQ2xhc3M7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGhhc0NlbGxTdHlsZUNsYXNzKHJvdzogYW55LCBrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiByb3cuc3R5bGVDbGFzcz8ua2V5ID09PSBrZXk7XG4gIH07XG5cbiAgZ2V0Q2VsbFN0eWxlQ2xhc3Mocm93OiBhbnksIGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcm93LnN0eWxlQ2xhc3M/LmtleSA9PT0ga2V5ID8gcm93LnN0eWxlQ2xhc3M/LmNsYXNzIDogJyc7XG4gIH07XG5cbiAgaGFuZGxlTWVudShzZWxlY3RlZDogYW55KSB7XG4gICAgdGhpcy5lbWl0Um93Q2xpY2soc2VsZWN0ZWQuZGF0YSwgc2VsZWN0ZWQuYWN0aW9uKTtcbiAgfVxuXG4gIGhhc0luZGl2aWR1YWxNZW51KHJvdzogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKHJvdyAhPT0gXCJcIiAmJiByb3cgIT09IG51bGwpIHJldHVybiB0cnVlO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBcbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwibWFwYS10YWJsZVwiPlxuICA8dGFibGVcbiAgICBtYXQtdGFibGVcbiAgICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCJcbiAgICBtYXRTb3J0XG4gICAgKG1hdFNvcnRDaGFuZ2UpPVwic29ydERhdGFGdW5jdGlvbigkZXZlbnQpXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgbGV0IGlzRmlyc3QgPSBmaXJzdFwiXG4gICAgICBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbi5rZXlcIlxuICAgID5cbiAgICAgIDx0aFxuICAgICAgICBtYXQtaGVhZGVyLWNlbGxcbiAgICAgICAgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgbWF0LXNvcnQtaGVhZGVyXG4gICAgICAgIFtkaXNhYmxlZF09XCIhKGNvbHVtbi5rZXkgIT09ICdhY3Rpb25zJyA/IGNvbHVtbi5zb3J0IDogbnVsbClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVIZWFkZXJcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHNlbGVjdGlvbiwgY29sdW1uLCBpc0ZpcnN0LCBjaGVja2JveCB9XCJcbiAgICAgICAgPjwvZGl2PlxuICAgICAgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBbc3R5bGUud2lkdGhdPVwiY29sdW1uPy53aWR0aFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJtYXBhLXRhYmxlX19jb2x1bW5cIlxuICAgICAgICAgIChjbGljayk9XCJlbWl0Um93Q2xpY2socm93LCAnJylcIlxuICAgICAgICAgIFtjbGFzcy5tYXBhLXRhYmxlX19jb2x1bW4tLWNlbnRlci1jZWxsXT1cImNvbHVtbj8uYWxpZ24gPT09ICdjZW50ZXInIHx8IGlzR3JvdXBSZXBvcnQgJiYgY29sdW1uLmtleSAhPT0gJ25hbWUnXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uLmtleSAhPT0gJ2FjdGlvbnMnICYmIGNvbHVtbi5rZXkgIT09ICdtZW51JzsgZWxzZSBjb2x1bW5BY3Rpb25zT3JNZW51XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFwYS10YWJsZV9fY29udGVudFwiPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhaXNHcm91cFJlcG9ydFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cImNvbHVtbj8ud2lkdGhcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5tYXBhLXRhYmxlX19jb2x1bW4tLWVsbGlwc2lzXT1cImNvbHVtbj8uY29sbGFwc2UgPT09ICdvdmVyZmxvdydcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5tYXBhLXRhYmxlX19jb2x1bW4tLW5vLXdyYXBdPVwiY29sdW1uPy5jb2xsYXBzZSA9PT0gJ25vLXdyYXAnXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MubWFwYS10YWJsZV9fY29sdW1uLS13cmFwXT1cImNvbHVtbj8uY29sbGFwc2UgPT09ICd3cmFwJ1wiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiW2hhc0N1c3RvbUNsYXNzKGNvbHVtbiwgcm93LCBjb2x1bW4ua2V5KSA/IGdldEN1c3RvbUNsYXNzKGNvbHVtbiwgcm93LCBjb2x1bW4ua2V5KSA6ICcnXVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbHVtbj8uc3RhdHVzPy5jb2xvcjsgZWxzZSBjb21tb25Db2x1bW5cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXBhLXRhYmxlX19jb2x1bW4tLXN0YXR1c1wiXG4gICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImdldEJhY2tncm91bmRDb2xvcihjb2x1bW4sIHJvdylcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVDb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgc2VsZWN0aW9uLCBjb2x1bW4sIGlzRmlyc3QsIGNoZWNrYm94LCByb3cgfVwiXG4gICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjb21tb25Db2x1bW4+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYmxlQ29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHNlbGVjdGlvbiwgY29sdW1uLCBpc0ZpcnN0LCBjaGVja2JveCwgcm93IH1cIlxuICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNHcm91cFJlcG9ydFwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIFtjbGFzcy5iYWNrZ3JvdW5kQ29sb3JdPVwiZ2V0Q2VsbEJnKGNvbHVtbiwgcm93KVwiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJnZXRDZWxsQ2xhc3MoY29sdW1uLCByb3cpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uLmtleSA9PT0gJ25hbWUnIHx8IGNvbHVtbi5rZXkgPT09ICdjcGYnIHx8IGNvbHVtbi5rZXkgPT09ICdnZW5lcmFsJzsgZWxzZSB2YWx1ZUNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmtleSA9PT0gJ25hbWUnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj57eyByb3cubmFtZSB9fTxiciAvPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcGZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7cm93LmNwZn19XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmtleSA9PT0gJ2dlbmVyYWwnXCIgY2xhc3M9XCJnZW5lcmFsXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgcm93W2NvbHVtbi5rZXldIHwgY3VycmVuY3k6Jyc6JycgfX0lXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3ZhbHVlQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0VmFsdWUocm93W2NvbHVtbi5rZXldKSB9fVxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NvbHVtbkFjdGlvbnNPck1lbnU+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwibWFwYS10YWJsZV9fY29sdW1uLS1hY3Rpb25zXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJjb2x1bW4ua2V5ID09PSAnYWN0aW9ucycgJiYgYWN0aW9uc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhY3Rpb25zXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlTWVudSh7ZGF0YTogcm93LCBhY3Rpb246IGl0ZW0uYWN0aW9ufSlcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWFwYS10YWJsZV9fY29sdW1uLS1hY3Rpb25zLWl0ZW1cIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJpdGVtLnRleHRcIlxuICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiaXRlbS5pY29uXCI+e3tpdGVtLmljb259fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cIml0ZW0uaW1hZ2VcIiBbc3JjXT1cIml0ZW0uaW1hZ2VcIiAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hcGEtdGFibGVfX2NvbHVtbi0tbWVudVwiICpuZ0lmPVwiY29sdW1uLmtleSA9PT0gJ21lbnUnXCI+XG4gICAgICAgICAgICAgIDxtYXBhLW1lbnVcbiAgICAgICAgICAgICAgICAqbmdJZj1cImhhc0luZGl2aWR1YWxNZW51KHJvd1snbWVudSddKTsgZWxzZSBnZW5lcmFsTWVudVwiXG4gICAgICAgICAgICAgICAgW2l0ZW1zXT1cInJvd1snbWVudSddXCJcbiAgICAgICAgICAgICAgICBbZGF0YV09XCJyb3dcIlxuICAgICAgICAgICAgICAgIChlbWl0TWVudSk9XCJoYW5kbGVNZW51KCRldmVudClcIlxuICAgICAgICAgICAgICA+PC9tYXBhLW1lbnU+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZ2VuZXJhbE1lbnU+XG4gICAgICAgICAgICAgICAgPG1hcGEtbWVudVxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJtZW51SXRlbXMgJiYgbWVudUl0ZW1zLmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIm1lbnVJdGVtc1wiXG4gICAgICAgICAgICAgICAgICBbZGF0YV09XCJyb3dcIlxuICAgICAgICAgICAgICAgICAgKGVtaXRNZW51KT1cImhhbmRsZU1lbnUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPjwvbWFwYS1tZW51PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICA8dHJcbiAgICAgIG1hdC1yb3dcbiAgICAgICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiXG4gICAgICBbbmdDbGFzc109XCJnZXRSb3dDbGFzcygpXCJcbiAgICA+PC90cj5cbiAgPC90YWJsZT5cblxuICA8c2VjdGlvbiAqbmdJZj1cIiFpc0dyb3VwUmVwb3J0ICYmIHNob3dQYWdpbmF0b3JcIj5cbiAgICA8bWF0LXBhZ2luYXRvclxuICAgICAgY2xhc3M9XCJtYXBhLXRhYmxlX19wYWdpbmF0b3ItbGVnYWN5XCJcbiAgICAgIGl0ZW1zUGVyUGFnZUxhYmVsPVwiSXRlbSBwb3IgcMOhZ2luYVwiXG4gICAgICBhcHBTdHlsZVBhZ2luYXRvck12XG4gICAgICBbbGVuZ3RoXT1cInRvdGFsQ291bnRcIlxuICAgICAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcbiAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUsIDEwLCAyNSwgMTAwXVwiXG4gICAgICAocGFnZSk9XCJjaGFuZ2VQYWdlKCRldmVudClcIlxuICAgID48L21hdC1wYWdpbmF0b3I+XG4gIDwvc2VjdGlvbj5cbjwvc2VjdGlvbj5cblxuPG5nLXRlbXBsYXRlXG4gICN0YWJsZUhlYWRlclxuICBsZXQtc2VsZWN0aW9uPVwic2VsZWN0aW9uXCJcbiAgbGV0LWNvbHVtbj1cImNvbHVtblwiXG4gIGxldC1pc0ZpcnN0PVwiaXNGaXJzdFwiXG4gIGxldC1jaGVja2JveD1cImNoZWNrYm94XCJcbj5cbiAgPGRpdiBjbGFzcz1cIm1hcGEtdGFibGVfX2NvbHVtbiBtYXBhLXRhYmxlX19jb2x1bW4tLWhlYWRlclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ZpcnN0ICYmIGNoZWNrYm94XCI+XG4gICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICpuZ0lmPVwic2VsZWN0aW9uXCJcbiAgICAgICAgKGNoYW5nZSk9XCIkZXZlbnQgPyB0b2dnbGVBbGxSb3dzKCkgOiBudWxsXCJcbiAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgaXNBbGxTZWxlY3RlZCgpXCJcbiAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwic2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgIWlzQWxsU2VsZWN0ZWQoKVwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgPjwvbWF0LWNoZWNrYm94PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibWFwYS10YWJsZV9fbGFiZWxcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnbGFiZWxfcmVwb3J0JzogaXNHcm91cFJlcG9ydCB9XCJcbiAgICA+XG4gICAgICB7eyBjb2x1bW4ubGFiZWwgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImNvbHVtbi5rZXkgIT09ICdhY3Rpb25zJyAmJiBjb2x1bW4ua2V5ICE9PSAnbWVudScgJiYgY29sdW1uLnNvcnRcIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbj5maWx0ZXJfbGlzdDwvbWF0LWljb24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICN0YWJsZUNvbnRlbnRcbiAgbGV0LXNlbGVjdGlvbj1cInNlbGVjdGlvblwiXG4gIGxldC1jb2x1bW49XCJjb2x1bW5cIlxuICBsZXQtaXNGaXJzdD1cImlzRmlyc3RcIlxuICBsZXQtY2hlY2tib3g9XCJjaGVja2JveFwiXG4gIGxldC1yb3c9XCJyb3dcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGaXJzdCAmJiBjaGVja2JveFwiPlxuICAgIDxtYXQtY2hlY2tib3hcbiAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgKGNoYW5nZSk9XCIkZXZlbnQgPyBzZWxlY3Rpb24/LnRvZ2dsZShyb3cpIDogbnVsbDsgZ2V0U2VsZWN0ZWRWYWx1ZXMoKVwiXG4gICAgICBbY2hlY2tlZF09XCJzZWxlY3Rpb24/LmlzU2VsZWN0ZWQocm93KVwiXG4gICAgPlxuICAgIDwvbWF0LWNoZWNrYm94PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPCEtLSBQT1IgRkFWT1IsIE7Dg08gUVVFQlJFIExJTkhBIEVOVFJFIE5HLUNPTlRBSU5FUi9URU1QTEFURSBFIE8gVkFMT1IgQ09OVEXDmkRPICAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTWFza2VkRGF0YShjb2x1bW4sIHJvdyk7IGVsc2Ugc3RhdHVzQ29udGVudFwiXG4gICAgPnt7IGdldFZhbHVlQXNEYXRlKGNvbHVtbiwgcm93KSB8IGRhdGU6IGNvbHVtbi5tYXNrIH19PC9uZy1jb250YWluZXJcbiAgPlxuICA8bmctdGVtcGxhdGUgI3N0YXR1c0NvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi5zdGF0dXM7IGVsc2UgY29tbW9uQ29udGVudFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQm9vbGVhbihjb2x1bW4sIHJvdyk7IGVsc2UgY29tbW9uU3RhdHVzXCJcbiAgICAgICAgPnt7IGNvbHVtbi5zdGF0dXMubGFiZWxbcm93W2NvbHVtbi5rZXldID8gMSA6IDBdIH19PC9uZy1jb250YWluZXJcbiAgICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY29tbW9uU3RhdHVzXG4gICAgICAgID57eyBjb2x1bW4uc3RhdHVzLmxhYmVsW3Jvd1tjb2x1bW4ua2V5XV0gfHwgJy0nIH19PC9uZy10ZW1wbGF0ZVxuICAgICAgPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjY29tbW9uQ29udGVudD57eyByb3dbY29sdW1uLmtleV0gfX08L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI3N0YXR1c0NvbnRlbnQ+XG4gICAgPG5nLXRlbXBsYXRlICNjb21tb25Db250ZW50Pnt7IHJvd1tjb2x1bW4ua2V5XSB9fTwvbmctdGVtcGxhdGU+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import { Component, Input } from
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
3
4
|
export class TagComponent {
|
|
4
5
|
}
|
|
5
6
|
TagComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6
|
-
TagComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TagComponent, selector: "mapa-tag", inputs: {
|
|
7
|
+
TagComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TagComponent, selector: "mapa-tag", inputs: { tag: "tag" }, ngImport: i0, template: "<div\n *ngIf=\"tag\"\n class=\"mapa-tag\"\n [class.mapa-tag--small]=\"tag.size === 'small' && !tag.fontSize\"\n [class.mapa-tag--highlight]=\"tag.color === 'highlight'\"\n [class.mapa-tag--selected]=\"tag.color === 'selected'\"\n [class.mapa-tag--default-bg]=\"!tag.bgColor\"\n [class.mapa-tag--bg]=\"tag.bgColor\"\n [style.backgroundColor]=\"tag.bgColor\"\n [style.padding-left]=\"tag.fontSize\"\n [style.border-radius]=\"tag.fontSize\"\n [style.fontSize]=\"tag.fontSize\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".mapa-tag{font-family:SF-Pro;display:flex;align-items:center;border-radius:16px;padding:8px 12px;margin:0 4px;white-space:nowrap}.mapa-tag--default-bg{border:1px solid #cdcdcd;background:#fff;font-weight:300}.mapa-tag--bg{font-weight:600!important;text-transform:uppercase}.mapa-tag--highlight{border:2px solid #eedb2a!important}.mapa-tag--small{gap:8px;padding:2px 8px!important;font-size:12px}.mapa-tag--selected{padding:8px 16px!important;gap:16px;border-radius:8px!important;border:1px solid #d9d9d9!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
7
8
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TagComponent, decorators: [{
|
|
8
9
|
type: Component,
|
|
9
|
-
args: [{ selector:
|
|
10
|
-
}], propDecorators: {
|
|
11
|
-
type: Input
|
|
12
|
-
}], size: [{
|
|
10
|
+
args: [{ selector: "mapa-tag", template: "<div\n *ngIf=\"tag\"\n class=\"mapa-tag\"\n [class.mapa-tag--small]=\"tag.size === 'small' && !tag.fontSize\"\n [class.mapa-tag--highlight]=\"tag.color === 'highlight'\"\n [class.mapa-tag--selected]=\"tag.color === 'selected'\"\n [class.mapa-tag--default-bg]=\"!tag.bgColor\"\n [class.mapa-tag--bg]=\"tag.bgColor\"\n [style.backgroundColor]=\"tag.bgColor\"\n [style.padding-left]=\"tag.fontSize\"\n [style.border-radius]=\"tag.fontSize\"\n [style.fontSize]=\"tag.fontSize\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".mapa-tag{font-family:SF-Pro;display:flex;align-items:center;border-radius:16px;padding:8px 12px;margin:0 4px;white-space:nowrap}.mapa-tag--default-bg{border:1px solid #cdcdcd;background:#fff;font-weight:300}.mapa-tag--bg{font-weight:600!important;text-transform:uppercase}.mapa-tag--highlight{border:2px solid #eedb2a!important}.mapa-tag--small{gap:8px;padding:2px 8px!important;font-size:12px}.mapa-tag--selected{padding:8px 16px!important;gap:16px;border-radius:8px!important;border:1px solid #d9d9d9!important}\n"] }]
|
|
11
|
+
}], propDecorators: { tag: [{
|
|
13
12
|
type: Input
|
|
14
13
|
}] } });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcGEtbGlicmFyeS11aS9zcmMvbGliL2NvbXBvbmVudHMvdGFnL3NyYy90YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWcvc3JjL3RhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBY2pELE1BQU0sT0FBTyxZQUFZOzswR0FBWixZQUFZOzhGQUFaLFlBQVksd0VDZHpCLGdoQkFlQTs0RkREYSxZQUFZO2tCQUx4QixTQUFTOytCQUNFLFVBQVU7OEJBS1gsR0FBRztzQkFBWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFnIHtcbiAgYmdDb2xvcj86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIGNvbG9yPzogXCJoaWdobGlnaHRcIiB8IFwic2VsZWN0ZWRcIiB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHNpemU/OiBcInNtYWxsXCIgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBmb250U2l6ZT86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtYXBhLXRhZ1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3RhZy5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vdGFnLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWdDb21wb25lbnQge1xuICBASW5wdXQoKSB0YWc6IFRhZyB8IHVuZGVmaW5lZDtcbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJ0YWdcIlxuICBjbGFzcz1cIm1hcGEtdGFnXCJcbiAgW2NsYXNzLm1hcGEtdGFnLS1zbWFsbF09XCJ0YWcuc2l6ZSA9PT0gJ3NtYWxsJyAmJiAhdGFnLmZvbnRTaXplXCJcbiAgW2NsYXNzLm1hcGEtdGFnLS1oaWdobGlnaHRdPVwidGFnLmNvbG9yID09PSAnaGlnaGxpZ2h0J1wiXG4gIFtjbGFzcy5tYXBhLXRhZy0tc2VsZWN0ZWRdPVwidGFnLmNvbG9yID09PSAnc2VsZWN0ZWQnXCJcbiAgW2NsYXNzLm1hcGEtdGFnLS1kZWZhdWx0LWJnXT1cIiF0YWcuYmdDb2xvclwiXG4gIFtjbGFzcy5tYXBhLXRhZy0tYmddPVwidGFnLmJnQ29sb3JcIlxuICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cInRhZy5iZ0NvbG9yXCJcbiAgW3N0eWxlLnBhZGRpbmctbGVmdF09XCJ0YWcuZm9udFNpemVcIlxuICBbc3R5bGUuYm9yZGVyLXJhZGl1c109XCJ0YWcuZm9udFNpemVcIlxuICBbc3R5bGUuZm9udFNpemVdPVwidGFnLmZvbnRTaXplXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|