brainloper-ui 14.1.0 → 14.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/esm2020/brainloper-ui.mjs +4 -4
  2. package/esm2020/public_api.mjs +56 -51
  3. package/esm2020/src/app/modules/brainloper-ui/brainloper-ui.module.mjs +310 -305
  4. package/esm2020/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.mjs +29 -29
  5. package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.mjs +23 -23
  6. package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.mjs +83 -83
  7. package/esm2020/src/app/modules/brainloper-ui/components/carousel/carousel.component.mjs +37 -31
  8. package/esm2020/src/app/modules/brainloper-ui/components/combos/combos.component.mjs +176 -176
  9. package/esm2020/src/app/modules/brainloper-ui/components/data-table/data-table.component.mjs +728 -652
  10. package/esm2020/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.mjs +118 -118
  11. package/esm2020/src/app/modules/brainloper-ui/components/file-input/file-input.component.mjs +186 -185
  12. package/esm2020/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.mjs +1 -1
  13. package/esm2020/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.mjs +1 -1
  14. package/esm2020/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.mjs +1 -1
  15. package/esm2020/src/app/modules/brainloper-ui/components/filters/filters.component.mjs +222 -222
  16. package/esm2020/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.mjs +80 -80
  17. package/esm2020/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.mjs +81 -81
  18. package/esm2020/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.mjs +108 -108
  19. package/esm2020/src/app/modules/directives/carousel-item.directive.mjs +18 -0
  20. package/esm2020/src/app/modules/interfaces/buttons/button-icon.mjs +2 -2
  21. package/esm2020/src/app/modules/interfaces/buttons/button-lavel-edit.mjs +2 -2
  22. package/esm2020/src/app/modules/interfaces/combos/combos-configuration.mjs +2 -2
  23. package/esm2020/src/app/modules/interfaces/data-table/params.mjs +2 -2
  24. package/esm2020/src/app/modules/interfaces/data-table/rules.mjs +2 -2
  25. package/esm2020/src/app/modules/interfaces/data-table/table-columns.mjs +2 -2
  26. package/esm2020/src/app/modules/interfaces/data-table/table-configuration.mjs +2 -2
  27. package/esm2020/src/app/modules/interfaces/enum/enumActions.mjs +8 -7
  28. package/esm2020/src/app/modules/interfaces/enum/enumRules.mjs +8 -8
  29. package/esm2020/src/app/modules/interfaces/file-forms-service/file-forms-params.mjs +2 -2
  30. package/esm2020/src/app/modules/interfaces/file-forms-service/file-input-params.mjs +2 -2
  31. package/esm2020/src/app/modules/interfaces/filters/header-filters.mjs +2 -2
  32. package/esm2020/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.mjs +8 -8
  33. package/esm2020/src/app/modules/interfaces/report/template-pdf-ot.mjs +2 -2
  34. package/esm2020/src/app/modules/interfaces/report/template-pfd-fo.mjs +2 -2
  35. package/esm2020/src/app/modules/services/crypto.service.mjs +37 -37
  36. package/esm2020/src/app/modules/services/export-data.service.mjs +166 -166
  37. package/esm2020/src/app/modules/services/file-forms.service.mjs +24 -24
  38. package/esm2020/src/app/modules/services/functions.service.mjs +54 -54
  39. package/esm2020/src/app/modules/services/generate-pdf.service.mjs +58 -58
  40. package/esm2020/src/app/modules/services/http.service.mjs +97 -154
  41. package/esm2020/src/app/modules/services/loading/loading.component.mjs +28 -28
  42. package/esm2020/src/app/modules/services/local-storage.service.mjs +115 -115
  43. package/esm2020/src/app/modules/services/message.service.mjs +200 -200
  44. package/esm2020/src/app/modules/services/screen-size-util.mjs +6 -6
  45. package/esm2020/src/app/modules/services/session.service.mjs +42 -42
  46. package/fesm2015/brainloper-ui.mjs +2819 -2769
  47. package/fesm2015/brainloper-ui.mjs.map +1 -1
  48. package/fesm2020/brainloper-ui.mjs +2779 -2733
  49. package/fesm2020/brainloper-ui.mjs.map +1 -1
  50. package/index.d.ts +5 -5
  51. package/package.json +3 -1
  52. package/public_api.d.ts +55 -50
  53. package/src/app/modules/brainloper-ui/brainloper-ui.module.d.ts +62 -73
  54. package/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.d.ts +13 -13
  55. package/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.d.ts +10 -10
  56. package/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.d.ts +24 -24
  57. package/src/app/modules/brainloper-ui/components/carousel/carousel.component.d.ts +15 -12
  58. package/src/app/modules/brainloper-ui/components/combos/combos.component.d.ts +46 -46
  59. package/src/app/modules/brainloper-ui/components/data-table/data-table.component.d.ts +125 -119
  60. package/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.d.ts +21 -21
  61. package/src/app/modules/brainloper-ui/components/file-input/file-input.component.d.ts +42 -42
  62. package/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.d.ts +2 -2
  63. package/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.d.ts +2 -2
  64. package/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.d.ts +2 -2
  65. package/src/app/modules/brainloper-ui/components/filters/filters.component.d.ts +30 -30
  66. package/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.d.ts +35 -35
  67. package/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.d.ts +36 -36
  68. package/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.d.ts +26 -26
  69. package/src/app/modules/directives/carousel-item.directive.d.ts +9 -0
  70. package/src/app/modules/interfaces/buttons/button-icon.d.ts +9 -9
  71. package/src/app/modules/interfaces/buttons/button-lavel-edit.d.ts +6 -6
  72. package/src/app/modules/interfaces/combos/combos-configuration.d.ts +13 -13
  73. package/src/app/modules/interfaces/data-table/params.d.ts +7 -7
  74. package/src/app/modules/interfaces/data-table/rules.d.ts +8 -8
  75. package/src/app/modules/interfaces/data-table/table-columns.d.ts +25 -25
  76. package/src/app/modules/interfaces/data-table/table-configuration.d.ts +26 -25
  77. package/src/app/modules/interfaces/enum/enumActions.d.ts +6 -5
  78. package/src/app/modules/interfaces/enum/enumRules.d.ts +6 -6
  79. package/src/app/modules/interfaces/file-forms-service/file-forms-params.d.ts +4 -4
  80. package/src/app/modules/interfaces/file-forms-service/file-input-params.d.ts +13 -13
  81. package/src/app/modules/interfaces/filters/header-filters.d.ts +13 -13
  82. package/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.d.ts +10 -10
  83. package/src/app/modules/interfaces/report/template-pdf-ot.d.ts +19 -19
  84. package/src/app/modules/interfaces/report/template-pfd-fo.d.ts +20 -20
  85. package/src/app/modules/services/crypto.service.d.ts +10 -10
  86. package/src/app/modules/services/export-data.service.d.ts +18 -18
  87. package/src/app/modules/services/file-forms.service.d.ts +7 -7
  88. package/src/app/modules/services/functions.service.d.ts +13 -13
  89. package/src/app/modules/services/generate-pdf.service.d.ts +12 -12
  90. package/src/app/modules/services/http.service.d.ts +22 -21
  91. package/src/app/modules/services/loading/loading.component.d.ts +15 -15
  92. package/src/app/modules/services/local-storage.service.d.ts +49 -49
  93. package/src/app/modules/services/message.service.d.ts +23 -23
  94. package/src/app/modules/services/screen-size-util.d.ts +3 -3
  95. package/src/app/modules/services/session.service.d.ts +14 -14
@@ -1,80 +1,80 @@
1
- import { Component, Inject } from '@angular/core';
2
- import jsPDF from 'jspdf';
3
- import html2canvas from 'html2canvas';
4
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/material/dialog";
7
- import * as i2 from "../../../../services/message.service";
8
- import * as i3 from "@angular/material/button";
9
- export class GeneratePdfComponent {
10
- constructor(dialogRef, dataModal, dialog, message) {
11
- this.dialogRef = dialogRef;
12
- this.dataModal = dataModal;
13
- this.dialog = dialog;
14
- this.message = message;
15
- this.data = {
16
- name: '',
17
- nit: '',
18
- address: '',
19
- telephone: '',
20
- mail: '',
21
- image: '',
22
- code: '',
23
- date: '',
24
- responsible: '',
25
- third: '',
26
- odometer: '',
27
- approved_by: '',
28
- description: '',
29
- consecutive: '',
30
- nameProvider: '',
31
- addressProvider: '',
32
- area: '',
33
- };
34
- }
35
- ngOnInit() {
36
- this.data = this.dataModal.data;
37
- }
38
- ngAfterViewInit() {
39
- if (this.dataModal.autoGenerate) {
40
- this.downloadPDF();
41
- }
42
- }
43
- downloadPDF() {
44
- this.message.openLoading("Cargando", "Generando PDF");
45
- const DATA = document.getElementById('templateOT');
46
- const doc = new jsPDF('p', 'pt', 'a4');
47
- const options = {
48
- background: 'white',
49
- scale: 3
50
- };
51
- html2canvas(DATA, options)
52
- .then((canvas) => {
53
- const img = canvas.toDataURL('image/PNG');
54
- //add img canvas to pdf
55
- const bufferX = 15;
56
- const bufferY = 15;
57
- const imgProps = doc.getImageProperties(img);
58
- const pdfWidth = doc.internal.pageSize.getWidth() - 2 * bufferX;
59
- const pdfHeight = (imgProps.height * pdfWidth) / imgProps.width;
60
- doc.addImage(img, 'PNG', bufferX, bufferY, pdfWidth, pdfHeight, undefined, 'FAST');
61
- return doc;
62
- })
63
- .then((docResult) => {
64
- //docResult.save(`${new Date().toISOString()}_reporte.pdf`);
65
- docResult.output('dataurlnewwindow', { filename: 'reporte.pdf' });
66
- this.dialog.closeAll();
67
- this.message.closeLoading();
68
- });
69
- }
70
- }
71
- GeneratePdfComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GeneratePdfComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i1.MatDialog }, { token: i2.MessageService }], target: i0.ɵɵFactoryTarget.Component });
72
- GeneratePdfComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GeneratePdfComponent, selector: "app-generate-pdf", ngImport: i0, template: "<div id=\"templateOT\" #templateOT>\r\n <div class=\"template-ot\" style=\"display: flex; flex-direction: column; width:100%; margin:0; background-color: white;\">\r\n\r\n <!-- Encabezado -->\r\n <div class=\"borde\" style=\"width:100%; height:30mm; display:flex; flex-direction: row; align-items: center; \">\r\n <div style=\"width:70%; display:flex; flex-direction:column; align-items: center;\">\r\n <h2 style=\"margin:0; padding:0; text-align: center; text-transform: uppercase;\">{{data.name}}</h2>\r\n <h2 style=\"margin:0; padding:0; text-align: center; \">NIT: {{data.nit}}</h2>\r\n <div style=\"width:70%; display:flex; flex-direction:row; justify-content: space-around;\">\r\n <h3 style=\"margin:0; padding:0; text-align: center; \">{{data.address}}</h3>\r\n <h3 style=\"margin:0; padding:0; text-align: center; \">TEL: {{data.telephone}}</h3>\r\n </div>\r\n </div>\r\n <div style=\"width:30%;\">\r\n <div class=\"img\"\r\n style=\"width:90%; height:100px; margin: 10px; padding: 15px; background-image: url({{data.image}});\">\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n <div class=\"borde\"\r\n style=\"width:100%; height:10mm; display:flex; flex-direction: row; justify-content: space-around; align-items: center; background: #F0F4FF;\">\r\n <h2 style=\"margin:0; padding:0;\">ORDEN DE TRABAJO</h2>\r\n <h2 style=\"margin:0; padding:0;\">N\u00B0: {{data.consecutive}}</h2>\r\n\r\n </div>\r\n\r\n <!-- Cuerpo -->\r\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row; align-items: center\">\r\n <div style=\"width:13%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">Fecha:</h2>\r\n </div>\r\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.date}}</h2>\r\n </div>\r\n <div style=\"width:13%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">C\u00F3digo:</h2>\r\n </div>\r\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.code}}</h2>\r\n </div>\r\n <div style=\"width:12%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">\u00C1rea:</h2>\r\n </div>\r\n <div style=\"width:32%\">\r\n <h2 style=\"text-align: center; margin-top:20px; padding:0;\">{{data.area}}</h2>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row; align-items: center\">\r\n <div style=\"width:13%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">Operario:</h2>\r\n </div>\r\n <div style=\"width:47%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.responsible}}</h2>\r\n </div>\r\n <div style=\"width:18%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">Od\u00F3metro:</h2>\r\n </div>\r\n <div style=\"width:22%\">\r\n <h2 style=\"text-align: center; margin-top:15px; padding:0\">{{data.odometer}}</h2>\r\n </div>\r\n </div>\r\n <div class=\"borde\" style=\"width:100%; height:10m; background: #F0F4FF;\">\r\n <h3 style=\"margin:0; padding:0; text-align: center;\">Datos del proveedor</h3>\r\n </div>\r\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row ; align-items: center\">\r\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">Nombre:</h2>\r\n </div>\r\n <div style=\"width:35%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">{{data.nameProvider}}</h2>\r\n </div>\r\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">Direcci\u00F3n:</h2>\r\n </div>\r\n <div style=\"width:35%\">\r\n <h2 style=\"text-align: center; margin-top:20px; padding:0;\">{{data.addressProvider}}</h2>\r\n </div>\r\n\r\n </div>\r\n <div class=\"borde\" style=\"width:100%; height:8mm; background: #F0F4FF;\">\r\n <h3 style=\"margin:0; padding:0; text-align: center;\">Detalles del servicio</h3>\r\n </div>\r\n <div class=\"borde\" style=\"width:100%; height:20mm;\">\r\n <h3 style=\"margin-top:11px; padding:0;\">{{data.description}}</h3>\r\n </div>\r\n\r\n <div class=\"borde\" style=\"width:100%; height:10mm; display:flex; flex-direction:row; align-items: center\">\r\n <div style=\"width:35%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin:1px; padding:0;\">AUTORIZADA POR:</h2>\r\n </div>\r\n <div style=\"width:65%\">\r\n <h2 style=\"text-align: center; margin:5px; padding:0;\">{{data.approved_by}}</h2>\r\n </div>\r\n\r\n </div>\r\n\r\n <!-- piso -->\r\n <div class=\"borde\"\r\n style=\"width:100%; height:15mm; display: flex; flex-direction: column; justify-content: center;\">\r\n <h3 style=\"margin:0; padding:0; text-align: center;\">Favor adjuntar la orden a la factura o cuenta de cobro\r\n </h3>\r\n <h3 style=\"margin:0; padding:0; text-align: center;\">{{data.mail}}</h3>\r\n\r\n </div>\r\n\r\n </div>\r\n</div>\r\n\r\n\r\n<div style=\"display: flex; justify-content: center; margin-top: 15px;\">\r\n <button (click)=\"downloadPDF()\" color='primary' mat-raised-button>Generar PDF</button>\r\n</div>", styles: [".img{background-size:100%;background-repeat:no-repeat;background-position:center;background-size:contain}h2{font-size:1rem}.borde{border:1px solid blue}\n"], dependencies: [{ kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GeneratePdfComponent, decorators: [{
74
- type: Component,
75
- args: [{ selector: 'app-generate-pdf', template: "<div id=\"templateOT\" #templateOT>\r\n <div class=\"template-ot\" style=\"display: flex; flex-direction: column; width:100%; margin:0; background-color: white;\">\r\n\r\n <!-- Encabezado -->\r\n <div class=\"borde\" style=\"width:100%; height:30mm; display:flex; flex-direction: row; align-items: center; \">\r\n <div style=\"width:70%; display:flex; flex-direction:column; align-items: center;\">\r\n <h2 style=\"margin:0; padding:0; text-align: center; text-transform: uppercase;\">{{data.name}}</h2>\r\n <h2 style=\"margin:0; padding:0; text-align: center; \">NIT: {{data.nit}}</h2>\r\n <div style=\"width:70%; display:flex; flex-direction:row; justify-content: space-around;\">\r\n <h3 style=\"margin:0; padding:0; text-align: center; \">{{data.address}}</h3>\r\n <h3 style=\"margin:0; padding:0; text-align: center; \">TEL: {{data.telephone}}</h3>\r\n </div>\r\n </div>\r\n <div style=\"width:30%;\">\r\n <div class=\"img\"\r\n style=\"width:90%; height:100px; margin: 10px; padding: 15px; background-image: url({{data.image}});\">\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n <div class=\"borde\"\r\n style=\"width:100%; height:10mm; display:flex; flex-direction: row; justify-content: space-around; align-items: center; background: #F0F4FF;\">\r\n <h2 style=\"margin:0; padding:0;\">ORDEN DE TRABAJO</h2>\r\n <h2 style=\"margin:0; padding:0;\">N\u00B0: {{data.consecutive}}</h2>\r\n\r\n </div>\r\n\r\n <!-- Cuerpo -->\r\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row; align-items: center\">\r\n <div style=\"width:13%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">Fecha:</h2>\r\n </div>\r\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.date}}</h2>\r\n </div>\r\n <div style=\"width:13%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">C\u00F3digo:</h2>\r\n </div>\r\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.code}}</h2>\r\n </div>\r\n <div style=\"width:12%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">\u00C1rea:</h2>\r\n </div>\r\n <div style=\"width:32%\">\r\n <h2 style=\"text-align: center; margin-top:20px; padding:0;\">{{data.area}}</h2>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row; align-items: center\">\r\n <div style=\"width:13%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">Operario:</h2>\r\n </div>\r\n <div style=\"width:47%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.responsible}}</h2>\r\n </div>\r\n <div style=\"width:18%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">Od\u00F3metro:</h2>\r\n </div>\r\n <div style=\"width:22%\">\r\n <h2 style=\"text-align: center; margin-top:15px; padding:0\">{{data.odometer}}</h2>\r\n </div>\r\n </div>\r\n <div class=\"borde\" style=\"width:100%; height:10m; background: #F0F4FF;\">\r\n <h3 style=\"margin:0; padding:0; text-align: center;\">Datos del proveedor</h3>\r\n </div>\r\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row ; align-items: center\">\r\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">Nombre:</h2>\r\n </div>\r\n <div style=\"width:35%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">{{data.nameProvider}}</h2>\r\n </div>\r\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">Direcci\u00F3n:</h2>\r\n </div>\r\n <div style=\"width:35%\">\r\n <h2 style=\"text-align: center; margin-top:20px; padding:0;\">{{data.addressProvider}}</h2>\r\n </div>\r\n\r\n </div>\r\n <div class=\"borde\" style=\"width:100%; height:8mm; background: #F0F4FF;\">\r\n <h3 style=\"margin:0; padding:0; text-align: center;\">Detalles del servicio</h3>\r\n </div>\r\n <div class=\"borde\" style=\"width:100%; height:20mm;\">\r\n <h3 style=\"margin-top:11px; padding:0;\">{{data.description}}</h3>\r\n </div>\r\n\r\n <div class=\"borde\" style=\"width:100%; height:10mm; display:flex; flex-direction:row; align-items: center\">\r\n <div style=\"width:35%; border-right:1px solid blue; height: 100%;\">\r\n <h2 style=\"text-align: center; margin:1px; padding:0;\">AUTORIZADA POR:</h2>\r\n </div>\r\n <div style=\"width:65%\">\r\n <h2 style=\"text-align: center; margin:5px; padding:0;\">{{data.approved_by}}</h2>\r\n </div>\r\n\r\n </div>\r\n\r\n <!-- piso -->\r\n <div class=\"borde\"\r\n style=\"width:100%; height:15mm; display: flex; flex-direction: column; justify-content: center;\">\r\n <h3 style=\"margin:0; padding:0; text-align: center;\">Favor adjuntar la orden a la factura o cuenta de cobro\r\n </h3>\r\n <h3 style=\"margin:0; padding:0; text-align: center;\">{{data.mail}}</h3>\r\n\r\n </div>\r\n\r\n </div>\r\n</div>\r\n\r\n\r\n<div style=\"display: flex; justify-content: center; margin-top: 15px;\">\r\n <button (click)=\"downloadPDF()\" color='primary' mat-raised-button>Generar PDF</button>\r\n</div>", styles: [".img{background-size:100%;background-repeat:no-repeat;background-position:center;background-size:contain}h2{font-size:1rem}.borde{border:1px solid blue}\n"] }]
76
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
77
- type: Inject,
78
- args: [MAT_DIALOG_DATA]
79
- }] }, { type: i1.MatDialog }, { type: i2.MessageService }]; } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtcGRmLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9icmFpbmxvcGVyLXVpL2NvbXBvbmVudHMvcmVwb3J0L2dlbmVyYXRlLXBkZi9nZW5lcmF0ZS1wZGYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2JyYWlubG9wZXItdWkvY29tcG9uZW50cy9yZXBvcnQvZ2VuZXJhdGUtcGRmL2dlbmVyYXRlLXBkZi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxXQUFXLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sRUFBMkIsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBT3BGLE1BQU0sT0FBTyxvQkFBb0I7SUFzQi9CLFlBQ1MsU0FBNkMsRUFDcEIsU0FBUyxFQUNqQyxNQUFnQixFQUNqQixPQUF1QjtRQUh2QixjQUFTLEdBQVQsU0FBUyxDQUFvQztRQUNwQixjQUFTLEdBQVQsU0FBUyxDQUFBO1FBQ2pDLFdBQU0sR0FBTixNQUFNLENBQVU7UUFDakIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUF4QmhDLFNBQUksR0FBRztZQUNMLElBQUksRUFBRSxFQUFFO1lBQ1IsR0FBRyxFQUFFLEVBQUU7WUFDUCxPQUFPLEVBQUUsRUFBRTtZQUNYLFNBQVMsRUFBRSxFQUFFO1lBQ2IsSUFBSSxFQUFFLEVBQUU7WUFDUixLQUFLLEVBQUUsRUFBRTtZQUNULElBQUksRUFBRSxFQUFFO1lBQ1IsSUFBSSxFQUFFLEVBQUU7WUFDUixXQUFXLEVBQUUsRUFBRTtZQUNmLEtBQUssRUFBRSxFQUFFO1lBQ1QsUUFBUSxFQUFFLEVBQUU7WUFDWixXQUFXLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSxFQUFFO1lBQ2YsV0FBVyxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsRUFBRTtZQUNoQixlQUFlLEVBQUUsRUFBRTtZQUNuQixJQUFJLEVBQUUsRUFBRTtTQUNULENBQUE7SUFPRyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUE7SUFDakMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFDO1lBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtTQUNuQjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQTtRQUNyRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25ELE1BQU0sR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQUc7WUFDZCxVQUFVLEVBQUUsT0FBTztZQUNuQixLQUFLLEVBQUUsQ0FBQztTQUNULENBQUM7UUFDRixXQUFXLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQzthQUN2QixJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNoQixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRTNDLHVCQUF1QjtZQUN2QixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDbkIsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ25CLE1BQU0sUUFBUSxHQUFJLEdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0RCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO1lBQy9ELE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQ2hFLEdBQUcsQ0FBQyxRQUFRLENBQ1YsR0FBRyxFQUNILEtBQUssRUFDTCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFFBQVEsRUFDUixTQUFTLEVBQ1QsU0FBUyxFQUNULE1BQU0sQ0FDUCxDQUFDO1lBQ0YsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNuQiw0REFBNEQ7WUFDM0QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUMsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUE7WUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2lIQTNFVSxvQkFBb0IsOENBd0JyQixlQUFlO3FHQXhCZCxvQkFBb0Isd0RDWGpDLDIvTUFtSE07MkZEeEdPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQTRCekIsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBqc1BERiBmcm9tICdqc3BkZic7XHJcbmltcG9ydCBodG1sMmNhbnZhcyBmcm9tICdodG1sMmNhbnZhcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZ2VuZXJhdGUtcGRmJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ2VuZXJhdGUtcGRmLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9nZW5lcmF0ZS1wZGYuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgR2VuZXJhdGVQZGZDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBkYXRhID0ge1xyXG4gICAgbmFtZTogJycsXHJcbiAgICBuaXQ6ICcnLFxyXG4gICAgYWRkcmVzczogJycsXHJcbiAgICB0ZWxlcGhvbmU6ICcnLFxyXG4gICAgbWFpbDogJycsXHJcbiAgICBpbWFnZTogJycsXHJcbiAgICBjb2RlOiAnJyxcclxuICAgIGRhdGU6ICcnLFxyXG4gICAgcmVzcG9uc2libGU6ICcnLFxyXG4gICAgdGhpcmQ6ICcnLFxyXG4gICAgb2RvbWV0ZXI6ICcnLFxyXG4gICAgYXBwcm92ZWRfYnk6ICcnLFxyXG4gICAgZGVzY3JpcHRpb246ICcnLFxyXG4gICAgY29uc2VjdXRpdmU6ICcnLFxyXG4gICAgbmFtZVByb3ZpZGVyOiAnJyxcclxuICAgIGFkZHJlc3NQcm92aWRlcjogJycsXHJcbiAgICBhcmVhOiAnJyxcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEdlbmVyYXRlUGRmQ29tcG9uZW50PixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YU1vZGFsLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6TWF0RGlhbG9nLFxyXG4gICAgcHVibGljIG1lc3NhZ2U6IE1lc3NhZ2VTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGFNb2RhbC5kYXRhXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKXtcclxuICAgIGlmKHRoaXMuZGF0YU1vZGFsLmF1dG9HZW5lcmF0ZSl7XHJcbiAgICAgIHRoaXMuZG93bmxvYWRQREYoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRvd25sb2FkUERGKCk6IHZvaWQge1xyXG4gICAgdGhpcy5tZXNzYWdlLm9wZW5Mb2FkaW5nKFwiQ2FyZ2FuZG9cIiwgXCJHZW5lcmFuZG8gUERGXCIpXHJcbiAgICBjb25zdCBEQVRBID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbXBsYXRlT1QnKTtcclxuICAgIGNvbnN0IGRvYyA9IG5ldyBqc1BERigncCcsICdwdCcsICdhNCcpO1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgYmFja2dyb3VuZDogJ3doaXRlJyxcclxuICAgICAgc2NhbGU6IDNcclxuICAgIH07XHJcbiAgICBodG1sMmNhbnZhcyhEQVRBLCBvcHRpb25zKVxyXG4gICAgICAudGhlbigoY2FudmFzKSA9PiB7XHJcbiAgICAgICBjb25zdCBpbWcgPSBjYW52YXMudG9EYXRhVVJMKCdpbWFnZS9QTkcnKTtcclxuXHJcbiAgICAgIC8vYWRkIGltZyBjYW52YXMgdG8gcGRmXHJcbiAgICAgIGNvbnN0IGJ1ZmZlclggPSAxNTtcclxuICAgICAgY29uc3QgYnVmZmVyWSA9IDE1O1xyXG4gICAgICBjb25zdCBpbWdQcm9wcyA9IChkb2MgYXMgYW55KS5nZXRJbWFnZVByb3BlcnRpZXMoaW1nKTtcclxuICAgICAgY29uc3QgcGRmV2lkdGggPSBkb2MuaW50ZXJuYWwucGFnZVNpemUuZ2V0V2lkdGgoKSAtMiAqIGJ1ZmZlclg7XHJcbiAgICAgIGNvbnN0IHBkZkhlaWdodCA9IChpbWdQcm9wcy5oZWlnaHQgKiBwZGZXaWR0aCkgLyBpbWdQcm9wcy53aWR0aDtcclxuICAgICAgZG9jLmFkZEltYWdlKFxyXG4gICAgICAgIGltZyxcclxuICAgICAgICAnUE5HJyxcclxuICAgICAgICBidWZmZXJYLFxyXG4gICAgICAgIGJ1ZmZlclksXHJcbiAgICAgICAgcGRmV2lkdGgsXHJcbiAgICAgICAgcGRmSGVpZ2h0LFxyXG4gICAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgICAnRkFTVCdcclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuIGRvYztcclxuICAgIH0pXHJcbiAgICAudGhlbigoZG9jUmVzdWx0KSA9PiB7XHJcbiAgICAgLy9kb2NSZXN1bHQuc2F2ZShgJHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9X3JlcG9ydGUucGRmYCk7XHJcbiAgICAgIGRvY1Jlc3VsdC5vdXRwdXQoJ2RhdGF1cmxuZXd3aW5kb3cnLCB7ZmlsZW5hbWU6ICdyZXBvcnRlLnBkZid9KTtcclxuICAgICAgdGhpcy5kaWFsb2cuY2xvc2VBbGwoKVxyXG4gICAgICB0aGlzLm1lc3NhZ2UuY2xvc2VMb2FkaW5nKClcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGlkPVwidGVtcGxhdGVPVFwiICN0ZW1wbGF0ZU9UPlxyXG4gICAgPGRpdiBjbGFzcz1cInRlbXBsYXRlLW90XCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB3aWR0aDoxMDAlOyBtYXJnaW46MDsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XCI+XHJcblxyXG4gICAgICAgIDwhLS0gRW5jYWJlemFkbyAgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlXCIgc3R5bGU9XCJ3aWR0aDoxMDAlOyBoZWlnaHQ6MzBtbTsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjogcm93OyBhbGlnbi1pdGVtczogY2VudGVyOyBcIj5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjcwJTsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7XCI+XHJcbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJtYXJnaW46MDsgcGFkZGluZzowOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XCI+e3tkYXRhLm5hbWV9fTwvaDI+XHJcbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJtYXJnaW46MDsgcGFkZGluZzowOyB0ZXh0LWFsaWduOiBjZW50ZXI7IFwiPk5JVDoge3tkYXRhLm5pdH19PC9oMj5cclxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDo3MCU7IGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246cm93OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9XCJtYXJnaW46MDsgcGFkZGluZzowOyB0ZXh0LWFsaWduOiBjZW50ZXI7IFwiPnt7ZGF0YS5hZGRyZXNzfX08L2gzPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT1cIm1hcmdpbjowOyBwYWRkaW5nOjA7IHRleHQtYWxpZ246IGNlbnRlcjsgXCI+VEVMOiB7e2RhdGEudGVsZXBob25lfX08L2gzPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MzAlO1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDo5MCU7IGhlaWdodDoxMDBweDsgbWFyZ2luOiAxMHB4OyAgIHBhZGRpbmc6IDE1cHg7ICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoe3tkYXRhLmltYWdlfX0pO1wiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlXCJcclxuICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDoxMDAlOyBoZWlnaHQ6MTBtbTsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjogcm93OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgYmFja2dyb3VuZDogI0YwRjRGRjtcIj5cclxuICAgICAgICAgICAgPGgyIHN0eWxlPVwibWFyZ2luOjA7IHBhZGRpbmc6MDtcIj5PUkRFTiBERSBUUkFCQUpPPC9oMj5cclxuICAgICAgICAgICAgPGgyIHN0eWxlPVwibWFyZ2luOjA7IHBhZGRpbmc6MDtcIj5OwrA6IHt7ZGF0YS5jb25zZWN1dGl2ZX19PC9oMj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gQ3VlcnBvIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZVwiIHN0eWxlPVwid2lkdGg6MTAwJTsgaGVpZ2h0OjExbW07IGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246cm93OyBhbGlnbi1pdGVtczogY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDoxMyU7IGJvcmRlci1yaWdodDoxcHggc29saWQgYmx1ZTsgaGVpZ2h0OiAxMDAlO1wiPlxyXG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOjVweDsgcGFkZGluZzowO1wiPkZlY2hhOjwvaDI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MTUlOyBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICBibHVlOyBoZWlnaHQ6IDEwMCU7XCI+XHJcbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6NXB4OyBwYWRkaW5nOjA7XCI+e3tkYXRhLmRhdGV9fTwvaDI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MTMlOyBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICBibHVlOyBoZWlnaHQ6IDEwMCU7XCI+XHJcbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6NXB4OyBwYWRkaW5nOjA7XCI+Q8OzZGlnbzo8L2gyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjE1JTsgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAgYmx1ZTsgaGVpZ2h0OiAxMDAlO1wiPlxyXG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOjVweDsgcGFkZGluZzowO1wiPnt7ZGF0YS5jb2RlfX08L2gyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjEyJTsgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAgYmx1ZTsgaGVpZ2h0OiAxMDAlO1wiPlxyXG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOjVweDsgcGFkZGluZzowO1wiPsOBcmVhOjwvaDI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MzIlXCI+XHJcbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6MjBweDsgcGFkZGluZzowO1wiPnt7ZGF0YS5hcmVhfX08L2gyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZVwiIHN0eWxlPVwid2lkdGg6MTAwJTsgaGVpZ2h0OjExbW07IGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246cm93OyBhbGlnbi1pdGVtczogY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDoxMyU7IGJvcmRlci1yaWdodDoxcHggc29saWQgIGJsdWU7IGhlaWdodDogMTAwJTtcIj5cclxuICAgICAgICAgICAgICAgIDxoMiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDo1cHg7IHBhZGRpbmc6MDtcIj5PcGVyYXJpbzo8L2gyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjQ3JTsgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAgYmx1ZTsgaGVpZ2h0OiAxMDAlO1wiPlxyXG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOjVweDsgcGFkZGluZzowO1wiPnt7ZGF0YS5yZXNwb25zaWJsZX19PC9oMj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDoxOCU7IGJvcmRlci1yaWdodDoxcHggc29saWQgIGJsdWU7IGhlaWdodDogMTAwJTtcIj5cclxuICAgICAgICAgICAgICAgIDxoMiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDozcHg7IHBhZGRpbmc6MDtcIj5PZMOzbWV0cm86PC9oMj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDoyMiVcIj5cclxuICAgICAgICAgICAgICAgIDxoMiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDoxNXB4OyBwYWRkaW5nOjBcIj57e2RhdGEub2RvbWV0ZXJ9fTwvaDI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZVwiIHN0eWxlPVwid2lkdGg6MTAwJTsgaGVpZ2h0OjEwbTsgYmFja2dyb3VuZDogI0YwRjRGRjtcIj5cclxuICAgICAgICAgICAgPGgzIHN0eWxlPVwibWFyZ2luOjA7IHBhZGRpbmc6MDsgdGV4dC1hbGlnbjogY2VudGVyO1wiPkRhdG9zIGRlbCBwcm92ZWVkb3I8L2gzPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZVwiIHN0eWxlPVwid2lkdGg6MTAwJTsgaGVpZ2h0OjExbW07IGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246cm93IDsgYWxpZ24taXRlbXM6IGNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MTUlOyBib3JkZXItcmlnaHQ6MXB4IHNvbGlkIGJsdWU7IGhlaWdodDogMTAwJTtcIj5cclxuICAgICAgICAgICAgICAgIDxoMiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDozcHg7IHBhZGRpbmc6MDtcIj5Ob21icmU6PC9oMj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDozNSU7IGJvcmRlci1yaWdodDoxcHggc29saWQgIGJsdWU7IGhlaWdodDogMTAwJTtcIj5cclxuICAgICAgICAgICAgICAgIDxoMiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDozcHg7IHBhZGRpbmc6MDtcIj57e2RhdGEubmFtZVByb3ZpZGVyfX08L2gyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjE1JTsgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAgYmx1ZTsgaGVpZ2h0OiAxMDAlO1wiPlxyXG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOjNweDsgcGFkZGluZzowO1wiPkRpcmVjY2nDs246PC9oMj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDozNSVcIj5cclxuICAgICAgICAgICAgICAgIDxoMiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDoyMHB4OyBwYWRkaW5nOjA7XCI+e3tkYXRhLmFkZHJlc3NQcm92aWRlcn19PC9oMj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZVwiIHN0eWxlPVwid2lkdGg6MTAwJTsgaGVpZ2h0OjhtbTsgYmFja2dyb3VuZDogI0YwRjRGRjtcIj5cclxuICAgICAgICAgICAgPGgzIHN0eWxlPVwibWFyZ2luOjA7IHBhZGRpbmc6MDsgdGV4dC1hbGlnbjogY2VudGVyO1wiPkRldGFsbGVzIGRlbCBzZXJ2aWNpbzwvaDM+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlXCIgc3R5bGU9XCJ3aWR0aDoxMDAlOyBoZWlnaHQ6MjBtbTtcIj5cclxuICAgICAgICAgICAgPGgzIHN0eWxlPVwibWFyZ2luLXRvcDoxMXB4OyBwYWRkaW5nOjA7XCI+e3tkYXRhLmRlc2NyaXB0aW9ufX08L2gzPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVcIiBzdHlsZT1cIndpZHRoOjEwMCU7IGhlaWdodDoxMG1tOyBkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOnJvdzsgYWxpZ24taXRlbXM6IGNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MzUlOyBib3JkZXItcmlnaHQ6MXB4IHNvbGlkIGJsdWU7ICBoZWlnaHQ6IDEwMCU7XCI+XHJcbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbjoxcHg7IHBhZGRpbmc6MDtcIj5BVVRPUklaQURBIFBPUjo8L2gyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjY1JVwiPlxyXG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW46NXB4OyBwYWRkaW5nOjA7XCI+e3tkYXRhLmFwcHJvdmVkX2J5fX08L2gyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gcGlzbyAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVcIlxyXG4gICAgICAgICAgICBzdHlsZT1cIndpZHRoOjEwMCU7IGhlaWdodDoxNW1tOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcIj5cclxuICAgICAgICAgICAgPGgzIHN0eWxlPVwibWFyZ2luOjA7IHBhZGRpbmc6MDsgdGV4dC1hbGlnbjogY2VudGVyO1wiPkZhdm9yIGFkanVudGFyIGxhIG9yZGVuIGEgbGEgZmFjdHVyYSBvIGN1ZW50YSBkZSBjb2Jyb1xyXG4gICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICA8aDMgc3R5bGU9XCJtYXJnaW46MDsgcGFkZGluZzowOyB0ZXh0LWFsaWduOiBjZW50ZXI7XCI+e3tkYXRhLm1haWx9fTwvaDM+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG48ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IG1hcmdpbi10b3A6IDE1cHg7XCI+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJkb3dubG9hZFBERigpXCIgY29sb3I9J3ByaW1hcnknIG1hdC1yYWlzZWQtYnV0dG9uPkdlbmVyYXIgUERGPC9idXR0b24+XHJcbjwvZGl2PiJdfQ==
1
+ import { Component, Inject } from '@angular/core';
2
+ import jsPDF from 'jspdf';
3
+ import html2canvas from 'html2canvas';
4
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/dialog";
7
+ import * as i2 from "../../../../services/message.service";
8
+ import * as i3 from "@angular/material/button";
9
+ export class GeneratePdfComponent {
10
+ constructor(dialogRef, dataModal, dialog, message) {
11
+ this.dialogRef = dialogRef;
12
+ this.dataModal = dataModal;
13
+ this.dialog = dialog;
14
+ this.message = message;
15
+ this.data = {
16
+ name: '',
17
+ nit: '',
18
+ address: '',
19
+ telephone: '',
20
+ mail: '',
21
+ image: '',
22
+ code: '',
23
+ date: '',
24
+ responsible: '',
25
+ third: '',
26
+ odometer: '',
27
+ approved_by: '',
28
+ description: '',
29
+ consecutive: '',
30
+ nameProvider: '',
31
+ addressProvider: '',
32
+ area: '',
33
+ };
34
+ }
35
+ ngOnInit() {
36
+ this.data = this.dataModal.data;
37
+ }
38
+ ngAfterViewInit() {
39
+ if (this.dataModal.autoGenerate) {
40
+ this.downloadPDF();
41
+ }
42
+ }
43
+ downloadPDF() {
44
+ this.message.openLoading("Cargando", "Generando PDF");
45
+ const DATA = document.getElementById('templateOT');
46
+ const doc = new jsPDF('p', 'pt', 'a4');
47
+ const options = {
48
+ background: 'white',
49
+ scale: 3
50
+ };
51
+ html2canvas(DATA, options)
52
+ .then((canvas) => {
53
+ const img = canvas.toDataURL('image/PNG');
54
+ //add img canvas to pdf
55
+ const bufferX = 15;
56
+ const bufferY = 15;
57
+ const imgProps = doc.getImageProperties(img);
58
+ const pdfWidth = doc.internal.pageSize.getWidth() - 2 * bufferX;
59
+ const pdfHeight = (imgProps.height * pdfWidth) / imgProps.width;
60
+ doc.addImage(img, 'PNG', bufferX, bufferY, pdfWidth, pdfHeight, undefined, 'FAST');
61
+ return doc;
62
+ })
63
+ .then((docResult) => {
64
+ //docResult.save(`${new Date().toISOString()}_reporte.pdf`);
65
+ docResult.output('dataurlnewwindow', { filename: 'reporte.pdf' });
66
+ this.dialog.closeAll();
67
+ this.message.closeLoading();
68
+ });
69
+ }
70
+ }
71
+ GeneratePdfComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GeneratePdfComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i1.MatDialog }, { token: i2.MessageService }], target: i0.ɵɵFactoryTarget.Component });
72
+ GeneratePdfComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GeneratePdfComponent, selector: "app-generate-pdf", ngImport: i0, template: "<div id=\"templateOT\" #templateOT>\n <div class=\"template-ot\" style=\"display: flex; flex-direction: column; width:100%; margin:0; background-color: white;\">\n\n <!-- Encabezado -->\n <div class=\"borde\" style=\"width:100%; height:30mm; display:flex; flex-direction: row; align-items: center; \">\n <div style=\"width:70%; display:flex; flex-direction:column; align-items: center;\">\n <h2 style=\"margin:0; padding:0; text-align: center; text-transform: uppercase;\">{{data.name}}</h2>\n <h2 style=\"margin:0; padding:0; text-align: center; \">NIT: {{data.nit}}</h2>\n <div style=\"width:70%; display:flex; flex-direction:row; justify-content: space-around;\">\n <h3 style=\"margin:0; padding:0; text-align: center; \">{{data.address}}</h3>\n <h3 style=\"margin:0; padding:0; text-align: center; \">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:30%;\">\n <div class=\"img\"\n style=\"width:90%; height:100px; margin: 10px; padding: 15px; background-image: url({{data.image}});\">\n </div>\n </div>\n\n\n </div>\n <div class=\"borde\"\n style=\"width:100%; height:10mm; display:flex; flex-direction: row; justify-content: space-around; align-items: center; background: #F0F4FF;\">\n <h2 style=\"margin:0; padding:0;\">ORDEN DE TRABAJO</h2>\n <h2 style=\"margin:0; padding:0;\">N\u00B0: {{data.consecutive}}</h2>\n\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row; align-items: center\">\n <div style=\"width:13%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">Fecha:</h2>\n </div>\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.date}}</h2>\n </div>\n <div style=\"width:13%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">C\u00F3digo:</h2>\n </div>\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.code}}</h2>\n </div>\n <div style=\"width:12%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">\u00C1rea:</h2>\n </div>\n <div style=\"width:32%\">\n <h2 style=\"text-align: center; margin-top:20px; padding:0;\">{{data.area}}</h2>\n </div>\n\n </div>\n\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row; align-items: center\">\n <div style=\"width:13%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">Operario:</h2>\n </div>\n <div style=\"width:47%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.responsible}}</h2>\n </div>\n <div style=\"width:18%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">Od\u00F3metro:</h2>\n </div>\n <div style=\"width:22%\">\n <h2 style=\"text-align: center; margin-top:15px; padding:0\">{{data.odometer}}</h2>\n </div>\n </div>\n <div class=\"borde\" style=\"width:100%; height:10m; background: #F0F4FF;\">\n <h3 style=\"margin:0; padding:0; text-align: center;\">Datos del proveedor</h3>\n </div>\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row ; align-items: center\">\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">Nombre:</h2>\n </div>\n <div style=\"width:35%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">{{data.nameProvider}}</h2>\n </div>\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">Direcci\u00F3n:</h2>\n </div>\n <div style=\"width:35%\">\n <h2 style=\"text-align: center; margin-top:20px; padding:0;\">{{data.addressProvider}}</h2>\n </div>\n\n </div>\n <div class=\"borde\" style=\"width:100%; height:8mm; background: #F0F4FF;\">\n <h3 style=\"margin:0; padding:0; text-align: center;\">Detalles del servicio</h3>\n </div>\n <div class=\"borde\" style=\"width:100%; height:20mm;\">\n <h3 style=\"margin-top:11px; padding:0;\">{{data.description}}</h3>\n </div>\n\n <div class=\"borde\" style=\"width:100%; height:10mm; display:flex; flex-direction:row; align-items: center\">\n <div style=\"width:35%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin:1px; padding:0;\">AUTORIZADA POR:</h2>\n </div>\n <div style=\"width:65%\">\n <h2 style=\"text-align: center; margin:5px; padding:0;\">{{data.approved_by}}</h2>\n </div>\n\n </div>\n\n <!-- piso -->\n <div class=\"borde\"\n style=\"width:100%; height:15mm; display: flex; flex-direction: column; justify-content: center;\">\n <h3 style=\"margin:0; padding:0; text-align: center;\">Favor adjuntar la orden a la factura o cuenta de cobro\n </h3>\n <h3 style=\"margin:0; padding:0; text-align: center;\">{{data.mail}}</h3>\n\n </div>\n\n </div>\n</div>\n\n\n<div style=\"display: flex; justify-content: center; margin-top: 15px;\">\n <button (click)=\"downloadPDF()\" color='primary' mat-raised-button>Generar PDF</button>\n</div>", styles: [".img{background-size:100%;background-repeat:no-repeat;background-position:center;background-size:contain}h2{font-size:1rem}.borde{border:1px solid blue}\n"], dependencies: [{ kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GeneratePdfComponent, decorators: [{
74
+ type: Component,
75
+ args: [{ selector: 'app-generate-pdf', template: "<div id=\"templateOT\" #templateOT>\n <div class=\"template-ot\" style=\"display: flex; flex-direction: column; width:100%; margin:0; background-color: white;\">\n\n <!-- Encabezado -->\n <div class=\"borde\" style=\"width:100%; height:30mm; display:flex; flex-direction: row; align-items: center; \">\n <div style=\"width:70%; display:flex; flex-direction:column; align-items: center;\">\n <h2 style=\"margin:0; padding:0; text-align: center; text-transform: uppercase;\">{{data.name}}</h2>\n <h2 style=\"margin:0; padding:0; text-align: center; \">NIT: {{data.nit}}</h2>\n <div style=\"width:70%; display:flex; flex-direction:row; justify-content: space-around;\">\n <h3 style=\"margin:0; padding:0; text-align: center; \">{{data.address}}</h3>\n <h3 style=\"margin:0; padding:0; text-align: center; \">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:30%;\">\n <div class=\"img\"\n style=\"width:90%; height:100px; margin: 10px; padding: 15px; background-image: url({{data.image}});\">\n </div>\n </div>\n\n\n </div>\n <div class=\"borde\"\n style=\"width:100%; height:10mm; display:flex; flex-direction: row; justify-content: space-around; align-items: center; background: #F0F4FF;\">\n <h2 style=\"margin:0; padding:0;\">ORDEN DE TRABAJO</h2>\n <h2 style=\"margin:0; padding:0;\">N\u00B0: {{data.consecutive}}</h2>\n\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row; align-items: center\">\n <div style=\"width:13%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">Fecha:</h2>\n </div>\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.date}}</h2>\n </div>\n <div style=\"width:13%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">C\u00F3digo:</h2>\n </div>\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.code}}</h2>\n </div>\n <div style=\"width:12%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">\u00C1rea:</h2>\n </div>\n <div style=\"width:32%\">\n <h2 style=\"text-align: center; margin-top:20px; padding:0;\">{{data.area}}</h2>\n </div>\n\n </div>\n\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row; align-items: center\">\n <div style=\"width:13%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">Operario:</h2>\n </div>\n <div style=\"width:47%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.responsible}}</h2>\n </div>\n <div style=\"width:18%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">Od\u00F3metro:</h2>\n </div>\n <div style=\"width:22%\">\n <h2 style=\"text-align: center; margin-top:15px; padding:0\">{{data.odometer}}</h2>\n </div>\n </div>\n <div class=\"borde\" style=\"width:100%; height:10m; background: #F0F4FF;\">\n <h3 style=\"margin:0; padding:0; text-align: center;\">Datos del proveedor</h3>\n </div>\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row ; align-items: center\">\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">Nombre:</h2>\n </div>\n <div style=\"width:35%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">{{data.nameProvider}}</h2>\n </div>\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">Direcci\u00F3n:</h2>\n </div>\n <div style=\"width:35%\">\n <h2 style=\"text-align: center; margin-top:20px; padding:0;\">{{data.addressProvider}}</h2>\n </div>\n\n </div>\n <div class=\"borde\" style=\"width:100%; height:8mm; background: #F0F4FF;\">\n <h3 style=\"margin:0; padding:0; text-align: center;\">Detalles del servicio</h3>\n </div>\n <div class=\"borde\" style=\"width:100%; height:20mm;\">\n <h3 style=\"margin-top:11px; padding:0;\">{{data.description}}</h3>\n </div>\n\n <div class=\"borde\" style=\"width:100%; height:10mm; display:flex; flex-direction:row; align-items: center\">\n <div style=\"width:35%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin:1px; padding:0;\">AUTORIZADA POR:</h2>\n </div>\n <div style=\"width:65%\">\n <h2 style=\"text-align: center; margin:5px; padding:0;\">{{data.approved_by}}</h2>\n </div>\n\n </div>\n\n <!-- piso -->\n <div class=\"borde\"\n style=\"width:100%; height:15mm; display: flex; flex-direction: column; justify-content: center;\">\n <h3 style=\"margin:0; padding:0; text-align: center;\">Favor adjuntar la orden a la factura o cuenta de cobro\n </h3>\n <h3 style=\"margin:0; padding:0; text-align: center;\">{{data.mail}}</h3>\n\n </div>\n\n </div>\n</div>\n\n\n<div style=\"display: flex; justify-content: center; margin-top: 15px;\">\n <button (click)=\"downloadPDF()\" color='primary' mat-raised-button>Generar PDF</button>\n</div>", styles: [".img{background-size:100%;background-repeat:no-repeat;background-position:center;background-size:contain}h2{font-size:1rem}.borde{border:1px solid blue}\n"] }]
76
+ }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
77
+ type: Inject,
78
+ args: [MAT_DIALOG_DATA]
79
+ }] }, { type: i1.MatDialog }, { type: i2.MessageService }]; } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtcGRmLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9icmFpbmxvcGVyLXVpL2NvbXBvbmVudHMvcmVwb3J0L2dlbmVyYXRlLXBkZi9nZW5lcmF0ZS1wZGYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2JyYWlubG9wZXItdWkvY29tcG9uZW50cy9yZXBvcnQvZ2VuZXJhdGUtcGRmL2dlbmVyYXRlLXBkZi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxXQUFXLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sRUFBMkIsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBT3BGLE1BQU0sT0FBTyxvQkFBb0I7SUFzQi9CLFlBQ1MsU0FBNkMsRUFDcEIsU0FBUyxFQUNqQyxNQUFnQixFQUNqQixPQUF1QjtRQUh2QixjQUFTLEdBQVQsU0FBUyxDQUFvQztRQUNwQixjQUFTLEdBQVQsU0FBUyxDQUFBO1FBQ2pDLFdBQU0sR0FBTixNQUFNLENBQVU7UUFDakIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUF4QmhDLFNBQUksR0FBRztZQUNMLElBQUksRUFBRSxFQUFFO1lBQ1IsR0FBRyxFQUFFLEVBQUU7WUFDUCxPQUFPLEVBQUUsRUFBRTtZQUNYLFNBQVMsRUFBRSxFQUFFO1lBQ2IsSUFBSSxFQUFFLEVBQUU7WUFDUixLQUFLLEVBQUUsRUFBRTtZQUNULElBQUksRUFBRSxFQUFFO1lBQ1IsSUFBSSxFQUFFLEVBQUU7WUFDUixXQUFXLEVBQUUsRUFBRTtZQUNmLEtBQUssRUFBRSxFQUFFO1lBQ1QsUUFBUSxFQUFFLEVBQUU7WUFDWixXQUFXLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSxFQUFFO1lBQ2YsV0FBVyxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsRUFBRTtZQUNoQixlQUFlLEVBQUUsRUFBRTtZQUNuQixJQUFJLEVBQUUsRUFBRTtTQUNULENBQUE7SUFPRyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUE7SUFDakMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFDO1lBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtTQUNuQjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQTtRQUNyRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25ELE1BQU0sR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQUc7WUFDZCxVQUFVLEVBQUUsT0FBTztZQUNuQixLQUFLLEVBQUUsQ0FBQztTQUNULENBQUM7UUFDRixXQUFXLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQzthQUN2QixJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNoQixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRTNDLHVCQUF1QjtZQUN2QixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDbkIsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ25CLE1BQU0sUUFBUSxHQUFJLEdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0RCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO1lBQy9ELE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQ2hFLEdBQUcsQ0FBQyxRQUFRLENBQ1YsR0FBRyxFQUNILEtBQUssRUFDTCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFFBQVEsRUFDUixTQUFTLEVBQ1QsU0FBUyxFQUNULE1BQU0sQ0FDUCxDQUFDO1lBQ0YsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNuQiw0REFBNEQ7WUFDM0QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUMsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUE7WUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2lIQTNFVSxvQkFBb0IsOENBd0JyQixlQUFlO3FHQXhCZCxvQkFBb0Isd0RDWGpDLHF4TUFtSE07MkZEeEdPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQTRCekIsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGpzUERGIGZyb20gJ2pzcGRmJztcbmltcG9ydCBodG1sMmNhbnZhcyBmcm9tICdodG1sMmNhbnZhcyc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWdlbmVyYXRlLXBkZicsXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW5lcmF0ZS1wZGYuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nZW5lcmF0ZS1wZGYuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBHZW5lcmF0ZVBkZkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgZGF0YSA9IHtcbiAgICBuYW1lOiAnJyxcbiAgICBuaXQ6ICcnLFxuICAgIGFkZHJlc3M6ICcnLFxuICAgIHRlbGVwaG9uZTogJycsXG4gICAgbWFpbDogJycsXG4gICAgaW1hZ2U6ICcnLFxuICAgIGNvZGU6ICcnLFxuICAgIGRhdGU6ICcnLFxuICAgIHJlc3BvbnNpYmxlOiAnJyxcbiAgICB0aGlyZDogJycsXG4gICAgb2RvbWV0ZXI6ICcnLFxuICAgIGFwcHJvdmVkX2J5OiAnJyxcbiAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgY29uc2VjdXRpdmU6ICcnLFxuICAgIG5hbWVQcm92aWRlcjogJycsXG4gICAgYWRkcmVzc1Byb3ZpZGVyOiAnJyxcbiAgICBhcmVhOiAnJyxcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxHZW5lcmF0ZVBkZkNvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhTW9kYWwsXG4gICAgcHJpdmF0ZSBkaWFsb2c6TWF0RGlhbG9nLFxuICAgIHB1YmxpYyBtZXNzYWdlOiBNZXNzYWdlU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YU1vZGFsLmRhdGFcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpe1xuICAgIGlmKHRoaXMuZGF0YU1vZGFsLmF1dG9HZW5lcmF0ZSl7XG4gICAgICB0aGlzLmRvd25sb2FkUERGKClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZG93bmxvYWRQREYoKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlLm9wZW5Mb2FkaW5nKFwiQ2FyZ2FuZG9cIiwgXCJHZW5lcmFuZG8gUERGXCIpXG4gICAgY29uc3QgREFUQSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZW1wbGF0ZU9UJyk7XG4gICAgY29uc3QgZG9jID0gbmV3IGpzUERGKCdwJywgJ3B0JywgJ2E0Jyk7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIGJhY2tncm91bmQ6ICd3aGl0ZScsXG4gICAgICBzY2FsZTogM1xuICAgIH07XG4gICAgaHRtbDJjYW52YXMoREFUQSwgb3B0aW9ucylcbiAgICAgIC50aGVuKChjYW52YXMpID0+IHtcbiAgICAgICBjb25zdCBpbWcgPSBjYW52YXMudG9EYXRhVVJMKCdpbWFnZS9QTkcnKTtcblxuICAgICAgLy9hZGQgaW1nIGNhbnZhcyB0byBwZGZcbiAgICAgIGNvbnN0IGJ1ZmZlclggPSAxNTtcbiAgICAgIGNvbnN0IGJ1ZmZlclkgPSAxNTtcbiAgICAgIGNvbnN0IGltZ1Byb3BzID0gKGRvYyBhcyBhbnkpLmdldEltYWdlUHJvcGVydGllcyhpbWcpO1xuICAgICAgY29uc3QgcGRmV2lkdGggPSBkb2MuaW50ZXJuYWwucGFnZVNpemUuZ2V0V2lkdGgoKSAtMiAqIGJ1ZmZlclg7XG4gICAgICBjb25zdCBwZGZIZWlnaHQgPSAoaW1nUHJvcHMuaGVpZ2h0ICogcGRmV2lkdGgpIC8gaW1nUHJvcHMud2lkdGg7XG4gICAgICBkb2MuYWRkSW1hZ2UoXG4gICAgICAgIGltZyxcbiAgICAgICAgJ1BORycsXG4gICAgICAgIGJ1ZmZlclgsXG4gICAgICAgIGJ1ZmZlclksXG4gICAgICAgIHBkZldpZHRoLFxuICAgICAgICBwZGZIZWlnaHQsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgJ0ZBU1QnXG4gICAgICApO1xuICAgICAgcmV0dXJuIGRvYztcbiAgICB9KVxuICAgIC50aGVuKChkb2NSZXN1bHQpID0+IHtcbiAgICAgLy9kb2NSZXN1bHQuc2F2ZShgJHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9X3JlcG9ydGUucGRmYCk7XG4gICAgICBkb2NSZXN1bHQub3V0cHV0KCdkYXRhdXJsbmV3d2luZG93Jywge2ZpbGVuYW1lOiAncmVwb3J0ZS5wZGYnfSk7XG4gICAgICB0aGlzLmRpYWxvZy5jbG9zZUFsbCgpXG4gICAgICB0aGlzLm1lc3NhZ2UuY2xvc2VMb2FkaW5nKClcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBpZD1cInRlbXBsYXRlT1RcIiAjdGVtcGxhdGVPVD5cbiAgICA8ZGl2IGNsYXNzPVwidGVtcGxhdGUtb3RcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IHdpZHRoOjEwMCU7IG1hcmdpbjowOyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcIj5cblxuICAgICAgICA8IS0tIEVuY2FiZXphZG8gIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVcIiBzdHlsZT1cIndpZHRoOjEwMCU7IGhlaWdodDozMG1tOyBkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IFwiPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjcwJTsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7XCI+XG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwibWFyZ2luOjA7IHBhZGRpbmc6MDsgdGV4dC1hbGlnbjogY2VudGVyOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1wiPnt7ZGF0YS5uYW1lfX08L2gyPlxuICAgICAgICAgICAgICAgIDxoMiBzdHlsZT1cIm1hcmdpbjowOyBwYWRkaW5nOjA7IHRleHQtYWxpZ246IGNlbnRlcjsgXCI+TklUOiB7e2RhdGEubml0fX08L2gyPlxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDo3MCU7IGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246cm93OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcIj5cbiAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPVwibWFyZ2luOjA7IHBhZGRpbmc6MDsgdGV4dC1hbGlnbjogY2VudGVyOyBcIj57e2RhdGEuYWRkcmVzc319PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPVwibWFyZ2luOjA7IHBhZGRpbmc6MDsgdGV4dC1hbGlnbjogY2VudGVyOyBcIj5URUw6IHt7ZGF0YS50ZWxlcGhvbmV9fTwvaDM+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDozMCU7XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZ1wiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6OTAlOyBoZWlnaHQ6MTAwcHg7IG1hcmdpbjogMTBweDsgICBwYWRkaW5nOiAxNXB4OyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHt7ZGF0YS5pbWFnZX19KTtcIj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZVwiXG4gICAgICAgICAgICBzdHlsZT1cIndpZHRoOjEwMCU7IGhlaWdodDoxMG1tOyBkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyBhbGlnbi1pdGVtczogY2VudGVyOyBiYWNrZ3JvdW5kOiAjRjBGNEZGO1wiPlxuICAgICAgICAgICAgPGgyIHN0eWxlPVwibWFyZ2luOjA7IHBhZGRpbmc6MDtcIj5PUkRFTiBERSBUUkFCQUpPPC9oMj5cbiAgICAgICAgICAgIDxoMiBzdHlsZT1cIm1hcmdpbjowOyBwYWRkaW5nOjA7XCI+TsKwOiB7e2RhdGEuY29uc2VjdXRpdmV9fTwvaDI+XG5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBDdWVycG8gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZVwiIHN0eWxlPVwid2lkdGg6MTAwJTsgaGVpZ2h0OjExbW07IGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246cm93OyBhbGlnbi1pdGVtczogY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MTMlOyBib3JkZXItcmlnaHQ6MXB4IHNvbGlkIGJsdWU7IGhlaWdodDogMTAwJTtcIj5cbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6NXB4OyBwYWRkaW5nOjA7XCI+RmVjaGE6PC9oMj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjE1JTsgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAgYmx1ZTsgaGVpZ2h0OiAxMDAlO1wiPlxuICAgICAgICAgICAgICAgIDxoMiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDo1cHg7IHBhZGRpbmc6MDtcIj57e2RhdGEuZGF0ZX19PC9oMj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjEzJTsgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAgYmx1ZTsgaGVpZ2h0OiAxMDAlO1wiPlxuICAgICAgICAgICAgICAgIDxoMiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDo1cHg7IHBhZGRpbmc6MDtcIj5Dw7NkaWdvOjwvaDI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDoxNSU7IGJvcmRlci1yaWdodDoxcHggc29saWQgIGJsdWU7IGhlaWdodDogMTAwJTtcIj5cbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6NXB4OyBwYWRkaW5nOjA7XCI+e3tkYXRhLmNvZGV9fTwvaDI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDoxMiU7IGJvcmRlci1yaWdodDoxcHggc29saWQgIGJsdWU7IGhlaWdodDogMTAwJTtcIj5cbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6NXB4OyBwYWRkaW5nOjA7XCI+w4FyZWE6PC9oMj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjMyJVwiPlxuICAgICAgICAgICAgICAgIDxoMiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDoyMHB4OyBwYWRkaW5nOjA7XCI+e3tkYXRhLmFyZWF9fTwvaDI+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVcIiBzdHlsZT1cIndpZHRoOjEwMCU7IGhlaWdodDoxMW1tOyBkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOnJvdzsgYWxpZ24taXRlbXM6IGNlbnRlclwiPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjEzJTsgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAgYmx1ZTsgaGVpZ2h0OiAxMDAlO1wiPlxuICAgICAgICAgICAgICAgIDxoMiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDo1cHg7IHBhZGRpbmc6MDtcIj5PcGVyYXJpbzo8L2gyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6NDclOyBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICBibHVlOyBoZWlnaHQ6IDEwMCU7XCI+XG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOjVweDsgcGFkZGluZzowO1wiPnt7ZGF0YS5yZXNwb25zaWJsZX19PC9oMj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjE4JTsgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAgYmx1ZTsgaGVpZ2h0OiAxMDAlO1wiPlxuICAgICAgICAgICAgICAgIDxoMiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDozcHg7IHBhZGRpbmc6MDtcIj5PZMOzbWV0cm86PC9oMj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjIyJVwiPlxuICAgICAgICAgICAgICAgIDxoMiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDoxNXB4OyBwYWRkaW5nOjBcIj57e2RhdGEub2RvbWV0ZXJ9fTwvaDI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZVwiIHN0eWxlPVwid2lkdGg6MTAwJTsgaGVpZ2h0OjEwbTsgYmFja2dyb3VuZDogI0YwRjRGRjtcIj5cbiAgICAgICAgICAgIDxoMyBzdHlsZT1cIm1hcmdpbjowOyBwYWRkaW5nOjA7IHRleHQtYWxpZ246IGNlbnRlcjtcIj5EYXRvcyBkZWwgcHJvdmVlZG9yPC9oMz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZVwiIHN0eWxlPVwid2lkdGg6MTAwJTsgaGVpZ2h0OjExbW07IGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246cm93IDsgYWxpZ24taXRlbXM6IGNlbnRlclwiPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjE1JTsgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCBibHVlOyBoZWlnaHQ6IDEwMCU7XCI+XG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOjNweDsgcGFkZGluZzowO1wiPk5vbWJyZTo8L2gyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MzUlOyBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICBibHVlOyBoZWlnaHQ6IDEwMCU7XCI+XG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOjNweDsgcGFkZGluZzowO1wiPnt7ZGF0YS5uYW1lUHJvdmlkZXJ9fTwvaDI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDoxNSU7IGJvcmRlci1yaWdodDoxcHggc29saWQgIGJsdWU7IGhlaWdodDogMTAwJTtcIj5cbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6M3B4OyBwYWRkaW5nOjA7XCI+RGlyZWNjacOzbjo8L2gyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MzUlXCI+XG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOjIwcHg7IHBhZGRpbmc6MDtcIj57e2RhdGEuYWRkcmVzc1Byb3ZpZGVyfX08L2gyPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZVwiIHN0eWxlPVwid2lkdGg6MTAwJTsgaGVpZ2h0OjhtbTsgYmFja2dyb3VuZDogI0YwRjRGRjtcIj5cbiAgICAgICAgICAgIDxoMyBzdHlsZT1cIm1hcmdpbjowOyBwYWRkaW5nOjA7IHRleHQtYWxpZ246IGNlbnRlcjtcIj5EZXRhbGxlcyBkZWwgc2VydmljaW88L2gzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlXCIgc3R5bGU9XCJ3aWR0aDoxMDAlOyBoZWlnaHQ6MjBtbTtcIj5cbiAgICAgICAgICAgIDxoMyBzdHlsZT1cIm1hcmdpbi10b3A6MTFweDsgcGFkZGluZzowO1wiPnt7ZGF0YS5kZXNjcmlwdGlvbn19PC9oMz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlXCIgc3R5bGU9XCJ3aWR0aDoxMDAlOyBoZWlnaHQ6MTBtbTsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpyb3c7IGFsaWduLWl0ZW1zOiBjZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDozNSU7IGJvcmRlci1yaWdodDoxcHggc29saWQgYmx1ZTsgIGhlaWdodDogMTAwJTtcIj5cbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbjoxcHg7IHBhZGRpbmc6MDtcIj5BVVRPUklaQURBIFBPUjo8L2gyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6NjUlXCI+XG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW46NXB4OyBwYWRkaW5nOjA7XCI+e3tkYXRhLmFwcHJvdmVkX2J5fX08L2gyPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBwaXNvIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVcIlxuICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDoxMDAlOyBoZWlnaHQ6MTVtbTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XCI+XG4gICAgICAgICAgICA8aDMgc3R5bGU9XCJtYXJnaW46MDsgcGFkZGluZzowOyB0ZXh0LWFsaWduOiBjZW50ZXI7XCI+RmF2b3IgYWRqdW50YXIgbGEgb3JkZW4gYSBsYSBmYWN0dXJhIG8gY3VlbnRhIGRlIGNvYnJvXG4gICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgPGgzIHN0eWxlPVwibWFyZ2luOjA7IHBhZGRpbmc6MDsgdGV4dC1hbGlnbjogY2VudGVyO1wiPnt7ZGF0YS5tYWlsfX08L2gzPlxuXG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG48L2Rpdj5cblxuXG48ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IG1hcmdpbi10b3A6IDE1cHg7XCI+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwiZG93bmxvYWRQREYoKVwiIGNvbG9yPSdwcmltYXJ5JyBtYXQtcmFpc2VkLWJ1dHRvbj5HZW5lcmFyIFBERjwvYnV0dG9uPlxuPC9kaXY+Il19