iptdevs-design-system 2.7.158 → 2.7.160

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.
@@ -13,7 +13,6 @@ export class CodDocumentsSectionComponent {
13
13
  this.docAgreement = false;
14
14
  this.docParent = false;
15
15
  this.docConfanorte = false;
16
- this.visiBtn = ['docStudent', 'docAgreement', 'docParent', 'docConfanorte'];
17
16
  this.idPdf = [];
18
17
  this.numDoc = -1;
19
18
  this.documentsForm = this.fb.group({
@@ -29,8 +28,23 @@ export class CodDocumentsSectionComponent {
29
28
  }
30
29
  catchDocument(event, visible) {
31
30
  this.numDoc++;
32
- for (let i = 0; i < this.visiBtn.length; i++) {
33
- this.visiBtn[i] == visible ? this.visiBtn[i] == true : null;
31
+ console.log(visible);
32
+ console.log(event);
33
+ switch (visible) {
34
+ case 1:
35
+ this.docStudent = true;
36
+ break;
37
+ case 2:
38
+ this.docAgreement = true;
39
+ break;
40
+ case 3:
41
+ this.docParent = true;
42
+ break;
43
+ case 4:
44
+ this.docConfanorte = true;
45
+ break;
46
+ default:
47
+ break;
34
48
  }
35
49
  const fileCatched = event.target.files[0];
36
50
  let reader = new FileReader();
@@ -58,9 +72,9 @@ export class CodDocumentsSectionComponent {
58
72
  }
59
73
  }
60
74
  CodDocumentsSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodDocumentsSectionComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
61
- CodDocumentsSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodDocumentsSectionComponent, selector: "ipt-cod-documents-section", ngImport: i0, template: "<div class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">Documentos del COD</span>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Estudiante'\"\n [control]=\"documentsForm.controls['doc_student']\"\n (change)=\"catchDocument($event, docStudent)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docStudent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_student')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Convenio'\"\n [control]=\"documentsForm.controls['doc_agreement']\"\n (change)=\"catchDocument($event, docAgreement )\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docAgreement\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_agreement')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Acudiente'\"\n [control]=\"documentsForm.controls['doc_parent']\"\n (change)=\"catchDocument($event, docParent)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docParent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_parent')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Confanorte'\"\n [control]=\"documentsForm.controls['doc_confanorte']\"\n (change)=\"catchDocument($event, docConfanorte)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docConfanorte\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_confanorte')\"></button>\n </div>\n </div>\n </div>\n\n <hr>\n <button pButton pRipple type=\"button\" icon=\"pi pi-plus\" label=\"Agregar\" class=\"p-button-rounded p-button-sm ml-auto mt-2\" (click)=\"filesUploaded()\"></button>\n\n</div>\n", styles: [".document_item{transition:.15s;gap:1rem;max-height:150px}.document_item:hover{cursor:pointer;box-shadow:#64646f33 0 7px 29px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }, { kind: "directive", type: i4.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
75
+ CodDocumentsSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodDocumentsSectionComponent, selector: "ipt-cod-documents-section", ngImport: i0, template: "<div class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">Documentos del COD</span>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Estudiante'\"\n [control]=\"documentsForm.controls['doc_student']\"\n (change)=\"catchDocument($event, 1)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docStudent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_student')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Convenio'\"\n [control]=\"documentsForm.controls['doc_agreement']\"\n (change)=\"catchDocument($event, 2 )\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docAgreement\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_agreement')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Acudiente'\"\n [control]=\"documentsForm.controls['doc_parent']\"\n (change)=\"catchDocument($event, 3)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docParent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_parent')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Confanorte'\"\n [control]=\"documentsForm.controls['doc_confanorte']\"\n (change)=\"catchDocument($event, 4)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docConfanorte\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_confanorte')\"></button>\n </div>\n </div>\n </div>\n\n <hr>\n <button pButton pRipple type=\"button\" icon=\"pi pi-plus\" label=\"Agregar\" class=\"p-button-rounded p-button-sm ml-auto mt-2\" (click)=\"filesUploaded()\"></button>\n\n</div>\n", styles: [".document_item{transition:.15s;gap:1rem;max-height:150px}.document_item:hover{cursor:pointer;box-shadow:#64646f33 0 7px 29px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }, { kind: "directive", type: i4.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
62
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodDocumentsSectionComponent, decorators: [{
63
77
  type: Component,
64
- args: [{ selector: 'ipt-cod-documents-section', template: "<div class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">Documentos del COD</span>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Estudiante'\"\n [control]=\"documentsForm.controls['doc_student']\"\n (change)=\"catchDocument($event, docStudent)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docStudent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_student')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Convenio'\"\n [control]=\"documentsForm.controls['doc_agreement']\"\n (change)=\"catchDocument($event, docAgreement )\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docAgreement\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_agreement')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Acudiente'\"\n [control]=\"documentsForm.controls['doc_parent']\"\n (change)=\"catchDocument($event, docParent)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docParent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_parent')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Confanorte'\"\n [control]=\"documentsForm.controls['doc_confanorte']\"\n (change)=\"catchDocument($event, docConfanorte)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docConfanorte\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_confanorte')\"></button>\n </div>\n </div>\n </div>\n\n <hr>\n <button pButton pRipple type=\"button\" icon=\"pi pi-plus\" label=\"Agregar\" class=\"p-button-rounded p-button-sm ml-auto mt-2\" (click)=\"filesUploaded()\"></button>\n\n</div>\n", styles: [".document_item{transition:.15s;gap:1rem;max-height:150px}.document_item:hover{cursor:pointer;box-shadow:#64646f33 0 7px 29px}\n"] }]
78
+ args: [{ selector: 'ipt-cod-documents-section', template: "<div class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">Documentos del COD</span>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Estudiante'\"\n [control]=\"documentsForm.controls['doc_student']\"\n (change)=\"catchDocument($event, 1)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docStudent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_student')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Convenio'\"\n [control]=\"documentsForm.controls['doc_agreement']\"\n (change)=\"catchDocument($event, 2 )\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docAgreement\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_agreement')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Acudiente'\"\n [control]=\"documentsForm.controls['doc_parent']\"\n (change)=\"catchDocument($event, 3)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docParent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_parent')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Confanorte'\"\n [control]=\"documentsForm.controls['doc_confanorte']\"\n (change)=\"catchDocument($event, 4)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docConfanorte\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_confanorte')\"></button>\n </div>\n </div>\n </div>\n\n <hr>\n <button pButton pRipple type=\"button\" icon=\"pi pi-plus\" label=\"Agregar\" class=\"p-button-rounded p-button-sm ml-auto mt-2\" (click)=\"filesUploaded()\"></button>\n\n</div>\n", styles: [".document_item{transition:.15s;gap:1rem;max-height:150px}.document_item:hover{cursor:pointer;box-shadow:#64646f33 0 7px 29px}\n"] }]
65
79
  }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWRvY3VtZW50cy1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2QvY29kLWRvY3VtZW50cy1zZWN0aW9uL2NvZC1kb2N1bWVudHMtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL2NvZC1kb2N1bWVudHMtc2VjdGlvbi9jb2QtZG9jdW1lbnRzLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0FBTy9CLE1BQU0sT0FBTyw0QkFBNEI7SUFZdkMsWUFBb0IsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7UUFWbkMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLFlBQU8sR0FBVSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzlFLFVBQUssR0FBVSxFQUFFLENBQUM7UUFHbEIsV0FBTSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBR2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDakMsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM1QyxhQUFhLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbkIsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hCLGNBQWMsRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxLQUFVLENBQUM7SUFFbkIsY0FBYztRQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVUsRUFBRSxPQUFZO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUM3RDtRQUVELE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDOUIsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNkLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDUixLQUFLLEVBQUUsNkNBQTZDO1lBQ3BELElBQUksRUFBRSxxRUFBcUU7WUFDM0UsSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFZO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDOzt5SEExRFUsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsaUVDVHpDLGcySEE0RUE7MkZEbkVhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXB0LWNvZC1kb2N1bWVudHMtc2VjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2QtZG9jdW1lbnRzLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb2QtZG9jdW1lbnRzLXNlY3Rpb24uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb2REb2N1bWVudHNTZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZG9jdW1lbnRzRm9ybSE6IEZvcm1Hcm91cDtcbiAgZG9jU3R1ZGVudDogYm9vbGVhbiA9IGZhbHNlO1xuICBkb2NBZ3JlZW1lbnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZG9jUGFyZW50OiBib29sZWFuID0gZmFsc2U7XG4gIGRvY0NvbmZhbm9ydGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgdmlzaUJ0bjogYW55W10gPSBbJ2RvY1N0dWRlbnQnLCAnZG9jQWdyZWVtZW50JywgJ2RvY1BhcmVudCcsICdkb2NDb25mYW5vcnRlJ107XG4gIGlkUGRmOiBhbnlbXSA9IFtdO1xuICBjb2RlITogbnVtYmVyO1xuICBwZGZTcmM6IGFueTtcbiAgbnVtRG9jOiBudW1iZXIgPSAtMTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge1xuICAgIHRoaXMuZG9jdW1lbnRzRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgZG9jX3N0dWRlbnQ6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLCBbXV0sXG4gICAgICBkb2NfYWdyZWVtZW50OiBbJyddLFxuICAgICAgZG9jX3BhcmVudDogWycnXSxcbiAgICAgIGRvY19jb25mYW5vcnRlOiBbJyddLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHNob3dJZERvY3VtZW50KCkge1xuICAgIGNvbnNvbGUubG9nKCdhYnJpciBtb2RhbCBkZSBjYXJnYXIgcGRmJyk7XG4gIH1cblxuICBjYXRjaERvY3VtZW50KGV2ZW50OiBhbnksIHZpc2libGU6IGFueSkge1xuICAgIHRoaXMubnVtRG9jKys7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnZpc2lCdG4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRoaXMudmlzaUJ0bltpXSA9PSB2aXNpYmxlID8gdGhpcy52aXNpQnRuW2ldID09IHRydWUgOiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGVDYXRjaGVkID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xuICAgIGxldCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XG4gICAgICB0aGlzLmlkUGRmLnB1c2goZS50YXJnZXQucmVzdWx0KTtcbiAgICAgIHRoaXMucGRmU3JjID0gdGhpcy5pZFBkZlt0aGlzLm51bURvY107XG4gICAgfTtcbiAgICB0aGlzLmNvZGUgPSAwO1xuICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihmaWxlQ2F0Y2hlZCk7XG4gIH1cblxuICBmaWxlc1VwbG9hZGVkKCkge1xuICAgIFN3YWwuZmlyZSh7XG4gICAgICB0aXRsZTogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIj5QZXJmZWN0PC9wPicsXG4gICAgICBodG1sOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiPkFyY2hpdm9zIHN1Ymlkb3MgY29ycmVjdGFtZW50ZS48L3A+JyxcbiAgICAgIGljb246ICdzdWNjZXNzJyxcbiAgICB9KTtcbiAgICB0aGlzLmRvY3VtZW50c0Zvcm0uY29udHJvbHNbJ2RvY19zdHVkZW50J10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5kb2N1bWVudHNGb3JtLmNvbnRyb2xzWydkb2NfYWdyZWVtZW50J10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5kb2N1bWVudHNGb3JtLmNvbnRyb2xzWydkb2NfcGFyZW50J10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5kb2N1bWVudHNGb3JtLmNvbnRyb2xzWydkb2NfY29uZmFub3J0ZSddLnNldFZhbHVlKG51bGwpO1xuICB9XG5cbiAgY2xlYXJEb2NTdHVkZW50KHR5cGVEb2M6IGFueSkge1xuICAgIHRoaXMuZG9jdW1lbnRzRm9ybS5jb250cm9sc1t0eXBlRG9jXS5zZXRWYWx1ZShudWxsKTtcbiAgICB0aGlzLmRvY1N0dWRlbnQgPSBmYWxzZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lciBmbGV4IGZsZXgtY29sdW1uIGJnLXdoaXRlIGJvcmRlci1yb3VuZC0yeGwgcC0zIGNvbnRhaW5lciBhbmltYXRlX19hbmltYXRlZCBhbmltYXRlX19mYWRlSW5VcFwiPlxuXG4gIDxzcGFuIGNsYXNzPVwiYmctcHJpbWFyeSBwLTIgYm9yZGVyLXJvdW5kIG1iLTIgdy1hdXRvIHRleHQtbGcgZm9udC1zZW1pYm9sZFwiPkRvY3VtZW50b3MgZGVsIENPRDwvc3Bhbj5cblxuICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRfaXRlbSBmbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBwLTIgYm9yZGVyLXJvdW5kXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1sLWF1dG9cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbnAgdy0xMFwiPlxuICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ2ZpbGUnXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidEb2MuIEVzdHVkaWFudGUnXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiZG9jdW1lbnRzRm9ybS5jb250cm9sc1snZG9jX3N0dWRlbnQnXVwiXG4gICAgICAgIChjaGFuZ2UpPVwiY2F0Y2hEb2N1bWVudCgkZXZlbnQsIGRvY1N0dWRlbnQpXCJcbiAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYnRuIGZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LXdyYXAgdy04IHAtMlwiICpuZ0lmPVwiZG9jU3R1ZGVudFwiPlxuICAgICAgICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSB0eXBlPVwiYnV0dG9uXCIgaWNvbj1cInBpIHBpLWV5ZVwiIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1zbSBtbC1hdXRvIG1yLTFcIiAoY2xpY2spPVwic2hvd0lkRG9jdW1lbnQoKVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSB0eXBlPVwiYnV0dG9uXCIgaWNvbj1cInBpIHBpLXRyYXNoXCIgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXNtIHAtYnV0dG9uLWRhbmdlciBtbC1hdXRvXCIgKGNsaWNrKT1cImNsZWFyRG9jU3R1ZGVudCgnZG9jX3N0dWRlbnQnKVwiPjwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJkb2N1bWVudF9pdGVtIGZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIHAtMiBib3JkZXItcm91bmRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWwtYXV0b1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImlucCB3LTEwXCI+XG4gICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCInZmlsZSdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0RvYy4gQ29udmVuaW8nXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiZG9jdW1lbnRzRm9ybS5jb250cm9sc1snZG9jX2FncmVlbWVudCddXCJcbiAgICAgICAgKGNoYW5nZSk9XCJjYXRjaERvY3VtZW50KCRldmVudCwgZG9jQWdyZWVtZW50IClcIlxuICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJidG4gZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtd3JhcCB3LTggcC0yXCIgKm5nSWY9XCJkb2NBZ3JlZW1lbnRcIj5cbiAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS1leWVcIiBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tc20gbWwtYXV0byBtci0xXCIgKGNsaWNrKT1cInNob3dJZERvY3VtZW50KClcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS10cmFzaFwiIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1zbSBwLWJ1dHRvbi1kYW5nZXIgbWwtYXV0b1wiIChjbGljayk9XCJjbGVhckRvY1N0dWRlbnQoJ2RvY19hZ3JlZW1lbnQnKVwiPjwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJkb2N1bWVudF9pdGVtIGZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIHAtMiBib3JkZXItcm91bmRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWwtYXV0b1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImlucCB3LTEwXCI+XG4gICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCInZmlsZSdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0RvYy4gQWN1ZGllbnRlJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImRvY3VtZW50c0Zvcm0uY29udHJvbHNbJ2RvY19wYXJlbnQnXVwiXG4gICAgICAgIChjaGFuZ2UpPVwiY2F0Y2hEb2N1bWVudCgkZXZlbnQsIGRvY1BhcmVudClcIlxuICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJidG4gZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtd3JhcCB3LTggcC0yXCIgKm5nSWY9XCJkb2NQYXJlbnRcIj5cbiAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS1leWVcIiBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tc20gbWwtYXV0byBtci0xXCIgKGNsaWNrKT1cInNob3dJZERvY3VtZW50KClcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS10cmFzaFwiIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1zbSBwLWJ1dHRvbi1kYW5nZXIgbWwtYXV0b1wiIChjbGljayk9XCJjbGVhckRvY1N0dWRlbnQoJ2RvY19wYXJlbnQnKVwiPjwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJkb2N1bWVudF9pdGVtIGZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIHAtMiBib3JkZXItcm91bmRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWwtYXV0b1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImlucCB3LTEwXCI+XG4gICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCInZmlsZSdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0RvYy4gQ29uZmFub3J0ZSdcIlxuICAgICAgICBbY29udHJvbF09XCJkb2N1bWVudHNGb3JtLmNvbnRyb2xzWydkb2NfY29uZmFub3J0ZSddXCJcbiAgICAgICAgKGNoYW5nZSk9XCJjYXRjaERvY3VtZW50KCRldmVudCwgZG9jQ29uZmFub3J0ZSlcIlxuICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJidG4gZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtd3JhcCB3LTggcC0yXCIgKm5nSWY9XCJkb2NDb25mYW5vcnRlXCI+XG4gICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiBpY29uPVwicGkgcGktZXllXCIgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXNtIG1sLWF1dG8gbXItMVwiIChjbGljayk9XCJzaG93SWREb2N1bWVudCgpXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiBpY29uPVwicGkgcGktdHJhc2hcIiBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tc20gcC1idXR0b24tZGFuZ2VyIG1sLWF1dG9cIiAoY2xpY2spPVwiY2xlYXJEb2NTdHVkZW50KCdkb2NfY29uZmFub3J0ZScpXCI+PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGhyPlxuICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSB0eXBlPVwiYnV0dG9uXCIgaWNvbj1cInBpIHBpLXBsdXNcIiBsYWJlbD1cIkFncmVnYXJcIiBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tc20gbWwtYXV0byBtdC0yXCIgKGNsaWNrKT1cImZpbGVzVXBsb2FkZWQoKVwiPjwvYnV0dG9uPlxuXG48L2Rpdj5cbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWRvY3VtZW50cy1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2QvY29kLWRvY3VtZW50cy1zZWN0aW9uL2NvZC1kb2N1bWVudHMtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL2NvZC1kb2N1bWVudHMtc2VjdGlvbi9jb2QtZG9jdW1lbnRzLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0FBTy9CLE1BQU0sT0FBTyw0QkFBNEI7SUFXdkMsWUFBb0IsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7UUFUbkMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLFVBQUssR0FBVSxFQUFFLENBQUM7UUFHbEIsV0FBTSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBR2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDakMsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM1QyxhQUFhLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbkIsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hCLGNBQWMsRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxLQUFVLENBQUM7SUFFbkIsY0FBYztRQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVUsRUFBRSxPQUFlO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUduQixRQUFRLE9BQU8sRUFBRTtZQUNmLEtBQUssQ0FBQztnQkFDSixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDdkIsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDekIsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDdEIsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztnQkFDMUIsTUFBTTtZQUVSO2dCQUNFLE1BQU07U0FDVDtRQUVELE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDOUIsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNkLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDUixLQUFLLEVBQUUsNkNBQTZDO1lBQ3BELElBQUksRUFBRSxxRUFBcUU7WUFDM0UsSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFZO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDOzt5SEEzRVUsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsaUVDVHpDLHd6SEE0RUE7MkZEbkVhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXB0LWNvZC1kb2N1bWVudHMtc2VjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2QtZG9jdW1lbnRzLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb2QtZG9jdW1lbnRzLXNlY3Rpb24uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb2REb2N1bWVudHNTZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZG9jdW1lbnRzRm9ybSE6IEZvcm1Hcm91cDtcbiAgZG9jU3R1ZGVudDogYm9vbGVhbiA9IGZhbHNlO1xuICBkb2NBZ3JlZW1lbnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZG9jUGFyZW50OiBib29sZWFuID0gZmFsc2U7XG4gIGRvY0NvbmZhbm9ydGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaWRQZGY6IGFueVtdID0gW107XG4gIGNvZGUhOiBudW1iZXI7XG4gIHBkZlNyYzogYW55O1xuICBudW1Eb2M6IG51bWJlciA9IC0xO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7XG4gICAgdGhpcy5kb2N1bWVudHNGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBkb2Nfc3R1ZGVudDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIFtdXSxcbiAgICAgIGRvY19hZ3JlZW1lbnQ6IFsnJ10sXG4gICAgICBkb2NfcGFyZW50OiBbJyddLFxuICAgICAgZG9jX2NvbmZhbm9ydGU6IFsnJ10sXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgc2hvd0lkRG9jdW1lbnQoKSB7XG4gICAgY29uc29sZS5sb2coJ2FicmlyIG1vZGFsIGRlIGNhcmdhciBwZGYnKTtcbiAgfVxuXG4gIGNhdGNoRG9jdW1lbnQoZXZlbnQ6IGFueSwgdmlzaWJsZTogbnVtYmVyKSB7XG4gICAgdGhpcy5udW1Eb2MrKztcbiAgICBjb25zb2xlLmxvZyh2aXNpYmxlKTtcbiAgICBjb25zb2xlLmxvZyhldmVudCk7XG4gICAgXG5cbiAgICBzd2l0Y2ggKHZpc2libGUpIHtcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgdGhpcy5kb2NTdHVkZW50ID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIHRoaXMuZG9jQWdyZWVtZW50ID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM6XG4gICAgICAgIHRoaXMuZG9jUGFyZW50ID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDQ6XG4gICAgICAgIHRoaXMuZG9jQ29uZmFub3J0ZSA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjb25zdCBmaWxlQ2F0Y2hlZCA9IGV2ZW50LnRhcmdldC5maWxlc1swXTtcbiAgICBsZXQgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xuICAgICAgdGhpcy5pZFBkZi5wdXNoKGUudGFyZ2V0LnJlc3VsdCk7XG4gICAgICB0aGlzLnBkZlNyYyA9IHRoaXMuaWRQZGZbdGhpcy5udW1Eb2NdO1xuICAgIH07XG4gICAgdGhpcy5jb2RlID0gMDtcbiAgICByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoZmlsZUNhdGNoZWQpO1xuICB9XG5cbiAgZmlsZXNVcGxvYWRlZCgpIHtcbiAgICBTd2FsLmZpcmUoe1xuICAgICAgdGl0bGU6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCI+UGVyZmVjdDwvcD4nLFxuICAgICAgaHRtbDogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIj5BcmNoaXZvcyBzdWJpZG9zIGNvcnJlY3RhbWVudGUuPC9wPicsXG4gICAgICBpY29uOiAnc3VjY2VzcycsXG4gICAgfSk7XG4gICAgdGhpcy5kb2N1bWVudHNGb3JtLmNvbnRyb2xzWydkb2Nfc3R1ZGVudCddLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMuZG9jdW1lbnRzRm9ybS5jb250cm9sc1snZG9jX2FncmVlbWVudCddLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMuZG9jdW1lbnRzRm9ybS5jb250cm9sc1snZG9jX3BhcmVudCddLnNldFZhbHVlKG51bGwpO1xuICAgIHRoaXMuZG9jdW1lbnRzRm9ybS5jb250cm9sc1snZG9jX2NvbmZhbm9ydGUnXS5zZXRWYWx1ZShudWxsKTtcbiAgfVxuXG4gIGNsZWFyRG9jU3R1ZGVudCh0eXBlRG9jOiBhbnkpIHtcbiAgICB0aGlzLmRvY3VtZW50c0Zvcm0uY29udHJvbHNbdHlwZURvY10uc2V0VmFsdWUobnVsbCk7XG4gICAgdGhpcy5kb2NTdHVkZW50ID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXIgZmxleCBmbGV4LWNvbHVtbiBiZy13aGl0ZSBib3JkZXItcm91bmQtMnhsIHAtMyBjb250YWluZXIgYW5pbWF0ZV9fYW5pbWF0ZWQgYW5pbWF0ZV9fZmFkZUluVXBcIj5cblxuICA8c3BhbiBjbGFzcz1cImJnLXByaW1hcnkgcC0yIGJvcmRlci1yb3VuZCBtYi0yIHctYXV0byB0ZXh0LWxnIGZvbnQtc2VtaWJvbGRcIj5Eb2N1bWVudG9zIGRlbCBDT0Q8L3NwYW4+XG5cbiAgPGRpdiBjbGFzcz1cImRvY3VtZW50X2l0ZW0gZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIgcC0yIGJvcmRlci1yb3VuZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtbC1hdXRvXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wIHctMTBcIj5cbiAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICBbaW5wdXRUeXBlXT1cIidmaWxlJ1wiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInRG9jLiBFc3R1ZGlhbnRlJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImRvY3VtZW50c0Zvcm0uY29udHJvbHNbJ2RvY19zdHVkZW50J11cIlxuICAgICAgICAoY2hhbmdlKT1cImNhdGNoRG9jdW1lbnQoJGV2ZW50LCAxKVwiXG4gICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImJ0biBmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC13cmFwIHctOCBwLTJcIiAqbmdJZj1cImRvY1N0dWRlbnRcIj5cbiAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS1leWVcIiBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tc20gbWwtYXV0byBtci0xXCIgKGNsaWNrKT1cInNob3dJZERvY3VtZW50KClcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS10cmFzaFwiIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1zbSBwLWJ1dHRvbi1kYW5nZXIgbWwtYXV0b1wiIChjbGljayk9XCJjbGVhckRvY1N0dWRlbnQoJ2RvY19zdHVkZW50JylcIj48L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRfaXRlbSBmbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBwLTIgYm9yZGVyLXJvdW5kXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1sLWF1dG9cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbnAgdy0xMFwiPlxuICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ2ZpbGUnXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidEb2MuIENvbnZlbmlvJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImRvY3VtZW50c0Zvcm0uY29udHJvbHNbJ2RvY19hZ3JlZW1lbnQnXVwiXG4gICAgICAgIChjaGFuZ2UpPVwiY2F0Y2hEb2N1bWVudCgkZXZlbnQsIDIgKVwiXG4gICAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImJ0biBmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC13cmFwIHctOCBwLTJcIiAqbmdJZj1cImRvY0FncmVlbWVudFwiPlxuICAgICAgICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSB0eXBlPVwiYnV0dG9uXCIgaWNvbj1cInBpIHBpLWV5ZVwiIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1zbSBtbC1hdXRvIG1yLTFcIiAoY2xpY2spPVwic2hvd0lkRG9jdW1lbnQoKVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSB0eXBlPVwiYnV0dG9uXCIgaWNvbj1cInBpIHBpLXRyYXNoXCIgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXNtIHAtYnV0dG9uLWRhbmdlciBtbC1hdXRvXCIgKGNsaWNrKT1cImNsZWFyRG9jU3R1ZGVudCgnZG9jX2FncmVlbWVudCcpXCI+PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImRvY3VtZW50X2l0ZW0gZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIgcC0yIGJvcmRlci1yb3VuZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtbC1hdXRvXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wIHctMTBcIj5cbiAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICBbaW5wdXRUeXBlXT1cIidmaWxlJ1wiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInRG9jLiBBY3VkaWVudGUnXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiZG9jdW1lbnRzRm9ybS5jb250cm9sc1snZG9jX3BhcmVudCddXCJcbiAgICAgICAgKGNoYW5nZSk9XCJjYXRjaERvY3VtZW50KCRldmVudCwgMylcIlxuICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJidG4gZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtd3JhcCB3LTggcC0yXCIgKm5nSWY9XCJkb2NQYXJlbnRcIj5cbiAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS1leWVcIiBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tc20gbWwtYXV0byBtci0xXCIgKGNsaWNrKT1cInNob3dJZERvY3VtZW50KClcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS10cmFzaFwiIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1zbSBwLWJ1dHRvbi1kYW5nZXIgbWwtYXV0b1wiIChjbGljayk9XCJjbGVhckRvY1N0dWRlbnQoJ2RvY19wYXJlbnQnKVwiPjwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJkb2N1bWVudF9pdGVtIGZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIHAtMiBib3JkZXItcm91bmRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWwtYXV0b1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImlucCB3LTEwXCI+XG4gICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCInZmlsZSdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0RvYy4gQ29uZmFub3J0ZSdcIlxuICAgICAgICBbY29udHJvbF09XCJkb2N1bWVudHNGb3JtLmNvbnRyb2xzWydkb2NfY29uZmFub3J0ZSddXCJcbiAgICAgICAgKGNoYW5nZSk9XCJjYXRjaERvY3VtZW50KCRldmVudCwgNClcIlxuICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJidG4gZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtd3JhcCB3LTggcC0yXCIgKm5nSWY9XCJkb2NDb25mYW5vcnRlXCI+XG4gICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiBpY29uPVwicGkgcGktZXllXCIgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXNtIG1sLWF1dG8gbXItMVwiIChjbGljayk9XCJzaG93SWREb2N1bWVudCgpXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiBpY29uPVwicGkgcGktdHJhc2hcIiBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tc20gcC1idXR0b24tZGFuZ2VyIG1sLWF1dG9cIiAoY2xpY2spPVwiY2xlYXJEb2NTdHVkZW50KCdkb2NfY29uZmFub3J0ZScpXCI+PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGhyPlxuICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSB0eXBlPVwiYnV0dG9uXCIgaWNvbj1cInBpIHBpLXBsdXNcIiBsYWJlbD1cIkFncmVnYXJcIiBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tc20gbWwtYXV0byBtdC0yXCIgKGNsaWNrKT1cImZpbGVzVXBsb2FkZWQoKVwiPjwvYnV0dG9uPlxuXG48L2Rpdj5cbiJdfQ==
@@ -2225,7 +2225,6 @@ class CodDocumentsSectionComponent {
2225
2225
  this.docAgreement = false;
2226
2226
  this.docParent = false;
2227
2227
  this.docConfanorte = false;
2228
- this.visiBtn = ['docStudent', 'docAgreement', 'docParent', 'docConfanorte'];
2229
2228
  this.idPdf = [];
2230
2229
  this.numDoc = -1;
2231
2230
  this.documentsForm = this.fb.group({
@@ -2241,8 +2240,23 @@ class CodDocumentsSectionComponent {
2241
2240
  }
2242
2241
  catchDocument(event, visible) {
2243
2242
  this.numDoc++;
2244
- for (let i = 0; i < this.visiBtn.length; i++) {
2245
- this.visiBtn[i] == visible ? this.visiBtn[i] == true : null;
2243
+ console.log(visible);
2244
+ console.log(event);
2245
+ switch (visible) {
2246
+ case 1:
2247
+ this.docStudent = true;
2248
+ break;
2249
+ case 2:
2250
+ this.docAgreement = true;
2251
+ break;
2252
+ case 3:
2253
+ this.docParent = true;
2254
+ break;
2255
+ case 4:
2256
+ this.docConfanorte = true;
2257
+ break;
2258
+ default:
2259
+ break;
2246
2260
  }
2247
2261
  const fileCatched = event.target.files[0];
2248
2262
  let reader = new FileReader();
@@ -2270,10 +2284,10 @@ class CodDocumentsSectionComponent {
2270
2284
  }
2271
2285
  }
2272
2286
  CodDocumentsSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodDocumentsSectionComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
2273
- CodDocumentsSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodDocumentsSectionComponent, selector: "ipt-cod-documents-section", ngImport: i0, template: "<div class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">Documentos del COD</span>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Estudiante'\"\n [control]=\"documentsForm.controls['doc_student']\"\n (change)=\"catchDocument($event, docStudent)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docStudent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_student')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Convenio'\"\n [control]=\"documentsForm.controls['doc_agreement']\"\n (change)=\"catchDocument($event, docAgreement )\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docAgreement\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_agreement')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Acudiente'\"\n [control]=\"documentsForm.controls['doc_parent']\"\n (change)=\"catchDocument($event, docParent)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docParent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_parent')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Confanorte'\"\n [control]=\"documentsForm.controls['doc_confanorte']\"\n (change)=\"catchDocument($event, docConfanorte)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docConfanorte\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_confanorte')\"></button>\n </div>\n </div>\n </div>\n\n <hr>\n <button pButton pRipple type=\"button\" icon=\"pi pi-plus\" label=\"Agregar\" class=\"p-button-rounded p-button-sm ml-auto mt-2\" (click)=\"filesUploaded()\"></button>\n\n</div>\n", styles: [".document_item{transition:.15s;gap:1rem;max-height:150px}.document_item:hover{cursor:pointer;box-shadow:#64646f33 0 7px 29px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }, { kind: "directive", type: i7$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
2287
+ CodDocumentsSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodDocumentsSectionComponent, selector: "ipt-cod-documents-section", ngImport: i0, template: "<div class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">Documentos del COD</span>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Estudiante'\"\n [control]=\"documentsForm.controls['doc_student']\"\n (change)=\"catchDocument($event, 1)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docStudent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_student')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Convenio'\"\n [control]=\"documentsForm.controls['doc_agreement']\"\n (change)=\"catchDocument($event, 2 )\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docAgreement\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_agreement')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Acudiente'\"\n [control]=\"documentsForm.controls['doc_parent']\"\n (change)=\"catchDocument($event, 3)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docParent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_parent')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Confanorte'\"\n [control]=\"documentsForm.controls['doc_confanorte']\"\n (change)=\"catchDocument($event, 4)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docConfanorte\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_confanorte')\"></button>\n </div>\n </div>\n </div>\n\n <hr>\n <button pButton pRipple type=\"button\" icon=\"pi pi-plus\" label=\"Agregar\" class=\"p-button-rounded p-button-sm ml-auto mt-2\" (click)=\"filesUploaded()\"></button>\n\n</div>\n", styles: [".document_item{transition:.15s;gap:1rem;max-height:150px}.document_item:hover{cursor:pointer;box-shadow:#64646f33 0 7px 29px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }, { kind: "directive", type: i7$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
2274
2288
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodDocumentsSectionComponent, decorators: [{
2275
2289
  type: Component,
2276
- args: [{ selector: 'ipt-cod-documents-section', template: "<div class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">Documentos del COD</span>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Estudiante'\"\n [control]=\"documentsForm.controls['doc_student']\"\n (change)=\"catchDocument($event, docStudent)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docStudent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_student')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Convenio'\"\n [control]=\"documentsForm.controls['doc_agreement']\"\n (change)=\"catchDocument($event, docAgreement )\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docAgreement\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_agreement')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Acudiente'\"\n [control]=\"documentsForm.controls['doc_parent']\"\n (change)=\"catchDocument($event, docParent)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docParent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_parent')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Confanorte'\"\n [control]=\"documentsForm.controls['doc_confanorte']\"\n (change)=\"catchDocument($event, docConfanorte)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docConfanorte\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_confanorte')\"></button>\n </div>\n </div>\n </div>\n\n <hr>\n <button pButton pRipple type=\"button\" icon=\"pi pi-plus\" label=\"Agregar\" class=\"p-button-rounded p-button-sm ml-auto mt-2\" (click)=\"filesUploaded()\"></button>\n\n</div>\n", styles: [".document_item{transition:.15s;gap:1rem;max-height:150px}.document_item:hover{cursor:pointer;box-shadow:#64646f33 0 7px 29px}\n"] }]
2290
+ args: [{ selector: 'ipt-cod-documents-section', template: "<div class=\"container flex flex-column bg-white border-round-2xl p-3 container animate__animated animate__fadeInUp\">\n\n <span class=\"bg-primary p-2 border-round mb-2 w-auto text-lg font-semibold\">Documentos del COD</span>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Estudiante'\"\n [control]=\"documentsForm.controls['doc_student']\"\n (change)=\"catchDocument($event, 1)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docStudent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_student')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Convenio'\"\n [control]=\"documentsForm.controls['doc_agreement']\"\n (change)=\"catchDocument($event, 2 )\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docAgreement\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_agreement')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Acudiente'\"\n [control]=\"documentsForm.controls['doc_parent']\"\n (change)=\"catchDocument($event, 3)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docParent\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_parent')\"></button>\n </div>\n </div>\n </div>\n\n <div class=\"document_item flex flex-column align-items-center p-2 border-round\">\n <div class=\"ml-auto\">\n <div class=\"inp w-10\">\n <ipt-input\n [inputType]=\"'file'\"\n [placeHolder]=\"'Doc. Confanorte'\"\n [control]=\"documentsForm.controls['doc_confanorte']\"\n (change)=\"catchDocument($event, 4)\"\n ></ipt-input>\n </div>\n <div class=\"btn flex justify-content-center flex-wrap w-8 p-2\" *ngIf=\"docConfanorte\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-eye\" class=\"p-button-rounded p-button-sm ml-auto mr-1\" (click)=\"showIdDocument()\"></button>\n <button pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-sm p-button-danger ml-auto\" (click)=\"clearDocStudent('doc_confanorte')\"></button>\n </div>\n </div>\n </div>\n\n <hr>\n <button pButton pRipple type=\"button\" icon=\"pi pi-plus\" label=\"Agregar\" class=\"p-button-rounded p-button-sm ml-auto mt-2\" (click)=\"filesUploaded()\"></button>\n\n</div>\n", styles: [".document_item{transition:.15s;gap:1rem;max-height:150px}.document_item:hover{cursor:pointer;box-shadow:#64646f33 0 7px 29px}\n"] }]
2277
2291
  }], ctorParameters: function () { return [{ type: i1$1.FormBuilder }]; } });
2278
2292
 
2279
2293
  class LocalStorageCODService {