@stiunb/unb-lib-components 18.0.25 → 18.0.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/esm2022/lib/services/unb-auth.service.mjs +4 -4
  2. package/esm2022/lib/unb-mensagem/unb-mensagem.component.mjs +4 -4
  3. package/esm2022/lib/unb-mensagem/unb-mensagem.module.mjs +5 -5
  4. package/esm2022/lib/unb-mensagem/unb-mensagem.service.mjs +4 -4
  5. package/esm2022/lib/unb-nav-bar/unb-nav-bar.component.mjs +4 -4
  6. package/esm2022/lib/unb-nav-bar/unb-nav-bar.module.mjs +5 -5
  7. package/esm2022/lib/unb-pessoa/unb-pessoa-email-form/unb-pessoa-email-form.mjs +4 -4
  8. package/esm2022/lib/unb-pessoa/unb-pessoa-email-form/unb-pessoa-email-list.mjs +4 -4
  9. package/esm2022/lib/unb-pessoa/unb-pessoa-endereco-form/unb-pessoa-endereco-form.mjs +11 -6
  10. package/esm2022/lib/unb-pessoa/unb-pessoa-endereco-form/unb-pessoa-endereco-list.mjs +4 -4
  11. package/esm2022/lib/unb-pessoa/unb-pessoa-form/unb-pessoa-form.component.mjs +27 -21
  12. package/esm2022/lib/unb-pessoa/unb-pessoa-models/unb-pessoa.model.mjs +1 -1
  13. package/esm2022/lib/unb-pessoa/unb-pessoa-pesquisar/unb-pessoa-pesquisar.component.mjs +86 -66
  14. package/esm2022/lib/unb-pessoa/unb-pessoa-telefone-form/unb-pessoa-telefone-form.mjs +4 -4
  15. package/esm2022/lib/unb-pessoa/unb-pessoa-telefone-form/unb-pessoa-telefone-list.mjs +4 -4
  16. package/esm2022/lib/unb-pessoa/unb-pessoa.module.mjs +5 -5
  17. package/esm2022/lib/unb-pessoa/unb-pessoa.service.mjs +72 -10
  18. package/esm2022/lib/unb-pessoa/unb-tipo-pessoa.enum.mjs +7 -7
  19. package/esm2022/lib/unb-usuario/oidc-decoded-token.mjs +1 -1
  20. package/esm2022/lib/unb-usuario/oidc-user-data.mjs +1 -1
  21. package/esm2022/lib/unb-usuario/unb-usuario.component.mjs +4 -4
  22. package/esm2022/lib/unb-usuario/unb-usuario.module.mjs +5 -5
  23. package/fesm2022/stiunb-unb-lib-components.mjs +241 -149
  24. package/fesm2022/stiunb-unb-lib-components.mjs.map +1 -1
  25. package/lib/unb-pessoa/unb-pessoa-endereco-form/unb-pessoa-endereco-form.d.ts +5 -4
  26. package/lib/unb-pessoa/unb-pessoa-form/unb-pessoa-form.component.d.ts +8 -5
  27. package/lib/unb-pessoa/unb-pessoa-models/unb-pessoa.model.d.ts +2 -2
  28. package/lib/unb-pessoa/unb-pessoa-pesquisar/unb-pessoa-pesquisar.component.d.ts +16 -7
  29. package/lib/unb-pessoa/unb-pessoa.service.d.ts +9 -6
  30. package/lib/unb-pessoa/unb-tipo-pessoa.enum.d.ts +4 -4
  31. package/package.json +1 -1
@@ -171,14 +171,14 @@ export class UnbPessoaTelefoneFormComponent {
171
171
  duration: 5000,
172
172
  });
173
173
  }
174
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaTelefoneFormComponent, deps: [{ token: i1.MatSnackBar }, { token: i2.UnBPessoaService }, { token: i3.UnbMensagemService }, { token: i4.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
175
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: UnbPessoaTelefoneFormComponent, selector: "lib-unb-pessoa-telefone-form", ngImport: i0, template: "<h1 mat-dialog-title>Cadastro de Telefone</h1>\r\n<form (ngSubmit)=\"salvar(form)\" #form=\"ngForm\">\r\n <mat-dialog-content>\r\n <unb-mensagem [identificador]=\"idMensagemService\"></unb-mensagem>\r\n <div class=\"form-container\">\r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>Tipo</mat-label>\r\n <mat-select [(ngModel)]=\"telefone.tipoTelefoneCodigo\" [compareWith]=\"compararTipos\" name=\"tipoTelefoneCodigo\" (selectionChange)=\"onTipoSelecionado($event.value)\" required>\r\n <mat-option *ngFor=\"let tipo of listaTipoTelefone\" [value]=\"tipo.codigo\">\r\n {{tipo.denominacao}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>DDD</mat-label>\r\n <input type=\"text\" maxlength=\"3\" required matInput [(ngModel)]=\"telefone.ddd\" name=\"dddValue\" #dddValue=\"ngModel\" />\r\n </mat-form-field> \r\n \r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>N\u00FAmero</mat-label>\r\n <input type=\"text\" required maxlength=\"9\" matInput [(ngModel)]=\"telefone.numero\" name=\"telefoneValue\" #telefoneValue=\"ngModel\" />\r\n </mat-form-field>\r\n </div>\r\n </mat-dialog-content>\r\n\r\n <mat-dialog-actions align=\"end\">\r\n <button mat-stroked-button type=\"button\" color=\"warn\" (click)=\"close()\">Fechar</button>\r\n <button mat-flat-button type=\"submit\" color=\"primary\">Salvar</button>\r\n </mat-dialog-actions>\r\n</form>", styles: [".card-actions-buttons{display:flex;gap:5px;flex-wrap:wrap}.form-container{display:flex;flex-wrap:wrap;column-gap:10px;margin:10px}@media (max-width: 1000px){.form-container{flex-direction:column;gap:5px}}.break{flex-basis:100%;height:0}.form-5{flex:1 1 5%}.inline-table-container{display:flex;align-items:center;justify-content:space-between;padding:5px}@media (max-width: 600px){.form-5,.form-10,.form-15{flex:1 1 100%}}.form-10{flex:1 1 10%}.form-15{flex:1 1 15%}.form-20{flex:1 1 20%}.form-25{flex:1 1 25%}.form-30{flex:1 1 30%}.form-35{flex:1 1 35%}.form-40{flex:1 1 40%}.form-45{flex:1 1 45%}.form-50{flex:1 1 50%}.form-100{flex:1 1 100%;min-width:250px}.botoes-container{display:flex;gap:5px}@media (max-width: 600px){.botoes-container{margin-bottom:10px}.botoes-container button{flex:1;max-width:50%}}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.UnbMensagemComponent, selector: "unb-mensagem", inputs: ["mensagem", "tipo", "identificador"] }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatLabel, selector: "mat-label" }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i11.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i12.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }] }); }
174
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UnbPessoaTelefoneFormComponent, deps: [{ token: i1.MatSnackBar }, { token: i2.UnBPessoaService }, { token: i3.UnbMensagemService }, { token: i4.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
175
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: UnbPessoaTelefoneFormComponent, selector: "lib-unb-pessoa-telefone-form", ngImport: i0, template: "<h1 mat-dialog-title>Cadastro de Telefone</h1>\r\n<form (ngSubmit)=\"salvar(form)\" #form=\"ngForm\">\r\n <mat-dialog-content>\r\n <unb-mensagem [identificador]=\"idMensagemService\"></unb-mensagem>\r\n <div class=\"form-container\">\r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>Tipo</mat-label>\r\n <mat-select [(ngModel)]=\"telefone.tipoTelefoneCodigo\" [compareWith]=\"compararTipos\" name=\"tipoTelefoneCodigo\" (selectionChange)=\"onTipoSelecionado($event.value)\" required>\r\n <mat-option *ngFor=\"let tipo of listaTipoTelefone\" [value]=\"tipo.codigo\">\r\n {{tipo.denominacao}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>DDD</mat-label>\r\n <input type=\"text\" maxlength=\"3\" required matInput [(ngModel)]=\"telefone.ddd\" name=\"dddValue\" #dddValue=\"ngModel\" />\r\n </mat-form-field> \r\n \r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>N\u00FAmero</mat-label>\r\n <input type=\"text\" required maxlength=\"9\" matInput [(ngModel)]=\"telefone.numero\" name=\"telefoneValue\" #telefoneValue=\"ngModel\" />\r\n </mat-form-field>\r\n </div>\r\n </mat-dialog-content>\r\n\r\n <mat-dialog-actions align=\"end\">\r\n <button mat-stroked-button type=\"button\" color=\"warn\" (click)=\"close()\">Fechar</button>\r\n <button mat-flat-button type=\"submit\" color=\"primary\">Salvar</button>\r\n </mat-dialog-actions>\r\n</form>", styles: [".card-actions-buttons{display:flex;gap:5px;flex-wrap:wrap}.form-container{display:flex;flex-wrap:wrap;column-gap:10px;margin:10px}@media (max-width: 1000px){.form-container{flex-direction:column;gap:5px}}.break{flex-basis:100%;height:0}.form-5{flex:1 1 5%}.inline-table-container{display:flex;align-items:center;justify-content:space-between;padding:5px}@media (max-width: 600px){.form-5,.form-10,.form-15{flex:1 1 100%}}.form-10{flex:1 1 10%}.form-15{flex:1 1 15%}.form-20{flex:1 1 20%}.form-25{flex:1 1 25%}.form-30{flex:1 1 30%}.form-35{flex:1 1 35%}.form-40{flex:1 1 40%}.form-45{flex:1 1 45%}.form-50{flex:1 1 50%}.form-100{flex:1 1 100%;min-width:250px}.botoes-container{display:flex;gap:5px}@media (max-width: 600px){.botoes-container{margin-bottom:10px}.botoes-container button{flex:1;max-width:50%}}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.UnbMensagemComponent, selector: "unb-mensagem", inputs: ["mensagem", "tipo", "identificador"] }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatLabel, selector: "mat-label" }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i11.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i12.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }] }); }
176
176
  }
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaTelefoneFormComponent, decorators: [{
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UnbPessoaTelefoneFormComponent, decorators: [{
178
178
  type: Component,
179
179
  args: [{ standalone: false, selector: 'lib-unb-pessoa-telefone-form', template: "<h1 mat-dialog-title>Cadastro de Telefone</h1>\r\n<form (ngSubmit)=\"salvar(form)\" #form=\"ngForm\">\r\n <mat-dialog-content>\r\n <unb-mensagem [identificador]=\"idMensagemService\"></unb-mensagem>\r\n <div class=\"form-container\">\r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>Tipo</mat-label>\r\n <mat-select [(ngModel)]=\"telefone.tipoTelefoneCodigo\" [compareWith]=\"compararTipos\" name=\"tipoTelefoneCodigo\" (selectionChange)=\"onTipoSelecionado($event.value)\" required>\r\n <mat-option *ngFor=\"let tipo of listaTipoTelefone\" [value]=\"tipo.codigo\">\r\n {{tipo.denominacao}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>DDD</mat-label>\r\n <input type=\"text\" maxlength=\"3\" required matInput [(ngModel)]=\"telefone.ddd\" name=\"dddValue\" #dddValue=\"ngModel\" />\r\n </mat-form-field> \r\n \r\n <mat-form-field class=\"form-100\" appearance=\"outline\">\r\n <mat-label>N\u00FAmero</mat-label>\r\n <input type=\"text\" required maxlength=\"9\" matInput [(ngModel)]=\"telefone.numero\" name=\"telefoneValue\" #telefoneValue=\"ngModel\" />\r\n </mat-form-field>\r\n </div>\r\n </mat-dialog-content>\r\n\r\n <mat-dialog-actions align=\"end\">\r\n <button mat-stroked-button type=\"button\" color=\"warn\" (click)=\"close()\">Fechar</button>\r\n <button mat-flat-button type=\"submit\" color=\"primary\">Salvar</button>\r\n </mat-dialog-actions>\r\n</form>", styles: [".card-actions-buttons{display:flex;gap:5px;flex-wrap:wrap}.form-container{display:flex;flex-wrap:wrap;column-gap:10px;margin:10px}@media (max-width: 1000px){.form-container{flex-direction:column;gap:5px}}.break{flex-basis:100%;height:0}.form-5{flex:1 1 5%}.inline-table-container{display:flex;align-items:center;justify-content:space-between;padding:5px}@media (max-width: 600px){.form-5,.form-10,.form-15{flex:1 1 100%}}.form-10{flex:1 1 10%}.form-15{flex:1 1 15%}.form-20{flex:1 1 20%}.form-25{flex:1 1 25%}.form-30{flex:1 1 30%}.form-35{flex:1 1 35%}.form-40{flex:1 1 40%}.form-45{flex:1 1 45%}.form-50{flex:1 1 50%}.form-100{flex:1 1 100%;min-width:250px}.botoes-container{display:flex;gap:5px}@media (max-width: 600px){.botoes-container{margin-bottom:10px}.botoes-container button{flex:1;max-width:50%}}\n"] }]
180
180
  }], ctorParameters: () => [{ type: i1.MatSnackBar }, { type: i2.UnBPessoaService }, { type: i3.UnbMensagemService }, { type: i4.MatDialogRef }, { type: undefined, decorators: [{
181
181
  type: Inject,
182
182
  args: [MAT_DIALOG_DATA]
183
183
  }] }] });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUQsT0FBTyxFQUFFLGlCQUFpQixFQUF5QixNQUFNLGdEQUFnRCxDQUFDO0FBRTFHLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUFzQixtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7Ozs7Ozs7OztBQVFsRyxNQUFNLE9BQU8sOEJBQThCO0lBT3pDLFlBQW9CLFFBQXFCLEVBQVUsT0FBeUIsRUFBVSxZQUFnQyxFQUFTLFNBQXVELEVBQWtDLElBQVM7UUFBN00sYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQVMsY0FBUyxHQUFULFNBQVMsQ0FBOEM7UUFBa0MsU0FBSSxHQUFKLElBQUksQ0FBSztRQUxqTyxhQUFRLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBRW5DLHNCQUFpQixHQUE0QixFQUFFLENBQUM7UUFDaEQsc0JBQWlCLEdBQUcsdUJBQXVCLENBQUM7UUFHMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQ0FBa0M7UUFFN0YsMERBQTBEO1FBQzFELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsMkNBQTJDO1FBQ2xILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUMsQ0FBQywyQ0FBMkM7UUFDdEUsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDdkMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7Z0JBRS9CLGlFQUFpRTtnQkFDakUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixJQUFJLElBQUksRUFBRSxDQUFDO29CQUM3QyxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUM7b0JBQ3RGLElBQUksY0FBYyxFQUFFLENBQUM7d0JBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQyxXQUFXLENBQUM7b0JBQ2xELENBQUM7Z0JBQ0gsQ0FBQztxQkFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQzlCLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQy9CLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FDeEUsQ0FBQztvQkFDRixJQUFJLGNBQWMsRUFBRSxDQUFDO3dCQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixHQUFHLGNBQWMsQ0FBQyxNQUFPLENBQUM7b0JBQzVELENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFDQyxLQUFLLEVBQUUsQ0FBQyxHQUF3QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQztTQUMzRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVk7UUFDakIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFHLENBQUM7WUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1lBQ3hFLE9BQU87UUFDVCxDQUFDO1FBQ0QsaUZBQWlGO1FBQ2pGLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUMsQ0FBQyw4Q0FBOEM7UUFDdEYsQ0FBQztRQUVELGdFQUFnRTtRQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdEQsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBRWpCLHlEQUF5RDtZQUN6RCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hELFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEUsQ0FBQztZQUVELHlEQUF5RDtZQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUs7WUFBRSxPQUFPO1FBRWpELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFPLEVBQUUsRUFBTztRQUM1QixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsaUJBQXlCO1FBQ3pDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxzQ0FBc0M7UUFDaEksSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBR0Q7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLGtCQUFxQztRQUUzQyx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDMUUsSUFBSSxDQUFDLFlBQVksQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1lBQ2hFLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELG1DQUFtQztRQUNuQywyREFBMkQ7UUFDM0QsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxxQkFBcUI7UUFDdkYsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsc0RBQXNELENBQUMsQ0FBQztZQUMxRSxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCwyRUFBMkU7UUFDM0UsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDcEUsSUFBSSxDQUFDLFlBQVksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELHVDQUF1QztRQUN2QyxJQUFJLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1lBQzFELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELHVDQUF1QztRQUN2QyxFQUFFO1FBQ0YsSUFBSSxrQkFBa0IsQ0FBQyxHQUFHLElBQUksa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2RSxJQUFJLENBQUMsWUFBWSxDQUFDLHNDQUFzQyxDQUFDLENBQUM7WUFDMUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQseUNBQXlDO1FBQ3pDLEVBQUU7UUFDRixJQUFJLGtCQUFrQixDQUFDLEtBQUssSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNFLElBQUksQ0FBQyxZQUFZLENBQUMsd0NBQXdDLENBQUMsQ0FBQztZQUM1RCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxtREFBbUQ7UUFDbkQsRUFBRTtRQUNGLElBQUksa0JBQWtCLENBQUMsZUFBZSxJQUFJLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDakcsSUFBSSxDQUFDLFlBQVksQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1lBQzVFLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLENBQUMsaUNBQWlDO0lBQ2hELENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFrQztRQUM1QyxJQUFJLFdBQWdDLENBQUM7UUFFckMseUNBQXlDO1FBQ3pDLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDN0IsV0FBVyxHQUFHO2dCQUNaLE1BQU0sRUFBRSxHQUFHO2dCQUNYLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixZQUFZLEVBQUUsV0FBVyxJQUFJLFdBQVc7YUFDekMsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sV0FBVyxHQUFHLElBQUksQ0FBQztRQUNyQixDQUFDO1FBRUQsY0FBYztRQUNkLElBQUksV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxtRUFBbUU7UUFDbkUsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5RyxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFlO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7WUFDL0IsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQW5MVSw4QkFBOEIsMklBT3VKLGVBQWU7a0dBUHBNLDhCQUE4QixvRUNmM0MsNmxEQThCTzs7MkZEZk0sOEJBQThCO2tCQU4xQyxTQUFTO2lDQUNJLEtBQUssWUFDUCw4QkFBOEI7OzBCQVdpSixNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FUZWxlZm9uZSwgVW5iUGVzc29hVGVsZWZvbmVUaXBvIH0gZnJvbSAnLi4vdW5iLXBlc3NvYS1tb2RlbHMvdW5iLXBlc3NvYS10ZWxlZm9uZS5tb2RlbCc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYUVycm9QYWRyYW8sIFVuQlBlc3NvYVNlcnZpY2UgfSBmcm9tICcuLi91bmItcGVzc29hLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVW5iTWVuc2FnZW1TZXJ2aWNlLCBVbmJUaXBvTWVuc2FnZW1FbnVtIH0gZnJvbSAnLi4vLi4vdW5iLW1lbnNhZ2VtL3VuYi1tZW5zYWdlbS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxyXG4gIHNlbGVjdG9yOiAnbGliLXVuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybS5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtLmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFVuYlBlc3NvYVRlbGVmb25lRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgdGVsZWZvbmVTYWx2byE6IFVuYlBlc3NvYVRlbGVmb25lO1xyXG4gIHRlbGVmb25lID0gbmV3IFVuYlBlc3NvYVRlbGVmb25lKCk7XHJcbiAgdGVsZWZvbmVzTGlzdDogVW5iUGVzc29hVGVsZWZvbmVbXTtcclxuICBsaXN0YVRpcG9UZWxlZm9uZTogVW5iUGVzc29hVGVsZWZvbmVUaXBvW10gPSBbXTtcclxuICBpZE1lbnNhZ2VtU2VydmljZSA9IFwiVW5iUGVzc29hVGVsZWZvbmVGb3JtXCI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLCBwcml2YXRlIHNlcnZpY2U6IFVuQlBlc3NvYVNlcnZpY2UsIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBVbmJNZW5zYWdlbVNlcnZpY2UsIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxVbmJQZXNzb2FUZWxlZm9uZUZvcm1Db21wb25lbnQ+LCBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy50ZWxlZm9uZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YS50ZWxlZm9uZSkpOyAvLyBPIGUtbWFpbCBlc3BlY8OtZmljbyBwYXJhIGVkacOnw6NvXHJcblxyXG4gICAgLy8gVmVyaWZpcXVlIHNlIGEgbGlzdGEgZGUgZS1tYWlscyBmb2kgcGFzc2FkYSBlIGF0cmlidWEtYVxyXG4gICAgaWYgKGRhdGEudGVsZWZvbmVzTGlzdCkge1xyXG4gICAgICB0aGlzLnRlbGVmb25lc0xpc3QgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEudGVsZWZvbmVzTGlzdCkpOyAvLyBGYcOnYSB1bWEgY8OzcGlhIHByb2Z1bmRhIHNlIGZvciBtYW5pcHVsYXJcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGVsZWZvbmVzTGlzdCA9IFtdOyAvLyBJbmljaWFsaXplIGNvbW8gdmF6aW8gc2UgbsOjbyBmb3IgcGFzc2FkYVxyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy50ZWxlZm9uZSkge1xyXG4gICAgICB0aGlzLnRlbGVmb25lID0gbmV3IFVuYlBlc3NvYVRlbGVmb25lKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5nZXRUaXBvVGVsZWZvbmUoKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAobGlzdGEpID0+IHtcclxuICAgICAgdGhpcy5saXN0YVRpcG9UZWxlZm9uZSA9IGxpc3RhO1xyXG5cclxuICAgICAgLy8gU2UgasOhIHRpdmVyIHRpcG9UZWxlZm9uZUNvZGlnbywgcHJlZW5jaGUgbyBub21lIGNvcnJlc3BvbmRlbnRlXHJcbiAgICAgIGlmICh0aGlzLnRlbGVmb25lLnRpcG9UZWxlZm9uZUNvZGlnbyAhPSBudWxsKSB7XHJcbiAgICAgICAgY29uc3QgdGlwb0VuY29udHJhZG8gPSBsaXN0YS5maW5kKHQgPT4gdC5jb2RpZ28gPT09IHRoaXMudGVsZWZvbmUudGlwb1RlbGVmb25lQ29kaWdvKTtcclxuICAgICAgICBpZiAodGlwb0VuY29udHJhZG8pIHtcclxuICAgICAgICAgIHRoaXMudGVsZWZvbmUudGlwbyA9IHRpcG9FbmNvbnRyYWRvLmRlbm9taW5hY2FvO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnRlbGVmb25lLnRpcG8pIHtcclxuICAgICAgICBjb25zdCB0aXBvRW5jb250cmFkbyA9IGxpc3RhLmZpbmQoXHJcbiAgICAgICAgICB0ID0+IHQuZGVub21pbmFjYW8/LnRvTG93ZXJDYXNlKCkgPT09IHRoaXMudGVsZWZvbmUudGlwbz8udG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKHRpcG9FbmNvbnRyYWRvKSB7XHJcbiAgICAgICAgICB0aGlzLnRlbGVmb25lLnRpcG9UZWxlZm9uZUNvZGlnbyA9IHRpcG9FbmNvbnRyYWRvLmNvZGlnbyE7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogVW5iUGVzc29hRXJyb1BhZHJhbykgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnIpXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNhbHZhcihmb3JtOiBOZ0Zvcm0pIHtcclxuICAgIGlmIChmb3JtLmludmFsaWQgKSB7XHJcbiAgICAgIHRoaXMub3BlblNuYWNrQmFyKCdFeGlzdGVtIGVycm9zIG5vIGZvcm11bMOhcmlvLCBwb3IgZmF2b3IsIHZlcmlmaWNhci4nKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy8gMS4gRGVmaW5lIG8gJ3RpcG8nIHBhZHLDo28gKDEpIHNlIG7Do28gZm9yIHByZWVuY2hpZG8gKENvbmZvcm1lIHN1YSBzb2xpY2l0YcOnw6NvKVxyXG4gICAgaWYgKCF0aGlzLnRlbGVmb25lLnRpcG9UZWxlZm9uZUNvZGlnbykge1xyXG4gICAgICB0aGlzLnRlbGVmb25lLnRpcG9UZWxlZm9uZUNvZGlnbyA9IDE7IC8vIDEgw6kgZ2VyYWxtZW50ZSAnUmVzaWRlbmNpYWwnIG91ICdQcmluY2lwYWwnXHJcbiAgICB9XHJcblxyXG4gICAgLy8gMi4gRGVmaW5lIGEgJ29yZGVtJyAocXVlIG8gYmFjay1lbmQgY2hhbWEgZGUgJ29yZGVtVGVsZWZvbmUnKVxyXG4gICAgaWYgKCF0aGlzLnRlbGVmb25lLm9yZGVtIHx8IHRoaXMudGVsZWZvbmUub3JkZW0gPT09IDApIHtcclxuICAgICAgbGV0IG1heE9yZGVtID0gMDtcclxuXHJcbiAgICAgIC8vIFZlcmlmaWNhIHNlIGEgbGlzdGEgZGUgdGVsZWZvbmVzIGrDoSBleGlzdGUgZSB0ZW0gaXRlbnNcclxuICAgICAgaWYgKHRoaXMudGVsZWZvbmVzTGlzdCAmJiB0aGlzLnRlbGVmb25lc0xpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIG1heE9yZGVtID0gTWF0aC5tYXgoLi4udGhpcy50ZWxlZm9uZXNMaXN0Lm1hcCh0ID0+IHQub3JkZW0gfHwgMCkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBEZWZpbmUgYSBvcmRlbSBkbyBub3ZvIHRlbGVmb25lIGNvbW8gYSBtYWlvciBvcmRlbSArIDFcclxuICAgICAgdGhpcy50ZWxlZm9uZS5vcmRlbSA9IG1heE9yZGVtICsgMTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnZhbGlkYXIodGhpcy50ZWxlZm9uZSkgPT0gZmFsc2UpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLnRlbGVmb25lU2Fsdm8gPSB0aGlzLnRlbGVmb25lO1xyXG4gICAgdGhpcy5zYWx2YXJjbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgY29tcGFyYXJUaXBvcyh0MTogYW55LCB0MjogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdDEgJiYgdDIgJiYgdDEgPT09IHQyO1xyXG4gIH1cclxuXHJcbiAgb25UaXBvU2VsZWNpb25hZG8oY29kaWdvU2VsZWNpb25hZG86IG51bWJlcikge1xyXG4gICAgY29uc3QgdGlwb1NlbGVjaW9uYWRvID0gdGhpcy5saXN0YVRpcG9UZWxlZm9uZS5maW5kKHQgPT4gdC5jb2RpZ28gPT09IGNvZGlnb1NlbGVjaW9uYWRvKTsgLy8gPC0tLSBSZW5vbWVhZG8gZGUgbGlzdGFUaXBvRW5kZXJlY29cclxuICAgIGlmICh0aXBvU2VsZWNpb25hZG8pIHtcclxuICAgICAgdGhpcy50ZWxlZm9uZS50aXBvID0gdGlwb1NlbGVjaW9uYWRvLmRlbm9taW5hY2FvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYSBvIG9iamV0byBkZSB0ZWxlZm9uZSBjb20gYmFzZSBuYXMgcmVncmFzIGRvIGJhY2tlbmQuXHJcbiAgICogUmV0b3JuYSB0cnVlIHNlIG8gdGVsZWZvbmUgZm9yIHbDoWxpZG8sIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgKi9cclxuICB2YWxpZGFyKHRlbGVmb25lVG9WYWxpZGF0ZTogVW5iUGVzc29hVGVsZWZvbmUpOiBib29sZWFuIHtcclxuICAgIFxyXG4gICAgLy8gMS4gVmFsaWRhw6fDo28gZGUgTsO6bWVybyAoT2JyaWdhdMOzcmlvKVxyXG4gICAgaWYgKCF0ZWxlZm9uZVRvVmFsaWRhdGUubnVtZXJvIHx8IHRlbGVmb25lVG9WYWxpZGF0ZS5udW1lcm8udHJpbSgpID09PSAnJykge1xyXG4gICAgICB0aGlzLm9wZW5TbmFja0JhcihcIk7Dum1lcm8gZG8gdGVsZWZvbmUgw6kgdW0gY2FtcG8gb2JyaWdhdMOzcmlvLlwiKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIDIuIFZhbGlkYcOnw6NvIGRlIE7Dum1lcm8gKEZvcm1hdG8pXHJcbiAgICAvLyBxdWUgZWxlIGVzcGVyYSA4IG91IDkgZMOtZ2l0b3MgbnVtw6lyaWNvcyAocGFkcsOjbyBCcmFzaWwpLlxyXG4gICAgY29uc3QgbnVtZXJvTGltcG8gPSB0ZWxlZm9uZVRvVmFsaWRhdGUubnVtZXJvLnJlcGxhY2UoL1xcRC9nLCAnJyk7IC8vIFJlbW92ZSBuw6NvLWTDrWdpdG9zXHJcbiAgICBpZiAobnVtZXJvTGltcG8ubGVuZ3RoICE9PSA5KSB7XHJcbiAgICAgIHRoaXMub3BlblNuYWNrQmFyKFwiTsO6bWVybyBkbyB0ZWxlZm9uZSBkZXZlIGNvbnRlciBleGF0YW1lbnRlIDkgZMOtZ2l0b3MuXCIpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIDMuIFZhbGlkYcOnw6NvIGRlIERERCAoT2JyaWdhdMOzcmlvIC0gQm9hIHByw6F0aWNhLCBlbWJvcmEgbyBKYXZhIG7Do28gZXhpamEpXHJcbiAgICBpZiAoIXRlbGVmb25lVG9WYWxpZGF0ZS5kZGQgfHwgdGVsZWZvbmVUb1ZhbGlkYXRlLmRkZC50cmltKCkgPT09ICcnKSB7XHJcbiAgICAgIHRoaXMub3BlblNuYWNrQmFyKFwiREREIMOpIHVtIGNhbXBvIG9icmlnYXTDs3Jpby5cIik7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyA0LiBWYWxpZGHDp8OjbyBkZSBEREQgKFRhbWFuaG8gTcOheGltbylcclxuICAgIGlmICh0ZWxlZm9uZVRvVmFsaWRhdGUuZGRkLnRyaW0oKS5sZW5ndGggPiAzKSB7XHJcbiAgICAgIHRoaXMub3BlblNuYWNrQmFyKFwiREREIGRldmUgdGVyIG5vIG3DoXhpbW8gMyBjYXJhY3RlcmVzLlwiKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIDUuIFZhbGlkYcOnw6NvIGRlIERESSAoVGFtYW5obyBNw6F4aW1vKVxyXG4gICAgLy9cclxuICAgIGlmICh0ZWxlZm9uZVRvVmFsaWRhdGUuZGRpICYmIHRlbGVmb25lVG9WYWxpZGF0ZS5kZGkudHJpbSgpLmxlbmd0aCA+IDUpIHtcclxuICAgICAgdGhpcy5vcGVuU25hY2tCYXIoXCJEREkgZGV2ZSB0ZXIgbm8gbcOheGltbyA1IGNhcmFjdGVyZXMuXCIpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gNi4gVmFsaWRhw6fDo28gZGUgUmFtYWwgKFRhbWFuaG8gTcOheGltbylcclxuICAgIC8vXHJcbiAgICBpZiAodGVsZWZvbmVUb1ZhbGlkYXRlLnJhbWFsICYmIHRlbGVmb25lVG9WYWxpZGF0ZS5yYW1hbC50cmltKCkubGVuZ3RoID4gNikge1xyXG4gICAgICB0aGlzLm9wZW5TbmFja0JhcihcIlJhbWFsIGRldmUgdGVyIG5vIG3DoXhpbW8gNiBjYXJhY3RlcmVzLlwiKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyA3LiBWYWxpZGHDp8OjbyBkZSBOb21lUmVzcG9uc2F2ZWwgKFRhbWFuaG8gTcOheGltbylcclxuICAgIC8vXHJcbiAgICBpZiAodGVsZWZvbmVUb1ZhbGlkYXRlLm5vbWVSZXNwb25zYXZlbCAmJiB0ZWxlZm9uZVRvVmFsaWRhdGUubm9tZVJlc3BvbnNhdmVsLnRyaW0oKS5sZW5ndGggPiAxMDApIHtcclxuICAgICAgdGhpcy5vcGVuU25hY2tCYXIoXCJOb21lIGRvIFJlc3BvbnPDoXZlbCBkZXZlIHRlciBubyBtw6F4aW1vIDEwMCBjYXJhY3RlcmVzLlwiKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cnVlOyAvLyBQYXNzb3UgZW0gdG9kYXMgYXMgdmFsaWRhw6fDtWVzIVxyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShudWxsKTtcclxuICB9XHJcblxyXG4gIHNhbHZhcmNsb3NlKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy50ZWxlZm9uZVNhbHZvKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUVycm9yKGVycm86IFVuYlBlc3NvYUVycm9QYWRyYW8gfCBzdHJpbmcpIHtcclxuICAgIGxldCBlcnJvVHJhdGFkbzogVW5iUGVzc29hRXJyb1BhZHJhbztcclxuXHJcbiAgICAvLyBDb252ZXJ0ZSBzdHJpbmcgbG9jYWwgZW0gT2JqZXRvIFBhZHLDo29cclxuICAgIGlmICh0eXBlb2YgZXJybyA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgZXJyb1RyYXRhZG8gPSB7XHJcbiAgICAgICAgc3RhdHVzOiA0MDAsXHJcbiAgICAgICAgbWVuc2FnZW1TaW1wbGVzOiBlcnJvLFxyXG4gICAgICAgIG1lbnNhZ2VtSHRtbDogYDxzdHJvbmc+JHtlcnJvfTwvc3Ryb25nPmBcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGVycm9UcmF0YWRvID0gZXJybztcclxuICAgIH1cclxuXHJcbiAgICAvLyAxLiBTbmFja0JhclxyXG4gICAgaWYgKGVycm9UcmF0YWRvLm1lbnNhZ2VtU2ltcGxlcykge1xyXG4gICAgICB0aGlzLm9wZW5TbmFja0JhcihlcnJvVHJhdGFkby5tZW5zYWdlbVNpbXBsZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIDIuIEFsZXJ0U2VydmljZSAoU2UgaG91dmVyIHRhZyA8dW5iLW1lbnNhZ2VtPiBubyBIVE1MIGRvIGRpYWxvZylcclxuICAgIGlmICh0aGlzLmFsZXJ0U2VydmljZSAmJiBlcnJvVHJhdGFkby5tZW5zYWdlbUh0bWwpIHtcclxuICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd01lc3NhZ2UoZXJyb1RyYXRhZG8ubWVuc2FnZW1IdG1sLCBVbmJUaXBvTWVuc2FnZW1FbnVtLkRBTkdFUiwgdGhpcy5pZE1lbnNhZ2VtU2VydmljZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuU25hY2tCYXIobWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW4obWVzc2FnZSwgJ3gnLCB7XHJcbiAgICAgIGR1cmF0aW9uOiA1MDAwLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufSIsIjxoMSBtYXQtZGlhbG9nLXRpdGxlPkNhZGFzdHJvIGRlIFRlbGVmb25lPC9oMT5cclxuPGZvcm0gKG5nU3VibWl0KT1cInNhbHZhcihmb3JtKVwiICNmb3JtPVwibmdGb3JtXCI+XHJcbiAgPG1hdC1kaWFsb2ctY29udGVudD5cclxuICAgIDx1bmItbWVuc2FnZW0gW2lkZW50aWZpY2Fkb3JdPVwiaWRNZW5zYWdlbVNlcnZpY2VcIj48L3VuYi1tZW5zYWdlbT5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRhaW5lclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmb3JtLTEwMFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5UaXBvPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJ0ZWxlZm9uZS50aXBvVGVsZWZvbmVDb2RpZ29cIiBbY29tcGFyZVdpdGhdPVwiY29tcGFyYXJUaXBvc1wiIG5hbWU9XCJ0aXBvVGVsZWZvbmVDb2RpZ29cIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uVGlwb1NlbGVjaW9uYWRvKCRldmVudC52YWx1ZSlcIiByZXF1aXJlZD5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB0aXBvIG9mIGxpc3RhVGlwb1RlbGVmb25lXCIgW3ZhbHVlXT1cInRpcG8uY29kaWdvXCI+XHJcbiAgICAgICAgICAgIHt7dGlwby5kZW5vbWluYWNhb319XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZm9ybS0xMDBcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+REREPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgbWF4bGVuZ3RoPVwiM1wiIHJlcXVpcmVkIG1hdElucHV0IFsobmdNb2RlbCldPVwidGVsZWZvbmUuZGRkXCIgbmFtZT1cImRkZFZhbHVlXCIgI2RkZFZhbHVlPVwibmdNb2RlbFwiIC8+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+IFxyXG4gICAgICBcclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZm9ybS0xMDBcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+TsO6bWVybzwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHJlcXVpcmVkIG1heGxlbmd0aD1cIjlcIiBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cInRlbGVmb25lLm51bWVyb1wiIG5hbWU9XCJ0ZWxlZm9uZVZhbHVlXCIgI3RlbGVmb25lVmFsdWU9XCJuZ01vZGVsXCIgLz5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG5cclxuICA8bWF0LWRpYWxvZy1hY3Rpb25zIGFsaWduPVwiZW5kXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY29sb3I9XCJ3YXJuXCIgKGNsaWNrKT1cImNsb3NlKClcIj5GZWNoYXI8L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjb2xvcj1cInByaW1hcnlcIj5TYWx2YXI8L2J1dHRvbj5cclxuICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuPC9mb3JtPiJdfQ==
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUQsT0FBTyxFQUFFLGlCQUFpQixFQUF5QixNQUFNLGdEQUFnRCxDQUFDO0FBRTFHLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUFzQixtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7Ozs7Ozs7OztBQVFsRyxNQUFNLE9BQU8sOEJBQThCO0lBT3pDLFlBQW9CLFFBQXFCLEVBQVUsT0FBeUIsRUFBVSxZQUFnQyxFQUFTLFNBQXVELEVBQWtDLElBQVM7UUFBN00sYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQVMsY0FBUyxHQUFULFNBQVMsQ0FBOEM7UUFBa0MsU0FBSSxHQUFKLElBQUksQ0FBSztRQUxqTyxhQUFRLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBRW5DLHNCQUFpQixHQUE0QixFQUFFLENBQUM7UUFDaEQsc0JBQWlCLEdBQUcsdUJBQXVCLENBQUM7UUFHMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFD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QU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5RyxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFlO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7WUFDL0IsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDOytHQW5MVSw4QkFBOEIsMklBT3VKLGVBQWU7bUdBUHBNLDhCQUE4QixvRUNmM0MsNmxEQThCTzs7NEZEZk0sOEJBQThCO2tCQU4xQyxTQUFTO2lDQUNJLEtBQUssWUFDUCw4QkFBOEI7OzBCQVdpSixNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FUZWxlZm9uZSwgVW5iUGVzc29hVGVsZWZvbmVUaXBvIH0gZnJvbSAnLi4vdW5iLXBlc3NvYS1tb2RlbHMvdW5iLXBlc3NvYS10ZWxlZm9uZS5tb2RlbCc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYUVycm9QYWRyYW8sIFVuQlBlc3NvYVNlcnZpY2UgfSBmcm9tICcuLi91bmItcGVzc29hLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVW5iTWVuc2FnZW1TZXJ2aWNlLCBVbmJUaXBvTWVuc2FnZW1FbnVtIH0gZnJvbSAnLi4vLi4vdW5iLW1lbnNhZ2VtL3VuYi1tZW5zYWdlbS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxyXG4gIHNlbGVjdG9yOiAnbGliLXVuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybS5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtLmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFVuYlBlc3NvYVRlbGVmb25lRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgdGVsZWZvbmVTYWx2byE6IFVuYlBlc3NvYVRlbGVmb25lO1xyXG4gIHRlbGVmb25lID0gbmV3IFVuYlBlc3NvYVRlbGVmb25lKCk7XHJcbiAgdGVsZWZvbmVzTGlzdDogVW5iUGVzc29hVGVsZWZvbmVbXTtcclxuICBsaXN0YVRpcG9UZWxlZm9uZTogVW5iUGVzc29hVGVsZWZvbmVUaXBvW10gPSBbXTtcclxuICBpZE1lbnNhZ2VtU2VydmljZSA9IFwiVW5iUGVzc29hVGVsZWZvbmVGb3JtXCI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLCBwcml2YXRlIHNlcnZpY2U6IFVuQlBlc3NvYVNlcnZpY2UsIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBVbmJNZW5zYWdlbVNlcnZpY2UsIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxVbmJQZXNzb2FUZWxlZm9uZUZvcm1Db21wb25lbnQ+LCBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy50ZWxlZm9uZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YS50ZWxlZm9uZSkpOyAvLyBPIGUtbWFpbCBlc3BlY8OtZmljbyBwYXJhIGVkacOnw6NvXHJcblxyXG4gICAgLy8gVmVyaWZpcXVlIHNlIGEgbGlzdGEgZGUgZS1tYWlscyBmb2kgcGFzc2FkYSBlIGF0cmlidWEtYVxyXG4gICAgaWYgKGRhdGEudGVsZWZvbmVzTGlzdCkge1xyXG4gICAgICB0aGlzLnRlbGVmb25lc0xpc3QgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEudGVsZWZvbmVzTGlzdCkpOyAvLyBGYcOnYSB1bWEgY8OzcGlhIHByb2Z1bmRhIHNlIGZvciBtYW5pcHVsYXJcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGVsZWZvbmVzTGlzdCA9IFtdOyAvLyBJbmljaWFsaXplIGNvbW8gdmF6aW8gc2UgbsOjbyBmb3IgcGFzc2FkYVxyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy50ZWxlZm9uZSkge1xyXG4gICAgICB0aGlzLnRlbGVmb25lID0gbmV3IFVuYlBlc3NvYVRlbGVmb25lKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5nZXRUaXBvVGVsZWZvbmUoKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAobGlzdGEpID0+IHtcclxuICAgICAgdGhpcy5saXN0YVRpcG9UZWxlZm9uZSA9IGxpc3RhO1xyXG5cclxuICAgICAgLy8gU2UgasOhIHRpdmVyIHRpcG9UZWxlZm9uZUNvZGlnbywgcHJlZW5jaGUgbyBub21lIGNvcnJlc3BvbmRlbnRlXHJcbiAgICAgIGlmICh0aGlzLnRlbGVmb25lLnRpcG9UZWxlZm9uZUNvZGlnbyAhPSBudWxsKSB7XHJcbiAgICAgICAgY29uc3QgdGlwb0VuY29udHJhZG8gPSBsaXN0YS5maW5kKHQgPT4gdC5jb2RpZ28gPT09IHRoaXMudGVsZWZvbmUudGlwb1RlbGVmb25lQ29kaWdvKTtcclxuICAgICAgICBpZiAodGlwb0VuY29udHJhZG8pIHtcclxuICAgICAgICAgIHRoaXMudGVsZWZvbmUudGlwbyA9IHRpcG9FbmNvbnRyYWRvLmRlbm9taW5hY2FvO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnRlbGVmb25lLnRpcG8pIHtcclxuICAgICAgICBjb25zdCB0aXBvRW5jb250cmFkbyA9IGxpc3RhLmZpbmQoXHJcbiAgICAgICAgICB0ID0+IHQuZGVub21pbmFjYW8/LnRvTG93ZXJDYXNlKCkgPT09IHRoaXMudGVsZWZvbmUudGlwbz8udG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKHRpcG9FbmNvbnRyYWRvKSB7XHJcbiAgICAgICAgICB0aGlzLnRlbGVmb25lLnRpcG9UZWxlZm9uZUNvZGlnbyA9IHRpcG9FbmNvbnRyYWRvLmNvZGlnbyE7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogVW5iUGVzc29hRXJyb1BhZHJhbykgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnIpXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNhbHZhcihmb3JtOiBOZ0Zvcm0pIHtcclxuICAgIGlmIChmb3JtLmludmFsaWQgKSB7XHJcbiAgICAgIHRoaXMub3BlblNuYWNrQmFyKCdFeGlzdGVtIGVycm9zIG5vIGZvcm11bMOhcmlvLCBwb3IgZmF2b3IsIHZlcmlmaWNhci4nKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy8gMS4gRGVmaW5lIG8gJ3RpcG8nIHBhZHLDo28gKDEpIHNlIG7Do28gZm9yIHByZWVuY2hpZG8gKENvbmZvcm1lIHN1YSBzb2xpY2l0YcOnw6NvKVxyXG4gICAgaWYgKCF0aGlzLnRlbGVmb25lLnRpcG9UZWxlZm9uZUNvZGlnbykge1xyXG4gICAgICB0aGlzLnRlbGVmb25lLnRpcG9UZWxlZm9uZUNvZGlnbyA9IDE7IC8vIDEgw6kgZ2VyYWxtZW50ZSAnUmVzaWRlbmNpYWwnIG91ICdQcmluY2lwYWwnXHJcbiAgICB9XHJcblxyXG4gICAgLy8gMi4gRGVmaW5lIGEgJ29yZGVtJyAocXVlIG8gYmFjay1lbmQgY2hhbWEgZGUgJ29yZGVtVGVsZWZvbmUnKVxyXG4gICAgaWYgKCF0aGlzLnRlbGVmb25lLm9yZGVtIHx8IHRoaXMudGVsZWZvbmUub3JkZW0gPT09IDApIHtcclxuICAgICAgbGV0IG1heE9yZGVtID0gMDtcclxuXHJcbiAgICAgIC8vIFZlcmlmaWNhIHNlIGEgbGlzdGEgZGUgdGVsZWZvbmVzIGrDoSBleGlzdGUgZSB0ZW0gaXRlbnNcclxuICAgICAgaWYgKHRoaXMudGVsZWZvbmVzTGlzdCAmJiB0aGlzLnRlbGVmb25lc0xpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIG1heE9yZGVtID0gTWF0aC5tYXgoLi4udGhpcy50ZWxlZm9uZXNMaXN0Lm1hcCh0ID0+IHQub3JkZW0gfHwgMCkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBEZWZpbmUgYSBvcmRlbSBkbyBub3ZvIHRlbGVmb25lIGNvbW8gYSBtYWlvciBvcmRlbSArIDFcclxuICAgICAgdGhpcy50ZWxlZm9uZS5vcmRlbSA9IG1heE9yZGVtICsgMTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnZhbGlkYXIodGhpcy50ZWxlZm9uZSkgPT0gZmFsc2UpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLnRlbGVmb25lU2Fsdm8gPSB0aGlzLnRlbGVmb25lO1xyXG4gICAgdGhpcy5zYWx2YXJjbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgY29tcGFyYXJUaXBvcyh0MTogYW55LCB0MjogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdDEgJiYgdDIgJiYgdDEgPT09IHQyO1xyXG4gIH1cclxuXHJcbiAgb25UaXBvU2VsZWNpb25hZG8oY29kaWdvU2VsZWNpb25hZG86IG51bWJlcikge1xyXG4gICAgY29uc3QgdGlwb1NlbGVjaW9uYWRvID0gdGhpcy5saXN0YVRpcG9UZWxlZm9uZS5maW5kKHQgPT4gdC5jb2RpZ28gPT09IGNvZGlnb1NlbGVjaW9uYWRvKTsgLy8gPC0tLSBSZW5vbWVhZG8gZGUgbGlzdGFUaXBvRW5kZXJlY29cclxuICAgIGlmICh0aXBvU2VsZWNpb25hZG8pIHtcclxuICAgICAgdGhpcy50ZWxlZm9uZS50aXBvID0gdGlwb1NlbGVjaW9uYWRvLmRlbm9taW5hY2FvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYSBvIG9iamV0byBkZSB0ZWxlZm9uZSBjb20gYmFzZSBuYXMgcmVncmFzIGRvIGJhY2tlbmQuXHJcbiAgICogUmV0b3JuYSB0cnVlIHNlIG8gdGVsZWZvbmUgZm9yIHbDoWxpZG8sIGZhbHNlIGNhc28gY29udHLDoXJpby5cclxuICAgKi9cclxuICB2YWxpZGFyKHRlbGVmb25lVG9WYWxpZGF0ZTogVW5iUGVzc29hVGVsZWZvbmUpOiBib29sZWFuIHtcclxuICAgIFxyXG4gICAgLy8gMS4gVmFsaWRhw6fDo28gZGUgTsO6bWVybyAoT2JyaWdhdMOzcmlvKVxyXG4gICAgaWYgKCF0ZWxlZm9uZVRvVmFsaWRhdGUubnVtZXJvIHx8IHRlbGVmb25lVG9WYWxpZGF0ZS5udW1lcm8udHJpbSgpID09PSAnJykge1xyXG4gICAgICB0aGlzLm9wZW5TbmFja0JhcihcIk7Dum1lcm8gZG8gdGVsZWZvbmUgw6kgdW0gY2FtcG8gb2JyaWdhdMOzcmlvLlwiKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIDIuIFZhbGlkYcOnw6NvIGRlIE7Dum1lcm8gKEZvcm1hdG8pXHJcbiAgICAvLyBxdWUgZWxlIGVzcGVyYSA4IG91IDkgZMOtZ2l0b3MgbnVtw6lyaWNvcyAocGFkcsOjbyBCcmFzaWwpLlxyXG4gICAgY29uc3QgbnVtZXJvTGltcG8gPSB0ZWxlZm9uZVRvVmFsaWRhdGUubnVtZXJvLnJlcGxhY2UoL1xcRC9nLCAnJyk7IC8vIFJlbW92ZSBuw6NvLWTDrWdpdG9zXHJcbiAgICBpZiAobnVtZXJvTGltcG8ubGVuZ3RoICE9PSA5KSB7XHJcbiAgICAgIHRoaXMub3BlblNuYWNrQmFyKFwiTsO6bWVybyBkbyB0ZWxlZm9uZSBkZXZlIGNvbnRlciBleGF0YW1lbnRlIDkgZMOtZ2l0b3MuXCIpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIDMuIFZhbGlkYcOnw6NvIGRlIERERCAoT2JyaWdhdMOzcmlvIC0gQm9hIHByw6F0aWNhLCBlbWJvcmEgbyBKYXZhIG7Do28gZXhpamEpXHJcbiAgICBpZiAoIXRlbGVmb25lVG9WYWxpZGF0ZS5kZGQgfHwgdGVsZWZvbmVUb1ZhbGlkYXRlLmRkZC50cmltKCkgPT09ICcnKSB7XHJcbiAgICAgIHRoaXMub3BlblNuYWNrQmFyKFwiREREIMOpIHVtIGNhbXBvIG9icmlnYXTDs3Jpby5cIik7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyA0LiBWYWxpZGHDp8OjbyBkZSBEREQgKFRhbWFuaG8gTcOheGltbylcclxuICAgIGlmICh0ZWxlZm9uZVRvVmFsaWRhdGUuZGRkLnRyaW0oKS5sZW5ndGggPiAzKSB7XHJcbiAgICAgIHRoaXMub3BlblNuYWNrQmFyKFwiREREIGRldmUgdGVyIG5vIG3DoXhpbW8gMyBjYXJhY3RlcmVzLlwiKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIDUuIFZhbGlkYcOnw6NvIGRlIERESSAoVGFtYW5obyBNw6F4aW1vKVxyXG4gICAgLy9cclxuICAgIGlmICh0ZWxlZm9uZVRvVmFsaWRhdGUuZGRpICYmIHRlbGVmb25lVG9WYWxpZGF0ZS5kZGkudHJpbSgpLmxlbmd0aCA+IDUpIHtcclxuICAgICAgdGhpcy5vcGVuU25hY2tCYXIoXCJEREkgZGV2ZSB0ZXIgbm8gbcOheGltbyA1IGNhcmFjdGVyZXMuXCIpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gNi4gVmFsaWRhw6fDo28gZGUgUmFtYWwgKFRhbWFuaG8gTcOheGltbylcclxuICAgIC8vXHJcbiAgICBpZiAodGVsZWZvbmVUb1ZhbGlkYXRlLnJhbWFsICYmIHRlbGVmb25lVG9WYWxpZGF0ZS5yYW1hbC50cmltKCkubGVuZ3RoID4gNikge1xyXG4gICAgICB0aGlzLm9wZW5TbmFja0JhcihcIlJhbWFsIGRldmUgdGVyIG5vIG3DoXhpbW8gNiBjYXJhY3RlcmVzLlwiKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyA3LiBWYWxpZGHDp8OjbyBkZSBOb21lUmVzcG9uc2F2ZWwgKFRhbWFuaG8gTcOheGltbylcclxuICAgIC8vXHJcbiAgICBpZiAodGVsZWZvbmVUb1ZhbGlkYXRlLm5vbWVSZXNwb25zYXZlbCAmJiB0ZWxlZm9uZVRvVmFsaWRhdGUubm9tZVJlc3BvbnNhdmVsLnRyaW0oKS5sZW5ndGggPiAxMDApIHtcclxuICAgICAgdGhpcy5vcGVuU25hY2tCYXIoXCJOb21lIGRvIFJlc3BvbnPDoXZlbCBkZXZlIHRlciBubyBtw6F4aW1vIDEwMCBjYXJhY3RlcmVzLlwiKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cnVlOyAvLyBQYXNzb3UgZW0gdG9kYXMgYXMgdmFsaWRhw6fDtWVzIVxyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShudWxsKTtcclxuICB9XHJcblxyXG4gIHNhbHZhcmNsb3NlKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy50ZWxlZm9uZVNhbHZvKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUVycm9yKGVycm86IFVuYlBlc3NvYUVycm9QYWRyYW8gfCBzdHJpbmcpIHtcclxuICAgIGxldCBlcnJvVHJhdGFkbzogVW5iUGVzc29hRXJyb1BhZHJhbztcclxuXHJcbiAgICAvLyBDb252ZXJ0ZSBzdHJpbmcgbG9jYWwgZW0gT2JqZXRvIFBhZHLDo29cclxuICAgIGlmICh0eXBlb2YgZXJybyA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgZXJyb1RyYXRhZG8gPSB7XHJcbiAgICAgICAgc3RhdHVzOiA0MDAsXHJcbiAgICAgICAgbWVuc2FnZW1TaW1wbGVzOiBlcnJvLFxyXG4gICAgICAgIG1lbnNhZ2VtSHRtbDogYDxzdHJvbmc+JHtlcnJvfTwvc3Ryb25nPmBcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGVycm9UcmF0YWRvID0gZXJybztcclxuICAgIH1cclxuXHJcbiAgICAvLyAxLiBTbmFja0JhclxyXG4gICAgaWYgKGVycm9UcmF0YWRvLm1lbnNhZ2VtU2ltcGxlcykge1xyXG4gICAgICB0aGlzLm9wZW5TbmFja0JhcihlcnJvVHJhdGFkby5tZW5zYWdlbVNpbXBsZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIDIuIEFsZXJ0U2VydmljZSAoU2UgaG91dmVyIHRhZyA8dW5iLW1lbnNhZ2VtPiBubyBIVE1MIGRvIGRpYWxvZylcclxuICAgIGlmICh0aGlzLmFsZXJ0U2VydmljZSAmJiBlcnJvVHJhdGFkby5tZW5zYWdlbUh0bWwpIHtcclxuICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd01lc3NhZ2UoZXJyb1RyYXRhZG8ubWVuc2FnZW1IdG1sLCBVbmJUaXBvTWVuc2FnZW1FbnVtLkRBTkdFUiwgdGhpcy5pZE1lbnNhZ2VtU2VydmljZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuU25hY2tCYXIobWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW4obWVzc2FnZSwgJ3gnLCB7XHJcbiAgICAgIGR1cmF0aW9uOiA1MDAwLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufSIsIjxoMSBtYXQtZGlhbG9nLXRpdGxlPkNhZGFzdHJvIGRlIFRlbGVmb25lPC9oMT5cclxuPGZvcm0gKG5nU3VibWl0KT1cInNhbHZhcihmb3JtKVwiICNmb3JtPVwibmdGb3JtXCI+XHJcbiAgPG1hdC1kaWFsb2ctY29udGVudD5cclxuICAgIDx1bmItbWVuc2FnZW0gW2lkZW50aWZpY2Fkb3JdPVwiaWRNZW5zYWdlbVNlcnZpY2VcIj48L3VuYi1tZW5zYWdlbT5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRhaW5lclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmb3JtLTEwMFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5UaXBvPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJ0ZWxlZm9uZS50aXBvVGVsZWZvbmVDb2RpZ29cIiBbY29tcGFyZVdpdGhdPVwiY29tcGFyYXJUaXBvc1wiIG5hbWU9XCJ0aXBvVGVsZWZvbmVDb2RpZ29cIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uVGlwb1NlbGVjaW9uYWRvKCRldmVudC52YWx1ZSlcIiByZXF1aXJlZD5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB0aXBvIG9mIGxpc3RhVGlwb1RlbGVmb25lXCIgW3ZhbHVlXT1cInRpcG8uY29kaWdvXCI+XHJcbiAgICAgICAgICAgIHt7dGlwby5kZW5vbWluYWNhb319XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZm9ybS0xMDBcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+REREPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgbWF4bGVuZ3RoPVwiM1wiIHJlcXVpcmVkIG1hdElucHV0IFsobmdNb2RlbCldPVwidGVsZWZvbmUuZGRkXCIgbmFtZT1cImRkZFZhbHVlXCIgI2RkZFZhbHVlPVwibmdNb2RlbFwiIC8+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+IFxyXG4gICAgICBcclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZm9ybS0xMDBcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+TsO6bWVybzwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHJlcXVpcmVkIG1heGxlbmd0aD1cIjlcIiBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cInRlbGVmb25lLm51bWVyb1wiIG5hbWU9XCJ0ZWxlZm9uZVZhbHVlXCIgI3RlbGVmb25lVmFsdWU9XCJuZ01vZGVsXCIgLz5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG5cclxuICA8bWF0LWRpYWxvZy1hY3Rpb25zIGFsaWduPVwiZW5kXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY29sb3I9XCJ3YXJuXCIgKGNsaWNrKT1cImNsb3NlKClcIj5GZWNoYXI8L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjb2xvcj1cInByaW1hcnlcIj5TYWx2YXI8L2J1dHRvbj5cclxuICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuPC9mb3JtPiJdfQ==
@@ -152,10 +152,10 @@ export class UnbPessoaTelefoneListComponent {
152
152
  // 6. Finalmente, ordene a lista completa com as ordens agora únicas
153
153
  this.telefones.sort((a, b) => (a.ordem ?? 0) - (b.ordem ?? 0));
154
154
  }
155
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaTelefoneListComponent, deps: [{ token: i1.MatSnackBar }, { token: i2.UnBPessoaService }, { token: i3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
156
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: UnbPessoaTelefoneListComponent, selector: "lib-unb-pessoa-telefone-list", inputs: { podeEditar: "podeEditar", telefones: "telefones", backendURL: "backendURL" }, outputs: { telefonesEmitted: "telefonesEmitted" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"mes-container\">\r\n <div class=\"header-container\">\r\n <div class=\"mes-header\">\r\n <span class=\"titulo\">\r\n {{ telefones?.length === 1 ? 'Telefone Cadastrado' : 'Telefones Cadastrados' }}\r\n </span>\r\n <span class=\"titulo\">({{ telefones?.length || 0 }})</span>\r\n </div>\r\n\r\n <button type=\"button\" matTooltip=\"Novo Telefone\" mat-flat-button color=\"primary\" (click)=\"openFormDialog(null)\">\r\n Cadastrar Novo Telefone\r\n </button>\r\n </div>\r\n\r\n\r\n <!-- Exibe a tabela de despesas somente se houver despesas -->\r\n <table class=\"my-table\" *ngIf=\"telefones && telefones.length > 0\" cdkDropList (cdkDropListDropped)=\"moverTelefone($event)\">\r\n <tr style=\"background-color: #e4e3e3cc;\">\r\n <th style=\"width: 5%; text-align: center;\">Ordem</th>\r\n <th style=\"width: 20%;\">DDD</th>\r\n <th>N\u00FAmero</th> \r\n <th>Tipo</th>\r\n <th style=\"width: 1%; text-align: center;\">A\u00E7\u00F5es</th>\r\n </tr>\r\n\r\n <tr *ngFor=\"let valor of telefones; let i = index\" class=\"my-tr\" cdkDrag>\r\n <td style=\"text-align: center;\"> \r\n <div class=\"drag-cell\" cdkDragHandle>\r\n <mat-icon>drag_indicator</mat-icon>\r\n <span>{{ i + 1 }}</span>\r\n </div>\r\n </td>\r\n <td>{{ valor.ddd }}</td> \r\n <td>{{ valor.numero }}</td> \r\n <td>{{ valor.tipo?.toUpperCase() }}</td>\r\n <td>\r\n <div class=\"actions-container\">\r\n <button type=\"button\" mat-icon-button color=\"primary\" (click)=\"editar(valor)\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button type=\"button\" mat-icon-button color=\"warn\" (click)=\"excluir(valor)\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n</table>\r\n</div>", styles: [".mes-container{padding:12px;margin-bottom:2px;border-radius:8px;box-shadow:0 2px 6px #0000001a;transition:background-color .3s ease,box-shadow .3s ease}.mes-container:nth-child(2n){background-color:#f9f9fc}.mes-container:nth-child(odd){background-color:#fff}.mes-container:hover{background-color:#f0f0f5;box-shadow:0 4px 8px #00000026}.header-container{display:flex;align-items:center;margin-bottom:2px}.header-container button{margin-left:auto}.mes-header{display:flex;align-items:center;gap:6px;font-size:1.2rem;font-weight:700;color:#333}.my-table{width:100%;border-collapse:collapse;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px #0000001a;font-family:Arial,sans-serif}.my-table th,.my-table td{padding:5px;text-align:left;border-bottom:1px solid #ddd}.my-table th{background-color:#005dbb7b;color:#fff;font-weight:700}.my-table tr{transition:background-color .3s ease}.my-table tr:hover{background-color:#f1f1f1}.my-table td{background-color:#fff}.my-table td button{transition:transform .2s ease}.my-table td button:hover{transform:scale(1.1)}.my-table td:last-child{text-align:center}.order-input{width:40px;text-align:center;border:1px solid #ccc;border-radius:4px;padding:2px}.order-input:focus{border-color:#1976d2;outline:none}.drag-cell{display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:grab;-webkit-user-select:none;user-select:none}.drag-cell mat-icon{font-size:18px;line-height:1;vertical-align:middle}.cdk-drag-preview{background:#fff;border-radius:6px;box-shadow:0 4px 12px #0003;display:table;border-collapse:collapse}.cdk-drag-placeholder{opacity:0;display:table-row}.cdk-drag-animating{transition:transform .2s cubic-bezier(0,0,.2,1)}table[cdkDropList] tr{border-bottom:1px solid #e0e0e0}table[cdkDropList] td{padding:8px}.actions-container{display:flex;justify-content:flex-end;gap:4px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] }); }
155
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UnbPessoaTelefoneListComponent, deps: [{ token: i1.MatSnackBar }, { token: i2.UnBPessoaService }, { token: i3.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
156
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: UnbPessoaTelefoneListComponent, selector: "lib-unb-pessoa-telefone-list", inputs: { podeEditar: "podeEditar", telefones: "telefones", backendURL: "backendURL" }, outputs: { telefonesEmitted: "telefonesEmitted" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"mes-container\">\r\n <div class=\"header-container\">\r\n <div class=\"mes-header\">\r\n <span class=\"titulo\">\r\n {{ telefones?.length === 1 ? 'Telefone Cadastrado' : 'Telefones Cadastrados' }}\r\n </span>\r\n <span class=\"titulo\">({{ telefones?.length || 0 }})</span>\r\n </div>\r\n\r\n <button type=\"button\" matTooltip=\"Novo Telefone\" mat-flat-button color=\"primary\" (click)=\"openFormDialog(null)\">\r\n Cadastrar Novo Telefone\r\n </button>\r\n </div>\r\n\r\n\r\n <!-- Exibe a tabela de despesas somente se houver despesas -->\r\n <table class=\"my-table\" *ngIf=\"telefones && telefones.length > 0\" cdkDropList (cdkDropListDropped)=\"moverTelefone($event)\">\r\n <tr style=\"background-color: #e4e3e3cc;\">\r\n <th style=\"width: 5%; text-align: center;\">Ordem</th>\r\n <th style=\"width: 20%;\">DDD</th>\r\n <th>N\u00FAmero</th> \r\n <th>Tipo</th>\r\n <th style=\"width: 1%; text-align: center;\">A\u00E7\u00F5es</th>\r\n </tr>\r\n\r\n <tr *ngFor=\"let valor of telefones; let i = index\" class=\"my-tr\" cdkDrag>\r\n <td style=\"text-align: center;\"> \r\n <div class=\"drag-cell\" cdkDragHandle>\r\n <mat-icon>drag_indicator</mat-icon>\r\n <span>{{ i + 1 }}</span>\r\n </div>\r\n </td>\r\n <td>{{ valor.ddd }}</td> \r\n <td>{{ valor.numero }}</td> \r\n <td>{{ valor.tipo?.toUpperCase() }}</td>\r\n <td>\r\n <div class=\"actions-container\">\r\n <button type=\"button\" mat-icon-button color=\"primary\" (click)=\"editar(valor)\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button type=\"button\" mat-icon-button color=\"warn\" (click)=\"excluir(valor)\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n</table>\r\n</div>", styles: [".mes-container{padding:12px;margin-bottom:2px;border-radius:8px;box-shadow:0 2px 6px #0000001a;transition:background-color .3s ease,box-shadow .3s ease}.mes-container:nth-child(2n){background-color:#f9f9fc}.mes-container:nth-child(odd){background-color:#fff}.mes-container:hover{background-color:#f0f0f5;box-shadow:0 4px 8px #00000026}.header-container{display:flex;align-items:center;margin-bottom:2px}.header-container button{margin-left:auto}.mes-header{display:flex;align-items:center;gap:6px;font-size:1.2rem;font-weight:700;color:#333}.my-table{width:100%;border-collapse:collapse;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px #0000001a;font-family:Arial,sans-serif}.my-table th,.my-table td{padding:5px;text-align:left;border-bottom:1px solid #ddd}.my-table th{background-color:#005dbb7b;color:#fff;font-weight:700}.my-table tr{transition:background-color .3s ease}.my-table tr:hover{background-color:#f1f1f1}.my-table td{background-color:#fff}.my-table td button{transition:transform .2s ease}.my-table td button:hover{transform:scale(1.1)}.my-table td:last-child{text-align:center}.order-input{width:40px;text-align:center;border:1px solid #ccc;border-radius:4px;padding:2px}.order-input:focus{border-color:#1976d2;outline:none}.drag-cell{display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:grab;-webkit-user-select:none;user-select:none}.drag-cell mat-icon{font-size:18px;line-height:1;vertical-align:middle}.cdk-drag-preview{background:#fff;border-radius:6px;box-shadow:0 4px 12px #0003;display:table;border-collapse:collapse}.cdk-drag-placeholder{opacity:0;display:table-row}.cdk-drag-animating{transition:transform .2s cubic-bezier(0,0,.2,1)}table[cdkDropList] tr{border-bottom:1px solid #e0e0e0}table[cdkDropList] td{padding:8px}.actions-container{display:flex;justify-content:flex-end;gap:4px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] }); }
157
157
  }
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaTelefoneListComponent, decorators: [{
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UnbPessoaTelefoneListComponent, decorators: [{
159
159
  type: Component,
160
160
  args: [{ standalone: false, selector: 'lib-unb-pessoa-telefone-list', template: "<div class=\"mes-container\">\r\n <div class=\"header-container\">\r\n <div class=\"mes-header\">\r\n <span class=\"titulo\">\r\n {{ telefones?.length === 1 ? 'Telefone Cadastrado' : 'Telefones Cadastrados' }}\r\n </span>\r\n <span class=\"titulo\">({{ telefones?.length || 0 }})</span>\r\n </div>\r\n\r\n <button type=\"button\" matTooltip=\"Novo Telefone\" mat-flat-button color=\"primary\" (click)=\"openFormDialog(null)\">\r\n Cadastrar Novo Telefone\r\n </button>\r\n </div>\r\n\r\n\r\n <!-- Exibe a tabela de despesas somente se houver despesas -->\r\n <table class=\"my-table\" *ngIf=\"telefones && telefones.length > 0\" cdkDropList (cdkDropListDropped)=\"moverTelefone($event)\">\r\n <tr style=\"background-color: #e4e3e3cc;\">\r\n <th style=\"width: 5%; text-align: center;\">Ordem</th>\r\n <th style=\"width: 20%;\">DDD</th>\r\n <th>N\u00FAmero</th> \r\n <th>Tipo</th>\r\n <th style=\"width: 1%; text-align: center;\">A\u00E7\u00F5es</th>\r\n </tr>\r\n\r\n <tr *ngFor=\"let valor of telefones; let i = index\" class=\"my-tr\" cdkDrag>\r\n <td style=\"text-align: center;\"> \r\n <div class=\"drag-cell\" cdkDragHandle>\r\n <mat-icon>drag_indicator</mat-icon>\r\n <span>{{ i + 1 }}</span>\r\n </div>\r\n </td>\r\n <td>{{ valor.ddd }}</td> \r\n <td>{{ valor.numero }}</td> \r\n <td>{{ valor.tipo?.toUpperCase() }}</td>\r\n <td>\r\n <div class=\"actions-container\">\r\n <button type=\"button\" mat-icon-button color=\"primary\" (click)=\"editar(valor)\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button type=\"button\" mat-icon-button color=\"warn\" (click)=\"excluir(valor)\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n</table>\r\n</div>", styles: [".mes-container{padding:12px;margin-bottom:2px;border-radius:8px;box-shadow:0 2px 6px #0000001a;transition:background-color .3s ease,box-shadow .3s ease}.mes-container:nth-child(2n){background-color:#f9f9fc}.mes-container:nth-child(odd){background-color:#fff}.mes-container:hover{background-color:#f0f0f5;box-shadow:0 4px 8px #00000026}.header-container{display:flex;align-items:center;margin-bottom:2px}.header-container button{margin-left:auto}.mes-header{display:flex;align-items:center;gap:6px;font-size:1.2rem;font-weight:700;color:#333}.my-table{width:100%;border-collapse:collapse;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px #0000001a;font-family:Arial,sans-serif}.my-table th,.my-table td{padding:5px;text-align:left;border-bottom:1px solid #ddd}.my-table th{background-color:#005dbb7b;color:#fff;font-weight:700}.my-table tr{transition:background-color .3s ease}.my-table tr:hover{background-color:#f1f1f1}.my-table td{background-color:#fff}.my-table td button{transition:transform .2s ease}.my-table td button:hover{transform:scale(1.1)}.my-table td:last-child{text-align:center}.order-input{width:40px;text-align:center;border:1px solid #ccc;border-radius:4px;padding:2px}.order-input:focus{border-color:#1976d2;outline:none}.drag-cell{display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:grab;-webkit-user-select:none;user-select:none}.drag-cell mat-icon{font-size:18px;line-height:1;vertical-align:middle}.cdk-drag-preview{background:#fff;border-radius:6px;box-shadow:0 4px 12px #0003;display:table;border-collapse:collapse}.cdk-drag-placeholder{opacity:0;display:table-row}.cdk-drag-animating{transition:transform .2s cubic-bezier(0,0,.2,1)}table[cdkDropList] tr{border-bottom:1px solid #e0e0e0}table[cdkDropList] td{padding:8px}.actions-container{display:flex;justify-content:flex-end;gap:4px}\n"] }]
161
161
  }], ctorParameters: () => [{ type: i1.MatSnackBar }, { type: i2.UnBPessoaService }, { type: i3.MatDialog }], propDecorators: { podeEditar: [{
@@ -167,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
167
167
  }], telefonesEmitted: [{
168
168
  type: Output
169
169
  }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFNekcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUUsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7QUFRdEUsTUFBTSxPQUFPLDhCQUE4QjtJQVN6QyxZQUFvQixRQUFxQixFQUFVLE9BQXlCLEVBQVMsTUFBaUI7UUFBbEYsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQVA3RixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFDcEIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN2QixxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztJQU1yRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsMkVBQTJFO0lBQzNFLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyw4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QUFRLENBQUMsS0FBSyxHQUFHLHFCQUFxQixFQUFFLENBQUM7b0JBQ3pDLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsK0JBQStCO2dCQUN0RSxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsaUVBQWlFO1FBQ2pFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNwQyxRQUFRLENBQUMsS0FBSyxHQUFHLHFCQUFxQixFQUFFLENBQUM7WUFDekMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7UUFDdEUsQ0FBQyxDQUFDLENBQUM7UUFFSCxvRUFBb0U7UUFDcEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQzs4R0FwS1UsOEJBQThCO2tHQUE5Qiw4QkFBOEIsb09DZjNDLDZnRUErQ007OzJGRGhDTyw4QkFBOEI7a0JBTjFDLFNBQVM7aUNBQ0ksS0FBSyxZQUNQLDhCQUE4Qjt1SUFNL0IsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FUZWxlZm9uZSwgVW5iUGVzc29hVGVsZWZvbmVUaXBvIH0gZnJvbSAnLi4vdW5iLXBlc3NvYS1tb2RlbHMvdW5iLXBlc3NvYS10ZWxlZm9uZS5tb2RlbCc7XHJcbmltcG9ydCB7IFVuQlBlc3NvYVNlcnZpY2UgfSBmcm9tICcuLi91bmItcGVzc29hLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FUZWxlZm9uZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL3VuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybSc7XHJcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxyXG4gIHNlbGVjdG9yOiAnbGliLXVuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFVuYlBlc3NvYVRlbGVmb25lTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgcG9kZUVkaXRhciA9IHRydWU7XHJcbiAgQElucHV0KCkgdGVsZWZvbmVzOiBhbnkgPSBbXTtcclxuICBASW5wdXQoKSBiYWNrZW5kVVJMOiBzdHJpbmcgPSAnJztcclxuICBAT3V0cHV0KCkgdGVsZWZvbmVzRW1pdHRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VW5iUGVzc29hVGVsZWZvbmVbXT4oKTtcclxuXHJcbiAgdGlwb1RlbGVmb25lITogT2JzZXJ2YWJsZTxVbmJQZXNzb2FUZWxlZm9uZVRpcG9bXT47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLCBwcml2YXRlIHNlcnZpY2U6IFVuQlBlc3NvYVNlcnZpY2UsIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZykge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50aXBvVGVsZWZvbmUgPSB0aGlzLnNlcnZpY2UuZ2V0VGlwb1RlbGVmb25lKCk7XHJcbiAgfVxyXG5cclxuICAvLyB0ZW0gcXVlIGZhemVyIGlzc28gcHEgbm8gb24gaW5pdCBldSBhaW5kYSBuYW8gdGVuaG8gYSBsaXN0YSBkZSB0ZWxlZm9uZXNcclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAvLyBWZXJpZmljYSBzZSBhIHByb3ByaWVkYWRlICd0ZWxlZm9uZXMnIG11ZG91XHJcbiAgICBpZiAoY2hhbmdlc1sndGVsZWZvbmVzJ10gJiYgdGhpcy50ZWxlZm9uZXMpIHtcclxuICAgICAgLy8gY2hhbWFkYSBxdWFuZG8gb3MgZGFkb3MgcmVhbG1lbnRlIGNoZWdhcmVtXHJcbiAgICAgIHRoaXMuc29ydEFuZEFzc2lnbk9yZGVyKCk7IFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhjbHVpcih0ZWxlZm9uZVBhcmFFeGNsdWlyOiBVbmJQZXNzb2FUZWxlZm9uZSkge1xyXG4gICAgaWYgKHRlbGVmb25lUGFyYUV4Y2x1aXIuY29kaWdvKSB7XHJcbiAgICAgIC8vIFNlIHRlbSBjw7NkaWdvLCByZW1vdmUgcG9yIGVsZSAobWFpcyBzZWd1cm8pXHJcbiAgICAgIHRoaXMudGVsZWZvbmVzID0gdGhpcy50ZWxlZm9uZXMuZmlsdGVyKHQgPT4gdC5jb2RpZ28gIT09IHRlbGVmb25lUGFyYUV4Y2x1aXIuY29kaWdvKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFNlIG7Do28gdGVtIGPDs2RpZ28gKG5vdm8gaXRlbSksIHJlbW92ZSBwZWxhIG9yZGVtXHJcbiAgICAgIHRoaXMudGVsZWZvbmVzID0gdGhpcy50ZWxlZm9uZXMuZmlsdGVyKHQgPT4gdC5vcmRlbSAhPT0gdGVsZWZvbmVQYXJhRXhjbHVpci5vcmRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2hhbWEgZnVuw6fDo28gZXhpc3RlbnRlIHF1ZSByZS1jYWxjdWxhIGFzIG9yZGVucyBlIGVtaXRlIGEgbGlzdGEgYXR1YWxpemFkYVxyXG4gICAgdGhpcy5hdHVhbGl6YXJPcmRlbSgpO1xyXG4gICAgdGhpcy50ZWxlZm9uZXNFbWl0dGVkLmVtaXQodGhpcy50ZWxlZm9uZXMpO1xyXG4gIH1cclxuXHJcbiAgZWRpdGFyKHRlbGVmb25lOiBVbmJQZXNzb2FUZWxlZm9uZVRpcG8pIHtcclxuICAgIHRoaXMub3BlbkZvcm1EaWFsb2codGVsZWZvbmUpO1xyXG4gIH1cclxuXHJcbiAgYXR1YWxpemFyT3JkZW0oKSB7XHJcbiAgICB0aGlzLnRlbGVmb25lcy5mb3JFYWNoKCh0ZWxlZm9uZSwgaWR4KSA9PiB7XHJcbiAgICAgIHRlbGVmb25lLm9yZGVtID0gaWR4ICsgMTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIHJlZW1pdGUgYSBsaXN0YSBhdHVhbGl6YWRhLCBpZ3VhbCBhbnRlc1xyXG4gICAgdGhpcy50ZWxlZm9uZXNFbWl0dGVkLmVtaXQodGhpcy50ZWxlZm9uZXMpO1xyXG4gIH1cclxuXHJcbiAgb3BlbkZvcm1EaWFsb2codG9FZGl0OiBhbnkpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVW5iUGVzc29hVGVsZWZvbmVGb3JtQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiAnOTAwcHgnLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgdGVsZWZvbmU6IHRvRWRpdCwgLy8gRS1tYWlsIGEgc2VyIGVkaXRhZG8gb3UgdmF6aW8gcGFyYSBub3ZvXHJcbiAgICAgICAgdGVsZWZvbmVzTGlzdDogdGhpcy50ZWxlZm9uZXMgLy8gQSBzdWEgbGlzdGEgQ09NUExFVEEgZGUgZS1tYWlsc1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIGlmICghcmVzdWx0KSB7XHJcbiAgICAgICAgcmV0dXJuOyAvLyBVc3XDoXJpbyBjbGljb3UgZW0gJ0ZlY2hhcicgb3UgJ0NhbmNlbGFyJ1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyAncmVzdWx0JyDDqSBvIG9iamV0byByZXRvcm5hZG8gcGVsbyBkaWFsb2cgKGVkaXRhZG8gb3Ugbm92bylcclxuICAgICAgbGV0IGluZGV4ID0gLTE7XHJcblxyXG4gICAgICAvLyAxLiBUZW50YSBlbmNvbnRyYXIgcGVsbyAnY29kaWdvJyAocGFyYSBpdGVucyBxdWUgasOhIHZpZXJhbSBkbyBiYW5jbylcclxuICAgICAgaWYgKHJlc3VsdC5jb2RpZ28pIHtcclxuICAgICAgICBpbmRleCA9IHRoaXMudGVsZWZvbmVzLmZpbmRJbmRleCh0ID0+IHQuY29kaWdvID09PSByZXN1bHQuY29kaWdvKTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgLy8gMi4gU2UgbsOjbyBhY2hvdSBwZWxvICdjb2RpZ28nLCB0ZW50YSBwZWxhICdvcmRlbScuXHJcbiAgICAgIC8vIEEgJ29yZGVtJyDDqSBvIG5vc3NvIGlkZW50aWZpY2Fkb3Igw7puaWNvIHBhcmEgaXRlbnMgcXVlXHJcbiAgICAgIC8vIGFpbmRhIG7Do28gZm9yYW0gc2Fsdm9zIG5vIGJhbmNvIChjcmlhZG9zL2VkaXRhZG9zIGxvY2FsbWVudGUpLlxyXG4gICAgICBpZiAoaW5kZXggPT09IC0xICYmIHJlc3VsdC5vcmRlbSkge1xyXG4gICAgICAgICBpbmRleCA9IHRoaXMudGVsZWZvbmVzLmZpbmRJbmRleCh0ID0+IHQub3JkZW0gPT09IHJlc3VsdC5vcmRlbSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgLy8gRU5DT05UUk9VIChwZWxvICdjb2RpZ28nIG91IHBlbGEgJ29yZGVtJyk6IEF0dWFsaXphIG8gaXRlbSBleGlzdGVudGVcclxuICAgICAgICB0aGlzLnRlbGVmb25lc1tpbmRleF0gPSByZXN1bHQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gTsODTyBFTkNPTlRST1U6IMOJIHVtIGl0ZW0gMTAwJSBub3ZvIChuw6NvIHVtYSBlZGnDp8OjbylcclxuICAgICAgICAvLyBPIGZvcm0gKHVuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybSkgasOhIGN1aWRvdSBkZVxyXG4gICAgICAgIC8vIGF0cmlidWlyIGEgJ29yZGVtJyBjb3JyZXRhIChtYXhPcmRlbSArIDEpXHJcbiAgICAgICAgdGhpcy50ZWxlZm9uZXMucHVzaChyZXN1bHQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyB2YW1vcyBhcGVuYXMgcmUtb3JkZW5hciBhIGxpc3RhIHBlbGEgJ29yZGVtJyBxdWUgasOhIHRlbW9zXHJcbiAgICAgIC8vIGUgZGVwb2lzIGVtaXRpci5cclxuICAgICAgdGhpcy50ZWxlZm9uZXMuc29ydCgoYSwgYikgPT4gKGEub3JkZW0gPz8gMCkgLSAoYi5vcmRlbSA/PyAwKSk7XHJcbiAgICAgIHRoaXMudGVsZWZvbmVzRW1pdHRlZC5lbWl0KHRoaXMudGVsZWZvbmVzKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbW92ZXJUZWxlZm9uZShldmVudDogQ2RrRHJhZ0Ryb3A8YW55W10+KSB7XHJcbiAgICAvLyB0cm9jYSBhIHBvc2nDp8OjbyBkZW50cm8gZG8gYXJyYXlcclxuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLnRlbGVmb25lcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuXHJcbiAgICAvLyBhdHVhbGl6YSBvIGNhbXBvICdvcmRlbScgZW0gY2FkYSBpdGVtXHJcbiAgICB0aGlzLmF0dWFsaXphck9yZGVtKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNvcnRBbmRBc3NpZ25PcmRlcigpOiB2b2lkIHtcclxuICAgIC8vIDEuIENyaWUgdW1hIGPDs3BpYSBkYSBsaXN0YSBwYXJhIG7Do28gbW9kaWZpY2FyIGEgb3JpZ2luYWwgZHVyYW50ZSBhIGl0ZXJhw6fDo28gaW5pY2lhbFxyXG4gICAgY29uc3QgdGVtcEVtYWlscyA9IFsuLi50aGlzLnRlbGVmb25lc107XHJcblxyXG4gICAgLy8gMi4gTWFwZWllIGFzIG9yZGVucyBleGlzdGVudGVzIHBhcmEgaWRlbnRpZmljYXIgZHVwbGljYXRhcyBlIGF1c2VudGVzXHJcbiAgICBjb25zdCBvcmRlck1hcCA9IG5ldyBNYXA8bnVtYmVyLCBVbmJQZXNzb2FUZWxlZm9uZVtdPigpO1xyXG4gICAgY29uc3QgZW1haWxzV2l0aG91dE9yZGVyOiBVbmJQZXNzb2FUZWxlZm9uZVtdID0gW107XHJcblxyXG4gICAgdGVtcEVtYWlscy5mb3JFYWNoKHRlbGVmb25lID0+IHtcclxuICAgICAgaWYgKHRlbGVmb25lLm9yZGVtICE9PSB1bmRlZmluZWQgJiYgdGVsZWZvbmUub3JkZW0gIT09IG51bGwpIHtcclxuICAgICAgICBpZiAoIW9yZGVyTWFwLmhhcyh0ZWxlZm9uZS5vcmRlbSkpIHtcclxuICAgICAgICAgIG9yZGVyTWFwLnNldCh0ZWxlZm9uZS5vcmRlbSwgW10pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBvcmRlck1hcC5nZXQodGVsZWZvbmUub3JkZW0pPy5wdXNoKHRlbGVmb25lKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBlbWFpbHNXaXRob3V0T3JkZXIucHVzaCh0ZWxlZm9uZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8vIDMuIEluaWNpYWxpemUgdW0gU2V0IHBhcmEgcmFzdHJlYXIgdG9kYXMgYXMgb3JkZW5zIHF1ZSBzZXLDo28gdXNhZGFzIG5vIGZpbmFsXHJcbiAgICBjb25zdCBmaW5hbFVzZWRPcmRlcnMgPSBuZXcgU2V0PG51bWJlcj4oKTtcclxuICAgIC8vIEluaWNpYWxpemUgbyBwcsOzeGltbyB2YWxvciBkZSBvcmRlbSBkaXNwb27DrXZlbFxyXG4gICAgbGV0IG5leHRBdmFpbGFibGVPcmRlciA9IDA7XHJcblxyXG4gICAgLy8gRnVuw6fDo28gYXV4aWxpYXIgcGFyYSBlbmNvbnRyYXIgYSBwcsOzeGltYSBvcmRlbSBkaXNwb27DrXZlbFxyXG4gICAgY29uc3QgZ2V0TmV4dEF2YWlsYWJsZU9yZGVyID0gKCkgPT4ge1xyXG4gICAgICB3aGlsZSAoZmluYWxVc2VkT3JkZXJzLmhhcyhuZXh0QXZhaWxhYmxlT3JkZXIpKSB7XHJcbiAgICAgICAgbmV4dEF2YWlsYWJsZU9yZGVyKys7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5leHRBdmFpbGFibGVPcmRlcisrO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyA0LiBQcm9jZXNzZSB0ZWxlZm9uZXMgY29tIG9yZGVtIGRlZmluaWRhOlxyXG4gICAgLy8gICAgLSBBIHByaW1laXJhIG9jb3Jyw6puY2lhIGRlIHVtYSBvcmRlbSBhIG1hbnTDqW0uXHJcbiAgICAvLyAgICAtIER1cGxpY2F0YXMgcmVjZWJlbSB1bWEgbm92YSBvcmRlbS5cclxuICAgIC8vICAgIC0gQWRpY2lvbmUgYXMgb3JkZW5zIHbDoWxpZGFzIGFvIGZpbmFsVXNlZE9yZGVycy5cclxuICAgIHRoaXMudGVsZWZvbmVzLmZvckVhY2godGVsZWZvbmUgPT4geyAvLyBJdGVyYXIgc29icmUgYSBsaXN0YSBvcmlnaW5hbCBwYXJhIG1vZGlmaWNhciBpbi1wbGFjZVxyXG4gICAgICBpZiAodGVsZWZvbmUub3JkZW0gIT09IHVuZGVmaW5lZCAmJiB0ZWxlZm9uZS5vcmRlbSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGlmICghZmluYWxVc2VkT3JkZXJzLmhhcyh0ZWxlZm9uZS5vcmRlbSkpIHtcclxuICAgICAgICAgIC8vIFNlIGEgb3JkZW0gYWluZGEgbsOjbyBmb2kgdXNhZGEsIHVzZS1hIGUgYWRpY2lvbmUgYW8gc2V0XHJcbiAgICAgICAgICBmaW5hbFVzZWRPcmRlcnMuYWRkKHRlbGVmb25lLm9yZGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gU2UgYSBvcmRlbSBqw6EgZm9pIHVzYWRhICjDqSB1bWEgZHVwbGljYXRhKSwgYXRyaWJ1YSB1bWEgbm92YVxyXG4gICAgICAgICAgdGVsZWZvbmUub3JkZW0gPSBnZXROZXh0QXZhaWxhYmxlT3JkZXIoKTtcclxuICAgICAgICAgIGZpbmFsVXNlZE9yZGVycy5hZGQodGVsZWZvbmUub3JkZW0pOyAvLyBBZGljaW9uYSBhIG5vdmEgb3JkZW0gYW8gc2V0XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyA1LiBBdHJpYnVhIG9yZGVucyBwYXJhIHRlbGVmb25lcyBxdWUgbsOjbyB0aW5oYW0gb3JkZW0gZGVmaW5pZGFcclxuICAgIGVtYWlsc1dpdGhvdXRPcmRlci5mb3JFYWNoKHRlbGVmb25lID0+IHtcclxuICAgICAgdGVsZWZvbmUub3JkZW0gPSBnZXROZXh0QXZhaWxhYmxlT3JkZXIoKTtcclxuICAgICAgZmluYWxVc2VkT3JkZXJzLmFkZCh0ZWxlZm9uZS5vcmRlbSk7IC8vIEFkaWNpb25hIGEgbm92YSBvcmRlbSBhbyBzZXRcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIDYuIEZpbmFsbWVudGUsIG9yZGVuZSBhIGxpc3RhIGNvbXBsZXRhIGNvbSBhcyBvcmRlbnMgYWdvcmEgw7puaWNhc1xyXG4gICAgdGhpcy50ZWxlZm9uZXMuc29ydCgoYSwgYikgPT4gKGEub3JkZW0gPz8gMCkgLSAoYi5vcmRlbSA/PyAwKSk7XHJcbiAgfVxyXG5cclxufSIsIjxkaXYgY2xhc3M9XCJtZXMtY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZXMtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0dWxvXCI+XHJcbiAgICAgICAgICAgICAgICB7eyB0ZWxlZm9uZXM/Lmxlbmd0aCA9PT0gMSA/ICdUZWxlZm9uZSBDYWRhc3RyYWRvJyA6ICdUZWxlZm9uZXMgQ2FkYXN0cmFkb3MnIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXR1bG9cIj4oe3sgdGVsZWZvbmVzPy5sZW5ndGggfHwgMCB9fSk8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdFRvb2x0aXA9XCJOb3ZvIFRlbGVmb25lXCIgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvcGVuRm9ybURpYWxvZyhudWxsKVwiPlxyXG4gICAgICAgICAgICBDYWRhc3RyYXIgTm92byBUZWxlZm9uZVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDwhLS0gRXhpYmUgYSB0YWJlbGEgZGUgZGVzcGVzYXMgc29tZW50ZSBzZSBob3V2ZXIgZGVzcGVzYXMgLS0+XHJcbiAgIDx0YWJsZSBjbGFzcz1cIm15LXRhYmxlXCIgKm5nSWY9XCJ0ZWxlZm9uZXMgJiYgdGVsZWZvbmVzLmxlbmd0aCA+IDBcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm1vdmVyVGVsZWZvbmUoJGV2ZW50KVwiPlxyXG4gICAgPHRyIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2U0ZTNlM2NjO1wiPlxyXG4gICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiA1JTsgdGV4dC1hbGlnbjogY2VudGVyO1wiPk9yZGVtPC90aD5cclxuICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogMjAlO1wiPkRERDwvdGg+XHJcbiAgICAgICAgPHRoPk7Dum1lcm88L3RoPiBcclxuICAgICAgICA8dGg+VGlwbzwvdGg+XHJcbiAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDElOyB0ZXh0LWFsaWduOiBjZW50ZXI7XCI+QcOnw7VlczwvdGg+XHJcbiAgICA8L3RyPlxyXG5cclxuICAgIDx0ciAqbmdGb3I9XCJsZXQgdmFsb3Igb2YgdGVsZWZvbmVzOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJteS10clwiIGNka0RyYWc+XHJcbiAgICAgICAgPHRkIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPiBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyYWctY2VsbFwiIGNka0RyYWdIYW5kbGU+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24+ZHJhZ19pbmRpY2F0b3I8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgaSArIDEgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPHRkPnt7IHZhbG9yLmRkZCB9fTwvdGQ+IFxyXG4gICAgICAgIDx0ZD57eyB2YWxvci5udW1lcm8gfX08L3RkPiBcclxuICAgICAgICA8dGQ+e3sgdmFsb3IudGlwbz8udG9VcHBlckNhc2UoKSB9fTwvdGQ+XHJcbiAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9ucy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZWRpdGFyKHZhbG9yKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIGNvbG9yPVwid2FyblwiIChjbGljayk9XCJleGNsdWlyKHZhbG9yKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICA8L3RyPlxyXG48L3RhYmxlPlxyXG48L2Rpdj4iXX0=
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5iLWxpYi1jb21wb25lbnRzL3NyYy9saWIvdW5iLXBlc3NvYS91bmItcGVzc29hLXRlbGVmb25lLWZvcm0vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFNekcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUUsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7QUFRdEUsTUFBTSxPQUFPLDhCQUE4QjtJQVN6QyxZQUFvQixRQUFxQixFQUFVLE9BQXlCLEVBQVMsTUFBaUI7UUFBbEYsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQVA3RixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFDcEIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN2QixxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztJQU1yRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsMkVBQTJFO0lBQzNFLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyw4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QUFRLENBQUMsS0FBSyxHQUFHLHFCQUFxQixFQUFFLENBQUM7b0JBQ3pDLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsK0JBQStCO2dCQUN0RSxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsaUVBQWlFO1FBQ2pFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNwQyxRQUFRLENBQUMsS0FBSyxHQUFHLHFCQUFxQixFQUFFLENBQUM7WUFDekMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7UUFDdEUsQ0FBQyxDQUFDLENBQUM7UUFFSCxvRUFBb0U7UUFDcEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQzsrR0FwS1UsOEJBQThCO21HQUE5Qiw4QkFBOEIsb09DZjNDLDZnRUErQ007OzRGRGhDTyw4QkFBOEI7a0JBTjFDLFNBQVM7aUNBQ0ksS0FBSyxZQUNQLDhCQUE4Qjt1SUFNL0IsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FUZWxlZm9uZSwgVW5iUGVzc29hVGVsZWZvbmVUaXBvIH0gZnJvbSAnLi4vdW5iLXBlc3NvYS1tb2RlbHMvdW5iLXBlc3NvYS10ZWxlZm9uZS5tb2RlbCc7XHJcbmltcG9ydCB7IFVuQlBlc3NvYVNlcnZpY2UgfSBmcm9tICcuLi91bmItcGVzc29hLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FUZWxlZm9uZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL3VuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybSc7XHJcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxyXG4gIHNlbGVjdG9yOiAnbGliLXVuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1saXN0LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFVuYlBlc3NvYVRlbGVmb25lTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgcG9kZUVkaXRhciA9IHRydWU7XHJcbiAgQElucHV0KCkgdGVsZWZvbmVzOiBhbnkgPSBbXTtcclxuICBASW5wdXQoKSBiYWNrZW5kVVJMOiBzdHJpbmcgPSAnJztcclxuICBAT3V0cHV0KCkgdGVsZWZvbmVzRW1pdHRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VW5iUGVzc29hVGVsZWZvbmVbXT4oKTtcclxuXHJcbiAgdGlwb1RlbGVmb25lITogT2JzZXJ2YWJsZTxVbmJQZXNzb2FUZWxlZm9uZVRpcG9bXT47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLCBwcml2YXRlIHNlcnZpY2U6IFVuQlBlc3NvYVNlcnZpY2UsIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZykge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50aXBvVGVsZWZvbmUgPSB0aGlzLnNlcnZpY2UuZ2V0VGlwb1RlbGVmb25lKCk7XHJcbiAgfVxyXG5cclxuICAvLyB0ZW0gcXVlIGZhemVyIGlzc28gcHEgbm8gb24gaW5pdCBldSBhaW5kYSBuYW8gdGVuaG8gYSBsaXN0YSBkZSB0ZWxlZm9uZXNcclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAvLyBWZXJpZmljYSBzZSBhIHByb3ByaWVkYWRlICd0ZWxlZm9uZXMnIG11ZG91XHJcbiAgICBpZiAoY2hhbmdlc1sndGVsZWZvbmVzJ10gJiYgdGhpcy50ZWxlZm9uZXMpIHtcclxuICAgICAgLy8gY2hhbWFkYSBxdWFuZG8gb3MgZGFkb3MgcmVhbG1lbnRlIGNoZWdhcmVtXHJcbiAgICAgIHRoaXMuc29ydEFuZEFzc2lnbk9yZGVyKCk7IFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhjbHVpcih0ZWxlZm9uZVBhcmFFeGNsdWlyOiBVbmJQZXNzb2FUZWxlZm9uZSkge1xyXG4gICAgaWYgKHRlbGVmb25lUGFyYUV4Y2x1aXIuY29kaWdvKSB7XHJcbiAgICAgIC8vIFNlIHRlbSBjw7NkaWdvLCByZW1vdmUgcG9yIGVsZSAobWFpcyBzZWd1cm8pXHJcbiAgICAgIHRoaXMudGVsZWZvbmVzID0gdGhpcy50ZWxlZm9uZXMuZmlsdGVyKHQgPT4gdC5jb2RpZ28gIT09IHRlbGVmb25lUGFyYUV4Y2x1aXIuY29kaWdvKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFNlIG7Do28gdGVtIGPDs2RpZ28gKG5vdm8gaXRlbSksIHJlbW92ZSBwZWxhIG9yZGVtXHJcbiAgICAgIHRoaXMudGVsZWZvbmVzID0gdGhpcy50ZWxlZm9uZXMuZmlsdGVyKHQgPT4gdC5vcmRlbSAhPT0gdGVsZWZvbmVQYXJhRXhjbHVpci5vcmRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2hhbWEgZnVuw6fDo28gZXhpc3RlbnRlIHF1ZSByZS1jYWxjdWxhIGFzIG9yZGVucyBlIGVtaXRlIGEgbGlzdGEgYXR1YWxpemFkYVxyXG4gICAgdGhpcy5hdHVhbGl6YXJPcmRlbSgpO1xyXG4gICAgdGhpcy50ZWxlZm9uZXNFbWl0dGVkLmVtaXQodGhpcy50ZWxlZm9uZXMpO1xyXG4gIH1cclxuXHJcbiAgZWRpdGFyKHRlbGVmb25lOiBVbmJQZXNzb2FUZWxlZm9uZVRpcG8pIHtcclxuICAgIHRoaXMub3BlbkZvcm1EaWFsb2codGVsZWZvbmUpO1xyXG4gIH1cclxuXHJcbiAgYXR1YWxpemFyT3JkZW0oKSB7XHJcbiAgICB0aGlzLnRlbGVmb25lcy5mb3JFYWNoKCh0ZWxlZm9uZSwgaWR4KSA9PiB7XHJcbiAgICAgIHRlbGVmb25lLm9yZGVtID0gaWR4ICsgMTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIHJlZW1pdGUgYSBsaXN0YSBhdHVhbGl6YWRhLCBpZ3VhbCBhbnRlc1xyXG4gICAgdGhpcy50ZWxlZm9uZXNFbWl0dGVkLmVtaXQodGhpcy50ZWxlZm9uZXMpO1xyXG4gIH1cclxuXHJcbiAgb3BlbkZvcm1EaWFsb2codG9FZGl0OiBhbnkpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVW5iUGVzc29hVGVsZWZvbmVGb3JtQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiAnOTAwcHgnLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgdGVsZWZvbmU6IHRvRWRpdCwgLy8gRS1tYWlsIGEgc2VyIGVkaXRhZG8gb3UgdmF6aW8gcGFyYSBub3ZvXHJcbiAgICAgICAgdGVsZWZvbmVzTGlzdDogdGhpcy50ZWxlZm9uZXMgLy8gQSBzdWEgbGlzdGEgQ09NUExFVEEgZGUgZS1tYWlsc1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIGlmICghcmVzdWx0KSB7XHJcbiAgICAgICAgcmV0dXJuOyAvLyBVc3XDoXJpbyBjbGljb3UgZW0gJ0ZlY2hhcicgb3UgJ0NhbmNlbGFyJ1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyAncmVzdWx0JyDDqSBvIG9iamV0byByZXRvcm5hZG8gcGVsbyBkaWFsb2cgKGVkaXRhZG8gb3Ugbm92bylcclxuICAgICAgbGV0IGluZGV4ID0gLTE7XHJcblxyXG4gICAgICAvLyAxLiBUZW50YSBlbmNvbnRyYXIgcGVsbyAnY29kaWdvJyAocGFyYSBpdGVucyBxdWUgasOhIHZpZXJhbSBkbyBiYW5jbylcclxuICAgICAgaWYgKHJlc3VsdC5jb2RpZ28pIHtcclxuICAgICAgICBpbmRleCA9IHRoaXMudGVsZWZvbmVzLmZpbmRJbmRleCh0ID0+IHQuY29kaWdvID09PSByZXN1bHQuY29kaWdvKTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgLy8gMi4gU2UgbsOjbyBhY2hvdSBwZWxvICdjb2RpZ28nLCB0ZW50YSBwZWxhICdvcmRlbScuXHJcbiAgICAgIC8vIEEgJ29yZGVtJyDDqSBvIG5vc3NvIGlkZW50aWZpY2Fkb3Igw7puaWNvIHBhcmEgaXRlbnMgcXVlXHJcbiAgICAgIC8vIGFpbmRhIG7Do28gZm9yYW0gc2Fsdm9zIG5vIGJhbmNvIChjcmlhZG9zL2VkaXRhZG9zIGxvY2FsbWVudGUpLlxyXG4gICAgICBpZiAoaW5kZXggPT09IC0xICYmIHJlc3VsdC5vcmRlbSkge1xyXG4gICAgICAgICBpbmRleCA9IHRoaXMudGVsZWZvbmVzLmZpbmRJbmRleCh0ID0+IHQub3JkZW0gPT09IHJlc3VsdC5vcmRlbSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgLy8gRU5DT05UUk9VIChwZWxvICdjb2RpZ28nIG91IHBlbGEgJ29yZGVtJyk6IEF0dWFsaXphIG8gaXRlbSBleGlzdGVudGVcclxuICAgICAgICB0aGlzLnRlbGVmb25lc1tpbmRleF0gPSByZXN1bHQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gTsODTyBFTkNPTlRST1U6IMOJIHVtIGl0ZW0gMTAwJSBub3ZvIChuw6NvIHVtYSBlZGnDp8OjbylcclxuICAgICAgICAvLyBPIGZvcm0gKHVuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybSkgasOhIGN1aWRvdSBkZVxyXG4gICAgICAgIC8vIGF0cmlidWlyIGEgJ29yZGVtJyBjb3JyZXRhIChtYXhPcmRlbSArIDEpXHJcbiAgICAgICAgdGhpcy50ZWxlZm9uZXMucHVzaChyZXN1bHQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyB2YW1vcyBhcGVuYXMgcmUtb3JkZW5hciBhIGxpc3RhIHBlbGEgJ29yZGVtJyBxdWUgasOhIHRlbW9zXHJcbiAgICAgIC8vIGUgZGVwb2lzIGVtaXRpci5cclxuICAgICAgdGhpcy50ZWxlZm9uZXMuc29ydCgoYSwgYikgPT4gKGEub3JkZW0gPz8gMCkgLSAoYi5vcmRlbSA/PyAwKSk7XHJcbiAgICAgIHRoaXMudGVsZWZvbmVzRW1pdHRlZC5lbWl0KHRoaXMudGVsZWZvbmVzKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbW92ZXJUZWxlZm9uZShldmVudDogQ2RrRHJhZ0Ryb3A8YW55W10+KSB7XHJcbiAgICAvLyB0cm9jYSBhIHBvc2nDp8OjbyBkZW50cm8gZG8gYXJyYXlcclxuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLnRlbGVmb25lcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuXHJcbiAgICAvLyBhdHVhbGl6YSBvIGNhbXBvICdvcmRlbScgZW0gY2FkYSBpdGVtXHJcbiAgICB0aGlzLmF0dWFsaXphck9yZGVtKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNvcnRBbmRBc3NpZ25PcmRlcigpOiB2b2lkIHtcclxuICAgIC8vIDEuIENyaWUgdW1hIGPDs3BpYSBkYSBsaXN0YSBwYXJhIG7Do28gbW9kaWZpY2FyIGEgb3JpZ2luYWwgZHVyYW50ZSBhIGl0ZXJhw6fDo28gaW5pY2lhbFxyXG4gICAgY29uc3QgdGVtcEVtYWlscyA9IFsuLi50aGlzLnRlbGVmb25lc107XHJcblxyXG4gICAgLy8gMi4gTWFwZWllIGFzIG9yZGVucyBleGlzdGVudGVzIHBhcmEgaWRlbnRpZmljYXIgZHVwbGljYXRhcyBlIGF1c2VudGVzXHJcbiAgICBjb25zdCBvcmRlck1hcCA9IG5ldyBNYXA8bnVtYmVyLCBVbmJQZXNzb2FUZWxlZm9uZVtdPigpO1xyXG4gICAgY29uc3QgZW1haWxzV2l0aG91dE9yZGVyOiBVbmJQZXNzb2FUZWxlZm9uZVtdID0gW107XHJcblxyXG4gICAgdGVtcEVtYWlscy5mb3JFYWNoKHRlbGVmb25lID0+IHtcclxuICAgICAgaWYgKHRlbGVmb25lLm9yZGVtICE9PSB1bmRlZmluZWQgJiYgdGVsZWZvbmUub3JkZW0gIT09IG51bGwpIHtcclxuICAgICAgICBpZiAoIW9yZGVyTWFwLmhhcyh0ZWxlZm9uZS5vcmRlbSkpIHtcclxuICAgICAgICAgIG9yZGVyTWFwLnNldCh0ZWxlZm9uZS5vcmRlbSwgW10pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBvcmRlck1hcC5nZXQodGVsZWZvbmUub3JkZW0pPy5wdXNoKHRlbGVmb25lKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBlbWFpbHNXaXRob3V0T3JkZXIucHVzaCh0ZWxlZm9uZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8vIDMuIEluaWNpYWxpemUgdW0gU2V0IHBhcmEgcmFzdHJlYXIgdG9kYXMgYXMgb3JkZW5zIHF1ZSBzZXLDo28gdXNhZGFzIG5vIGZpbmFsXHJcbiAgICBjb25zdCBmaW5hbFVzZWRPcmRlcnMgPSBuZXcgU2V0PG51bWJlcj4oKTtcclxuICAgIC8vIEluaWNpYWxpemUgbyBwcsOzeGltbyB2YWxvciBkZSBvcmRlbSBkaXNwb27DrXZlbFxyXG4gICAgbGV0IG5leHRBdmFpbGFibGVPcmRlciA9IDA7XHJcblxyXG4gICAgLy8gRnVuw6fDo28gYXV4aWxpYXIgcGFyYSBlbmNvbnRyYXIgYSBwcsOzeGltYSBvcmRlbSBkaXNwb27DrXZlbFxyXG4gICAgY29uc3QgZ2V0TmV4dEF2YWlsYWJsZU9yZGVyID0gKCkgPT4ge1xyXG4gICAgICB3aGlsZSAoZmluYWxVc2VkT3JkZXJzLmhhcyhuZXh0QXZhaWxhYmxlT3JkZXIpKSB7XHJcbiAgICAgICAgbmV4dEF2YWlsYWJsZU9yZGVyKys7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5leHRBdmFpbGFibGVPcmRlcisrO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyA0LiBQcm9jZXNzZSB0ZWxlZm9uZXMgY29tIG9yZGVtIGRlZmluaWRhOlxyXG4gICAgLy8gICAgLSBBIHByaW1laXJhIG9jb3Jyw6puY2lhIGRlIHVtYSBvcmRlbSBhIG1hbnTDqW0uXHJcbiAgICAvLyAgICAtIER1cGxpY2F0YXMgcmVjZWJlbSB1bWEgbm92YSBvcmRlbS5cclxuICAgIC8vICAgIC0gQWRpY2lvbmUgYXMgb3JkZW5zIHbDoWxpZGFzIGFvIGZpbmFsVXNlZE9yZGVycy5cclxuICAgIHRoaXMudGVsZWZvbmVzLmZvckVhY2godGVsZWZvbmUgPT4geyAvLyBJdGVyYXIgc29icmUgYSBsaXN0YSBvcmlnaW5hbCBwYXJhIG1vZGlmaWNhciBpbi1wbGFjZVxyXG4gICAgICBpZiAodGVsZWZvbmUub3JkZW0gIT09IHVuZGVmaW5lZCAmJiB0ZWxlZm9uZS5vcmRlbSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGlmICghZmluYWxVc2VkT3JkZXJzLmhhcyh0ZWxlZm9uZS5vcmRlbSkpIHtcclxuICAgICAgICAgIC8vIFNlIGEgb3JkZW0gYWluZGEgbsOjbyBmb2kgdXNhZGEsIHVzZS1hIGUgYWRpY2lvbmUgYW8gc2V0XHJcbiAgICAgICAgICBmaW5hbFVzZWRPcmRlcnMuYWRkKHRlbGVmb25lLm9yZGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gU2UgYSBvcmRlbSBqw6EgZm9pIHVzYWRhICjDqSB1bWEgZHVwbGljYXRhKSwgYXRyaWJ1YSB1bWEgbm92YVxyXG4gICAgICAgICAgdGVsZWZvbmUub3JkZW0gPSBnZXROZXh0QXZhaWxhYmxlT3JkZXIoKTtcclxuICAgICAgICAgIGZpbmFsVXNlZE9yZGVycy5hZGQodGVsZWZvbmUub3JkZW0pOyAvLyBBZGljaW9uYSBhIG5vdmEgb3JkZW0gYW8gc2V0XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyA1LiBBdHJpYnVhIG9yZGVucyBwYXJhIHRlbGVmb25lcyBxdWUgbsOjbyB0aW5oYW0gb3JkZW0gZGVmaW5pZGFcclxuICAgIGVtYWlsc1dpdGhvdXRPcmRlci5mb3JFYWNoKHRlbGVmb25lID0+IHtcclxuICAgICAgdGVsZWZvbmUub3JkZW0gPSBnZXROZXh0QXZhaWxhYmxlT3JkZXIoKTtcclxuICAgICAgZmluYWxVc2VkT3JkZXJzLmFkZCh0ZWxlZm9uZS5vcmRlbSk7IC8vIEFkaWNpb25hIGEgbm92YSBvcmRlbSBhbyBzZXRcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIDYuIEZpbmFsbWVudGUsIG9yZGVuZSBhIGxpc3RhIGNvbXBsZXRhIGNvbSBhcyBvcmRlbnMgYWdvcmEgw7puaWNhc1xyXG4gICAgdGhpcy50ZWxlZm9uZXMuc29ydCgoYSwgYikgPT4gKGEub3JkZW0gPz8gMCkgLSAoYi5vcmRlbSA/PyAwKSk7XHJcbiAgfVxyXG5cclxufSIsIjxkaXYgY2xhc3M9XCJtZXMtY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZXMtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0dWxvXCI+XHJcbiAgICAgICAgICAgICAgICB7eyB0ZWxlZm9uZXM/Lmxlbmd0aCA9PT0gMSA/ICdUZWxlZm9uZSBDYWRhc3RyYWRvJyA6ICdUZWxlZm9uZXMgQ2FkYXN0cmFkb3MnIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXR1bG9cIj4oe3sgdGVsZWZvbmVzPy5sZW5ndGggfHwgMCB9fSk8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdFRvb2x0aXA9XCJOb3ZvIFRlbGVmb25lXCIgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvcGVuRm9ybURpYWxvZyhudWxsKVwiPlxyXG4gICAgICAgICAgICBDYWRhc3RyYXIgTm92byBUZWxlZm9uZVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDwhLS0gRXhpYmUgYSB0YWJlbGEgZGUgZGVzcGVzYXMgc29tZW50ZSBzZSBob3V2ZXIgZGVzcGVzYXMgLS0+XHJcbiAgIDx0YWJsZSBjbGFzcz1cIm15LXRhYmxlXCIgKm5nSWY9XCJ0ZWxlZm9uZXMgJiYgdGVsZWZvbmVzLmxlbmd0aCA+IDBcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm1vdmVyVGVsZWZvbmUoJGV2ZW50KVwiPlxyXG4gICAgPHRyIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2U0ZTNlM2NjO1wiPlxyXG4gICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiA1JTsgdGV4dC1hbGlnbjogY2VudGVyO1wiPk9yZGVtPC90aD5cclxuICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogMjAlO1wiPkRERDwvdGg+XHJcbiAgICAgICAgPHRoPk7Dum1lcm88L3RoPiBcclxuICAgICAgICA8dGg+VGlwbzwvdGg+XHJcbiAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDElOyB0ZXh0LWFsaWduOiBjZW50ZXI7XCI+QcOnw7VlczwvdGg+XHJcbiAgICA8L3RyPlxyXG5cclxuICAgIDx0ciAqbmdGb3I9XCJsZXQgdmFsb3Igb2YgdGVsZWZvbmVzOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJteS10clwiIGNka0RyYWc+XHJcbiAgICAgICAgPHRkIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO1wiPiBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyYWctY2VsbFwiIGNka0RyYWdIYW5kbGU+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24+ZHJhZ19pbmRpY2F0b3I8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgaSArIDEgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPHRkPnt7IHZhbG9yLmRkZCB9fTwvdGQ+IFxyXG4gICAgICAgIDx0ZD57eyB2YWxvci5udW1lcm8gfX08L3RkPiBcclxuICAgICAgICA8dGQ+e3sgdmFsb3IudGlwbz8udG9VcHBlckNhc2UoKSB9fTwvdGQ+XHJcbiAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9ucy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZWRpdGFyKHZhbG9yKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIGNvbG9yPVwid2FyblwiIChjbGljayk9XCJleGNsdWlyKHZhbG9yKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICA8L3RyPlxyXG48L3RhYmxlPlxyXG48L2Rpdj4iXX0=
@@ -32,8 +32,8 @@ import { UnbMensagemModule } from '../unb-mensagem/unb-mensagem.module';
32
32
  import { DragDropModule } from '@angular/cdk/drag-drop';
33
33
  import * as i0 from "@angular/core";
34
34
  export class UnbPessoaModule {
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
36
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaModule, declarations: [UnbPessoaFormComponent, UnbPessoaPesquisarComponent, UnbPessoaEnderecoFormComponent, UnbPessoaTelefoneListComponent, UnbPessoaenderecoListComponent, UnbPessoaTelefoneFormComponent, UnbPessoaEmailFormComponent, UnbPessoaEmailListComponent], imports: [CommonModule,
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UnbPessoaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
36
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: UnbPessoaModule, declarations: [UnbPessoaFormComponent, UnbPessoaPesquisarComponent, UnbPessoaEnderecoFormComponent, UnbPessoaTelefoneListComponent, UnbPessoaenderecoListComponent, UnbPessoaTelefoneFormComponent, UnbPessoaEmailFormComponent, UnbPessoaEmailListComponent], imports: [CommonModule,
37
37
  FormsModule,
38
38
  BrowserModule,
39
39
  MatIconModule,
@@ -60,7 +60,7 @@ export class UnbPessoaModule {
60
60
  MatRadioModule,
61
61
  MatCardModule,
62
62
  MatDividerModule], exports: [UnbPessoaFormComponent, UnbPessoaPesquisarComponent, UnbPessoaEnderecoFormComponent, UnbPessoaTelefoneListComponent, UnbPessoaenderecoListComponent, UnbPessoaTelefoneFormComponent, UnbPessoaEmailFormComponent] }); }
63
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaModule, providers: [
63
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UnbPessoaModule, providers: [
64
64
  MatDatepickerModule,
65
65
  DatePipe,
66
66
  CurrencyPipe
@@ -92,7 +92,7 @@ export class UnbPessoaModule {
92
92
  MatCardModule,
93
93
  MatDividerModule] }); }
94
94
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: UnbPessoaModule, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UnbPessoaModule, decorators: [{
96
96
  type: NgModule,
97
97
  args: [{
98
98
  declarations: [UnbPessoaFormComponent, UnbPessoaPesquisarComponent, UnbPessoaEnderecoFormComponent, UnbPessoaTelefoneListComponent, UnbPessoaenderecoListComponent, UnbPessoaTelefoneFormComponent, UnbPessoaEmailFormComponent, UnbPessoaEmailListComponent],
@@ -133,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
133
133
  ]
134
134
  }]
135
135
  }] });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmItbGliLWNvbXBvbmVudHMvc3JjL2xpYi91bmItcGVzc29hL3VuYi1wZXNzb2EubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7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YixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZix3QkFBd0I7d0JBQ3hCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSwyQkFBMkIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSwyQkFBMkIsQ0FBQztvQkFDM04sU0FBUyxFQUFFO3dCQUNULG1CQUFtQjt3QkFDbkIsUUFBUTt3QkFDUixZQUFZO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBDdXJyZW5jeVBpcGUsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBVbmJVc3VhcmlvTW9kdWxlIH0gZnJvbSAnLi4vdW5iLXVzdWFyaW8vdW5iLXVzdWFyaW8ubW9kdWxlJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRW1haWxGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91bmItcGVzc29hLWVtYWlsLWZvcm0vdW5iLXBlc3NvYS1lbWFpbC1mb3JtJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRW5kZXJlY29Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91bmItcGVzc29hLWVuZGVyZWNvLWZvcm0vdW5iLXBlc3NvYS1lbmRlcmVjby1mb3JtJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1mb3JtL3VuYi1wZXNzb2EtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FQZXNxdWlzYXJDb21wb25lbnQgfSBmcm9tICcuL3VuYi1wZXNzb2EtcGVzcXVpc2FyL3VuYi1wZXNzb2EtcGVzcXVpc2FyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYVRlbGVmb25lRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtL3VuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybSc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYUVtYWlsTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1lbWFpbC1mb3JtL3VuYi1wZXNzb2EtZW1haWwtbGlzdCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYWVuZGVyZWNvTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1lbmRlcmVjby1mb3JtL3VuYi1wZXNzb2EtZW5kZXJlY28tbGlzdCc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYVRlbGVmb25lTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtL3VuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdCc7XHJcbmltcG9ydCB7IFVuYk1lbnNhZ2VtTW9kdWxlIH0gZnJvbSAnLi4vdW5iLW1lbnNhZ2VtL3VuYi1tZW5zYWdlbS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtVbmJQZXNzb2FGb3JtQ29tcG9uZW50LCBVbmJQZXNzb2FQZXNxdWlzYXJDb21wb25lbnQsIFVuYlBlc3NvYUVuZGVyZWNvRm9ybUNvbXBvbmVudCwgVW5iUGVzc29hVGVsZWZvbmVMaXN0Q29tcG9uZW50LCBVbmJQZXNzb2FlbmRlcmVjb0xpc3RDb21wb25lbnQsIFVuYlBlc3NvYVRlbGVmb25lRm9ybUNvbXBvbmVudCwgVW5iUGVzc29hRW1haWxGb3JtQ29tcG9uZW50LCBVbmJQZXNzb2FFbWFpbExpc3RDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLCBcclxuICAgIEJyb3dzZXJNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXHJcbiAgICBNYXRMaXN0TW9kdWxlLCBcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIFVuYlVzdWFyaW9Nb2R1bGUsIFxyXG4gICAgVW5iTWVuc2FnZW1Nb2R1bGUsXHJcbiAgICBNYXRDYXJkTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLCBcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSwgICAgXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsIFxyXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsICAgXHJcbiAgICBNYXROYXRpdmVEYXRlTW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1hdFBhZ2luYXRvck1vZHVsZSxcclxuICAgIE1hdEV4cGFuc2lvbk1vZHVsZSxcclxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLCAgICBcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBNYXRSYWRpb01vZHVsZSxcclxuICAgIE1hdENhcmRNb2R1bGUsXHJcbiAgICBNYXREaXZpZGVyTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbVW5iUGVzc29hRm9ybUNvbXBvbmVudCwgVW5iUGVzc29hUGVzcXVpc2FyQ29tcG9uZW50LCBVbmJQZXNzb2FFbmRlcmVjb0Zvcm1Db21wb25lbnQsIFVuYlBlc3NvYVRlbGVmb25lTGlzdENvbXBvbmVudCwgVW5iUGVzc29hZW5kZXJlY29MaXN0Q29tcG9uZW50LCBVbmJQZXNzb2FUZWxlZm9uZUZvcm1Db21wb25lbnQsIFVuYlBlc3NvYUVtYWlsRm9ybUNvbXBvbmVudF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxyXG4gICAgRGF0ZVBpcGUsXHJcbiAgICBDdXJyZW5jeVBpcGVcclxuICBdIFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5iUGVzc29hTW9kdWxlIHsgfVxyXG4iXX0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iLXBlc3NvYS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmItbGliLWNvbXBvbmVudHMvc3JjL2xpYi91bmItcGVzc29hL3VuYi1wZXNzb2EubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7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YixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZix3QkFBd0I7d0JBQ3hCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSwyQkFBMkIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSwyQkFBMkIsQ0FBQztvQkFDM04sU0FBUyxFQUFFO3dCQUNULG1CQUFtQjt3QkFDbkIsUUFBUTt3QkFDUixZQUFZO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBDdXJyZW5jeVBpcGUsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBVbmJVc3VhcmlvTW9kdWxlIH0gZnJvbSAnLi4vdW5iLXVzdWFyaW8vdW5iLXVzdWFyaW8ubW9kdWxlJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRW1haWxGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91bmItcGVzc29hLWVtYWlsLWZvcm0vdW5iLXBlc3NvYS1lbWFpbC1mb3JtJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRW5kZXJlY29Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91bmItcGVzc29hLWVuZGVyZWNvLWZvcm0vdW5iLXBlc3NvYS1lbmRlcmVjby1mb3JtJztcclxuaW1wb3J0IHsgVW5iUGVzc29hRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1mb3JtL3VuYi1wZXNzb2EtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVbmJQZXNzb2FQZXNxdWlzYXJDb21wb25lbnQgfSBmcm9tICcuL3VuYi1wZXNzb2EtcGVzcXVpc2FyL3VuYi1wZXNzb2EtcGVzcXVpc2FyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYVRlbGVmb25lRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtL3VuYi1wZXNzb2EtdGVsZWZvbmUtZm9ybSc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYUVtYWlsTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1lbWFpbC1mb3JtL3VuYi1wZXNzb2EtZW1haWwtbGlzdCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYWVuZGVyZWNvTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS1lbmRlcmVjby1mb3JtL3VuYi1wZXNzb2EtZW5kZXJlY28tbGlzdCc7XHJcbmltcG9ydCB7IFVuYlBlc3NvYVRlbGVmb25lTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdW5iLXBlc3NvYS10ZWxlZm9uZS1mb3JtL3VuYi1wZXNzb2EtdGVsZWZvbmUtbGlzdCc7XHJcbmltcG9ydCB7IFVuYk1lbnNhZ2VtTW9kdWxlIH0gZnJvbSAnLi4vdW5iLW1lbnNhZ2VtL3VuYi1tZW5zYWdlbS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtVbmJQZXNzb2FGb3JtQ29tcG9uZW50LCBVbmJQZXNzb2FQZXNxdWlzYXJDb21wb25lbnQsIFVuYlBlc3NvYUVuZGVyZWNvRm9ybUNvbXBvbmVudCwgVW5iUGVzc29hVGVsZWZvbmVMaXN0Q29tcG9uZW50LCBVbmJQZXNzb2FlbmRlcmVjb0xpc3RDb21wb25lbnQsIFVuYlBlc3NvYVRlbGVmb25lRm9ybUNvbXBvbmVudCwgVW5iUGVzc29hRW1haWxGb3JtQ29tcG9uZW50LCBVbmJQZXNzb2FFbWFpbExpc3RDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLCBcclxuICAgIEJyb3dzZXJNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXHJcbiAgICBNYXRMaXN0TW9kdWxlLCBcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIFVuYlVzdWFyaW9Nb2R1bGUsIFxyXG4gICAgVW5iTWVuc2FnZW1Nb2R1bGUsXHJcbiAgICBNYXRDYXJkTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLCBcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSwgICAgXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsIFxyXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsICAgXHJcbiAgICBNYXROYXRpdmVEYXRlTW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1hdFBhZ2luYXRvck1vZHVsZSxcclxuICAgIE1hdEV4cGFuc2lvbk1vZHVsZSxcclxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLCAgICBcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBNYXRSYWRpb01vZHVsZSxcclxuICAgIE1hdENhcmRNb2R1bGUsXHJcbiAgICBNYXREaXZpZGVyTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbVW5iUGVzc29hRm9ybUNvbXBvbmVudCwgVW5iUGVzc29hUGVzcXVpc2FyQ29tcG9uZW50LCBVbmJQZXNzb2FFbmRlcmVjb0Zvcm1Db21wb25lbnQsIFVuYlBlc3NvYVRlbGVmb25lTGlzdENvbXBvbmVudCwgVW5iUGVzc29hZW5kZXJlY29MaXN0Q29tcG9uZW50LCBVbmJQZXNzb2FUZWxlZm9uZUZvcm1Db21wb25lbnQsIFVuYlBlc3NvYUVtYWlsRm9ybUNvbXBvbmVudF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxyXG4gICAgRGF0ZVBpcGUsXHJcbiAgICBDdXJyZW5jeVBpcGVcclxuICBdIFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5iUGVzc29hTW9kdWxlIHsgfVxyXG4iXX0=