ng-pli-commons 0.0.1663 → 0.0.1664
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/pdf-config/pdf-config.component.mjs +3 -3
- package/esm2020/lib/components/pdf-visualizer/pdf-visualizer.component.mjs +7 -9
- package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +11 -4
- package/esm2020/lib/services/budget.service.mjs +3 -3
- package/esm2020/lib/services/document-history.service.mjs +1 -1
- package/esm2020/lib/services/gic-client-disbursement-metadata.service.mjs +31 -0
- package/esm2020/lib/services/gic-client.service.mjs +7 -1
- package/esm2020/lib/services/gic-cnf-bankvision-transaction.service.mjs +31 -0
- package/esm2020/lib/services/gic-cnf-closing-date.service.mjs +34 -0
- package/esm2020/lib/services/gic-cnf-maintenance.service.mjs +30 -0
- package/esm2020/lib/services/gic-collection.service.mjs +45 -0
- package/esm2020/lib/services/gic-disbursement.service.mjs +30 -0
- package/esm2020/lib/services/gic-payment-application.service.mjs +27 -0
- package/esm2020/lib/services/gic-payment-plan.service.mjs +29 -0
- package/esm2020/lib/services/import-excel-gic.service.mjs +40 -0
- package/esm2020/lib/services/initial-configuration-gic-parameters.service.mjs +51 -0
- package/esm2020/lib/services/interest-adjustment.service.mjs +31 -0
- package/esm2020/lib/services/maintenance.service.mjs +59 -0
- package/esm2020/lib/services/progress-bar.service.mjs +13 -6
- package/esm2020/lib/services/return-refund.service.mjs +47 -0
- package/esm2020/lib/services/tasa.cambio.service.mjs +9 -1
- package/esm2020/lib/services/token.service.mjs +2 -5
- package/esm2020/lib/utils/formio-util.mjs +20 -26
- package/esm2020/public-api.mjs +14 -1
- package/esm2020/version.mjs +8 -8
- package/fesm2015/ng-pli-commons.mjs +2030 -1555
- package/fesm2015/ng-pli-commons.mjs.map +1 -1
- package/fesm2020/ng-pli-commons.mjs +2003 -1554
- package/fesm2020/ng-pli-commons.mjs.map +1 -1
- package/lib/components/progress-bar/progress-bar.component.d.ts +2 -1
- package/lib/services/budget.service.d.ts +1 -1
- package/lib/services/gic-client-disbursement-metadata.service.d.ts +12 -0
- package/lib/services/gic-client.service.d.ts +2 -0
- package/lib/services/gic-cnf-bankvision-transaction.service.d.ts +13 -0
- package/lib/services/gic-cnf-closing-date.service.d.ts +15 -0
- package/lib/services/gic-cnf-maintenance.service.d.ts +13 -0
- package/lib/services/gic-collection.service.d.ts +18 -0
- package/lib/services/gic-disbursement.service.d.ts +14 -0
- package/lib/services/gic-payment-application.service.d.ts +13 -0
- package/lib/services/gic-payment-plan.service.d.ts +18 -0
- package/lib/services/import-excel-gic.service.d.ts +20 -0
- package/lib/services/initial-configuration-gic-parameters.service.d.ts +19 -0
- package/lib/services/interest-adjustment.service.d.ts +15 -0
- package/lib/services/maintenance.service.d.ts +22 -0
- package/lib/services/progress-bar.service.d.ts +3 -2
- package/lib/services/return-refund.service.d.ts +18 -0
- package/lib/services/tasa.cambio.service.d.ts +2 -0
- package/package.json +1 -1
- package/public-api.d.ts +13 -0
|
@@ -101,10 +101,10 @@ export class PdfConfigComponent extends ConfigurationCommonsComponent {
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
PdfConfigComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: PdfConfigComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.CommonService }, { token: i2.ConfigurationDocumentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
104
|
-
PdfConfigComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: PdfConfigComponent, selector: "pli-pdf-config", inputs: { promCodigo: "promCodigo", showFormula: "showFormula", showSnapshot: "showSnapshot", showSnapshotForm: "showSnapshotForm", showName: "showName", showIdiCodigo: "showIdiCodigo", showCdocCodigo: "showCdocCodigo", showTemplate: "showTemplate", showVisibles: "showVisibles", showMargins: "showMargins", showHeader: "showHeader", showFooter: "showFooter", showFont: "showFont", showTokens: "showTokens", showFrm: "showFrm", showStatic: "showStatic", showBudget: "showBudget", showCalculated: "showCalculated", showCalculatedForm: "showCalculatedForm", showSize: "showSize", showOrientation: "showOrientation", showRepeatHeader: "showRepeatHeader", showRepeatFooter: "showRepeatFooter", showPager: "showPager", showHeaderFooterHeight: "showHeaderFooterHeight", tgdocCodigo: "tgdocCodigo", pdfConfig: "pdfConfig", toolbar: "toolbar" }, outputs: { pdfConfigChange: "pdfConfigChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\r\n\t<div class=\"col-md-3\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showName\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"name\" class=\"form-control-label\">Nombre *</label>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tname=\"name\"\r\n\t\t\t\t\t\tid=\"name\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.name\"\r\n\t\t\t\t\t\tplaceholder=\"Nombre\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showFormula\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"formula\" class=\"form-control-label\"\r\n\t\t\t\t\t\t>F\u00F3rmula de la visibilidad del documento</label\r\n\t\t\t\t\t>\r\n\t\t\t\t\t<textarea\r\n\t\t\t\t\t\tstyle=\"resize: vertical\"\r\n\t\t\t\t\t\trows=\"2\"\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tname=\"formula\"\r\n\t\t\t\t\t\tid=\"formula\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.formula\"\r\n\t\t\t\t\t\tplaceholder=\"Formula de la visibilidad del documento\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</textarea>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showIdiCodigo\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"idiCodigo\" class=\"form-control-label\">Idioma *</label>\r\n\t\t\t\t\t<select\r\n\t\t\t\t\t\tname=\"idiCodigo\"\r\n\t\t\t\t\t\tid=\"idiCodigo\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.idiCodigo\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<option value=\"\">-- Seleccione opci\u00F3n</option>\r\n\t\t\t\t\t\t<option *ngFor=\"let language of listLanguage\" [value]=\"language.idiCodigo\">\r\n\t\t\t\t\t\t\t{{ language.idiIdioma }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showCdocCodigo\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"cdocCodigo\" class=\"form-control-label\">Tipo documento *</label>\r\n\t\t\t\t\t<select\r\n\t\t\t\t\t\tname=\"cdocCodigo\"\r\n\t\t\t\t\t\tid=\"cdocCodigo\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.cdocCodigo\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<option value=\"\">-- Seleccione opci\u00F3n</option>\r\n\t\t\t\t\t\t<option *ngFor=\"let document of listDocument\" [value]=\"document.id\">\r\n\t\t\t\t\t\t\t{{ document.name }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showVisibles\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"name\" class=\"form-control-label\">Visibilidad usuario</label>\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\t\t\tid=\"visibleInternal\"\r\n\t\t\t\t\t\t\t\tname=\"visibleInternal\"\r\n\t\t\t\t\t\t\t\tvalue=\"1\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.visibleInternal\"\r\n\t\t\t\t\t\t\t/> <label for=\"visibleInternal\">Interno</label> \r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\t\t\tid=\"visibleExternal\"\r\n\t\t\t\t\t\t\t\tname=\"visibleExternal\"\r\n\t\t\t\t\t\t\t\tvalue=\"1\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.visibleExternal\"\r\n\t\t\t\t\t\t\t/> \r\n\t\t\t\t\t\t\t<label for=\"visibleExternal\">Externo</label>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showFont\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"font\" class=\"form-control-label\">Tipo de letra</label>\r\n\t\t\t\t\t<select name=\"font\" id=\"font\" class=\"form-control\" [(ngModel)]=\"pdfConfig.font\">\r\n\t\t\t\t\t\t<option *ngFor=\"let font of listFont\" [value]=\"font.value\">\r\n\t\t\t\t\t\t\t{{ font.label }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showSize\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"size\" class=\"form-control-label\">Tama\u00F1o de hoja</label>\r\n\t\t\t\t\t<select name=\"size\" id=\"size\" class=\"form-control\" [(ngModel)]=\"pdfConfig.size\">\r\n\t\t\t\t\t\t<option *ngFor=\"let size of listSizes\" [value]=\"size.id\">\r\n\t\t\t\t\t\t\t{{ size.name }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showOrientation\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"orientation\" class=\"form-control-label\">Orientaci\u00F3n</label>\r\n\t\t\t\t\t<select\r\n\t\t\t\t\t\tname=\"orientation\"\r\n\t\t\t\t\t\tid=\"orientation\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.orientation\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<option\r\n\t\t\t\t\t\t\t*ngFor=\"let orientation of listOrientation\"\r\n\t\t\t\t\t\t\t[value]=\"orientation.id\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{ orientation.name }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showPager\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\tclass=\"check-space\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.showPager\"\r\n\t\t\t\t\t\tid=\"showPager\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<label for=\"showPager\" class=\"form-control-label\"> Ver paginador</label>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showRepeatHeader\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\tclass=\"check-space\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.repeatHeader\"\r\n\t\t\t\t\t\tid=\"repeatHeader\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<label for=\"repeatHeader\" class=\"form-control-label\"> Repetir encabezado</label>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showRepeatFooter\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\tclass=\"check-space\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.repeatFooter\"\r\n\t\t\t\t\t\tid=\"repeatFooter\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<label for=\"repeatFooter\" class=\"form-control-label\">\r\n\t\t\t\t\t\tRepetir pie de p\u00E1gina</label\r\n\t\t\t\t\t>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-md-12\" *ngIf=\"showMargins\" [ngClass]=\"{ 'top-space': showBr }\">\r\n\t\t\t\tM\u00E1rgenes (cm)\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginTop\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Arriba</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginTop\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginTop\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Arriba\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginTop\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginRight\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Derecha</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginRight\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginRight\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Derecha\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginRight\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginBottom\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Abajo</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginBottom\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginBottom\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Abajo\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginBottom\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginLeft\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Izquierda</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginLeft\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginLeft\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Izquierda\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginLeft\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div\r\n\t\t\t\tclass=\"col-md-12\"\r\n\t\t\t\t*ngIf=\"showHeaderFooterHeight\"\r\n\t\t\t\t[ngClass]=\"{ 'top-space': showBr }\"\r\n\t\t\t>\r\n\t\t\t\tAlturas (cm)\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showHeaderFooterHeight\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginTop\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Cabecera</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.headerHeight\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.headerHeight\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Cabecera\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.headerHeight\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showHeaderFooterHeight\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginTop\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Pie de p\u00E1gina</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.footerHeight\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.footerHeight\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Pie de p\u00E1g\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.footerHeight\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12 margin-top\" *ngIf=\"showTokens\">\r\n\t\t\t\t<pli-configuration-token\r\n\t\t\t\t\t[promCodigo]=\"promCodigo\"\r\n\t\t\t\t\t[showFrm]=\"showFrm\"\r\n\t\t\t\t\t[showStatic]=\"showStatic\"\r\n\t\t\t\t\t[showBudget]=\"showBudget\"\r\n\t\t\t\t\t[showCalculated]=\"showCalculated\"\r\n\t\t\t\t\t[showCalculatedForm]=\"showCalculatedForm\"\r\n\t\t\t\t\t[showSnapshotForm]=\"showSnapshotForm\"\r\n\t\t\t\t\t[showSnapshot]=\"showSnapshot\"\r\n\t\t\t\t></pli-configuration-token>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"col-md-9\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-md-12\" *ngIf=\"showHeader\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"header\" class=\"form-control-label\">Encabezado</label>\r\n\t\t\t\t\t<editor\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.header\"\r\n\t\t\t\t\t\t[init]=\"{\r\n\t\t\t\t\t\t\tbranding: false,\r\n\t\t\t\t\t\t\tbase_url: '/tinymce',\r\n\t\t\t\t\t\t\tsuffix: '.min',\r\n\t\t\t\t\t\t\tplugins: [\r\n\t\t\t\t\t\t\t\t'code preview autoresize paste colorpicker textcolor link table lists advlist image'\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\ttoolbar:\r\n\t\t\t\t\t\t\t\t'undo redo | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | forecolor backcolor fontsizeselect | code preview image link'\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t></editor>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"row margin-top\" *ngIf=\"showTemplate\">\r\n\t\t\t<div class=\"col-md-12\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"template\" class=\"form-control-label\">Cuerpo</label>\r\n\t\t\t\t\t<editor\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.template\"\r\n\t\t\t\t\t\t[init]=\"{\r\n\t\t\t\t\t\t\tbranding: false,\r\n\t\t\t\t\t\t\tbase_url: '/tinymce',\r\n\t\t\t\t\t\t\tsuffix: '.min',\r\n\t\t\t\t\t\t\tplugins: [\r\n\t\t\t\t\t\t\t\t'code preview autoresize paste colorpicker textcolor link table lists advlist image'\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\ttoolbar:\r\n\t\t\t\t\t\t\t\t'undo redo | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | forecolor backcolor fontsizeselect | code preview image link'\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t></editor>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"row margin-top\" *ngIf=\"showFooter\">\r\n\t\t\t<div class=\"col-md-12\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"footer\" class=\"form-control-label\">Pie de p\u00E1gina</label>\r\n\t\t\t\t\t<editor\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.footer\"\r\n\t\t\t\t\t\t[init]=\"{\r\n\t\t\t\t\t\t\tbranding: false,\r\n\t\t\t\t\t\t\tbase_url: '/tinymce',\r\n\t\t\t\t\t\t\tsuffix: '.min',\r\n\t\t\t\t\t\t\tplugins: [\r\n\t\t\t\t\t\t\t\t'code preview autoresize paste colorpicker textcolor link table lists advlist image'\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\ttoolbar:\r\n\t\t\t\t\t\t\t\t'undo redo | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | forecolor backcolor fontsizeselect | code preview image link'\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t></editor>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [".top-space{margin-top:12px}.check-space{margin-right:5px}\n"], components: [{ type: i3.ConfigurationTokenComponent, selector: "pli-configuration-token", inputs: ["promCodigo", "showFrm", "showFrmMultiple", "showStatic", "showBudget", "showCalculated", "showCalculatedForm", "showSnapshot", "showSnapshotForm", "showDocument", "showTask", "showGuatantee", "showGuatanteeForm", "showAsTitle"], outputs: ["onStaticToken"] }, { type: i4.EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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]" }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }] });
|
|
104
|
+
PdfConfigComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: PdfConfigComponent, selector: "pli-pdf-config", inputs: { promCodigo: "promCodigo", showFormula: "showFormula", showSnapshot: "showSnapshot", showSnapshotForm: "showSnapshotForm", showName: "showName", showIdiCodigo: "showIdiCodigo", showCdocCodigo: "showCdocCodigo", showTemplate: "showTemplate", showVisibles: "showVisibles", showMargins: "showMargins", showHeader: "showHeader", showFooter: "showFooter", showFont: "showFont", showTokens: "showTokens", showFrm: "showFrm", showStatic: "showStatic", showBudget: "showBudget", showCalculated: "showCalculated", showCalculatedForm: "showCalculatedForm", showSize: "showSize", showOrientation: "showOrientation", showRepeatHeader: "showRepeatHeader", showRepeatFooter: "showRepeatFooter", showPager: "showPager", showHeaderFooterHeight: "showHeaderFooterHeight", tgdocCodigo: "tgdocCodigo", pdfConfig: "pdfConfig", toolbar: "toolbar" }, outputs: { pdfConfigChange: "pdfConfigChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\r\n\t<div class=\"col-md-3\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showName\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"name\" class=\"form-control-label\">Nombre *</label>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tname=\"name\"\r\n\t\t\t\t\t\tid=\"name\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.name\"\r\n\t\t\t\t\t\tplaceholder=\"Nombre\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showFormula\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"formula\" class=\"form-control-label\"\r\n\t\t\t\t\t\t>F\u00F3rmula de la visibilidad del documento</label\r\n\t\t\t\t\t>\r\n\t\t\t\t\t<textarea\r\n\t\t\t\t\t\tstyle=\"resize: vertical\"\r\n\t\t\t\t\t\trows=\"2\"\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tname=\"formula\"\r\n\t\t\t\t\t\tid=\"formula\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.formula\"\r\n\t\t\t\t\t\tplaceholder=\"Formula de la visibilidad del documento\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</textarea>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showIdiCodigo\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"idiCodigo\" class=\"form-control-label\">Idioma *</label>\r\n\t\t\t\t\t<select\r\n\t\t\t\t\t\tname=\"idiCodigo\"\r\n\t\t\t\t\t\tid=\"idiCodigo\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.idiCodigo\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<option value=\"\">-- Seleccione opci\u00F3n</option>\r\n\t\t\t\t\t\t<option *ngFor=\"let language of listLanguage\" [value]=\"language.idiCodigo\">\r\n\t\t\t\t\t\t\t{{ language.idiIdioma }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showCdocCodigo\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"cdocCodigo\" class=\"form-control-label\">Tipo documento *</label>\r\n\t\t\t\t\t<select\r\n\t\t\t\t\t\tname=\"cdocCodigo\"\r\n\t\t\t\t\t\tid=\"cdocCodigo\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.cdocCodigo\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<option value=\"\">-- Seleccione opci\u00F3n</option>\r\n\t\t\t\t\t\t<option *ngFor=\"let document of listDocument\" [value]=\"document.id\">\r\n\t\t\t\t\t\t\t{{ document.name }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showVisibles\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"name\" class=\"form-control-label\">Visibilidad usuario</label>\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\t\t\tid=\"visibleInternal\"\r\n\t\t\t\t\t\t\t\tname=\"visibleInternal\"\r\n\t\t\t\t\t\t\t\tvalue=\"1\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.visibleInternal\"\r\n\t\t\t\t\t\t\t/> <label for=\"visibleInternal\">Interno</label> \r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\t\t\tid=\"visibleExternal\"\r\n\t\t\t\t\t\t\t\tname=\"visibleExternal\"\r\n\t\t\t\t\t\t\t\tvalue=\"1\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.visibleExternal\"\r\n\t\t\t\t\t\t\t/> \r\n\t\t\t\t\t\t\t<label for=\"visibleExternal\">Externo</label>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showFont\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"font\" class=\"form-control-label\">Tipo de letra</label>\r\n\t\t\t\t\t<select name=\"font\" id=\"font\" class=\"form-control\" [(ngModel)]=\"pdfConfig.font\">\r\n\t\t\t\t\t\t<option *ngFor=\"let font of listFont\" [value]=\"font.value\">\r\n\t\t\t\t\t\t\t{{ font.label }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showSize\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"size\" class=\"form-control-label\">Tama\u00F1o de hoja</label>\r\n\t\t\t\t\t<select name=\"size\" id=\"size\" class=\"form-control\" [(ngModel)]=\"pdfConfig.size\">\r\n\t\t\t\t\t\t<option *ngFor=\"let size of listSizes\" [value]=\"size.id\">\r\n\t\t\t\t\t\t\t{{ size.name }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showOrientation\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"orientation\" class=\"form-control-label\">Orientaci\u00F3n</label>\r\n\t\t\t\t\t<select\r\n\t\t\t\t\t\tname=\"orientation\"\r\n\t\t\t\t\t\tid=\"orientation\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.orientation\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<option\r\n\t\t\t\t\t\t\t*ngFor=\"let orientation of listOrientation\"\r\n\t\t\t\t\t\t\t[value]=\"orientation.id\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{ orientation.name }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showPager\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\tclass=\"check-space\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.showPager\"\r\n\t\t\t\t\t\tid=\"showPager\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<label for=\"showPager\" class=\"form-control-label\"> Ver paginador</label>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showRepeatHeader\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\tclass=\"check-space\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.repeatHeader\"\r\n\t\t\t\t\t\tid=\"repeatHeader\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<label for=\"repeatHeader\" class=\"form-control-label\"> Repetir encabezado</label>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showRepeatFooter\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\tclass=\"check-space\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.repeatFooter\"\r\n\t\t\t\t\t\tid=\"repeatFooter\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<label for=\"repeatFooter\" class=\"form-control-label\">\r\n\t\t\t\t\t\tRepetir pie de p\u00E1gina</label\r\n\t\t\t\t\t>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-md-12\" *ngIf=\"showMargins\" [ngClass]=\"{ 'top-space': showBr }\">\r\n\t\t\t\tM\u00E1rgenes (cm)\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginTop\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Arriba</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginTop\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginTop\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Arriba\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginTop\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginRight\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Derecha</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginRight\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginRight\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Derecha\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginRight\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginBottom\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Abajo</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginBottom\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginBottom\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Abajo\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginBottom\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginLeft\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Izquierda</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginLeft\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginLeft\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Izquierda\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginLeft\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div\r\n\t\t\t\tclass=\"col-md-12\"\r\n\t\t\t\t*ngIf=\"showHeaderFooterHeight\"\r\n\t\t\t\t[ngClass]=\"{ 'top-space': showBr }\"\r\n\t\t\t>\r\n\t\t\t\tAlturas (cm)\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showHeaderFooterHeight\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginTop\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Cabecera</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.headerHeight\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.headerHeight\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Cabecera\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.headerHeight\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showHeaderFooterHeight\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginTop\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Pie de p\u00E1gina</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.footerHeight\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.footerHeight\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Pie de p\u00E1g\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.footerHeight\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12 margin-top\" *ngIf=\"showTokens\">\r\n\t\t\t\t<pli-configuration-token\r\n\t\t\t\t\t[promCodigo]=\"promCodigo\"\r\n\t\t\t\t\t[showFrm]=\"showFrm\"\r\n\t\t\t\t\t[showStatic]=\"showStatic\"\r\n\t\t\t\t\t[showBudget]=\"showBudget\"\r\n\t\t\t\t\t[showCalculated]=\"showCalculated\"\r\n\t\t\t\t\t[showCalculatedForm]=\"showCalculatedForm\"\r\n\t\t\t\t\t[showSnapshotForm]=\"showSnapshotForm\"\r\n\t\t\t\t\t[showSnapshot]=\"showSnapshot\"\r\n\t\t\t\t></pli-configuration-token>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"col-md-9\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-md-12\" *ngIf=\"showHeader\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"header\" class=\"form-control-label\">Encabezado</label>\r\n\t\t\t\t\t<editor [(ngModel)]=\"pdfConfig.header\" [init]=\"options\"></editor>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"row margin-top\" *ngIf=\"showTemplate\">\r\n\t\t\t<div class=\"col-md-12\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"template\" class=\"form-control-label\">Cuerpo</label>\r\n\t\t\t\t\t<editor [(ngModel)]=\"pdfConfig.template\" [init]=\"options\"></editor>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"row margin-top\" *ngIf=\"showFooter\">\r\n\t\t\t<div class=\"col-md-12\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"footer\" class=\"form-control-label\">Pie de p\u00E1gina</label>\r\n\t\t\t\t\t<editor [(ngModel)]=\"pdfConfig.footer\" [init]=\"options\"></editor>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [".top-space{margin-top:12px}.check-space{margin-right:5px}\n"], components: [{ type: i3.ConfigurationTokenComponent, selector: "pli-configuration-token", inputs: ["promCodigo", "showFrm", "showFrmMultiple", "showStatic", "showBudget", "showCalculated", "showCalculatedForm", "showSnapshot", "showSnapshotForm", "showDocument", "showTask", "showGuatantee", "showGuatanteeForm", "showAsTitle"], outputs: ["onStaticToken"] }, { type: i4.EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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]" }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }] });
|
|
105
105
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: PdfConfigComponent, decorators: [{
|
|
106
106
|
type: Component,
|
|
107
|
-
args: [{ selector: 'pli-pdf-config', template: "<div class=\"row\">\r\n\t<div class=\"col-md-3\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showName\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"name\" class=\"form-control-label\">Nombre *</label>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tname=\"name\"\r\n\t\t\t\t\t\tid=\"name\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.name\"\r\n\t\t\t\t\t\tplaceholder=\"Nombre\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showFormula\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"formula\" class=\"form-control-label\"\r\n\t\t\t\t\t\t>F\u00F3rmula de la visibilidad del documento</label\r\n\t\t\t\t\t>\r\n\t\t\t\t\t<textarea\r\n\t\t\t\t\t\tstyle=\"resize: vertical\"\r\n\t\t\t\t\t\trows=\"2\"\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tname=\"formula\"\r\n\t\t\t\t\t\tid=\"formula\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.formula\"\r\n\t\t\t\t\t\tplaceholder=\"Formula de la visibilidad del documento\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</textarea>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showIdiCodigo\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"idiCodigo\" class=\"form-control-label\">Idioma *</label>\r\n\t\t\t\t\t<select\r\n\t\t\t\t\t\tname=\"idiCodigo\"\r\n\t\t\t\t\t\tid=\"idiCodigo\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.idiCodigo\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<option value=\"\">-- Seleccione opci\u00F3n</option>\r\n\t\t\t\t\t\t<option *ngFor=\"let language of listLanguage\" [value]=\"language.idiCodigo\">\r\n\t\t\t\t\t\t\t{{ language.idiIdioma }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showCdocCodigo\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"cdocCodigo\" class=\"form-control-label\">Tipo documento *</label>\r\n\t\t\t\t\t<select\r\n\t\t\t\t\t\tname=\"cdocCodigo\"\r\n\t\t\t\t\t\tid=\"cdocCodigo\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.cdocCodigo\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<option value=\"\">-- Seleccione opci\u00F3n</option>\r\n\t\t\t\t\t\t<option *ngFor=\"let document of listDocument\" [value]=\"document.id\">\r\n\t\t\t\t\t\t\t{{ document.name }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showVisibles\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"name\" class=\"form-control-label\">Visibilidad usuario</label>\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\t\t\tid=\"visibleInternal\"\r\n\t\t\t\t\t\t\t\tname=\"visibleInternal\"\r\n\t\t\t\t\t\t\t\tvalue=\"1\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.visibleInternal\"\r\n\t\t\t\t\t\t\t/> <label for=\"visibleInternal\">Interno</label> \r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\t\t\tid=\"visibleExternal\"\r\n\t\t\t\t\t\t\t\tname=\"visibleExternal\"\r\n\t\t\t\t\t\t\t\tvalue=\"1\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.visibleExternal\"\r\n\t\t\t\t\t\t\t/> \r\n\t\t\t\t\t\t\t<label for=\"visibleExternal\">Externo</label>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showFont\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"font\" class=\"form-control-label\">Tipo de letra</label>\r\n\t\t\t\t\t<select name=\"font\" id=\"font\" class=\"form-control\" [(ngModel)]=\"pdfConfig.font\">\r\n\t\t\t\t\t\t<option *ngFor=\"let font of listFont\" [value]=\"font.value\">\r\n\t\t\t\t\t\t\t{{ font.label }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showSize\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"size\" class=\"form-control-label\">Tama\u00F1o de hoja</label>\r\n\t\t\t\t\t<select name=\"size\" id=\"size\" class=\"form-control\" [(ngModel)]=\"pdfConfig.size\">\r\n\t\t\t\t\t\t<option *ngFor=\"let size of listSizes\" [value]=\"size.id\">\r\n\t\t\t\t\t\t\t{{ size.name }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showOrientation\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"orientation\" class=\"form-control-label\">Orientaci\u00F3n</label>\r\n\t\t\t\t\t<select\r\n\t\t\t\t\t\tname=\"orientation\"\r\n\t\t\t\t\t\tid=\"orientation\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.orientation\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<option\r\n\t\t\t\t\t\t\t*ngFor=\"let orientation of listOrientation\"\r\n\t\t\t\t\t\t\t[value]=\"orientation.id\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{ orientation.name }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showPager\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\tclass=\"check-space\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.showPager\"\r\n\t\t\t\t\t\tid=\"showPager\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<label for=\"showPager\" class=\"form-control-label\"> Ver paginador</label>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showRepeatHeader\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\tclass=\"check-space\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.repeatHeader\"\r\n\t\t\t\t\t\tid=\"repeatHeader\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<label for=\"repeatHeader\" class=\"form-control-label\"> Repetir encabezado</label>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showRepeatFooter\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\tclass=\"check-space\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.repeatFooter\"\r\n\t\t\t\t\t\tid=\"repeatFooter\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<label for=\"repeatFooter\" class=\"form-control-label\">\r\n\t\t\t\t\t\tRepetir pie de p\u00E1gina</label\r\n\t\t\t\t\t>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-md-12\" *ngIf=\"showMargins\" [ngClass]=\"{ 'top-space': showBr }\">\r\n\t\t\t\tM\u00E1rgenes (cm)\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginTop\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Arriba</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginTop\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginTop\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Arriba\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginTop\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginRight\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Derecha</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginRight\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginRight\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Derecha\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginRight\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginBottom\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Abajo</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginBottom\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginBottom\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Abajo\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginBottom\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginLeft\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Izquierda</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginLeft\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginLeft\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Izquierda\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginLeft\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div\r\n\t\t\t\tclass=\"col-md-12\"\r\n\t\t\t\t*ngIf=\"showHeaderFooterHeight\"\r\n\t\t\t\t[ngClass]=\"{ 'top-space': showBr }\"\r\n\t\t\t>\r\n\t\t\t\tAlturas (cm)\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showHeaderFooterHeight\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginTop\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Cabecera</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.headerHeight\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.headerHeight\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Cabecera\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.headerHeight\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showHeaderFooterHeight\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginTop\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Pie de p\u00E1gina</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.footerHeight\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.footerHeight\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Pie de p\u00E1g\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.footerHeight\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12 margin-top\" *ngIf=\"showTokens\">\r\n\t\t\t\t<pli-configuration-token\r\n\t\t\t\t\t[promCodigo]=\"promCodigo\"\r\n\t\t\t\t\t[showFrm]=\"showFrm\"\r\n\t\t\t\t\t[showStatic]=\"showStatic\"\r\n\t\t\t\t\t[showBudget]=\"showBudget\"\r\n\t\t\t\t\t[showCalculated]=\"showCalculated\"\r\n\t\t\t\t\t[showCalculatedForm]=\"showCalculatedForm\"\r\n\t\t\t\t\t[showSnapshotForm]=\"showSnapshotForm\"\r\n\t\t\t\t\t[showSnapshot]=\"showSnapshot\"\r\n\t\t\t\t></pli-configuration-token>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"col-md-9\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-md-12\" *ngIf=\"showHeader\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"header\" class=\"form-control-label\">Encabezado</label>\r\n\t\t\t\t\t<editor\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.header\"\r\n\t\t\t\t\t\t[init]=\"{\r\n\t\t\t\t\t\t\tbranding: false,\r\n\t\t\t\t\t\t\tbase_url: '/tinymce',\r\n\t\t\t\t\t\t\tsuffix: '.min',\r\n\t\t\t\t\t\t\tplugins: [\r\n\t\t\t\t\t\t\t\t'code preview autoresize paste colorpicker textcolor link table lists advlist image'\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\ttoolbar:\r\n\t\t\t\t\t\t\t\t'undo redo | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | forecolor backcolor fontsizeselect | code preview image link'\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t></editor>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"row margin-top\" *ngIf=\"showTemplate\">\r\n\t\t\t<div class=\"col-md-12\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"template\" class=\"form-control-label\">Cuerpo</label>\r\n\t\t\t\t\t<editor\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.template\"\r\n\t\t\t\t\t\t[init]=\"{\r\n\t\t\t\t\t\t\tbranding: false,\r\n\t\t\t\t\t\t\tbase_url: '/tinymce',\r\n\t\t\t\t\t\t\tsuffix: '.min',\r\n\t\t\t\t\t\t\tplugins: [\r\n\t\t\t\t\t\t\t\t'code preview autoresize paste colorpicker textcolor link table lists advlist image'\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\ttoolbar:\r\n\t\t\t\t\t\t\t\t'undo redo | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | forecolor backcolor fontsizeselect | code preview image link'\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t></editor>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"row margin-top\" *ngIf=\"showFooter\">\r\n\t\t\t<div class=\"col-md-12\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"footer\" class=\"form-control-label\">Pie de p\u00E1gina</label>\r\n\t\t\t\t\t<editor\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.footer\"\r\n\t\t\t\t\t\t[init]=\"{\r\n\t\t\t\t\t\t\tbranding: false,\r\n\t\t\t\t\t\t\tbase_url: '/tinymce',\r\n\t\t\t\t\t\t\tsuffix: '.min',\r\n\t\t\t\t\t\t\tplugins: [\r\n\t\t\t\t\t\t\t\t'code preview autoresize paste colorpicker textcolor link table lists advlist image'\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\ttoolbar:\r\n\t\t\t\t\t\t\t\t'undo redo | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | forecolor backcolor fontsizeselect | code preview image link'\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t></editor>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [".top-space{margin-top:12px}.check-space{margin-right:5px}\n"] }]
|
|
107
|
+
args: [{ selector: 'pli-pdf-config', template: "<div class=\"row\">\r\n\t<div class=\"col-md-3\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showName\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"name\" class=\"form-control-label\">Nombre *</label>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tname=\"name\"\r\n\t\t\t\t\t\tid=\"name\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.name\"\r\n\t\t\t\t\t\tplaceholder=\"Nombre\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showFormula\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"formula\" class=\"form-control-label\"\r\n\t\t\t\t\t\t>F\u00F3rmula de la visibilidad del documento</label\r\n\t\t\t\t\t>\r\n\t\t\t\t\t<textarea\r\n\t\t\t\t\t\tstyle=\"resize: vertical\"\r\n\t\t\t\t\t\trows=\"2\"\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tname=\"formula\"\r\n\t\t\t\t\t\tid=\"formula\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.formula\"\r\n\t\t\t\t\t\tplaceholder=\"Formula de la visibilidad del documento\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</textarea>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showIdiCodigo\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"idiCodigo\" class=\"form-control-label\">Idioma *</label>\r\n\t\t\t\t\t<select\r\n\t\t\t\t\t\tname=\"idiCodigo\"\r\n\t\t\t\t\t\tid=\"idiCodigo\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.idiCodigo\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<option value=\"\">-- Seleccione opci\u00F3n</option>\r\n\t\t\t\t\t\t<option *ngFor=\"let language of listLanguage\" [value]=\"language.idiCodigo\">\r\n\t\t\t\t\t\t\t{{ language.idiIdioma }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showCdocCodigo\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"cdocCodigo\" class=\"form-control-label\">Tipo documento *</label>\r\n\t\t\t\t\t<select\r\n\t\t\t\t\t\tname=\"cdocCodigo\"\r\n\t\t\t\t\t\tid=\"cdocCodigo\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.cdocCodigo\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<option value=\"\">-- Seleccione opci\u00F3n</option>\r\n\t\t\t\t\t\t<option *ngFor=\"let document of listDocument\" [value]=\"document.id\">\r\n\t\t\t\t\t\t\t{{ document.name }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showVisibles\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"name\" class=\"form-control-label\">Visibilidad usuario</label>\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\t\t\tid=\"visibleInternal\"\r\n\t\t\t\t\t\t\t\tname=\"visibleInternal\"\r\n\t\t\t\t\t\t\t\tvalue=\"1\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.visibleInternal\"\r\n\t\t\t\t\t\t\t/> <label for=\"visibleInternal\">Interno</label> \r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\t\t\tid=\"visibleExternal\"\r\n\t\t\t\t\t\t\t\tname=\"visibleExternal\"\r\n\t\t\t\t\t\t\t\tvalue=\"1\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.visibleExternal\"\r\n\t\t\t\t\t\t\t/> \r\n\t\t\t\t\t\t\t<label for=\"visibleExternal\">Externo</label>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showFont\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"font\" class=\"form-control-label\">Tipo de letra</label>\r\n\t\t\t\t\t<select name=\"font\" id=\"font\" class=\"form-control\" [(ngModel)]=\"pdfConfig.font\">\r\n\t\t\t\t\t\t<option *ngFor=\"let font of listFont\" [value]=\"font.value\">\r\n\t\t\t\t\t\t\t{{ font.label }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showSize\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"size\" class=\"form-control-label\">Tama\u00F1o de hoja</label>\r\n\t\t\t\t\t<select name=\"size\" id=\"size\" class=\"form-control\" [(ngModel)]=\"pdfConfig.size\">\r\n\t\t\t\t\t\t<option *ngFor=\"let size of listSizes\" [value]=\"size.id\">\r\n\t\t\t\t\t\t\t{{ size.name }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showOrientation\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"orientation\" class=\"form-control-label\">Orientaci\u00F3n</label>\r\n\t\t\t\t\t<select\r\n\t\t\t\t\t\tname=\"orientation\"\r\n\t\t\t\t\t\tid=\"orientation\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.orientation\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<option\r\n\t\t\t\t\t\t\t*ngFor=\"let orientation of listOrientation\"\r\n\t\t\t\t\t\t\t[value]=\"orientation.id\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{ orientation.name }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showPager\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\tclass=\"check-space\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.showPager\"\r\n\t\t\t\t\t\tid=\"showPager\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<label for=\"showPager\" class=\"form-control-label\"> Ver paginador</label>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showRepeatHeader\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\tclass=\"check-space\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.repeatHeader\"\r\n\t\t\t\t\t\tid=\"repeatHeader\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<label for=\"repeatHeader\" class=\"form-control-label\"> Repetir encabezado</label>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showRepeatFooter\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\tclass=\"check-space\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.repeatFooter\"\r\n\t\t\t\t\t\tid=\"repeatFooter\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<label for=\"repeatFooter\" class=\"form-control-label\">\r\n\t\t\t\t\t\tRepetir pie de p\u00E1gina</label\r\n\t\t\t\t\t>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-md-12\" *ngIf=\"showMargins\" [ngClass]=\"{ 'top-space': showBr }\">\r\n\t\t\t\tM\u00E1rgenes (cm)\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginTop\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Arriba</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginTop\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginTop\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Arriba\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginTop\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginRight\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Derecha</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginRight\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginRight\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Derecha\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginRight\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginBottom\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Abajo</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginBottom\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginBottom\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Abajo\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginBottom\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginLeft\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Izquierda</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginLeft\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginLeft\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Izquierda\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginLeft\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div\r\n\t\t\t\tclass=\"col-md-12\"\r\n\t\t\t\t*ngIf=\"showHeaderFooterHeight\"\r\n\t\t\t\t[ngClass]=\"{ 'top-space': showBr }\"\r\n\t\t\t>\r\n\t\t\t\tAlturas (cm)\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showHeaderFooterHeight\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginTop\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Cabecera</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.headerHeight\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.headerHeight\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Cabecera\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.headerHeight\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showHeaderFooterHeight\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginTop\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Pie de p\u00E1gina</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.footerHeight\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.footerHeight\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Pie de p\u00E1g\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.footerHeight\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12 margin-top\" *ngIf=\"showTokens\">\r\n\t\t\t\t<pli-configuration-token\r\n\t\t\t\t\t[promCodigo]=\"promCodigo\"\r\n\t\t\t\t\t[showFrm]=\"showFrm\"\r\n\t\t\t\t\t[showStatic]=\"showStatic\"\r\n\t\t\t\t\t[showBudget]=\"showBudget\"\r\n\t\t\t\t\t[showCalculated]=\"showCalculated\"\r\n\t\t\t\t\t[showCalculatedForm]=\"showCalculatedForm\"\r\n\t\t\t\t\t[showSnapshotForm]=\"showSnapshotForm\"\r\n\t\t\t\t\t[showSnapshot]=\"showSnapshot\"\r\n\t\t\t\t></pli-configuration-token>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"col-md-9\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-md-12\" *ngIf=\"showHeader\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"header\" class=\"form-control-label\">Encabezado</label>\r\n\t\t\t\t\t<editor [(ngModel)]=\"pdfConfig.header\" [init]=\"options\"></editor>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"row margin-top\" *ngIf=\"showTemplate\">\r\n\t\t\t<div class=\"col-md-12\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"template\" class=\"form-control-label\">Cuerpo</label>\r\n\t\t\t\t\t<editor [(ngModel)]=\"pdfConfig.template\" [init]=\"options\"></editor>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"row margin-top\" *ngIf=\"showFooter\">\r\n\t\t\t<div class=\"col-md-12\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"footer\" class=\"form-control-label\">Pie de p\u00E1gina</label>\r\n\t\t\t\t\t<editor [(ngModel)]=\"pdfConfig.footer\" [init]=\"options\"></editor>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [".top-space{margin-top:12px}.check-space{margin-right:5px}\n"] }]
|
|
108
108
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.CommonService }, { type: i2.ConfigurationDocumentService }]; }, propDecorators: { promCodigo: [{
|
|
109
109
|
type: Input
|
|
110
110
|
}], showFormula: [{
|
|
@@ -164,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor
|
|
|
164
164
|
}], toolbar: [{
|
|
165
165
|
type: Input
|
|
166
166
|
}] } });
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wbGktY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvcGRmLWNvbmZpZy9wZGYtY29uZmlnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9wZGYtY29uZmlnL3BkZi1jb25maWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQXFCLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFHbkYsT0FBTyxFQUFxQixlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7OztBQU0zRSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsNkJBQTZCO0lBZ0VwRSxZQUNXLEtBQXdCLEVBQ3hCLGFBQTRCLEVBQzVCLDRCQUEwRDtRQUVwRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBSmxCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBOEI7UUFoRXJFLGdDQUFnQztRQUV2QixnQkFBVyxHQUFZLElBQUksQ0FBQztRQUM1QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixpQkFBWSxHQUFZLEtBQUss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QkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQXFCUCxPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmLCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQ29tbW9uc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb24uY29tbW9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uRG9jdW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlndXJhdGlvbi1kb2N1bWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSWRpb21hLCBQZGZDb25maWcsIEVQZGZPcmllbnRhdGlvbiwgRVBkZlNpemUgfSBmcm9tICduZy1wbGktdXRpbCc7XHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAncGxpLXBkZi1jb25maWcnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9wZGYtY29uZmlnLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9wZGYtY29uZmlnLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGRmQ29uZmlnQ29tcG9uZW50IGV4dGVuZHMgQ29uZmlndXJhdGlvbkNvbW1vbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdC8qKiBpdCBjb250YWlucyB0aGUgcHJvbSBjb2RpZ28gKi9cclxuXHRASW5wdXQoKSBwcm9tQ29kaWdvOiBudW1iZXI7XHJcblx0LyoqIElucHV0cyB0byBzaG93IHRoZSBmaWVsZHMgKi9cclxuXHJcblx0QElucHV0KCkgc2hvd0Zvcm11bGE6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdEBJbnB1dCgpIHNob3dTbmFwc2hvdDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dTbmFwc2hvdEZvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBzaG93TmFtZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dJZGlDb2RpZ286IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBzaG93Q2RvY0NvZGlnbzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dUZW1wbGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dWaXNpYmxlczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dNYXJnaW5zOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgc2hvd0hlYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dGb290ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBzaG93Rm9udDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dUb2tlbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHQvKiogSXQgY29udGFpbnMgaWYgdmlzaWJsZSBmcm0gdG9rZW5zICovXHJcblx0QElucHV0KCkgc2hvd0ZybTogYm9vbGVhbiA9IHRydWU7XHJcblx0LyoqIEl0IGNvbnRhaW5zIGlmIHZpc2libGUgc3RhdGljIHRva2VucyAqL1xyXG5cdEBJbnB1dCgpIHNob3dTdGF0aWM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdC8qKiBJdCBjb250YWlucyBpZiB2aXNpYmxlIGJ1ZGdldCB0b2tlbnMgKi9cclxuXHRASW5wdXQoKSBzaG93QnVkZ2V0OiBib29sZWFuID0gdHJ1ZTtcclxuXHQvKiogSXQgY29udGFpbnMgaWYgdmlzaWJsZSBjYWxjdWxhdGVkIHRva2VucyAqL1xyXG5cdEBJbnB1dCgpIHNob3dDYWxjdWxhdGVkOiBib29sZWFuID0gdHJ1ZTtcclxuXHQvKiogSXQgY29udGFpbnMgaWYgdmlzaWJsZSBjYWxjdWxhdGVkIGZvcm0gKi9cclxuXHRASW5wdXQoKSBzaG93Q2FsY3VsYXRlZEZvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBzaG93U2l6ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dPcmllbnRhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dSZXBlYXRIZWFkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBzaG93UmVwZWF0Rm9vdGVyOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgc2hvd1BhZ2VyOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgc2hvd0hlYWRlckZvb3RlckhlaWdodDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdC8qKiBpdCBjb250YWlucyB0aGUgZ3JvcHVwIGRvY3VtZW50ICovXHJcblx0QElucHV0KCkgdGdkb2NDb2RpZ286IG51bWJlciA9IDEwO1xyXG5cdC8qKiBpdCBjb250YWlucyB0aGUgcGRmIGNvbmZpZyAqL1xyXG5cdEBJbnB1dCgpIHBkZkNvbmZpZzogUGRmQ29uZmlnO1xyXG5cdEBPdXRwdXQoKSBwZGZDb25maWdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxQZGZDb25maWc+ID0gbmV3IEV2ZW50RW1pdHRlcjxQZGZDb25maWc+KCk7XHJcblxyXG5cdC8qKiBpdCBjb250YWlucyB0aGUgbGlzdCBsYW5ndWFnZSAqL1xyXG5cdGxpc3RMYW5ndWFnZTogSWRpb21hW107XHJcblx0LyoqIGl0IGNvbnRhaW5zIHRoZSBsaXN0IGRvY3VtZW50cyAqL1xyXG5cdGxpc3REb2N1bWVudDogQXJyYXk8YW55PjtcclxuXHQvKiogaXQgY29udGFpbnMgdGhlIGxpc3QgZm9udHMgKi9cclxuXHRsaXN0Rm9udDogQXJyYXk8YW55PjtcclxuXHQvKiogaXQgY29udGFpbnMgdGhlIG9yaWVudGF0aW9ucyBsaXN0ICovXHJcblx0bGlzdE9yaWVudGF0aW9uOiBBcnJheTxFUGRmT3JpZW50YXRpb24+O1xyXG5cdC8qKiBpdCBjb250YWlucyB0aGUgc2l6ZXMgbGlzdCAqL1xyXG5cdGxpc3RTaXplczogQXJyYXk8RVBkZlNpemU+O1xyXG5cdC8qKiBpdCBoYW5kbGVzIHRoZSBzcGFjZSBiZXR3ZWVuIG1hcmdpbnMgYW5kIGNoZWNrcyAqL1xyXG5cdHNob3dCcjogYm9vbGVhbjtcclxuXHQvKiogKi9cclxuXHRjb25maWd1cmF0aW9uUGRmOiBQZGZDb25maWc7XHJcblx0LyoqIEl0IGNvbnRpYW5zIHRoZSBsaXN0IG9mIHRva2VuICovXHJcblx0bGlzdFN0YXRpY1Rva2VuOiBhbnk7XHJcblxyXG5cdC8qKiBPcHRpb25hbCBpbnB1dCBmb3IgcmljaCB0ZXh0IHRvb2xiYXIgKi9cclxuXHRASW5wdXQoKVxyXG5cdHRvb2xiYXI6IHN0cmluZztcclxuXHJcblx0LyoqIEl0IGNvbnRhaW5zIHRoZSBjdXN0b20gb3B0aW9ucyBmb3IgcmljaCB0ZXh0Ki9cclxuXHRvcHRpb25zOiBhbnk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJvdGVjdGVkIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRcdHByb3RlY3RlZCBjb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlLFxyXG5cdFx0cHJvdGVjdGVkIGNvbmZpZ3VyYXRpb25Eb2N1bWVudFNlcnZpY2U6IENvbmZpZ3VyYXRpb25Eb2N1bWVudFNlcnZpY2VcclxuXHQpIHtcclxuXHRcdHN1cGVyKGNvbW1vblNlcnZpY2UsIGNkUmVmKTtcclxuXHRcdHRoaXMub3B0aW9ucyA9IHsgYnJhbmRpbmc6IGZhbHNlIH07XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMuaGFuZGxlT3B0aW9ucygpO1xyXG5cdFx0dGhpcy5pbml0TGlzdHMoKTtcclxuXHR9XHJcblxyXG5cdGhhbmRsZU9wdGlvbnMoKSB7XHJcblx0XHRpZiAodGhpcy50b29sYmFyKSB7XHJcblx0XHRcdHRoaXMub3B0aW9ucy50b29sYmFyID0gdGhpcy50b29sYmFyO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIGl0IGluaXRpYWxpYXplcyB0aGUgbGlzdHMgKi9cclxuXHRwcml2YXRlIGluaXRMaXN0cygpIHtcclxuXHRcdC8vIGxpc3Qgb2YgZm9udFxyXG5cdFx0dGhpcy5saXN0Rm9udCA9IFtcclxuXHRcdFx0eyB2YWx1ZTogJ0FyaWFsJywgbGFiZWw6ICdBcmlhbCcgfSxcclxuXHRcdFx0eyB2YWx1ZTogJ0NhbGlicmknLCBsYWJlbDogJ0NhbGlicmknIH0sXHJcblx0XHRcdHsgdmFsdWU6ICdHZW9yZ2lhJywgbGFiZWw6ICdHZW9yZ2lhJyB9LFxyXG5cdFx0XHR7IHZhbHVlOiAnVGltZXMnLCBsYWJlbDogJ1RpbWVzIE5ldyBSb21hbicgfSxcclxuXHRcdFx0eyB2YWx1ZTogJ1ZlcmRhbmEnLCBsYWJlbDogJ1ZlcmRhbmEnIH1cclxuXHRcdF07XHJcblxyXG5cdFx0Ly8gSXQgaW5pdGlhbGl6ZXMgb3JpZW50YXRpb24gYW5kIHNpemUgbGlzdHMgYW5kIHZhbHVlXHJcblx0XHR0aGlzLmxpc3RTaXplcyA9IFtFUGRmU2l6ZS5MRVRURVIsIEVQZGZTaXplLkxFR0FMXTtcclxuXHRcdHRoaXMubGlzdE9yaWVudGF0aW9uID0gW0VQZGZPcmllbnRhdGlvbi5QT1JUUkFJVCwgRVBkZk9yaWVudGF0aW9uLkxBTkRTQ0FQRV07XHJcblxyXG5cdFx0Ly8gRGVmYXVsdCB2YWx1ZXNcclxuXHRcdHRoaXMucGRmQ29uZmlnLnNpemUgPSB0aGlzLnBkZkNvbmZpZy5zaXplIHx8IEVQZGZTaXplLkxFVFRFUi5pZDtcclxuXHRcdHRoaXMucGRmQ29uZmlnLm9yaWVudGF0aW9uID0gdGhpcy5wZGZDb25maWcub3JpZW50YXRpb24gfHwgRVBkZk9yaWVudGF0aW9uLlBPUlRSQUlULmlkO1xyXG5cdFx0dGhpcy5wZGZDb25maWcuc2hvd1BhZ2VyID1cclxuXHRcdFx0dHlwZW9mIHRoaXMucGRmQ29uZmlnLnNob3dQYWdlciA9PT0gJ3VuZGVmaW5lZCcgPyB0cnVlIDogdGhpcy5wZGZDb25maWcuc2hvd1BhZ2VyO1xyXG5cdFx0dGhpcy5wZGZDb25maWcucmVwZWF0SGVhZGVyID1cclxuXHRcdFx0dHlwZW9mIHRoaXMucGRmQ29uZmlnLnJlcGVhdEhlYWRlciA9PT0gJ3VuZGVmaW5lZCcgPyB0cnVlIDogdGhpcy5wZGZDb25maWcucmVwZWF0SGVhZGVyO1xyXG5cdFx0dGhpcy5wZGZDb25maWcucmVwZWF0Rm9vdGVyID1cclxuXHRcdFx0dHlwZW9mIHRoaXMucGRmQ29uZmlnLnJlcGVhdEZvb3RlciA9PT0gJ3VuZGVmaW5lZCcgPyB0cnVlIDogdGhpcy5wZGZDb25maWcucmVwZWF0Rm9vdGVyO1xyXG5cclxuXHRcdC8vIGl0IGluaXRpYWxpemVzIGxhbmd1YWdlbGlzdFxyXG5cdFx0aWYgKHRoaXMuc2hvd0lkaUNvZGlnbylcclxuXHRcdFx0dGhpcy5jb21tb25TZXJ2aWNlLm9uTGFuZ3VhZ2VDaGFuZ2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuXHRcdFx0XHRpZiAocmVzdWx0KSB0aGlzLmxpc3RMYW5ndWFnZSA9IHJlc3VsdDtcclxuXHRcdFx0fSk7XHJcblxyXG5cdFx0Ly8gaXQgaW5pYWxpemVzIHRoZSBkb2N1bWVudFxyXG5cdFx0aWYgKHRoaXMuc2hvd0Nkb2NDb2RpZ28pXHJcblx0XHRcdHRoaXMuY29uZmlndXJhdGlvbkRvY3VtZW50U2VydmljZVxyXG5cdFx0XHRcdC5nZUxpc3RCeVByb21Db2RpZ29BbmRUZ2RvY0NvZGlnbyh0aGlzLnByb21Db2RpZ28sIHRoaXMudGdkb2NDb2RpZ28pXHJcblx0XHRcdFx0LnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmxpc3REb2N1bWVudCA9IHJlc3VsdDtcclxuXHRcdFx0XHR9KTtcclxuXHRcdHRoaXMuc2hvd0JyID0gdGhpcy5zaG93UmVwZWF0SGVhZGVyIHx8IHRoaXMuc2hvd1JlcGVhdEZvb3RlciB8fCB0aGlzLnNob3dQYWdlcjtcclxuXHR9XHJcblx0LyoqIEl0IHNldHMgdGhlIGxpc3Qgb2YgdG9rZW4gKi9cclxuXHRzZXRMaXN0VG9rZW4obGlzdFRva2VuOiBhbnkpIHtcclxuXHRcdHRoaXMubGlzdFN0YXRpY1Rva2VuID0gbGlzdFRva2VuO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XHJcblx0PGRpdiBjbGFzcz1cImNvbC1tZC0zXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtc20tMTJcIiAqbmdJZj1cInNob3dOYW1lXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJuYW1lXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5Ob21icmUgKjwvbGFiZWw+XHJcblx0XHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdFx0dHlwZT1cInRleHRcIlxyXG5cdFx0XHRcdFx0XHRuYW1lPVwibmFtZVwiXHJcblx0XHRcdFx0XHRcdGlkPVwibmFtZVwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuXHRcdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJwZGZDb25maWcubmFtZVwiXHJcblx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiTm9tYnJlXCJcclxuXHRcdFx0XHRcdC8+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1jb250cm9sLWVycm9yXCI+PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCIgKm5nSWY9XCJzaG93Rm9ybXVsYVwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcblx0XHRcdFx0XHQ8bGFiZWwgZm9yPVwiZm9ybXVsYVwiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCJcclxuXHRcdFx0XHRcdFx0PkbDs3JtdWxhIGRlIGxhIHZpc2liaWxpZGFkIGRlbCBkb2N1bWVudG88L2xhYmVsXHJcblx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHQ8dGV4dGFyZWFcclxuXHRcdFx0XHRcdFx0c3R5bGU9XCJyZXNpemU6IHZlcnRpY2FsXCJcclxuXHRcdFx0XHRcdFx0cm93cz1cIjJcIlxyXG5cdFx0XHRcdFx0XHR0eXBlPVwidGV4dFwiXHJcblx0XHRcdFx0XHRcdG5hbWU9XCJmb3JtdWxhXCJcclxuXHRcdFx0XHRcdFx0aWQ9XCJmb3JtdWxhXCJcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG5cdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy5mb3JtdWxhXCJcclxuXHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI9XCJGb3JtdWxhIGRlIGxhIHZpc2liaWxpZGFkIGRlbCBkb2N1bWVudG9cIlxyXG5cdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0PC90ZXh0YXJlYT5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2wtZXJyb3JcIj48L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCIgKm5nSWY9XCJzaG93SWRpQ29kaWdvXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJpZGlDb2RpZ29cIiBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPklkaW9tYSAqPC9sYWJlbD5cclxuXHRcdFx0XHRcdDxzZWxlY3RcclxuXHRcdFx0XHRcdFx0bmFtZT1cImlkaUNvZGlnb1wiXHJcblx0XHRcdFx0XHRcdGlkPVwiaWRpQ29kaWdvXCJcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG5cdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy5pZGlDb2RpZ29cIlxyXG5cdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHQ8b3B0aW9uIHZhbHVlPVwiXCI+LS0gU2VsZWNjaW9uZSBvcGNpw7NuPC9vcHRpb24+XHJcblx0XHRcdFx0XHRcdDxvcHRpb24gKm5nRm9yPVwibGV0IGxhbmd1YWdlIG9mIGxpc3RMYW5ndWFnZVwiIFt2YWx1ZV09XCJsYW5ndWFnZS5pZGlDb2RpZ29cIj5cclxuXHRcdFx0XHRcdFx0XHR7eyBsYW5ndWFnZS5pZGlJZGlvbWEgfX1cclxuXHRcdFx0XHRcdFx0PC9vcHRpb24+XHJcblx0XHRcdFx0XHQ8L3NlbGVjdD5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2wtZXJyb3JcIj48L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCIgKm5nSWY9XCJzaG93Q2RvY0NvZGlnb1wiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcblx0XHRcdFx0XHQ8bGFiZWwgZm9yPVwiY2RvY0NvZGlnb1wiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+VGlwbyBkb2N1bWVudG8gKjwvbGFiZWw+XHJcblx0XHRcdFx0XHQ8c2VsZWN0XHJcblx0XHRcdFx0XHRcdG5hbWU9XCJjZG9jQ29kaWdvXCJcclxuXHRcdFx0XHRcdFx0aWQ9XCJjZG9jQ29kaWdvXCJcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG5cdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy5jZG9jQ29kaWdvXCJcclxuXHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0PG9wdGlvbiB2YWx1ZT1cIlwiPi0tIFNlbGVjY2lvbmUgb3BjacOzbjwvb3B0aW9uPlxyXG5cdFx0XHRcdFx0XHQ8b3B0aW9uICpuZ0Zvcj1cImxldCBkb2N1bWVudCBvZiBsaXN0RG9jdW1lbnRcIiBbdmFsdWVdPVwiZG9jdW1lbnQuaWRcIj5cclxuXHRcdFx0XHRcdFx0XHR7eyBkb2N1bWVudC5uYW1lIH19XHJcblx0XHRcdFx0XHRcdDwvb3B0aW9uPlxyXG5cdFx0XHRcdFx0PC9zZWxlY3Q+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1jb250cm9sLWVycm9yXCI+PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiICpuZ0lmPVwic2hvd1Zpc2libGVzXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJuYW1lXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5WaXNpYmlsaWRhZCB1c3VhcmlvPC9sYWJlbD5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC14cy0xMlwiPlxyXG5cdFx0XHRcdFx0XHRcdDxpbnB1dFxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZT1cImNoZWNrYm94XCJcclxuXHRcdFx0XHRcdFx0XHRcdGlkPVwidmlzaWJsZUludGVybmFsXCJcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU9XCJ2aXNpYmxlSW50ZXJuYWxcIlxyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU9XCIxXCJcclxuXHRcdFx0XHRcdFx0XHRcdFsobmdNb2RlbCldPVwicGRmQ29uZmlnLnZpc2libGVJbnRlcm5hbFwiXHJcblx0XHRcdFx0XHRcdFx0Lz4mbmJzcDsgPGxhYmVsIGZvcj1cInZpc2libGVJbnRlcm5hbFwiPkludGVybm88L2xhYmVsPiAmbmJzcDsmbmJzcDsmbmJzcDtcclxuXHRcdFx0XHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU9XCJjaGVja2JveFwiXHJcblx0XHRcdFx0XHRcdFx0XHRpZD1cInZpc2libGVFeHRlcm5hbFwiXHJcblx0XHRcdFx0XHRcdFx0XHRuYW1lPVwidmlzaWJsZUV4dGVybmFsXCJcclxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlPVwiMVwiXHJcblx0XHRcdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy52aXNpYmxlRXh0ZXJuYWxcIlxyXG5cdFx0XHRcdFx0XHRcdC8+Jm5ic3A7XHJcblx0XHRcdFx0XHRcdFx0PGxhYmVsIGZvcj1cInZpc2libGVFeHRlcm5hbFwiPkV4dGVybm88L2xhYmVsPlxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tY29udHJvbC1lcnJvclwiPjwvZGl2PlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtc20tMTJcIiAqbmdJZj1cInNob3dGb250XCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJmb250XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5UaXBvIGRlIGxldHJhPC9sYWJlbD5cclxuXHRcdFx0XHRcdDxzZWxlY3QgbmFtZT1cImZvbnRcIiBpZD1cImZvbnRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwicGRmQ29uZmlnLmZvbnRcIj5cclxuXHRcdFx0XHRcdFx0PG9wdGlvbiAqbmdGb3I9XCJsZXQgZm9udCBvZiBsaXN0Rm9udFwiIFt2YWx1ZV09XCJmb250LnZhbHVlXCI+XHJcblx0XHRcdFx0XHRcdFx0e3sgZm9udC5sYWJlbCB9fVxyXG5cdFx0XHRcdFx0XHQ8L29wdGlvbj5cclxuXHRcdFx0XHRcdDwvc2VsZWN0PlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tY29udHJvbC1lcnJvclwiPjwvZGl2PlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtc20tMTJcIiAqbmdJZj1cInNob3dTaXplXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJzaXplXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5UYW1hw7FvIGRlIGhvamE8L2xhYmVsPlxyXG5cdFx0XHRcdFx0PHNlbGVjdCBuYW1lPVwic2l6ZVwiIGlkPVwic2l6ZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJwZGZDb25maWcuc2l6ZVwiPlxyXG5cdFx0XHRcdFx0XHQ8b3B0aW9uICpuZ0Zvcj1cImxldCBzaXplIG9mIGxpc3RTaXplc1wiIFt2YWx1ZV09XCJzaXplLmlkXCI+XHJcblx0XHRcdFx0XHRcdFx0e3sgc2l6ZS5uYW1lIH19XHJcblx0XHRcdFx0XHRcdDwvb3B0aW9uPlxyXG5cdFx0XHRcdFx0PC9zZWxlY3Q+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1jb250cm9sLWVycm9yXCI+PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiICpuZ0lmPVwic2hvd09yaWVudGF0aW9uXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJvcmllbnRhdGlvblwiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+T3JpZW50YWNpw7NuPC9sYWJlbD5cclxuXHRcdFx0XHRcdDxzZWxlY3RcclxuXHRcdFx0XHRcdFx0bmFtZT1cIm9yaWVudGF0aW9uXCJcclxuXHRcdFx0XHRcdFx0aWQ9XCJvcmllbnRhdGlvblwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuXHRcdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJwZGZDb25maWcub3JpZW50YXRpb25cIlxyXG5cdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHQ8b3B0aW9uXHJcblx0XHRcdFx0XHRcdFx0Km5nRm9yPVwibGV0IG9yaWVudGF0aW9uIG9mIGxpc3RPcmllbnRhdGlvblwiXHJcblx0XHRcdFx0XHRcdFx0W3ZhbHVlXT1cIm9yaWVudGF0aW9uLmlkXCJcclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdHt7IG9yaWVudGF0aW9uLm5hbWUgfX1cclxuXHRcdFx0XHRcdFx0PC9vcHRpb24+XHJcblx0XHRcdFx0XHQ8L3NlbGVjdD5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2wtZXJyb3JcIj48L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCIgKm5nSWY9XCJzaG93UGFnZXJcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG5cdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdHR5cGU9XCJjaGVja2JveFwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiY2hlY2stc3BhY2VcIlxyXG5cdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy5zaG93UGFnZXJcIlxyXG5cdFx0XHRcdFx0XHRpZD1cInNob3dQYWdlclwiXHJcblx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdFx0PGxhYmVsIGZvcj1cInNob3dQYWdlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+IFZlciBwYWdpbmFkb3I8L2xhYmVsPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtc20tMTJcIiAqbmdJZj1cInNob3dSZXBlYXRIZWFkZXJcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG5cdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdHR5cGU9XCJjaGVja2JveFwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiY2hlY2stc3BhY2VcIlxyXG5cdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy5yZXBlYXRIZWFkZXJcIlxyXG5cdFx0XHRcdFx0XHRpZD1cInJlcGVhdEhlYWRlclwiXHJcblx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdFx0PGxhYmVsIGZvcj1cInJlcGVhdEhlYWRlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+IFJlcGV0aXIgZW5jYWJlemFkbzwvbGFiZWw+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiICpuZ0lmPVwic2hvd1JlcGVhdEZvb3RlclwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcblx0XHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdFx0dHlwZT1cImNoZWNrYm94XCJcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJjaGVjay1zcGFjZVwiXHJcblx0XHRcdFx0XHRcdFsobmdNb2RlbCldPVwicGRmQ29uZmlnLnJlcGVhdEZvb3RlclwiXHJcblx0XHRcdFx0XHRcdGlkPVwicmVwZWF0Rm9vdGVyXCJcclxuXHRcdFx0XHRcdC8+XHJcblx0XHRcdFx0XHQ8bGFiZWwgZm9yPVwicmVwZWF0Rm9vdGVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5cclxuXHRcdFx0XHRcdFx0UmVwZXRpciBwaWUgZGUgcMOhZ2luYTwvbGFiZWxcclxuXHRcdFx0XHRcdD5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCIgKm5nSWY9XCJzaG93TWFyZ2luc1wiIFtuZ0NsYXNzXT1cInsgJ3RvcC1zcGFjZSc6IHNob3dCciB9XCI+XHJcblx0XHRcdFx0TcOhcmdlbmVzIChjbSlcclxuXHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIiAqbmdJZj1cInNob3dNYXJnaW5zXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC14cy0xMlwiPlxyXG5cdFx0XHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJwZGZDb25maWcubWFyZ2luVG9wXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIlxyXG5cdFx0XHRcdFx0XHRcdFx0PkFycmliYTwvbGFiZWxcclxuXHRcdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlPVwibnVtYmVyXCJcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU9XCJwZGZDb25maWcubWFyZ2luVG9wXCJcclxuXHRcdFx0XHRcdFx0XHRcdGlkPVwicGRmQ29uZmlnLm1hcmdpblRvcFwiXHJcblx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcblx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIkFycmliYVwiXHJcblx0XHRcdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy5tYXJnaW5Ub3BcIlxyXG5cdFx0XHRcdFx0XHRcdC8+XHJcblx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC1zbS02XCIgKm5nSWY9XCJzaG93TWFyZ2luc1wiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wteHMtMTJcIj5cclxuXHRcdFx0XHRcdFx0XHQ8bGFiZWwgZm9yPVwicGRmQ29uZmlnLm1hcmdpblJpZ2h0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIlxyXG5cdFx0XHRcdFx0XHRcdFx0PkRlcmVjaGE8L2xhYmVsXHJcblx0XHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdDxpbnB1dFxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZT1cIm51bWJlclwiXHJcblx0XHRcdFx0XHRcdFx0XHRuYW1lPVwicGRmQ29uZmlnLm1hcmdpblJpZ2h0XCJcclxuXHRcdFx0XHRcdFx0XHRcdGlkPVwicGRmQ29uZmlnLm1hcmdpblJpZ2h0XCJcclxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuXHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiRGVyZWNoYVwiXHJcblx0XHRcdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy5tYXJnaW5SaWdodFwiXHJcblx0XHRcdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIiAqbmdJZj1cInNob3dNYXJnaW5zXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC14cy0xMlwiPlxyXG5cdFx0XHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJwZGZDb25maWcubWFyZ2luQm90dG9tXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIlxyXG5cdFx0XHRcdFx0XHRcdFx0PkFiYWpvPC9sYWJlbFxyXG5cdFx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU9XCJudW1iZXJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0bmFtZT1cInBkZkNvbmZpZy5tYXJnaW5Cb3R0b21cIlxyXG5cdFx0XHRcdFx0XHRcdFx0aWQ9XCJwZGZDb25maWcubWFyZ2luQm90dG9tXCJcclxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuXHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiQWJham9cIlxyXG5cdFx0XHRcdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJwZGZDb25maWcubWFyZ2luQm90dG9tXCJcclxuXHRcdFx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiICpuZ0lmPVwic2hvd01hcmdpbnNcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInJvd1wiPlxyXG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLXhzLTEyXCI+XHJcblx0XHRcdFx0XHRcdFx0PGxhYmVsIGZvcj1cInBkZkNvbmZpZy5tYXJnaW5MZWZ0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Pkl6cXVpZXJkYTwvbGFiZWxcclxuXHRcdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlPVwibnVtYmVyXCJcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU9XCJwZGZDb25maWcubWFyZ2luTGVmdFwiXHJcblx0XHRcdFx0XHRcdFx0XHRpZD1cInBkZkNvbmZpZy5tYXJnaW5MZWZ0XCJcclxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuXHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiSXpxdWllcmRhXCJcclxuXHRcdFx0XHRcdFx0XHRcdFsobmdNb2RlbCldPVwicGRmQ29uZmlnLm1hcmdpbkxlZnRcIlxyXG5cdFx0XHRcdFx0XHRcdC8+XHJcblx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0PGRpdlxyXG5cdFx0XHRcdGNsYXNzPVwiY29sLW1kLTEyXCJcclxuXHRcdFx0XHQqbmdJZj1cInNob3dIZWFkZXJGb290ZXJIZWlnaHRcIlxyXG5cdFx0XHRcdFtuZ0NsYXNzXT1cInsgJ3RvcC1zcGFjZSc6IHNob3dCciB9XCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdEFsdHVyYXMgKGNtKVxyXG5cdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiICpuZ0lmPVwic2hvd0hlYWRlckZvb3RlckhlaWdodFwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wteHMtMTJcIj5cclxuXHRcdFx0XHRcdFx0XHQ8bGFiZWwgZm9yPVwicGRmQ29uZmlnLm1hcmdpblRvcFwiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCJcclxuXHRcdFx0XHRcdFx0XHRcdD5DYWJlY2VyYTwvbGFiZWxcclxuXHRcdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlPVwibnVtYmVyXCJcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU9XCJwZGZDb25maWcuaGVhZGVySGVpZ2h0XCJcclxuXHRcdFx0XHRcdFx0XHRcdGlkPVwicGRmQ29uZmlnLmhlYWRlckhlaWdodFwiXHJcblx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcblx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIkNhYmVjZXJhXCJcclxuXHRcdFx0XHRcdFx0XHRcdFsobmdNb2RlbCldPVwicGRmQ29uZmlnLmhlYWRlckhlaWdodFwiXHJcblx0XHRcdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiICpuZ0lmPVwic2hvd0hlYWRlckZvb3RlckhlaWdodFwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wteHMtMTJcIj5cclxuXHRcdFx0XHRcdFx0XHQ8bGFiZWwgZm9yPVwicGRmQ29uZmlnLm1hcmdpblRvcFwiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCJcclxuXHRcdFx0XHRcdFx0XHRcdD5QaWUgZGUgcMOhZ2luYTwvbGFiZWxcclxuXHRcdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlPVwibnVtYmVyXCJcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU9XCJwZGZDb25maWcuZm9vdGVySGVpZ2h0XCJcclxuXHRcdFx0XHRcdFx0XHRcdGlkPVwicGRmQ29uZmlnLmZvb3RlckhlaWdodFwiXHJcblx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcblx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIlBpZSBkZSBww6FnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFsobmdNb2RlbCldPVwicGRmQ29uZmlnLmZvb3RlckhlaWdodFwiXHJcblx0XHRcdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIG1hcmdpbi10b3BcIiAqbmdJZj1cInNob3dUb2tlbnNcIj5cclxuXHRcdFx0XHQ8cGxpLWNvbmZpZ3VyYXRpb24tdG9rZW5cclxuXHRcdFx0XHRcdFtwcm9tQ29kaWdvXT1cInByb21Db2RpZ29cIlxyXG5cdFx0XHRcdFx0W3Nob3dGcm1dPVwic2hvd0ZybVwiXHJcblx0XHRcdFx0XHRbc2hvd1N0YXRpY109XCJzaG93U3RhdGljXCJcclxuXHRcdFx0XHRcdFtzaG93QnVkZ2V0XT1cInNob3dCdWRnZXRcIlxyXG5cdFx0XHRcdFx0W3Nob3dDYWxjdWxhdGVkXT1cInNob3dDYWxjdWxhdGVkXCJcclxuXHRcdFx0XHRcdFtzaG93Q2FsY3VsYXRlZEZvcm1dPVwic2hvd0NhbGN1bGF0ZWRGb3JtXCJcclxuXHRcdFx0XHRcdFtzaG93U25hcHNob3RGb3JtXT1cInNob3dTbmFwc2hvdEZvcm1cIlxyXG5cdFx0XHRcdFx0W3Nob3dTbmFwc2hvdF09XCJzaG93U25hcHNob3RcIlxyXG5cdFx0XHRcdD48L3BsaS1jb25maWd1cmF0aW9uLXRva2VuPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJjb2wtbWQtOVwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInJvd1wiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCIgKm5nSWY9XCJzaG93SGVhZGVyXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJoZWFkZXJcIiBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPkVuY2FiZXphZG88L2xhYmVsPlxyXG5cdFx0XHRcdFx0PGVkaXRvclxyXG5cdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy5oZWFkZXJcIlxyXG5cdFx0XHRcdFx0XHRbaW5pdF09XCJ7XHJcblx0XHRcdFx0XHRcdFx0YnJhbmRpbmc6IGZhbHNlLFxyXG5cdFx0XHRcdFx0XHRcdGJhc2VfdXJsOiAnL3RpbnltY2UnLFxyXG5cdFx0XHRcdFx0XHRcdHN1ZmZpeDogJy5taW4nLFxyXG5cdFx0XHRcdFx0XHRcdHBsdWdpbnM6IFtcclxuXHRcdFx0XHRcdFx0XHRcdCdjb2RlIHByZXZpZXcgYXV0b3Jlc2l6ZSBwYXN0ZSBjb2xvcnBpY2tlciB0ZXh0Y29sb3IgbGluayB0YWJsZSBsaXN0cyBhZHZsaXN0IGltYWdlJ1xyXG5cdFx0XHRcdFx0XHRcdF0sXHJcblx0XHRcdFx0XHRcdFx0dG9vbGJhcjpcclxuXHRcdFx0XHRcdFx0XHRcdCd1bmRvIHJlZG8gfCBib2xkIGl0YWxpYyB8IGFsaWdubGVmdCBhbGlnbmNlbnRlciBhbGlnbnJpZ2h0IGFsaWduanVzdGlmeSB8IGJ1bGxpc3QgbnVtbGlzdCBvdXRkZW50IGluZGVudCB8IGZvcmVjb2xvciBiYWNrY29sb3IgZm9udHNpemVzZWxlY3QgfCBjb2RlIHByZXZpZXcgaW1hZ2UgbGluaydcclxuXHRcdFx0XHRcdFx0fVwiXHJcblx0XHRcdFx0XHQ+PC9lZGl0b3I+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblxyXG5cdFx0PGRpdiBjbGFzcz1cInJvdyBtYXJnaW4tdG9wXCIgKm5nSWY9XCJzaG93VGVtcGxhdGVcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcblx0XHRcdFx0XHQ8bGFiZWwgZm9yPVwidGVtcGxhdGVcIiBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPkN1ZXJwbzwvbGFiZWw+XHJcblx0XHRcdFx0XHQ8ZWRpdG9yXHJcblx0XHRcdFx0XHRcdFsobmdNb2RlbCldPVwicGRmQ29uZmlnLnRlbXBsYXRlXCJcclxuXHRcdFx0XHRcdFx0W2luaXRdPVwie1xyXG5cdFx0XHRcdFx0XHRcdGJyYW5kaW5nOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRiYXNlX3VybDogJy90aW55bWNlJyxcclxuXHRcdFx0XHRcdFx0XHRzdWZmaXg6ICcubWluJyxcclxuXHRcdFx0XHRcdFx0XHRwbHVnaW5zOiBbXHJcblx0XHRcdFx0XHRcdFx0XHQnY29kZSBwcmV2aWV3IGF1dG9yZXNpemUgcGFzdGUgY29sb3JwaWNrZXIgdGV4dGNvbG9yIGxpbmsgdGFibGUgbGlzdHMgYWR2bGlzdCBpbWFnZSdcclxuXHRcdFx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0XHRcdHRvb2xiYXI6XHJcblx0XHRcdFx0XHRcdFx0XHQndW5kbyByZWRvIHwgYm9sZCBpdGFsaWMgfCBhbGlnbmxlZnQgYWxpZ25jZW50ZXIgYWxpZ25yaWdodCBhbGlnbmp1c3RpZnkgfCBidWxsaXN0IG51bWxpc3Qgb3V0ZGVudCBpbmRlbnQgfCBmb3JlY29sb3IgYmFja2NvbG9yIGZvbnRzaXplc2VsZWN0IHwgY29kZSBwcmV2aWV3IGltYWdlIGxpbmsnXHJcblx0XHRcdFx0XHRcdH1cIlxyXG5cdFx0XHRcdFx0PjwvZWRpdG9yPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cclxuXHRcdDxkaXYgY2xhc3M9XCJyb3cgbWFyZ2luLXRvcFwiICpuZ0lmPVwic2hvd0Zvb3RlclwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJmb290ZXJcIiBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPlBpZSBkZSBww6FnaW5hPC9sYWJlbD5cclxuXHRcdFx0XHRcdDxlZGl0b3JcclxuXHRcdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJwZGZDb25maWcuZm9vdGVyXCJcclxuXHRcdFx0XHRcdFx0W2luaXRdPVwie1xyXG5cdFx0XHRcdFx0XHRcdGJyYW5kaW5nOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRiYXNlX3VybDogJy90aW55bWNlJyxcclxuXHRcdFx0XHRcdFx0XHRzdWZmaXg6ICcubWluJyxcclxuXHRcdFx0XHRcdFx0XHRwbHVnaW5zOiBbXHJcblx0XHRcdFx0XHRcdFx0XHQnY29kZSBwcmV2aWV3IGF1dG9yZXNpemUgcGFzdGUgY29sb3JwaWNrZXIgdGV4dGNvbG9yIGxpbmsgdGFibGUgbGlzdHMgYWR2bGlzdCBpbWFnZSdcclxuXHRcdFx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0XHRcdHRvb2xiYXI6XHJcblx0XHRcdFx0XHRcdFx0XHQndW5kbyByZWRvIHwgYm9sZCBpdGFsaWMgfCBhbGlnbmxlZnQgYWxpZ25jZW50ZXIgYWxpZ25yaWdodCBhbGlnbmp1c3RpZnkgfCBidWxsaXN0IG51bWxpc3Qgb3V0ZGVudCBpbmRlbnQgfCBmb3JlY29sb3IgYmFja2NvbG9yIGZvbnRzaXplc2VsZWN0IHwgY29kZSBwcmV2aWV3IGltYWdlIGxpbmsnXHJcblx0XHRcdFx0XHRcdH1cIlxyXG5cdFx0XHRcdFx0PjwvZWRpdG9yPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wbGktY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvcGRmLWNvbmZpZy9wZGYtY29uZmlnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9wZGYtY29uZmlnL3BkZi1jb25maWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQXFCLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFHbkYsT0FBTyxFQUFxQixlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7OztBQU0zRSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsNkJBQTZCO0lBZ0VwRSxZQUNXLEtBQXdCLEVBQ3hCLGFBQTRCLEVBQzVCLDRCQUEwRDtRQUVwRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBSmxCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBOEI7UUFoRXJFLGdDQUFnQztRQUV2QixnQkFBVyxHQUFZLElBQUksQ0FBQztRQUM1QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixpQkFBWSxHQUFZLEtBQUss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QkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQXFCUCxPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmLCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQ29tbW9uc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb24uY29tbW9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uRG9jdW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlndXJhdGlvbi1kb2N1bWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSWRpb21hLCBQZGZDb25maWcsIEVQZGZPcmllbnRhdGlvbiwgRVBkZlNpemUgfSBmcm9tICduZy1wbGktdXRpbCc7XHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAncGxpLXBkZi1jb25maWcnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9wZGYtY29uZmlnLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9wZGYtY29uZmlnLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGRmQ29uZmlnQ29tcG9uZW50IGV4dGVuZHMgQ29uZmlndXJhdGlvbkNvbW1vbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdC8qKiBpdCBjb250YWlucyB0aGUgcHJvbSBjb2RpZ28gKi9cclxuXHRASW5wdXQoKSBwcm9tQ29kaWdvOiBudW1iZXI7XHJcblx0LyoqIElucHV0cyB0byBzaG93IHRoZSBmaWVsZHMgKi9cclxuXHJcblx0QElucHV0KCkgc2hvd0Zvcm11bGE6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdEBJbnB1dCgpIHNob3dTbmFwc2hvdDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dTbmFwc2hvdEZvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBzaG93TmFtZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dJZGlDb2RpZ286IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBzaG93Q2RvY0NvZGlnbzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dUZW1wbGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dWaXNpYmxlczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dNYXJnaW5zOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgc2hvd0hlYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dGb290ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBzaG93Rm9udDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dUb2tlbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHQvKiogSXQgY29udGFpbnMgaWYgdmlzaWJsZSBmcm0gdG9rZW5zICovXHJcblx0QElucHV0KCkgc2hvd0ZybTogYm9vbGVhbiA9IHRydWU7XHJcblx0LyoqIEl0IGNvbnRhaW5zIGlmIHZpc2libGUgc3RhdGljIHRva2VucyAqL1xyXG5cdEBJbnB1dCgpIHNob3dTdGF0aWM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdC8qKiBJdCBjb250YWlucyBpZiB2aXNpYmxlIGJ1ZGdldCB0b2tlbnMgKi9cclxuXHRASW5wdXQoKSBzaG93QnVkZ2V0OiBib29sZWFuID0gdHJ1ZTtcclxuXHQvKiogSXQgY29udGFpbnMgaWYgdmlzaWJsZSBjYWxjdWxhdGVkIHRva2VucyAqL1xyXG5cdEBJbnB1dCgpIHNob3dDYWxjdWxhdGVkOiBib29sZWFuID0gdHJ1ZTtcclxuXHQvKiogSXQgY29udGFpbnMgaWYgdmlzaWJsZSBjYWxjdWxhdGVkIGZvcm0gKi9cclxuXHRASW5wdXQoKSBzaG93Q2FsY3VsYXRlZEZvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBzaG93U2l6ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dPcmllbnRhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dSZXBlYXRIZWFkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBzaG93UmVwZWF0Rm9vdGVyOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgc2hvd1BhZ2VyOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgc2hvd0hlYWRlckZvb3RlckhlaWdodDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdC8qKiBpdCBjb250YWlucyB0aGUgZ3JvcHVwIGRvY3VtZW50ICovXHJcblx0QElucHV0KCkgdGdkb2NDb2RpZ286IG51bWJlciA9IDEwO1xyXG5cdC8qKiBpdCBjb250YWlucyB0aGUgcGRmIGNvbmZpZyAqL1xyXG5cdEBJbnB1dCgpIHBkZkNvbmZpZzogUGRmQ29uZmlnO1xyXG5cdEBPdXRwdXQoKSBwZGZDb25maWdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxQZGZDb25maWc+ID0gbmV3IEV2ZW50RW1pdHRlcjxQZGZDb25maWc+KCk7XHJcblxyXG5cdC8qKiBpdCBjb250YWlucyB0aGUgbGlzdCBsYW5ndWFnZSAqL1xyXG5cdGxpc3RMYW5ndWFnZTogSWRpb21hW107XHJcblx0LyoqIGl0IGNvbnRhaW5zIHRoZSBsaXN0IGRvY3VtZW50cyAqL1xyXG5cdGxpc3REb2N1bWVudDogQXJyYXk8YW55PjtcclxuXHQvKiogaXQgY29udGFpbnMgdGhlIGxpc3QgZm9udHMgKi9cclxuXHRsaXN0Rm9udDogQXJyYXk8YW55PjtcclxuXHQvKiogaXQgY29udGFpbnMgdGhlIG9yaWVudGF0aW9ucyBsaXN0ICovXHJcblx0bGlzdE9yaWVudGF0aW9uOiBBcnJheTxFUGRmT3JpZW50YXRpb24+O1xyXG5cdC8qKiBpdCBjb250YWlucyB0aGUgc2l6ZXMgbGlzdCAqL1xyXG5cdGxpc3RTaXplczogQXJyYXk8RVBkZlNpemU+O1xyXG5cdC8qKiBpdCBoYW5kbGVzIHRoZSBzcGFjZSBiZXR3ZWVuIG1hcmdpbnMgYW5kIGNoZWNrcyAqL1xyXG5cdHNob3dCcjogYm9vbGVhbjtcclxuXHQvKiogKi9cclxuXHRjb25maWd1cmF0aW9uUGRmOiBQZGZDb25maWc7XHJcblx0LyoqIEl0IGNvbnRpYW5zIHRoZSBsaXN0IG9mIHRva2VuICovXHJcblx0bGlzdFN0YXRpY1Rva2VuOiBhbnk7XHJcblxyXG5cdC8qKiBPcHRpb25hbCBpbnB1dCBmb3IgcmljaCB0ZXh0IHRvb2xiYXIgKi9cclxuXHRASW5wdXQoKVxyXG5cdHRvb2xiYXI6IHN0cmluZztcclxuXHJcblx0LyoqIEl0IGNvbnRhaW5zIHRoZSBjdXN0b20gb3B0aW9ucyBmb3IgcmljaCB0ZXh0Ki9cclxuXHRvcHRpb25zOiBhbnk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJvdGVjdGVkIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRcdHByb3RlY3RlZCBjb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlLFxyXG5cdFx0cHJvdGVjdGVkIGNvbmZpZ3VyYXRpb25Eb2N1bWVudFNlcnZpY2U6IENvbmZpZ3VyYXRpb25Eb2N1bWVudFNlcnZpY2VcclxuXHQpIHtcclxuXHRcdHN1cGVyKGNvbW1vblNlcnZpY2UsIGNkUmVmKTtcclxuXHRcdHRoaXMub3B0aW9ucyA9IHsgYnJhbmRpbmc6IGZhbHNlIH07XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMuaGFuZGxlT3B0aW9ucygpO1xyXG5cdFx0dGhpcy5pbml0TGlzdHMoKTtcclxuXHR9XHJcblxyXG5cdGhhbmRsZU9wdGlvbnMoKSB7XHJcblx0XHRpZiAodGhpcy50b29sYmFyKSB7XHJcblx0XHRcdHRoaXMub3B0aW9ucy50b29sYmFyID0gdGhpcy50b29sYmFyO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIGl0IGluaXRpYWxpYXplcyB0aGUgbGlzdHMgKi9cclxuXHRwcml2YXRlIGluaXRMaXN0cygpIHtcclxuXHRcdC8vIGxpc3Qgb2YgZm9udFxyXG5cdFx0dGhpcy5saXN0Rm9udCA9IFtcclxuXHRcdFx0eyB2YWx1ZTogJ0FyaWFsJywgbGFiZWw6ICdBcmlhbCcgfSxcclxuXHRcdFx0eyB2YWx1ZTogJ0NhbGlicmknLCBsYWJlbDogJ0NhbGlicmknIH0sXHJcblx0XHRcdHsgdmFsdWU6ICdHZW9yZ2lhJywgbGFiZWw6ICdHZW9yZ2lhJyB9LFxyXG5cdFx0XHR7IHZhbHVlOiAnVGltZXMnLCBsYWJlbDogJ1RpbWVzIE5ldyBSb21hbicgfSxcclxuXHRcdFx0eyB2YWx1ZTogJ1ZlcmRhbmEnLCBsYWJlbDogJ1ZlcmRhbmEnIH1cclxuXHRcdF07XHJcblxyXG5cdFx0Ly8gSXQgaW5pdGlhbGl6ZXMgb3JpZW50YXRpb24gYW5kIHNpemUgbGlzdHMgYW5kIHZhbHVlXHJcblx0XHR0aGlzLmxpc3RTaXplcyA9IFtFUGRmU2l6ZS5MRVRURVIsIEVQZGZTaXplLkxFR0FMXTtcclxuXHRcdHRoaXMubGlzdE9yaWVudGF0aW9uID0gW0VQZGZPcmllbnRhdGlvbi5QT1JUUkFJVCwgRVBkZk9yaWVudGF0aW9uLkxBTkRTQ0FQRV07XHJcblxyXG5cdFx0Ly8gRGVmYXVsdCB2YWx1ZXNcclxuXHRcdHRoaXMucGRmQ29uZmlnLnNpemUgPSB0aGlzLnBkZkNvbmZpZy5zaXplIHx8IEVQZGZTaXplLkxFVFRFUi5pZDtcclxuXHRcdHRoaXMucGRmQ29uZmlnLm9yaWVudGF0aW9uID0gdGhpcy5wZGZDb25maWcub3JpZW50YXRpb24gfHwgRVBkZk9yaWVudGF0aW9uLlBPUlRSQUlULmlkO1xyXG5cdFx0dGhpcy5wZGZDb25maWcuc2hvd1BhZ2VyID1cclxuXHRcdFx0dHlwZW9mIHRoaXMucGRmQ29uZmlnLnNob3dQYWdlciA9PT0gJ3VuZGVmaW5lZCcgPyB0cnVlIDogdGhpcy5wZGZDb25maWcuc2hvd1BhZ2VyO1xyXG5cdFx0dGhpcy5wZGZDb25maWcucmVwZWF0SGVhZGVyID1cclxuXHRcdFx0dHlwZW9mIHRoaXMucGRmQ29uZmlnLnJlcGVhdEhlYWRlciA9PT0gJ3VuZGVmaW5lZCcgPyB0cnVlIDogdGhpcy5wZGZDb25maWcucmVwZWF0SGVhZGVyO1xyXG5cdFx0dGhpcy5wZGZDb25maWcucmVwZWF0Rm9vdGVyID1cclxuXHRcdFx0dHlwZW9mIHRoaXMucGRmQ29uZmlnLnJlcGVhdEZvb3RlciA9PT0gJ3VuZGVmaW5lZCcgPyB0cnVlIDogdGhpcy5wZGZDb25maWcucmVwZWF0Rm9vdGVyO1xyXG5cclxuXHRcdC8vIGl0IGluaXRpYWxpemVzIGxhbmd1YWdlbGlzdFxyXG5cdFx0aWYgKHRoaXMuc2hvd0lkaUNvZGlnbylcclxuXHRcdFx0dGhpcy5jb21tb25TZXJ2aWNlLm9uTGFuZ3VhZ2VDaGFuZ2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuXHRcdFx0XHRpZiAocmVzdWx0KSB0aGlzLmxpc3RMYW5ndWFnZSA9IHJlc3VsdDtcclxuXHRcdFx0fSk7XHJcblxyXG5cdFx0Ly8gaXQgaW5pYWxpemVzIHRoZSBkb2N1bWVudFxyXG5cdFx0aWYgKHRoaXMuc2hvd0Nkb2NDb2RpZ28pXHJcblx0XHRcdHRoaXMuY29uZmlndXJhdGlvbkRvY3VtZW50U2VydmljZVxyXG5cdFx0XHRcdC5nZUxpc3RCeVByb21Db2RpZ29BbmRUZ2RvY0NvZGlnbyh0aGlzLnByb21Db2RpZ28sIHRoaXMudGdkb2NDb2RpZ28pXHJcblx0XHRcdFx0LnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmxpc3REb2N1bWVudCA9IHJlc3VsdDtcclxuXHRcdFx0XHR9KTtcclxuXHRcdHRoaXMuc2hvd0JyID0gdGhpcy5zaG93UmVwZWF0SGVhZGVyIHx8IHRoaXMuc2hvd1JlcGVhdEZvb3RlciB8fCB0aGlzLnNob3dQYWdlcjtcclxuXHR9XHJcblx0LyoqIEl0IHNldHMgdGhlIGxpc3Qgb2YgdG9rZW4gKi9cclxuXHRzZXRMaXN0VG9rZW4obGlzdFRva2VuOiBhbnkpIHtcclxuXHRcdHRoaXMubGlzdFN0YXRpY1Rva2VuID0gbGlzdFRva2VuO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XHJcblx0PGRpdiBjbGFzcz1cImNvbC1tZC0zXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtc20tMTJcIiAqbmdJZj1cInNob3dOYW1lXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJuYW1lXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5Ob21icmUgKjwvbGFiZWw+XHJcblx0XHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdFx0dHlwZT1cInRleHRcIlxyXG5cdFx0XHRcdFx0XHRuYW1lPVwibmFtZVwiXHJcblx0XHRcdFx0XHRcdGlkPVwibmFtZVwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuXHRcdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJwZGZDb25maWcubmFtZVwiXHJcblx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiTm9tYnJlXCJcclxuXHRcdFx0XHRcdC8+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1jb250cm9sLWVycm9yXCI+PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCIgKm5nSWY9XCJzaG93Rm9ybXVsYVwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcblx0XHRcdFx0XHQ8bGFiZWwgZm9yPVwiZm9ybXVsYVwiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCJcclxuXHRcdFx0XHRcdFx0PkbDs3JtdWxhIGRlIGxhIHZpc2liaWxpZGFkIGRlbCBkb2N1bWVudG88L2xhYmVsXHJcblx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHQ8dGV4dGFyZWFcclxuXHRcdFx0XHRcdFx0c3R5bGU9XCJyZXNpemU6IHZlcnRpY2FsXCJcclxuXHRcdFx0XHRcdFx0cm93cz1cIjJcIlxyXG5cdFx0XHRcdFx0XHR0eXBlPVwidGV4dFwiXHJcblx0XHRcdFx0XHRcdG5hbWU9XCJmb3JtdWxhXCJcclxuXHRcdFx0XHRcdFx0aWQ9XCJmb3JtdWxhXCJcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG5cdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy5mb3JtdWxhXCJcclxuXHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI9XCJGb3JtdWxhIGRlIGxhIHZpc2liaWxpZGFkIGRlbCBkb2N1bWVudG9cIlxyXG5cdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0PC90ZXh0YXJlYT5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2wtZXJyb3JcIj48L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCIgKm5nSWY9XCJzaG93SWRpQ29kaWdvXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJpZGlDb2RpZ29cIiBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPklkaW9tYSAqPC9sYWJlbD5cclxuXHRcdFx0XHRcdDxzZWxlY3RcclxuXHRcdFx0XHRcdFx0bmFtZT1cImlkaUNvZGlnb1wiXHJcblx0XHRcdFx0XHRcdGlkPVwiaWRpQ29kaWdvXCJcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG5cdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy5pZGlDb2RpZ29cIlxyXG5cdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHQ8b3B0aW9uIHZhbHVlPVwiXCI+LS0gU2VsZWNjaW9uZSBvcGNpw7NuPC9vcHRpb24+XHJcblx0XHRcdFx0XHRcdDxvcHRpb24gKm5nRm9yPVwibGV0IGxhbmd1YWdlIG9mIGxpc3RMYW5ndWFnZVwiIFt2YWx1ZV09XCJsYW5ndWFnZS5pZGlDb2RpZ29cIj5cclxuXHRcdFx0XHRcdFx0XHR7eyBsYW5ndWFnZS5pZGlJZGlvbWEgfX1cclxuXHRcdFx0XHRcdFx0PC9vcHRpb24+XHJcblx0XHRcdFx0XHQ8L3NlbGVjdD5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2wtZXJyb3JcIj48L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCIgKm5nSWY9XCJzaG93Q2RvY0NvZGlnb1wiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcblx0XHRcdFx0XHQ8bGFiZWwgZm9yPVwiY2RvY0NvZGlnb1wiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+VGlwbyBkb2N1bWVudG8gKjwvbGFiZWw+XHJcblx0XHRcdFx0XHQ8c2VsZWN0XHJcblx0XHRcdFx0XHRcdG5hbWU9XCJjZG9jQ29kaWdvXCJcclxuXHRcdFx0XHRcdFx0aWQ9XCJjZG9jQ29kaWdvXCJcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG5cdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy5jZG9jQ29kaWdvXCJcclxuXHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0PG9wdGlvbiB2YWx1ZT1cIlwiPi0tIFNlbGVjY2lvbmUgb3BjacOzbjwvb3B0aW9uPlxyXG5cdFx0XHRcdFx0XHQ8b3B0aW9uICpuZ0Zvcj1cImxldCBkb2N1bWVudCBvZiBsaXN0RG9jdW1lbnRcIiBbdmFsdWVdPVwiZG9jdW1lbnQuaWRcIj5cclxuXHRcdFx0XHRcdFx0XHR7eyBkb2N1bWVudC5uYW1lIH19XHJcblx0XHRcdFx0XHRcdDwvb3B0aW9uPlxyXG5cdFx0XHRcdFx0PC9zZWxlY3Q+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1jb250cm9sLWVycm9yXCI+PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiICpuZ0lmPVwic2hvd1Zpc2libGVzXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJuYW1lXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5WaXNpYmlsaWRhZCB1c3VhcmlvPC9sYWJlbD5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC14cy0xMlwiPlxyXG5cdFx0XHRcdFx0XHRcdDxpbnB1dFxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZT1cImNoZWNrYm94XCJcclxuXHRcdFx0XHRcdFx0XHRcdGlkPVwidmlzaWJsZUludGVybmFsXCJcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU9XCJ2aXNpYmxlSW50ZXJuYWxcIlxyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU9XCIxXCJcclxuXHRcdFx0XHRcdFx0XHRcdFsobmdNb2RlbCldPVwicGRmQ29uZmlnLnZpc2libGVJbnRlcm5hbFwiXHJcblx0XHRcdFx0XHRcdFx0Lz4mbmJzcDsgPGxhYmVsIGZvcj1cInZpc2libGVJbnRlcm5hbFwiPkludGVybm88L2xhYmVsPiAmbmJzcDsmbmJzcDsmbmJzcDtcclxuXHRcdFx0XHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU9XCJjaGVja2JveFwiXHJcblx0XHRcdFx0XHRcdFx0XHRpZD1cInZpc2libGVFeHRlcm5hbFwiXHJcblx0XHRcdFx0XHRcdFx0XHRuYW1lPVwidmlzaWJsZUV4dGVybmFsXCJcclxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlPVwiMVwiXHJcblx0XHRcdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy52aXNpYmxlRXh0ZXJuYWxcIlxyXG5cdFx0XHRcdFx0XHRcdC8+Jm5ic3A7XHJcblx0XHRcdFx0XHRcdFx0PGxhYmVsIGZvcj1cInZpc2libGVFeHRlcm5hbFwiPkV4dGVybm88L2xhYmVsPlxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tY29udHJvbC1lcnJvclwiPjwvZGl2PlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtc20tMTJcIiAqbmdJZj1cInNob3dGb250XCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJmb250XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5UaXBvIGRlIGxldHJhPC9sYWJlbD5cclxuXHRcdFx0XHRcdDxzZWxlY3QgbmFtZT1cImZvbnRcIiBpZD1cImZvbnRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwicGRmQ29uZmlnLmZvbnRcIj5cclxuXHRcdFx0XHRcdFx0PG9wdGlvbiAqbmdGb3I9XCJsZXQgZm9udCBvZiBsaXN0Rm9udFwiIFt2YWx1ZV09XCJmb250LnZhbHVlXCI+XHJcblx0XHRcdFx0XHRcdFx0e3sgZm9udC5sYWJlbCB9fVxyXG5cdFx0XHRcdFx0XHQ8L29wdGlvbj5cclxuXHRcdFx0XHRcdDwvc2VsZWN0PlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tY29udHJvbC1lcnJvclwiPjwvZGl2PlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtc20tMTJcIiAqbmdJZj1cInNob3dTaXplXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJzaXplXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5UYW1hw7FvIGRlIGhvamE8L2xhYmVsPlxyXG5cdFx0XHRcdFx0PHNlbGVjdCBuYW1lPVwic2l6ZVwiIGlkPVwic2l6ZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJwZGZDb25maWcuc2l6ZVwiPlxyXG5cdFx0XHRcdFx0XHQ8b3B0aW9uICpuZ0Zvcj1cImxldCBzaXplIG9mIGxpc3RTaXplc1wiIFt2YWx1ZV09XCJzaXplLmlkXCI+XHJcblx0XHRcdFx0XHRcdFx0e3sgc2l6ZS5uYW1lIH19XHJcblx0XHRcdFx0XHRcdDwvb3B0aW9uPlxyXG5cdFx0XHRcdFx0PC9zZWxlY3Q+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1jb250cm9sLWVycm9yXCI+PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiICpuZ0lmPVwic2hvd09yaWVudGF0aW9uXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJvcmllbnRhdGlvblwiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+T3JpZW50YWNpw7NuPC9sYWJlbD5cclxuXHRcdFx0XHRcdDxzZWxlY3RcclxuXHRcdFx0XHRcdFx0bmFtZT1cIm9yaWVudGF0aW9uXCJcclxuXHRcdFx0XHRcdFx0aWQ9XCJvcmllbnRhdGlvblwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuXHRcdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJwZGZDb25maWcub3JpZW50YXRpb25cIlxyXG5cdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHQ8b3B0aW9uXHJcblx0XHRcdFx0XHRcdFx0Km5nRm9yPVwibGV0IG9yaWVudGF0aW9uIG9mIGxpc3RPcmllbnRhdGlvblwiXHJcblx0XHRcdFx0XHRcdFx0W3ZhbHVlXT1cIm9yaWVudGF0aW9uLmlkXCJcclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdHt7IG9yaWVudGF0aW9uLm5hbWUgfX1cclxuXHRcdFx0XHRcdFx0PC9vcHRpb24+XHJcblx0XHRcdFx0XHQ8L3NlbGVjdD5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2wtZXJyb3JcIj48L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLXNtLTEyXCIgKm5nSWY9XCJzaG93UGFnZXJcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG5cdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdHR5cGU9XCJjaGVja2JveFwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiY2hlY2stc3BhY2VcIlxyXG5cdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy5zaG93UGFnZXJcIlxyXG5cdFx0XHRcdFx0XHRpZD1cInNob3dQYWdlclwiXHJcblx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdFx0PGxhYmVsIGZvcj1cInNob3dQYWdlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+IFZlciBwYWdpbmFkb3I8L2xhYmVsPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtc20tMTJcIiAqbmdJZj1cInNob3dSZXBlYXRIZWFkZXJcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG5cdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdHR5cGU9XCJjaGVja2JveFwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiY2hlY2stc3BhY2VcIlxyXG5cdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy5yZXBlYXRIZWFkZXJcIlxyXG5cdFx0XHRcdFx0XHRpZD1cInJlcGVhdEhlYWRlclwiXHJcblx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdFx0PGxhYmVsIGZvcj1cInJlcGVhdEhlYWRlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+IFJlcGV0aXIgZW5jYWJlemFkbzwvbGFiZWw+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC1zbS0xMlwiICpuZ0lmPVwic2hvd1JlcGVhdEZvb3RlclwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcblx0XHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdFx0dHlwZT1cImNoZWNrYm94XCJcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJjaGVjay1zcGFjZVwiXHJcblx0XHRcdFx0XHRcdFsobmdNb2RlbCldPVwicGRmQ29uZmlnLnJlcGVhdEZvb3RlclwiXHJcblx0XHRcdFx0XHRcdGlkPVwicmVwZWF0Rm9vdGVyXCJcclxuXHRcdFx0XHRcdC8+XHJcblx0XHRcdFx0XHQ8bGFiZWwgZm9yPVwicmVwZWF0Rm9vdGVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5cclxuXHRcdFx0XHRcdFx0UmVwZXRpciBwaWUgZGUgcMOhZ2luYTwvbGFiZWxcclxuXHRcdFx0XHRcdD5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCIgKm5nSWY9XCJzaG93TWFyZ2luc1wiIFtuZ0NsYXNzXT1cInsgJ3RvcC1zcGFjZSc6IHNob3dCciB9XCI+XHJcblx0XHRcdFx0TcOhcmdlbmVzIChjbSlcclxuXHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIiAqbmdJZj1cInNob3dNYXJnaW5zXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC14cy0xMlwiPlxyXG5cdFx0XHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJwZGZDb25maWcubWFyZ2luVG9wXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIlxyXG5cdFx0XHRcdFx0XHRcdFx0PkFycmliYTwvbGFiZWxcclxuXHRcdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlPVwibnVtYmVyXCJcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU9XCJwZGZDb25maWcubWFyZ2luVG9wXCJcclxuXHRcdFx0XHRcdFx0XHRcdGlkPVwicGRmQ29uZmlnLm1hcmdpblRvcFwiXHJcblx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcblx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIkFycmliYVwiXHJcblx0XHRcdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy5tYXJnaW5Ub3BcIlxyXG5cdFx0XHRcdFx0XHRcdC8+XHJcblx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC1zbS02XCIgKm5nSWY9XCJzaG93TWFyZ2luc1wiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wteHMtMTJcIj5cclxuXHRcdFx0XHRcdFx0XHQ8bGFiZWwgZm9yPVwicGRmQ29uZmlnLm1hcmdpblJpZ2h0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIlxyXG5cdFx0XHRcdFx0XHRcdFx0PkRlcmVjaGE8L2xhYmVsXHJcblx0XHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdDxpbnB1dFxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZT1cIm51bWJlclwiXHJcblx0XHRcdFx0XHRcdFx0XHRuYW1lPVwicGRmQ29uZmlnLm1hcmdpblJpZ2h0XCJcclxuXHRcdFx0XHRcdFx0XHRcdGlkPVwicGRmQ29uZmlnLm1hcmdpblJpZ2h0XCJcclxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuXHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiRGVyZWNoYVwiXHJcblx0XHRcdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy5tYXJnaW5SaWdodFwiXHJcblx0XHRcdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIiAqbmdJZj1cInNob3dNYXJnaW5zXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC14cy0xMlwiPlxyXG5cdFx0XHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJwZGZDb25maWcubWFyZ2luQm90dG9tXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIlxyXG5cdFx0XHRcdFx0XHRcdFx0PkFiYWpvPC9sYWJlbFxyXG5cdFx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU9XCJudW1iZXJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0bmFtZT1cInBkZkNvbmZpZy5tYXJnaW5Cb3R0b21cIlxyXG5cdFx0XHRcdFx0XHRcdFx0aWQ9XCJwZGZDb25maWcubWFyZ2luQm90dG9tXCJcclxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuXHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiQWJham9cIlxyXG5cdFx0XHRcdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJwZGZDb25maWcubWFyZ2luQm90dG9tXCJcclxuXHRcdFx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiICpuZ0lmPVwic2hvd01hcmdpbnNcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInJvd1wiPlxyXG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLXhzLTEyXCI+XHJcblx0XHRcdFx0XHRcdFx0PGxhYmVsIGZvcj1cInBkZkNvbmZpZy5tYXJnaW5MZWZ0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Pkl6cXVpZXJkYTwvbGFiZWxcclxuXHRcdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlPVwibnVtYmVyXCJcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU9XCJwZGZDb25maWcubWFyZ2luTGVmdFwiXHJcblx0XHRcdFx0XHRcdFx0XHRpZD1cInBkZkNvbmZpZy5tYXJnaW5MZWZ0XCJcclxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuXHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiSXpxdWllcmRhXCJcclxuXHRcdFx0XHRcdFx0XHRcdFsobmdNb2RlbCldPVwicGRmQ29uZmlnLm1hcmdpbkxlZnRcIlxyXG5cdFx0XHRcdFx0XHRcdC8+XHJcblx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0PGRpdlxyXG5cdFx0XHRcdGNsYXNzPVwiY29sLW1kLTEyXCJcclxuXHRcdFx0XHQqbmdJZj1cInNob3dIZWFkZXJGb290ZXJIZWlnaHRcIlxyXG5cdFx0XHRcdFtuZ0NsYXNzXT1cInsgJ3RvcC1zcGFjZSc6IHNob3dCciB9XCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdEFsdHVyYXMgKGNtKVxyXG5cdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiICpuZ0lmPVwic2hvd0hlYWRlckZvb3RlckhlaWdodFwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wteHMtMTJcIj5cclxuXHRcdFx0XHRcdFx0XHQ8bGFiZWwgZm9yPVwicGRmQ29uZmlnLm1hcmdpblRvcFwiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCJcclxuXHRcdFx0XHRcdFx0XHRcdD5DYWJlY2VyYTwvbGFiZWxcclxuXHRcdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlPVwibnVtYmVyXCJcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU9XCJwZGZDb25maWcuaGVhZGVySGVpZ2h0XCJcclxuXHRcdFx0XHRcdFx0XHRcdGlkPVwicGRmQ29uZmlnLmhlYWRlckhlaWdodFwiXHJcblx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcblx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIkNhYmVjZXJhXCJcclxuXHRcdFx0XHRcdFx0XHRcdFsobmdNb2RlbCldPVwicGRmQ29uZmlnLmhlYWRlckhlaWdodFwiXHJcblx0XHRcdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiICpuZ0lmPVwic2hvd0hlYWRlckZvb3RlckhlaWdodFwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wteHMtMTJcIj5cclxuXHRcdFx0XHRcdFx0XHQ8bGFiZWwgZm9yPVwicGRmQ29uZmlnLm1hcmdpblRvcFwiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCJcclxuXHRcdFx0XHRcdFx0XHRcdD5QaWUgZGUgcMOhZ2luYTwvbGFiZWxcclxuXHRcdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlPVwibnVtYmVyXCJcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU9XCJwZGZDb25maWcuZm9vdGVySGVpZ2h0XCJcclxuXHRcdFx0XHRcdFx0XHRcdGlkPVwicGRmQ29uZmlnLmZvb3RlckhlaWdodFwiXHJcblx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcblx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIlBpZSBkZSBww6FnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFsobmdNb2RlbCldPVwicGRmQ29uZmlnLmZvb3RlckhlaWdodFwiXHJcblx0XHRcdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIG1hcmdpbi10b3BcIiAqbmdJZj1cInNob3dUb2tlbnNcIj5cclxuXHRcdFx0XHQ8cGxpLWNvbmZpZ3VyYXRpb24tdG9rZW5cclxuXHRcdFx0XHRcdFtwcm9tQ29kaWdvXT1cInByb21Db2RpZ29cIlxyXG5cdFx0XHRcdFx0W3Nob3dGcm1dPVwic2hvd0ZybVwiXHJcblx0XHRcdFx0XHRbc2hvd1N0YXRpY109XCJzaG93U3RhdGljXCJcclxuXHRcdFx0XHRcdFtzaG93QnVkZ2V0XT1cInNob3dCdWRnZXRcIlxyXG5cdFx0XHRcdFx0W3Nob3dDYWxjdWxhdGVkXT1cInNob3dDYWxjdWxhdGVkXCJcclxuXHRcdFx0XHRcdFtzaG93Q2FsY3VsYXRlZEZvcm1dPVwic2hvd0NhbGN1bGF0ZWRGb3JtXCJcclxuXHRcdFx0XHRcdFtzaG93U25hcHNob3RGb3JtXT1cInNob3dTbmFwc2hvdEZvcm1cIlxyXG5cdFx0XHRcdFx0W3Nob3dTbmFwc2hvdF09XCJzaG93U25hcHNob3RcIlxyXG5cdFx0XHRcdD48L3BsaS1jb25maWd1cmF0aW9uLXRva2VuPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJjb2wtbWQtOVwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInJvd1wiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCIgKm5nSWY9XCJzaG93SGVhZGVyXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJoZWFkZXJcIiBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPkVuY2FiZXphZG88L2xhYmVsPlxyXG5cdFx0XHRcdFx0PGVkaXRvciBbKG5nTW9kZWwpXT1cInBkZkNvbmZpZy5oZWFkZXJcIiBbaW5pdF09XCJvcHRpb25zXCI+PC9lZGl0b3I+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblxyXG5cdFx0PGRpdiBjbGFzcz1cInJvdyBtYXJnaW4tdG9wXCIgKm5nSWY9XCJzaG93VGVtcGxhdGVcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcblx0XHRcdFx0XHQ8bGFiZWwgZm9yPVwidGVtcGxhdGVcIiBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPkN1ZXJwbzwvbGFiZWw+XHJcblx0XHRcdFx0XHQ8ZWRpdG9yIFsobmdNb2RlbCldPVwicGRmQ29uZmlnLnRlbXBsYXRlXCIgW2luaXRdPVwib3B0aW9uc1wiPjwvZWRpdG9yPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cclxuXHRcdDxkaXYgY2xhc3M9XCJyb3cgbWFyZ2luLXRvcFwiICpuZ0lmPVwic2hvd0Zvb3RlclwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJmb290ZXJcIiBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPlBpZSBkZSBww6FnaW5hPC9sYWJlbD5cclxuXHRcdFx0XHRcdDxlZGl0b3IgWyhuZ01vZGVsKV09XCJwZGZDb25maWcuZm9vdGVyXCIgW2luaXRdPVwib3B0aW9uc1wiPjwvZWRpdG9yPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, Input, EventEmitter, Output } from '@angular/core';
|
|
2
2
|
import * as PDFJS_ from 'pdfjs-dist/build/pdf';
|
|
3
|
-
import
|
|
3
|
+
import * as panzoom_ from 'panzoom/dist/panzoom';
|
|
4
4
|
import { PdfDocument, UtilString, EProceso, RequestPdf } from 'ng-pli-util';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "../../services/common.service";
|
|
@@ -10,7 +10,7 @@ import * as i4 from "../../services/file.service";
|
|
|
10
10
|
import * as i5 from "@angular/common";
|
|
11
11
|
import * as i6 from "@angular/forms";
|
|
12
12
|
const PDFJS = PDFJS_;
|
|
13
|
-
|
|
13
|
+
const panzoom = panzoom_;
|
|
14
14
|
export class PdfVisualizerComponent {
|
|
15
15
|
constructor(commonService, sanitization, taostrService, fileService) {
|
|
16
16
|
this.commonService = commonService;
|
|
@@ -96,16 +96,15 @@ export class PdfVisualizerComponent {
|
|
|
96
96
|
showBase64Pdf(result) {
|
|
97
97
|
this.base64 = result.base64;
|
|
98
98
|
var data = atob(this.base64);
|
|
99
|
-
PDFJS.workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.
|
|
99
|
+
PDFJS.workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.2.228/pdf.worker.js';
|
|
100
100
|
if (PDFJS.GlobalWorkerOptions)
|
|
101
101
|
PDFJS.GlobalWorkerOptions.workerSrc =
|
|
102
|
-
'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.
|
|
103
|
-
// create instance of PdfDocument with the id of canvas
|
|
102
|
+
'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.2.228/pdf.worker.js';
|
|
104
103
|
// create instance of PdfDocument with the id of canvas
|
|
105
104
|
this.pdfDocument = new PdfDocument(this.id_canvas);
|
|
106
105
|
// assign variables out of scope
|
|
107
106
|
let pdfdocument = this.pdfDocument;
|
|
108
|
-
|
|
107
|
+
panzoom(this.pdfDocument.canvas, {
|
|
109
108
|
smoothScroll: false
|
|
110
109
|
});
|
|
111
110
|
let self = this;
|
|
@@ -152,8 +151,7 @@ export class PdfVisualizerComponent {
|
|
|
152
151
|
let self = this;
|
|
153
152
|
// Using promise to fetch the page
|
|
154
153
|
this.pdfDocument.pdfDoc.getPage(num).then(function (page) {
|
|
155
|
-
var
|
|
156
|
-
var viewport = page.getViewport({ scale: scale });
|
|
154
|
+
var viewport = page.getViewport(selfPdfDocument.scale);
|
|
157
155
|
selfPdfDocument.canvas.height = viewport.height;
|
|
158
156
|
selfPdfDocument.canvas.width = viewport.width;
|
|
159
157
|
// Render PDF page into canvas context
|
|
@@ -384,4 +382,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor
|
|
|
384
382
|
}], urlFile: [{
|
|
385
383
|
type: Input
|
|
386
384
|
}] } });
|
|
387
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpc3VhbGl6ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9jb21wb25lbnRzL3BkZi12aXN1YWxpemVyL3BkZi12aXN1YWxpemVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9wZGYtdmlzdWFsaXplci9wZGYtdmlzdWFsaXplci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUlULEtBQUssRUFFTCxZQUFZLEVBRVosTUFBTSxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxNQUFNLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7QUFLNUUsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDO0FBQ3JCLDRCQUE0QjtBQU81QixNQUFNLE9BQU8sc0JBQXNCO0lBcUVsQyxZQUNXLGFBQTRCLEVBQy9CLFlBQTBCLEVBQ3pCLGFBQTRCLEVBQzVCLFdBQXdCO1FBSHRCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3pCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBbkRqQyxpQkFBaUI7UUFDUixjQUFTLEdBQVksSUFBSSxDQUFDO1FBQ25DLG9CQUFvQjtRQUNYLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBQ3RDLG1CQUFtQjtRQUNWLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBZ0J0QyxpREFBaUQ7UUFDdkMs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QUFDO1NBQzNCO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDekQsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDOztBQXhaTSxxQ0FBYyxHQUFHLEdBQUcsQ0FBQzttSEFEaEIsc0JBQXNCO3VHQUF0QixzQkFBc0IsMHFCQzNCbkMseXdMQWlLQTsyRkR0SWEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNDLG9CQUFvQjtxTEFPckIsSUFBSTtzQkFBWixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFFRyxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLFFBQVE7c0JBQWpCLE1BQU07Z0JBRUUsSUFBSTtzQkFBWixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0Q29tcG9uZW50LFxyXG5cdE9uSW5pdCxcclxuXHRPbkNoYW5nZXMsXHJcblx0U2ltcGxlQ2hhbmdlcyxcclxuXHRJbnB1dCxcclxuXHRTaW1wbGVDaGFuZ2UsXHJcblx0RXZlbnRFbWl0dGVyLFxyXG5cdENoYW5nZURldGVjdG9yUmVmLFxyXG5cdE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBQREZKU18gZnJvbSAncGRmanMtZGlzdC9idWlsZC9wZGYnO1xyXG5pbXBvcnQgUGFuem9vbSBmcm9tICdwYW56b29tL2Rpc3QvcGFuem9vbSc7XHJcbmltcG9ydCB7IENvbW1vblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb21tb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFBkZkRvY3VtZW50LCBVdGlsU3RyaW5nLCBFUHJvY2VzbywgUmVxdWVzdFBkZiB9IGZyb20gJ25nLXBsaS11dGlsJztcclxuaW1wb3J0IHsgRmlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5cclxuY29uc3QgUERGSlMgPSBQREZKU187XHJcbi8vIGNvbnN0IHBhbnpvb20gPSBwYW56b29tXztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAncGxpLXBkZi12aXN1YWxpemVyJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vcGRmLXZpc3VhbGl6ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL3BkZi12aXN1YWxpemVyLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGRmVmlzdWFsaXplckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHRzdGF0aWMgREVGQVVMVF9IRUlHSFQgPSA1MDA7XHJcblx0LyoqIHRleHQgaHRtbCB3aWxsIGJlY29tZSBwZGYgKi9cclxuXHRASW5wdXQoKSBodG1sOiBzdHJpbmc7XHJcblx0LyoqIHRleHQgaGVhZGVyIHdpbGwgYmVjb21lIHBkZiAqL1xyXG5cdEBJbnB1dCgpIGhlYWRlcjogc3RyaW5nO1xyXG5cdC8qKiB0ZXh0IGZvb3RlciB3aWxsIGJlY29tZSBwZGYgKi9cclxuXHRASW5wdXQoKSBmb290ZXI6IHN0cmluZztcclxuXHQvKiogaXQgY29udGFpbnMgdGhlIG1hcmdpblRvcCB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIHBkZiAqL1xyXG5cdEBJbnB1dCgpIG1hcmdpblRvcDogbnVtYmVyO1xyXG5cdC8qKiBpdCBjb250YWlucyB0aGUgbWFyZ2luUmlnaHQgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBwZGYgKi9cclxuXHRASW5wdXQoKSBtYXJnaW5SaWdodDogbnVtYmVyO1xyXG5cdC8qKiBpdCBjb250YWlucyB0aGUgbWFyZ2luQm90dG9tIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcGRmICovXHJcblx0QElucHV0KCkgbWFyZ2luQm90dG9tOiBudW1iZXI7XHJcblx0LyoqIGl0IGNvbnRhaW5zIHRoZSBtYXJnaW5MZWZ0IHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcGRmICovXHJcblx0QElucHV0KCkgbWFyZ2luTGVmdDogbnVtYmVyO1xyXG5cdC8qKiBJdCBjb250YWlucyB0aGUgZm9udCBvZiB0aGUgaHRtbCAqL1xyXG5cdEBJbnB1dCgpIGZvbnQ6IHN0cmluZztcclxuXHQvKiogSXQgY29udGFpbnMgdGhlIHBkZiBvcmllbnRhdGlvbiAqL1xyXG5cdEBJbnB1dCgpIG9yaWVudGF0aW9uOiBudW1iZXI7XHJcblx0LyoqIEl0IGNvbnRhaW5zIHRoZSBwZGYgc2l6ZSAqL1xyXG5cdEBJbnB1dCgpIHNpemU6IG51bWJlcjtcclxuXHQvKiogc2hvdyBwYWdlciAqL1xyXG5cdEBJbnB1dCgpIHNob3dQYWdlcjogYm9vbGVhbiA9IHRydWU7XHJcblx0LyoqIHJlcGVhdCBoZWFkZXIgKi9cclxuXHRASW5wdXQoKSByZXBlYXRIZWFkZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdC8qKiByZXBlYXQgZm9vdGVyKi9cclxuXHRASW5wdXQoKSByZXBlYXRGb290ZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdC8qKiBIZWFkZXIgaGVpZ2h0ICovXHJcblx0QElucHV0KCkgaGVhZGVySGVpZ2h0OiBudW1iZXI7XHJcblx0LyoqIEZvb3RlciBoZWlnaHQgKi9cclxuXHRASW5wdXQoKSBmb290ZXJIZWlnaHQ6IG51bWJlcjtcclxuXHJcblx0LyoqIEl0IHZlcmlmaWVzIGlmIGlzIHBvc3NpYmxlIHRvIGVkaXQgaHRtbCAqL1xyXG5cdEBJbnB1dCgpIGVuYWJsZUVkaXQ6IGJvb2xlYW47XHJcblx0LyoqIHRpdGxlIG9mIHRoZSBwZGYgKi9cclxuXHRASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xyXG5cdC8qKiB0aGUgaGVpZ2h0IG9mIHRoZSBwZGYgY2FudmFzICovXHJcblx0QElucHV0KCkgaGVpZ2h0OiBudW1iZXI7XHJcblx0LyoqIFRoZSBmaWxlbmFtZSBvZiB0aGUgcGRmICovXHJcblx0QElucHV0KCkgZmlsZW5hbWU6IHN0cmluZztcclxuXHQvKiogSXQgdmVyaWZpZXMgaWYgaXQgYWxsb3dzIHRvIHNlbmQgdGhlIGVtYWlsICovXHJcblx0QElucHV0KCkgZW5hYmxlRW1haWw6IGJvb2xlYW47XHJcblx0LyoqIEl0IGZpcmVzIHdoZW4gdGhlIGZpbGUgaGFzIGJlZW4gZG93bmxvYWRlZCAqL1xyXG5cdEBPdXRwdXQoKSBvbkRvd25sb2FkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cdC8qKiBJdCBmaXJlcyB3aGVuIHRoZSBuYW1lIGhhcyBiZWVuIHNlbnQgKi9cclxuXHRAT3V0cHV0KCkgb25TZW5kRW1haWw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblx0LyoqIEl0IGZpcmVzIHdoZW4gdGhlIGh0bWwgaGFzIGJlZW4gbW9kaWZpZWQgKi9cclxuXHRAT3V0cHV0KCkgb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblx0LyoqIEl0IGNvbnRhaW5zIHRoZSBsYW5nIG9mIHRoZSBwZGYgKi9cclxuXHRASW5wdXQoKSBsYW5nOiBzdHJpbmc7XHJcblx0LyoqIFRoZSB1cmwgb2YgdGhlIHBkZiAqL1xyXG5cdEBJbnB1dCgpIHVybEZpbGU6IHN0cmluZztcclxuXHJcblx0ZW1haWw6IHN0cmluZztcclxuXHJcblx0LyoqIGJhc2U2NCBhcyByZXN1bHQgb2YgaHRtbCAyIHBkZiAqL1xyXG5cdGJhc2U2NDogc3RyaW5nO1xyXG5cdC8qKiBpdCB2ZXJpZmllcyBpZiBjb21wb25lbnQgaXMgcmVhZHkgKi9cclxuXHRyZWFkeTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdC8qKiBJdCBjb250aW5hcyB0aGUgYWJzdHJhY3Rpb24gb2YgcGRmIGRvY3VtZW50ICovXHJcblx0cGRmRG9jdW1lbnQ6IFBkZkRvY3VtZW50O1xyXG5cclxuXHQvKiogaXQgY29udGFpbnMgdGhlIGlkIG9mIGNhbnZhcyAqL1xyXG5cdGlkX2NhbnZhczogc3RyaW5nID0gJ3BkZi1jYW52YXMnO1xyXG5cclxuXHQvKiogSXQgYWxsb3dzIHRvIGVkaXQgaHRtbCAqL1xyXG5cdGVkaXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcm90ZWN0ZWQgY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZSxcclxuXHRcdHB1YmxpYyBzYW5pdGl6YXRpb246IERvbVNhbml0aXplcixcclxuXHRcdHByaXZhdGUgdGFvc3RyU2VydmljZTogVG9hc3RyU2VydmljZSxcclxuXHRcdHByaXZhdGUgZmlsZVNlcnZpY2U6IEZpbGVTZXJ2aWNlXHJcblx0KSB7fVxyXG5cclxuXHQvLyBpdCByZXNvbHZlcyB3aGVuIHRoZSBodG1sIGlzIGNoYW5nZWRcclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcblx0XHRjb25zdCBodG1sOiBTaW1wbGVDaGFuZ2UgPSBjaGFuZ2VzLmh0bWw7XHJcblx0XHRjb25zdCB1cmxGaWxlOiBTaW1wbGVDaGFuZ2UgPSBjaGFuZ2VzLnVybEZpbGU7XHJcblx0XHRpZiAoaHRtbCAmJiBodG1sLmN1cnJlbnRWYWx1ZSkge1xyXG5cdFx0XHR0aGlzLmh0bWwgPSBodG1sLmN1cnJlbnRWYWx1ZTtcclxuXHRcdFx0dGhpcy5nZW5lcmF0ZVBERigpO1xyXG5cdFx0fSBlbHNlIGlmICh1cmxGaWxlICYmIHVybEZpbGUuY3VycmVudFZhbHVlKSB7XHJcblx0XHRcdHRoaXMudXJsRmlsZSA9IHVybEZpbGUuY3VycmVudFZhbHVlO1xyXG5cdFx0XHR0aGlzLmdlbmVyYXRlUERGKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLnJlYWR5ID0gZmFsc2U7XHJcblx0XHRcdGlmICh0aGlzLnBkZkRvY3VtZW50ICYmIHRoaXMucGRmRG9jdW1lbnQuY2FudmFzKSB7XHJcblx0XHRcdFx0bGV0IGNhbnZhcyA9IHRoaXMucGRmRG9jdW1lbnQuY2FudmFzO1xyXG5cdFx0XHRcdHZhciBjdHggPSB0aGlzLnBkZkRvY3VtZW50LmNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xyXG5cdFx0XHRcdGN0eC5jbGVhclJlY3QoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTtcclxuXHRcdFx0XHR0aGlzLnBkZkRvY3VtZW50ID0gdW5kZWZpbmVkO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogSXQgZ2VuZXJhdGVzIHRoZSBwZGYgKi9cclxuXHRnZW5lcmF0ZVBERigpIHtcclxuXHRcdGlmICghVXRpbFN0cmluZy5pc1ZhbGlkKHRoaXMuaHRtbCkgJiYgVXRpbFN0cmluZy5pc1ZhbGlkKHRoaXMudXJsRmlsZSkpIHtcclxuXHRcdFx0dGhpcy5jb21tb25TZXJ2aWNlLmdldEJhc2U2NFBkZkJ5VXJsKHRoaXMudXJsRmlsZSkuc3Vic2NyaWJlKFxyXG5cdFx0XHRcdChyZXN1bHQpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuc2hvd0Jhc2U2NFBkZihyZXN1bHQpO1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0KGVycm9yKSA9PiB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygnRXJyb3IgdHJ5aW5nIHRvIHJlbmRlciBQREYnLCBlcnJvcik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0Ly8gaWYgaHRtbCB3YXMgY2hhbmdlZFxyXG5cdFx0XHRsZXQgcmVxdWVzdFBkZjogUmVxdWVzdFBkZiA9IG5ldyBSZXF1ZXN0UGRmKCk7XHJcblx0XHRcdHJlcXVlc3RQZGYuaHRtbCA9IHRoaXMuaHRtbDtcclxuXHRcdFx0cmVxdWVzdFBkZi5oZWFkZXIgPSB0aGlzLmhlYWRlcjtcclxuXHRcdFx0cmVxdWVzdFBkZi5mb290ZXIgPSB0aGlzLmZvb3RlcjtcclxuXHRcdFx0cmVxdWVzdFBkZi5sYW5nID0gdGhpcy5sYW5nO1xyXG5cdFx0XHRyZXF1ZXN0UGRmLm1hcmdpblRvcCA9IHRoaXMubWFyZ2luVG9wO1xyXG5cdFx0XHRyZXF1ZXN0UGRmLm1hcmdpblJpZ2h0ID0gdGhpcy5tYXJnaW5SaWdodDtcclxuXHRcdFx0cmVxdWVzdFBkZi5tYXJnaW5Cb3R0b20gPSB0aGlzLm1hcmdpbkJvdHRvbTtcclxuXHRcdFx0cmVxdWVzdFBkZi5tYXJnaW5MZWZ0ID0gdGhpcy5tYXJnaW5MZWZ0O1xyXG5cdFx0XHRyZXF1ZXN0UGRmLm9yaWVudGF0aW9uID0gdGhpcy5vcmllbnRhdGlvbjtcclxuXHRcdFx0cmVxdWVzdFBkZi5zaXplID0gdGhpcy5zaXplO1xyXG5cdFx0XHRyZXF1ZXN0UGRmLmZvbnQgPSB0aGlzLmZvbnQ7XHJcblx0XHRcdHJlcXVlc3RQZGYucmVwZWF0SGVhZGVyID0gdGhpcy5yZXBlYXRIZWFkZXI7XHJcblx0XHRcdHJlcXVlc3RQZGYucmVwZWF0Rm9vdGVyID0gdGhpcy5yZXBlYXRGb290ZXI7XHJcblx0XHRcdHJlcXVlc3RQZGYuc2hvd1BhZ2VyID0gdGhpcy5zaG93UGFnZXI7XHJcblx0XHRcdHJlcXVlc3RQZGYuaGVhZGVySGVpZ2h0ID0gdGhpcy5oZWFkZXJIZWlnaHQ7XHJcblx0XHRcdHJlcXVlc3RQZGYuZm9vdGVySGVpZ2h0ID0gdGhpcy5mb290ZXJIZWlnaHQ7XHJcblxyXG5cdFx0XHR0aGlzLmNvbW1vblNlcnZpY2UuZ2V0QmFzZTY0UGRmKHJlcXVlc3RQZGYpLnN1YnNjcmliZShcclxuXHRcdFx0XHQocmVzdWx0KSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLnNob3dCYXNlNjRQZGYocmVzdWx0KTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdChlcnJvcikgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ0Vycm9yIHRyeWluZyB0byByZW5kZXIgUERGJywgZXJyb3IpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHNob3dCYXNlNjRQZGYocmVzdWx0KSB7XHJcblx0XHR0aGlzLmJhc2U2NCA9IHJlc3VsdC5iYXNlNjQ7XHJcblx0XHR2YXIgZGF0YSA9IGF0b2IodGhpcy5iYXNlNjQpO1xyXG4gICAgICBQREZKUy53b3JrZXJTcmMgID0gJ2h0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3BkZi5qcy8yLjE2LjEwNS9wZGYud29ya2VyLmpzJztcclxuICAgICAgaWYgKFBERkpTLkdsb2JhbFdvcmtlck9wdGlvbnMpXHJcblx0XHRcdFBERkpTLkdsb2JhbFdvcmtlck9wdGlvbnMud29ya2VyU3JjID1cclxuICAgICAgICAnaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcGRmLmpzLzIuMTYuMTA1L3BkZi53b3JrZXIuanMnO1xyXG5cdFx0Ly8gY3JlYXRlIGluc3RhbmNlIG9mIFBkZkRvY3VtZW50IHdpdGggdGhlIGlkIG9mIGNhbnZhc1xyXG5cdFx0Ly8gY3JlYXRlIGluc3RhbmNlIG9mIFBkZkRvY3VtZW50IHdpdGggdGhlIGlkIG9mIGNhbnZhc1xyXG5cdFx0dGhpcy5wZGZEb2N1bWVudCA9IG5ldyBQZGZEb2N1bWVudCh0aGlzLmlkX2NhbnZhcyk7XHJcblxyXG5cdFx0Ly8gYXNzaWduIHZhcmlhYmxlcyBvdXQgb2Ygc2NvcGVcclxuXHRcdGxldCBwZGZkb2N1bWVudDogUGRmRG9jdW1lbnQgPSB0aGlzLnBkZkRvY3VtZW50O1xyXG5cdFx0UGFuem9vbSh0aGlzLnBkZkRvY3VtZW50LmNhbnZhcywge1xyXG5cdFx0XHRzbW9vdGhTY3JvbGw6IGZhbHNlXHJcblx0XHR9KTtcclxuXHRcdGxldCBzZWxmID0gdGhpcztcclxuXHRcdGxldCByZWFkeSA9IHRoaXMucmVhZHk7XHJcblxyXG5cdFx0Y29uc3QgcGRmTG9hZGluZ1Rhc2sgPSBQREZKUy5nZXREb2N1bWVudCh7IGRhdGE6IGRhdGEgfSk7XHJcblx0XHQvLyBKUCAtIGhlcmUgd2UgYXNrIGlmIHRoZSBwcm9taXNlIHN1cHBvcnRzIHRoZSBuZXcgdmVyc2lvbiBwZGZMb2FkaW5nVGFzay5wcm9taXNlXHJcblx0XHRjb25zdCBwcm9taXNlID0gcGRmTG9hZGluZ1Rhc2sucHJvbWlzZSA/IHBkZkxvYWRpbmdUYXNrLnByb21pc2UgOiBwZGZMb2FkaW5nVGFzaztcclxuXHRcdHByb21pc2UudGhlbihmdW5jdGlvbiAocGRmRG9jXykge1xyXG5cdFx0XHRwZGZkb2N1bWVudC5wZGZEb2MgPSBwZGZEb2NfO1xyXG5cdFx0XHRzZWxmLnJlbmRlclBhZ2UoMSk7XHJcblx0XHRcdHJlYWR5ID0gdHJ1ZTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0dGVzdEJhc2U2NFRvRmlsZTIoKSB7XHJcblx0XHQvLyBsZXQgZGF0YXVybCA9IHRoaXMuYmFzZTY0O1xyXG5cdFx0bGV0IGZpbGVOYW1lID0gJ1Rlc3RPUHJhZGEyLnBkZic7XHJcblx0XHQvLyB2YXIgYXJyID0gZGF0YXVybC5zcGxpdCgnLCcpLCBtaW1lID0gYXJyWzBdLm1hdGNoKC86KC4qPyk7LylbMV0sXHJcblx0XHR2YXIgYnN0ciA9IGF0b2IodGhpcy5iYXNlNjQpLFxyXG5cdFx0XHRuID0gYnN0ci5sZW5ndGgsXHJcblx0XHRcdHU4YXJyID0gbmV3IFVpbnQ4QXJyYXkobik7XHJcblx0XHR3aGlsZSAobi0tKSB7XHJcblx0XHRcdHU4YXJyW25dID0gYnN0ci5jaGFyQ29kZUF0KG4pO1xyXG5cdFx0fVxyXG5cdFx0bGV0IGZpbGVSZXR1cm4gPSBuZXcgRmlsZShbdThhcnJdLCBmaWxlTmFtZSwgeyB0eXBlOiAnYXBwbGljYXRpb24vcGRmJyB9KTtcclxuXHRcdHRoaXMudGVzdEVudmlvRG9jKGZpbGVSZXR1cm4sIGZpbGVOYW1lKTtcclxuXHR9XHJcblxyXG5cdHRlc3RFbnZpb0RvYyhmaWxlUmV0dXJuOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpIHtcclxuXHRcdGNvbnN0IGZpbGVQYXRoID0gdGhpcy5maWxlU2VydmljZS5nZXRQYXRoKFxyXG5cdFx0XHRFUHJvY2Vzby5DT05WT0NBVE9SSUEsXHJcblx0XHRcdDUwMCxcclxuXHRcdFx0MixcclxuXHRcdFx0MSxcclxuXHRcdFx0J2FhYWEnLFxyXG5cdFx0XHRmaWxlTmFtZVxyXG5cdFx0KTtcclxuXHRcdHRoaXMuZmlsZVNlcnZpY2UudXBsb2FkKGZpbGVQYXRoLCBmaWxlUmV0dXJuKS5zdWJzY3JpYmUoXHJcblx0XHRcdCh1cmwpID0+IHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygnRmluYWxpem8gZW52w61vIGRvY3VtZW50bycsIHVybCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdChlcnJvcikgPT4ge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCdFcnJvciB0cnlpbmcgdG8gdXBsb2FkOiAnLCBlcnJvcik7XHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHQvKiogSXQgcmV0dXJucyB0aGUgaGVpZ2h0ICAqL1xyXG5cdGdldEhlaWdodCgpOiBzdHJpbmcge1xyXG5cdFx0aWYgKHRoaXMuaGVpZ2h0KSByZXR1cm4gdGhpcy5oZWlnaHQgKyAncHgnO1xyXG5cdFx0cmV0dXJuIFBkZlZpc3VhbGl6ZXJDb21wb25lbnQuREVGQVVMVF9IRUlHSFQgKyAncHgnO1xyXG5cdH1cclxuXHJcblx0LyoqIEdldCBwYWdlIGluZm8gZnJvbSBkb2N1bWVudCwgcmVzaXplIGNhbnZhcyBhY2NvcmRpbmdseSwgYW5kIHJlbmRlciBwYWdlLiAqL1xyXG5cdHJlbmRlclBhZ2UobnVtKSB7XHJcblx0XHR0aGlzLnBkZkRvY3VtZW50LnBhZ2VSZW5kZXJpbmcgPSB0cnVlO1xyXG5cdFx0Ly8gYXNzaWduIHZhcmlhYmxlcyBvdXQgb2Ygc2NvcGVcclxuXHRcdGxldCBzZWxmUGRmRG9jdW1lbnQ6IFBkZkRvY3VtZW50ID0gdGhpcy5wZGZEb2N1bWVudDtcclxuXHRcdGxldCBzZWxmID0gdGhpcztcclxuXHRcdC8vIFVzaW5nIHByb21pc2UgdG8gZmV0Y2ggdGhlIHBhZ2VcclxuXHRcdHRoaXMucGRmRG9jdW1lbnQucGRmRG9jLmdldFBhZ2UobnVtKS50aGVuKGZ1bmN0aW9uIChwYWdlKSB7XHJcblx0XHRcdHZhciBzY2FsZSA9IHNlbGZQZGZEb2N1bWVudC5zY2FsZSA/IHNlbGZQZGZEb2N1bWVudC5zY2FsZSA6IDEuNTtcclxuXHRcdFx0dmFyIHZpZXdwb3J0ID0gcGFnZS5nZXRWaWV3cG9ydCh7c2NhbGU6IHNjYWxlfSk7XHJcblx0XHRcdHNlbGZQZGZEb2N1bWVudC5jYW52YXMuaGVpZ2h0ID0gdmlld3BvcnQuaGVpZ2h0O1xyXG5cdFx0XHRzZWxmUGRmRG9jdW1lbnQuY2FudmFzLndpZHRoID0gdmlld3BvcnQud2lkdGg7XHJcblxyXG5cdFx0XHQvLyBSZW5kZXIgUERGIHBhZ2UgaW50byBjYW52YXMgY29udGV4dFxyXG5cdFx0XHR2YXIgcmVuZGVyQ29udGV4dCA9IHtcclxuXHRcdFx0XHRjYW52YXNDb250ZXh0OiBzZWxmUGRmRG9jdW1lbnQuY2FudmFzLmdldENvbnRleHQoJzJkJyksXHJcblx0XHRcdFx0dmlld3BvcnQ6IHZpZXdwb3J0XHJcblx0XHRcdH07XHJcblx0XHRcdHZhciByZW5kZXJUYXNrID0gcGFnZS5yZW5kZXIocmVuZGVyQ29udGV4dCk7XHJcblxyXG5cdFx0XHQvLyBXYWl0IGZvciByZW5kZXJpbmcgdG8gZmluaXNoXHJcblx0XHRcdHJlbmRlclRhc2sucHJvbWlzZS50aGVuKGZ1bmN0aW9uICgpIHtcclxuXHRcdFx0XHRzZWxmUGRmRG9jdW1lbnQucGFnZVJlbmRlcmluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdGlmIChzZWxmUGRmRG9jdW1lbnQucGFnZU51bVBlbmRpbmcgIT09IG51bGwpIHtcclxuXHRcdFx0XHRcdC8vIE5ldyBwYWdlIHJlbmRlcmluZyBpcyBwZW5kaW5nXHJcblx0XHRcdFx0XHRzZWxmLnJlbmRlclBhZ2Uoc2VsZlBkZkRvY3VtZW50LnBhZ2VOdW1QZW5kaW5nKTtcclxuXHRcdFx0XHRcdHNlbGZQZGZEb2N1bWVudC5wYWdlTnVtUGVuZGluZyA9IG51bGw7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSWYgYW5vdGhlciBwYWdlIHJlbmRlcmluZyBpbiBwcm9ncmVzcywgd2FpdHMgdW50aWwgdGhlIHJlbmRlcmluZyBpc1xyXG5cdCAqIGZpbmlzZWQuIE90aGVyd2lzZSwgZXhlY3V0ZXMgcmVuZGVyaW5nIGltbWVkaWF0ZWx5LlxyXG5cdCAqL1xyXG5cdHF1ZXVlUmVuZGVyUGFnZShudW0pIHtcclxuXHRcdGlmICh0aGlzLnBkZkRvY3VtZW50LnBhZ2VSZW5kZXJpbmcpIHtcclxuXHRcdFx0dGhpcy5wZGZEb2N1bWVudC5wYWdlTnVtUGVuZGluZyA9IG51bTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMucmVuZGVyUGFnZShudW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRGlzcGxheXMgcHJldmlvdXMgcGFnZS5cclxuXHQgKi9cclxuXHRvblByZXZQYWdlKCkge1xyXG5cdFx0aWYgKCF0aGlzLnBkZkRvY3VtZW50IHx8IHRoaXMucGRmRG9jdW1lbnQucGFnZU51bSA8PSAxKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMucGRmRG9jdW1lbnQucGFnZU51bS0tO1xyXG5cdFx0dGhpcy5xdWV1ZVJlbmRlclBhZ2UodGhpcy5wZGZEb2N1bWVudC5wYWdlTnVtKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIERpc3BsYXlzIG5leHQgcGFnZS5cclxuXHQgKi9cclxuXHRvbk5leHRQYWdlKCkge1xyXG5cdFx0aWYgKCF0aGlzLnBkZkRvY3VtZW50IHx8IHRoaXMucGRmRG9jdW1lbnQucGFnZU51bSA+PSB0aGlzLnBkZkRvY3VtZW50LnBkZkRvYy5udW1QYWdlcykge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLnBkZkRvY3VtZW50LnBhZ2VOdW0rKztcclxuXHRcdHRoaXMucXVldWVSZW5kZXJQYWdlKHRoaXMucGRmRG9jdW1lbnQucGFnZU51bSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBEaXNwbGF5cyBab29tIEluLlxyXG5cdCAqL1xyXG5cdG9uWm9vbUluKCkge1xyXG5cdFx0aWYgKCF0aGlzLnBkZkRvY3VtZW50IHx8IHRoaXMucGRmRG9jdW1lbnQuc2NhbGUgPj0gMykge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLnBkZkRvY3VtZW50LnNjYWxlID0gdGhpcy5wZGZEb2N1bWVudC5zY2FsZSArIDAuMjtcclxuXHRcdHRoaXMucXVldWVSZW5kZXJQYWdlKHRoaXMucGRmRG9jdW1lbnQucGFnZU51bSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBEaXNwbGF5cyBab29tIE91dC5cclxuXHQgKi9cclxuXHRvblpvb21PdXQoKSB7XHJcblx0XHRpZiAoIXRoaXMucGRmRG9jdW1lbnQgfHwgdGhpcy5wZGZEb2N1bWVudC5zY2FsZSA8PSAwLjQpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5wZGZEb2N1bWVudC5zY2FsZSA9IHRoaXMucGRmRG9jdW1lbnQuc2NhbGUgLSAwLjI7XHJcblx0XHR0aGlzLnF1ZXVlUmVuZGVyUGFnZSh0aGlzLnBkZkRvY3VtZW50LnBhZ2VOdW0pO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKSB7fVxyXG5cclxuXHQvKiogSXQgc2VuZHMgdGhlIGRvY3VtZW50IGJ5IGVtYWlsICovXHJcblx0c2VuZEVtYWlsKCkge1xyXG5cdFx0aWYgKHRoaXMuZW1haWwgJiYgVXRpbFN0cmluZy52YWxpZGF0ZUVtYWlsKHRoaXMuZW1haWwpKSB7XHJcblx0XHRcdHRoaXMub25TZW5kRW1haWwuZW1pdCh7XHJcblx0XHRcdFx0dG86IHRoaXMuZW1haWwsXHJcblx0XHRcdFx0YmFzZTY0OiB0aGlzLmJhc2U2NFxyXG5cdFx0XHR9KTtcclxuXHRcdFx0dGhpcy5lbWFpbCA9ICcnO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLnRhb3N0clNlcnZpY2Uud2FybmluZygnQ29ycmVvIGVsZWN0csOzbmljbyBlcyBpbmNvcnJlY3RvJyk7XHJcblx0fVxyXG5cclxuXHQvKiogSXQgZmlyZXMgdGhlIGV2ZW50IGRvd25sb2FkICovXHJcblx0ZG93bmxvYWQoKSB7XHJcblx0XHRjb25zdCBjb250ZW50VHlwZSA9ICdhcHBsaWNhdGlvbi9wZGYnO1xyXG5cdFx0Y29uc3QgYjY0RGF0YSA9IHRoaXMuYmFzZTY0O1xyXG5cdFx0Y29uc3QgYmxvYiA9IHRoaXMuYjY0dG9CbG9iKGI2NERhdGEsIGNvbnRlbnRUeXBlKTtcclxuXHRcdGNvbnN0IGJsb2JVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG5cdFx0dmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcblx0XHRkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xyXG5cdFx0YS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG5cdFx0YS5ocmVmID0gYmxvYlVybDtcclxuXHRcdGEuZG93bmxvYWQgPSB0aGlzLmZpbGVuYW1lO1xyXG5cdFx0YS5jbGljaygpO1xyXG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKGJsb2JVcmwpO1xyXG5cdFx0XHRkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGEpO1xyXG5cdFx0XHR0aGlzLm9uRG93bmxvYWQuZW1pdCh7XHJcblx0XHRcdFx0YmFzZTY0OiB0aGlzLmJhc2U2NFxyXG5cdFx0XHR9KTtcclxuXHRcdH0sIDIwMCk7XHJcblx0fVxyXG5cclxuXHQvKiogSXQgZmlyZXMgd2hlbiB0aGUgaHRtbCBpcyBjaGFuZ2VkICovXHJcblx0Y2hhbmdlKCkge1xyXG5cdFx0dGhpcy5nZW5lcmF0ZVBERigpO1xyXG5cdFx0dGhpcy5vbkNoYW5nZS5lbWl0KHRoaXMuaHRtbCk7XHJcblx0fVxyXG5cclxuXHQvKiogaXQgYWxsb3dzIHRvIGVkaXQgKi9cclxuXHR0b2dnbGVFZGl0KCkge1xyXG5cdFx0dGhpcy5lZGl0ID0gIXRoaXMuZWRpdDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIGl0IHJldHVybnMgaWYgaXMgUGRmRG9jdW1lbnRcclxuXHQgKi9cclxuXHRpc1BkZkRvY3VtZW50KCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMucGRmRG9jdW1lbnQgIT09IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIGl0IHJldHVybnMgaWYgaXMgVGl0bGVcclxuXHQgKi9cclxuXHRpc1RpdGxlKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMudGl0bGUgIT09IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIGl0IHJldHVybnMgaWYgaXMgaXNQZGZEb2NcclxuXHQgKi9cclxuXHRpc1BkZkRvYygpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiAoXHJcblx0XHRcdHRoaXMucGRmRG9jdW1lbnQgJiZcclxuXHRcdFx0dGhpcy5wZGZEb2N1bWVudC5wZGZEb2MgIT0gdW5kZWZpbmVkICYmXHJcblx0XHRcdHRoaXMucGRmRG9jdW1lbnQucGRmRG9jICE9IG51bGxcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBpdCByZXR1cm5zIGlmIGlzIGZpbGVuYW1lXHJcblx0ICovXHJcblx0aXNGaWxlbmFtZSgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmZpbGVuYW1lICE9PSB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBpdCByZXR1cm5zIGlmIGlzIGVuYWJsZUVkaXRcclxuXHQgKi9cclxuXHRpc0VuYWJsZUVkaXQoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5lbmFibGVFZGl0ID09IHRydWU7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBpdCByZXR1cm5zIGlmIGlzIGVkaXRcclxuXHQgKi9cclxuXHRpc0VkaXQoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5lZGl0ID09IHRydWU7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBpdCByZXR1cm5zIGlmIGlzIGVuYWJsZUVtYWlsXHJcblx0ICovXHJcblx0aXNFbmFibGVFbWFpbCgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmVuYWJsZUVtYWlsID09IHRydWU7XHJcblx0fVxyXG5cclxuXHRiNjR0b0Jsb2IoYjY0RGF0YSwgY29udGVudFR5cGUgPSAnJywgc2xpY2VTaXplID0gNTEyKSB7XHJcblx0XHRjb25zdCBieXRlQXJyYXlzID0gW107XHJcblx0XHRjb25zdCBieXRlQ2hhcmFjdGVycyA9IGF0b2IoYjY0RGF0YSk7XHJcblx0XHRmb3IgKGxldCBvZmZzZXQgPSAwOyBvZmZzZXQgPCBieXRlQ2hhcmFjdGVycy5sZW5ndGg7IG9mZnNldCArPSBzbGljZVNpemUpIHtcclxuXHRcdFx0Y29uc3Qgc2xpY2UgPSBieXRlQ2hhcmFjdGVycy5zbGljZShvZmZzZXQsIG9mZnNldCArIHNsaWNlU2l6ZSk7XHJcblx0XHRcdGNvbnN0IGJ5dGVOdW1iZXJzID0gbmV3IEFycmF5KHNsaWNlLmxlbmd0aCk7XHJcblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgc2xpY2UubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRieXRlTnVtYmVyc1tpXSA9IHNsaWNlLmNoYXJDb2RlQXQoaSk7XHJcblx0XHRcdH1cclxuXHRcdFx0Y29uc3QgYnl0ZUFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYnl0ZU51bWJlcnMpO1xyXG5cdFx0XHRieXRlQXJyYXlzLnB1c2goYnl0ZUFycmF5KTtcclxuXHRcdH1cclxuXHRcdGNvbnN0IGJsb2IgPSBuZXcgQmxvYihieXRlQXJyYXlzLCB7IHR5cGU6IGNvbnRlbnRUeXBlIH0pO1xyXG5cdFx0cmV0dXJuIGJsb2I7XHJcblx0fVxyXG59XHJcbiIsIjxoMyBjbGFzcz1cInBkZi12aXN1YWxpemVyLXRpdGxlXCI+e3sgdGl0bGUgfX08L2gzPlxyXG48ZGl2IGNsYXNzPVwicGRmLXZpc3VhbGl6ZXItY29udGFpbmVyXCI+XHJcblx0PGRpdiBjbGFzcz1cInBkZi12aXN1YWxpemVyLWNvbnRyb2xzXCIgKm5nSWY9XCJpc1BkZkRvY3VtZW50KCkgPT09IHRydWVcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC1tZC03XCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImJ0bi10b29sYmFyXCIgcm9sZT1cInRvb2xiYXJcIiBhcmlhLWxhYmVsPVwiVG9vbGJhciB3aXRoIGJ1dHRvbiBncm91cHNcIj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgYnRuLWdyb3VwLXNtIG1yLTJcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiU2Vjb25kIGdyb3VwXCI+XHJcblx0XHRcdFx0XHRcdDwhLS0gem9vbSBpbi0tPlxyXG5cdFx0XHRcdFx0XHQ8YVxyXG5cdFx0XHRcdFx0XHRcdGhyZWY9XCJKYXZhc2NyaXB0OjtcIlxyXG5cdFx0XHRcdFx0XHRcdHRpdGxlPVwiQWNlcmNhclwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS10b2dnbGU9XCJ0b29sdGlwXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXBsYWNlbWVudD1cInRvcFwiXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHQoY2xpY2spPVwib25ab29tSW4oKVwiXHJcblx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZhIGZhLXNlYXJjaC1wbHVzXCI+PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L2E+XHJcblxyXG5cdFx0XHRcdFx0XHQ8IS0tIHpvb20gb3V0LS0+XHJcblx0XHRcdFx0XHRcdDxhXHJcblx0XHRcdFx0XHRcdFx0aHJlZj1cIkphdmFzY3JpcHQ6O1wiXHJcblx0XHRcdFx0XHRcdFx0dGl0bGU9XCJBbGVqYXJcIlxyXG5cdFx0XHRcdFx0XHRcdGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS1wbGFjZW1lbnQ9XCJ0b3BcIlxyXG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiXHJcblx0XHRcdFx0XHRcdFx0KGNsaWNrKT1cIm9uWm9vbU91dCgpXCJcclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiZmEgZmEtc2VhcmNoLW1pbnVzXCI+PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L2E+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIGJ0bi1ncm91cC1zbSBtci0yXCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbD1cIlRoaXJkIGdyb3VwXCI+XHJcblx0XHRcdFx0XHRcdDwhLS1wcmV2IC0tPlxyXG5cdFx0XHRcdFx0XHQ8YVxyXG5cdFx0XHRcdFx0XHRcdGhyZWY9XCJKYXZhc2NyaXB0OjtcIlxyXG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiXHJcblx0XHRcdFx0XHRcdFx0KGNsaWNrKT1cIm9uUHJldlBhZ2UoKVwiXHJcblx0XHRcdFx0XHRcdFx0dGl0bGU9XCJBbnRlcmlvclwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS10b2dnbGU9XCJ0b29sdGlwXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXBsYWNlbWVudD1cInRvcFwiXHJcblx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZhIGZhLWNoZXZyb24tbGVmdFwiPjwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0PC9hPlxyXG5cclxuXHRcdFx0XHRcdFx0PCEtLSBwYWdpbmF0aW9uLS0+XHJcblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiICpuZ0lmPVwiaXNQZGZEb2MoKSA9PT0gdHJ1ZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFDDoWdpbmE6IHt7IHBkZkRvY3VtZW50LnBhZ2VOdW0gfX0gLyB7eyBwZGZEb2N1bWVudC5wZGZEb2MubnVtUGFnZXMgfX1cclxuXHRcdFx0XHRcdFx0PC9zcGFuPlxyXG5cclxuXHRcdFx0XHRcdFx0PCEtLW5leHQgLS0+XHJcblx0XHRcdFx0XHRcdDxhXHJcblx0XHRcdFx0XHRcdFx0aHJlZj1cIkphdmFzY3JpcHQ6O1wiXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHQoY2xpY2spPVwib25OZXh0UGFnZSgpXCJcclxuXHRcdFx0XHRcdFx0XHR0aXRsZT1cIlNpZ3VpZW50ZVwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS10b2dnbGU9XCJ0b29sdGlwXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXBsYWNlbWVudD1cInRvcFwiXHJcblx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZhIGZhLWNoZXZyb24tcmlnaHRcIj48L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwvYT5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgYnRuLWdyb3VwLXNtXCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbD1cIkZpcnN0IGdyb3VwXCI+XHJcblx0XHRcdFx0XHRcdDwhLS0gZG93bmxvYWQtLT5cclxuXHRcdFx0XHRcdFx0PGFcclxuXHRcdFx0XHRcdFx0XHRbZG93bmxvYWRdPVwiZmlsZW5hbWVcIlxyXG5cdFx0XHRcdFx0XHRcdCpuZ0lmPVwiaXNGaWxlbmFtZSgpID09PSB0cnVlXCJcclxuXHRcdFx0XHRcdFx0XHQoY2xpY2spPVwiZG93bmxvYWQoKVwiXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHR0aXRsZT1cIkRlc2NhcmdhclwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS10b2dnbGU9XCJ0b29sdGlwXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXBsYWNlbWVudD1cInRvcFwiXHJcblx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHQ8IS0tIFtocmVmXT1cIlxyXG5cdFx0XHRcdFx0XHRcdHNhbml0aXphdGlvbi5ieXBhc3NTZWN1cml0eVRydXN0VXJsKFxyXG5cdFx0XHRcdFx0XHRcdFx0J2RhdGE6YXBwbGljYXRpb24vcGRmO2Jhc2U2NCwnICsgdGhpcy5iYXNlNjRcclxuXHRcdFx0XHRcdFx0XHQpXHJcblx0XHRcdFx0XHRcdFwiIC0tPlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiZmEgZmEtZG93bmxvYWRcIj48L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwvYT5cclxuXHJcblx0XHRcdFx0XHRcdDwhLS0gdG9nZ2xlIGVkaXQtLVxyXG4gICAgICAgICAgICA8YSBocmVmPVwiSmF2YXNjcmlwdDo7XCIgKm5nSWY9XCJpc0VuYWJsZUVkaXQoKSA9PT0gdHJ1ZVwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIHRpdGxlPVwiRWRpdGFyXCJcclxuICAgICAgICAgICAgICBkYXRhLXRvZ2dsZT1cInRvb2x0aXBcIiBkYXRhLXBsYWNlbWVudD1cInRvcFwiIChjbGljayk9XCJ0b2dnbGVFZGl0KClcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWVkaXRcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYT5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gZ2VuZXJhdGUgcGRmLS0+XHJcblx0XHRcdFx0XHRcdDxhXHJcblx0XHRcdFx0XHRcdFx0aHJlZj1cIkphdmFzY3JpcHQ6O1wiXHJcblx0XHRcdFx0XHRcdFx0Km5nSWY9XCJpc0VkaXQoKSA9PT0gdHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHR0aXRsZT1cIkdlbmVyYXJcIlxyXG5cdFx0XHRcdFx0XHRcdGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS1wbGFjZW1lbnQ9XCJ0b3BcIlxyXG5cdFx0XHRcdFx0XHRcdChjbGljayk9XCJjaGFuZ2UoKVwiXHJcblx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZhIGZhLXBsYXlcIj48L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwvYT5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtbWQtNSBwdWxsLXJpZ2h0XCIgKm5nSWY9XCJpc0VuYWJsZUVtYWlsKCkgPT09IHRydWVcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgaW5wdXQtZ3JvdXAtc21cIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJwZGYtdmlzdWFsaXplci1lbWFpbFwiIGNsYXNzPVwicGRmXCI+XHJcblx0XHRcdFx0XHRcdEVudmlhciBtZW5zYWplIGFcclxuXHRcdFx0XHRcdDwvbGFiZWw+XHJcblx0XHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdFx0dHlwZT1cImVtYWlsXCJcclxuXHRcdFx0XHRcdFx0aWQ9XCJwZGYtdmlzdWFsaXplci1lbWFpbFwiXHJcblx0XHRcdFx0XHRcdG5hbWU9XCJwZGYtdmlzdWFsaXplci1lbWFpbFwiXHJcblx0XHRcdFx0XHRcdHJlcXVpcmVkPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuXHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI9XCJDb3JyZW8gZWxlY3Ryw7NuaWNvXCJcclxuXHRcdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJlbWFpbFwiXHJcblx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG5cdFx0XHRcdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHR0eXBlPVwiYnV0dG9uXCJcclxuXHRcdFx0XHRcdFx0XHQoY2xpY2spPVwic2VuZEVtYWlsKClcIlxyXG5cdFx0XHRcdFx0XHRcdHRpdGxlPVwiRW52aWFyXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXRvZ2dsZT1cInRvb2x0aXBcIlxyXG5cdFx0XHRcdFx0XHRcdGRhdGEtcGxhY2VtZW50PVwidG9wXCJcclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdDxpbWdcclxuXHRcdFx0XHRcdFx0XHRcdHNyYz1cImh0dHA6Ly9naXJvMzYwLmNvL3pvbmEzNjAvY29sZnV0dXJvL1BMSUMvaW1nL2V4cG9ydC5zdmdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0YWx0PVwiXCJcclxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoPVwiMTZcIlxyXG5cdFx0XHRcdFx0XHRcdC8+XHJcblx0XHRcdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblxyXG5cdDxkaXYgY2xhc3M9XCJwZGYtdmlzdWFsaXplci1kYXNoYm9hcmRcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC1tZC01XCIgKm5nSWY9XCJpc0VkaXQoKSA9PT0gdHJ1ZVwiPlxyXG5cdFx0XHRcdDx0ZXh0YXJlYVxyXG5cdFx0XHRcdFx0Y2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG5cdFx0XHRcdFx0W3N0eWxlLmhlaWdodF09XCJnZXRIZWlnaHQoKVwiXHJcblx0XHRcdFx0XHRzdHlsZT1cInJlc2l6ZTp2ZXJ0aWNhbDtcIlxyXG5cdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJodG1sXCJcclxuXHRcdFx0XHQ+PC90ZXh0YXJlYT5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxkaXYgW25nQ2xhc3NdPVwieyAnY29sLW1kLTcnOiBlZGl0ID09PSB0cnVlLCAnY29sLW1kLTEyJzogIWVkaXQgfVwiPlxyXG5cdFx0XHRcdDxkaXZcclxuXHRcdFx0XHRcdGlkPVwicGRmLXNjcm9sbGFibGVcIlxyXG5cdFx0XHRcdFx0Y2xhc3M9XCJwZGYtdmlzdWFsaXplci1zY3JvbGxhYmxlXCJcclxuXHRcdFx0XHRcdFtzdHlsZS5oZWlnaHRdPVwiZ2V0SGVpZ2h0KClcIlxyXG5cdFx0XHRcdD5cclxuXHRcdFx0XHRcdDxjYW52YXMgaWQ9XCJwZGYtY2FudmFzXCIgY2xhc3M9XCJwZGYtdmlzdWFsaXplci1jYW52YXNcIj4gPC9jYW52YXM+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
385
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpc3VhbGl6ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9jb21wb25lbnRzL3BkZi12aXN1YWxpemVyL3BkZi12aXN1YWxpemVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9wZGYtdmlzdWFsaXplci9wZGYtdmlzdWFsaXplci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUlULEtBQUssRUFFTCxZQUFZLEVBRVosTUFBTSxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxNQUFNLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxLQUFLLFFBQVEsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7OztBQUs1RSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUM7QUFDckIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDO0FBT3pCLE1BQU0sT0FBTyxzQkFBc0I7SUFxRWxDLFlBQ1csYUFBNEIsRUFDL0IsWUFBMEIsRUFDekIsYUFBNEIsRUFDNUIsV0FBd0I7UUFIdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDekIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFuRGpDLGlCQUFpQjtRQUNSLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDbkMsb0JBQW9CO1FBQ1gsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFDdEMsbUJBQW1CO1FBQ1YsaUJBQVksR0FBWSxJQUFJLENB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QUN6RCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7O0FBdFpNLHFDQUFjLEdBQUcsR0FBRyxDQUFDO21IQURoQixzQkFBc0I7dUdBQXRCLHNCQUFzQiwwcUJDM0JuQyx5d0xBaUtBOzJGRHRJYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Msb0JBQW9CO3FMQU9yQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUVHLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsUUFBUTtzQkFBakIsTUFBTTtnQkFFRSxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuXHRDb21wb25lbnQsXHJcblx0T25Jbml0LFxyXG5cdE9uQ2hhbmdlcyxcclxuXHRTaW1wbGVDaGFuZ2VzLFxyXG5cdElucHV0LFxyXG5cdFNpbXBsZUNoYW5nZSxcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0T3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIFBERkpTXyBmcm9tICdwZGZqcy1kaXN0L2J1aWxkL3BkZic7XHJcbmltcG9ydCAqIGFzIHBhbnpvb21fIGZyb20gJ3Bhbnpvb20vZGlzdC9wYW56b29tJztcclxuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbW1vbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGRmRG9jdW1lbnQsIFV0aWxTdHJpbmcsIEVQcm9jZXNvLCBSZXF1ZXN0UGRmIH0gZnJvbSAnbmctcGxpLXV0aWwnO1xyXG5pbXBvcnQgeyBGaWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbGUuc2VydmljZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcblxyXG5jb25zdCBQREZKUyA9IFBERkpTXztcclxuY29uc3QgcGFuem9vbSA9IHBhbnpvb21fO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdwbGktcGRmLXZpc3VhbGl6ZXInLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9wZGYtdmlzdWFsaXplci5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vcGRmLXZpc3VhbGl6ZXIuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZGZWaXN1YWxpemVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cdHN0YXRpYyBERUZBVUxUX0hFSUdIVCA9IDUwMDtcclxuXHQvKiogdGV4dCBodG1sIHdpbGwgYmVjb21lIHBkZiAqL1xyXG5cdEBJbnB1dCgpIGh0bWw6IHN0cmluZztcclxuXHQvKiogdGV4dCBoZWFkZXIgd2lsbCBiZWNvbWUgcGRmICovXHJcblx0QElucHV0KCkgaGVhZGVyOiBzdHJpbmc7XHJcblx0LyoqIHRleHQgZm9vdGVyIHdpbGwgYmVjb21lIHBkZiAqL1xyXG5cdEBJbnB1dCgpIGZvb3Rlcjogc3RyaW5nO1xyXG5cdC8qKiBpdCBjb250YWlucyB0aGUgbWFyZ2luVG9wIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcGRmICovXHJcblx0QElucHV0KCkgbWFyZ2luVG9wOiBudW1iZXI7XHJcblx0LyoqIGl0IGNvbnRhaW5zIHRoZSBtYXJnaW5SaWdodCB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIHBkZiAqL1xyXG5cdEBJbnB1dCgpIG1hcmdpblJpZ2h0OiBudW1iZXI7XHJcblx0LyoqIGl0IGNvbnRhaW5zIHRoZSBtYXJnaW5Cb3R0b20gd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBwZGYgKi9cclxuXHRASW5wdXQoKSBtYXJnaW5Cb3R0b206IG51bWJlcjtcclxuXHQvKiogaXQgY29udGFpbnMgdGhlIG1hcmdpbkxlZnQgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBwZGYgKi9cclxuXHRASW5wdXQoKSBtYXJnaW5MZWZ0OiBudW1iZXI7XHJcblx0LyoqIEl0IGNvbnRhaW5zIHRoZSBmb250IG9mIHRoZSBodG1sICovXHJcblx0QElucHV0KCkgZm9udDogc3RyaW5nO1xyXG5cdC8qKiBJdCBjb250YWlucyB0aGUgcGRmIG9yaWVudGF0aW9uICovXHJcblx0QElucHV0KCkgb3JpZW50YXRpb246IG51bWJlcjtcclxuXHQvKiogSXQgY29udGFpbnMgdGhlIHBkZiBzaXplICovXHJcblx0QElucHV0KCkgc2l6ZTogbnVtYmVyO1xyXG5cdC8qKiBzaG93IHBhZ2VyICovXHJcblx0QElucHV0KCkgc2hvd1BhZ2VyOiBib29sZWFuID0gdHJ1ZTtcclxuXHQvKiogcmVwZWF0IGhlYWRlciAqL1xyXG5cdEBJbnB1dCgpIHJlcGVhdEhlYWRlcjogYm9vbGVhbiA9IHRydWU7XHJcblx0LyoqIHJlcGVhdCBmb290ZXIqL1xyXG5cdEBJbnB1dCgpIHJlcGVhdEZvb3RlcjogYm9vbGVhbiA9IHRydWU7XHJcblx0LyoqIEhlYWRlciBoZWlnaHQgKi9cclxuXHRASW5wdXQoKSBoZWFkZXJIZWlnaHQ6IG51bWJlcjtcclxuXHQvKiogRm9vdGVyIGhlaWdodCAqL1xyXG5cdEBJbnB1dCgpIGZvb3RlckhlaWdodDogbnVtYmVyO1xyXG5cclxuXHQvKiogSXQgdmVyaWZpZXMgaWYgaXMgcG9zc2libGUgdG8gZWRpdCBodG1sICovXHJcblx0QElucHV0KCkgZW5hYmxlRWRpdDogYm9vbGVhbjtcclxuXHQvKiogdGl0bGUgb2YgdGhlIHBkZiAqL1xyXG5cdEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XHJcblx0LyoqIHRoZSBoZWlnaHQgb2YgdGhlIHBkZiBjYW52YXMgKi9cclxuXHRASW5wdXQoKSBoZWlnaHQ6IG51bWJlcjtcclxuXHQvKiogVGhlIGZpbGVuYW1lIG9mIHRoZSBwZGYgKi9cclxuXHRASW5wdXQoKSBmaWxlbmFtZTogc3RyaW5nO1xyXG5cdC8qKiBJdCB2ZXJpZmllcyBpZiBpdCBhbGxvd3MgdG8gc2VuZCB0aGUgZW1haWwgKi9cclxuXHRASW5wdXQoKSBlbmFibGVFbWFpbDogYm9vbGVhbjtcclxuXHQvKiogSXQgZmlyZXMgd2hlbiB0aGUgZmlsZSBoYXMgYmVlbiBkb3dubG9hZGVkICovXHJcblx0QE91dHB1dCgpIG9uRG93bmxvYWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblx0LyoqIEl0IGZpcmVzIHdoZW4gdGhlIG5hbWUgaGFzIGJlZW4gc2VudCAqL1xyXG5cdEBPdXRwdXQoKSBvblNlbmRFbWFpbDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHQvKiogSXQgZmlyZXMgd2hlbiB0aGUgaHRtbCBoYXMgYmVlbiBtb2RpZmllZCAqL1xyXG5cdEBPdXRwdXQoKSBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHQvKiogSXQgY29udGFpbnMgdGhlIGxhbmcgb2YgdGhlIHBkZiAqL1xyXG5cdEBJbnB1dCgpIGxhbmc6IHN0cmluZztcclxuXHQvKiogVGhlIHVybCBvZiB0aGUgcGRmICovXHJcblx0QElucHV0KCkgdXJsRmlsZTogc3RyaW5nO1xyXG5cclxuXHRlbWFpbDogc3RyaW5nO1xyXG5cclxuXHQvKiogYmFzZTY0IGFzIHJlc3VsdCBvZiBodG1sIDIgcGRmICovXHJcblx0YmFzZTY0OiBzdHJpbmc7XHJcblx0LyoqIGl0IHZlcmlmaWVzIGlmIGNvbXBvbmVudCBpcyByZWFkeSAqL1xyXG5cdHJlYWR5OiBib29sZWFuID0gZmFsc2U7XHJcblx0LyoqIEl0IGNvbnRpbmFzIHRoZSBhYnN0cmFjdGlvbiBvZiBwZGYgZG9jdW1lbnQgKi9cclxuXHRwZGZEb2N1bWVudDogUGRmRG9jdW1lbnQ7XHJcblxyXG5cdC8qKiBpdCBjb250YWlucyB0aGUgaWQgb2YgY2FudmFzICovXHJcblx0aWRfY2FudmFzOiBzdHJpbmcgPSAncGRmLWNhbnZhcyc7XHJcblxyXG5cdC8qKiBJdCBhbGxvd3MgdG8gZWRpdCBodG1sICovXHJcblx0ZWRpdDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByb3RlY3RlZCBjb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlLFxyXG5cdFx0cHVibGljIHNhbml0aXphdGlvbjogRG9tU2FuaXRpemVyLFxyXG5cdFx0cHJpdmF0ZSB0YW9zdHJTZXJ2aWNlOiBUb2FzdHJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBmaWxlU2VydmljZTogRmlsZVNlcnZpY2VcclxuXHQpIHt9XHJcblxyXG5cdC8vIGl0IHJlc29sdmVzIHdoZW4gdGhlIGh0bWwgaXMgY2hhbmdlZFxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGh0bWw6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXMuaHRtbDtcclxuXHRcdGNvbnN0IHVybEZpbGU6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXMudXJsRmlsZTtcclxuXHRcdGlmIChodG1sICYmIGh0bWwuY3VycmVudFZhbHVlKSB7XHJcblx0XHRcdHRoaXMuaHRtbCA9IGh0bWwuY3VycmVudFZhbHVlO1xyXG5cdFx0XHR0aGlzLmdlbmVyYXRlUERGKCk7XHJcblx0XHR9IGVsc2UgaWYgKHVybEZpbGUgJiYgdXJsRmlsZS5jdXJyZW50VmFsdWUpIHtcclxuXHRcdFx0dGhpcy51cmxGaWxlID0gdXJsRmlsZS5jdXJyZW50VmFsdWU7XHJcblx0XHRcdHRoaXMuZ2VuZXJhdGVQREYoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMucmVhZHkgPSBmYWxzZTtcclxuXHRcdFx0aWYgKHRoaXMucGRmRG9jdW1lbnQgJiYgdGhpcy5wZGZEb2N1bWVudC5jYW52YXMpIHtcclxuXHRcdFx0XHRsZXQgY2FudmFzID0gdGhpcy5wZGZEb2N1bWVudC5jYW52YXM7XHJcblx0XHRcdFx0dmFyIGN0eCA9IHRoaXMucGRmRG9jdW1lbnQuY2FudmFzLmdldENvbnRleHQoJzJkJyk7XHJcblx0XHRcdFx0Y3R4LmNsZWFyUmVjdCgwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpO1xyXG5cdFx0XHRcdHRoaXMucGRmRG9jdW1lbnQgPSB1bmRlZmluZWQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBJdCBnZW5lcmF0ZXMgdGhlIHBkZiAqL1xyXG5cdGdlbmVyYXRlUERGKCkge1xyXG5cdFx0aWYgKCFVdGlsU3RyaW5nLmlzVmFsaWQodGhpcy5odG1sKSAmJiBVdGlsU3RyaW5nLmlzVmFsaWQodGhpcy51cmxGaWxlKSkge1xyXG5cdFx0XHR0aGlzLmNvbW1vblNlcnZpY2UuZ2V0QmFzZTY0UGRmQnlVcmwodGhpcy51cmxGaWxlKS5zdWJzY3JpYmUoXHJcblx0XHRcdFx0KHJlc3VsdCkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5zaG93QmFzZTY0UGRmKHJlc3VsdCk7XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHQoZXJyb3IpID0+IHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCdFcnJvciB0cnlpbmcgdG8gcmVuZGVyIFBERicsIGVycm9yKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHQvLyBpZiBodG1sIHdhcyBjaGFuZ2VkXHJcblx0XHRcdGxldCByZXF1ZXN0UGRmOiBSZXF1ZXN0UGRmID0gbmV3IFJlcXVlc3RQZGYoKTtcclxuXHRcdFx0cmVxdWVzdFBkZi5odG1sID0gdGhpcy5odG1sO1xyXG5cdFx0XHRyZXF1ZXN0UGRmLmhlYWRlciA9IHRoaXMuaGVhZGVyO1xyXG5cdFx0XHRyZXF1ZXN0UGRmLmZvb3RlciA9IHRoaXMuZm9vdGVyO1xyXG5cdFx0XHRyZXF1ZXN0UGRmLmxhbmcgPSB0aGlzLmxhbmc7XHJcblx0XHRcdHJlcXVlc3RQZGYubWFyZ2luVG9wID0gdGhpcy5tYXJnaW5Ub3A7XHJcblx0XHRcdHJlcXVlc3RQZGYubWFyZ2luUmlnaHQgPSB0aGlzLm1hcmdpblJpZ2h0O1xyXG5cdFx0XHRyZXF1ZXN0UGRmLm1hcmdpbkJvdHRvbSA9IHRoaXMubWFyZ2luQm90dG9tO1xyXG5cdFx0XHRyZXF1ZXN0UGRmLm1hcmdpbkxlZnQgPSB0aGlzLm1hcmdpbkxlZnQ7XHJcblx0XHRcdHJlcXVlc3RQZGYub3JpZW50YXRpb24gPSB0aGlzLm9yaWVudGF0aW9uO1xyXG5cdFx0XHRyZXF1ZXN0UGRmLnNpemUgPSB0aGlzLnNpemU7XHJcblx0XHRcdHJlcXVlc3RQZGYuZm9udCA9IHRoaXMuZm9udDtcclxuXHRcdFx0cmVxdWVzdFBkZi5yZXBlYXRIZWFkZXIgPSB0aGlzLnJlcGVhdEhlYWRlcjtcclxuXHRcdFx0cmVxdWVzdFBkZi5yZXBlYXRGb290ZXIgPSB0aGlzLnJlcGVhdEZvb3RlcjtcclxuXHRcdFx0cmVxdWVzdFBkZi5zaG93UGFnZXIgPSB0aGlzLnNob3dQYWdlcjtcclxuXHRcdFx0cmVxdWVzdFBkZi5oZWFkZXJIZWlnaHQgPSB0aGlzLmhlYWRlckhlaWdodDtcclxuXHRcdFx0cmVxdWVzdFBkZi5mb290ZXJIZWlnaHQgPSB0aGlzLmZvb3RlckhlaWdodDtcclxuXHJcblx0XHRcdHRoaXMuY29tbW9uU2VydmljZS5nZXRCYXNlNjRQZGYocmVxdWVzdFBkZikuc3Vic2NyaWJlKFxyXG5cdFx0XHRcdChyZXN1bHQpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuc2hvd0Jhc2U2NFBkZihyZXN1bHQpO1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0KGVycm9yKSA9PiB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygnRXJyb3IgdHJ5aW5nIHRvIHJlbmRlciBQREYnLCBlcnJvcik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0c2hvd0Jhc2U2NFBkZihyZXN1bHQpIHtcclxuXHRcdHRoaXMuYmFzZTY0ID0gcmVzdWx0LmJhc2U2NDtcclxuXHRcdHZhciBkYXRhID0gYXRvYih0aGlzLmJhc2U2NCk7XHJcblx0XHRQREZKUy53b3JrZXJTcmMgPSAnaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcGRmLmpzLzIuMi4yMjgvcGRmLndvcmtlci5qcyc7XHJcblx0XHRpZiAoUERGSlMuR2xvYmFsV29ya2VyT3B0aW9ucylcclxuXHRcdFx0UERGSlMuR2xvYmFsV29ya2VyT3B0aW9ucy53b3JrZXJTcmMgPVxyXG5cdFx0XHRcdCdodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wZGYuanMvMi4yLjIyOC9wZGYud29ya2VyLmpzJztcclxuXHRcdC8vIGNyZWF0ZSBpbnN0YW5jZSBvZiBQZGZEb2N1bWVudCB3aXRoIHRoZSBpZCBvZiBjYW52YXNcclxuXHRcdHRoaXMucGRmRG9jdW1lbnQgPSBuZXcgUGRmRG9jdW1lbnQodGhpcy5pZF9jYW52YXMpO1xyXG5cclxuXHRcdC8vIGFzc2lnbiB2YXJpYWJsZXMgb3V0IG9mIHNjb3BlXHJcblx0XHRsZXQgcGRmZG9jdW1lbnQ6IFBkZkRvY3VtZW50ID0gdGhpcy5wZGZEb2N1bWVudDtcclxuXHRcdHBhbnpvb20odGhpcy5wZGZEb2N1bWVudC5jYW52YXMsIHtcclxuXHRcdFx0c21vb3RoU2Nyb2xsOiBmYWxzZVxyXG5cdFx0fSk7XHJcblx0XHRsZXQgc2VsZiA9IHRoaXM7XHJcblx0XHRsZXQgcmVhZHkgPSB0aGlzLnJlYWR5O1xyXG5cclxuXHRcdGNvbnN0IHBkZkxvYWRpbmdUYXNrID0gUERGSlMuZ2V0RG9jdW1lbnQoeyBkYXRhOiBkYXRhIH0pO1xyXG5cdFx0Ly8gSlAgLSBoZXJlIHdlIGFzayBpZiB0aGUgcHJvbWlzZSBzdXBwb3J0cyB0aGUgbmV3IHZlcnNpb24gcGRmTG9hZGluZ1Rhc2sucHJvbWlzZVxyXG5cdFx0Y29uc3QgcHJvbWlzZSA9IHBkZkxvYWRpbmdUYXNrLnByb21pc2UgPyBwZGZMb2FkaW5nVGFzay5wcm9taXNlIDogcGRmTG9hZGluZ1Rhc2s7XHJcblx0XHRwcm9taXNlLnRoZW4oZnVuY3Rpb24gKHBkZkRvY18pIHtcclxuXHRcdFx0cGRmZG9jdW1lbnQucGRmRG9jID0gcGRmRG9jXztcclxuXHRcdFx0c2VsZi5yZW5kZXJQYWdlKDEpO1xyXG5cdFx0XHRyZWFkeSA9IHRydWU7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHRlc3RCYXNlNjRUb0ZpbGUyKCkge1xyXG5cdFx0Ly8gbGV0IGRhdGF1cmwgPSB0aGlzLmJhc2U2NDtcclxuXHRcdGxldCBmaWxlTmFtZSA9ICdUZXN0T1ByYWRhMi5wZGYnO1xyXG5cdFx0Ly8gdmFyIGFyciA9IGRhdGF1cmwuc3BsaXQoJywnKSwgbWltZSA9IGFyclswXS5tYXRjaCgvOiguKj8pOy8pWzFdLFxyXG5cdFx0dmFyIGJzdHIgPSBhdG9iKHRoaXMuYmFzZTY0KSxcclxuXHRcdFx0biA9IGJzdHIubGVuZ3RoLFxyXG5cdFx0XHR1OGFyciA9IG5ldyBVaW50OEFycmF5KG4pO1xyXG5cdFx0d2hpbGUgKG4tLSkge1xyXG5cdFx0XHR1OGFycltuXSA9IGJzdHIuY2hhckNvZGVBdChuKTtcclxuXHRcdH1cclxuXHRcdGxldCBmaWxlUmV0dXJuID0gbmV3IEZpbGUoW3U4YXJyXSwgZmlsZU5hbWUsIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3BkZicgfSk7XHJcblx0XHR0aGlzLnRlc3RFbnZpb0RvYyhmaWxlUmV0dXJuLCBmaWxlTmFtZSk7XHJcblx0fVxyXG5cclxuXHR0ZXN0RW52aW9Eb2MoZmlsZVJldHVybjogYW55LCBmaWxlTmFtZTogc3RyaW5nKSB7XHJcblx0XHRjb25zdCBmaWxlUGF0aCA9IHRoaXMuZmlsZVNlcnZpY2UuZ2V0UGF0aChcclxuXHRcdFx0RVByb2Nlc28uQ09OVk9DQVRPUklBLFxyXG5cdFx0XHQ1MDAsXHJcblx0XHRcdDIsXHJcblx0XHRcdDEsXHJcblx0XHRcdCdhYWFhJyxcclxuXHRcdFx0ZmlsZU5hbWVcclxuXHRcdCk7XHJcblx0XHR0aGlzLmZpbGVTZXJ2aWNlLnVwbG9hZChmaWxlUGF0aCwgZmlsZVJldHVybikuc3Vic2NyaWJlKFxyXG5cdFx0XHQodXJsKSA9PiB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ0ZpbmFsaXpvIGVudsOtbyBkb2N1bWVudG8nLCB1cmwpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQoZXJyb3IpID0+IHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygnRXJyb3IgdHJ5aW5nIHRvIHVwbG9hZDogJywgZXJyb3IpO1xyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0LyoqIEl0IHJldHVybnMgdGhlIGhlaWdodCAgKi9cclxuXHRnZXRIZWlnaHQoKTogc3RyaW5nIHtcclxuXHRcdGlmICh0aGlzLmhlaWdodCkgcmV0dXJuIHRoaXMuaGVpZ2h0ICsgJ3B4JztcclxuXHRcdHJldHVybiBQZGZWaXN1YWxpemVyQ29tcG9uZW50LkRFRkFVTFRfSEVJR0hUICsgJ3B4JztcclxuXHR9XHJcblxyXG5cdC8qKiBHZXQgcGFnZSBpbmZvIGZyb20gZG9jdW1lbnQsIHJlc2l6ZSBjYW52YXMgYWNjb3JkaW5nbHksIGFuZCByZW5kZXIgcGFnZS4gKi9cclxuXHRyZW5kZXJQYWdlKG51bSkge1xyXG5cdFx0dGhpcy5wZGZEb2N1bWVudC5wYWdlUmVuZGVyaW5nID0gdHJ1ZTtcclxuXHRcdC8vIGFzc2lnbiB2YXJpYWJsZXMgb3V0IG9mIHNjb3BlXHJcblx0XHRsZXQgc2VsZlBkZkRvY3VtZW50OiBQZGZEb2N1bWVudCA9IHRoaXMucGRmRG9jdW1lbnQ7XHJcblx0XHRsZXQgc2VsZiA9IHRoaXM7XHJcblx0XHQvLyBVc2luZyBwcm9taXNlIHRvIGZldGNoIHRoZSBwYWdlXHJcblx0XHR0aGlzLnBkZkRvY3VtZW50LnBkZkRvYy5nZXRQYWdlKG51bSkudGhlbihmdW5jdGlvbiAocGFnZSkge1xyXG5cdFx0XHR2YXIgdmlld3BvcnQgPSBwYWdlLmdldFZpZXdwb3J0KHNlbGZQZGZEb2N1bWVudC5zY2FsZSk7XHJcblx0XHRcdHNlbGZQZGZEb2N1bWVudC5jYW52YXMuaGVpZ2h0ID0gdmlld3BvcnQuaGVpZ2h0O1xyXG5cdFx0XHRzZWxmUGRmRG9jdW1lbnQuY2FudmFzLndpZHRoID0gdmlld3BvcnQud2lkdGg7XHJcblxyXG5cdFx0XHQvLyBSZW5kZXIgUERGIHBhZ2UgaW50byBjYW52YXMgY29udGV4dFxyXG5cdFx0XHR2YXIgcmVuZGVyQ29udGV4dCA9IHtcclxuXHRcdFx0XHRjYW52YXNDb250ZXh0OiBzZWxmUGRmRG9jdW1lbnQuY2FudmFzLmdldENvbnRleHQoJzJkJyksXHJcblx0XHRcdFx0dmlld3BvcnQ6IHZpZXdwb3J0XHJcblx0XHRcdH07XHJcblx0XHRcdHZhciByZW5kZXJUYXNrID0gcGFnZS5yZW5kZXIocmVuZGVyQ29udGV4dCk7XHJcblxyXG5cdFx0XHQvLyBXYWl0IGZvciByZW5kZXJpbmcgdG8gZmluaXNoXHJcblx0XHRcdHJlbmRlclRhc2sucHJvbWlzZS50aGVuKGZ1bmN0aW9uICgpIHtcclxuXHRcdFx0XHRzZWxmUGRmRG9jdW1lbnQucGFnZVJlbmRlcmluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdGlmIChzZWxmUGRmRG9jdW1lbnQucGFnZU51bVBlbmRpbmcgIT09IG51bGwpIHtcclxuXHRcdFx0XHRcdC8vIE5ldyBwYWdlIHJlbmRlcmluZyBpcyBwZW5kaW5nXHJcblx0XHRcdFx0XHRzZWxmLnJlbmRlclBhZ2Uoc2VsZlBkZkRvY3VtZW50LnBhZ2VOdW1QZW5kaW5nKTtcclxuXHRcdFx0XHRcdHNlbGZQZGZEb2N1bWVudC5wYWdlTnVtUGVuZGluZyA9IG51bGw7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSWYgYW5vdGhlciBwYWdlIHJlbmRlcmluZyBpbiBwcm9ncmVzcywgd2FpdHMgdW50aWwgdGhlIHJlbmRlcmluZyBpc1xyXG5cdCAqIGZpbmlzZWQuIE90aGVyd2lzZSwgZXhlY3V0ZXMgcmVuZGVyaW5nIGltbWVkaWF0ZWx5LlxyXG5cdCAqL1xyXG5cdHF1ZXVlUmVuZGVyUGFnZShudW0pIHtcclxuXHRcdGlmICh0aGlzLnBkZkRvY3VtZW50LnBhZ2VSZW5kZXJpbmcpIHtcclxuXHRcdFx0dGhpcy5wZGZEb2N1bWVudC5wYWdlTnVtUGVuZGluZyA9IG51bTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMucmVuZGVyUGFnZShudW0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRGlzcGxheXMgcHJldmlvdXMgcGFnZS5cclxuXHQgKi9cclxuXHRvblByZXZQYWdlKCkge1xyXG5cdFx0aWYgKCF0aGlzLnBkZkRvY3VtZW50IHx8IHRoaXMucGRmRG9jdW1lbnQucGFnZU51bSA8PSAxKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMucGRmRG9jdW1lbnQucGFnZU51bS0tO1xyXG5cdFx0dGhpcy5xdWV1ZVJlbmRlclBhZ2UodGhpcy5wZGZEb2N1bWVudC5wYWdlTnVtKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIERpc3BsYXlzIG5leHQgcGFnZS5cclxuXHQgKi9cclxuXHRvbk5leHRQYWdlKCkge1xyXG5cdFx0aWYgKCF0aGlzLnBkZkRvY3VtZW50IHx8IHRoaXMucGRmRG9jdW1lbnQucGFnZU51bSA+PSB0aGlzLnBkZkRvY3VtZW50LnBkZkRvYy5udW1QYWdlcykge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLnBkZkRvY3VtZW50LnBhZ2VOdW0rKztcclxuXHRcdHRoaXMucXVldWVSZW5kZXJQYWdlKHRoaXMucGRmRG9jdW1lbnQucGFnZU51bSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBEaXNwbGF5cyBab29tIEluLlxyXG5cdCAqL1xyXG5cdG9uWm9vbUluKCkge1xyXG5cdFx0aWYgKCF0aGlzLnBkZkRvY3VtZW50IHx8IHRoaXMucGRmRG9jdW1lbnQuc2NhbGUgPj0gMykge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLnBkZkRvY3VtZW50LnNjYWxlID0gdGhpcy5wZGZEb2N1bWVudC5zY2FsZSArIDAuMjtcclxuXHRcdHRoaXMucXVldWVSZW5kZXJQYWdlKHRoaXMucGRmRG9jdW1lbnQucGFnZU51bSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBEaXNwbGF5cyBab29tIE91dC5cclxuXHQgKi9cclxuXHRvblpvb21PdXQoKSB7XHJcblx0XHRpZiAoIXRoaXMucGRmRG9jdW1lbnQgfHwgdGhpcy5wZGZEb2N1bWVudC5zY2FsZSA8PSAwLjQpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5wZGZEb2N1bWVudC5zY2FsZSA9IHRoaXMucGRmRG9jdW1lbnQuc2NhbGUgLSAwLjI7XHJcblx0XHR0aGlzLnF1ZXVlUmVuZGVyUGFnZSh0aGlzLnBkZkRvY3VtZW50LnBhZ2VOdW0pO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKSB7fVxyXG5cclxuXHQvKiogSXQgc2VuZHMgdGhlIGRvY3VtZW50IGJ5IGVtYWlsICovXHJcblx0c2VuZEVtYWlsKCkge1xyXG5cdFx0aWYgKHRoaXMuZW1haWwgJiYgVXRpbFN0cmluZy52YWxpZGF0ZUVtYWlsKHRoaXMuZW1haWwpKSB7XHJcblx0XHRcdHRoaXMub25TZW5kRW1haWwuZW1pdCh7XHJcblx0XHRcdFx0dG86IHRoaXMuZW1haWwsXHJcblx0XHRcdFx0YmFzZTY0OiB0aGlzLmJhc2U2NFxyXG5cdFx0XHR9KTtcclxuXHRcdFx0dGhpcy5lbWFpbCA9ICcnO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLnRhb3N0clNlcnZpY2Uud2FybmluZygnQ29ycmVvIGVsZWN0csOzbmljbyBlcyBpbmNvcnJlY3RvJyk7XHJcblx0fVxyXG5cclxuXHQvKiogSXQgZmlyZXMgdGhlIGV2ZW50IGRvd25sb2FkICovXHJcblx0ZG93bmxvYWQoKSB7XHJcblx0XHRjb25zdCBjb250ZW50VHlwZSA9ICdhcHBsaWNhdGlvbi9wZGYnO1xyXG5cdFx0Y29uc3QgYjY0RGF0YSA9IHRoaXMuYmFzZTY0O1xyXG5cdFx0Y29uc3QgYmxvYiA9IHRoaXMuYjY0dG9CbG9iKGI2NERhdGEsIGNvbnRlbnRUeXBlKTtcclxuXHRcdGNvbnN0IGJsb2JVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG5cdFx0dmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcblx0XHRkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xyXG5cdFx0YS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG5cdFx0YS5ocmVmID0gYmxvYlVybDtcclxuXHRcdGEuZG93bmxvYWQgPSB0aGlzLmZpbGVuYW1lO1xyXG5cdFx0YS5jbGljaygpO1xyXG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKGJsb2JVcmwpO1xyXG5cdFx0XHRkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGEpO1xyXG5cdFx0XHR0aGlzLm9uRG93bmxvYWQuZW1pdCh7XHJcblx0XHRcdFx0YmFzZTY0OiB0aGlzLmJhc2U2NFxyXG5cdFx0XHR9KTtcclxuXHRcdH0sIDIwMCk7XHJcblx0fVxyXG5cclxuXHQvKiogSXQgZmlyZXMgd2hlbiB0aGUgaHRtbCBpcyBjaGFuZ2VkICovXHJcblx0Y2hhbmdlKCkge1xyXG5cdFx0dGhpcy5nZW5lcmF0ZVBERigpO1xyXG5cdFx0dGhpcy5vbkNoYW5nZS5lbWl0KHRoaXMuaHRtbCk7XHJcblx0fVxyXG5cclxuXHQvKiogaXQgYWxsb3dzIHRvIGVkaXQgKi9cclxuXHR0b2dnbGVFZGl0KCkge1xyXG5cdFx0dGhpcy5lZGl0ID0gIXRoaXMuZWRpdDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIGl0IHJldHVybnMgaWYgaXMgUGRmRG9jdW1lbnRcclxuXHQgKi9cclxuXHRpc1BkZkRvY3VtZW50KCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMucGRmRG9jdW1lbnQgIT09IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIGl0IHJldHVybnMgaWYgaXMgVGl0bGVcclxuXHQgKi9cclxuXHRpc1RpdGxlKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMudGl0bGUgIT09IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIGl0IHJldHVybnMgaWYgaXMgaXNQZGZEb2NcclxuXHQgKi9cclxuXHRpc1BkZkRvYygpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiAoXHJcblx0XHRcdHRoaXMucGRmRG9jdW1lbnQgJiZcclxuXHRcdFx0dGhpcy5wZGZEb2N1bWVudC5wZGZEb2MgIT0gdW5kZWZpbmVkICYmXHJcblx0XHRcdHRoaXMucGRmRG9jdW1lbnQucGRmRG9jICE9IG51bGxcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBpdCByZXR1cm5zIGlmIGlzIGZpbGVuYW1lXHJcblx0ICovXHJcblx0aXNGaWxlbmFtZSgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmZpbGVuYW1lICE9PSB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBpdCByZXR1cm5zIGlmIGlzIGVuYWJsZUVkaXRcclxuXHQgKi9cclxuXHRpc0VuYWJsZUVkaXQoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5lbmFibGVFZGl0ID09IHRydWU7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBpdCByZXR1cm5zIGlmIGlzIGVkaXRcclxuXHQgKi9cclxuXHRpc0VkaXQoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5lZGl0ID09IHRydWU7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBpdCByZXR1cm5zIGlmIGlzIGVuYWJsZUVtYWlsXHJcblx0ICovXHJcblx0aXNFbmFibGVFbWFpbCgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmVuYWJsZUVtYWlsID09IHRydWU7XHJcblx0fVxyXG5cclxuXHRiNjR0b0Jsb2IoYjY0RGF0YSwgY29udGVudFR5cGUgPSAnJywgc2xpY2VTaXplID0gNTEyKSB7XHJcblx0XHRjb25zdCBieXRlQXJyYXlzID0gW107XHJcblx0XHRjb25zdCBieXRlQ2hhcmFjdGVycyA9IGF0b2IoYjY0RGF0YSk7XHJcblx0XHRmb3IgKGxldCBvZmZzZXQgPSAwOyBvZmZzZXQgPCBieXRlQ2hhcmFjdGVycy5sZW5ndGg7IG9mZnNldCArPSBzbGljZVNpemUpIHtcclxuXHRcdFx0Y29uc3Qgc2xpY2UgPSBieXRlQ2hhcmFjdGVycy5zbGljZShvZmZzZXQsIG9mZnNldCArIHNsaWNlU2l6ZSk7XHJcblx0XHRcdGNvbnN0IGJ5dGVOdW1iZXJzID0gbmV3IEFycmF5KHNsaWNlLmxlbmd0aCk7XHJcblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgc2xpY2UubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRieXRlTnVtYmVyc1tpXSA9IHNsaWNlLmNoYXJDb2RlQXQoaSk7XHJcblx0XHRcdH1cclxuXHRcdFx0Y29uc3QgYnl0ZUFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYnl0ZU51bWJlcnMpO1xyXG5cdFx0XHRieXRlQXJyYXlzLnB1c2goYnl0ZUFycmF5KTtcclxuXHRcdH1cclxuXHRcdGNvbnN0IGJsb2IgPSBuZXcgQmxvYihieXRlQXJyYXlzLCB7IHR5cGU6IGNvbnRlbnRUeXBlIH0pO1xyXG5cdFx0cmV0dXJuIGJsb2I7XHJcblx0fVxyXG59XHJcbiIsIjxoMyBjbGFzcz1cInBkZi12aXN1YWxpemVyLXRpdGxlXCI+e3sgdGl0bGUgfX08L2gzPlxyXG48ZGl2IGNsYXNzPVwicGRmLXZpc3VhbGl6ZXItY29udGFpbmVyXCI+XHJcblx0PGRpdiBjbGFzcz1cInBkZi12aXN1YWxpemVyLWNvbnRyb2xzXCIgKm5nSWY9XCJpc1BkZkRvY3VtZW50KCkgPT09IHRydWVcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC1tZC03XCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImJ0bi10b29sYmFyXCIgcm9sZT1cInRvb2xiYXJcIiBhcmlhLWxhYmVsPVwiVG9vbGJhciB3aXRoIGJ1dHRvbiBncm91cHNcIj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgYnRuLWdyb3VwLXNtIG1yLTJcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiU2Vjb25kIGdyb3VwXCI+XHJcblx0XHRcdFx0XHRcdDwhLS0gem9vbSBpbi0tPlxyXG5cdFx0XHRcdFx0XHQ8YVxyXG5cdFx0XHRcdFx0XHRcdGhyZWY9XCJKYXZhc2NyaXB0OjtcIlxyXG5cdFx0XHRcdFx0XHRcdHRpdGxlPVwiQWNlcmNhclwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS10b2dnbGU9XCJ0b29sdGlwXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXBsYWNlbWVudD1cInRvcFwiXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHQoY2xpY2spPVwib25ab29tSW4oKVwiXHJcblx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZhIGZhLXNlYXJjaC1wbHVzXCI+PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L2E+XHJcblxyXG5cdFx0XHRcdFx0XHQ8IS0tIHpvb20gb3V0LS0+XHJcblx0XHRcdFx0XHRcdDxhXHJcblx0XHRcdFx0XHRcdFx0aHJlZj1cIkphdmFzY3JpcHQ6O1wiXHJcblx0XHRcdFx0XHRcdFx0dGl0bGU9XCJBbGVqYXJcIlxyXG5cdFx0XHRcdFx0XHRcdGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS1wbGFjZW1lbnQ9XCJ0b3BcIlxyXG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiXHJcblx0XHRcdFx0XHRcdFx0KGNsaWNrKT1cIm9uWm9vbU91dCgpXCJcclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiZmEgZmEtc2VhcmNoLW1pbnVzXCI+PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L2E+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIGJ0bi1ncm91cC1zbSBtci0yXCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbD1cIlRoaXJkIGdyb3VwXCI+XHJcblx0XHRcdFx0XHRcdDwhLS1wcmV2IC0tPlxyXG5cdFx0XHRcdFx0XHQ8YVxyXG5cdFx0XHRcdFx0XHRcdGhyZWY9XCJKYXZhc2NyaXB0OjtcIlxyXG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiXHJcblx0XHRcdFx0XHRcdFx0KGNsaWNrKT1cIm9uUHJldlBhZ2UoKVwiXHJcblx0XHRcdFx0XHRcdFx0dGl0bGU9XCJBbnRlcmlvclwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS10b2dnbGU9XCJ0b29sdGlwXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXBsYWNlbWVudD1cInRvcFwiXHJcblx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZhIGZhLWNoZXZyb24tbGVmdFwiPjwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0PC9hPlxyXG5cclxuXHRcdFx0XHRcdFx0PCEtLSBwYWdpbmF0aW9uLS0+XHJcblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiICpuZ0lmPVwiaXNQZGZEb2MoKSA9PT0gdHJ1ZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFDDoWdpbmE6IHt7IHBkZkRvY3VtZW50LnBhZ2VOdW0gfX0gLyB7eyBwZGZEb2N1bWVudC5wZGZEb2MubnVtUGFnZXMgfX1cclxuXHRcdFx0XHRcdFx0PC9zcGFuPlxyXG5cclxuXHRcdFx0XHRcdFx0PCEtLW5leHQgLS0+XHJcblx0XHRcdFx0XHRcdDxhXHJcblx0XHRcdFx0XHRcdFx0aHJlZj1cIkphdmFzY3JpcHQ6O1wiXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHQoY2xpY2spPVwib25OZXh0UGFnZSgpXCJcclxuXHRcdFx0XHRcdFx0XHR0aXRsZT1cIlNpZ3VpZW50ZVwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS10b2dnbGU9XCJ0b29sdGlwXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXBsYWNlbWVudD1cInRvcFwiXHJcblx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZhIGZhLWNoZXZyb24tcmlnaHRcIj48L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwvYT5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgYnRuLWdyb3VwLXNtXCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbD1cIkZpcnN0IGdyb3VwXCI+XHJcblx0XHRcdFx0XHRcdDwhLS0gZG93bmxvYWQtLT5cclxuXHRcdFx0XHRcdFx0PGFcclxuXHRcdFx0XHRcdFx0XHRbZG93bmxvYWRdPVwiZmlsZW5hbWVcIlxyXG5cdFx0XHRcdFx0XHRcdCpuZ0lmPVwiaXNGaWxlbmFtZSgpID09PSB0cnVlXCJcclxuXHRcdFx0XHRcdFx0XHQoY2xpY2spPVwiZG93bmxvYWQoKVwiXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHR0aXRsZT1cIkRlc2NhcmdhclwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS10b2dnbGU9XCJ0b29sdGlwXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXBsYWNlbWVudD1cInRvcFwiXHJcblx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHQ8IS0tIFtocmVmXT1cIlxyXG5cdFx0XHRcdFx0XHRcdHNhbml0aXphdGlvbi5ieXBhc3NTZWN1cml0eVRydXN0VXJsKFxyXG5cdFx0XHRcdFx0XHRcdFx0J2RhdGE6YXBwbGljYXRpb24vcGRmO2Jhc2U2NCwnICsgdGhpcy5iYXNlNjRcclxuXHRcdFx0XHRcdFx0XHQpXHJcblx0XHRcdFx0XHRcdFwiIC0tPlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiZmEgZmEtZG93bmxvYWRcIj48L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwvYT5cclxuXHJcblx0XHRcdFx0XHRcdDwhLS0gdG9nZ2xlIGVkaXQtLVxyXG4gICAgICAgICAgICA8YSBocmVmPVwiSmF2YXNjcmlwdDo7XCIgKm5nSWY9XCJpc0VuYWJsZUVkaXQoKSA9PT0gdHJ1ZVwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIHRpdGxlPVwiRWRpdGFyXCJcclxuICAgICAgICAgICAgICBkYXRhLXRvZ2dsZT1cInRvb2x0aXBcIiBkYXRhLXBsYWNlbWVudD1cInRvcFwiIChjbGljayk9XCJ0b2dnbGVFZGl0KClcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWVkaXRcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYT5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gZ2VuZXJhdGUgcGRmLS0+XHJcblx0XHRcdFx0XHRcdDxhXHJcblx0XHRcdFx0XHRcdFx0aHJlZj1cIkphdmFzY3JpcHQ6O1wiXHJcblx0XHRcdFx0XHRcdFx0Km5nSWY9XCJpc0VkaXQoKSA9PT0gdHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHR0aXRsZT1cIkdlbmVyYXJcIlxyXG5cdFx0XHRcdFx0XHRcdGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS1wbGFjZW1lbnQ9XCJ0b3BcIlxyXG5cdFx0XHRcdFx0XHRcdChjbGljayk9XCJjaGFuZ2UoKVwiXHJcblx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZhIGZhLXBsYXlcIj48L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwvYT5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtbWQtNSBwdWxsLXJpZ2h0XCIgKm5nSWY9XCJpc0VuYWJsZUVtYWlsKCkgPT09IHRydWVcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgaW5wdXQtZ3JvdXAtc21cIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJwZGYtdmlzdWFsaXplci1lbWFpbFwiIGNsYXNzPVwicGRmXCI+XHJcblx0XHRcdFx0XHRcdEVudmlhciBtZW5zYWplIGFcclxuXHRcdFx0XHRcdDwvbGFiZWw+XHJcblx0XHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdFx0dHlwZT1cImVtYWlsXCJcclxuXHRcdFx0XHRcdFx0aWQ9XCJwZGYtdmlzdWFsaXplci1lbWFpbFwiXHJcblx0XHRcdFx0XHRcdG5hbWU9XCJwZGYtdmlzdWFsaXplci1lbWFpbFwiXHJcblx0XHRcdFx0XHRcdHJlcXVpcmVkPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuXHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI9XCJDb3JyZW8gZWxlY3Ryw7NuaWNvXCJcclxuXHRcdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJlbWFpbFwiXHJcblx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiPlxyXG5cdFx0XHRcdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHR0eXBlPVwiYnV0dG9uXCJcclxuXHRcdFx0XHRcdFx0XHQoY2xpY2spPVwic2VuZEVtYWlsKClcIlxyXG5cdFx0XHRcdFx0XHRcdHRpdGxlPVwiRW52aWFyXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXRvZ2dsZT1cInRvb2x0aXBcIlxyXG5cdFx0XHRcdFx0XHRcdGRhdGEtcGxhY2VtZW50PVwidG9wXCJcclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdDxpbWdcclxuXHRcdFx0XHRcdFx0XHRcdHNyYz1cImh0dHA6Ly9naXJvMzYwLmNvL3pvbmEzNjAvY29sZnV0dXJvL1BMSUMvaW1nL2V4cG9ydC5zdmdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0YWx0PVwiXCJcclxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoPVwiMTZcIlxyXG5cdFx0XHRcdFx0XHRcdC8+XHJcblx0XHRcdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblxyXG5cdDxkaXYgY2xhc3M9XCJwZGYtdmlzdWFsaXplci1kYXNoYm9hcmRcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC1tZC01XCIgKm5nSWY9XCJpc0VkaXQoKSA9PT0gdHJ1ZVwiPlxyXG5cdFx0XHRcdDx0ZXh0YXJlYVxyXG5cdFx0XHRcdFx0Y2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG5cdFx0XHRcdFx0W3N0eWxlLmhlaWdodF09XCJnZXRIZWlnaHQoKVwiXHJcblx0XHRcdFx0XHRzdHlsZT1cInJlc2l6ZTp2ZXJ0aWNhbDtcIlxyXG5cdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJodG1sXCJcclxuXHRcdFx0XHQ+PC90ZXh0YXJlYT5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxkaXYgW25nQ2xhc3NdPVwieyAnY29sLW1kLTcnOiBlZGl0ID09PSB0cnVlLCAnY29sLW1kLTEyJzogIWVkaXQgfVwiPlxyXG5cdFx0XHRcdDxkaXZcclxuXHRcdFx0XHRcdGlkPVwicGRmLXNjcm9sbGFibGVcIlxyXG5cdFx0XHRcdFx0Y2xhc3M9XCJwZGYtdmlzdWFsaXplci1zY3JvbGxhYmxlXCJcclxuXHRcdFx0XHRcdFtzdHlsZS5oZWlnaHRdPVwiZ2V0SGVpZ2h0KClcIlxyXG5cdFx0XHRcdD5cclxuXHRcdFx0XHRcdDxjYW52YXMgaWQ9XCJwZGYtY2FudmFzXCIgY2xhc3M9XCJwZGYtdmlzdWFsaXplci1jYW52YXNcIj4gPC9jYW52YXM+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|