iptdevs-design-system 3.1.4396 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/esm2020/lib/cod/cod-form/cod-form.component.mjs +34 -21
  2. package/esm2020/lib/cod/logic/calculate-quotes.service.mjs +73 -53
  3. package/esm2020/lib/cod/modal-referred/modal-referred.component.mjs +2 -2
  4. package/esm2020/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.mjs +18 -24
  5. package/esm2020/lib/cod/steps/cod-form-step-four/cod-form-step-four.component.mjs +85 -76
  6. package/esm2020/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.mjs +225 -92
  7. package/esm2020/lib/cod/steps/cod-form-step-three/cod-form-step-three.component.mjs +14 -18
  8. package/esm2020/lib/cod/steps/cod-form-step-two/cod-form-step-two.component.mjs +95 -70
  9. package/esm2020/lib/cod-self-managed/cod-form-self-managed/cod-self-managed.component.mjs +190 -22
  10. package/esm2020/lib/cod-self-managed/cod-self-managed.module.mjs +28 -4
  11. package/esm2020/lib/cod-self-managed/logic/calculate-quotes.service.mjs +99 -0
  12. package/esm2020/lib/cod-self-managed/logic/cod-self-managed-controls.mjs +16 -44
  13. package/esm2020/lib/cod-self-managed/logic/cod-self-managed-steps.mjs +1 -1
  14. package/esm2020/lib/cod-self-managed/steps/cod-form-step-four/cod-self-form-step-four.component.mjs +244 -7
  15. package/esm2020/lib/cod-self-managed/steps/cod-form-step-one/cod-self-form-step-one.component.mjs +102 -18
  16. package/esm2020/lib/cod-self-managed/steps/cod-form-step-three/cod-self-form-step-three.component.mjs +255 -7
  17. package/esm2020/lib/cod-self-managed/steps/cod-form-step-two/cod-self-form-step-two.component.mjs +144 -32
  18. package/esm2020/lib/components/atoms/button/button.component.mjs +2 -2
  19. package/esm2020/lib/components/atoms/datalist/datalist.component.mjs +26 -17
  20. package/esm2020/lib/components/atoms/input/input.component.mjs +2 -2
  21. package/esm2020/lib/components/atoms/level-button/level-button.component.mjs +2 -2
  22. package/esm2020/lib/components/atoms/loader/loader.component.mjs +2 -2
  23. package/esm2020/lib/components/atoms/select/select.component.mjs +10 -8
  24. package/esm2020/lib/components/components.module.mjs +54 -8
  25. package/esm2020/lib/components/forms/create-user-form/create-user-form.component.mjs +3 -3
  26. package/esm2020/lib/components/forms/update-user-form/update-user-form.component.mjs +843 -0
  27. package/esm2020/lib/components/molecules/card-course/card-course.component.mjs +95 -0
  28. package/esm2020/lib/components/molecules/card-select-course/card-select-course.component.mjs +52 -0
  29. package/esm2020/lib/components/molecules/sidenav/sidenav.component.mjs +5 -5
  30. package/esm2020/lib/core/core.module.mjs +9 -3
  31. package/esm2020/lib/core/models/academic/academic.component.mjs +1 -1
  32. package/esm2020/lib/core/models/announcement/announcement-user-rq.model.mjs +2 -0
  33. package/esm2020/lib/core/models/announcement/announcement-user-rs.model.mjs +3 -0
  34. package/esm2020/lib/core/models/attendance/attendance.interface.mjs +1 -1
  35. package/esm2020/lib/core/models/budget/budget.model.mjs +1 -1
  36. package/esm2020/lib/core/models/cod/cod-rq.model.mjs +1 -1
  37. package/esm2020/lib/core/models/commercial/commercial.model.mjs +1 -1
  38. package/esm2020/lib/core/models/course/course-rq.model.mjs +1 -1
  39. package/esm2020/lib/core/models/course/courses.model.mjs +1 -1
  40. package/esm2020/lib/core/models/epayco/epayco.interfaces.mjs +2 -0
  41. package/esm2020/lib/core/models/notes/INotesTemplate.mjs +1 -1
  42. package/esm2020/lib/core/models/notes/notes.interface.mjs +1 -1
  43. package/esm2020/lib/core/models/parameters/parameters-rs.model.mjs +1 -1
  44. package/esm2020/lib/core/models/payment/payment-rq.model.mjs +1 -1
  45. package/esm2020/lib/core/models/student/student.interface.mjs +1 -1
  46. package/esm2020/lib/core/models/terms/terms-rs.model.mjs +2 -0
  47. package/esm2020/lib/core/models/transfer/transfer.model.mjs +2 -0
  48. package/esm2020/lib/core/models/user/user-rq.model.mjs +1 -1
  49. package/esm2020/lib/core/models/user/user-rs.model.mjs +3 -1
  50. package/esm2020/lib/core/pipes/course-pipes/schedule-form.pipe.mjs +47 -0
  51. package/esm2020/lib/core/pipes/course-pipes/time-form.pipe.mjs +34 -0
  52. package/esm2020/lib/core/pipes/course-pipes/type-level.pipe.mjs +57 -0
  53. package/esm2020/lib/core/pipes/parameter-pipes/gender-display.pipe.mjs +22 -0
  54. package/esm2020/lib/core/pipes/pipe.module.mjs +37 -0
  55. package/esm2020/lib/core/services/academic-service/academic.service.mjs +64 -1
  56. package/esm2020/lib/core/services/announcement/announcement.service.mjs +57 -0
  57. package/esm2020/lib/core/services/attendance-service/attendance.service.mjs +31 -1
  58. package/esm2020/lib/core/services/budget-service/budget-service.mjs +297 -1
  59. package/esm2020/lib/core/services/certificate-service/certificate.service.mjs +21 -1
  60. package/esm2020/lib/core/services/commercial-service/comercial.service.mjs +95 -1
  61. package/esm2020/lib/core/services/course-service/course-service.model.mjs +96 -1
  62. package/esm2020/lib/core/services/ePayco/epayco.service.mjs +37 -0
  63. package/esm2020/lib/core/services/notes-service/notes.service.mjs +6 -1
  64. package/esm2020/lib/core/services/parameters-service/parameters.service.mjs +13 -1
  65. package/esm2020/lib/core/services/user-service/user-service.mjs +55 -1
  66. package/esm2020/public-api.mjs +13 -1
  67. package/fesm2015/iptdevs-design-system.mjs +4357 -1296
  68. package/fesm2015/iptdevs-design-system.mjs.map +1 -1
  69. package/fesm2020/iptdevs-design-system.mjs +7080 -4043
  70. package/fesm2020/iptdevs-design-system.mjs.map +1 -1
  71. package/lib/cod/cod-form/cod-form.component.d.ts +7 -2
  72. package/lib/cod/logic/calculate-quotes.service.d.ts +3 -0
  73. package/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.d.ts +4 -4
  74. package/lib/cod/steps/cod-form-step-four/cod-form-step-four.component.d.ts +6 -9
  75. package/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.d.ts +9 -7
  76. package/lib/cod/steps/cod-form-step-three/cod-form-step-three.component.d.ts +4 -4
  77. package/lib/cod/steps/cod-form-step-two/cod-form-step-two.component.d.ts +8 -5
  78. package/lib/cod-self-managed/cod-form-self-managed/cod-self-managed.component.d.ts +31 -7
  79. package/lib/cod-self-managed/cod-self-managed.module.d.ts +7 -1
  80. package/lib/cod-self-managed/logic/calculate-quotes.service.d.ts +16 -0
  81. package/lib/cod-self-managed/steps/cod-form-step-four/cod-self-form-step-four.component.d.ts +46 -2
  82. package/lib/cod-self-managed/steps/cod-form-step-one/cod-self-form-step-one.component.d.ts +17 -5
  83. package/lib/cod-self-managed/steps/cod-form-step-three/cod-self-form-step-three.component.d.ts +48 -3
  84. package/lib/cod-self-managed/steps/cod-form-step-two/cod-self-form-step-two.component.d.ts +43 -9
  85. package/lib/components/atoms/datalist/datalist.component.d.ts +7 -3
  86. package/lib/components/atoms/select/select.component.d.ts +2 -1
  87. package/lib/components/components.module.d.ts +14 -5
  88. package/lib/components/forms/update-user-form/update-user-form.component.d.ts +87 -0
  89. package/lib/components/molecules/card-course/card-course.component.d.ts +21 -0
  90. package/lib/components/molecules/card-select-course/card-select-course.component.d.ts +13 -0
  91. package/lib/core/models/academic/academic.component.d.ts +143 -1
  92. package/lib/core/models/announcement/announcement-user-rq.model.d.ts +12 -0
  93. package/lib/core/models/announcement/announcement-user-rs.model.d.ts +7 -0
  94. package/lib/core/models/attendance/attendance.interface.d.ts +146 -0
  95. package/lib/core/models/budget/budget.model.d.ts +554 -0
  96. package/lib/core/models/cod/cod-rq.model.d.ts +193 -0
  97. package/lib/core/models/commercial/commercial.model.d.ts +91 -0
  98. package/lib/core/models/course/course-rq.model.d.ts +296 -22
  99. package/lib/core/models/course/courses.model.d.ts +51 -0
  100. package/lib/core/models/epayco/epayco.interfaces.d.ts +6 -0
  101. package/lib/core/models/notes/INotesTemplate.d.ts +57 -0
  102. package/lib/core/models/notes/notes.interface.d.ts +13 -0
  103. package/lib/core/models/parameters/parameters-rs.model.d.ts +78 -1
  104. package/lib/core/models/payment/payment-rq.model.d.ts +168 -0
  105. package/lib/core/models/student/student.interface.d.ts +18 -0
  106. package/lib/core/models/terms/terms-rs.model.d.ts +435 -0
  107. package/lib/core/models/transfer/transfer.model.d.ts +89 -0
  108. package/lib/core/models/user/user-rq.model.d.ts +78 -0
  109. package/lib/core/models/user/user-rs.model.d.ts +11 -0
  110. package/lib/core/pipes/course-pipes/schedule-form.pipe.d.ts +7 -0
  111. package/lib/core/pipes/course-pipes/time-form.pipe.d.ts +9 -0
  112. package/lib/core/pipes/course-pipes/type-level.pipe.d.ts +7 -0
  113. package/lib/core/pipes/parameter-pipes/gender-display.pipe.d.ts +7 -0
  114. package/lib/core/pipes/pipe.module.d.ts +11 -0
  115. package/lib/core/services/academic-service/academic.service.d.ts +18 -3
  116. package/lib/core/services/announcement/announcement.service.d.ts +18 -0
  117. package/lib/core/services/attendance-service/attendance.service.d.ts +7 -1
  118. package/lib/core/services/budget-service/budget-service.d.ts +57 -3
  119. package/lib/core/services/certificate-service/certificate.service.d.ts +5 -0
  120. package/lib/core/services/commercial-service/comercial.service.d.ts +23 -2
  121. package/lib/core/services/course-service/course-service.model.d.ts +22 -1
  122. package/lib/core/services/ePayco/epayco.service.d.ts +17 -0
  123. package/lib/core/services/notes-service/notes.service.d.ts +2 -1
  124. package/lib/core/services/parameters-service/parameters.service.d.ts +3 -0
  125. package/lib/core/services/user-service/user-service.d.ts +12 -1
  126. package/package.json +1 -1
  127. package/public-api.d.ts +11 -0
@@ -18,59 +18,31 @@ export class CodSelfManagedControls {
18
18
  { name: 'student_email', required: true, description: 'Correo del estudiante' },
19
19
  { name: 'student_phone_indicative', required: true, description: 'Indicativo del estudiante' },
20
20
  { name: 'student_phone_number', required: true, description: 'Teléfono del estudiante' },
21
- // { name: 'student_address', required: true, description: 'Dirección del estudiante' },
22
- // { name: 'nickname', required: true, description: 'Alias o nickname' },
23
- // { name: 'student_occupation', required: true, description: 'Ocupación del estudiante' },
24
- // { name: 'stratum', required: true, description: 'Estrato del estudiante' },
25
- // { name: 'grade', required: true, description: 'Grado del estudiante' },
26
- // { name: 'civil_status', required: true, description: 'Estado civil del estudiante' },
27
- // { name: 'password', required: true, description: 'Contraseña del estudiante' },
28
- // { name: 're_password', required: true, description: 'Confirmación de contraseña' },
21
+ { name: 'grade', required: true, description: 'Grado del estudiante' },
22
+ { name: 'agreement_by_category', required: true, description: 'Convenio' },
29
23
  ],
30
24
  [
31
- { name: 'schedule', required: true, description: 'horario requerido' },
32
- // { name: 'academic_plan', required: true, description: 'Plan académico' },
33
- // { name: 'course_type', required: true, description: 'Tipo de curso' },
34
- // { name: 'agreement_by_category', required: true, description: 'Convenio' },
35
- // { name: 'english_level', required: true, description: 'Nivel de inglés' },
36
- // { name: 'availible_courses', required: false, description: 'Cursos disponibles' },
37
- // { name: 'course_modality', required: false, description: 'Modalidad del curso' },
25
+ { name: 'academic_plan', required: true, description: 'Plan académico' },
26
+ { name: 'course_type', required: true, description: 'Tipo de curso' },
27
+ { name: 'english_level', required: true, description: 'Nivel de inglés' },
28
+ { name: 'availible_courses', required: false, description: 'Cursos disponibles' },
29
+ { name: 'course_modality', required: false, description: 'Modalidad del curso' },
38
30
  ],
39
- // [
40
- // { name: 'parent_id_card_type', required: true, description: 'Tipo de documento del acudiente' },
41
- // { name: 'parent_id_card', required: true, description: 'Documento del acudiente' },
42
- // { name: 'parent_last_name', required: true, description: 'Apellidos del acudiente' },
43
- // { name: 'parent_name', required: true, description: 'Nombres del acudiente' },
44
- // { name: 'needAtendant', required: true, description: '¿Requiere acudiente?' },
45
- // { name: 'parent_phone_indicative', required: true, description: 'Indicativo del acudiente' },
46
- // { name: 'parent_occupation', required: true, description: 'Ocupación del acudiente' },
47
- // { name: 'parent_address', required: true, description: 'Dirección del acudiente' },
48
- // { name: 'parent_phone_number', required: true, description: 'Teléfono del acudiente' }
49
- // ],
50
31
  [
51
- { name: 'payment_date', required: true, description: 'Fecha de pago' },
52
32
  { name: 'program_price', required: true, description: 'Valor total del programa' },
33
+ { name: 'payment_date', required: true, description: 'Fecha de pago' },
53
34
  { name: 'payment_method', required: true, description: 'Método de pago' },
54
35
  { name: 'quota_times', required: true, description: 'Cantidad de cuotas' },
55
36
  { name: 'total_price', required: true, description: 'Precio total de la matricula' },
56
37
  { name: 'paid_level', required: true, description: 'Niveles pagos' },
57
38
  ],
58
- // [
59
- // { name: 'marketing_reasons', required: true, description: '¿Cómo se enteró del programa?' },
60
- // { name: 'observation', required: false, description: 'Observación' },
61
- // { name: 'study_reasons', required: true, description: 'Motivo' },
62
- // { name: 'terms', required: true, description: 'Términos y condiciones' },
63
- // { name: 'disability', required: false, description: 'Discapacidad' },
64
- // { name: 'multiculturalism_1', required: false, description: 'Multiculturalismo' },
65
- // { name: 'multiculturalism_2', required: false, description: 'Multiculturalismo' },
66
- // { name: 'multiculturalism_3', required: false, description: 'Multiculturalismo' },
67
- // { name: 'multiculturalism_4', required: false, description: 'Multiculturalismo' },
68
- // { name: 'multiculturalism_5', required: false, description: 'Multiculturalismo' },
69
- // { name: 'multiculturalism_6', required: false, description: 'Multiculturalismo' },
70
- // { name: 'health_regimen', required: true, description: 'Régimen de salud' },
71
- // { name: 'code_refers', required: true, description: 'Refiere' },
72
- // { name: 'code_cod', required: false, description: 'Codigo Cod' }
73
- // ],
39
+ [
40
+ { name: 'optionsPayments', required: true, description: 'Tipo de pago' },
41
+ { name: 'invoicing_name', required: true, description: 'Nombre de facturacion' },
42
+ { name: 'invoicing_Apellido', required: true, description: 'Apellido de facturacion' },
43
+ { name: 'invoicing_idType', required: true, description: 'Tipo de documento de facturacion' },
44
+ { name: 'invoicing_document', required: true, description: 'documento de facturacion' },
45
+ ],
74
46
  ];
75
47
  this.$controls = new BehaviorSubject([]);
76
48
  this.$controls.next(this.controls);
@@ -94,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
94
66
  providedIn: 'root'
95
67
  }]
96
68
  }], ctorParameters: function () { return []; } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtbWFuYWdlZC1jb250cm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL2xvZ2ljL2NvZC1zZWxmLW1hbmFnZWQtY29udHJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQVVuRCxNQUFNLE9BQU8sc0JBQXNCO0lBMEVqQztRQXhFTyxhQUFRLEdBQTBCO1lBQ3ZDO2dCQUNFLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRTtnQkFDL0UsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsMEJBQTBCLEVBQUU7Z0JBQ3RGLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGtDQUFrQyxFQUFFO2dCQUNqRyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRTtnQkFDcEYsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRTtnQkFDekQsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLG9DQUFvQyxFQUFFO2dCQUN4RixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFO2dCQUNwRCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFB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LFFBQVEsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsQ0FBQztRQUMvRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUUvQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUMvQixDQUFDOzttSEF6RlUsc0JBQXNCO3VIQUF0QixzQkFBc0IsY0FGckIsTUFBTTsyRkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRyb2xTdGVwcyB7XG4gIG5hbWU6IHN0cmluZztcbiAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb2RTZWxmTWFuYWdlZENvbnRyb2xzIHtcblxuICBwdWJsaWMgY29udHJvbHM6IEFycmF5PENvbnRyb2xTdGVwc1tdPiA9IFtcbiAgICBbXG4gICAgICB7IG5hbWU6ICdzdHVkZW50X25hbWUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdOb21icmVzIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgeyBuYW1lOiAnc3R1ZGVudF9sYXN0X25hbWUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdBcGVsbGlkb3MgZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdzdHVkZW50X2lkX2NhcmRfdHlwZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1RpcG8gZGUgZG9jdW1lbnRvIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgeyBuYW1lOiAnc3R1ZGVudF9pZF9jYXJkJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRG9jdW1lbnRvIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgeyBuYW1lOiAnZ2VuZGVyJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnR8OpbmVybycgfSxcbiAgICAgIHsgbmFtZTogJ2JpcnRoZGF0ZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0ZlY2hhIGRlIG5hY2ltaWVudG8gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdhZ2UnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFZGFkJyB9LFxuICAgICAgeyBuYW1lOiAnY291bnRyeScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1Bhw61zJyB9LFxuICAgICAgeyBuYW1lOiAnc3RhdGUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdEZXBhcnRhbWVudG8gbyBlc3RhZG8nIH0sXG4gICAgICB7IG5hbWU6ICdjaXR5JywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQ2l1ZGFkIGRlIHJlc2lkZW5jaWEnIH0sXG4gICAgICB7IG5hbWU6ICdzdHVkZW50X2VtYWlsJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQ29ycmVvIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgeyBuYW1lOiAnc3R1ZGVudF9waG9uZV9pbmRpY2F0aXZlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnSW5kaWNhdGl2byBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIHsgbmFtZTogJ3N0dWRlbnRfcGhvbmVfbnVtYmVyJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVGVsw6lmb25vIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgLy8geyBuYW1lOiAnc3R1ZGVudF9hZGRyZXNzJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRGlyZWNjacOzbiBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ25pY2tuYW1lJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQWxpYXMgbyBuaWNrbmFtZScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ3N0dWRlbnRfb2NjdXBhdGlvbicsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ09jdXBhY2nDs24gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICAvLyB7IG5hbWU6ICdzdHJhdHVtJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRXN0cmF0byBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ2dyYWRlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnR3JhZG8gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICAvLyB7IG5hbWU6ICdjaXZpbF9zdGF0dXMnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFc3RhZG8gY2l2aWwgZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICAvLyB7IG5hbWU6ICdwYXNzd29yZCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0NvbnRyYXNlw7FhIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgLy8geyBuYW1lOiAncmVfcGFzc3dvcmQnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdDb25maXJtYWNpw7NuIGRlIGNvbnRyYXNlw7FhJyB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgeyBuYW1lOiAnc2NoZWR1bGUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdob3JhcmlvIHJlcXVlcmlkbycgfSxcbiAgICAgIC8vIHsgbmFtZTogJ2FjYWRlbWljX3BsYW4nLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdQbGFuIGFjYWTDqW1pY28nIH0sXG4gICAgICAvLyB7IG5hbWU6ICdjb3Vyc2VfdHlwZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1RpcG8gZGUgY3Vyc28nIH0sXG4gICAgICAvLyB7IG5hbWU6ICdhZ3JlZW1lbnRfYnlfY2F0ZWdvcnknLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdDb252ZW5pbycgfSxcbiAgICAgIC8vIHsgbmFtZTogJ2VuZ2xpc2hfbGV2ZWwnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdOaXZlbCBkZSBpbmdsw6lzJyB9LFxuICAgICAgLy8geyBuYW1lOiAnYXZhaWxpYmxlX2NvdXJzZXMnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnQ3Vyc29zIGRpc3BvbmlibGVzJyB9LFxuICAgICAgLy8geyBuYW1lOiAnY291cnNlX21vZGFsaXR5JywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ01vZGFsaWRhZCBkZWwgY3Vyc28nIH0sXG4gICAgXSxcbiAgICAvLyBbXG4gICAgLy8gICB7IG5hbWU6ICdwYXJlbnRfaWRfY2FyZF90eXBlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVGlwbyBkZSBkb2N1bWVudG8gZGVsIGFjdWRpZW50ZScgfSxcbiAgICAvLyAgIHsgbmFtZTogJ3BhcmVudF9pZF9jYXJkJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRG9jdW1lbnRvIGRlbCBhY3VkaWVudGUnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdwYXJlbnRfbGFzdF9uYW1lJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQXBlbGxpZG9zIGRlbCBhY3VkaWVudGUnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdwYXJlbnRfbmFtZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ05vbWJyZXMgZGVsIGFjdWRpZW50ZScgfSxcbiAgICAvLyAgIHsgbmFtZTogJ25lZWRBdGVuZGFudCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ8K/UmVxdWllcmUgYWN1ZGllbnRlPycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnSW5kaWNhdGl2byBkZWwgYWN1ZGllbnRlJyB9LFxuICAgIC8vICAgeyBuYW1lOiAncGFyZW50X29jY3VwYXRpb24nLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdPY3VwYWNpw7NuIGRlbCBhY3VkaWVudGUnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdwYXJlbnRfYWRkcmVzcycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0RpcmVjY2nDs24gZGVsIGFjdWRpZW50ZScgfSxcbiAgICAvLyAgIHsgbmFtZTogJ3BhcmVudF9waG9uZV9udW1iZXInLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdUZWzDqWZvbm8gZGVsIGFjdWRpZW50ZScgfVxuICAgIC8vIF0sXG4gICAgW1xuICAgICAgeyBuYW1lOiAncGF5bWVudF9kYXRlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRmVjaGEgZGUgcGFnbycgfSxcbiAgICAgIHsgbmFtZTogJ3Byb2dyYW1fcHJpY2UnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdWYWxvciB0b3RhbCBkZWwgcHJvZ3JhbWEnIH0sXG4gICAgICB7IG5hbWU6ICdwYXltZW50X21ldGhvZCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ03DqXRvZG8gZGUgcGFnbycgfSxcbiAgICAgIHsgbmFtZTogJ3F1b3RhX3RpbWVzJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQ2FudGlkYWQgZGUgY3VvdGFzJyB9LFxuICAgICAgeyBuYW1lOiAndG90YWxfcHJpY2UnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdQcmVjaW8gdG90YWwgZGUgbGEgbWF0cmljdWxhJyB9LFxuICAgICAgeyBuYW1lOiAncGFpZF9sZXZlbCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ05pdmVsZXMgcGFnb3MnIH0sXG4gICAgXSxcbiAgICAvLyBbXG4gICAgLy8gICB7IG5hbWU6ICdtYXJrZXRpbmdfcmVhc29ucycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ8K/Q8OzbW8gc2UgZW50ZXLDsyBkZWwgcHJvZ3JhbWE/JyB9LFxuICAgIC8vICAgeyBuYW1lOiAnb2JzZXJ2YXRpb24nLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnT2JzZXJ2YWNpw7NuJyB9LFxuICAgIC8vICAgeyBuYW1lOiAnc3R1ZHlfcmVhc29ucycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ01vdGl2bycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ3Rlcm1zJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVMOpcm1pbm9zIHkgY29uZGljaW9uZXMnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdkaXNhYmlsaXR5JywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ0Rpc2NhcGFjaWRhZCcgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fMScsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fMicsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fMycsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fNCcsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fNScsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fNicsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ2hlYWx0aF9yZWdpbWVuJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnUsOpZ2ltZW4gZGUgc2FsdWQnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdjb2RlX3JlZmVycycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1JlZmllcmUnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdjb2RlX2NvZCcsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdDb2RpZ28gQ29kJyB9XG4gICAgLy8gXSxcbiAgXTtcblxuICBwcml2YXRlICRjb250cm9scyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8Q29udHJvbFN0ZXBzW10+PihbXSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4kY29udHJvbHMubmV4dCh0aGlzLmNvbnRyb2xzKTtcbiAgfVxuXG4gIGdldENvbnRyb2xWYWx1ZXMoKTogT2JzZXJ2YWJsZTxBcnJheTxDb250cm9sU3RlcHNbXT4+IHtcbiAgICByZXR1cm4gdGhpcy4kY29udHJvbHMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvLyBDYW1iaWFyIGxvcyB2YWxvcmVzIGRlIGxvcyBjb250cm9scywgZWplbXBsbzogdHJ1ZSB5IGZhbHNlIGRlbCBjaGVja2JveFxuICBjaGFuZ2VWYWx1ZShzdGVwOiBudW1iZXIsIGNvbnRyb2xOYW1lOiBzdHJpbmcsIG5ld1ZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBjb250cm9sczogQXJyYXk8Q29udHJvbFN0ZXBzW10+ID0geyAuLi50aGlzLmNvbnRyb2xzIH07XG4gICAgbGV0IGNvbnRyb2wgPSBjb250cm9sc1tzdGVwLTFdLmZpbHRlcihlbGVtZW50ID0+IGVsZW1lbnQubmFtZSA9PT0gY29udHJvbE5hbWUpO1xuICAgIGNvbnRyb2xbMF0ucmVxdWlyZWQgPSBuZXdWYWx1ZTtcblxuICAgIHRoaXMuJGNvbnRyb2xzLm5leHQoY29udHJvbHMpXG4gIH1cbn1cbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtbWFuYWdlZC1jb250cm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL2xvZ2ljL2NvZC1zZWxmLW1hbmFnZWQtY29udHJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQVVuRCxNQUFNLE9BQU8sc0JBQXNCO0lBOENqQztRQTVDTyxhQUFRLEdBQTBCO1lBQ3ZDO2dCQUNFLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRTtnQkFDL0UsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsMEJBQTBCLEVBQUU7Z0JBQ3RGLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGtDQUFrQyxFQUFFO2dCQUNqRyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRTtnQkFDcEYsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRTtnQkFDekQsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLG9DQUFvQyxFQUFFO2dCQUN4RixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFO2dCQUNwRCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFB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SSxlQUFlLENBQXdCLEVBQUUsQ0FBQyxDQUFDO1FBR2pFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCwwRUFBMEU7SUFDMUUsV0FBVyxDQUFDLElBQVksRUFBRSxXQUFtQixFQUFFLFFBQWE7UUFDMUQsTUFBTSxRQUFRLEdBQTBCLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0QsSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRS9CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQy9CLENBQUM7O21IQTdEVSxzQkFBc0I7dUhBQXRCLHNCQUFzQixjQUZyQixNQUFNOzJGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udHJvbFN0ZXBzIHtcbiAgbmFtZTogc3RyaW5nO1xuICByZXF1aXJlZDogYm9vbGVhbjtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvZFNlbGZNYW5hZ2VkQ29udHJvbHMge1xuXG4gIHB1YmxpYyBjb250cm9sczogQXJyYXk8Q29udHJvbFN0ZXBzW10+ID0gW1xuICAgIFtcbiAgICAgIHsgbmFtZTogJ3N0dWRlbnRfbmFtZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ05vbWJyZXMgZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdzdHVkZW50X2xhc3RfbmFtZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0FwZWxsaWRvcyBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIHsgbmFtZTogJ3N0dWRlbnRfaWRfY2FyZF90eXBlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVGlwbyBkZSBkb2N1bWVudG8gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdzdHVkZW50X2lkX2NhcmQnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdEb2N1bWVudG8gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdnZW5kZXInLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdHw6luZXJvJyB9LFxuICAgICAgeyBuYW1lOiAnYmlydGhkYXRlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRmVjaGEgZGUgbmFjaW1pZW50byBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIHsgbmFtZTogJ2FnZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VkYWQnIH0sXG4gICAgICB7IG5hbWU6ICdjb3VudHJ5JywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnUGHDrXMnIH0sXG4gICAgICB7IG5hbWU6ICdzdGF0ZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0RlcGFydGFtZW50byBvIGVzdGFkbycgfSxcbiAgICAgIHsgbmFtZTogJ2NpdHknLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdDaXVkYWQgZGUgcmVzaWRlbmNpYScgfSxcbiAgICAgIHsgbmFtZTogJ3N0dWRlbnRfZW1haWwnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdDb3JyZW8gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdzdHVkZW50X3Bob25lX2luZGljYXRpdmUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdJbmRpY2F0aXZvIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgeyBuYW1lOiAnc3R1ZGVudF9waG9uZV9udW1iZXInLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdUZWzDqWZvbm8gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdncmFkZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0dyYWRvIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgeyBuYW1lOiAnYWdyZWVtZW50X2J5X2NhdGVnb3J5JywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQ29udmVuaW8nIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICB7IG5hbWU6ICdhY2FkZW1pY19wbGFuJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnUGxhbiBhY2Fkw6ltaWNvJyB9LFxuICAgICAgeyBuYW1lOiAnY291cnNlX3R5cGUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdUaXBvIGRlIGN1cnNvJyB9LFxuICAgICAgeyBuYW1lOiAnZW5nbGlzaF9sZXZlbCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ05pdmVsIGRlIGluZ2zDqXMnIH0sXG4gICAgICB7IG5hbWU6ICdhdmFpbGlibGVfY291cnNlcycsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdDdXJzb3MgZGlzcG9uaWJsZXMnIH0sXG4gICAgICB7IG5hbWU6ICdjb3Vyc2VfbW9kYWxpdHknLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnTW9kYWxpZGFkIGRlbCBjdXJzbycgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIHsgbmFtZTogJ3Byb2dyYW1fcHJpY2UnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdWYWxvciB0b3RhbCBkZWwgcHJvZ3JhbWEnIH0sXG4gICAgICB7IG5hbWU6ICdwYXltZW50X2RhdGUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdGZWNoYSBkZSBwYWdvJyB9LFxuICAgICAgeyBuYW1lOiAncGF5bWVudF9tZXRob2QnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdNw6l0b2RvIGRlIHBhZ28nIH0sXG4gICAgICB7IG5hbWU6ICdxdW90YV90aW1lcycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0NhbnRpZGFkIGRlIGN1b3RhcycgfSxcbiAgICAgIHsgbmFtZTogJ3RvdGFsX3ByaWNlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnUHJlY2lvIHRvdGFsIGRlIGxhIG1hdHJpY3VsYScgfSxcbiAgICAgIHsgbmFtZTogJ3BhaWRfbGV2ZWwnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdOaXZlbGVzIHBhZ29zJyB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgeyBuYW1lOiAnb3B0aW9uc1BheW1lbnRzJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVGlwbyBkZSBwYWdvJyB9LFxuICAgICAgeyBuYW1lOiAnaW52b2ljaW5nX25hbWUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdOb21icmUgZGUgZmFjdHVyYWNpb24nIH0sXG4gICAgICB7IG5hbWU6ICdpbnZvaWNpbmdfQXBlbGxpZG8nLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdBcGVsbGlkbyBkZSBmYWN0dXJhY2lvbicgfSxcbiAgICAgIHsgbmFtZTogJ2ludm9pY2luZ19pZFR5cGUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdUaXBvIGRlIGRvY3VtZW50byBkZSBmYWN0dXJhY2lvbicgfSxcbiAgICAgIHsgbmFtZTogJ2ludm9pY2luZ19kb2N1bWVudCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ2RvY3VtZW50byBkZSBmYWN0dXJhY2lvbicgfSxcbiAgICBdLFxuICBdO1xuXG4gIHByaXZhdGUgJGNvbnRyb2xzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxDb250cm9sU3RlcHNbXT4+KFtdKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiRjb250cm9scy5uZXh0KHRoaXMuY29udHJvbHMpO1xuICB9XG5cbiAgZ2V0Q29udHJvbFZhbHVlcygpOiBPYnNlcnZhYmxlPEFycmF5PENvbnRyb2xTdGVwc1tdPj4ge1xuICAgIHJldHVybiB0aGlzLiRjb250cm9scy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8vIENhbWJpYXIgbG9zIHZhbG9yZXMgZGUgbG9zIGNvbnRyb2xzLCBlamVtcGxvOiB0cnVlIHkgZmFsc2UgZGVsIGNoZWNrYm94XG4gIGNoYW5nZVZhbHVlKHN0ZXA6IG51bWJlciwgY29udHJvbE5hbWU6IHN0cmluZywgbmV3VmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGNvbnRyb2xzOiBBcnJheTxDb250cm9sU3RlcHNbXT4gPSB7IC4uLnRoaXMuY29udHJvbHMgfTtcbiAgICBsZXQgY29udHJvbCA9IGNvbnRyb2xzW3N0ZXAtMV0uZmlsdGVyKGVsZW1lbnQgPT4gZWxlbWVudC5uYW1lID09PSBjb250cm9sTmFtZSk7XG4gICAgY29udHJvbFswXS5yZXF1aXJlZCA9IG5ld1ZhbHVlO1xuXG4gICAgdGhpcy4kY29udHJvbHMubmV4dChjb250cm9scylcbiAgfVxufVxuIl19
@@ -26,4 +26,4 @@ export class CodSelfManagedSteps {
26
26
  });
27
27
  }
28
28
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtbWFuYWdlZC1zdGVwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL2xvZ2ljL2NvZC1zZWxmLW1hbmFnZWQtc3RlcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFPaEYsTUFBTSxPQUFnQixtQkFBbUI7SUFJdkM7UUFGTyxvQkFBZSxHQUFHLElBQUksaUNBQWlDLEVBQUUsQ0FBQztJQUVsRCxDQUFDO0lBRWhCLGNBQWMsQ0FBQyxJQUFZLEVBQUUsT0FBZTtRQUMxQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRTtZQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUMzQjthQUFNO1lBQ0wsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUE7U0FDOUI7SUFDSCxDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBWSxFQUFFLE9BQWUsRUFBRSxLQUFVO1FBQzdELElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQVksRUFBRSxPQUFlLEVBQUUsR0FBb0I7UUFDbkUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxRQUF3QjtRQUN4QyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pCLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0IHsgQ29udHJvbCB9IGZyb20gJy4vLi4vLi4vY29kL2xvZ2ljL2NvZC1mb3JtLWNvbnRyb2xzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgQ29udHJvbFN0ZXBzIH0gZnJvbSBcIi4vY29kLXNlbGYtbWFuYWdlZC1jb250cm9sc1wiO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlQ29kU2VsZk1hZ2FuZWRTZXJ2aWNlIH0gZnJvbSBcIi4vbG9jYWwtc3RvcmFnZS1jb2Quc2VydmljZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIGxvY2FsU3RvcmFnZVZhbHVlc1R3byB7XG4gIGNvbnRyb2w6IHN0cmluZyxcbiAgdmFsdWU6IGFueVxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29kU2VsZk1hbmFnZWRTdGVwcyB7XG5cbiAgcHVibGljIGxvY2FsU3RvcmFnZUNPRCA9IG5ldyBMb2NhbFN0b3JhZ2VDb2RTZWxmTWFnYW5lZFNlcnZpY2UoKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcmVhZEFuZFdyaXRlTFMoc3RlcDogbnVtYmVyLCBjb250cm9sOiBzdHJpbmcpOiBsb2NhbFN0b3JhZ2VWYWx1ZXNUd28ge1xuICAgIGlmICh0aGlzLmxvY2FsU3RvcmFnZUNPRC5nZXRDb2RGb3JtRGF0YShzdGVwLCBjb250cm9sKSkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmxvY2FsU3RvcmFnZUNPRC5nZXRDb2RGb3JtRGF0YShzdGVwLCBjb250cm9sKTtcbiAgICAgIHJldHVybiB7IGNvbnRyb2wsIHZhbHVlIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7IGNvbnRyb2wsIHZhbHVlOiAnJyB9XG4gICAgfVxuICB9XG5cbiAgc2V0RGF0YUluTG9jYWxTdG9yYWdlKHN0ZXA6IG51bWJlciwgY29udHJvbDogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5sb2NhbFN0b3JhZ2VDT0Quc2V0Q29kRm9ybURhdGEoc3RlcCwgY29udHJvbCwgdmFsdWUpO1xuICB9XG5cbiAgbGlzdGVuRm9ybUNoYW5nZXMoc3RlcDogbnVtYmVyLCBjb250cm9sOiBzdHJpbmcsIG9iczogT2JzZXJ2YWJsZTxhbnk+KSB7XG4gICAgb2JzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICB0aGlzLnNldERhdGFJbkxvY2FsU3RvcmFnZShzdGVwLCBjb250cm9sLCB2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICByZXNldExvY2FsU3RvcmFnZShjb250cm9sczogQ29udHJvbFN0ZXBzW10pIHtcbiAgICBjb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oY29udHJvbC5uYW1lKTtcbiAgICB9KTtcbiAgfVxuXG59XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtbWFuYWdlZC1zdGVwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL2xvZ2ljL2NvZC1zZWxmLW1hbmFnZWQtc3RlcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFPaEYsTUFBTSxPQUFnQixtQkFBbUI7SUFJdkM7UUFGTyxvQkFBZSxHQUFHLElBQUksaUNBQWlDLEVBQUUsQ0FBQztJQUVsRCxDQUFDO0lBRWhCLGNBQWMsQ0FBQyxJQUFZLEVBQUUsT0FBZTtRQUMxQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRTtZQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUMzQjthQUFNO1lBQ0wsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUE7U0FDOUI7SUFDSCxDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBWSxFQUFFLE9BQWUsRUFBRSxLQUFVO1FBQzdELElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQVksRUFBRSxPQUFlLEVBQUUsR0FBb0I7UUFDbkUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxRQUF3QjtRQUN4QyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pCLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBDb250cm9sU3RlcHMgfSBmcm9tIFwiLi9jb2Qtc2VsZi1tYW5hZ2VkLWNvbnRyb2xzXCI7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VDb2RTZWxmTWFnYW5lZFNlcnZpY2UgfSBmcm9tIFwiLi9sb2NhbC1zdG9yYWdlLWNvZC5zZXJ2aWNlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgbG9jYWxTdG9yYWdlVmFsdWVzVHdvIHtcbiAgY29udHJvbDogc3RyaW5nLFxuICB2YWx1ZTogYW55XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb2RTZWxmTWFuYWdlZFN0ZXBzIHtcblxuICBwdWJsaWMgbG9jYWxTdG9yYWdlQ09EID0gbmV3IExvY2FsU3RvcmFnZUNvZFNlbGZNYWdhbmVkU2VydmljZSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICByZWFkQW5kV3JpdGVMUyhzdGVwOiBudW1iZXIsIGNvbnRyb2w6IHN0cmluZyk6IGxvY2FsU3RvcmFnZVZhbHVlc1R3byB7XG4gICAgaWYgKHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKHN0ZXAsIGNvbnRyb2wpKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKHN0ZXAsIGNvbnRyb2wpO1xuICAgICAgcmV0dXJuIHsgY29udHJvbCwgdmFsdWUgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHsgY29udHJvbCwgdmFsdWU6ICcnIH1cbiAgICB9XG4gIH1cblxuICBzZXREYXRhSW5Mb2NhbFN0b3JhZ2Uoc3RlcDogbnVtYmVyLCBjb250cm9sOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmxvY2FsU3RvcmFnZUNPRC5zZXRDb2RGb3JtRGF0YShzdGVwLCBjb250cm9sLCB2YWx1ZSk7XG4gIH1cblxuICBsaXN0ZW5Gb3JtQ2hhbmdlcyhzdGVwOiBudW1iZXIsIGNvbnRyb2w6IHN0cmluZywgb2JzOiBPYnNlcnZhYmxlPGFueT4pIHtcbiAgICBvYnMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIHRoaXMuc2V0RGF0YUluTG9jYWxTdG9yYWdlKHN0ZXAsIGNvbnRyb2wsIHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlc2V0TG9jYWxTdG9yYWdlKGNvbnRyb2xzOiBDb250cm9sU3RlcHNbXSkge1xuICAgIGNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShjb250cm9sLm5hbWUpO1xuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,11 +1,248 @@
1
- import { Component } from '@angular/core';
1
+ import { Component, Output, EventEmitter, Input } from '@angular/core';
2
+ import { Validators, FormControl } from '@angular/forms';
3
+ import { CodSelfManagedSteps } from '../../logic/cod-self-managed-steps';
4
+ import { CodSelfManagedControls } from '../../logic/cod-self-managed-controls';
2
5
  import * as i0 from "@angular/core";
3
- export class CodSelfFormStepFourComponent {
6
+ import * as i1 from "@angular/forms";
7
+ import * as i2 from "primeng/api";
8
+ import * as i3 from "../../logic/cod-self-managed-controls";
9
+ import * as i4 from "@angular/common";
10
+ import * as i5 from "../../../components/atoms/button/button.component";
11
+ import * as i6 from "../../../components/atoms/input/input.component";
12
+ import * as i7 from "../../../components/atoms/select/select.component";
13
+ import * as i8 from "primeng/tooltip";
14
+ import * as i9 from "primeng/button";
15
+ import * as i10 from "primeng/toast";
16
+ import * as i11 from "primeng/radiobutton";
17
+ export class CodSelfFormStepFourComponent extends CodSelfManagedSteps {
18
+ constructor(fb, messageService, codFormControls) {
19
+ super();
20
+ this.fb = fb;
21
+ this.messageService = messageService;
22
+ this.codFormControls = codFormControls;
23
+ this.completed = new EventEmitter();
24
+ this.action = new EventEmitter();
25
+ this.controls = new CodSelfManagedControls().controls[3];
26
+ this.messageInfo = "Datos de facturacion de acuerdo a tu eleccion";
27
+ this.visible = false;
28
+ this.messageAlertPlacementTest = false;
29
+ this.disableweekdays = [];
30
+ this.isSelectionOptionPayments = true;
31
+ this.isEditBillingData = true;
32
+ this.OptionPayments = [
33
+ { code: 1, key: 'in', name: 'Instalaciones' },
34
+ // { code: 2, key: 'tr', name: 'Transferencia' },
35
+ { code: 3, key: 'ps', name: 'Pasarela pagos' },
36
+ ];
37
+ this.studentIdCardType = new FormControl();
38
+ this.initForm();
39
+ }
40
+ ngOnInit() {
41
+ this.startLocalStorageWork();
42
+ this.subscribeToStudentIdCardTypeChanges();
43
+ this.getDataUser();
44
+ }
45
+ initForm() {
46
+ this.codSelfFormStepFour = this.fb.group({
47
+ optionsPayments: ['', [Validators.required]],
48
+ invoicing_name: ['', [Validators.required]],
49
+ invoicing_Apellido: ['', [Validators.required]],
50
+ invoicing_idType: ['', [Validators.required]],
51
+ invoicing_document: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(20), Validators.pattern(/^[0-9]*$/)]],
52
+ });
53
+ }
54
+ subscribeToStudentIdCardTypeChanges() {
55
+ this.studentIdCardType.valueChanges.subscribe(value => {
56
+ this.updateBillingDataFields(value);
57
+ });
58
+ }
59
+ getDataUser() {
60
+ const typeIdCard = this.localStorageCOD.getCodFormData(1, 'student_id_card_type');
61
+ this.studentIdCardType.setValue(typeIdCard);
62
+ }
63
+ updateBillingDataFields(typeIdCard) {
64
+ if (typeIdCard != null && typeIdCard != "2") {
65
+ const nameStudent = this.localStorageCOD.getCodFormData(1, 'student_name');
66
+ const lastNameStudent = this.localStorageCOD.getCodFormData(1, 'student_last_name');
67
+ const typeIdCardStudent = this.localStorageCOD.getCodFormData(1, 'student_id_card_type');
68
+ const idCardStudent = this.localStorageCOD.getCodFormData(1, 'student_id_card');
69
+ this.codSelfFormStepFour.controls['invoicing_name'].setValue(nameStudent);
70
+ this.codSelfFormStepFour.controls['invoicing_Apellido'].setValue(lastNameStudent);
71
+ this.codSelfFormStepFour.controls['invoicing_idType'].setValue(typeIdCardStudent);
72
+ this.codSelfFormStepFour.controls['invoicing_document'].setValue(idCardStudent);
73
+ }
74
+ else {
75
+ // Limpia los campos si el tipo de documento es "2"
76
+ this.codSelfFormStepFour.controls['invoicing_name'].setValue('');
77
+ this.codSelfFormStepFour.controls['invoicing_Apellido'].setValue('');
78
+ this.codSelfFormStepFour.controls['invoicing_idType'].setValue('');
79
+ this.codSelfFormStepFour.controls['invoicing_document'].setValue('');
80
+ }
81
+ }
82
+ back() {
83
+ if (!this.isSelectionOptionPayments && !this.isEditBillingData) {
84
+ this.isEditBillingData = true;
85
+ }
86
+ else if (!this.isSelectionOptionPayments && this.isEditBillingData) {
87
+ this.isSelectionOptionPayments = true;
88
+ }
89
+ else {
90
+ this.completed.emit(2);
91
+ }
92
+ }
93
+ next() {
94
+ if (this.isSelectionOptionPayments) {
95
+ this.isSelectionOptionPayments = false;
96
+ }
97
+ else if (!this.isEditBillingData) {
98
+ this.isEditBillingData = true;
99
+ }
100
+ else {
101
+ this.sendForm();
102
+ }
103
+ }
104
+ startLocalStorageWork() {
105
+ this.controls.forEach(control => {
106
+ let localStorageValue = this.readAndWriteLS(4, control.name);
107
+ this.codSelfFormStepFour.controls[control.name].setValue(localStorageValue.value);
108
+ this.listenFormChanges(4, control.name, this.codSelfFormStepFour.controls[control.name].valueChanges);
109
+ });
110
+ }
111
+ editBillingData() {
112
+ this.isEditBillingData = false;
113
+ }
114
+ updateDatosBillingData() {
115
+ this.isEditBillingData = true;
116
+ }
117
+ sendForm() {
118
+ this.codSelfFormStepFour.markAllAsTouched();
119
+ this.action.emit('create');
120
+ }
121
+ onReject() {
122
+ this.messageService.clear('confirm');
123
+ this.visible = false;
124
+ }
125
+ showConfirm() {
126
+ if (!this.visible) {
127
+ this.messageService.add({ key: 'confirm', sticky: true, severity: 'success', summary: 'Can you send me the report?', life: 5000 });
128
+ this.visible = true;
129
+ }
130
+ }
131
+ selectOpcionsPayments(eve) {
132
+ this.selectedOptionPayments = eve;
133
+ this.isSelectionOptionPayments = false;
134
+ if (this.selectedOptionPayments !== null) {
135
+ this.codSelfFormStepFour.controls['optionsPayments'].setValue(this.selectedOptionPayments.code);
136
+ if (this.selectedOptionPayments.code === 1) { // Instalaciones
137
+ this.addValidators();
138
+ }
139
+ else if (this.selectedOptionPayments.code === 3) { // Pasarela Pago
140
+ this.removeValidators();
141
+ }
142
+ // Aplicar el validador personalizado basado en la opción seleccionada
143
+ this.codSelfFormStepFour.setValidators(paymentOptionValidator(this.selectedOptionPayments));
144
+ this.codSelfFormStepFour.updateValueAndValidity();
145
+ this.updateGlobalControls(this.selectedOptionPayments.code);
146
+ }
147
+ else {
148
+ this.codSelfFormStepFour.controls['optionsPayments'].setValue(null);
149
+ }
150
+ }
151
+ addValidators() {
152
+ this.codSelfFormStepFour.controls['invoicing_name'].setValidators([Validators.required]);
153
+ this.codSelfFormStepFour.controls['invoicing_Apellido'].setValidators([Validators.required]);
154
+ this.codSelfFormStepFour.controls['invoicing_idType'].setValidators([Validators.required]);
155
+ this.codSelfFormStepFour.controls['invoicing_document'].setValidators([Validators.required, Validators.minLength(5), Validators.maxLength(20), Validators.pattern(/^[0-9]*$/)]);
156
+ this.codSelfFormStepFour.controls['invoicing_name'].updateValueAndValidity();
157
+ this.codSelfFormStepFour.controls['invoicing_Apellido'].updateValueAndValidity();
158
+ this.codSelfFormStepFour.controls['invoicing_idType'].updateValueAndValidity();
159
+ this.codSelfFormStepFour.controls['invoicing_document'].updateValueAndValidity();
160
+ }
161
+ removeValidators() {
162
+ this.codSelfFormStepFour.controls['invoicing_name'].clearValidators();
163
+ this.codSelfFormStepFour.controls['invoicing_Apellido'].clearValidators();
164
+ this.codSelfFormStepFour.controls['invoicing_idType'].clearValidators();
165
+ this.codSelfFormStepFour.controls['invoicing_document'].clearValidators();
166
+ this.codSelfFormStepFour.controls['invoicing_name'].updateValueAndValidity();
167
+ this.codSelfFormStepFour.controls['invoicing_Apellido'].updateValueAndValidity();
168
+ this.codSelfFormStepFour.controls['invoicing_idType'].updateValueAndValidity();
169
+ this.codSelfFormStepFour.controls['invoicing_document'].updateValueAndValidity();
170
+ }
171
+ selectIdType(idType) {
172
+ if (idType !== 'Tipo de documento') {
173
+ this.codSelfFormStepFour.controls['invoicing_idType'].setValue(idType);
174
+ }
175
+ else {
176
+ this.codSelfFormStepFour.controls['invoicing_idType'].setValue(null);
177
+ }
178
+ }
179
+ getViewBasedOnPaymentOption() {
180
+ if (this.selectedOptionPayments?.code === 1) {
181
+ return 'in';
182
+ }
183
+ else if (this.selectedOptionPayments?.code === 3) {
184
+ return 'ps';
185
+ }
186
+ return 'default';
187
+ }
188
+ getIdTypeDescription(idType) {
189
+ switch (idType) {
190
+ case '0':
191
+ return 'N/A';
192
+ case '1':
193
+ return 'C.C';
194
+ case '2':
195
+ return 'T.I';
196
+ case '3':
197
+ return 'C.E';
198
+ case '4':
199
+ return 'P.E.P';
200
+ case '5':
201
+ return 'R.U.M';
202
+ case '6':
203
+ return 'P.P.T';
204
+ case '7':
205
+ return 'P.A';
206
+ case '8':
207
+ return 'R.C';
208
+ case '9':
209
+ return 'C.D';
210
+ default:
211
+ return '';
212
+ }
213
+ }
214
+ updateGlobalControls(change) {
215
+ let controls = this.controls.filter(control => control.name !== 'optionsPayments');
216
+ controls.forEach(control => {
217
+ if (change === 1)
218
+ this.codFormControls.changeValue(4, control.name, true);
219
+ if (change === 3)
220
+ this.codFormControls.changeValue(4, control.name, false);
221
+ });
222
+ }
4
223
  }
5
- CodSelfFormStepFourComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepFourComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- CodSelfFormStepFourComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepFourComponent, selector: "app-cod-self-form-step-four", ngImport: i0, template: "<span>step 4</span>\n", styles: [""] });
224
+ CodSelfFormStepFourComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepFourComponent, deps: [{ token: i1.FormBuilder }, { token: i2.MessageService }, { token: i3.CodSelfManagedControls }], target: i0.ɵɵFactoryTarget.Component });
225
+ CodSelfFormStepFourComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepFourComponent, selector: "app-cod-self-form-step-four", inputs: { idTypes: "idTypes" }, outputs: { completed: "completed", action: "action" }, usesInheritance: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <div class=\"title_step\">\n <h2>Datos de Facturaci\u00F3n</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n </div>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto \" (click)=\"showConfirm()\" pTooltip=\"M\u00E1s info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"animate__animated animate__slideInRight ng-star-inserted\">\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepFour\" class=\"grid mt-2 flex flex-column align-items-center\">\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n <div class=\"container__type__payments\" *ngIf=\"isSelectionOptionPayments\">\n <div class=\"flex flex-column gap-3\">\n <h3>\u00BFC\u00F3mo quieres pagar?</h3>\n <div *ngFor=\"let category of OptionPayments; index as ind\" class=\"field-checkbox\">\n <p-radioButton\n [inputId]=\"category.key\"\n name=\"category\"\n [value]=\"category\"\n [(ngModel)]=\"selectedOptionPayments\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"selectOpcionsPayments($event)\"\n ></p-radioButton>\n <label [for]=\"category.key\" class=\"ml-2\">\n {{ category.name }}\n </label>\n </div>\n </div>\n </div>\n\n <div class=\"container__option__instalations\" *ngIf=\"!isSelectionOptionPayments\">\n <!-- Vista para la opci\u00F3n de pago \"Instalaciones\" -->\n <div *ngIf=\"getViewBasedOnPaymentOption() === 'in'\">\n <div class=\"container__info flex flex-column align-items-center justify-content-center mt-1 mb-4\" *ngIf=\"isEditBillingData\">\n <img src=\"./assets/logos/lobo-web.png\" alt=\"Receipt Icon\" shape=\"circle\" class=\"circular-image\" />\n <strong>{{ codSelfFormStepFour.get('invoicing_name')?.value }} {{ codSelfFormStepFour.get('invoicing_Apellido')?.value }}</strong>\n <span>{{ getIdTypeDescription(codSelfFormStepFour.get('invoicing_idType')?.value) }} {{ codSelfFormStepFour.get('invoicing_document')?.value }}</span>\n <div class=\"container-button\">\n <ipt-button [label]=\"'Modificar Datos'\" (onClick)=\"editBillingData()\" [primary]=\"false\"></ipt-button>\n </div>\n </div>\n <div class=\"m-2\" *ngIf=\"!isEditBillingData\">\n <h3>Completa los nuevos datos para la emisi\u00F3n de tu factura</h3>\n <div class=\"flex gap-1 md:gap-4 xl:gap-8 m-1 p-2 border-round bg-blue-500 text-white\">\n <div class=\"container_icon flex mr-4 justify-content-center align-items-start mt-1\">\n <i class=\"pi pi-info-circle cursor-pointer w-auto mb-4\" pTooltip=\"M\u00E1s info.\" tooltipPosition=\"bottom\"></i>\n </div>\n <div class=\"flex flex-column container_info_span flex align-items-center justify-content-center\">\n <span>Si proporcionas datos de un tercero, confirmas que los datos son correctos y que tienes su consentimiento para el uso de la informaci\u00F3n. Estos datos se tratar\u00E1n de acuerdo a nuestra <a href=\"\">Declaraci\u00F3n de Privacidad</a></span>\n </div>\n </div>\n <div>\n <ipt-input [inputType]=\"'text'\" [placeHolder]=\"'Nombres'\" [control]=\"codSelfFormStepFour.controls['invoicing_name']\"></ipt-input>\n <ipt-input [inputType]=\"'text'\" [placeHolder]=\"'Apellidos'\" [control]=\"codSelfFormStepFour.controls['invoicing_Apellido']\"></ipt-input>\n <ipt-select\n [initialValue]=\"codSelfFormStepFour.controls['invoicing_idType'].value\"\n [control]=\"codSelfFormStepFour.controls['invoicing_idType']\"\n [selectCode]=\"codSelfFormStepFour.controls['invoicing_idType'].value === null ? 'Tipo de documento' : codSelfFormStepFour.controls['invoicing_idType'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input [inputType]=\"'number'\" [placeHolder]=\"'N\u00FAmero de documento'\" [control]=\"codSelfFormStepFour.controls['invoicing_document']\"></ipt-input>\n </div>\n <div class=\"flex justify-content-end mt-3 align-items-center gap-3\">\n <button pButton [disabled]=\"!codSelfFormStepFour.valid\" label=\"Continuar\" type=\"button\" (click)=\"updateDatosBillingData()\"></button>\n </div>\n </div>\n </div>\n\n <!-- Vista para la opci\u00F3n de pago \"Pasarela pagos\" -->\n <div *ngIf=\"getViewBasedOnPaymentOption() === 'ps'\">\n <!-- TODO:<h3>Completa los datos para Pasarela pagos</h3> -->\n <!-- Aqu\u00ED puedes agregar el formulario espec\u00EDfico para Pasarela pagos -->\n </div>\n </div>\n </div>\n </form>\n\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <button pButton icon=\"pi pi-arrow-left\" type=\"button\" (click)=\"back()\"></button>\n <button *ngIf=\"!isSelectionOptionPayments && isEditBillingData && codSelfFormStepFour.valid\" pButton label=\"\u00A1Matricularme!\" type=\"button\" (click)=\"sendForm()\"></button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".container-form{margin:5px;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:.5rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}.circular-image{width:50px;height:50px;border-radius:50%;object-fit:cover;border:none}.container-button{width:10rem;margin-top:3%}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }, { kind: "component", type: i6.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: i7.SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i9.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i10.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i11.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }] });
7
226
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepFourComponent, decorators: [{
8
227
  type: Component,
9
- args: [{ selector: 'app-cod-self-form-step-four', template: "<span>step 4</span>\n" }]
10
- }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtZm9ybS1zdGVwLWZvdXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvZC1zZWxmLW1hbmFnZWQvc3RlcHMvY29kLWZvcm0tc3RlcC1mb3VyL2NvZC1zZWxmLWZvcm0tc3RlcC1mb3VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtZm91ci9jb2Qtc2VsZi1mb3JtLXN0ZXAtZm91ci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVUxQyxNQUFNLE9BQU8sNEJBQTRCOzt5SEFBNUIsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsbUVDVnpDLHVCQUNBOzJGRFNhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvZC1zZWxmLWZvcm0tc3RlcC1mb3VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvZC1zZWxmLWZvcm0tc3RlcC1mb3VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29kLXNlbGYtZm9ybS1zdGVwLWZvdXIuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RTZWxmRm9ybVN0ZXBGb3VyQ29tcG9uZW50IHtcblxufVxuIiwiPHNwYW4+c3RlcCA0PC9zcGFuPlxuIl19
228
+ args: [{ selector: 'app-cod-self-form-step-four', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <div class=\"title_step\">\n <h2>Datos de Facturaci\u00F3n</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n </div>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto \" (click)=\"showConfirm()\" pTooltip=\"M\u00E1s info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"animate__animated animate__slideInRight ng-star-inserted\">\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepFour\" class=\"grid mt-2 flex flex-column align-items-center\">\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n <div class=\"container__type__payments\" *ngIf=\"isSelectionOptionPayments\">\n <div class=\"flex flex-column gap-3\">\n <h3>\u00BFC\u00F3mo quieres pagar?</h3>\n <div *ngFor=\"let category of OptionPayments; index as ind\" class=\"field-checkbox\">\n <p-radioButton\n [inputId]=\"category.key\"\n name=\"category\"\n [value]=\"category\"\n [(ngModel)]=\"selectedOptionPayments\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"selectOpcionsPayments($event)\"\n ></p-radioButton>\n <label [for]=\"category.key\" class=\"ml-2\">\n {{ category.name }}\n </label>\n </div>\n </div>\n </div>\n\n <div class=\"container__option__instalations\" *ngIf=\"!isSelectionOptionPayments\">\n <!-- Vista para la opci\u00F3n de pago \"Instalaciones\" -->\n <div *ngIf=\"getViewBasedOnPaymentOption() === 'in'\">\n <div class=\"container__info flex flex-column align-items-center justify-content-center mt-1 mb-4\" *ngIf=\"isEditBillingData\">\n <img src=\"./assets/logos/lobo-web.png\" alt=\"Receipt Icon\" shape=\"circle\" class=\"circular-image\" />\n <strong>{{ codSelfFormStepFour.get('invoicing_name')?.value }} {{ codSelfFormStepFour.get('invoicing_Apellido')?.value }}</strong>\n <span>{{ getIdTypeDescription(codSelfFormStepFour.get('invoicing_idType')?.value) }} {{ codSelfFormStepFour.get('invoicing_document')?.value }}</span>\n <div class=\"container-button\">\n <ipt-button [label]=\"'Modificar Datos'\" (onClick)=\"editBillingData()\" [primary]=\"false\"></ipt-button>\n </div>\n </div>\n <div class=\"m-2\" *ngIf=\"!isEditBillingData\">\n <h3>Completa los nuevos datos para la emisi\u00F3n de tu factura</h3>\n <div class=\"flex gap-1 md:gap-4 xl:gap-8 m-1 p-2 border-round bg-blue-500 text-white\">\n <div class=\"container_icon flex mr-4 justify-content-center align-items-start mt-1\">\n <i class=\"pi pi-info-circle cursor-pointer w-auto mb-4\" pTooltip=\"M\u00E1s info.\" tooltipPosition=\"bottom\"></i>\n </div>\n <div class=\"flex flex-column container_info_span flex align-items-center justify-content-center\">\n <span>Si proporcionas datos de un tercero, confirmas que los datos son correctos y que tienes su consentimiento para el uso de la informaci\u00F3n. Estos datos se tratar\u00E1n de acuerdo a nuestra <a href=\"\">Declaraci\u00F3n de Privacidad</a></span>\n </div>\n </div>\n <div>\n <ipt-input [inputType]=\"'text'\" [placeHolder]=\"'Nombres'\" [control]=\"codSelfFormStepFour.controls['invoicing_name']\"></ipt-input>\n <ipt-input [inputType]=\"'text'\" [placeHolder]=\"'Apellidos'\" [control]=\"codSelfFormStepFour.controls['invoicing_Apellido']\"></ipt-input>\n <ipt-select\n [initialValue]=\"codSelfFormStepFour.controls['invoicing_idType'].value\"\n [control]=\"codSelfFormStepFour.controls['invoicing_idType']\"\n [selectCode]=\"codSelfFormStepFour.controls['invoicing_idType'].value === null ? 'Tipo de documento' : codSelfFormStepFour.controls['invoicing_idType'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input [inputType]=\"'number'\" [placeHolder]=\"'N\u00FAmero de documento'\" [control]=\"codSelfFormStepFour.controls['invoicing_document']\"></ipt-input>\n </div>\n <div class=\"flex justify-content-end mt-3 align-items-center gap-3\">\n <button pButton [disabled]=\"!codSelfFormStepFour.valid\" label=\"Continuar\" type=\"button\" (click)=\"updateDatosBillingData()\"></button>\n </div>\n </div>\n </div>\n\n <!-- Vista para la opci\u00F3n de pago \"Pasarela pagos\" -->\n <div *ngIf=\"getViewBasedOnPaymentOption() === 'ps'\">\n <!-- TODO:<h3>Completa los datos para Pasarela pagos</h3> -->\n <!-- Aqu\u00ED puedes agregar el formulario espec\u00EDfico para Pasarela pagos -->\n </div>\n </div>\n </div>\n </form>\n\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <button pButton icon=\"pi pi-arrow-left\" type=\"button\" (click)=\"back()\"></button>\n <button *ngIf=\"!isSelectionOptionPayments && isEditBillingData && codSelfFormStepFour.valid\" pButton label=\"\u00A1Matricularme!\" type=\"button\" (click)=\"sendForm()\"></button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".container-form{margin:5px;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:.5rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}.circular-image{width:50px;height:50px;border-radius:50%;object-fit:cover;border:none}.container-button{width:10rem;margin-top:3%}\n"] }]
229
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.MessageService }, { type: i3.CodSelfManagedControls }]; }, propDecorators: { idTypes: [{
230
+ type: Input
231
+ }], completed: [{
232
+ type: Output
233
+ }], action: [{
234
+ type: Output
235
+ }] } });
236
+ // Definición de la función de validador personalizada
237
+ function paymentOptionValidator(selectedOptionPayments) {
238
+ return (control) => {
239
+ if (selectedOptionPayments?.code === 1) { // Instalaciones
240
+ if (!control.get('invoicing_name')?.value || !control.get('invoicing_Apellido')?.value ||
241
+ !control.get('invoicing_idType')?.value || !control.get('invoicing_document')?.value) {
242
+ return { 'requiredFieldsMissing': true };
243
+ }
244
+ }
245
+ return null;
246
+ };
247
+ }
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtZm9ybS1zdGVwLWZvdXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvZC1zZWxmLW1hbmFnZWQvc3RlcHMvY29kLWZvcm0tc3RlcC1mb3VyL2NvZC1zZWxmLWZvcm0tc3RlcC1mb3VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtZm91ci9jb2Qtc2VsZi1mb3JtLXN0ZXAtZm91ci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBMEIsVUFBVSxFQUFFLFdBQVcsRUFBZ0MsTUFBTSxnQkFBZ0IsQ0FBQztBQUcvRyxPQUFPLEVBQUUsbUJBQW1CLEVBQXlCLE1BQU0sb0NBQW9DLENBQUM7QUFDaEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFPL0UsTUFBTSxPQUFPLDRCQUE2QixTQUFRLG1CQUFtQjtJQXVCbkUsWUFDVSxFQUFlLEVBQ2YsY0FBOEIsRUFDOUIsZUFBdUM7UUFFL0MsS0FBSyxFQUFFLENBQUM7UUFKQSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQXZCdkMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFOUMsYUFBUSxHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7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QyxXQUFXLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDekUsSUFBSSxNQUFNLEtBQUssQ0FBQztnQkFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUM1RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3lIQWxPVSw0QkFBNEI7NkdBQTVCLDRCQUE0QixpTENaekMsaXpNQWtHQTsyRkR0RmEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDZCQUE2QjtvS0FNOUIsT0FBTztzQkFBZixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNOztBQWtPVCxzREFBc0Q7QUFDdEQsU0FBUyxzQkFBc0IsQ0FBQyxzQkFBbUM7SUFDakUsT0FBTyxDQUFDLE9BQXdCLEVBQWlDLEVBQUU7UUFDakUsSUFBSSxzQkFBc0IsRUFBRSxJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQUUsZ0JBQWdCO1lBQ3hELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLEtBQUs7Z0JBQ2xGLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRSxLQUFLLEVBQUU7Z0JBQ3hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUMxQztTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wsIEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IEl3ZWVrRGF5c1JxIH0gZnJvbSAnLi8uLi8uLi8uLi9jb3JlL21vZGVscy9hY2FkZW1pYy9hY2FkZW1pYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29kU2VsZk1hbmFnZWRTdGVwcywgbG9jYWxTdG9yYWdlVmFsdWVzVHdvIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLXNlbGYtbWFuYWdlZC1zdGVwcyc7XG5pbXBvcnQgeyBDb2RTZWxmTWFuYWdlZENvbnRyb2xzIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLXNlbGYtbWFuYWdlZC1jb250cm9scyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb2Qtc2VsZi1mb3JtLXN0ZXAtZm91cicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2Qtc2VsZi1mb3JtLXN0ZXAtZm91ci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZC1zZWxmLWZvcm0tc3RlcC1mb3VyLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29kU2VsZkZvcm1TdGVwRm91ckNvbXBvbmVudCBleHRlbmRzIENvZFNlbGZNYW5hZ2VkU3RlcHMgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGlkVHlwZXM6IGFueTtcbiAgQE91dHB1dCgpIGNvbXBsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgYWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29udHJvbHMgPSBuZXcgQ29kU2VsZk1hbmFnZWRDb250cm9scygpLmNvbnRyb2xzWzNdO1xuICBtZXNzYWdlSW5mbzogc3RyaW5nID0gXCJEYXRvcyBkZSBmYWN0dXJhY2lvbiBkZSBhY3VlcmRvIGEgdHUgZWxlY2Npb25cIjtcbiAgdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBjb2RTZWxmRm9ybVN0ZXBGb3VyITogRm9ybUdyb3VwO1xuICBzZWxlY3RlZE9wdGlvblBheW1lbnRzPzogSXdlZWtEYXlzUnE7XG4gIG1lc3NhZ2VBbGVydFBsYWNlbWVudFRlc3QgPSBmYWxzZTtcbiAgZGlzYWJsZXdlZWtkYXlzOiBib29sZWFuW10gPSBbXTtcbiAgaXNTZWxlY3Rpb25PcHRpb25QYXltZW50cyA9IHRydWU7XG4gIGlzRWRpdEJpbGxpbmdEYXRhID0gdHJ1ZTtcbiAgT3B0aW9uUGF5bWVudHM6IGFueVtdID0gW1xuICAgIHsgY29kZTogMSwga2V5OiAnaW4nLCBuYW1lOiAnSW5zdGFsYWNpb25lcycgfSxcbiAgICAvLyB7IGNvZGU6IDIsIGtleTogJ3RyJywgbmFtZTogJ1RyYW5zZmVyZW5jaWEnIH0sXG4gICAgeyBjb2RlOiAzLCBrZXk6ICdwcycsIG5hbWU6ICdQYXNhcmVsYSBwYWdvcycgfSxcbiAgXTtcblxuICBzdHVkZW50SWRDYXJkVHlwZSA9IG5ldyBGb3JtQ29udHJvbCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29kRm9ybUNvbnRyb2xzOiBDb2RTZWxmTWFuYWdlZENvbnRyb2xzLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCk7XG4gICAgdGhpcy5zdWJzY3JpYmVUb1N0dWRlbnRJZENhcmRUeXBlQ2hhbmdlcygpO1xuICAgIHRoaXMuZ2V0RGF0YVVzZXIoKTtcbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ciA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgb3B0aW9uc1BheW1lbnRzOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBpbnZvaWNpbmdfbmFtZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgaW52b2ljaW5nX0FwZWxsaWRvOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBpbnZvaWNpbmdfaWRUeXBlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBpbnZvaWNpbmdfZG9jdW1lbnQ6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyMCksIFZhbGlkYXRvcnMucGF0dGVybigvXlswLTldKiQvKV1dLFxuICAgIH0pO1xuICB9XG5cbiAgc3Vic2NyaWJlVG9TdHVkZW50SWRDYXJkVHlwZUNoYW5nZXMoKSB7XG4gICAgdGhpcy5zdHVkZW50SWRDYXJkVHlwZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQmlsbGluZ0RhdGFGaWVsZHModmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0RGF0YVVzZXIoKSB7XG4gICAgY29uc3QgdHlwZUlkQ2FyZCA9IHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKDEsICdzdHVkZW50X2lkX2NhcmRfdHlwZScpO1xuICAgIHRoaXMuc3R1ZGVudElkQ2FyZFR5cGUuc2V0VmFsdWUodHlwZUlkQ2FyZCk7XG4gIH1cblxuICB1cGRhdGVCaWxsaW5nRGF0YUZpZWxkcyh0eXBlSWRDYXJkOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgaWYgKHR5cGVJZENhcmQgIT0gbnVsbCAmJiB0eXBlSWRDYXJkICE9IFwiMlwiKSB7XG4gICAgICBjb25zdCBuYW1lU3R1ZGVudCA9IHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKDEsICdzdHVkZW50X25hbWUnKTtcbiAgICAgIGNvbnN0IGxhc3ROYW1lU3R1ZGVudCA9IHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKDEsICdzdHVkZW50X2xhc3RfbmFtZScpO1xuICAgICAgY29uc3QgdHlwZUlkQ2FyZFN0dWRlbnQgPSB0aGlzLmxvY2FsU3RvcmFnZUNPRC5nZXRDb2RGb3JtRGF0YSgxLCAnc3R1ZGVudF9pZF9jYXJkX3R5cGUnKTtcbiAgICAgIGNvbnN0IGlkQ2FyZFN0dWRlbnQgPSB0aGlzLmxvY2FsU3RvcmFnZUNPRC5nZXRDb2RGb3JtRGF0YSgxLCAnc3R1ZGVudF9pZF9jYXJkJyk7XG5cblxuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydpbnZvaWNpbmdfbmFtZSddLnNldFZhbHVlKG5hbWVTdHVkZW50KTtcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX0FwZWxsaWRvJ10uc2V0VmFsdWUobGFzdE5hbWVTdHVkZW50KTtcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2lkVHlwZSddLnNldFZhbHVlKHR5cGVJZENhcmRTdHVkZW50KTtcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2RvY3VtZW50J10uc2V0VmFsdWUoaWRDYXJkU3R1ZGVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIExpbXBpYSBsb3MgY2FtcG9zIHNpIGVsIHRpcG8gZGUgZG9jdW1lbnRvIGVzIFwiMlwiXG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19uYW1lJ10uc2V0VmFsdWUoJycpO1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydpbnZvaWNpbmdfQXBlbGxpZG8nXS5zZXRWYWx1ZSgnJyk7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19pZFR5cGUnXS5zZXRWYWx1ZSgnJyk7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19kb2N1bWVudCddLnNldFZhbHVlKCcnKTtcbiAgICB9XG4gIH1cblxuICBiYWNrKCkge1xuICAgIGlmICghdGhpcy5pc1NlbGVjdGlvbk9wdGlvblBheW1lbnRzICYmICF0aGlzLmlzRWRpdEJpbGxpbmdEYXRhKSB7XG4gICAgICB0aGlzLmlzRWRpdEJpbGxpbmdEYXRhID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmlzU2VsZWN0aW9uT3B0aW9uUGF5bWVudHMgJiYgdGhpcy5pc0VkaXRCaWxsaW5nRGF0YSkge1xuICAgICAgdGhpcy5pc1NlbGVjdGlvbk9wdGlvblBheW1lbnRzID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb21wbGV0ZWQuZW1pdCgyKTtcbiAgICB9XG4gIH1cblxuICBuZXh0KCkge1xuICAgIGlmICh0aGlzLmlzU2VsZWN0aW9uT3B0aW9uUGF5bWVudHMpIHtcbiAgICAgIHRoaXMuaXNTZWxlY3Rpb25PcHRpb25QYXltZW50cyA9IGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNFZGl0QmlsbGluZ0RhdGEpIHtcbiAgICAgIHRoaXMuaXNFZGl0QmlsbGluZ0RhdGEgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbmRGb3JtKCk7XG4gICAgfVxuICB9XG5cbiAgc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCkge1xuICAgIHRoaXMuY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGxldCBsb2NhbFN0b3JhZ2VWYWx1ZTogbG9jYWxTdG9yYWdlVmFsdWVzVHdvID0gdGhpcy5yZWFkQW5kV3JpdGVMUyg0LCBjb250cm9sLm5hbWUpO1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0uc2V0VmFsdWUobG9jYWxTdG9yYWdlVmFsdWUudmFsdWUpO1xuICAgICAgdGhpcy5saXN0ZW5Gb3JtQ2hhbmdlcyg0LCBjb250cm9sLm5hbWUsIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1tjb250cm9sLm5hbWVdLnZhbHVlQ2hhbmdlcyk7XG4gICAgfSk7XG4gIH1cblxuICBlZGl0QmlsbGluZ0RhdGEoKSB7XG4gICAgdGhpcy5pc0VkaXRCaWxsaW5nRGF0YSA9IGZhbHNlO1xuICB9XG5cbiAgdXBkYXRlRGF0b3NCaWxsaW5nRGF0YSgpIHtcbiAgICB0aGlzLmlzRWRpdEJpbGxpbmdEYXRhID0gdHJ1ZTtcbiAgfVxuXG4gIHNlbmRGb3JtKCkge1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgdGhpcy5hY3Rpb24uZW1pdCgnY3JlYXRlJyk7XG4gIH1cblxuICBvblJlamVjdCgpIHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyKCdjb25maXJtJyk7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gIH1cblxuICBzaG93Q29uZmlybSgpIHtcbiAgICBpZiAoIXRoaXMudmlzaWJsZSkge1xuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBrZXk6ICdjb25maXJtJywgc3RpY2t5OiB0cnVlLCBzZXZlcml0eTogJ3N1Y2Nlc3MnLCBzdW1tYXJ5OiAnQ2FuIHlvdSBzZW5kIG1lIHRoZSByZXBvcnQ/JywgbGlmZTogNTAwMCB9KTtcbiAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0T3BjaW9uc1BheW1lbnRzKGV2ZTogSXdlZWtEYXlzUnEpIHtcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uUGF5bWVudHMgPSBldmU7XG4gICAgdGhpcy5pc1NlbGVjdGlvbk9wdGlvblBheW1lbnRzID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvblBheW1lbnRzICE9PSBudWxsKSB7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ29wdGlvbnNQYXltZW50cyddLnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRPcHRpb25QYXltZW50cy5jb2RlKTtcblxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb25QYXltZW50cy5jb2RlID09PSAxKSB7IC8vIEluc3RhbGFjaW9uZXNcbiAgICAgICAgdGhpcy5hZGRWYWxpZGF0b3JzKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb25QYXltZW50cy5jb2RlID09PSAzKSB7IC8vIFBhc2FyZWxhIFBhZ29cbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0b3JzKCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEFwbGljYXIgZWwgdmFsaWRhZG9yIHBlcnNvbmFsaXphZG8gYmFzYWRvIGVuIGxhIG9wY2nDs24gc2VsZWNjaW9uYWRhXG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuc2V0VmFsaWRhdG9ycyhwYXltZW50T3B0aW9uVmFsaWRhdG9yKHRoaXMuc2VsZWN0ZWRPcHRpb25QYXltZW50cykpO1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgIHRoaXMudXBkYXRlR2xvYmFsQ29udHJvbHModGhpcy5zZWxlY3RlZE9wdGlvblBheW1lbnRzLmNvZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ29wdGlvbnNQYXltZW50cyddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIGFkZFZhbGlkYXRvcnMoKSB7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydpbnZvaWNpbmdfbmFtZSddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19BcGVsbGlkbyddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19pZFR5cGUnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydpbnZvaWNpbmdfZG9jdW1lbnQnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjApLCBWYWxpZGF0b3JzLnBhdHRlcm4oL15bMC05XSokLyldKTtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19uYW1lJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX0FwZWxsaWRvJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2lkVHlwZSddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19kb2N1bWVudCddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHJlbW92ZVZhbGlkYXRvcnMoKSB7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydpbnZvaWNpbmdfbmFtZSddLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX0FwZWxsaWRvJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydpbnZvaWNpbmdfaWRUeXBlJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydpbnZvaWNpbmdfZG9jdW1lbnQnXS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19uYW1lJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX0FwZWxsaWRvJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2lkVHlwZSddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19kb2N1bWVudCddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHNlbGVjdElkVHlwZShpZFR5cGU6IGFueSkge1xuICAgIGlmIChpZFR5cGUgIT09ICdUaXBvIGRlIGRvY3VtZW50bycpIHtcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2lkVHlwZSddLnNldFZhbHVlKGlkVHlwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2lkVHlwZSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIGdldFZpZXdCYXNlZE9uUGF5bWVudE9wdGlvbigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9uUGF5bWVudHM/LmNvZGUgPT09IDEpIHtcbiAgICAgIHJldHVybiAnaW4nO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZE9wdGlvblBheW1lbnRzPy5jb2RlID09PSAzKSB7XG4gICAgICByZXR1cm4gJ3BzJztcbiAgICB9XG4gICAgcmV0dXJuICdkZWZhdWx0JztcbiAgfVxuXG4gIGdldElkVHlwZURlc2NyaXB0aW9uKGlkVHlwZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGlkVHlwZSkge1xuICAgICAgY2FzZSAnMCc6XG4gICAgICAgIHJldHVybiAnTi9BJztcbiAgICAgIGNhc2UgJzEnOlxuICAgICAgICByZXR1cm4gJ0MuQyc7XG4gICAgICBjYXNlICcyJzpcbiAgICAgICAgcmV0dXJuICdULkknO1xuICAgICAgY2FzZSAnMyc6XG4gICAgICAgIHJldHVybiAnQy5FJztcbiAgICAgIGNhc2UgJzQnOlxuICAgICAgICByZXR1cm4gJ1AuRS5QJztcbiAgICAgIGNhc2UgJzUnOlxuICAgICAgICByZXR1cm4gJ1IuVS5NJztcbiAgICAgIGNhc2UgJzYnOlxuICAgICAgICByZXR1cm4gJ1AuUC5UJztcbiAgICAgIGNhc2UgJzcnOlxuICAgICAgICByZXR1cm4gJ1AuQSc7XG4gICAgICBjYXNlICc4JzpcbiAgICAgICAgcmV0dXJuICdSLkMnO1xuICAgICAgY2FzZSAnOSc6XG4gICAgICAgIHJldHVybiAnQy5EJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cbiAgdXBkYXRlR2xvYmFsQ29udHJvbHMoY2hhbmdlOiBudW1iZXIpIHtcbiAgICBsZXQgY29udHJvbHMgPSB0aGlzLmNvbnRyb2xzLmZpbHRlcihjb250cm9sID0+IGNvbnRyb2wubmFtZSAhPT0gJ29wdGlvbnNQYXltZW50cycpO1xuICAgIGNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBpZiAoY2hhbmdlID09PSAxKSB0aGlzLmNvZEZvcm1Db250cm9scy5jaGFuZ2VWYWx1ZSg0LCBjb250cm9sLm5hbWUsIHRydWUpXG4gICAgICBpZiAoY2hhbmdlID09PSAzKSB0aGlzLmNvZEZvcm1Db250cm9scy5jaGFuZ2VWYWx1ZSg0LCBjb250cm9sLm5hbWUsIGZhbHNlKVxuICAgIH0pO1xuICB9XG59XG5cblxuLy8gRGVmaW5pY2nDs24gZGUgbGEgZnVuY2nDs24gZGUgdmFsaWRhZG9yIHBlcnNvbmFsaXphZGFcbmZ1bmN0aW9uIHBheW1lbnRPcHRpb25WYWxpZGF0b3Ioc2VsZWN0ZWRPcHRpb25QYXltZW50czogSXdlZWtEYXlzUnEpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IG51bGwgPT4ge1xuICAgIGlmIChzZWxlY3RlZE9wdGlvblBheW1lbnRzPy5jb2RlID09PSAxKSB7IC8vIEluc3RhbGFjaW9uZXNcbiAgICAgIGlmICghY29udHJvbC5nZXQoJ2ludm9pY2luZ19uYW1lJyk/LnZhbHVlIHx8ICFjb250cm9sLmdldCgnaW52b2ljaW5nX0FwZWxsaWRvJyk/LnZhbHVlIHx8XG4gICAgICAgICAgIWNvbnRyb2wuZ2V0KCdpbnZvaWNpbmdfaWRUeXBlJyk/LnZhbHVlIHx8ICFjb250cm9sLmdldCgnaW52b2ljaW5nX2RvY3VtZW50Jyk/LnZhbHVlKSB7XG4gICAgICAgIHJldHVybiB7ICdyZXF1aXJlZEZpZWxkc01pc3NpbmcnOiB0cnVlIH07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9O1xufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1tYWluXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItZm9ybVwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0aXRsZV9zdGVwXCI+XG4gICAgICA8aDI+RGF0b3MgZGUgRmFjdHVyYWNpw7NuPC9oMj5cbiAgICAgIDxwLXRvYXN0IHBvc2l0aW9uPVwidG9wLWNlbnRlclwiIGtleT1cImNvbmZpcm1cIiAob25DbG9zZSk9XCJvblJlamVjdCgpXCIgW2Jhc2VaSW5kZXhdPVwiMTBcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1tZXNzYWdlIHBUZW1wbGF0ZT1cIm1lc3NhZ2VcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1zdGFydFwiIHN0eWxlPVwiZmxleDogMVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPVwiLi9hc3NldHMvbG9nb3MvcmVhZGluZy5wbmdcIiBzdHlsZT1cIndpZHRoOiA2NXB4O1wiIHNoYXBlPVwiY2lyY2xlXCIgLz5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC05MDBcIj5KYWNvYjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtbGcgbXktMyB0ZXh0LTkwMFwiPnt7IG1lc3NhZ2VJbmZvIH19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L3AtdG9hc3Q+XG4gICAgPC9kaXY+XG5cbiAgICA8aSBjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZSBjdXJzb3ItcG9pbnRlciB3LWF1dG8gXCIgKGNsaWNrKT1cInNob3dDb25maXJtKClcIiBwVG9vbHRpcD1cIk3DoXMgaW5mby5cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIj48L2k+XG4gICAgPGRpdiBjbGFzcz1cImFuaW1hdGVfX2FuaW1hdGVkIGFuaW1hdGVfX3NsaWRlSW5SaWdodCBuZy1zdGFyLWluc2VydGVkXCI+XG4gICAgICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImNvZFNlbGZGb3JtU3RlcEZvdXJcIiBjbGFzcz1cImdyaWQgbXQtMiBmbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyX19ib2R5X19zZWxlY3QgZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtd3JhcFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX3R5cGVfX3BheW1lbnRzXCIgKm5nSWY9XCJpc1NlbGVjdGlvbk9wdGlvblBheW1lbnRzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBnYXAtM1wiPlxuICAgICAgICAgICAgICA8aDM+wr9Dw7NtbyBxdWllcmVzIHBhZ2FyPzwvaDM+XG4gICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNhdGVnb3J5IG9mIE9wdGlvblBheW1lbnRzOyBpbmRleCBhcyBpbmRcIiBjbGFzcz1cImZpZWxkLWNoZWNrYm94XCI+XG4gICAgICAgICAgICAgICAgPHAtcmFkaW9CdXR0b25cbiAgICAgICAgICAgICAgICAgIFtpbnB1dElkXT1cImNhdGVnb3J5LmtleVwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiY2F0ZWdvcnlcIlxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRPcHRpb25QYXltZW50c1wiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZXdlZWtkYXlzW2luZF1cIlxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdE9wY2lvbnNQYXltZW50cygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9wLXJhZGlvQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cImNhdGVnb3J5LmtleVwiIGNsYXNzPVwibWwtMlwiPlxuICAgICAgICAgICAgICAgICAge3sgY2F0ZWdvcnkubmFtZSB9fVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyX19vcHRpb25fX2luc3RhbGF0aW9uc1wiICpuZ0lmPVwiIWlzU2VsZWN0aW9uT3B0aW9uUGF5bWVudHNcIj5cbiAgICAgICAgICAgIDwhLS0gVmlzdGEgcGFyYSBsYSBvcGNpw7NuIGRlIHBhZ28gXCJJbnN0YWxhY2lvbmVzXCIgLS0+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ2V0Vmlld0Jhc2VkT25QYXltZW50T3B0aW9uKCkgPT09ICdpbidcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lcl9faW5mbyBmbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG10LTEgbWItNFwiICpuZ0lmPVwiaXNFZGl0QmlsbGluZ0RhdGFcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL2xvZ29zL2xvYm8td2ViLnBuZ1wiIGFsdD1cIlJlY2VpcHQgSWNvblwiIHNoYXBlPVwiY2lyY2xlXCIgY2xhc3M9XCJjaXJjdWxhci1pbWFnZVwiIC8+XG4gICAgICAgICAgICAgICAgPHN0cm9uZz57eyBjb2RTZWxmRm9ybVN0ZXBGb3VyLmdldCgnaW52b2ljaW5nX25hbWUnKT8udmFsdWUgfX0ge3sgY29kU2VsZkZvcm1TdGVwRm91ci5nZXQoJ2ludm9pY2luZ19BcGVsbGlkbycpPy52YWx1ZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGdldElkVHlwZURlc2NyaXB0aW9uKGNvZFNlbGZGb3JtU3RlcEZvdXIuZ2V0KCdpbnZvaWNpbmdfaWRUeXBlJyk/LnZhbHVlKSB9fSB7eyBjb2RTZWxmRm9ybVN0ZXBGb3VyLmdldCgnaW52b2ljaW5nX2RvY3VtZW50Jyk/LnZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICA8aXB0LWJ1dHRvbiBbbGFiZWxdPVwiJ01vZGlmaWNhciBEYXRvcydcIiAob25DbGljayk9XCJlZGl0QmlsbGluZ0RhdGEoKVwiIFtwcmltYXJ5XT1cImZhbHNlXCI+PC9pcHQtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tMlwiICpuZ0lmPVwiIWlzRWRpdEJpbGxpbmdEYXRhXCI+XG4gICAgICAgICAgICAgICAgPGgzPkNvbXBsZXRhIGxvcyBudWV2b3MgZGF0b3MgcGFyYSBsYSBlbWlzacOzbiBkZSB0dSBmYWN0dXJhPC9oMz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMSBtZDpnYXAtNCB4bDpnYXAtOCBtLTEgcC0yIGJvcmRlci1yb3VuZCBiZy1ibHVlLTUwMCB0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyX2ljb24gZmxleCBtci00IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtc3RhcnQgbXQtMVwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWluZm8tY2lyY2xlIGN1cnNvci1wb2ludGVyIHctYXV0byBtYi00XCIgcFRvb2x0aXA9XCJNw6FzIGluZm8uXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBjb250YWluZXJfaW5mb19zcGFuIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+U2kgcHJvcG9yY2lvbmFzIGRhdG9zIGRlIHVuIHRlcmNlcm8sIGNvbmZpcm1hcyBxdWUgbG9zIGRhdG9zIHNvbiBjb3JyZWN0b3MgeSBxdWUgdGllbmVzIHN1IGNvbnNlbnRpbWllbnRvIHBhcmEgZWwgdXNvIGRlIGxhIGluZm9ybWFjacOzbi4gRXN0b3MgZGF0b3Mgc2UgdHJhdGFyw6FuIGRlIGFjdWVyZG8gYSBudWVzdHJhIDxhIGhyZWY9XCJcIj5EZWNsYXJhY2nDs24gZGUgUHJpdmFjaWRhZDwvYT48L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPGlwdC1pbnB1dCBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiIFtwbGFjZUhvbGRlcl09XCInTm9tYnJlcydcIiBbY29udHJvbF09XCJjb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydpbnZvaWNpbmdfbmFtZSddXCI+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgICAgICAgICA8aXB0LWlucHV0IFtpbnB1dFR5cGVdPVwiJ3RleHQnXCIgW3BsYWNlSG9sZGVyXT1cIidBcGVsbGlkb3MnXCIgW2NvbnRyb2xdPVwiY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX0FwZWxsaWRvJ11cIj48L2lwdC1pbnB1dD5cbiAgICAgICAgICAgICAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2lkVHlwZSddLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRyb2xdPVwiY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2lkVHlwZSddXCJcbiAgICAgICAgICAgICAgICAgICAgW3NlbGVjdENvZGVdPVwiY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2lkVHlwZSddLnZhbHVlID09PSBudWxsID8gJ1RpcG8gZGUgZG9jdW1lbnRvJyA6IGNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19pZFR5cGUnXS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJpZFR5cGVzXCJcbiAgICAgICAgICAgICAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdElkVHlwZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidUaXBvIGRlIGRvY3VtZW50bydcIlxuICAgICAgICAgICAgICAgICAgPjwvaXB0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgIDxpcHQtaW5wdXQgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiIFtwbGFjZUhvbGRlcl09XCInTsO6bWVybyBkZSBkb2N1bWVudG8nXCIgW2NvbnRyb2xdPVwiY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2RvY3VtZW50J11cIj48L2lwdC1pbnB1dD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG10LTMgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIHBCdXR0b24gW2Rpc2FibGVkXT1cIiFjb2RTZWxmRm9ybVN0ZXBGb3VyLnZhbGlkXCIgbGFiZWw9XCJDb250aW51YXJcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInVwZGF0ZURhdG9zQmlsbGluZ0RhdGEoKVwiPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8IS0tIFZpc3RhIHBhcmEgbGEgb3BjacOzbiBkZSBwYWdvIFwiUGFzYXJlbGEgcGFnb3NcIiAtLT5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJnZXRWaWV3QmFzZWRPblBheW1lbnRPcHRpb24oKSA9PT0gJ3BzJ1wiPlxuICAgICAgICAgICAgICA8IS0tIFRPRE86PGgzPkNvbXBsZXRhIGxvcyBkYXRvcyBwYXJhIFBhc2FyZWxhIHBhZ29zPC9oMz4gLS0+XG4gICAgICAgICAgICAgIDwhLS0gQXF1w60gcHVlZGVzIGFncmVnYXIgZWwgZm9ybXVsYXJpbyBlc3BlY8OtZmljbyBwYXJhIFBhc2FyZWxhIHBhZ29zIC0tPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9mb3JtPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtdC0zIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgICA8YnV0dG9uIHBCdXR0b24gaWNvbj1cInBpIHBpLWFycm93LWxlZnRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImJhY2soKVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWlzU2VsZWN0aW9uT3B0aW9uUGF5bWVudHMgJiYgaXNFZGl0QmlsbGluZ0RhdGEgJiYgY29kU2VsZkZvcm1TdGVwRm91ci52YWxpZFwiIHBCdXR0b24gbGFiZWw9XCLCoU1hdHJpY3VsYXJtZSFcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInNlbmRGb3JtKClcIj48L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19