keevo-components 1.7.0 → 1.7.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.
@@ -2,10 +2,7 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { ImagensService } from '../api/services/imagens.service';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
- import * as i2 from "primeng/tooltip";
6
- import * as i3 from "primeng/inputtext";
7
- import * as i4 from "@angular/forms";
8
- import * as i5 from "../buttons/button-personalize/button-personalize.component";
5
+ import * as i2 from "../table/table.component";
9
6
  export class WorkspaceComponent {
10
7
  constructor() {
11
8
  this.nomeSistema = 'Nome do Sistema';
@@ -18,11 +15,19 @@ export class WorkspaceComponent {
18
15
  this.imgPersonagens = '';
19
16
  this.imgLogoKeevo = '';
20
17
  this.styleBackground = '';
18
+ this.imgLogoKeevoCenter = '';
19
+ this.tableSizeMaster = 5;
20
+ this.dataSourceMaster = [];
21
+ this.tableSizeEmpresa = 5;
22
+ this.dataSourceEmpresa = [];
21
23
  }
22
24
  ngOnInit() {
23
25
  this.imgPersonagens = ImagensService.getPersonagensWorkSpace();
24
26
  this.imgLogoKeevo = ImagensService.getLogoKeevo();
25
- this.styleBackground = "background-image: url(" + ImagensService.getBackgroundWorkSpace() + ");";
27
+ this.imgLogoKeevoCenter = ImagensService.getLogoKeevoCenter();
28
+ this.styleBackground =
29
+ 'background-image: url(' + ImagensService.getBackgroundWorkSpace() + ');';
30
+ this.columnConfigTableMaster();
26
31
  this.verificaMasterUnica();
27
32
  }
28
33
  verificaMasterUnica() {
@@ -36,6 +41,7 @@ export class WorkspaceComponent {
36
41
  this.visivel = false;
37
42
  else {
38
43
  this.empresas = master.empresas;
44
+ this.columnConfigTableEmpresa();
39
45
  this.verificaEmpresaUnica();
40
46
  }
41
47
  }
@@ -44,6 +50,7 @@ export class WorkspaceComponent {
44
50
  this.selecionarEmpresa(this.empresas[0]);
45
51
  }
46
52
  selecionarEmpresa(empresa) {
53
+ console.log(empresa, 'selecionarEmpresa');
47
54
  this.onGetEmpresaSelecionada.emit(empresa);
48
55
  this.empresaSelecionada = empresa;
49
56
  this.visivel = false;
@@ -55,12 +62,111 @@ export class WorkspaceComponent {
55
62
  filtrarEmpresa(event) {
56
63
  this.empresas = this.masterSelecionada.empresas.filter((e) => e.nomeempresa.toLowerCase().includes(event.toLowerCase()));
57
64
  }
65
+ //------------------MASTER------------------------
66
+ columnConfigTableMaster() {
67
+ this.dataSourceMaster = this.masters;
68
+ this.tableConfigMaster = {
69
+ lazy: false,
70
+ columns: [
71
+ {
72
+ position: 0,
73
+ field: 'idmaster',
74
+ header: 'Licença',
75
+ width: '',
76
+ centralize: false,
77
+ sortable: false,
78
+ },
79
+ {
80
+ position: 1,
81
+ field: 'razaosocial',
82
+ header: '',
83
+ width: '80%',
84
+ centralize: false,
85
+ sortable: false,
86
+ },
87
+ ],
88
+ actions: [
89
+ {
90
+ label: 'Acessar',
91
+ icon: 'login',
92
+ tooltip: 'Acessar Master',
93
+ command: () => {
94
+ this.selecionarMaster(this.selectedItemMaster);
95
+ },
96
+ disabled: () => {
97
+ return false;
98
+ },
99
+ },
100
+ ],
101
+ actionsLote: [],
102
+ enableCation: false,
103
+ enableFilter: false,
104
+ enableSelect: false,
105
+ };
106
+ }
107
+ activeItemMaster(e) {
108
+ this.selectedItemMaster = e;
109
+ console.log('activeItemMaster', this.selectedItemMaster);
110
+ }
111
+ doubleClickMaster(e) {
112
+ console.log('doubleClickMaster');
113
+ this.selectedItemMaster = e.rowData;
114
+ this.selecionarMaster(e.rowData);
115
+ }
116
+ //------------------Empresa------------------------
117
+ columnConfigTableEmpresa() {
118
+ this.dataSourceEmpresa = this.empresas;
119
+ this.tableConfigEmpresa = {
120
+ lazy: false,
121
+ columns: [
122
+ {
123
+ position: 0,
124
+ field: 'cnpjempresa',
125
+ header: 'Empresa',
126
+ width: '',
127
+ centralize: false,
128
+ sortable: false,
129
+ },
130
+ {
131
+ position: 1,
132
+ field: 'nomeempresa',
133
+ header: '',
134
+ width: '80%',
135
+ centralize: false,
136
+ sortable: false,
137
+ },
138
+ ],
139
+ actions: [
140
+ {
141
+ label: 'Acessar',
142
+ icon: 'login',
143
+ tooltip: 'Acessar Empresa',
144
+ command: () => {
145
+ this.selecionarEmpresa(this.selectedItemEmpresa);
146
+ },
147
+ },
148
+ ],
149
+ actionsLote: [],
150
+ enableCation: true,
151
+ enableFilter: true,
152
+ enableSelect: false,
153
+ };
154
+ }
155
+ activeItemEmpresa(e) {
156
+ console.log(e, 'activeItemEmpresa');
157
+ this.selectedItemEmpresa = e;
158
+ }
159
+ doubleClickEmpresa(e) {
160
+ this.selectedItemEmpresa = e.rowData;
161
+ this.selecionarEmpresa(e.rowData);
162
+ console.log(this.selectedItemEmpresa, 'doubleClickEmpresa');
163
+ }
58
164
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WorkspaceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WorkspaceComponent, selector: "kv-workspace", inputs: { nomeSistema: "nomeSistema", nomeUsuario: "nomeUsuario", masters: "masters", somenteMaster: "somenteMaster" }, outputs: { onGetMasterSelecionada: "onGetMasterSelecionada", onGetEmpresaSelecionada: "onGetEmpresaSelecionada" }, ngImport: i0, template: "<div *ngIf=\"visivel\" [style]=\"styleBackground\" class=\"h-screen flex justify-content-center align-items-center login-container flex-column\">\r\n <div id=\"card-container\"\r\n class=\"flex flex-column justify-content-around card-login formgrid p-fluid col-12 w-10 lg:w-7\">\r\n <div class=\"field col-12 flex justify-content-center mb-4\">\r\n <h1 class=\"text-6xl text-blue-900\" id=\"logo\">{{nomeSistema}}</h1>\r\n </div>\r\n\r\n\r\n <!-- IN\u00CDCIO DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\r\n <div *ngIf=\"!masterSelecionada\" class=\"col-12 z-5\">\r\n <div class=\"formgrid p-fluid field col-12 flex flex-column align-items-center z-5\">\r\n <div class=\"field col-6 text-lg\">\r\n Ol\u00E1 <span class=\"font-bold\">{{nomeUsuario}},</span> bem vindo (a).\r\n </div>\r\n <div class=\"field col-6 text-lg\">\r\n Escolha qual <span class=\"font-bold\">Workspace</span> voc\u00EA deseja\r\n <span class=\"font-bold\">acessar</span>:\r\n </div>\r\n </div>\r\n\r\n <div class=\"formgrid p-fluid field col-12 flex flex-column align-items-center z-5\">\r\n <div id=\"master-container\"\r\n class=\"field col-7 flex gap-2 justify-content-center flex-wrap max-h-21rem overflow-x-auto z-5\" >\r\n\r\n <div [pTooltip]=\"master.razaosocial\" id=\"master-card\" *ngFor=\"let master of masters\"\r\n\r\n class=\"text-overflow-ellipsis overflow-hidden w-10rem h-10rem flex flex-column align-items-center justify-content-between text-center p-3 gap-2 border-card\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"25\" height=\"23\" viewBox=\"0 0 25 23\" fill=\"#0E4F82\">\r\n <path\r\n d=\"M20 15.3333H17.5V17.8889H20M20 10.2222H17.5V12.7778H20M22.5 20.4444H12.5V17.8889H15V15.3333H12.5V12.7778H15V10.2222H12.5V7.66667H22.5M10 5.11111H7.5V2.55556H10M10 10.2222H7.5V7.66667H10M10 15.3333H7.5V12.7778H10M10 20.4444H7.5V17.8889H10M5 5.11111H2.5V2.55556H5M5 10.2222H2.5V7.66667H5M5 15.3333H2.5V12.7778H5M5 20.4444H2.5V17.8889H5M12.5 5.11111V0H0V23H25V5.11111H12.5Z\"\r\n fill=\"#0E4F82\" />\r\n </svg>\r\n\r\n <div class=\"text-lg text-blue-800 text-overflow-ellipsis overflow-hidden h-3rem w-full text-center font-semibold\">\r\n {{ master.razaosocial.split(' ')[0] + ' ' + master.razaosocial.split(' ')[1] || master.razaosocial }}\r\n </div>\r\n\r\n <kv-button-personalize color=\"bg-blue-900\" label=\"Acessar\" (onClick)=\"selecionarMaster(master)\" ></kv-button-personalize>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- FIM DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\r\n\r\n <!-- IN\u00CDCIO DO WORKSPACE EMPRESA -->\r\n <div *ngIf=\"masterSelecionada && !empresaSelecionada\" class=\"col-12 z-5\">\r\n <div class=\"formgrid p-fluid field col-12 flex flex-column align-items-center z-5\">\r\n\r\n <div class=\"col-8 flex xl:flex-row flex-column p-0 border-card border-round-2xl justify-content-between z-5\">\r\n\r\n <div class=\"flex flex-column xl:flex-row w-full xl:w-9\">\r\n <div class=\"flex border-round-left-2xl bg-white1 p-3 flex align-items-center font-semibold m-0 xl:w-4 w-full z-5\">\r\n Workspace\r\n </div>\r\n\r\n <div class=\"gap-2 p-3 flex align-items-center m-0 xl:w-7 sm:w-full\"\r\n [pTooltip]=\"masterSelecionada.razaosocial\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"25\" height=\"23\" viewBox=\"0 0 25 23\" fill=\"#0E4F82\">\r\n <path\r\n d=\"M20 15.3333H17.5V17.8889H20M20 10.2222H17.5V12.7778H20M22.5 20.4444H12.5V17.8889H15V15.3333H12.5V12.7778H15V10.2222H12.5V7.66667H22.5M10 5.11111H7.5V2.55556H10M10 10.2222H7.5V7.66667H10M10 15.3333H7.5V12.7778H10M10 20.4444H7.5V17.8889H10M5 5.11111H2.5V2.55556H5M5 10.2222H2.5V7.66667H5M5 15.3333H2.5V12.7778H5M5 20.4444H2.5V17.8889H5M12.5 5.11111V0H0V23H25V5.11111H12.5Z\"\r\n fill=\"#0E4F82\" />\r\n </svg>\r\n\r\n <span class=\"w-full white-space-nowrap overflow-hidden text-overflow-ellipsis\">{{masterSelecionada.razaosocial}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"bg-white2 border-round-right-2xl p-3 flex align-items-center cursor-pointer m-0 xl:w-1 w-full\"(click)=\"voltar()\">\r\n <i class=\"pi pi-arrow-left\"></i>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"formgrid p-fluid field col-12 flex flex-column align-items-center\">\r\n\r\n <div class=\"grid formgrid col-10 md:col-7 md:col-6 p-fluid flex align-items-center\">\r\n <span class=\"field p-0 col-12 xl:col-6 font-semibold \">Selecione a empresa</span>\r\n <div class=\"field p-0 col-12 xl:col-6\">\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-search\"></i>\r\n <input type=\"text\" pInputText (ngModelChange)=\"filtrarEmpresa($event)\" [(ngModel)]=\"txtPesquisa\" />\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div id=\"master-container\" class=\"field mt-3 relative z-5 col-10 md:col-7 flex gap-2 justify-content-center flex-wrap max-h-15rem overflow-x-auto\" >\r\n\r\n <div class=\"grid formgrid col-12 p-fluid border-bottom-1 border-300\" *ngFor=\"let empresa of empresas\" >\r\n <span [pTooltip]=\"empresa.nomeempresa || empresa.nomefantasia\" class=\"field md:col-10 col-12 flex gap-1\">\r\n <span class=\"text-base white-space-nowrap overflow-hidden text-overflow-ellipsis\">{{empresa.nomeempresa || empresa.nomefantasia }}</span>\r\n </span>\r\n\r\n <div class=\"field md:col-2 col-12 bg-blue-900 flex align-items-center justify-content-center py-2 px-2 col border-round-md cursor-pointer\" (click)=\"selecionarEmpresa(empresa)\">\r\n <i class=\"pi pi-angle-right text-xl text-white\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- FIM DO WORKSPACE EMPRESA -->\r\n\r\n <div class=\" lg:block hidden w-full col-12 grid formgrid pointer-events-none\t\">\r\n <div class=\"field col-12 flex justify-content-end\" id=\"personagens-imagem\"><img [src]=\"imgPersonagens\" class=\"field w-full col-12\" alt=\"\"></div>\r\n </div>\r\n </div>\r\n <img [src]=\"imgLogoKeevo\" class=\"w-9rem mt-6\" />\r\n</div>\r\n", styles: ["*{margin:0}::ng-deep body{margin:0!important}.login-container{background-repeat:no-repeat;background-size:cover}#card-container{background:#fff;border-radius:14px;-moz-border-radius:14px;-ms-border-radius:14px;-o-border-radius:14px;-webkit-border-radius:14px}#logo{background:linear-gradient(97deg,#002542 5.7%,#115a94 102.3%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.border-card{border-radius:12px;border:1px dashed #2770E8}#master-card h1{color:#26406b}.bg-white1{background-color:#f1f1f1}.bg-white2{background-color:#f2f3f5}#personagens-imagem{width:60%!important;position:absolute;transform:translate(-2%,-91%)}#master-container{--sb-track-color: #f1f1f1;--sb-thumb-color: #183462;--sb-size: 5px;scrollbar-color:var(--sb-thumb-color) var(--sb-track-color)}#master-container::-webkit-scrollbar{width:var(--sb-size)}#master-container::-webkit-scrollbar-track{background:var(--sb-track-color);border-radius:40px}#master-container::-webkit-scrollbar-thumb{background:var(--sb-thumb-color);border-radius:40px}span,.login-container{font-size:15px!important;font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important}\n"], dependencies: [{ 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: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i3.InputText, selector: "[pInputText]" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.ButtonPersonalizeComponent, selector: "kv-button-personalize" }] }); }
165
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WorkspaceComponent, selector: "kv-workspace", inputs: { nomeSistema: "nomeSistema", nomeUsuario: "nomeUsuario", masters: "masters", somenteMaster: "somenteMaster" }, outputs: { onGetMasterSelecionada: "onGetMasterSelecionada", onGetEmpresaSelecionada: "onGetEmpresaSelecionada" }, ngImport: i0, template: "<div\r\n *ngIf=\"visivel\"\r\n [style]=\"styleBackground\"\r\n class=\"h-screen flex justify-content-center align-items-center login-container flex-column\"\r\n>\r\n <div\r\n id=\"card-container\"\r\n class=\"flex flex-column justify-content-around card-login formgrid p-fluid col-12 w-10 lg:w-7\"\r\n style=\"min-width: 750px\"\r\n >\r\n <div class=\"field col-12 flex justify-content-center mb-1\">\r\n <img [src]=\"imgLogoKeevoCenter\" style=\"width: 200px\" />\r\n </div>\r\n\r\n <div class=\"col-12 align-items-center z-5\">\r\n <div class=\"col-9\">\r\n Ol\u00E1, <b>{{ nomeUsuario }}.</b> Bem vindo(a)!\r\n </div>\r\n <b class=\"field col-9 flex\">\r\n Escolha qual workspace voc\u00EA deseja acessar:</b>\r\n </div>\r\n\r\n <!-- IN\u00CDCIO DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\r\n <div *ngIf=\"!masterSelecionada\" class=\"col-12 z-5\">\r\n \r\n <kv-table\r\n [tableSize]=\"tableSizeMaster\"\r\n [rows]=\"5\"\r\n [config]=\"tableConfigMaster\"\r\n [paginator]=\"false\"\r\n [dataSource]=\"dataSourceMaster\"\r\n [rowsPerPageOptions]=\"[5, 10, 25, 50, 100, 200]\"\r\n [acoesLinhaTabela]=\"true\"\r\n (doubleClickEvent)=\"doubleClickMaster($event)\"\r\n (onActiveItem)=\"activeItemMaster($event)\"\r\n >\r\n </kv-table>\r\n \r\n </div>\r\n <!-- FIM DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\r\n\r\n <!-- IN\u00CDCIO DO WORKSPACE EMPRESA -->\r\n <div *ngIf=\"masterSelecionada && !empresaSelecionada\" class=\"col-12 z-5\">\r\n <kv-table\r\n [tableSize]=\"tableSizeEmpresa\"\r\n [rows]=\"5\"\r\n [config]=\"tableConfigEmpresa\"\r\n [paginator]=\"false\"\r\n [dataSource]=\"dataSourceEmpresa\"\r\n [rowsPerPageOptions]=\"[5, 10, 25, 50, 100, 200]\"\r\n [acoesLinhaTabela]=\"true\"\r\n (doubleClickEvent)=\"doubleClickEmpresa($event)\"\r\n (onActiveItem)=\"activeItemEmpresa($event)\"\r\n >\r\n </kv-table>\r\n </div>\r\n <!-- FIM DO WORKSPACE EMPRESA -->\r\n </div>\r\n</div>\r\n", styles: ["*{margin:0}::ng-deep body{margin:0!important}.login-container{background-repeat:no-repeat;background-size:cover}#card-container{background:#fff;border-radius:14px;-moz-border-radius:14px;-ms-border-radius:14px;-o-border-radius:14px;-webkit-border-radius:14px;position:relative}.p-inputtext{font-size:1rem}#logo{background:linear-gradient(97deg,#002542 5.7%,#115a94 102.3%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.border-card{border-radius:12px;border:1px dashed #2770E8}#master-card h1{color:#26406b}.bg-white1{background-color:#f1f1f1}.bg-white2{background-color:#f2f3f5}#personagens-imagem{width:60%!important;position:absolute;transform:translate(-2%,-91%)}#master-container{--sb-track-color: #f1f1f1;--sb-thumb-color: #183462;--sb-size: 5px;scrollbar-color:var(--sb-thumb-color) var(--sb-track-color)}#master-container::-webkit-scrollbar{width:var(--sb-size)}#master-container::-webkit-scrollbar-track{background:var(--sb-track-color);border-radius:40px}#master-container::-webkit-scrollbar-thumb{background:var(--sb-thumb-color);border-radius:40px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.TableComponent, selector: "kv-table", inputs: ["templates", "config", "dataSource", "selectedItems", "totalRecords", "paginator", "rowsPerPageOptions", "rows", "pageLinksOptions", "showFirstLastIcon", "tableSize", "applyStyle", "acoesLinhaTabela", "filterColumnsBtn", "filtrosAvancados"], outputs: ["onActiveItem", "onActiveItemLote", "onPaginate", "onSelectionChange", "doubleClickEvent", "filterField", "filtrosAvancadosEmit"] }] }); }
60
166
  }
61
167
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WorkspaceComponent, decorators: [{
62
168
  type: Component,
63
- args: [{ selector: 'kv-workspace', template: "<div *ngIf=\"visivel\" [style]=\"styleBackground\" class=\"h-screen flex justify-content-center align-items-center login-container flex-column\">\r\n <div id=\"card-container\"\r\n class=\"flex flex-column justify-content-around card-login formgrid p-fluid col-12 w-10 lg:w-7\">\r\n <div class=\"field col-12 flex justify-content-center mb-4\">\r\n <h1 class=\"text-6xl text-blue-900\" id=\"logo\">{{nomeSistema}}</h1>\r\n </div>\r\n\r\n\r\n <!-- IN\u00CDCIO DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\r\n <div *ngIf=\"!masterSelecionada\" class=\"col-12 z-5\">\r\n <div class=\"formgrid p-fluid field col-12 flex flex-column align-items-center z-5\">\r\n <div class=\"field col-6 text-lg\">\r\n Ol\u00E1 <span class=\"font-bold\">{{nomeUsuario}},</span> bem vindo (a).\r\n </div>\r\n <div class=\"field col-6 text-lg\">\r\n Escolha qual <span class=\"font-bold\">Workspace</span> voc\u00EA deseja\r\n <span class=\"font-bold\">acessar</span>:\r\n </div>\r\n </div>\r\n\r\n <div class=\"formgrid p-fluid field col-12 flex flex-column align-items-center z-5\">\r\n <div id=\"master-container\"\r\n class=\"field col-7 flex gap-2 justify-content-center flex-wrap max-h-21rem overflow-x-auto z-5\" >\r\n\r\n <div [pTooltip]=\"master.razaosocial\" id=\"master-card\" *ngFor=\"let master of masters\"\r\n\r\n class=\"text-overflow-ellipsis overflow-hidden w-10rem h-10rem flex flex-column align-items-center justify-content-between text-center p-3 gap-2 border-card\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"25\" height=\"23\" viewBox=\"0 0 25 23\" fill=\"#0E4F82\">\r\n <path\r\n d=\"M20 15.3333H17.5V17.8889H20M20 10.2222H17.5V12.7778H20M22.5 20.4444H12.5V17.8889H15V15.3333H12.5V12.7778H15V10.2222H12.5V7.66667H22.5M10 5.11111H7.5V2.55556H10M10 10.2222H7.5V7.66667H10M10 15.3333H7.5V12.7778H10M10 20.4444H7.5V17.8889H10M5 5.11111H2.5V2.55556H5M5 10.2222H2.5V7.66667H5M5 15.3333H2.5V12.7778H5M5 20.4444H2.5V17.8889H5M12.5 5.11111V0H0V23H25V5.11111H12.5Z\"\r\n fill=\"#0E4F82\" />\r\n </svg>\r\n\r\n <div class=\"text-lg text-blue-800 text-overflow-ellipsis overflow-hidden h-3rem w-full text-center font-semibold\">\r\n {{ master.razaosocial.split(' ')[0] + ' ' + master.razaosocial.split(' ')[1] || master.razaosocial }}\r\n </div>\r\n\r\n <kv-button-personalize color=\"bg-blue-900\" label=\"Acessar\" (onClick)=\"selecionarMaster(master)\" ></kv-button-personalize>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- FIM DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\r\n\r\n <!-- IN\u00CDCIO DO WORKSPACE EMPRESA -->\r\n <div *ngIf=\"masterSelecionada && !empresaSelecionada\" class=\"col-12 z-5\">\r\n <div class=\"formgrid p-fluid field col-12 flex flex-column align-items-center z-5\">\r\n\r\n <div class=\"col-8 flex xl:flex-row flex-column p-0 border-card border-round-2xl justify-content-between z-5\">\r\n\r\n <div class=\"flex flex-column xl:flex-row w-full xl:w-9\">\r\n <div class=\"flex border-round-left-2xl bg-white1 p-3 flex align-items-center font-semibold m-0 xl:w-4 w-full z-5\">\r\n Workspace\r\n </div>\r\n\r\n <div class=\"gap-2 p-3 flex align-items-center m-0 xl:w-7 sm:w-full\"\r\n [pTooltip]=\"masterSelecionada.razaosocial\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"25\" height=\"23\" viewBox=\"0 0 25 23\" fill=\"#0E4F82\">\r\n <path\r\n d=\"M20 15.3333H17.5V17.8889H20M20 10.2222H17.5V12.7778H20M22.5 20.4444H12.5V17.8889H15V15.3333H12.5V12.7778H15V10.2222H12.5V7.66667H22.5M10 5.11111H7.5V2.55556H10M10 10.2222H7.5V7.66667H10M10 15.3333H7.5V12.7778H10M10 20.4444H7.5V17.8889H10M5 5.11111H2.5V2.55556H5M5 10.2222H2.5V7.66667H5M5 15.3333H2.5V12.7778H5M5 20.4444H2.5V17.8889H5M12.5 5.11111V0H0V23H25V5.11111H12.5Z\"\r\n fill=\"#0E4F82\" />\r\n </svg>\r\n\r\n <span class=\"w-full white-space-nowrap overflow-hidden text-overflow-ellipsis\">{{masterSelecionada.razaosocial}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"bg-white2 border-round-right-2xl p-3 flex align-items-center cursor-pointer m-0 xl:w-1 w-full\"(click)=\"voltar()\">\r\n <i class=\"pi pi-arrow-left\"></i>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"formgrid p-fluid field col-12 flex flex-column align-items-center\">\r\n\r\n <div class=\"grid formgrid col-10 md:col-7 md:col-6 p-fluid flex align-items-center\">\r\n <span class=\"field p-0 col-12 xl:col-6 font-semibold \">Selecione a empresa</span>\r\n <div class=\"field p-0 col-12 xl:col-6\">\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-search\"></i>\r\n <input type=\"text\" pInputText (ngModelChange)=\"filtrarEmpresa($event)\" [(ngModel)]=\"txtPesquisa\" />\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <div id=\"master-container\" class=\"field mt-3 relative z-5 col-10 md:col-7 flex gap-2 justify-content-center flex-wrap max-h-15rem overflow-x-auto\" >\r\n\r\n <div class=\"grid formgrid col-12 p-fluid border-bottom-1 border-300\" *ngFor=\"let empresa of empresas\" >\r\n <span [pTooltip]=\"empresa.nomeempresa || empresa.nomefantasia\" class=\"field md:col-10 col-12 flex gap-1\">\r\n <span class=\"text-base white-space-nowrap overflow-hidden text-overflow-ellipsis\">{{empresa.nomeempresa || empresa.nomefantasia }}</span>\r\n </span>\r\n\r\n <div class=\"field md:col-2 col-12 bg-blue-900 flex align-items-center justify-content-center py-2 px-2 col border-round-md cursor-pointer\" (click)=\"selecionarEmpresa(empresa)\">\r\n <i class=\"pi pi-angle-right text-xl text-white\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- FIM DO WORKSPACE EMPRESA -->\r\n\r\n <div class=\" lg:block hidden w-full col-12 grid formgrid pointer-events-none\t\">\r\n <div class=\"field col-12 flex justify-content-end\" id=\"personagens-imagem\"><img [src]=\"imgPersonagens\" class=\"field w-full col-12\" alt=\"\"></div>\r\n </div>\r\n </div>\r\n <img [src]=\"imgLogoKeevo\" class=\"w-9rem mt-6\" />\r\n</div>\r\n", styles: ["*{margin:0}::ng-deep body{margin:0!important}.login-container{background-repeat:no-repeat;background-size:cover}#card-container{background:#fff;border-radius:14px;-moz-border-radius:14px;-ms-border-radius:14px;-o-border-radius:14px;-webkit-border-radius:14px}#logo{background:linear-gradient(97deg,#002542 5.7%,#115a94 102.3%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.border-card{border-radius:12px;border:1px dashed #2770E8}#master-card h1{color:#26406b}.bg-white1{background-color:#f1f1f1}.bg-white2{background-color:#f2f3f5}#personagens-imagem{width:60%!important;position:absolute;transform:translate(-2%,-91%)}#master-container{--sb-track-color: #f1f1f1;--sb-thumb-color: #183462;--sb-size: 5px;scrollbar-color:var(--sb-thumb-color) var(--sb-track-color)}#master-container::-webkit-scrollbar{width:var(--sb-size)}#master-container::-webkit-scrollbar-track{background:var(--sb-track-color);border-radius:40px}#master-container::-webkit-scrollbar-thumb{background:var(--sb-thumb-color);border-radius:40px}span,.login-container{font-size:15px!important;font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important}\n"] }]
169
+ args: [{ selector: 'kv-workspace', template: "<div\r\n *ngIf=\"visivel\"\r\n [style]=\"styleBackground\"\r\n class=\"h-screen flex justify-content-center align-items-center login-container flex-column\"\r\n>\r\n <div\r\n id=\"card-container\"\r\n class=\"flex flex-column justify-content-around card-login formgrid p-fluid col-12 w-10 lg:w-7\"\r\n style=\"min-width: 750px\"\r\n >\r\n <div class=\"field col-12 flex justify-content-center mb-1\">\r\n <img [src]=\"imgLogoKeevoCenter\" style=\"width: 200px\" />\r\n </div>\r\n\r\n <div class=\"col-12 align-items-center z-5\">\r\n <div class=\"col-9\">\r\n Ol\u00E1, <b>{{ nomeUsuario }}.</b> Bem vindo(a)!\r\n </div>\r\n <b class=\"field col-9 flex\">\r\n Escolha qual workspace voc\u00EA deseja acessar:</b>\r\n </div>\r\n\r\n <!-- IN\u00CDCIO DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\r\n <div *ngIf=\"!masterSelecionada\" class=\"col-12 z-5\">\r\n \r\n <kv-table\r\n [tableSize]=\"tableSizeMaster\"\r\n [rows]=\"5\"\r\n [config]=\"tableConfigMaster\"\r\n [paginator]=\"false\"\r\n [dataSource]=\"dataSourceMaster\"\r\n [rowsPerPageOptions]=\"[5, 10, 25, 50, 100, 200]\"\r\n [acoesLinhaTabela]=\"true\"\r\n (doubleClickEvent)=\"doubleClickMaster($event)\"\r\n (onActiveItem)=\"activeItemMaster($event)\"\r\n >\r\n </kv-table>\r\n \r\n </div>\r\n <!-- FIM DO WORKSPACE DE CONTABILIDADE (MASTERS) -->\r\n\r\n <!-- IN\u00CDCIO DO WORKSPACE EMPRESA -->\r\n <div *ngIf=\"masterSelecionada && !empresaSelecionada\" class=\"col-12 z-5\">\r\n <kv-table\r\n [tableSize]=\"tableSizeEmpresa\"\r\n [rows]=\"5\"\r\n [config]=\"tableConfigEmpresa\"\r\n [paginator]=\"false\"\r\n [dataSource]=\"dataSourceEmpresa\"\r\n [rowsPerPageOptions]=\"[5, 10, 25, 50, 100, 200]\"\r\n [acoesLinhaTabela]=\"true\"\r\n (doubleClickEvent)=\"doubleClickEmpresa($event)\"\r\n (onActiveItem)=\"activeItemEmpresa($event)\"\r\n >\r\n </kv-table>\r\n </div>\r\n <!-- FIM DO WORKSPACE EMPRESA -->\r\n </div>\r\n</div>\r\n", styles: ["*{margin:0}::ng-deep body{margin:0!important}.login-container{background-repeat:no-repeat;background-size:cover}#card-container{background:#fff;border-radius:14px;-moz-border-radius:14px;-ms-border-radius:14px;-o-border-radius:14px;-webkit-border-radius:14px;position:relative}.p-inputtext{font-size:1rem}#logo{background:linear-gradient(97deg,#002542 5.7%,#115a94 102.3%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.border-card{border-radius:12px;border:1px dashed #2770E8}#master-card h1{color:#26406b}.bg-white1{background-color:#f1f1f1}.bg-white2{background-color:#f2f3f5}#personagens-imagem{width:60%!important;position:absolute;transform:translate(-2%,-91%)}#master-container{--sb-track-color: #f1f1f1;--sb-thumb-color: #183462;--sb-size: 5px;scrollbar-color:var(--sb-thumb-color) var(--sb-track-color)}#master-container::-webkit-scrollbar{width:var(--sb-size)}#master-container::-webkit-scrollbar-track{background:var(--sb-track-color);border-radius:40px}#master-container::-webkit-scrollbar-thumb{background:var(--sb-thumb-color);border-radius:40px}\n"] }]
64
170
  }], ctorParameters: function () { return []; }, propDecorators: { nomeSistema: [{
65
171
  type: Input
66
172
  }], nomeUsuario: [{
@@ -74,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
74
180
  }], onGetEmpresaSelecionada: [{
75
181
  type: Output
76
182
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi93b3Jrc3BhY2Uvd29ya3NwYWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi93b3Jrc3BhY2Uvd29ya3NwYWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7O0FBT2pFLE1BQU0sT0FBTyxrQkFBa0I7SUFxQjdCO1FBbEJTLGdCQUFXLEdBQVcsaUJBQWlCLENBQUM7UUFDeEMsZ0JBQVcsR0FBVyx3QkFBd0IsQ0FBQztRQUUvQyxrQkFBYSxHQUFZLEtBQUssQ0FBQyxDQUFDLHlDQUF5QztRQUV4RSwyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2pELDRCQUF1QixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFNNUQsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLG9CQUFlLEdBQUcsRUFBRSxDQUFDO0lBRU4sQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvRCxJQUFJLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsZUFBZSxHQUFHLHdCQUF3QixHQUFHLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNqRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQztZQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQVc7UUFDMUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDO1FBRWhDLElBQUksSUFBSSxDQUFDLGFBQWE7WUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7YUFDbEI7WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDaEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsaUJBQWlCLENBQUMsT0FBWTtRQUM1QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUNoRSxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDMUQsQ0FBQztJQUNKLENBQUM7K0dBakVVLGtCQUFrQjttR0FBbEIsa0JBQWtCLCtSQ1IvQixrOU1BNEdBOzs0RkRwR2Esa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGNBQWM7MEVBT2YsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEltYWdlbnNTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL3NlcnZpY2VzL2ltYWdlbnMuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LXdvcmtzcGFjZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3dvcmtzcGFjZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd29ya3NwYWNlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXb3Jrc3BhY2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIFxyXG5cclxuICBASW5wdXQoKSBub21lU2lzdGVtYTogc3RyaW5nID0gJ05vbWUgZG8gU2lzdGVtYSc7XHJcbiAgQElucHV0KCkgbm9tZVVzdWFyaW86IHN0cmluZyA9ICdOb21lIGRvIFVzdcOhcmlvIExvZ2Fkbyc7XHJcbiAgQElucHV0KCkgbWFzdGVycyE6IGFueVtdOyAvLyBMaXN0YSBkYXMgY29udGFiaWxpZGFkZXMgZSBzdWFzIHJlc3BlY3RpdmFzIGVtcHJlc2FzXHJcbiAgQElucHV0KCkgc29tZW50ZU1hc3RlcjogYm9vbGVhbiA9IGZhbHNlOyAvLyBTZSBmb3IgYXBlbmFzIHNlbGXDp8OjbyBkZSBjb250YWJpbGlkYWRlXHJcblxyXG4gIEBPdXRwdXQoKSBvbkdldE1hc3RlclNlbGVjaW9uYWRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIG9uR2V0RW1wcmVzYVNlbGVjaW9uYWRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBcclxuICBlbXByZXNhcyE6IGFueVtdO1xyXG4gIG1hc3RlclNlbGVjaW9uYWRhITogYW55O1xyXG4gIGVtcHJlc2FTZWxlY2lvbmFkYSE6IGFueTtcclxuXHJcbiAgdmlzaXZlbCA9IHRydWU7XHJcbiAgdHh0UGVzcXVpc2EgPSAnJztcclxuICBpbWdQZXJzb25hZ2VucyA9ICcnO1xyXG4gIGltZ0xvZ29LZWV2byA9ICcnO1xyXG4gIHN0eWxlQmFja2dyb3VuZCA9ICcnO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbWdQZXJzb25hZ2VucyA9IEltYWdlbnNTZXJ2aWNlLmdldFBlcnNvbmFnZW5zV29ya1NwYWNlKCk7XHJcbiAgICB0aGlzLmltZ0xvZ29LZWV2byA9IEltYWdlbnNTZXJ2aWNlLmdldExvZ29LZWV2bygpO1xyXG4gICAgdGhpcy5zdHlsZUJhY2tncm91bmQgPSBcImJhY2tncm91bmQtaW1hZ2U6IHVybChcIiArIEltYWdlbnNTZXJ2aWNlLmdldEJhY2tncm91bmRXb3JrU3BhY2UoKSArIFwiKTtcIjtcclxuICAgIHRoaXMudmVyaWZpY2FNYXN0ZXJVbmljYSgpO1xyXG4gIH1cclxuXHJcbiAgdmVyaWZpY2FNYXN0ZXJVbmljYSgpe1xyXG4gICAgaWYodGhpcy5tYXN0ZXJzLmxlbmd0aCA9PSAxKSB0aGlzLnNlbGVjaW9uYXJNYXN0ZXIodGhpcy5tYXN0ZXJzWzBdKTtcclxuICB9XHJcblxyXG4gIHNlbGVjaW9uYXJNYXN0ZXIobWFzdGVyOiBhbnkpIHtcclxuICAgIHRoaXMub25HZXRNYXN0ZXJTZWxlY2lvbmFkYS5lbWl0KG1hc3Rlcik7XHJcbiAgICB0aGlzLm1hc3RlclNlbGVjaW9uYWRhID0gbWFzdGVyO1xyXG5cclxuICAgIGlmICh0aGlzLnNvbWVudGVNYXN0ZXIpIFxyXG4gICAgICB0aGlzLnZpc2l2ZWwgPSBmYWxzZTtcclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmVtcHJlc2FzID0gbWFzdGVyLmVtcHJlc2FzO1xyXG4gICAgICB0aGlzLnZlcmlmaWNhRW1wcmVzYVVuaWNhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2ZXJpZmljYUVtcHJlc2FVbmljYSgpe1xyXG4gICAgaWYodGhpcy5lbXByZXNhcyAmJiB0aGlzLmVtcHJlc2FzLmxlbmd0aCA9PSAxKSB0aGlzLnNlbGVjaW9uYXJFbXByZXNhKHRoaXMuZW1wcmVzYXNbMF0pO1xyXG4gIH1cclxuXHJcbiAgc2VsZWNpb25hckVtcHJlc2EoZW1wcmVzYTogYW55KSB7XHJcbiAgICB0aGlzLm9uR2V0RW1wcmVzYVNlbGVjaW9uYWRhLmVtaXQoZW1wcmVzYSk7XHJcbiAgICB0aGlzLmVtcHJlc2FTZWxlY2lvbmFkYSA9IGVtcHJlc2E7XHJcbiAgICB0aGlzLnZpc2l2ZWwgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHZvbHRhcigpIHtcclxuICAgIHRoaXMuZW1wcmVzYVNlbGVjaW9uYWRhID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5tYXN0ZXJTZWxlY2lvbmFkYSA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGZpbHRyYXJFbXByZXNhKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZW1wcmVzYXMgPSB0aGlzLm1hc3RlclNlbGVjaW9uYWRhLmVtcHJlc2FzLmZpbHRlcigoZTogYW55KSA9PlxyXG4gICAgICBlLm5vbWVlbXByZXNhLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZXZlbnQudG9Mb3dlckNhc2UoKSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJ2aXNpdmVsXCIgW3N0eWxlXT1cInN0eWxlQmFja2dyb3VuZFwiIGNsYXNzPVwiaC1zY3JlZW4gZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBsb2dpbi1jb250YWluZXIgZmxleC1jb2x1bW5cIj5cclxuICA8ZGl2IGlkPVwiY2FyZC1jb250YWluZXJcIlxyXG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1hcm91bmQgY2FyZC1sb2dpbiBmb3JtZ3JpZCBwLWZsdWlkIGNvbC0xMiB3LTEwIGxnOnctN1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgbWItNFwiPlxyXG4gICAgICA8aDEgY2xhc3M9XCJ0ZXh0LTZ4bCB0ZXh0LWJsdWUtOTAwXCIgaWQ9XCJsb2dvXCI+e3tub21lU2lzdGVtYX19PC9oMT5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICA8IS0tIElOw41DSU8gRE8gV09SS1NQQUNFIERFIENPTlRBQklMSURBREUgKE1BU1RFUlMpIC0tPlxyXG4gICAgPGRpdiAqbmdJZj1cIiFtYXN0ZXJTZWxlY2lvbmFkYVwiIGNsYXNzPVwiY29sLTEyIHotNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybWdyaWQgcC1mbHVpZCBmaWVsZCBjb2wtMTIgZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIgei01XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC02IHRleHQtbGdcIj5cclxuICAgICAgICAgIE9sw6EgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj57e25vbWVVc3VhcmlvfX0sPC9zcGFuPiBiZW0gdmluZG8gKGEpLlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtNiB0ZXh0LWxnXCI+XHJcbiAgICAgICAgICBFc2NvbGhhIHF1YWwgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj5Xb3Jrc3BhY2U8L3NwYW4+IHZvY8OqIGRlc2VqYVxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj5hY2Vzc2FyPC9zcGFuPjpcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybWdyaWQgcC1mbHVpZCBmaWVsZCBjb2wtMTIgZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIgei01XCI+XHJcbiAgICAgICAgPGRpdiBpZD1cIm1hc3Rlci1jb250YWluZXJcIlxyXG4gICAgICAgICAgY2xhc3M9XCJmaWVsZCBjb2wtNyBmbGV4IGdhcC0yIGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC13cmFwIG1heC1oLTIxcmVtIG92ZXJmbG93LXgtYXV0byB6LTVcIiA+XHJcblxyXG4gICAgICAgICAgPGRpdiBbcFRvb2x0aXBdPVwibWFzdGVyLnJhemFvc29jaWFsXCIgaWQ9XCJtYXN0ZXItY2FyZFwiICpuZ0Zvcj1cImxldCBtYXN0ZXIgb2YgbWFzdGVyc1wiXHJcblxyXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtb3ZlcmZsb3ctZWxsaXBzaXMgb3ZlcmZsb3ctaGlkZGVuIHctMTByZW0gaC0xMHJlbSBmbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB0ZXh0LWNlbnRlciBwLTMgZ2FwLTIgYm9yZGVyLWNhcmRcIj5cclxuICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNVwiIGhlaWdodD1cIjIzXCIgdmlld0JveD1cIjAgMCAyNSAyM1wiIGZpbGw9XCIjMEU0RjgyXCI+XHJcbiAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgIGQ9XCJNMjAgMTUuMzMzM0gxNy41VjE3Ljg4ODlIMjBNMjAgMTAuMjIyMkgxNy41VjEyLjc3NzhIMjBNMjIuNSAyMC40NDQ0SDEyLjVWMTcuODg4OUgxNVYxNS4zMzMzSDEyLjVWMTIuNzc3OEgxNVYxMC4yMjIySDEyLjVWNy42NjY2N0gyMi41TTEwIDUuMTExMTFINy41VjIuNTU1NTZIMTBNMTAgMTAuMjIyMkg3LjVWNy42NjY2N0gxME0xMCAxNS4zMzMzSDcuNVYxMi43Nzc4SDEwTTEwIDIwLjQ0NDRINy41VjE3Ljg4ODlIMTBNNSA1LjExMTExSDIuNVYyLjU1NTU2SDVNNSAxMC4yMjIySDIuNVY3LjY2NjY3SDVNNSAxNS4zMzMzSDIuNVYxMi43Nzc4SDVNNSAyMC40NDQ0SDIuNVYxNy44ODg5SDVNMTIuNSA1LjExMTExVjBIMFYyM0gyNVY1LjExMTExSDEyLjVaXCJcclxuICAgICAgICAgICAgICAgIGZpbGw9XCIjMEU0RjgyXCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1sZyB0ZXh0LWJsdWUtODAwIHRleHQtb3ZlcmZsb3ctZWxsaXBzaXMgb3ZlcmZsb3ctaGlkZGVuIGgtM3JlbSB3LWZ1bGwgdGV4dC1jZW50ZXIgZm9udC1zZW1pYm9sZFwiPlxyXG4gICAgICAgICAgICAgIHt7ICBtYXN0ZXIucmF6YW9zb2NpYWwuc3BsaXQoJyAnKVswXSArICcgJyArIG1hc3Rlci5yYXphb3NvY2lhbC5zcGxpdCgnICcpWzFdIHx8IG1hc3Rlci5yYXphb3NvY2lhbCAgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8a3YtYnV0dG9uLXBlcnNvbmFsaXplIGNvbG9yPVwiYmctYmx1ZS05MDBcIiBsYWJlbD1cIkFjZXNzYXJcIiAob25DbGljayk9XCJzZWxlY2lvbmFyTWFzdGVyKG1hc3RlcilcIiA+PC9rdi1idXR0b24tcGVyc29uYWxpemU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS0gRklNIERPIFdPUktTUEFDRSBERSBDT05UQUJJTElEQURFIChNQVNURVJTKSAtLT5cclxuXHJcbiAgICA8IS0tIElOw41DSU8gRE8gV09SS1NQQUNFIEVNUFJFU0EgLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwibWFzdGVyU2VsZWNpb25hZGEgJiYgIWVtcHJlc2FTZWxlY2lvbmFkYVwiIGNsYXNzPVwiY29sLTEyIHotNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybWdyaWQgcC1mbHVpZCBmaWVsZCBjb2wtMTIgZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIgei01XCI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOCBmbGV4IHhsOmZsZXgtcm93IGZsZXgtY29sdW1uIHAtMCBib3JkZXItY2FyZCBib3JkZXItcm91bmQtMnhsIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHotNVwiPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIHhsOmZsZXgtcm93IHctZnVsbCB4bDp3LTlcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYm9yZGVyLXJvdW5kLWxlZnQtMnhsIGJnLXdoaXRlMSBwLTMgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZm9udC1zZW1pYm9sZCBtLTAgeGw6dy00IHctZnVsbCB6LTVcIj5cclxuICAgICAgICAgICAgICBXb3Jrc3BhY2VcclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FwLTIgcC0zIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIG0tMCB4bDp3LTcgc206dy1mdWxsXCJcclxuICAgICAgICAgICAgICBbcFRvb2x0aXBdPVwibWFzdGVyU2VsZWNpb25hZGEucmF6YW9zb2NpYWxcIj5cclxuICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI1XCIgaGVpZ2h0PVwiMjNcIiB2aWV3Qm94PVwiMCAwIDI1IDIzXCIgZmlsbD1cIiMwRTRGODJcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgIGQ9XCJNMjAgMTUuMzMzM0gxNy41VjE3Ljg4ODlIMjBNMjAgMTAuMjIyMkgxNy41VjEyLjc3NzhIMjBNMjIuNSAyMC40NDQ0SDEyLjVWMTcuODg4OUgxNVYxNS4zMzMzSDEyLjVWMTIuNzc3OEgxNVYxMC4yMjIySDEyLjVWNy42NjY2N0gyMi41TTEwIDUuMTExMTFINy41VjIuNTU1NTZIMTBNMTAgMTAuMjIyMkg3LjVWNy42NjY2N0gxME0xMCAxNS4zMzMzSDcuNVYxMi43Nzc4SDEwTTEwIDIwLjQ0NDRINy41VjE3Ljg4ODlIMTBNNSA1LjExMTExSDIuNVYyLjU1NTU2SDVNNSAxMC4yMjIySDIuNVY3LjY2NjY3SDVNNSAxNS4zMzMzSDIuNVYxMi43Nzc4SDVNNSAyMC40NDQ0SDIuNVYxNy44ODg5SDVNMTIuNSA1LjExMTExVjBIMFYyM0gyNVY1LjExMTExSDEyLjVaXCJcclxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwRTRGODJcIiAvPlxyXG4gICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInctZnVsbCB3aGl0ZS1zcGFjZS1ub3dyYXAgb3ZlcmZsb3ctaGlkZGVuIHRleHQtb3ZlcmZsb3ctZWxsaXBzaXNcIj57e21hc3RlclNlbGVjaW9uYWRhLnJhemFvc29jaWFsfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJnLXdoaXRlMiBib3JkZXItcm91bmQtcmlnaHQtMnhsIHAtMyBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBjdXJzb3ItcG9pbnRlciBtLTAgeGw6dy0xIHctZnVsbFwiKGNsaWNrKT1cInZvbHRhcigpXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktYXJyb3ctbGVmdFwiPjwvaT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm1ncmlkIHAtZmx1aWQgZmllbGQgY29sLTEyIGZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZm9ybWdyaWQgY29sLTEwIG1kOmNvbC03IG1kOmNvbC02IHAtZmx1aWQgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWVsZCBwLTAgY29sLTEyIHhsOmNvbC02IGZvbnQtc2VtaWJvbGQgXCI+U2VsZWNpb25lIGEgZW1wcmVzYTwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIHAtMCBjb2wtMTIgeGw6Y29sLTZcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtaW5wdXQtaWNvbi1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLXNlYXJjaFwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHBJbnB1dFRleHQgKG5nTW9kZWxDaGFuZ2UpPVwiZmlsdHJhckVtcHJlc2EoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwidHh0UGVzcXVpc2FcIiAvPlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGlkPVwibWFzdGVyLWNvbnRhaW5lclwiIGNsYXNzPVwiZmllbGQgIG10LTMgcmVsYXRpdmUgei01IGNvbC0xMCBtZDpjb2wtNyAgZmxleCBnYXAtMiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtd3JhcCBtYXgtaC0xNXJlbSBvdmVyZmxvdy14LWF1dG9cIiA+XHJcblxyXG4gICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImdyaWQgZm9ybWdyaWQgY29sLTEyIHAtZmx1aWQgYm9yZGVyLWJvdHRvbS0xIGJvcmRlci0zMDBcIiAqbmdGb3I9XCJsZXQgZW1wcmVzYSBvZiBlbXByZXNhc1wiID5cclxuICAgICAgICAgICAgICA8c3BhbiBbcFRvb2x0aXBdPVwiZW1wcmVzYS5ub21lZW1wcmVzYSB8fCBlbXByZXNhLm5vbWVmYW50YXNpYVwiIGNsYXNzPVwiZmllbGQgbWQ6Y29sLTEwIGNvbC0xMiAgZmxleCBnYXAtMVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWJhc2Ugd2hpdGUtc3BhY2Utbm93cmFwIG92ZXJmbG93LWhpZGRlbiB0ZXh0LW92ZXJmbG93LWVsbGlwc2lzXCI+e3tlbXByZXNhLm5vbWVlbXByZXNhIHx8IGVtcHJlc2Eubm9tZWZhbnRhc2lhIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIG1kOmNvbC0yICBjb2wtMTIgYmctYmx1ZS05MDAgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBweS0yIHB4LTIgY29sIGJvcmRlci1yb3VuZC1tZCBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzZWxlY2lvbmFyRW1wcmVzYShlbXByZXNhKVwiPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1hbmdsZS1yaWdodCB0ZXh0LXhsIHRleHQtd2hpdGVcIj48L2k+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIEZJTSBETyBXT1JLU1BBQ0UgRU1QUkVTQSAtLT5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiIGxnOmJsb2NrIGhpZGRlbiB3LWZ1bGwgY29sLTEyIGdyaWQgZm9ybWdyaWQgcG9pbnRlci1ldmVudHMtbm9uZVx0XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgIGZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiIGlkPVwicGVyc29uYWdlbnMtaW1hZ2VtXCI+PGltZyBbc3JjXT1cImltZ1BlcnNvbmFnZW5zXCIgY2xhc3M9XCJmaWVsZCB3LWZ1bGwgY29sLTEyXCIgYWx0PVwiXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8aW1nIFtzcmNdPVwiaW1nTG9nb0tlZXZvXCIgY2xhc3M9XCJ3LTlyZW0gbXQtNlwiIC8+XHJcbjwvZGl2PlxyXG4iXX0=
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi93b3Jrc3BhY2Uvd29ya3NwYWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi93b3Jrc3BhY2Uvd29ya3NwYWNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBU2pFLE1BQU0sT0FBTyxrQkFBa0I7SUFpQzdCO1FBaENTLGdCQUFXLEdBQVcsaUJBQWlCLENBQUM7UUFDeEMsZ0JBQVcsR0FBVyx3QkFBd0IsQ0FBQztRQUUvQyxrQkFBYSxHQUFZLEtBQUssQ0FBQyxDQUFDLHlDQUF5QztRQUV4RSwyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2pELDRCQUF1QixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFNNUQsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUt4QixvQkFBZSxHQUFXLENBQUMsQ0FBQztRQUU1QixxQkFBZ0IsR0FBUSxFQUFFLENBQUM7UUFJM0IscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBRTdCLHNCQUFpQixHQUFRLEVBQUUsQ0FBQztJQUViLENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEdB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QixTQUFTOytCQUNFLGNBQWM7MEVBS2YsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEltYWdlbnNTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL3NlcnZpY2VzL2ltYWdlbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IFRhYmxlQ29uZmlnQ29sdW1uIH0gZnJvbSAnLi4vYXBpL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29uZmlnLmNvbHVtbic7XHJcbmltcG9ydCB7IFRhYmxlQ29uZmlnIH0gZnJvbSAnLi4vYXBpL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29uZmlnJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3Ytd29ya3NwYWNlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vd29ya3NwYWNlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93b3Jrc3BhY2UuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFdvcmtzcGFjZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbm9tZVNpc3RlbWE6IHN0cmluZyA9ICdOb21lIGRvIFNpc3RlbWEnO1xyXG4gIEBJbnB1dCgpIG5vbWVVc3VhcmlvOiBzdHJpbmcgPSAnTm9tZSBkbyBVc3XDoXJpbyBMb2dhZG8nO1xyXG4gIEBJbnB1dCgpIG1hc3RlcnMhOiBhbnlbXTsgLy8gTGlzdGEgZGFzIGNvbnRhYmlsaWRhZGVzIGUgc3VhcyByZXNwZWN0aXZhcyBlbXByZXNhc1xyXG4gIEBJbnB1dCgpIHNvbWVudGVNYXN0ZXI6IGJvb2xlYW4gPSBmYWxzZTsgLy8gU2UgZm9yIGFwZW5hcyBzZWxlw6fDo28gZGUgY29udGFiaWxpZGFkZVxyXG5cclxuICBAT3V0cHV0KCkgb25HZXRNYXN0ZXJTZWxlY2lvbmFkYSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBvbkdldEVtcHJlc2FTZWxlY2lvbmFkYSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBlbXByZXNhcyE6IGFueVtdO1xyXG4gIG1hc3RlclNlbGVjaW9uYWRhITogYW55O1xyXG4gIGVtcHJlc2FTZWxlY2lvbmFkYSE6IGFueTtcclxuXHJcbiAgdmlzaXZlbCA9IHRydWU7XHJcbiAgdHh0UGVzcXVpc2EgPSAnJztcclxuICBpbWdQZXJzb25hZ2VucyA9ICcnO1xyXG4gIGltZ0xvZ29LZWV2byA9ICcnO1xyXG4gIHN0eWxlQmFja2dyb3VuZCA9ICcnO1xyXG4gIGltZ0xvZ29LZWV2b0NlbnRlciA9ICcnO1xyXG5cclxuICAvL1RhYmVsYSBNYXN0ZXJcclxuICBzZWxlY3RlZEl0ZW1NYXN0ZXI6IGFueTtcclxuICBzZWxlY3RlZEl0ZW1zTG90ZU1hc3RlcjogYW55O1xyXG4gIHRhYmxlU2l6ZU1hc3RlcjogbnVtYmVyID0gNTtcclxuICB0YWJsZUNvbmZpZ01hc3RlciE6IFRhYmxlQ29uZmlnO1xyXG4gIGRhdGFTb3VyY2VNYXN0ZXI6IGFueSA9IFtdO1xyXG4gIC8vVGFiZWxhICBFbXByZXNhXHJcbiAgc2VsZWN0ZWRJdGVtRW1wcmVzYTogYW55O1xyXG4gIHNlbGVjdGVkSXRlbXNMb3RlRW1wcmVzYTogYW55O1xyXG4gIHRhYmxlU2l6ZUVtcHJlc2E6IG51bWJlciA9IDU7XHJcbiAgdGFibGVDb25maWdFbXByZXNhITogVGFibGVDb25maWc7XHJcbiAgZGF0YVNvdXJjZUVtcHJlc2E6IGFueSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbWdQZXJzb25hZ2VucyA9IEltYWdlbnNTZXJ2aWNlLmdldFBlcnNvbmFnZW5zV29ya1NwYWNlKCk7XHJcbiAgICB0aGlzLmltZ0xvZ29LZWV2byA9IEltYWdlbnNTZXJ2aWNlLmdldExvZ29LZWV2bygpO1xyXG4gICAgdGhpcy5pbWdMb2dvS2Vldm9DZW50ZXIgPSBJbWFnZW5zU2VydmljZS5nZXRMb2dvS2Vldm9DZW50ZXIoKTtcclxuICAgIHRoaXMuc3R5bGVCYWNrZ3JvdW5kID1cclxuICAgICAgJ2JhY2tncm91bmQtaW1hZ2U6IHVybCgnICsgSW1hZ2Vuc1NlcnZpY2UuZ2V0QmFja2dyb3VuZFdvcmtTcGFjZSgpICsgJyk7JztcclxuICAgIHRoaXMuY29sdW1uQ29uZmlnVGFibGVNYXN0ZXIoKTtcclxuICAgIHRoaXMudmVyaWZpY2FNYXN0ZXJVbmljYSgpO1xyXG4gIH1cclxuXHJcbiAgdmVyaWZpY2FNYXN0ZXJVbmljYSgpIHtcclxuICAgIGlmICh0aGlzLm1hc3RlcnMubGVuZ3RoID09IDEpIHRoaXMuc2VsZWNpb25hck1hc3Rlcih0aGlzLm1hc3RlcnNbMF0pO1xyXG4gIH1cclxuXHJcbiAgc2VsZWNpb25hck1hc3RlcihtYXN0ZXI6IGFueSkge1xyXG4gICAgdGhpcy5vbkdldE1hc3RlclNlbGVjaW9uYWRhLmVtaXQobWFzdGVyKTtcclxuICAgIHRoaXMubWFzdGVyU2VsZWNpb25hZGEgPSBtYXN0ZXI7XHJcblxyXG4gICAgaWYgKHRoaXMuc29tZW50ZU1hc3RlcikgdGhpcy52aXNpdmVsID0gZmFsc2U7XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5lbXByZXNhcyA9IG1hc3Rlci5lbXByZXNhcztcclxuICAgICAgdGhpcy5jb2x1bW5Db25maWdUYWJsZUVtcHJlc2EoKTtcclxuICAgICAgdGhpcy52ZXJpZmljYUVtcHJlc2FVbmljYSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmVyaWZpY2FFbXByZXNhVW5pY2EoKSB7XHJcbiAgICBpZiAodGhpcy5lbXByZXNhcyAmJiB0aGlzLmVtcHJlc2FzLmxlbmd0aCA9PSAxKVxyXG4gICAgICB0aGlzLnNlbGVjaW9uYXJFbXByZXNhKHRoaXMuZW1wcmVzYXNbMF0pO1xyXG4gIH1cclxuXHJcbiAgc2VsZWNpb25hckVtcHJlc2EoZW1wcmVzYTogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhlbXByZXNhLCAnc2VsZWNpb25hckVtcHJlc2EnKTtcclxuICAgIHRoaXMub25HZXRFbXByZXNhU2VsZWNpb25hZGEuZW1pdChlbXByZXNhKTtcclxuICAgIHRoaXMuZW1wcmVzYVNlbGVjaW9uYWRhID0gZW1wcmVzYTtcclxuICAgIHRoaXMudmlzaXZlbCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgdm9sdGFyKCkge1xyXG4gICAgdGhpcy5lbXByZXNhU2VsZWNpb25hZGEgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLm1hc3RlclNlbGVjaW9uYWRhID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZmlsdHJhckVtcHJlc2EoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5lbXByZXNhcyA9IHRoaXMubWFzdGVyU2VsZWNpb25hZGEuZW1wcmVzYXMuZmlsdGVyKChlOiBhbnkpID0+XHJcbiAgICAgIGUubm9tZWVtcHJlc2EudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhldmVudC50b0xvd2VyQ2FzZSgpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8vLS0tLS0tLS0tLS0tLS0tLS0tTUFTVEVSLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4gIGNvbHVtbkNvbmZpZ1RhYmxlTWFzdGVyKCkge1xyXG4gICAgdGhpcy5kYXRhU291cmNlTWFzdGVyID0gdGhpcy5tYXN0ZXJzO1xyXG4gICAgdGhpcy50YWJsZUNvbmZpZ01hc3RlciA9IHtcclxuICAgICAgbGF6eTogZmFsc2UsXHJcbiAgICAgIGNvbHVtbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogMCxcclxuICAgICAgICAgIGZpZWxkOiAnaWRtYXN0ZXInLFxyXG4gICAgICAgICAgaGVhZGVyOiAnTGljZW7Dp2EnLFxyXG4gICAgICAgICAgd2lkdGg6ICcnLFxyXG4gICAgICAgICAgY2VudHJhbGl6ZTogZmFsc2UsXHJcbiAgICAgICAgICBzb3J0YWJsZTogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogMSxcclxuICAgICAgICAgIGZpZWxkOiAncmF6YW9zb2NpYWwnLFxyXG4gICAgICAgICAgaGVhZGVyOiAnJyxcclxuICAgICAgICAgIHdpZHRoOiAnODAlJyxcclxuICAgICAgICAgIGNlbnRyYWxpemU6IGZhbHNlLFxyXG4gICAgICAgICAgc29ydGFibGU6IGZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIGFjdGlvbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsYWJlbDogJ0FjZXNzYXInLFxyXG4gICAgICAgICAgaWNvbjogJ2xvZ2luJyxcclxuICAgICAgICAgIHRvb2x0aXA6ICdBY2Vzc2FyIE1hc3RlcicsXHJcbiAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWNpb25hck1hc3Rlcih0aGlzLnNlbGVjdGVkSXRlbU1hc3Rlcik7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGlzYWJsZWQ6ICgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBhY3Rpb25zTG90ZTogW10sXHJcbiAgICAgIGVuYWJsZUNhdGlvbjogZmFsc2UsXHJcbiAgICAgIGVuYWJsZUZpbHRlcjogZmFsc2UsXHJcbiAgICAgIGVuYWJsZVNlbGVjdDogZmFsc2UsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgYWN0aXZlSXRlbU1hc3RlcihlOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtTWFzdGVyID0gZTtcclxuICAgIGNvbnNvbGUubG9nKCdhY3RpdmVJdGVtTWFzdGVyJywgdGhpcy5zZWxlY3RlZEl0ZW1NYXN0ZXIpO1xyXG4gIH1cclxuXHJcbiAgZG91YmxlQ2xpY2tNYXN0ZXIoZTogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZygnZG91YmxlQ2xpY2tNYXN0ZXInKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtTWFzdGVyID0gZS5yb3dEYXRhO1xyXG4gICAgdGhpcy5zZWxlY2lvbmFyTWFzdGVyKGUucm93RGF0YSk7XHJcbiAgfVxyXG5cclxuICAvLy0tLS0tLS0tLS0tLS0tLS0tLUVtcHJlc2EtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgY29sdW1uQ29uZmlnVGFibGVFbXByZXNhKCkge1xyXG4gICAgdGhpcy5kYXRhU291cmNlRW1wcmVzYSA9IHRoaXMuZW1wcmVzYXM7XHJcbiAgICB0aGlzLnRhYmxlQ29uZmlnRW1wcmVzYSA9IHtcclxuICAgICAgbGF6eTogZmFsc2UsXHJcbiAgICAgIGNvbHVtbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogMCxcclxuICAgICAgICAgIGZpZWxkOiAnY25wamVtcHJlc2EnLFxyXG4gICAgICAgICAgaGVhZGVyOiAnRW1wcmVzYScsXHJcbiAgICAgICAgICB3aWR0aDogJycsXHJcbiAgICAgICAgICBjZW50cmFsaXplOiBmYWxzZSxcclxuICAgICAgICAgIHNvcnRhYmxlOiBmYWxzZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiAxLFxyXG4gICAgICAgICAgZmllbGQ6ICdub21lZW1wcmVzYScsXHJcbiAgICAgICAgICBoZWFkZXI6ICcnLFxyXG4gICAgICAgICAgd2lkdGg6ICc4MCUnLFxyXG4gICAgICAgICAgY2VudHJhbGl6ZTogZmFsc2UsXHJcbiAgICAgICAgICBzb3J0YWJsZTogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgYWN0aW9uczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGxhYmVsOiAnQWNlc3NhcicsXHJcbiAgICAgICAgICBpY29uOiAnbG9naW4nLFxyXG4gICAgICAgICAgdG9vbHRpcDogJ0FjZXNzYXIgRW1wcmVzYScsXHJcbiAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWNpb25hckVtcHJlc2EodGhpcy5zZWxlY3RlZEl0ZW1FbXByZXNhKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgYWN0aW9uc0xvdGU6IFtdLFxyXG4gICAgICBlbmFibGVDYXRpb246IHRydWUsXHJcbiAgICAgIGVuYWJsZUZpbHRlcjogdHJ1ZSxcclxuICAgICAgZW5hYmxlU2VsZWN0OiBmYWxzZSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBhY3RpdmVJdGVtRW1wcmVzYShlOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKGUsICdhY3RpdmVJdGVtRW1wcmVzYScpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1FbXByZXNhID0gZTtcclxuICB9XHJcblxyXG4gIGRvdWJsZUNsaWNrRW1wcmVzYShlOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtRW1wcmVzYSA9IGUucm93RGF0YTtcclxuICAgIHRoaXMuc2VsZWNpb25hckVtcHJlc2EoZS5yb3dEYXRhKTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuc2VsZWN0ZWRJdGVtRW1wcmVzYSwgJ2RvdWJsZUNsaWNrRW1wcmVzYScpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgKm5nSWY9XCJ2aXNpdmVsXCJcclxuICBbc3R5bGVdPVwic3R5bGVCYWNrZ3JvdW5kXCJcclxuICBjbGFzcz1cImgtc2NyZWVuIGZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgbG9naW4tY29udGFpbmVyIGZsZXgtY29sdW1uXCJcclxuPlxyXG4gIDxkaXZcclxuICAgIGlkPVwiY2FyZC1jb250YWluZXJcIlxyXG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1hcm91bmQgY2FyZC1sb2dpbiBmb3JtZ3JpZCBwLWZsdWlkIGNvbC0xMiB3LTEwIGxnOnctN1wiXHJcbiAgICBzdHlsZT1cIm1pbi13aWR0aDogNzUwcHhcIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG1iLTFcIj5cclxuICAgICAgPGltZyBbc3JjXT1cImltZ0xvZ29LZWV2b0NlbnRlclwiIHN0eWxlPVwid2lkdGg6IDIwMHB4XCIgLz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgYWxpZ24taXRlbXMtY2VudGVyIHotNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTlcIj5cclxuICAgICAgICBPbMOhLCA8Yj57eyBub21lVXN1YXJpbyB9fS48L2I+IEJlbSB2aW5kbyhhKSFcclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxiIGNsYXNzPVwiZmllbGQgY29sLTkgZmxleFwiPlxyXG4gICAgICAgIEVzY29saGEgcXVhbCB3b3Jrc3BhY2Ugdm9jw6ogZGVzZWphIGFjZXNzYXI6PC9iPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSBJTsONQ0lPIERPIFdPUktTUEFDRSBERSBDT05UQUJJTElEQURFIChNQVNURVJTKSAtLT5cclxuICAgIDxkaXYgKm5nSWY9XCIhbWFzdGVyU2VsZWNpb25hZGFcIiBjbGFzcz1cImNvbC0xMiB6LTVcIj5cclxuICAgICAgXHJcbiAgICAgICAgPGt2LXRhYmxlXHJcbiAgICAgICAgICBbdGFibGVTaXplXT1cInRhYmxlU2l6ZU1hc3RlclwiXHJcbiAgICAgICAgICBbcm93c109XCI1XCJcclxuICAgICAgICAgIFtjb25maWddPVwidGFibGVDb25maWdNYXN0ZXJcIlxyXG4gICAgICAgICAgW3BhZ2luYXRvcl09XCJmYWxzZVwiXHJcbiAgICAgICAgICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlTWFzdGVyXCJcclxuICAgICAgICAgIFtyb3dzUGVyUGFnZU9wdGlvbnNdPVwiWzUsIDEwLCAyNSwgNTAsIDEwMCwgMjAwXVwiXHJcbiAgICAgICAgICBbYWNvZXNMaW5oYVRhYmVsYV09XCJ0cnVlXCJcclxuICAgICAgICAgIChkb3VibGVDbGlja0V2ZW50KT1cImRvdWJsZUNsaWNrTWFzdGVyKCRldmVudClcIlxyXG4gICAgICAgICAgKG9uQWN0aXZlSXRlbSk9XCJhY3RpdmVJdGVtTWFzdGVyKCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2t2LXRhYmxlPlxyXG4gICAgIFxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIEZJTSBETyBXT1JLU1BBQ0UgREUgQ09OVEFCSUxJREFERSAoTUFTVEVSUykgLS0+XHJcblxyXG4gICAgPCEtLSBJTsONQ0lPIERPIFdPUktTUEFDRSBFTVBSRVNBIC0tPlxyXG4gICAgPGRpdiAqbmdJZj1cIm1hc3RlclNlbGVjaW9uYWRhICYmICFlbXByZXNhU2VsZWNpb25hZGFcIiBjbGFzcz1cImNvbC0xMiB6LTVcIj5cclxuICAgICAgPGt2LXRhYmxlXHJcbiAgICAgICAgW3RhYmxlU2l6ZV09XCJ0YWJsZVNpemVFbXByZXNhXCJcclxuICAgICAgICBbcm93c109XCI1XCJcclxuICAgICAgICBbY29uZmlnXT1cInRhYmxlQ29uZmlnRW1wcmVzYVwiXHJcbiAgICAgICAgW3BhZ2luYXRvcl09XCJmYWxzZVwiXHJcbiAgICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZUVtcHJlc2FcIlxyXG4gICAgICAgIFtyb3dzUGVyUGFnZU9wdGlvbnNdPVwiWzUsIDEwLCAyNSwgNTAsIDEwMCwgMjAwXVwiXHJcbiAgICAgICAgW2Fjb2VzTGluaGFUYWJlbGFdPVwidHJ1ZVwiXHJcbiAgICAgICAgKGRvdWJsZUNsaWNrRXZlbnQpPVwiZG91YmxlQ2xpY2tFbXByZXNhKCRldmVudClcIlxyXG4gICAgICAgIChvbkFjdGl2ZUl0ZW0pPVwiYWN0aXZlSXRlbUVtcHJlc2EoJGV2ZW50KVwiXHJcbiAgICAgID5cclxuICAgICAgPC9rdi10YWJsZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSBGSU0gRE8gV09SS1NQQUNFIEVNUFJFU0EgLS0+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=