iptdevs-design-system 2.7.41 → 2.7.43

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 (166) hide show
  1. package/README.md +24 -24
  2. package/esm2020/iptdevs-design-system.mjs +4 -4
  3. package/esm2020/lib/cod/cod-documents-section/cod-documents-section.component.mjs +16 -16
  4. package/esm2020/lib/cod/cod-form/cod-form.component.mjs +227 -227
  5. package/esm2020/lib/cod/cod.module.mjs +90 -90
  6. package/esm2020/lib/cod/logic/calculate-quotes.service.mjs +72 -72
  7. package/esm2020/lib/cod/logic/cod-form-controls.mjs +91 -91
  8. package/esm2020/lib/cod/logic/cod-form-steps.mjs +29 -29
  9. package/esm2020/lib/cod/logic/communicator.service.mjs +28 -28
  10. package/esm2020/lib/cod/logic/local-storage-cod.service.mjs +39 -39
  11. package/esm2020/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.mjs +146 -146
  12. package/esm2020/lib/cod/steps/cod-form-step-four/cod-form-step-four.component.mjs +251 -251
  13. package/esm2020/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.mjs +200 -200
  14. package/esm2020/lib/cod/steps/cod-form-step-three/cod-form-step-three.component.mjs +175 -175
  15. package/esm2020/lib/cod/steps/cod-form-step-two/cod-form-step-two.component.mjs +255 -255
  16. package/esm2020/lib/components/atoms/aside-button/aside-button.component.mjs +50 -50
  17. package/esm2020/lib/components/atoms/button/button.component.mjs +64 -64
  18. package/esm2020/lib/components/atoms/checkbox/checkbox.component.mjs +47 -47
  19. package/esm2020/lib/components/atoms/datalist/datalist.component.mjs +94 -94
  20. package/esm2020/lib/components/atoms/input/input.component.mjs +145 -145
  21. package/esm2020/lib/components/atoms/level-button/level-button.component.mjs +64 -64
  22. package/esm2020/lib/components/atoms/level-text/level-text.component.mjs +19 -19
  23. package/esm2020/lib/components/atoms/loader/loader.component.mjs +48 -48
  24. package/esm2020/lib/components/atoms/radio/radio.component.mjs +47 -47
  25. package/esm2020/lib/components/atoms/select/select.component.mjs +102 -102
  26. package/esm2020/lib/components/atoms/text-link/text-link.component.mjs +39 -39
  27. package/esm2020/lib/components/components.module.mjs +123 -123
  28. package/esm2020/lib/components/forms/create-user-form/create-user-form.component.mjs +228 -228
  29. package/esm2020/lib/components/forms/login-form/login-form.component.mjs +93 -93
  30. package/esm2020/lib/components/material.module.mjs +19 -19
  31. package/esm2020/lib/components/molecules/question-type/edit-question-types.component.mjs +346 -320
  32. package/esm2020/lib/components/molecules/sidenav/sidenav.component.mjs +150 -150
  33. package/esm2020/lib/core/core.module.mjs +73 -73
  34. package/esm2020/lib/core/models/academic/academic.component.mjs +2 -2
  35. package/esm2020/lib/core/models/activities/activities.interface.mjs +2 -2
  36. package/esm2020/lib/core/models/attendance/attendance.interface.mjs +2 -2
  37. package/esm2020/lib/core/models/budget/budget.model.mjs +2 -2
  38. package/esm2020/lib/core/models/calendar/calendar-rq.models.mjs +2 -2
  39. package/esm2020/lib/core/models/classroom/classroom-rq.model.mjs +2 -2
  40. package/esm2020/lib/core/models/cod/cod-rq.model.mjs +2 -2
  41. package/esm2020/lib/core/models/commercial/commercial.model.mjs +2 -2
  42. package/esm2020/lib/core/models/course/course-rq.model.mjs +2 -2
  43. package/esm2020/lib/core/models/course/courses.model.mjs +2 -2
  44. package/esm2020/lib/core/models/cronogram/cronogram.models.mjs +2 -2
  45. package/esm2020/lib/core/models/marketing/marketing.model.mjs +2 -2
  46. package/esm2020/lib/core/models/notes/notes.interface.mjs +2 -2
  47. package/esm2020/lib/core/models/payment/payment-rq.model.mjs +2 -2
  48. package/esm2020/lib/core/models/response/response.interface.mjs +2 -2
  49. package/esm2020/lib/core/models/session/session.model.mjs +3 -3
  50. package/esm2020/lib/core/models/student/student.interface.mjs +2 -2
  51. package/esm2020/lib/core/models/table/table-rs.model.mjs +2 -2
  52. package/esm2020/lib/core/models/test/test.model.mjs +2 -2
  53. package/esm2020/lib/core/models/url/url.model.mjs +2 -2
  54. package/esm2020/lib/core/models/user/user-rq.model.mjs +2 -2
  55. package/esm2020/lib/core/models/user/user-rs.model.mjs +5 -5
  56. package/esm2020/lib/core/services/academic-service/academic.service.mjs +55 -55
  57. package/esm2020/lib/core/services/activity-service/activity.service.mjs +87 -87
  58. package/esm2020/lib/core/services/attendance-service/attendance.service.mjs +64 -64
  59. package/esm2020/lib/core/services/budget-service/budget-service.mjs +66 -66
  60. package/esm2020/lib/core/services/calendar-service/calendar.service.mjs +65 -65
  61. package/esm2020/lib/core/services/certificate-service/certificate.service.mjs +26 -26
  62. package/esm2020/lib/core/services/classroom-service/classroom-service.service.mjs +36 -36
  63. package/esm2020/lib/core/services/commercial-service/comercial.service.mjs +49 -49
  64. package/esm2020/lib/core/services/commercial-service/validators.mjs +4 -4
  65. package/esm2020/lib/core/services/copies.service.mjs +17 -17
  66. package/esm2020/lib/core/services/course-service/course-service.model.mjs +70 -70
  67. package/esm2020/lib/core/services/ekt-service/userekt.service.mjs +29 -29
  68. package/esm2020/lib/core/services/marketing-service/marketing-service.mjs +52 -52
  69. package/esm2020/lib/core/services/notes-service/notes.service.mjs +46 -46
  70. package/esm2020/lib/core/services/parameters-service/parameters.service.mjs +173 -173
  71. package/esm2020/lib/core/services/service-enviroments.mjs +26 -26
  72. package/esm2020/lib/core/services/storage-service/storage-service.mjs +50 -50
  73. package/esm2020/lib/core/services/student-service/student.service.mjs +26 -26
  74. package/esm2020/lib/core/services/switch-service/switch.service.mjs +16 -16
  75. package/esm2020/lib/core/services/test-service/test.service.mjs +128 -128
  76. package/esm2020/lib/core/services/user-service/user-service.mjs +100 -100
  77. package/esm2020/lib/core/utils/base-service/base.service.mjs +191 -191
  78. package/esm2020/lib/core/utils/copies.mjs +214 -214
  79. package/esm2020/lib/core/utils/route-service/route.service.mjs +18 -18
  80. package/esm2020/lib/design-system.module.mjs +40 -40
  81. package/esm2020/public-api.mjs +89 -89
  82. package/fesm2015/iptdevs-design-system.mjs +4592 -4566
  83. package/fesm2015/iptdevs-design-system.mjs.map +1 -1
  84. package/fesm2020/iptdevs-design-system.mjs +4589 -4563
  85. package/fesm2020/iptdevs-design-system.mjs.map +1 -1
  86. package/iptdevs-design-system.d.ts +5 -5
  87. package/lib/cod/cod-documents-section/cod-documents-section.component.d.ts +8 -8
  88. package/lib/cod/cod-form/cod-form.component.d.ts +37 -37
  89. package/lib/cod/cod.module.d.ts +21 -21
  90. package/lib/cod/logic/calculate-quotes.service.d.ts +14 -14
  91. package/lib/cod/logic/cod-form-controls.d.ts +16 -16
  92. package/lib/cod/logic/cod-form-steps.d.ts +15 -15
  93. package/lib/cod/logic/communicator.service.d.ts +13 -13
  94. package/lib/cod/logic/local-storage-cod.service.d.ts +8 -8
  95. package/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.d.ts +31 -31
  96. package/lib/cod/steps/cod-form-step-four/cod-form-step-four.component.d.ts +47 -47
  97. package/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.d.ts +46 -46
  98. package/lib/cod/steps/cod-form-step-three/cod-form-step-three.component.d.ts +35 -35
  99. package/lib/cod/steps/cod-form-step-two/cod-form-step-two.component.d.ts +44 -44
  100. package/lib/components/atoms/aside-button/aside-button.component.d.ts +11 -11
  101. package/lib/components/atoms/button/button.component.d.ts +13 -13
  102. package/lib/components/atoms/checkbox/checkbox.component.d.ts +11 -11
  103. package/lib/components/atoms/datalist/datalist.component.d.ts +20 -20
  104. package/lib/components/atoms/input/input.component.d.ts +26 -26
  105. package/lib/components/atoms/level-button/level-button.component.d.ts +11 -11
  106. package/lib/components/atoms/level-text/level-text.component.d.ts +7 -7
  107. package/lib/components/atoms/loader/loader.component.d.ts +7 -7
  108. package/lib/components/atoms/radio/radio.component.d.ts +11 -11
  109. package/lib/components/atoms/select/select.component.d.ts +26 -26
  110. package/lib/components/atoms/text-link/text-link.component.d.ts +12 -12
  111. package/lib/components/components.module.d.ts +25 -25
  112. package/lib/components/forms/create-user-form/create-user-form.component.d.ts +36 -36
  113. package/lib/components/forms/login-form/login-form.component.d.ts +13 -13
  114. package/lib/components/material.module.d.ts +11 -11
  115. package/lib/components/molecules/question-type/edit-question-types.component.d.ts +11 -12
  116. package/lib/components/molecules/sidenav/sidenav.component.d.ts +25 -25
  117. package/lib/core/core.module.d.ts +6 -6
  118. package/lib/core/models/academic/academic.component.d.ts +26 -26
  119. package/lib/core/models/activities/activities.interface.d.ts +12 -12
  120. package/lib/core/models/attendance/attendance.interface.d.ts +62 -62
  121. package/lib/core/models/budget/budget.model.d.ts +69 -69
  122. package/lib/core/models/calendar/calendar-rq.models.d.ts +27 -27
  123. package/lib/core/models/classroom/classroom-rq.model.d.ts +23 -23
  124. package/lib/core/models/cod/cod-rq.model.d.ts +168 -168
  125. package/lib/core/models/commercial/commercial.model.d.ts +10 -10
  126. package/lib/core/models/course/course-rq.model.d.ts +86 -86
  127. package/lib/core/models/course/courses.model.d.ts +18 -18
  128. package/lib/core/models/cronogram/cronogram.models.d.ts +183 -183
  129. package/lib/core/models/marketing/marketing.model.d.ts +104 -104
  130. package/lib/core/models/notes/notes.interface.d.ts +89 -89
  131. package/lib/core/models/payment/payment-rq.model.d.ts +212 -212
  132. package/lib/core/models/response/response.interface.d.ts +10 -10
  133. package/lib/core/models/session/session.model.d.ts +5 -5
  134. package/lib/core/models/student/student.interface.d.ts +4 -4
  135. package/lib/core/models/table/table-rs.model.d.ts +7 -7
  136. package/lib/core/models/test/test.model.d.ts +219 -219
  137. package/lib/core/models/url/url.model.d.ts +8 -8
  138. package/lib/core/models/user/user-rq.model.d.ts +90 -90
  139. package/lib/core/models/user/user-rs.model.d.ts +35 -35
  140. package/lib/core/services/academic-service/academic.service.d.ts +20 -20
  141. package/lib/core/services/activity-service/activity.service.d.ts +25 -25
  142. package/lib/core/services/attendance-service/attendance.service.d.ts +22 -22
  143. package/lib/core/services/budget-service/budget-service.d.ts +23 -23
  144. package/lib/core/services/calendar-service/calendar.service.d.ts +23 -23
  145. package/lib/core/services/certificate-service/certificate.service.d.ts +13 -13
  146. package/lib/core/services/classroom-service/classroom-service.service.d.ts +15 -15
  147. package/lib/core/services/commercial-service/comercial.service.d.ts +19 -19
  148. package/lib/core/services/commercial-service/validators.d.ts +2 -2
  149. package/lib/core/services/copies.service.d.ts +7 -7
  150. package/lib/core/services/course-service/course-service.model.d.ts +23 -23
  151. package/lib/core/services/ekt-service/userekt.service.d.ts +13 -13
  152. package/lib/core/services/marketing-service/marketing-service.d.ts +19 -19
  153. package/lib/core/services/notes-service/notes.service.d.ts +18 -18
  154. package/lib/core/services/parameters-service/parameters.service.d.ts +49 -49
  155. package/lib/core/services/service-enviroments.d.ts +5 -5
  156. package/lib/core/services/storage-service/storage-service.d.ts +18 -18
  157. package/lib/core/services/student-service/student.service.d.ts +13 -13
  158. package/lib/core/services/switch-service/switch.service.d.ts +8 -8
  159. package/lib/core/services/test-service/test.service.d.ts +33 -33
  160. package/lib/core/services/user-service/user-service.d.ts +30 -30
  161. package/lib/core/utils/base-service/base.service.d.ts +23 -23
  162. package/lib/core/utils/copies.d.ts +1 -1
  163. package/lib/core/utils/route-service/route.service.d.ts +9 -9
  164. package/lib/design-system.module.d.ts +10 -10
  165. package/package.json +1 -1
  166. package/public-api.d.ts +76 -76
@@ -1,175 +1,175 @@
1
- import { Component, EventEmitter, Output } from '@angular/core';
2
- import { Validators } from '@angular/forms';
3
- import { CodFormControls } from '../../logic/cod-form-controls';
4
- import { CodFormSteps } from '../../logic/cod-form-steps';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
- import * as i2 from "../../../core/services/parameters-service/parameters.service";
8
- import * as i3 from "../../logic/cod-form-controls";
9
- import * as i4 from "../../../components/atoms/select/select.component";
10
- import * as i5 from "../../../components/atoms/input/input.component";
11
- import * as i6 from "@angular/common";
12
- import * as i7 from "primeng/button";
13
- export class CodFormStepThreeComponent extends CodFormSteps {
14
- constructor(fb, parameterService, codFormControls) {
15
- super();
16
- this.fb = fb;
17
- this.parameterService = parameterService;
18
- this.codFormControls = codFormControls;
19
- this.changeStepEvent = new EventEmitter();
20
- this.globalControls = new CodFormControls();
21
- this.errorMessage = 'Faltan campos por llenar.';
22
- this.needAtendants = [
23
- { code: '1', name: 'Si requiere acudiente' },
24
- { code: '2', name: 'No requiere acudiente' },
25
- ];
26
- // Controls del formulario
27
- this.controls = new CodFormControls().controls[2];
28
- }
29
- ngOnInit() {
30
- this.getParameters();
31
- this.initForm();
32
- this.startLocalStorageWork();
33
- this.validateErrors();
34
- }
35
- validateErrors() {
36
- this.codFormStepThree.valueChanges.subscribe(changes => {
37
- if (this.codFormStepThree.controls['parent_name'].hasError('minlength')) {
38
- this.errorMessage = 'Los nombres deben tener mínimo 3 caracteres';
39
- }
40
- else if (this.codFormStepThree.controls['parent_last_name'].hasError('minlength')) {
41
- this.errorMessage = 'Los apellidos deben tener mínimo 5 caracteres';
42
- }
43
- else {
44
- this.errorMessage = 'Faltan campos por llenar';
45
- }
46
- });
47
- }
48
- startLocalStorageWork() {
49
- this.controls.forEach(control => {
50
- let localStorageValue = this.readAndWriteLS(3, control.name);
51
- this.codFormStepThree.controls[control.name].setValue(localStorageValue.value);
52
- this.listenFormChanges(3, control.name, this.codFormStepThree.controls[control.name].valueChanges);
53
- });
54
- }
55
- getParameters() {
56
- this.parameterService.getCardTypes('col').subscribe((response) => {
57
- this.idTypes = response.data;
58
- });
59
- this.parameterService.getIndicatives().subscribe((response) => {
60
- this.indicatives = response.data;
61
- });
62
- }
63
- initForm() {
64
- this.codFormStepThree = this.fb.group({
65
- parent_id_card_type: ['', [Validators.required]],
66
- parent_id_card: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(20),],],
67
- parent_last_name: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(32),],],
68
- parent_name: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(32)],],
69
- needAtendant: ['', [Validators.required], []],
70
- parent_phone_indicative: ['', [Validators.required], []],
71
- parent_occupation: ['', [Validators.required], []],
72
- parent_address: ['', [Validators.required], []],
73
- parent_phone_number: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(15),],],
74
- });
75
- this.listenNeedAtendantField();
76
- }
77
- listenNeedAtendantField() {
78
- const control = this.codFormStepThree.get('needAtendant');
79
- control?.valueChanges.subscribe((change) => {
80
- if (change === '1') {
81
- // Poner validaciones
82
- this.codFormStepThree.controls['parent_id_card_type'].setValidators([Validators.required]);
83
- this.codFormStepThree.controls['parent_id_card'].setValidators([Validators.required, Validators.minLength(5), Validators.maxLength(20)]);
84
- this.codFormStepThree.controls['parent_last_name'].setValidators([Validators.required, Validators.minLength(5), Validators.maxLength(32)]);
85
- this.codFormStepThree.controls['parent_name'].setValidators([Validators.required, Validators.minLength(3), Validators.maxLength(32)]);
86
- this.codFormStepThree.controls['parent_phone_indicative'].setValidators([Validators.required]);
87
- this.codFormStepThree.controls['parent_occupation'].setValidators([Validators.required]);
88
- this.codFormStepThree.controls['parent_address'].setValidators([Validators.required]);
89
- this.codFormStepThree.controls['parent_phone_number'].setValidators([Validators.required, Validators.minLength(10), Validators.maxLength(15)]);
90
- // Actualizar para que se tomen los cambios
91
- this.updateValueAndValidity();
92
- // Actualizar los controls globales
93
- this.updateGlobalControls(change);
94
- }
95
- if (change === '2') {
96
- // Quitar las validaciones
97
- this.codFormStepThree.controls['parent_id_card_type'].clearValidators();
98
- this.codFormStepThree.controls['parent_id_card'].clearValidators();
99
- this.codFormStepThree.controls['parent_last_name'].clearValidators();
100
- this.codFormStepThree.controls['parent_name'].clearValidators();
101
- this.codFormStepThree.controls['parent_phone_indicative'].clearValidators();
102
- this.codFormStepThree.controls['parent_occupation'].clearValidators();
103
- this.codFormStepThree.controls['parent_address'].clearValidators();
104
- this.codFormStepThree.controls['parent_phone_number'].clearValidators();
105
- // Actualizar para que se tomen los cambios
106
- this.updateValueAndValidity();
107
- // Actualizar los controls globales
108
- this.updateGlobalControls(change);
109
- }
110
- });
111
- }
112
- updateGlobalControls(change) {
113
- let controls = this.controls.filter(control => control.name !== 'needAtendant');
114
- controls.forEach(control => {
115
- if (change === '1')
116
- this.codFormControls.changeValue(3, control.name, true);
117
- if (change === '2')
118
- this.codFormControls.changeValue(3, control.name, false);
119
- });
120
- }
121
- updateValueAndValidity() {
122
- this.codFormStepThree.controls['parent_id_card_type'].updateValueAndValidity();
123
- this.codFormStepThree.controls['parent_id_card'].updateValueAndValidity();
124
- this.codFormStepThree.controls['parent_last_name'].updateValueAndValidity();
125
- this.codFormStepThree.controls['parent_name'].updateValueAndValidity();
126
- this.codFormStepThree.controls['parent_phone_indicative'].updateValueAndValidity();
127
- this.codFormStepThree.controls['parent_occupation'].updateValueAndValidity();
128
- this.codFormStepThree.controls['parent_address'].updateValueAndValidity();
129
- this.codFormStepThree.controls['parent_phone_number'].updateValueAndValidity();
130
- }
131
- needAtendant() {
132
- return this.codFormStepThree.controls['needAtendant'].value == 1;
133
- }
134
- sendForm() {
135
- this.codFormStepThree.markAllAsTouched();
136
- if (this.codFormStepThree.controls['needAtendant'].value === '1' && this.codFormStepThree.invalid)
137
- return;
138
- // Movernos al paso 4
139
- this.changeStepEvent.emit(3);
140
- }
141
- // Eventos de los select
142
- selectNeedAtendant(needAtendant) {
143
- if (needAtendant !== 'Requiere acudiente') {
144
- this.codFormStepThree.controls['needAtendant'].setValue(needAtendant);
145
- }
146
- else {
147
- this.codFormStepThree.controls['needAtendant'].setValue(null);
148
- }
149
- }
150
- selectIdTypeParents(value) {
151
- if (value !== 'Tipo de documento') {
152
- this.codFormStepThree.controls['parent_id_card_type'].setValue(value);
153
- }
154
- else {
155
- this.codFormStepThree.controls['parent_id_card_type'].setValue(null);
156
- }
157
- }
158
- selectIndicativesParents(value) {
159
- if (value !== 'Indicativo') {
160
- this.codFormStepThree.controls['parent_phone_indicative'].setValue(value);
161
- }
162
- else {
163
- this.codFormStepThree.controls['parent_phone_indicative'].setValue(null);
164
- }
165
- }
166
- }
167
- CodFormStepThreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CodFormStepThreeComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ParameterService }, { token: i3.CodFormControls }], target: i0.ɵɵFactoryTarget.Component });
168
- CodFormStepThreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CodFormStepThreeComponent, selector: "app-cod-form-step-three", outputs: { changeStepEvent: "changeStepEvent" }, usesInheritance: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepThree\"class=\"grid\">\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['needAtendant'].value\"\n [control]=\"codFormStepThree.controls['needAtendant']\"\n (eventSelect)=\"selectNeedAtendant($event)\"\n [data]=\"needAtendants\"\n [defaultText]=\"'Requiere acudiente'\"\n ></ipt-select>\n </div>\n\n <div *ngIf=\"needAtendant()\" class=\"grid col-12\">\n <div class=\"col-12 md:col-6\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepThree.controls['parent_name']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['parent_id_card_type'].value\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdTypeParents($event)\"\n [defaultText]=\"'Tipo de documento'\"\n [control]=\"codFormStepThree.controls['parent_id_card_type']\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['parent_phone_indicative'].value\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicativesParents($event)\"\n [defaultText]=\"'Indicativo'\"\n [control]=\"codFormStepThree.controls['parent_phone_indicative']\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"codFormStepThree.controls['parent_occupation']\"\n ></ipt-input>\n </div>\n <div class=\"col-12 md:col-6\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codFormStepThree.controls['parent_last_name']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codFormStepThree.controls['parent_id_card']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codFormStepThree.controls['parent_phone_number']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n - Oficina'\"\n [control]=\"codFormStepThree.controls['parent_address']\"\n ></ipt-input>\n </div>\n </div>\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span *ngIf=\"(codFormStepThree.invalid && codFormStepThree.touched) && needAtendant()\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\n <button type=\"submit\" class=\"ml-auto p-button-sm\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [""], components: [{ type: i4.SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { type: i5.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CodFormStepThreeComponent, decorators: [{
170
- type: Component,
171
- args: [{ selector: 'app-cod-form-step-three', template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepThree\"class=\"grid\">\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['needAtendant'].value\"\n [control]=\"codFormStepThree.controls['needAtendant']\"\n (eventSelect)=\"selectNeedAtendant($event)\"\n [data]=\"needAtendants\"\n [defaultText]=\"'Requiere acudiente'\"\n ></ipt-select>\n </div>\n\n <div *ngIf=\"needAtendant()\" class=\"grid col-12\">\n <div class=\"col-12 md:col-6\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepThree.controls['parent_name']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['parent_id_card_type'].value\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdTypeParents($event)\"\n [defaultText]=\"'Tipo de documento'\"\n [control]=\"codFormStepThree.controls['parent_id_card_type']\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['parent_phone_indicative'].value\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicativesParents($event)\"\n [defaultText]=\"'Indicativo'\"\n [control]=\"codFormStepThree.controls['parent_phone_indicative']\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"codFormStepThree.controls['parent_occupation']\"\n ></ipt-input>\n </div>\n <div class=\"col-12 md:col-6\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codFormStepThree.controls['parent_last_name']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codFormStepThree.controls['parent_id_card']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codFormStepThree.controls['parent_phone_number']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n - Oficina'\"\n [control]=\"codFormStepThree.controls['parent_address']\"\n ></ipt-input>\n </div>\n </div>\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span *ngIf=\"(codFormStepThree.invalid && codFormStepThree.touched) && needAtendant()\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\n <button type=\"submit\" class=\"ml-auto p-button-sm\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [""] }]
172
- }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.ParameterService }, { type: i3.CodFormControls }]; }, propDecorators: { changeStepEvent: [{
173
- type: Output
174
- }] } });
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdGhyZWUvY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdGhyZWUvY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQXNCLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7OztBQU85RSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsWUFBWTtJQWdCekQsWUFDVSxFQUFlLEVBQ2YsZ0JBQWtDLEVBQ2xDLGVBQWdDO1FBRXhDLEtBQUssRUFBRSxDQUFDO1FBSkEsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBbEJoQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkQsbUJBQWMsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBS3ZDLGlCQUFZLEdBQVcsMkJBQTJCLENBQUM7UUFDbkQsa0JBQWEsR0FBVTtZQUNyQixFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQzVDLEVBQUUsSUFBSSxFQUFFLEdB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Q0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEU7SUFDSCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBYTtRQUNwQyxJQUFJLEtBQUssS0FBSyxZQUFZLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMzRTthQUFNO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxRTtJQUNILENBQUM7O3NIQTNLVSx5QkFBeUI7MEdBQXpCLHlCQUF5Qix1SUNYdEMsMHVGQW1FQTsyRkR4RGEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHlCQUF5QjsrSkFLekIsZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvcGFyYW1ldGVycy1zZXJ2aWNlL3BhcmFtZXRlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBDb2RGb3JtQ29udHJvbHMgfSBmcm9tICcuLi8uLi9sb2dpYy9jb2QtZm9ybS1jb250cm9scyc7XG5pbXBvcnQgeyBDb2RGb3JtU3RlcHMsIGxvY2FsU3RvcmFnZVZhbHVlcyB9IGZyb20gJy4uLy4uL2xvZ2ljL2NvZC1mb3JtLXN0ZXBzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvZC1mb3JtLXN0ZXAtdGhyZWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZC1mb3JtLXN0ZXAtdGhyZWUuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvZEZvcm1TdGVwVGhyZWVDb21wb25lbnQgZXh0ZW5kcyBDb2RGb3JtU3RlcHMgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgY2hhbmdlU3RlcEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIGdsb2JhbENvbnRyb2xzID0gbmV3IENvZEZvcm1Db250cm9scygpO1xuXG4gIGlkVHlwZXM6IGFueTtcbiAgaW5kaWNhdGl2ZXM6IGFueTtcbiAgY29kRm9ybVN0ZXBUaHJlZSE6IEZvcm1Hcm91cDtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnRmFsdGFuIGNhbXBvcyBwb3IgbGxlbmFyLic7XG4gIG5lZWRBdGVuZGFudHM6IGFueVtdID0gW1xuICAgIHsgY29kZTogJzEnLCBuYW1lOiAnU2kgcmVxdWllcmUgYWN1ZGllbnRlJyB9LFxuICAgIHsgY29kZTogJzInLCBuYW1lOiAnTm8gcmVxdWllcmUgYWN1ZGllbnRlJyB9LFxuICBdO1xuXG4gICAvLyBDb250cm9scyBkZWwgZm9ybXVsYXJpb1xuICAgY29udHJvbHMgPSBuZXcgQ29kRm9ybUNvbnRyb2xzKCkuY29udHJvbHNbMl07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBwYXJhbWV0ZXJTZXJ2aWNlOiBQYXJhbWV0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29kRm9ybUNvbnRyb2xzOiBDb2RGb3JtQ29udHJvbHNcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0UGFyYW1ldGVycygpO1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICB0aGlzLnN0YXJ0TG9jYWxTdG9yYWdlV29yaygpO1xuICAgIHRoaXMudmFsaWRhdGVFcnJvcnMoKTtcbiAgfVxuXG4gIHZhbGlkYXRlRXJyb3JzKCkge1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGNoYW5nZXMgPT4ge1xuICAgICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X25hbWUnXS5oYXNFcnJvcignbWlubGVuZ3RoJykpIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnTG9zIG5vbWJyZXMgZGViZW4gdGVuZXIgbcOtbmltbyAzIGNhcmFjdGVyZXMnO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9sYXN0X25hbWUnXS5oYXNFcnJvcignbWlubGVuZ3RoJykpIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnTG9zIGFwZWxsaWRvcyBkZWJlbiB0ZW5lciBtw61uaW1vIDUgY2FyYWN0ZXJlcyc7XG4gICAgICB9XG4gICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0ZhbHRhbiBjYW1wb3MgcG9yIGxsZW5hcic7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHN0YXJ0TG9jYWxTdG9yYWdlV29yaygpIHtcbiAgICB0aGlzLmNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBsZXQgbG9jYWxTdG9yYWdlVmFsdWU6IGxvY2FsU3RvcmFnZVZhbHVlcyA9IHRoaXMucmVhZEFuZFdyaXRlTFMoMywgY29udHJvbC5uYW1lKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1tjb250cm9sLm5hbWVdLnNldFZhbHVlKGxvY2FsU3RvcmFnZVZhbHVlLnZhbHVlKTtcbiAgICAgIHRoaXMubGlzdGVuRm9ybUNoYW5nZXMoMywgY29udHJvbC5uYW1lLCB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbY29udHJvbC5uYW1lXS52YWx1ZUNoYW5nZXMpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0UGFyYW1ldGVycygpIHtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0Q2FyZFR5cGVzKCdjb2wnKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICB0aGlzLmlkVHlwZXMgPSByZXNwb25zZS5kYXRhO1xuICAgIH0pO1xuICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRJbmRpY2F0aXZlcygpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMuaW5kaWNhdGl2ZXMgPSByZXNwb25zZS5kYXRhO1xuICAgIH0pO1xuICB9XG5cbiAgaW5pdEZvcm0oKSB7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBwYXJlbnRfaWRfY2FyZF90eXBlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBwYXJlbnRfaWRfY2FyZDogWycnLFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKSxdLF0sXG4gICAgICBwYXJlbnRfbGFzdF9uYW1lOiBbJycsW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpLF0sXSxcbiAgICAgIHBhcmVudF9uYW1lOiBbJycsW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoMyksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXSxdLFxuICAgICAgbmVlZEF0ZW5kYW50OiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgcGFyZW50X3Bob25lX2luZGljYXRpdmU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLCBbXV0sXG4gICAgICBwYXJlbnRfb2NjdXBhdGlvbjogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIFtdXSxcbiAgICAgIHBhcmVudF9hZGRyZXNzOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgcGFyZW50X3Bob25lX251bWJlcjogWycnLFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMubWluTGVuZ3RoKDEwKSxWYWxpZGF0b3JzLm1heExlbmd0aCgxNSksXSxdLFxuICAgIH0pXG5cbiAgICB0aGlzLmxpc3Rlbk5lZWRBdGVuZGFudEZpZWxkKClcbiAgfVxuXG4gIGxpc3Rlbk5lZWRBdGVuZGFudEZpZWxkKCkge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuZ2V0KCduZWVkQXRlbmRhbnQnKTtcbiAgICBjb250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcbiAgICAgIGlmIChjaGFuZ2UgPT09ICcxJykge1xuICAgICAgICAvLyBQb25lciB2YWxpZGFjaW9uZXNcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmQnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKV0pXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2xhc3RfbmFtZSddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXSlcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoMyksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXSlcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9vY2N1cGF0aW9uJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2FkZHJlc3MnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfbnVtYmVyJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCgxMCksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTUpXSlcblxuICAgICAgICAvLyBBY3R1YWxpemFyIHBhcmEgcXVlIHNlIHRvbWVuIGxvcyBjYW1iaW9zXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuXG4gICAgICAgIC8vIEFjdHVhbGl6YXIgbG9zIGNvbnRyb2xzIGdsb2JhbGVzXG4gICAgICAgIHRoaXMudXBkYXRlR2xvYmFsQ29udHJvbHMoY2hhbmdlKVxuICAgICAgfVxuICAgICAgaWYgKGNoYW5nZSA9PT0gJzInKSB7XG4gICAgICAgIC8vIFF1aXRhciBsYXMgdmFsaWRhY2lvbmVzXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2xhc3RfbmFtZSddLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9uYW1lJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfb2NjdXBhdGlvbiddLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9hZGRyZXNzJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX251bWJlciddLmNsZWFyVmFsaWRhdG9ycygpO1xuXG4gICAgICAgIC8vIEFjdHVhbGl6YXIgcGFyYSBxdWUgc2UgdG9tZW4gbG9zIGNhbWJpb3NcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG5cbiAgICAgICAgLy8gQWN0dWFsaXphciBsb3MgY29udHJvbHMgZ2xvYmFsZXNcbiAgICAgICAgdGhpcy51cGRhdGVHbG9iYWxDb250cm9scyhjaGFuZ2UpXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVHbG9iYWxDb250cm9scyhjaGFuZ2U6IHN0cmluZykge1xuICAgIGxldCBjb250cm9scyA9IHRoaXMuY29udHJvbHMuZmlsdGVyKGNvbnRyb2wgPT4gY29udHJvbC5uYW1lICE9PSAnbmVlZEF0ZW5kYW50Jyk7XG4gICAgY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGlmIChjaGFuZ2UgPT09ICcxJykgdGhpcy5jb2RGb3JtQ29udHJvbHMuY2hhbmdlVmFsdWUoMywgY29udHJvbC5uYW1lLCB0cnVlKVxuICAgICAgaWYgKGNoYW5nZSA9PT0gJzInKSB0aGlzLmNvZEZvcm1Db250cm9scy5jaGFuZ2VWYWx1ZSgzLCBjb250cm9sLm5hbWUsIGZhbHNlKVxuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkX3R5cGUnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZCddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9sYXN0X25hbWUnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X29jY3VwYXRpb24nXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfYWRkcmVzcyddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9udW1iZXInXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBuZWVkQXRlbmRhbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J10udmFsdWUgPT0gMTtcbiAgfVxuXG4gIHNlbmRGb3JtKCkge1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J10udmFsdWUgPT09ICcxJyAmJiB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuaW52YWxpZCkgcmV0dXJuO1xuXG4gICAgLy8gTW92ZXJub3MgYWwgcGFzbyA0XG4gICAgdGhpcy5jaGFuZ2VTdGVwRXZlbnQuZW1pdCgzKTtcbiAgfVxuXG4gIC8vIEV2ZW50b3MgZGUgbG9zIHNlbGVjdFxuICBzZWxlY3ROZWVkQXRlbmRhbnQobmVlZEF0ZW5kYW50OiBhbnkpIHtcbiAgICBpZiAobmVlZEF0ZW5kYW50ICE9PSAnUmVxdWllcmUgYWN1ZGllbnRlJykge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWyduZWVkQXRlbmRhbnQnXS5zZXRWYWx1ZShuZWVkQXRlbmRhbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ25lZWRBdGVuZGFudCddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdElkVHlwZVBhcmVudHModmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSAhPT0gJ1RpcG8gZGUgZG9jdW1lbnRvJykge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ10uc2V0VmFsdWUodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkX3R5cGUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RJbmRpY2F0aXZlc1BhcmVudHModmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSAhPT0gJ0luZGljYXRpdm8nKSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10uc2V0VmFsdWUodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiY29kRm9ybVN0ZXBUaHJlZVwiY2xhc3M9XCJncmlkXCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICA8aXB0LXNlbGVjdFxuICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWyduZWVkQXRlbmRhbnQnXS52YWx1ZVwiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWyduZWVkQXRlbmRhbnQnXVwiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0TmVlZEF0ZW5kYW50KCRldmVudClcIlxuICAgICAgW2RhdGFdPVwibmVlZEF0ZW5kYW50c1wiXG4gICAgICBbZGVmYXVsdFRleHRdPVwiJ1JlcXVpZXJlIGFjdWRpZW50ZSdcIlxuICAgID48L2lwdC1zZWxlY3Q+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJuZWVkQXRlbmRhbnQoKVwiIGNsYXNzPVwiZ3JpZCBjb2wtMTJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1kOmNvbC02XCI+XG4gICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidOb21icmVzJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9uYW1lJ11cIlxuICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ10udmFsdWVcIlxuICAgICAgICBbZGF0YV09XCJpZFR5cGVzXCJcbiAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdElkVHlwZVBhcmVudHMoJGV2ZW50KVwiXG4gICAgICAgIFtkZWZhdWx0VGV4dF09XCInVGlwbyBkZSBkb2N1bWVudG8nXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddXCJcbiAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICA8aXB0LXNlbGVjdFxuICAgICAgICBbaW5pdGlhbFZhbHVlXT1cImNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10udmFsdWVcIlxuICAgICAgICBbZGF0YV09XCJpbmRpY2F0aXZlc1wiXG4gICAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RJbmRpY2F0aXZlc1BhcmVudHMoJGV2ZW50KVwiXG4gICAgICAgIFtkZWZhdWx0VGV4dF09XCInSW5kaWNhdGl2bydcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZSddXCJcbiAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidPY3VwYWNpw7NuJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9vY2N1cGF0aW9uJ11cIlxuICAgICAgPjwvaXB0LWlucHV0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWQ6Y29sLTZcIj5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0FwZWxsaWRvcydcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbGFzdF9uYW1lJ11cIlxuICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgPGlwdC1pbnB1dFxuICAgICAgICBbaW5wdXRUeXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidOw7ptZXJvIGRlIGRvY3VtZW50bydcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZCddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInTsO6bWVybyBkZSB0ZWzDqWZvbm8nXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX251bWJlciddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0RpcmVjY2nDs24gLSBPZmljaW5hJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9hZGRyZXNzJ11cIlxuICAgICAgPjwvaXB0LWlucHV0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZm9ybT5cblxuPGRpdiBjbGFzcz1cImZsZXggbXQtMyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgPHNwYW4gKm5nSWY9XCIoY29kRm9ybVN0ZXBUaHJlZS5pbnZhbGlkICYmIGNvZEZvcm1TdGVwVGhyZWUudG91Y2hlZCkgJiYgbmVlZEF0ZW5kYW50KClcIiBjbGFzcz1cInRleHQtcmVkLTUwMCBmb250LWJvbGQgdGV4dC1jZW50ZXIgbXQtMSBweS0yIGJnLXJlZC0xMDAgdy1mdWxsIGJvcmRlci1yb3VuZC14bFwiPnt7IGVycm9yTWVzc2FnZSB9fTwvc3Bhbj5cbiAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJtbC1hdXRvIHAtYnV0dG9uLXNtXCIgKGNsaWNrKT1cInNlbmRGb3JtKClcIiBwQnV0dG9uIGxhYmVsPVwiU2lndWllbnRlXCIgaWNvbj1cInBpIHBpLWFycm93LXJpZ2h0XCI+PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
1
+ import { Component, EventEmitter, Output } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { CodFormControls } from '../../logic/cod-form-controls';
4
+ import { CodFormSteps } from '../../logic/cod-form-steps';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ import * as i2 from "../../../core/services/parameters-service/parameters.service";
8
+ import * as i3 from "../../logic/cod-form-controls";
9
+ import * as i4 from "../../../components/atoms/select/select.component";
10
+ import * as i5 from "../../../components/atoms/input/input.component";
11
+ import * as i6 from "@angular/common";
12
+ import * as i7 from "primeng/button";
13
+ export class CodFormStepThreeComponent extends CodFormSteps {
14
+ constructor(fb, parameterService, codFormControls) {
15
+ super();
16
+ this.fb = fb;
17
+ this.parameterService = parameterService;
18
+ this.codFormControls = codFormControls;
19
+ this.changeStepEvent = new EventEmitter();
20
+ this.globalControls = new CodFormControls();
21
+ this.errorMessage = 'Faltan campos por llenar.';
22
+ this.needAtendants = [
23
+ { code: '1', name: 'Si requiere acudiente' },
24
+ { code: '2', name: 'No requiere acudiente' },
25
+ ];
26
+ // Controls del formulario
27
+ this.controls = new CodFormControls().controls[2];
28
+ }
29
+ ngOnInit() {
30
+ this.getParameters();
31
+ this.initForm();
32
+ this.startLocalStorageWork();
33
+ this.validateErrors();
34
+ }
35
+ validateErrors() {
36
+ this.codFormStepThree.valueChanges.subscribe(changes => {
37
+ if (this.codFormStepThree.controls['parent_name'].hasError('minlength')) {
38
+ this.errorMessage = 'Los nombres deben tener mínimo 3 caracteres';
39
+ }
40
+ else if (this.codFormStepThree.controls['parent_last_name'].hasError('minlength')) {
41
+ this.errorMessage = 'Los apellidos deben tener mínimo 5 caracteres';
42
+ }
43
+ else {
44
+ this.errorMessage = 'Faltan campos por llenar';
45
+ }
46
+ });
47
+ }
48
+ startLocalStorageWork() {
49
+ this.controls.forEach(control => {
50
+ let localStorageValue = this.readAndWriteLS(3, control.name);
51
+ this.codFormStepThree.controls[control.name].setValue(localStorageValue.value);
52
+ this.listenFormChanges(3, control.name, this.codFormStepThree.controls[control.name].valueChanges);
53
+ });
54
+ }
55
+ getParameters() {
56
+ this.parameterService.getCardTypes('col').subscribe((response) => {
57
+ this.idTypes = response.data;
58
+ });
59
+ this.parameterService.getIndicatives().subscribe((response) => {
60
+ this.indicatives = response.data;
61
+ });
62
+ }
63
+ initForm() {
64
+ this.codFormStepThree = this.fb.group({
65
+ parent_id_card_type: ['', [Validators.required]],
66
+ parent_id_card: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(20),],],
67
+ parent_last_name: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(32),],],
68
+ parent_name: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(32)],],
69
+ needAtendant: ['', [Validators.required], []],
70
+ parent_phone_indicative: ['', [Validators.required], []],
71
+ parent_occupation: ['', [Validators.required], []],
72
+ parent_address: ['', [Validators.required], []],
73
+ parent_phone_number: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(15),],],
74
+ });
75
+ this.listenNeedAtendantField();
76
+ }
77
+ listenNeedAtendantField() {
78
+ const control = this.codFormStepThree.get('needAtendant');
79
+ control?.valueChanges.subscribe((change) => {
80
+ if (change === '1') {
81
+ // Poner validaciones
82
+ this.codFormStepThree.controls['parent_id_card_type'].setValidators([Validators.required]);
83
+ this.codFormStepThree.controls['parent_id_card'].setValidators([Validators.required, Validators.minLength(5), Validators.maxLength(20)]);
84
+ this.codFormStepThree.controls['parent_last_name'].setValidators([Validators.required, Validators.minLength(5), Validators.maxLength(32)]);
85
+ this.codFormStepThree.controls['parent_name'].setValidators([Validators.required, Validators.minLength(3), Validators.maxLength(32)]);
86
+ this.codFormStepThree.controls['parent_phone_indicative'].setValidators([Validators.required]);
87
+ this.codFormStepThree.controls['parent_occupation'].setValidators([Validators.required]);
88
+ this.codFormStepThree.controls['parent_address'].setValidators([Validators.required]);
89
+ this.codFormStepThree.controls['parent_phone_number'].setValidators([Validators.required, Validators.minLength(10), Validators.maxLength(15)]);
90
+ // Actualizar para que se tomen los cambios
91
+ this.updateValueAndValidity();
92
+ // Actualizar los controls globales
93
+ this.updateGlobalControls(change);
94
+ }
95
+ if (change === '2') {
96
+ // Quitar las validaciones
97
+ this.codFormStepThree.controls['parent_id_card_type'].clearValidators();
98
+ this.codFormStepThree.controls['parent_id_card'].clearValidators();
99
+ this.codFormStepThree.controls['parent_last_name'].clearValidators();
100
+ this.codFormStepThree.controls['parent_name'].clearValidators();
101
+ this.codFormStepThree.controls['parent_phone_indicative'].clearValidators();
102
+ this.codFormStepThree.controls['parent_occupation'].clearValidators();
103
+ this.codFormStepThree.controls['parent_address'].clearValidators();
104
+ this.codFormStepThree.controls['parent_phone_number'].clearValidators();
105
+ // Actualizar para que se tomen los cambios
106
+ this.updateValueAndValidity();
107
+ // Actualizar los controls globales
108
+ this.updateGlobalControls(change);
109
+ }
110
+ });
111
+ }
112
+ updateGlobalControls(change) {
113
+ let controls = this.controls.filter(control => control.name !== 'needAtendant');
114
+ controls.forEach(control => {
115
+ if (change === '1')
116
+ this.codFormControls.changeValue(3, control.name, true);
117
+ if (change === '2')
118
+ this.codFormControls.changeValue(3, control.name, false);
119
+ });
120
+ }
121
+ updateValueAndValidity() {
122
+ this.codFormStepThree.controls['parent_id_card_type'].updateValueAndValidity();
123
+ this.codFormStepThree.controls['parent_id_card'].updateValueAndValidity();
124
+ this.codFormStepThree.controls['parent_last_name'].updateValueAndValidity();
125
+ this.codFormStepThree.controls['parent_name'].updateValueAndValidity();
126
+ this.codFormStepThree.controls['parent_phone_indicative'].updateValueAndValidity();
127
+ this.codFormStepThree.controls['parent_occupation'].updateValueAndValidity();
128
+ this.codFormStepThree.controls['parent_address'].updateValueAndValidity();
129
+ this.codFormStepThree.controls['parent_phone_number'].updateValueAndValidity();
130
+ }
131
+ needAtendant() {
132
+ return this.codFormStepThree.controls['needAtendant'].value == 1;
133
+ }
134
+ sendForm() {
135
+ this.codFormStepThree.markAllAsTouched();
136
+ if (this.codFormStepThree.controls['needAtendant'].value === '1' && this.codFormStepThree.invalid)
137
+ return;
138
+ // Movernos al paso 4
139
+ this.changeStepEvent.emit(3);
140
+ }
141
+ // Eventos de los select
142
+ selectNeedAtendant(needAtendant) {
143
+ if (needAtendant !== 'Requiere acudiente') {
144
+ this.codFormStepThree.controls['needAtendant'].setValue(needAtendant);
145
+ }
146
+ else {
147
+ this.codFormStepThree.controls['needAtendant'].setValue(null);
148
+ }
149
+ }
150
+ selectIdTypeParents(value) {
151
+ if (value !== 'Tipo de documento') {
152
+ this.codFormStepThree.controls['parent_id_card_type'].setValue(value);
153
+ }
154
+ else {
155
+ this.codFormStepThree.controls['parent_id_card_type'].setValue(null);
156
+ }
157
+ }
158
+ selectIndicativesParents(value) {
159
+ if (value !== 'Indicativo') {
160
+ this.codFormStepThree.controls['parent_phone_indicative'].setValue(value);
161
+ }
162
+ else {
163
+ this.codFormStepThree.controls['parent_phone_indicative'].setValue(null);
164
+ }
165
+ }
166
+ }
167
+ CodFormStepThreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CodFormStepThreeComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ParameterService }, { token: i3.CodFormControls }], target: i0.ɵɵFactoryTarget.Component });
168
+ CodFormStepThreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CodFormStepThreeComponent, selector: "app-cod-form-step-three", outputs: { changeStepEvent: "changeStepEvent" }, usesInheritance: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepThree\"class=\"grid\">\r\n <div class=\"col-12\">\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['needAtendant'].value\"\r\n [control]=\"codFormStepThree.controls['needAtendant']\"\r\n (eventSelect)=\"selectNeedAtendant($event)\"\r\n [data]=\"needAtendants\"\r\n [defaultText]=\"'Requiere acudiente'\"\r\n ></ipt-select>\r\n </div>\r\n\r\n <div *ngIf=\"needAtendant()\" class=\"grid col-12\">\r\n <div class=\"col-12 md:col-6\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Nombres'\"\r\n [control]=\"codFormStepThree.controls['parent_name']\"\r\n ></ipt-input>\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['parent_id_card_type'].value\"\r\n [data]=\"idTypes\"\r\n (eventSelect)=\"selectIdTypeParents($event)\"\r\n [defaultText]=\"'Tipo de documento'\"\r\n [control]=\"codFormStepThree.controls['parent_id_card_type']\"\r\n ></ipt-select>\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['parent_phone_indicative'].value\"\r\n [data]=\"indicatives\"\r\n (eventSelect)=\"selectIndicativesParents($event)\"\r\n [defaultText]=\"'Indicativo'\"\r\n [control]=\"codFormStepThree.controls['parent_phone_indicative']\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Ocupaci\u00F3n'\"\r\n [control]=\"codFormStepThree.controls['parent_occupation']\"\r\n ></ipt-input>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Apellidos'\"\r\n [control]=\"codFormStepThree.controls['parent_last_name']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'N\u00FAmero de documento'\"\r\n [control]=\"codFormStepThree.controls['parent_id_card']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\r\n [control]=\"codFormStepThree.controls['parent_phone_number']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Direcci\u00F3n - Oficina'\"\r\n [control]=\"codFormStepThree.controls['parent_address']\"\r\n ></ipt-input>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<div class=\"flex mt-3 align-items-center gap-3\">\r\n <span *ngIf=\"(codFormStepThree.invalid && codFormStepThree.touched) && needAtendant()\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\r\n <button type=\"submit\" class=\"ml-auto p-button-sm\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\r\n</div>\r\n", styles: [""], components: [{ type: i4.SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { type: i5.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CodFormStepThreeComponent, decorators: [{
170
+ type: Component,
171
+ args: [{ selector: 'app-cod-form-step-three', template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepThree\"class=\"grid\">\r\n <div class=\"col-12\">\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['needAtendant'].value\"\r\n [control]=\"codFormStepThree.controls['needAtendant']\"\r\n (eventSelect)=\"selectNeedAtendant($event)\"\r\n [data]=\"needAtendants\"\r\n [defaultText]=\"'Requiere acudiente'\"\r\n ></ipt-select>\r\n </div>\r\n\r\n <div *ngIf=\"needAtendant()\" class=\"grid col-12\">\r\n <div class=\"col-12 md:col-6\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Nombres'\"\r\n [control]=\"codFormStepThree.controls['parent_name']\"\r\n ></ipt-input>\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['parent_id_card_type'].value\"\r\n [data]=\"idTypes\"\r\n (eventSelect)=\"selectIdTypeParents($event)\"\r\n [defaultText]=\"'Tipo de documento'\"\r\n [control]=\"codFormStepThree.controls['parent_id_card_type']\"\r\n ></ipt-select>\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['parent_phone_indicative'].value\"\r\n [data]=\"indicatives\"\r\n (eventSelect)=\"selectIndicativesParents($event)\"\r\n [defaultText]=\"'Indicativo'\"\r\n [control]=\"codFormStepThree.controls['parent_phone_indicative']\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Ocupaci\u00F3n'\"\r\n [control]=\"codFormStepThree.controls['parent_occupation']\"\r\n ></ipt-input>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Apellidos'\"\r\n [control]=\"codFormStepThree.controls['parent_last_name']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'N\u00FAmero de documento'\"\r\n [control]=\"codFormStepThree.controls['parent_id_card']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\r\n [control]=\"codFormStepThree.controls['parent_phone_number']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Direcci\u00F3n - Oficina'\"\r\n [control]=\"codFormStepThree.controls['parent_address']\"\r\n ></ipt-input>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<div class=\"flex mt-3 align-items-center gap-3\">\r\n <span *ngIf=\"(codFormStepThree.invalid && codFormStepThree.touched) && needAtendant()\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\r\n <button type=\"submit\" class=\"ml-auto p-button-sm\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\r\n</div>\r\n", styles: [""] }]
172
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.ParameterService }, { type: i3.CodFormControls }]; }, propDecorators: { changeStepEvent: [{
173
+ type: Output
174
+ }] } });
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdGhyZWUvY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdGhyZWUvY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQXNCLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7OztBQU85RSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsWUFBWTtJQWdCekQsWUFDVSxFQUFlLEVBQ2YsZ0JBQWtDLEVBQ2xDLGVBQWdDO1FBRXhDLEtBQUssRUFBRSxDQUFDO1FBSkEsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBbEJoQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkQsbUJBQWMsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBS3ZDLGlCQUFZLEdBQVcsMkJBQTJCLENBQUM7UUFDbkQsa0JBQWEsR0FBVTtZQUNyQixFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQzVDLEVBQUUsSUFBSSxFQUFFLEdB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Q0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEU7SUFDSCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBYTtRQUNwQyxJQUFJLEtBQUssS0FBSyxZQUFZLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMzRTthQUFNO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxRTtJQUNILENBQUM7O3NIQTNLVSx5QkFBeUI7MEdBQXpCLHlCQUF5Qix1SUNYdEMsZzNGQW1FQTsyRkR4RGEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHlCQUF5QjsrSkFLekIsZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFBhcmFtZXRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3BhcmFtZXRlcnMtc2VydmljZS9wYXJhbWV0ZXJzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb2RGb3JtQ29udHJvbHMgfSBmcm9tICcuLi8uLi9sb2dpYy9jb2QtZm9ybS1jb250cm9scyc7XHJcbmltcG9ydCB7IENvZEZvcm1TdGVwcywgbG9jYWxTdG9yYWdlVmFsdWVzIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLWZvcm0tc3RlcHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY29kLWZvcm0tc3RlcC10aHJlZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvZC1mb3JtLXN0ZXAtdGhyZWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvZC1mb3JtLXN0ZXAtdGhyZWUuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2RGb3JtU3RlcFRocmVlQ29tcG9uZW50IGV4dGVuZHMgQ29kRm9ybVN0ZXBzIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAT3V0cHV0KCkgY2hhbmdlU3RlcEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgZ2xvYmFsQ29udHJvbHMgPSBuZXcgQ29kRm9ybUNvbnRyb2xzKCk7XHJcblxyXG4gIGlkVHlwZXM6IGFueTtcclxuICBpbmRpY2F0aXZlczogYW55O1xyXG4gIGNvZEZvcm1TdGVwVGhyZWUhOiBGb3JtR3JvdXA7XHJcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnRmFsdGFuIGNhbXBvcyBwb3IgbGxlbmFyLic7XHJcbiAgbmVlZEF0ZW5kYW50czogYW55W10gPSBbXHJcbiAgICB7IGNvZGU6ICcxJywgbmFtZTogJ1NpIHJlcXVpZXJlIGFjdWRpZW50ZScgfSxcclxuICAgIHsgY29kZTogJzInLCBuYW1lOiAnTm8gcmVxdWllcmUgYWN1ZGllbnRlJyB9LFxyXG4gIF07XHJcblxyXG4gICAvLyBDb250cm9scyBkZWwgZm9ybXVsYXJpb1xyXG4gICBjb250cm9scyA9IG5ldyBDb2RGb3JtQ29udHJvbHMoKS5jb250cm9sc1syXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgcGFyYW1ldGVyU2VydmljZTogUGFyYW1ldGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgY29kRm9ybUNvbnRyb2xzOiBDb2RGb3JtQ29udHJvbHNcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0UGFyYW1ldGVycygpO1xyXG4gICAgdGhpcy5pbml0Rm9ybSgpO1xyXG4gICAgdGhpcy5zdGFydExvY2FsU3RvcmFnZVdvcmsoKTtcclxuICAgIHRoaXMudmFsaWRhdGVFcnJvcnMoKTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlRXJyb3JzKCkge1xyXG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoY2hhbmdlcyA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9uYW1lJ10uaGFzRXJyb3IoJ21pbmxlbmd0aCcpKSB7XHJcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnTG9zIG5vbWJyZXMgZGViZW4gdGVuZXIgbcOtbmltbyAzIGNhcmFjdGVyZXMnO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2xhc3RfbmFtZSddLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSkge1xyXG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0xvcyBhcGVsbGlkb3MgZGViZW4gdGVuZXIgbcOtbmltbyA1IGNhcmFjdGVyZXMnO1xyXG4gICAgICB9XHJcbiAgICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdGYWx0YW4gY2FtcG9zIHBvciBsbGVuYXInO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCkge1xyXG4gICAgdGhpcy5jb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xyXG4gICAgICBsZXQgbG9jYWxTdG9yYWdlVmFsdWU6IGxvY2FsU3RvcmFnZVZhbHVlcyA9IHRoaXMucmVhZEFuZFdyaXRlTFMoMywgY29udHJvbC5uYW1lKTtcclxuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0uc2V0VmFsdWUobG9jYWxTdG9yYWdlVmFsdWUudmFsdWUpO1xyXG4gICAgICB0aGlzLmxpc3RlbkZvcm1DaGFuZ2VzKDMsIGNvbnRyb2wubmFtZSwgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0udmFsdWVDaGFuZ2VzKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGFyYW1ldGVycygpIHtcclxuICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRDYXJkVHlwZXMoJ2NvbCcpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5pZFR5cGVzID0gcmVzcG9uc2UuZGF0YTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldEluZGljYXRpdmVzKCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLmluZGljYXRpdmVzID0gcmVzcG9uc2UuZGF0YTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaW5pdEZvcm0oKSB7XHJcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgcGFyZW50X2lkX2NhcmRfdHlwZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICBwYXJlbnRfaWRfY2FyZDogWycnLFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKSxdLF0sXHJcbiAgICAgIHBhcmVudF9sYXN0X25hbWU6IFsnJyxbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMiksXSxdLFxyXG4gICAgICBwYXJlbnRfbmFtZTogWycnLFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpLFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV0sXSxcclxuICAgICAgbmVlZEF0ZW5kYW50OiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxyXG4gICAgICBwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIFtdXSxcclxuICAgICAgcGFyZW50X29jY3VwYXRpb246IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLCBbXV0sXHJcbiAgICAgIHBhcmVudF9hZGRyZXNzOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxyXG4gICAgICBwYXJlbnRfcGhvbmVfbnVtYmVyOiBbJycsW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoMTApLFZhbGlkYXRvcnMubWF4TGVuZ3RoKDE1KSxdLF0sXHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMubGlzdGVuTmVlZEF0ZW5kYW50RmllbGQoKVxyXG4gIH1cclxuXHJcbiAgbGlzdGVuTmVlZEF0ZW5kYW50RmllbGQoKSB7XHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5jb2RGb3JtU3RlcFRocmVlLmdldCgnbmVlZEF0ZW5kYW50Jyk7XHJcbiAgICBjb250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcclxuICAgICAgaWYgKGNoYW5nZSA9PT0gJzEnKSB7XHJcbiAgICAgICAgLy8gUG9uZXIgdmFsaWRhY2lvbmVzXHJcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXHJcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZCddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjApXSlcclxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9sYXN0X25hbWUnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV0pXHJcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoMyksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXSlcclxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXHJcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfb2NjdXBhdGlvbiddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxyXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2FkZHJlc3MnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcclxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9udW1iZXInXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMubWluTGVuZ3RoKDEwKSxWYWxpZGF0b3JzLm1heExlbmd0aCgxNSldKVxyXG5cclxuICAgICAgICAvLyBBY3R1YWxpemFyIHBhcmEgcXVlIHNlIHRvbWVuIGxvcyBjYW1iaW9zXHJcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcblxyXG4gICAgICAgIC8vIEFjdHVhbGl6YXIgbG9zIGNvbnRyb2xzIGdsb2JhbGVzXHJcbiAgICAgICAgdGhpcy51cGRhdGVHbG9iYWxDb250cm9scyhjaGFuZ2UpXHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNoYW5nZSA9PT0gJzInKSB7XHJcbiAgICAgICAgLy8gUXVpdGFyIGxhcyB2YWxpZGFjaW9uZXNcclxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkX3R5cGUnXS5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkJ10uY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbGFzdF9uYW1lJ10uY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddLmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXS5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9vY2N1cGF0aW9uJ10uY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfYWRkcmVzcyddLmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX251bWJlciddLmNsZWFyVmFsaWRhdG9ycygpO1xyXG5cclxuICAgICAgICAvLyBBY3R1YWxpemFyIHBhcmEgcXVlIHNlIHRvbWVuIGxvcyBjYW1iaW9zXHJcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcblxyXG4gICAgICAgIC8vIEFjdHVhbGl6YXIgbG9zIGNvbnRyb2xzIGdsb2JhbGVzXHJcbiAgICAgICAgdGhpcy51cGRhdGVHbG9iYWxDb250cm9scyhjaGFuZ2UpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlR2xvYmFsQ29udHJvbHMoY2hhbmdlOiBzdHJpbmcpIHtcclxuICAgIGxldCBjb250cm9scyA9IHRoaXMuY29udHJvbHMuZmlsdGVyKGNvbnRyb2wgPT4gY29udHJvbC5uYW1lICE9PSAnbmVlZEF0ZW5kYW50Jyk7XHJcbiAgICBjb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xyXG4gICAgICBpZiAoY2hhbmdlID09PSAnMScpIHRoaXMuY29kRm9ybUNvbnRyb2xzLmNoYW5nZVZhbHVlKDMsIGNvbnRyb2wubmFtZSwgdHJ1ZSlcclxuICAgICAgaWYgKGNoYW5nZSA9PT0gJzInKSB0aGlzLmNvZEZvcm1Db250cm9scy5jaGFuZ2VWYWx1ZSgzLCBjb250cm9sLm5hbWUsIGZhbHNlKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCkge1xyXG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZCddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2xhc3RfbmFtZSddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X25hbWUnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfb2NjdXBhdGlvbiddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2FkZHJlc3MnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9udW1iZXInXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICBuZWVkQXRlbmRhbnQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWyduZWVkQXRlbmRhbnQnXS52YWx1ZSA9PSAxO1xyXG4gIH1cclxuXHJcbiAgc2VuZEZvcm0oKSB7XHJcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUubWFya0FsbEFzVG91Y2hlZCgpO1xyXG4gICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J10udmFsdWUgPT09ICcxJyAmJiB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuaW52YWxpZCkgcmV0dXJuO1xyXG5cclxuICAgIC8vIE1vdmVybm9zIGFsIHBhc28gNFxyXG4gICAgdGhpcy5jaGFuZ2VTdGVwRXZlbnQuZW1pdCgzKTtcclxuICB9XHJcblxyXG4gIC8vIEV2ZW50b3MgZGUgbG9zIHNlbGVjdFxyXG4gIHNlbGVjdE5lZWRBdGVuZGFudChuZWVkQXRlbmRhbnQ6IGFueSkge1xyXG4gICAgaWYgKG5lZWRBdGVuZGFudCAhPT0gJ1JlcXVpZXJlIGFjdWRpZW50ZScpIHtcclxuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWyduZWVkQXRlbmRhbnQnXS5zZXRWYWx1ZShuZWVkQXRlbmRhbnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWyduZWVkQXRlbmRhbnQnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdElkVHlwZVBhcmVudHModmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbHVlICE9PSAnVGlwbyBkZSBkb2N1bWVudG8nKSB7XHJcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKHZhbHVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0SW5kaWNhdGl2ZXNQYXJlbnRzKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gJ0luZGljYXRpdm8nKSB7XHJcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXS5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImNvZEZvcm1TdGVwVGhyZWVcImNsYXNzPVwiZ3JpZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgIDxpcHQtc2VsZWN0XHJcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J10udmFsdWVcIlxyXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWyduZWVkQXRlbmRhbnQnXVwiXHJcbiAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3ROZWVkQXRlbmRhbnQoJGV2ZW50KVwiXHJcbiAgICAgIFtkYXRhXT1cIm5lZWRBdGVuZGFudHNcIlxyXG4gICAgICBbZGVmYXVsdFRleHRdPVwiJ1JlcXVpZXJlIGFjdWRpZW50ZSdcIlxyXG4gICAgPjwvaXB0LXNlbGVjdD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cIm5lZWRBdGVuZGFudCgpXCIgY2xhc3M9XCJncmlkIGNvbC0xMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtZDpjb2wtNlwiPlxyXG4gICAgICA8aXB0LWlucHV0XHJcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxyXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInTm9tYnJlcydcIlxyXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9uYW1lJ11cIlxyXG4gICAgICA+PC9pcHQtaW5wdXQ+XHJcbiAgICAgIDxpcHQtc2VsZWN0XHJcbiAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ10udmFsdWVcIlxyXG4gICAgICAgIFtkYXRhXT1cImlkVHlwZXNcIlxyXG4gICAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RJZFR5cGVQYXJlbnRzKCRldmVudClcIlxyXG4gICAgICAgIFtkZWZhdWx0VGV4dF09XCInVGlwbyBkZSBkb2N1bWVudG8nXCJcclxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ11cIlxyXG4gICAgICA+PC9pcHQtc2VsZWN0PlxyXG4gICAgICA8aXB0LXNlbGVjdFxyXG4gICAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXS52YWx1ZVwiXHJcbiAgICAgICAgW2RhdGFdPVwiaW5kaWNhdGl2ZXNcIlxyXG4gICAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RJbmRpY2F0aXZlc1BhcmVudHMoJGV2ZW50KVwiXHJcbiAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidJbmRpY2F0aXZvJ1wiXHJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXVwiXHJcbiAgICAgID48L2lwdC1zZWxlY3Q+XHJcbiAgICAgIDxpcHQtaW5wdXRcclxuICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXHJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidPY3VwYWNpw7NuJ1wiXHJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X29jY3VwYXRpb24nXVwiXHJcbiAgICAgID48L2lwdC1pbnB1dD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtZDpjb2wtNlwiPlxyXG4gICAgICA8aXB0LWlucHV0XHJcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxyXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInQXBlbGxpZG9zJ1wiXHJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2xhc3RfbmFtZSddXCJcclxuICAgICAgPjwvaXB0LWlucHV0PlxyXG4gICAgICA8aXB0LWlucHV0XHJcbiAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXHJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidOw7ptZXJvIGRlIGRvY3VtZW50bydcIlxyXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkJ11cIlxyXG4gICAgICA+PC9pcHQtaW5wdXQ+XHJcbiAgICAgIDxpcHQtaW5wdXRcclxuICAgICAgICBbaW5wdXRUeXBlXT1cIidudW1iZXInXCJcclxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ07Dum1lcm8gZGUgdGVsw6lmb25vJ1wiXHJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX251bWJlciddXCJcclxuICAgICAgPjwvaXB0LWlucHV0PlxyXG4gICAgICA8aXB0LWlucHV0XHJcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxyXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInRGlyZWNjacOzbiAtIE9maWNpbmEnXCJcclxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfYWRkcmVzcyddXCJcclxuICAgICAgPjwvaXB0LWlucHV0PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZm9ybT5cclxuXHJcbjxkaXYgY2xhc3M9XCJmbGV4IG10LTMgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XHJcbiAgPHNwYW4gKm5nSWY9XCIoY29kRm9ybVN0ZXBUaHJlZS5pbnZhbGlkICYmIGNvZEZvcm1TdGVwVGhyZWUudG91Y2hlZCkgJiYgbmVlZEF0ZW5kYW50KClcIiBjbGFzcz1cInRleHQtcmVkLTUwMCBmb250LWJvbGQgdGV4dC1jZW50ZXIgbXQtMSBweS0yIGJnLXJlZC0xMDAgdy1mdWxsIGJvcmRlci1yb3VuZC14bFwiPnt7IGVycm9yTWVzc2FnZSB9fTwvc3Bhbj5cclxuICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cIm1sLWF1dG8gcC1idXR0b24tc21cIiAoY2xpY2spPVwic2VuZEZvcm0oKVwiIHBCdXR0b24gbGFiZWw9XCJTaWd1aWVudGVcIiBpY29uPVwicGkgcGktYXJyb3ctcmlnaHRcIj48L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==