sigesp 0.9.9-20221205 → 0.9.11-20221211

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 (147) hide show
  1. package/bundles/sigesp.umd.js +449 -212
  2. package/bundles/sigesp.umd.js.map +1 -1
  3. package/bundles/sigesp.umd.min.js +15 -1
  4. package/bundles/sigesp.umd.min.js.map +1 -1
  5. package/esm2015/lib/core/interfaces/Auditoria.js +1 -1
  6. package/esm2015/lib/core/interfaces/Clasificacion.js +1 -1
  7. package/esm2015/lib/core/interfaces/CuentasPorPagar.js +1 -1
  8. package/esm2015/lib/core/interfaces/Nomina.js +1 -1
  9. package/esm2015/lib/core/interfaces/RecursosHumanos.js +1 -1
  10. package/esm2015/lib/core/models/CXP/MConceptosCXP.model.js +6 -3
  11. package/esm2015/lib/core/models/CXP/MTipoDocumentoCXP.model.js +6 -3
  12. package/esm2015/lib/core/models/RPC/clasification.model.js +4 -2
  13. package/esm2015/lib/core/models/SNO/MAnticipoPrestaciones.model.js +4 -1
  14. package/esm2015/lib/core/models/SNO/MArchivoTxtCampo.model.js +6 -3
  15. package/esm2015/lib/core/models/SNO/MArchivosTxt.model.js +6 -3
  16. package/esm2015/lib/core/models/SNO/MAsignacionCargo.model.js +6 -3
  17. package/esm2015/lib/core/models/SNO/MAspectoEvaluacion.model.js +11 -5
  18. package/esm2015/lib/core/models/SNO/MAuditoria.model.js +5 -2
  19. package/esm2015/lib/core/models/SNO/MBeneficiario.model.js +6 -3
  20. package/esm2015/lib/core/models/SNO/MCargosPersonal.model.js +6 -2
  21. package/esm2015/lib/core/models/SNO/MClasificacionObrero.mdel.js +6 -3
  22. package/esm2015/lib/core/models/SNO/MCodigoUnicoRac.model.js +6 -3
  23. package/esm2015/lib/core/models/SNO/MComponete.model.js +6 -3
  24. package/esm2015/lib/core/models/SNO/MConceptoVacaciones.model.js +5 -2
  25. package/esm2015/lib/core/models/SNO/MConceptosNomina.model.js +5 -2
  26. package/esm2015/lib/core/models/SNO/MConceptosPersonalNomina.model.js +6 -3
  27. package/esm2015/lib/core/models/SNO/MConcursante.model.js +26 -11
  28. package/esm2015/lib/core/models/SNO/MConcurso.model.js +21 -9
  29. package/esm2015/lib/core/models/SNO/MConfiguracionSNO.model.js +5 -2
  30. package/esm2015/lib/core/models/SNO/MConstanteNomina.model.js +5 -2
  31. package/esm2015/lib/core/models/SNO/MConstantePersonalNomina.model.js +5 -2
  32. package/esm2015/lib/core/models/SNO/MDedicacion.model.js +6 -3
  33. package/esm2015/lib/core/models/SNO/MDefinicionNomina.model.js +6 -3
  34. package/esm2015/lib/core/models/SNO/MDefinicionesBasicas.model.js +12 -3
  35. package/esm2015/lib/core/models/SNO/MDeudaAnterior.model.js +4 -1
  36. package/esm2015/lib/core/models/SNO/MEncargaduria.model.js +6 -3
  37. package/esm2015/lib/core/models/SNO/MEscalaEvaluacion.model.js +6 -3
  38. package/esm2015/lib/core/models/SNO/MEscalaEvaluacionDt.model.js +6 -3
  39. package/esm2015/lib/core/models/SNO/MEstructuraOrganizativa.model.js +6 -3
  40. package/esm2015/lib/core/models/SNO/MFamiliares.model.js +6 -3
  41. package/esm2015/lib/core/models/SNO/MFideicomiso.model.js +27 -9
  42. package/esm2015/lib/core/models/SNO/MFormacionAcademica.model.js +6 -3
  43. package/esm2015/lib/core/models/SNO/MGrado.model.js +6 -3
  44. package/esm2015/lib/core/models/SNO/MHojaTiempo.model.js +7 -2
  45. package/esm2015/lib/core/models/SNO/MImpuestoSobreRenta.model.js +4 -1
  46. package/esm2015/lib/core/models/SNO/MMetodoBanco.model.js +11 -5
  47. package/esm2015/lib/core/models/SNO/MNominaSimple.model.js +6 -3
  48. package/esm2015/lib/core/models/SNO/MPeriodoNomina.model.js +6 -3
  49. package/esm2015/lib/core/models/SNO/MPermisos.model.js +4 -1
  50. package/esm2015/lib/core/models/SNO/MPersonal.model.js +29 -9
  51. package/esm2015/lib/core/models/SNO/MPersonalJubilado.model.js +6 -3
  52. package/esm2015/lib/core/models/SNO/MPersonalNomina.model.js +13 -3
  53. package/esm2015/lib/core/models/SNO/MPlanHorario.model.js +30 -45
  54. package/esm2015/lib/core/models/SNO/MPrestamo.model.js +10 -1
  55. package/esm2015/lib/core/models/SNO/MPrimaGrados.model.js +6 -3
  56. package/esm2015/lib/core/models/SNO/MPrimasConcepto.model.js +5 -2
  57. package/esm2015/lib/core/models/SNO/MRango.model.js +6 -3
  58. package/esm2015/lib/core/models/SNO/MRequisitosConcursante.model.js +6 -3
  59. package/esm2015/lib/core/models/SNO/MRequisitosConcursos.model.js +6 -3
  60. package/esm2015/lib/core/models/SNO/MRequisitosMinimos.model.js +11 -5
  61. package/esm2015/lib/core/models/SNO/MSalarioHistorico.model.js +6 -3
  62. package/esm2015/lib/core/models/SNO/MSolicitudEmpleo.model.js +6 -3
  63. package/esm2015/lib/core/models/SNO/MTablaVacaciones.model.js +6 -3
  64. package/esm2015/lib/core/models/SNO/MTablaVacacionesPeriodo.model.js +6 -3
  65. package/esm2015/lib/core/models/SNO/MTabulador.model.js +11 -5
  66. package/esm2015/lib/core/models/SNO/MTipoEvaluacion.model.js +11 -5
  67. package/esm2015/lib/core/models/SNO/MTipoPersonal.model.js +6 -3
  68. package/esm2015/lib/core/models/SNO/MTiposEnfermedad.model.js +6 -3
  69. package/esm2015/lib/core/models/SNO/MTrabajoAnterior.model.js +4 -1
  70. package/esm2015/lib/core/models/SNO/MUbicacionFisica.model.js +6 -3
  71. package/esm2015/lib/core/models/SNO/MVacacionesPersonal.model.js +6 -3
  72. package/esm2015/lib/core/models/SNO/McargaFamiliar.model.js +6 -3
  73. package/esm2015/lib/sigesp.service.js +2 -2
  74. package/esm2015/public-api.js +2 -2
  75. package/fesm2015/sigesp.js +444 -184
  76. package/fesm2015/sigesp.js.map +1 -1
  77. package/lib/core/interfaces/Auditoria.d.ts +2 -1
  78. package/lib/core/interfaces/Clasificacion.d.ts +1 -0
  79. package/lib/core/interfaces/CuentasPorPagar.d.ts +6 -3
  80. package/lib/core/interfaces/Nomina.d.ts +31 -14
  81. package/lib/core/interfaces/RecursosHumanos.d.ts +140 -57
  82. package/lib/core/models/CXP/MConceptosCXP.model.d.ts +1 -0
  83. package/lib/core/models/CXP/MTipoDocumentoCXP.model.d.ts +1 -0
  84. package/lib/core/models/RPC/clasification.model.d.ts +1 -0
  85. package/lib/core/models/SNO/MAnticipoPrestaciones.model.d.ts +1 -0
  86. package/lib/core/models/SNO/MArchivoTxtCampo.model.d.ts +1 -0
  87. package/lib/core/models/SNO/MArchivosTxt.model.d.ts +1 -0
  88. package/lib/core/models/SNO/MAsignacionCargo.model.d.ts +1 -0
  89. package/lib/core/models/SNO/MAspectoEvaluacion.model.d.ts +2 -0
  90. package/lib/core/models/SNO/MAuditoria.model.d.ts +1 -0
  91. package/lib/core/models/SNO/MBeneficiario.model.d.ts +1 -0
  92. package/lib/core/models/SNO/MCargosPersonal.model.d.ts +1 -0
  93. package/lib/core/models/SNO/MClasificacionObrero.mdel.d.ts +1 -0
  94. package/lib/core/models/SNO/MCodigoUnicoRac.model.d.ts +1 -0
  95. package/lib/core/models/SNO/MComponete.model.d.ts +1 -0
  96. package/lib/core/models/SNO/MConceptoVacaciones.model.d.ts +1 -0
  97. package/lib/core/models/SNO/MConceptosNomina.model.d.ts +1 -0
  98. package/lib/core/models/SNO/MConceptosPersonalNomina.model.d.ts +1 -0
  99. package/lib/core/models/SNO/MConcursante.model.d.ts +5 -0
  100. package/lib/core/models/SNO/MConcurso.model.d.ts +4 -0
  101. package/lib/core/models/SNO/MConfiguracionSNO.model.d.ts +1 -0
  102. package/lib/core/models/SNO/MConstanteNomina.model.d.ts +1 -0
  103. package/lib/core/models/SNO/MConstantePersonalNomina.model.d.ts +1 -0
  104. package/lib/core/models/SNO/MDedicacion.model.d.ts +1 -0
  105. package/lib/core/models/SNO/MDefinicionNomina.model.d.ts +1 -0
  106. package/lib/core/models/SNO/MDefinicionesBasicas.model.d.ts +3 -0
  107. package/lib/core/models/SNO/MDeudaAnterior.model.d.ts +1 -0
  108. package/lib/core/models/SNO/MEncargaduria.model.d.ts +1 -0
  109. package/lib/core/models/SNO/MEscalaEvaluacion.model.d.ts +1 -0
  110. package/lib/core/models/SNO/MEscalaEvaluacionDt.model.d.ts +1 -0
  111. package/lib/core/models/SNO/MEstructuraOrganizativa.model.d.ts +1 -0
  112. package/lib/core/models/SNO/MFamiliares.model.d.ts +1 -0
  113. package/lib/core/models/SNO/MFideicomiso.model.d.ts +8 -0
  114. package/lib/core/models/SNO/MFormacionAcademica.model.d.ts +1 -0
  115. package/lib/core/models/SNO/MGrado.model.d.ts +1 -0
  116. package/lib/core/models/SNO/MHojaTiempo.model.d.ts +2 -0
  117. package/lib/core/models/SNO/MImpuestoSobreRenta.model.d.ts +1 -0
  118. package/lib/core/models/SNO/MMetodoBanco.model.d.ts +2 -0
  119. package/lib/core/models/SNO/MNominaSimple.model.d.ts +1 -0
  120. package/lib/core/models/SNO/MPeriodoNomina.model.d.ts +1 -0
  121. package/lib/core/models/SNO/MPermisos.model.d.ts +1 -0
  122. package/lib/core/models/SNO/MPersonal.model.d.ts +6 -0
  123. package/lib/core/models/SNO/MPersonalJubilado.model.d.ts +1 -0
  124. package/lib/core/models/SNO/MPersonalNomina.model.d.ts +4 -0
  125. package/lib/core/models/SNO/MPlanHorario.model.d.ts +8 -13
  126. package/lib/core/models/SNO/MPrestamo.model.d.ts +3 -0
  127. package/lib/core/models/SNO/MPrimaGrados.model.d.ts +1 -0
  128. package/lib/core/models/SNO/MPrimasConcepto.model.d.ts +1 -0
  129. package/lib/core/models/SNO/MRango.model.d.ts +1 -0
  130. package/lib/core/models/SNO/MRequisitosConcursante.model.d.ts +1 -0
  131. package/lib/core/models/SNO/MRequisitosConcursos.model.d.ts +1 -0
  132. package/lib/core/models/SNO/MRequisitosMinimos.model.d.ts +2 -0
  133. package/lib/core/models/SNO/MSalarioHistorico.model.d.ts +1 -0
  134. package/lib/core/models/SNO/MSolicitudEmpleo.model.d.ts +1 -0
  135. package/lib/core/models/SNO/MTablaVacaciones.model.d.ts +1 -0
  136. package/lib/core/models/SNO/MTablaVacacionesPeriodo.model.d.ts +1 -0
  137. package/lib/core/models/SNO/MTabulador.model.d.ts +2 -0
  138. package/lib/core/models/SNO/MTipoEvaluacion.model.d.ts +2 -0
  139. package/lib/core/models/SNO/MTipoPersonal.model.d.ts +1 -0
  140. package/lib/core/models/SNO/MTiposEnfermedad.model.d.ts +1 -0
  141. package/lib/core/models/SNO/MTrabajoAnterior.model.d.ts +1 -0
  142. package/lib/core/models/SNO/MUbicacionFisica.model.d.ts +1 -0
  143. package/lib/core/models/SNO/MVacacionesPersonal.model.d.ts +1 -0
  144. package/lib/core/models/SNO/McargaFamiliar.model.d.ts +1 -0
  145. package/package.json +1 -1
  146. package/public-api.d.ts +1 -1
  147. package/sigesp.metadata.json +1 -1
@@ -3,6 +3,7 @@ export class MPersonalNomina extends MBasicModel {
3
3
  constructor(e = null) {
4
4
  super();
5
5
  this.idEmpresa = 0;
6
+ this.idEnterprise = 0;
6
7
  this.idPersonalNomina = 0;
7
8
  this.idPersonal = 0;
8
9
  this.idNomina = 1;
@@ -89,8 +90,12 @@ export class MPersonalNomina extends MBasicModel {
89
90
  this.idClasificadorDocente = 0;
90
91
  this.codigoClasificador = '';
91
92
  this.denominacionClasificador = '';
93
+ this.idPlanHorario = 0;
94
+ this.codigoPlanHorario = '';
95
+ this.denominacionPlanHorario = '';
92
96
  if (e) {
93
- this.idEmpresa = parseInt(e.id_empresa);
97
+ this.idEnterprise = +e.id_enterprise;
98
+ this.idEmpresa = e.id_empresa;
94
99
  this.idPersonalNomina = parseInt(e.id_personalnomina);
95
100
  this.idPersonal = parseInt(e.id_personal);
96
101
  this.idNomina = parseInt(e.id_nomina);
@@ -196,6 +201,9 @@ export class MPersonalNomina extends MBasicModel {
196
201
  this.nombreBanco = e.codban_ctaper;
197
202
  this.idBanco = parseInt(e.id_banco_ctaper);
198
203
  }
204
+ this.idPlanHorario = +e.id_planhor;
205
+ this.codigoPlanHorario = e.codplanhor;
206
+ this.denominacionPlanHorario = e.denplanhor;
199
207
  }
200
208
  else {
201
209
  this.isNew = true;
@@ -211,7 +219,8 @@ export class MPersonalNomina extends MBasicModel {
211
219
  this.codigoGrado = '0';
212
220
  }
213
221
  return {
214
- id_empresa: this.idEmpresa.toString(),
222
+ id_empresa: this.idEmpresa,
223
+ id_enterprise: this.idEnterprise.toString(),
215
224
  id_personalnomina: this.idPersonalNomina.toString(),
216
225
  id_personal: this.idPersonal.toString(),
217
226
  id_nomina: this.idNomina.toString(),
@@ -292,7 +301,8 @@ export class MPersonalNomina extends MBasicModel {
292
301
  monsalgra: this.montoSaldoGrado.toString(),
293
302
  apeper: this.apellidoPersonal,
294
303
  id_clasificacion_docente: this.idClasificadorDocente.toString(),
304
+ id_planhor: this.idPlanHorario.toString()
295
305
  };
296
306
  }
297
307
  }
298
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTVBlcnNvbmFsTm9taW5hLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L0FwcFNlcnYvd3d3L3NpZ2VzcHYzKGdpdCkvc2lnZXNwLWVzdGFibGUvc2lnZXNwX2NvcmUvcHJvamVjdHMvc2lnZXNwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9TTk8vTVBlcnNvbmFsTm9taW5hLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBMEY1QyxZQUFZLElBQWtCLElBQUk7UUFDOUIsS0FBSyxFQUFFLENBQUE7UUExRkQsY0FBUyxHQUFRLENBQUMsQ0FBQztRQUNuQixxQkFBZ0IsR0FBUSxDQUFDLENBQUM7UUFDMUIsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUNwQixhQUFRLEdBQVEsQ0FBQyxDQUFDO1FBQ2xCLHNCQUFpQixHQUFRLENBQUMsQ0FBQztRQUMzQixvQkFBZSxHQUFRLENBQUMsQ0FBQztRQUN6QixnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUN0QixlQUFVLEdBQVEsRUFBRSxDQUFDO1FBQ3JCLG1CQUFjLEdBQVEsQ0FBQyxDQUFDO1FBQ3hCLG1CQUFjLEdBQVEsQ0FBQyxDQUFDO1FBQ3hCLGtCQUFhLEdBQVEsQ0FBQyxDQUFDO1FBQ3ZCLHlCQUFvQixHQUFRLENBQUMsQ0FBQztRQUM5QiwwQkFBcUIsR0FBUSxDQUFDLENBQUM7UUFDL0IsaUJBQVksR0FBUSxZQUFZLENBQUM7UUFDakMsbUJBQWMsR0FBUSxDQUFDLENBQUM7UUFDeEIsd0JBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQzlCLDZCQUF3QixHQUFRLFlBQVksQ0FBQTtRQUM1QyxpQkFBWSxHQUFRLENBQUMsQ0FBQztRQUN0QixtQkFBYyxHQUFRLENBQUMsQ0FBQztRQUN4QiwrQkFBMEIsR0FBUSxDQUFDLENBQUM7UUFDcEMsZ0JBQVcsR0FBUSxDQUFDLENBQUM7UUFDckIsMkJBQXNCLEdBQVEsQ0FBQyxDQUFDO1FBQ2hDLCtCQUEwQixHQUFRLENBQUMsQ0FBQztRQUNwQywyQkFBc0IsR0FBUSxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFRLENBQUMsQ0FBQztRQUNuQix3QkFBbUIsR0FBUSxZQUFZLENBQUM7UUFDeEMsd0JBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQzlCLDRCQUF1QixHQUFRLFlBQVksQ0FBQztRQUM1QyxzQkFBaUIsR0FBUSxDQUFDLENBQUM7UUFDM0Isb0JBQWUsR0FBUSxFQUFFLENBQUMsQ0FBQyxLQUFLO1FBQ2hDLHVCQUFrQixHQUFRLE1BQU0sQ0FBQTtRQUNoQyx3QkFBbUIsR0FBUSxLQUFLLENBQUE7UUFDaEMsd0JBQW1CLEdBQVEsQ0FBQyxDQUFDO1FBQzdCLHlCQUFvQixHQUFRLENBQUMsQ0FBQztRQUM5Qix3QkFBbUIsR0FBUSxZQUFZLENBQUM7UUFDeEMsK0JBQTBCLEdBQVEsRUFBRSxDQUFDO1FBQ3JDLHdCQUFtQixHQUFRLENBQUMsQ0FBQztRQUM3QixnQ0FBMkIsR0FBUSxDQUFDLENBQUM7UUFDckMsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFDdEIsa0JBQWEsR0FBUSxFQUFFLENBQUM7UUFDeEIsWUFBTyxHQUFRLENBQUMsQ0FBQztRQUNqQixnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUN0QixzQkFBaUIsR0FBUSxLQUFLLENBQUM7UUFDL0IsbUJBQWMsR0FBUSxFQUFFLENBQUM7UUFDekIsbUJBQWMsR0FBUSxFQUFFLENBQUM7UUFDekIsbUJBQWMsR0FBUSxFQUFFLENBQUM7UUFDekIsMEJBQXFCLEdBQVEsRUFBRSxDQUFDO1FBQ2hDLGdDQUEyQixHQUFRLEVBQUUsQ0FBQztRQUN0Qyx3QkFBbUIsR0FBUSxFQUFFLENBQUM7UUFDOUIsOEJBQXlCLEdBQVEsRUFBRSxDQUFDO1FBQ3BDLHNCQUFpQixHQUFRLEVBQUUsQ0FBQztRQUM1Qiw0QkFBdUIsR0FBUSxFQUFFLENBQUM7UUFDbEMsd0JBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQzlCLHFCQUFnQixHQUFRLEVBQUUsQ0FBQztRQUMzQiwyQkFBc0IsR0FBUSxFQUFFLENBQUM7UUFDakMsdUJBQWtCLEdBQVEsRUFBRSxDQUFDO1FBQzdCLDZCQUF3QixHQUFRLEVBQUUsQ0FBQztRQUNuQyxvQkFBZSxHQUFRLEVBQUUsQ0FBQztRQUMxQiwwQkFBcUIsR0FBUSxFQUFFLENBQUM7UUFDaEMsa0JBQWEsR0FBUSxFQUFFLENBQUM7UUFDeEIsd0JBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQzlCLDBCQUFxQixHQUFRLEVBQUUsQ0FBQztRQUNoQyxnQ0FBMkIsR0FBUSxFQUFFLENBQUM7UUFDdEMsNEJBQXVCLEdBQVEsRUFBRSxDQUFDO1FBQ2xDLGtDQUE2QixHQUFRLEVBQUUsQ0FBQztRQUN4Qyw0QkFBdUIsR0FBUSxFQUFFLENBQUM7UUFDbEMsdUJBQWtCLEdBQVEsRUFBRSxDQUFDO1FBQzdCLHdCQUFtQixHQUFTLFlBQVksQ0FBQztRQUN6QyxnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUN0QiwwQkFBcUIsR0FBUSxDQUFDLENBQUM7UUFDL0IsbUJBQWMsR0FBUSxFQUFFLENBQUM7UUFDekIscUJBQWdCLEdBQVEsQ0FBQyxDQUFDO1FBQzFCLDJCQUFzQixHQUFRLENBQUMsQ0FBQztRQUNoQyxtQkFBYyxHQUFRLENBQUMsQ0FBQztRQUN4QixtQkFBYyxHQUFRLENBQUMsQ0FBQztRQUN4QixpQkFBWSxHQUFTLEtBQUssQ0FBQztRQUMzQixvQkFBZSxHQUFRLENBQUMsQ0FBQztRQUN6QixxQkFBZ0IsR0FBUSxFQUFFLENBQUM7UUFDM0Isd0JBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQzlCLG1CQUFjLEdBQVEsRUFBRSxDQUFDO1FBQ3pCLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsc0JBQWlCLEdBQVEsRUFBRSxDQUFDO1FBQzVCLGlCQUFZLEdBQVEsQ0FBQyxDQUFDO1FBQ3RCLGlCQUFZLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLDBCQUFxQixHQUFRLENBQUMsQ0FBQztRQUMvQix1QkFBa0IsR0FBUSxFQUFFLENBQUM7UUFDN0IsNkJBQXdCLEdBQVEsRUFBRSxDQUFDO1FBS3pDLElBQUksQ0FBQyxFQUFDO1lBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXRDLElBQUksQ0FBQyxnQkFBZ0IsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsZUFBZSxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUN6QixJQUFJLENBQUMsY0FBYyxHQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxhQUFhLEdBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsb0JBQW9CLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMscUJBQXFCLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsWUFBWSxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3JDLElBQUksQ0FBQyx3QkFBd0IsR0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1lBQzVDLElBQUksQ0FBQyxZQUFZLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLDBCQUEwQixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLFdBQVcsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxzQkFBc0IsR0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDekMsSUFBSSxDQUFDLDBCQUEwQixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLHNCQUFzQixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxtQkFBbUIsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxtQkFBbUIsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3JDLElBQUksQ0FBQyx1QkFBdUIsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxpQkFBaUIsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxlQUFlLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNqQyxJQUFJLENBQUMsa0JBQWtCLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNqQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNsQyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsb0JBQW9CLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsbUJBQW1CLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNyQyxJQUFJLENBQUMsMEJBQTBCLEdBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUM3QyxJQUFJLENBQUMsbUJBQW1CLEdBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3RDLElBQUksQ0FBQywyQkFBMkIsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxXQUFXLEdBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUMvQixJQUFJLENBQUMsYUFBYSxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDNUIsSUFBSSxDQUFDLGNBQWMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUM3QixJQUFJLENBQUMsWUFBWSxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLGNBQWMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzdCLElBQUksQ0FBQyxxQkFBcUIsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3ZDLElBQUksQ0FBQywyQkFBMkIsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzdDLElBQUksQ0FBQyxtQkFBbUIsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ2xDLElBQUksQ0FBQyx5QkFBeUIsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxpQkFBaUIsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ25DLElBQUksQ0FBQyx1QkFBdUIsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxtQkFBbUIsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQy9CLElBQUksQ0FBQyxzQkFBc0IsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxrQkFBa0IsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3BDLElBQUksQ0FBQyx3QkFBd0IsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzFDLElBQUksQ0FBQyxlQUFlLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUM5QixJQUFJLENBQUMscUJBQXFCLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNwQyxJQUFJLENBQUMsYUFBYSxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDNUIsSUFBSSxDQUFDLG1CQUFtQixHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDbEMsSUFBSSxDQUFDLHFCQUFxQixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdkMsSUFBSSxDQUFDLDJCQUEyQixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0MsSUFBSSxDQUFDLHVCQUF1QixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDekMsSUFBSSxDQUFDLDZCQUE2QixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDL0MsSUFBSSxDQUFDLGtCQUFrQixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDcEMsSUFBSSxDQUFDLG1CQUFtQixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDckMsSUFBSSxDQUFDLGlCQUFpQixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbkMsSUFBSSxDQUFDLHFCQUFxQixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLGdCQUFnQixHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLGNBQWMsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxzQkFBc0IsR0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxjQUFjLEdBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsY0FBYyxHQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsUUFBUSxJQUFFLEdBQUcsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQSxLQUFLLENBQUM7WUFDaEQsSUFBSSxDQUFDLGVBQWUsR0FBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxtQkFBbUIsR0FBQyxDQUFDLENBQUMsTUFBTSxJQUFFLEdBQUcsQ0FBQSxDQUFDLENBQUMsUUFBUSxDQUFBLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxtQkFBbUIsR0FBQyxDQUFDLENBQUMsTUFBTSxJQUFFLEdBQUcsQ0FBQSxDQUFDLENBQUMsWUFBWSxDQUFBLENBQUM7b0JBQ3JELElBQUksQ0FBQyxtQkFBbUIsR0FBQyxDQUFDLENBQUMsTUFBTSxJQUFFLEdBQUcsQ0FBQSxDQUFDLENBQUMsVUFBVSxDQUFBLENBQUMsQ0FBQSxZQUFZLENBQUE7WUFDL0QsSUFBSSxDQUFDLGdCQUFnQixHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDL0IsSUFBSSxDQUFDLGNBQWMsR0FBRSxJQUFJLENBQUMsY0FBYyxHQUFDLEdBQUcsR0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7WUFDbkUsSUFBSSxDQUFDLGlCQUFpQixHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDNUIsSUFBSSxDQUFDLHFCQUFxQixHQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDO1lBQ3ZELElBQUksQ0FBQyxrQkFBa0IsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3BDLElBQUksQ0FBQyx3QkFBd0IsR0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUUsQ0FBQyxFQUFDO2dCQUNsQixJQUFJLENBQUMsV0FBVyxHQUFDLENBQUMsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBQyxHQUFHLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUMsR0FBRyxDQUFDO2FBQ3hCO1lBRUQsSUFBRyxJQUFJLENBQUMsV0FBVyxJQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFFLENBQUMsRUFBRTtnQkFDekMsSUFBSSxDQUFDLGNBQWMsR0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO2FBQzVDO1lBQ0QsSUFBRyxJQUFJLENBQUMsaUJBQWlCLElBQUUsR0FBRyxFQUFDO2dCQUMzQixJQUFJLENBQUMsY0FBYyxHQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDekM7WUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEdBQUMsQ0FBQyxFQUFDO2dCQUNqQixJQUFJLENBQUMsV0FBVyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztnQkFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3JDO2lCQUFNO2dCQUNILElBQUksQ0FBQyxXQUFXLEdBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztnQkFDakMsSUFBSSxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDNUM7U0FFSjthQUFNO1lBQ0gsSUFBSSxDQUFDLEtBQUssR0FBQyxJQUFJLENBQUM7U0FDbkI7SUFDTCxDQUFDO0lBRU0sYUFBYTtRQUNoQixJQUFHLElBQUksQ0FBQyxXQUFXLEdBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUUsQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxjQUFjLEdBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUM1QzthQUFNO1lBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUM7WUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBQyxHQUFHLENBQUM7WUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBQyxHQUFHLENBQUM7U0FDeEI7UUFFRCxPQUFPO1lBQ0gsVUFBVSxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO1lBQ3BDLGlCQUFpQixFQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7WUFDbEQsV0FBVyxFQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQ3RDLFNBQVMsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtZQUNsQyxTQUFTLEVBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUMzQyxTQUFTLEVBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFDekMsTUFBTSxFQUFDLElBQUksQ0FBQyxXQUFXO1lBQ3ZCLE1BQU0sRUFBQyxJQUFJLENBQUMsVUFBVTtZQUN0QixNQUFNLEVBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUU7WUFDckMsTUFBTSxFQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFO1lBQ3JDLGNBQWMsRUFBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRTtZQUM1QyxTQUFTLEVBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRTtZQUM5QyxZQUFZLEVBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRTtZQUNsRCxNQUFNLEVBQUMsSUFBSSxDQUFDLFlBQVk7WUFDeEIsTUFBTSxFQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFO1lBQ3JDLFNBQVMsRUFBQyxJQUFJLENBQUMsbUJBQW1CO1lBQ2xDLFdBQVcsRUFBQyxJQUFJLENBQUMsd0JBQXdCO1lBQ3pDLGFBQWEsRUFBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUMxQyxlQUFlLEVBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUU7WUFDOUMsU0FBUyxFQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUU7WUFDcEQsWUFBWSxFQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFO1lBQ3hDLFNBQVMsRUFBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFO1lBQ2hELFNBQVMsRUFBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFO1lBQ3BELFNBQVMsRUFBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFO1lBQ2hELFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtZQUNwQyxTQUFTLEVBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUNsQyxTQUFTLEVBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUNsQyxTQUFTLEVBQUMsSUFBSSxDQUFDLHVCQUF1QjtZQUN0QyxTQUFTLEVBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUMzQyxTQUFTLEVBQUMsSUFBSSxDQUFDLGVBQWU7WUFDOUIsTUFBTSxFQUFDLElBQUksQ0FBQyxrQkFBa0I7WUFDOUIsTUFBTSxFQUFDLElBQUksQ0FBQyxtQkFBbUI7WUFDL0IsY0FBYyxFQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUU7WUFDbEQsU0FBUyxFQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUU7WUFDOUMsU0FBUyxFQUFDLElBQUksQ0FBQyxtQkFBbUI7WUFDbEMsVUFBVSxFQUFDLElBQUksQ0FBQywwQkFBMEI7WUFDMUMsU0FBUyxFQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUU7WUFDN0MsU0FBUyxFQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUU7WUFDckQsV0FBVyxFQUFDLElBQUksQ0FBQyxXQUFXO1lBQzVCLE1BQU0sRUFBQyxJQUFJLENBQUMsYUFBYTtZQUN6QixNQUFNLEVBQUMsSUFBSSxDQUFDLGNBQWM7WUFDMUIsTUFBTSxFQUFDLElBQUksQ0FBQyxjQUFjO1lBQzFCLE1BQU0sRUFBQyxJQUFJLENBQUMsY0FBYztZQUMxQixTQUFTLEVBQUMsSUFBSSxDQUFDLHFCQUFxQjtZQUNwQyxTQUFTLEVBQUMsSUFBSSxDQUFDLDJCQUEyQjtZQUMxQyxNQUFNLEVBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUMvQixNQUFNLEVBQUMsSUFBSSxDQUFDLHlCQUF5QjtZQUNyQyxTQUFTLEVBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUNoQyxTQUFTLEVBQUMsSUFBSSxDQUFDLHVCQUF1QjtZQUN0QyxTQUFTLEVBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUNsQyxNQUFNLEVBQUMsSUFBSSxDQUFDLGdCQUFnQjtZQUM1QixNQUFNLEVBQUMsSUFBSSxDQUFDLHNCQUFzQjtZQUNsQyxTQUFTLEVBQUMsSUFBSSxDQUFDLGtCQUFrQjtZQUNqQyxTQUFTLEVBQUMsSUFBSSxDQUFDLHdCQUF3QjtZQUN2QyxNQUFNLEVBQUMsSUFBSSxDQUFDLGVBQWU7WUFDM0IsTUFBTSxFQUFDLElBQUksQ0FBQyxxQkFBcUI7WUFDakMsTUFBTSxFQUFDLElBQUksQ0FBQyxhQUFhO1lBQ3pCLE1BQU0sRUFBQyxJQUFJLENBQUMsbUJBQW1CO1lBQy9CLFNBQVMsRUFBQyxJQUFJLENBQUMscUJBQXFCO1lBQ3BDLFNBQVMsRUFBQyxJQUFJLENBQUMsMkJBQTJCO1lBQzFDLFNBQVMsRUFBQyxJQUFJLENBQUMsdUJBQXVCO1lBQ3RDLFNBQVMsRUFBQyxJQUFJLENBQUMsNkJBQTZCO1lBQzVDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNqQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDeEIsU0FBUyxFQUFDLElBQUksQ0FBQyxrQkFBa0I7WUFDakMsU0FBUyxFQUFDLElBQUksQ0FBQyxtQkFBbUI7WUFDbEMsU0FBUyxFQUFDLElBQUksQ0FBQyxpQkFBaUI7WUFDaEMsTUFBTSxFQUFDLElBQUksQ0FBQyxXQUFXO1lBQ3ZCLGFBQWEsRUFBQyxJQUFJLENBQUMsV0FBVztZQUM5QixhQUFhLEVBQUMsSUFBSSxDQUFDLFdBQVc7WUFDOUIsZUFBZSxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3ZDLFNBQVMsRUFBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFO1lBQy9DLFNBQVMsRUFBQyxJQUFJLENBQUMsY0FBYztZQUM3QixZQUFZLEVBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRTtZQUM3QyxTQUFTLEVBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtZQUNoRCxPQUFPLEVBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUU7WUFDdEMsT0FBTyxFQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFO1lBQ3RDLFFBQVEsRUFBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUEsQ0FBQyxDQUFBLEdBQUc7WUFDcEMsU0FBUyxFQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFO1lBQ3pDLE1BQU0sRUFBQyxJQUFJLENBQUMsZ0JBQWdCO1lBQzVCLHdCQUF3QixFQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUU7U0FHakUsQ0FBQTtJQUNMLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQZXJzb25hbE5vbWluYSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvTm9taW5hJztcclxuaW1wb3J0IHsgTUJhc2ljTW9kZWwgfSBmcm9tICcuLi9iYXNpYy1tb2RlbC5tb2RlbCc7XHJcblxyXG5leHBvcnQgY2xhc3MgTVBlcnNvbmFsTm9taW5hIGV4dGVuZHMgTUJhc2ljTW9kZWwge1xyXG4gICAgICAgcHVibGljIGlkRW1wcmVzYTpudW1iZXI9MDsgXHJcbiAgICAgICBwdWJsaWMgaWRQZXJzb25hbE5vbWluYTpudW1iZXI9MDsgXHJcbiAgICAgICBwdWJsaWMgaWRQZXJzb25hbDpudW1iZXI9MDsgXHJcbiAgICAgICBwdWJsaWMgaWROb21pbmE6bnVtYmVyPTE7IFxyXG4gICAgICAgcHVibGljIGlkVGFibGFWYWNhY2lvbmVzOm51bWJlcj0xOyBcclxuICAgICAgIHB1YmxpYyBpZENhcmdvUGVyc29uYWw6bnVtYmVyPTA7IFxyXG4gICAgICAgcHVibGljIGNvZGlnb0dyYWRvOnN0cmluZz0nJzsgXHJcbiAgICAgICBwdWJsaWMgY29kaWdvUGFzbzpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgc3VlbGRvUGVyc29uYWw6bnVtYmVyPTA7ICBcclxuICAgICAgIHB1YmxpYyBob3JhUGVyZXJzb25hbDpudW1iZXI9MDsgXHJcbiAgICAgICBwdWJsaWMgaWRPcmdhbmlncmFtYTpudW1iZXI9MDsgIFxyXG4gICAgICAgcHVibGljIHBhZ29Qb3JCYW5jb1BlcnNvbmFsOm51bWJlcj0wO1xyXG4gICAgICAgcHVibGljIGlkQ3VlbnRhQmFuY29QZXJzb25hbDpudW1iZXI9MDtcclxuICAgICAgIHB1YmxpYyBmZWNoYUluZ3Jlc286c3RyaW5nPScxOTAwLTAxLTAxJztcclxuICAgICAgIHB1YmxpYyBzdGF0dXNQZXJzb25hbDpudW1iZXI9MTsgXHJcbiAgICAgICBwdWJsaWMgY3VlbnRhQWJvbm9QZXJzb25hbDpzdHJpbmc9Jyc7IFxyXG4gICAgICAgcHVibGljIGZlY2hhQ3VsbWluYWNpb25Db250cmF0bzpzdHJpbmc9JzE5MDAtMDEtMDEnIFxyXG4gICAgICAgcHVibGljIGlkRGVkaWNhY2lvbjpudW1iZXI9MDsgXHJcbiAgICAgICBwdWJsaWMgaWRUaXBvUGVyc29uYWw6bnVtYmVyPTA7IFxyXG4gICAgICAgcHVibGljIHF1aW5jZW5hVmFjYWNpb25hbFBlcnNvbmFsOm51bWJlcj0wOyBcclxuICAgICAgIHB1YmxpYyBpZFRhYnVsYWRvcjpudW1iZXI9MDsgIFxyXG4gICAgICAgcHVibGljIHN1ZWxkb0ludGVncmFsUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgICAgICBwdWJsaWMgcGFnb0VmZWN0aXZvQ2hlcXVlcGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgICAgICBwdWJsaWMgc3VlbGRvUHJvbWVkaW9QZXJzb25hbDpudW1iZXI9MDsgXHJcbiAgICAgICBwdWJsaWMgaWRBZ2VuY2lhOm51bWJlcj0wOyBcclxuICAgICAgIHB1YmxpYyBmZWNoYUVncmVzb1BlcnNvbmFsOnN0cmluZz0nMTkwMC0wMS0wMSc7XHJcbiAgICAgICBwdWJsaWMgY2F1c2FFZ3Jlc29QZXJzb25hbDpzdHJpbmc9Jyc7IFxyXG4gICAgICAgcHVibGljIGZlY2hhU3VzcGVuY2lvblBlcnNvbmFsOnN0cmluZz0nMTkwMC0wMS0wMSc7XHJcbiAgICAgICBwdWJsaWMgaWRVYmljYWNpb25GaXNpY2E6bnVtYmVyPTA7XHJcbiAgICAgICBwdWJsaWMgdGlwb0Nlc3RhVGlja2V0OnN0cmluZz0nJzsgLy9vam9cclxuICAgICAgIHB1YmxpYyBjb25jZXB0b0p1YmlsYWNpb246c3RyaW5nPScwMDAwJ1xyXG4gICAgICAgcHVibGljIGNhdGVnb3JpYUp1YmlsYWNpb246c3RyaW5nPScwMDEnIFxyXG4gICAgICAgcHVibGljIGlkQ2F0ZWdvcmlhVmlhdGljb3M6bnVtYmVyPTA7XHJcbiAgICAgICBwdWJsaWMgcGFnb1RhcXVpbGxhUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgICAgICBwdWJsaWMgZmVjaGFBc2Nlc29QZXJzb25hbDpzdHJpbmc9JzE5MDAtMDEtMDEnO1xyXG4gICAgICAgcHVibGljIGRlc2NyaXBjaW9uQXNpZ25hY2lvbkNhcmdvOnN0cmluZz0nJzsgXHJcbiAgICAgICBwdWJsaWMgc2FsZG9Ob3JtYWxQZXJzb25hbDpudW1iZXI9MDsgXHJcbiAgICAgICBwdWJsaWMgZXN0YXR1c0VuY2FyZ2FkdXJpYVBlcnNvbmFsOm51bWJlcj0wOyBcclxuICAgICAgIHB1YmxpYyBvYnNlcnZhY2lvbjpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgY29kaWdvVXN1YXJpbzpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgaWRCYW5jbzpudW1iZXI9MDtcclxuICAgICAgIHB1YmxpYyBub21icmVCYW5jbzpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgY29kaWdvQ2VudHJvQ29zdG86c3RyaW5nPSctLS0nOyAgICAgICBcclxuICAgICAgIHB1YmxpYyBub21icmVQZXJzb25hbDpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgY29kaWdvUGVyc29uYWw6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGNlZHVsYVBlcnNvbmFsOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBjb2RpZ29UYWJsYVZhY2FjaW9uZXM6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGRlbm9taW5hY2lvblRhYmxhVmFjYWNpb25lczpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgY29kaWdvQ2FyZ29QZXJzb25hbDpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgZGVub21pbmFjaW9uQ2FyZ29QZXJzb25hbDpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgY29kaWdvT3JnYW5pZ3JhbWE6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGRlbm9taW5hY2lvbk9yZ2FuaWdyYW1hOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBjdWVudGFCYW5jb1BlcnNvbmFsOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBjb2RpZ29EZWRpY2FjaW9uOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBkZW5vbWluYWNpb25EZWRpY2FjaW9uOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBjb2RpZ29UaXBvUGVyc29uYWw6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGRlbm9taW5hY2lvblRpcG9QZXJzb25hbDpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgY29kaWdvVGFidWxhZG9yOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBkZW5vbWluYWNpb25UYWJ1bGFkb3I6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGNvZGlnb0FnZW5jaWE6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGRlbm9taW5hY2lvbkFnZW5jaWE6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGNvZGlnb1ViaWNhY2lvbkZpc2ljYTpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgZGVub21pbmFjaW9uVWJpY2FjaW9uRmlzaWNhOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBjb2RpZ29DYXRlZ29yaWFWaWF0aWNvczpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgZGVub21pbmFjaW9uQ2F0ZWdvcmlhVmlhdGljb3M6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGRlbm9taW5hY2lvbkN1ZW50YUFib25vOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyB0aXBvQ3VlbnRhUGVyc29uYWw6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGZlY2hhSW5ncmVzb1Npc3RlbWE6IHN0cmluZz0nMTkwMC0wMS0wMSc7XHJcbiAgICAgICBwdWJsaWMgY29kaWdvQmFuY286c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGlkQ2xhc2lmaWNhY2lvbk9icmVybzpudW1iZXI9MDtcclxuICAgICAgIHB1YmxpYyBjb2RpZ29Vbmljb1JhYzpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgaWRDb2RpZ29Vbmljb1JhYzpudW1iZXI9MDtcclxuICAgICAgIHB1YmxpYyBtb250b0NvbXBlbnNhY2lvbkdyYWRvOm51bWJlcj0wO1xyXG4gICAgICAgcHVibGljIGhvcmFBZGljaW9uYWwxOm51bWJlcj0wO1xyXG4gICAgICAgcHVibGljIGhvcmFBZGljaW9uYWwyOm51bWJlcj0wOyAgIFxyXG4gICAgICAgcHVibGljIGVzdGF0dXNNUFBQRTpib29sZWFuPWZhbHNlO1xyXG4gICAgICAgcHVibGljIG1vbnRvU2FsZG9HcmFkbzpudW1iZXI9MDtcclxuICAgICAgIHB1YmxpYyBhcGVsbGlkb1BlcnNvbmFsOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBkZW5vbWluYWNpb25Fc3RhdHVzOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBub21icmVDb21wbGV0bzpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgbm9taW5hUmFjOm51bWJlcj0wO1xyXG4gICAgICAgcHVibGljIHNpdHVhY2lvblBlcnNvbmFsOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBtb250b1BlbnNpb246bnVtYmVyPTA7XHJcbiAgICAgICBwdWJsaWMgbmFjaW9uYWxpZGFkOnN0cmluZz0nJzsgICBcclxuICAgICAgIHB1YmxpYyBpZENsYXNpZmljYWRvckRvY2VudGU6bnVtYmVyPTA7XHJcbiAgICAgICBwdWJsaWMgY29kaWdvQ2xhc2lmaWNhZG9yOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBkZW5vbWluYWNpb25DbGFzaWZpY2Fkb3I6c3RyaW5nPScnO1xyXG4gIFxyXG5cclxuICAgIGNvbnN0cnVjdG9yKGU6SVBlcnNvbmFsTm9taW5hPW51bGwpe1xyXG4gICAgICAgIHN1cGVyKClcclxuICAgICAgICBpZiAoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPXBhcnNlSW50KGUuaWRfZW1wcmVzYSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuaWRQZXJzb25hbE5vbWluYT1wYXJzZUludChlLmlkX3BlcnNvbmFsbm9taW5hKTtcclxuICAgICAgICAgICAgdGhpcy5pZFBlcnNvbmFsPXBhcnNlSW50KGUuaWRfcGVyc29uYWwpO1xyXG4gICAgICAgICAgICB0aGlzLmlkTm9taW5hPXBhcnNlSW50KGUuaWRfbm9taW5hKTtcclxuICAgICAgICAgICAgdGhpcy5pZFRhYmxhVmFjYWNpb25lcz1wYXJzZUludChlLmlkX3RhYnZhYyk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRDYXJnb1BlcnNvbmFsPXBhcnNlSW50KGUuaWRfY2FycGVyKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29HcmFkbz1lLmNvZGdyYTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29QYXNvPWUuY29kcGFzO1xyXG4gICAgICAgICAgICB0aGlzLnN1ZWxkb1BlcnNvbmFswqA9cGFyc2VGbG9hdChlLnN1ZXBlcik7XHJcbiAgICAgICAgICAgIHRoaXMuaG9yYVBlcmVyc29uYWw9cGFyc2VJbnQoZS5ob3JwZXIpO1xyXG4gICAgICAgICAgICB0aGlzLmlkT3JnYW5pZ3JhbWHCoD1wYXJzZUludChlLmlkX29yZ2FuaWdyYW1hKTtcclxuICAgICAgICAgICAgdGhpcy5wYWdvUG9yQmFuY29QZXJzb25hbD1wYXJzZUludChlLnBhZ2JhbnBlcik7XHJcbiAgICAgICAgICAgIHRoaXMuaWRDdWVudGFCYW5jb1BlcnNvbmFsPXBhcnNlSW50KGUuaWRfY3RhYmFucGVyKTtcclxuICAgICAgICAgICAgdGhpcy5mZWNoYUluZ3Jlc289ZS5mZWNpbmc7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhdHVzUGVyc29uYWw9cGFyc2VJbnQoZS5zdGFwZXIpO1xyXG4gICAgICAgICAgICB0aGlzLmN1ZW50YUFib25vUGVyc29uYWw9ZS5jdWVhYm9wZXI7XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFDdWxtaW5hY2lvbkNvbnRyYXRvPWUuZmVjY3VsY29udHI7XHJcbiAgICAgICAgICAgIHRoaXMuaWREZWRpY2FjaW9uPXBhcnNlSW50KGUuaWRfZGVkaWNhY2lvbik7XHJcbiAgICAgICAgICAgIHRoaXMuaWRUaXBvUGVyc29uYWw9cGFyc2VJbnQoZS5pZF90aXBvcGVyc29uYWwpO1xyXG4gICAgICAgICAgICB0aGlzLnF1aW5jZW5hVmFjYWNpb25hbFBlcnNvbmFsPXBhcnNlSW50KGUucXVpdmFjcGVyKTtcclxuICAgICAgICAgICAgdGhpcy5pZFRhYnVsYWRvcj1wYXJzZUludChlLmlkX3RhYnVsYWRvcik7XHJcbiAgICAgICAgICAgIHRoaXMuc3VlbGRvSW50ZWdyYWxQZXJzb25hbD0rZS5zdWVpbnRwZXI7XHJcbiAgICAgICAgICAgIHRoaXMucGFnb0VmZWN0aXZvQ2hlcXVlcGVyc29uYWw9cGFyc2VJbnQoZS5wYWdlZmVwZXIpO1xyXG4gICAgICAgICAgICB0aGlzLnN1ZWxkb1Byb21lZGlvUGVyc29uYWw9cGFyc2VJbnQoZS5zdWVwcm9wZXIpO1xyXG4gICAgICAgICAgICB0aGlzLmlkQWdlbmNpYT1wYXJzZUludChlLmlkX2FnZW5jaWEpO1xyXG4gICAgICAgICAgICB0aGlzLmZlY2hhRWdyZXNvUGVyc29uYWw9ZS5mZWNlZ3JwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuY2F1c2FFZ3Jlc29QZXJzb25hbD1lLmNhdWVncnBlcjtcclxuICAgICAgICAgICAgdGhpcy5mZWNoYVN1c3BlbmNpb25QZXJzb25hbD1lLmZlY3N1c3BlcjtcclxuICAgICAgICAgICAgdGhpcy5pZFViaWNhY2lvbkZpc2ljYT1wYXJzZUludChlLmlkX3ViaWZpcyk7XHJcbiAgICAgICAgICAgIHRoaXMudGlwb0Nlc3RhVGlja2V0PWUudGlwY2VzdGljO1xyXG4gICAgICAgICAgICB0aGlzLmNvbmNlcHRvSnViaWxhY2lvbj1lLmNvbmp1YjtcclxuICAgICAgICAgICAgdGhpcy5jYXRlZ29yaWFKdWJpbGFjaW9uPWUuY2F0anViO1xyXG4gICAgICAgICAgICB0aGlzLmlkQ2F0ZWdvcmlhVmlhdGljb3M9cGFyc2VJbnQoZS5pZF9jbGF2aWF0aWNvcyk7XHJcbiAgICAgICAgICAgIHRoaXMucGFnb1RhcXVpbGxhUGVyc29uYWw9cGFyc2VJbnQoZS5wYWd0YXFwZXIpO1xyXG4gICAgICAgICAgICB0aGlzLmZlY2hhQXNjZXNvUGVyc29uYWw9ZS5mZWNhc2NwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcGNpb25Bc2lnbmFjaW9uQ2FyZ289ZS5kZXNjYXNpY2FyO1xyXG4gICAgICAgICAgICB0aGlzLnNhbGRvTm9ybWFsUGVyc29uYWw9K2Uuc2Fsbm9ycGVyO1xyXG4gICAgICAgICAgICB0aGlzLmVzdGF0dXNFbmNhcmdhZHVyaWFQZXJzb25hbD1wYXJzZUludChlLmVzdGVuY3Blcik7XHJcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2YWNpb249ZS5vYnNlcnZhY2lvbjtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29Vc3VhcmlvPWUuY29kdXN1O1xyXG4gICAgICAgICAgICB0aGlzLm5vbWJyZVBlcnNvbmFsPWUubm9tcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1BlcnNvbmFsPWUuY29kcGVyO1xyXG4gICAgICAgICAgICB0aGlzLm5hY2lvbmFsaWRhZD1lLm5hY3Blci50b1VwcGVyQ2FzZSgpO1xyXG4gICAgICAgICAgICB0aGlzLmNlZHVsYVBlcnNvbmFsPWUuY2VkcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1RhYmxhVmFjYWNpb25lcz1lLmNvZHRhYnZhYztcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25UYWJsYVZhY2FjaW9uZXM9ZS5kZW50YWJ2YWM7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQ2FyZ29QZXJzb25hbD1lLmNvZGNhcjtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25DYXJnb1BlcnNvbmFsPWUuZGVzY2FyO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb09yZ2FuaWdyYW1hPWUuY29kZXN0b3JnO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbk9yZ2FuaWdyYW1hPWUuZGVuZXN0b3JnO1xyXG4gICAgICAgICAgICB0aGlzLmN1ZW50YUJhbmNvUGVyc29uYWw9ZS5jdGFiYW5wZXI7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvRGVkaWNhY2lvbj1lLmNvZGRlZDtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25EZWRpY2FjaW9uPWUuZGVuZGVkO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1RpcG9QZXJzb25hbD1lLmNvZHRpcHBlcjtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25UaXBvUGVyc29uYWw9ZS5kZW50aXBwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvVGFidWxhZG9yPWUuY29kdGFiO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvblRhYnVsYWRvcj1lLmRlc3RhYjtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29BZ2VuY2lhPWUuY29kYWdlO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbkFnZW5jaWE9ZS5ub21hZ2U7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvVWJpY2FjaW9uRmlzaWNhPWUuY29kdWJpZmlzO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvblViaWNhY2lvbkZpc2ljYT1lLmRlbnViaWZpcztcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29DYXRlZ29yaWFWaWF0aWNvcz1lLmNvZGNhdHZpYTtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25DYXRlZ29yaWFWaWF0aWNvcz1lLmRlbmNhdHZpYTtcclxuICAgICAgICAgICAgdGhpcy50aXBvQ3VlbnRhUGVyc29uYWw9ZS5ub210aXBjdGE7XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFJbmdyZXNvU2lzdGVtYT1lLmZlY3JlZ3NpcztcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29DZW50cm9Db3N0bz1lLmNvZGNlbmNvcztcclxuICAgICAgICAgICAgdGhpcy5pZENsYXNpZmljYWNpb25PYnJlcm89cGFyc2VJbnQoZS5pZF9jbGFvYnIpO1xyXG4gICAgICAgICAgICB0aGlzLmlkQ29kaWdvVW5pY29SYWM9cGFyc2VJbnQoZS5pZF9jb2R1bmlyYWMpO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1VuaWNvUmFjPWUuY29kdW5pcmFjO1xyXG4gICAgICAgICAgICB0aGlzLm1vbnRvQ29tcGVuc2FjaW9uR3JhZG89cGFyc2VGbG9hdChlLm1vbmNvbWdyYSk7XHJcbiAgICAgICAgICAgIHRoaXMuaG9yYUFkaWNpb25hbDE9cGFyc2VGbG9hdChlLmhvcmFkaTEpO1xyXG4gICAgICAgICAgICB0aGlzLmhvcmFBZGljaW9uYWwyPXBhcnNlRmxvYXQoZS5ob3JhZGkyKTsgICBcclxuICAgICAgICAgICAgdGhpcy5lc3RhdHVzTVBQUEUgPSBlLmVzdG1wcHBlPT0nMSc/IHRydWU6ZmFsc2U7IFxyXG4gICAgICAgICAgICB0aGlzLm1vbnRvU2FsZG9HcmFkbz0gcGFyc2VGbG9hdChlLm1vbnNhbGdyYSk7XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uRXN0YXR1cz1lLnN0YXBlcj09JzEnPyAnQUNUSVZPJzogXHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uRXN0YXR1cz1lLnN0YXBlcj09JzInPyAnVkFDQUNJT05FUyc6XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uRXN0YXR1cz1lLnN0YXBlcj09JzMnPyAnRUdSRVNBRE8nOidTVVNQRU5ESURPJyAgICAgICAgICBcclxuICAgICAgICAgICAgdGhpcy5hcGVsbGlkb1BlcnNvbmFsPWUuYXBlcGVyO1xyXG4gICAgICAgICAgICB0aGlzLm5vbWJyZUNvbXBsZXRvPSB0aGlzLm5vbWJyZVBlcnNvbmFsKycgJyt0aGlzLmFwZWxsaWRvUGVyc29uYWw7XHJcbiAgICAgICAgICAgIHRoaXMuc2l0dWFjaW9uUGVyc29uYWw9ZS5zaXR1YWNpb247ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMubW9udG9QZW5zaW9uPStlLm1vbnBlbjtcclxuICAgICAgICAgICAgdGhpcy5pZENsYXNpZmljYWRvckRvY2VudGU9K2UuaWRfY2xhc2lmaWNhY2lvbl9kb2NlbnRlO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb0NsYXNpZmljYWRvcj1lLmNvZGNsYWRvYztcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25DbGFzaWZpY2Fkb3I9ZS5kZW5jbGFkZWM7XHJcbiAgICAgICAgICAgIHRoaXMubm9taW5hUmFjPXBhcnNlSW50KGUucmFjbm9tKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMubm9taW5hUmFjPT0wKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuaWRUYWJ1bGFkb3I9MDtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29kaWdvUGFzbz0nMCc7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvZGlnb0dyYWRvPScwJztcclxuICAgICAgICAgICAgfSBcclxuXHJcbiAgICAgICAgICAgIGlmKHRoaXMuaWRUYWJ1bGFkb3I+PTAgJiYgdGhpcy5ub21pbmFSYWM9PTEgKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3VlbGRvUGVyc29uYWw9dGhpcy5tb250b1NhbGRvR3JhZG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYodGhpcy5zaXR1YWNpb25QZXJzb25hbD09J0onKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3VlbGRvUGVyc29uYWw9dGhpcy5tb250b1BlbnNpb247XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlkQWdlbmNpYT4wKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29kaWdvQmFuY289ZS5jb2RiYW47XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vbWJyZUJhbmNvPWUubm9tYmFuO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pZEJhbmNvPXBhcnNlSW50KGUuaWRfYmFuY28pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb2RpZ29CYW5jbz1lLm5vbWJhbl9jdGFwZXI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vbWJyZUJhbmNvPWUuY29kYmFuX2N0YXBlcjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaWRCYW5jbz1wYXJzZUludChlLmlkX2JhbmNvX2N0YXBlcik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pc05ldz10cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklQZXJzb25hbE5vbWluYXtcclxuICAgICAgICBpZih0aGlzLmlkVGFidWxhZG9yPjAgJiYgdGhpcy5ub21pbmFSYWM9PTEgKXtcclxuICAgICAgICAgICAgdGhpcy5zdWVsZG9QZXJzb25hbD10aGlzLm1vbnRvU2FsZG9HcmFkbztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmlkVGFidWxhZG9yPTA7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvUGFzbz0nMCc7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvR3JhZG89JzAnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHsgICAgICAgICAgICBcclxuICAgICAgICAgICAgaWRfZW1wcmVzYTp0aGlzLmlkRW1wcmVzYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9wZXJzb25hbG5vbWluYTp0aGlzLmlkUGVyc29uYWxOb21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfcGVyc29uYWw6dGhpcy5pZFBlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX25vbWluYTp0aGlzLmlkTm9taW5hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX3RhYnZhYzp0aGlzLmlkVGFibGFWYWNhY2lvbmVzLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2NhcnBlcjp0aGlzLmlkQ2FyZ29QZXJzb25hbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBjb2RncmE6dGhpcy5jb2RpZ29HcmFkbyxcclxuICAgICAgICAgICAgY29kcGFzOnRoaXMuY29kaWdvUGFzbyxcclxuICAgICAgICAgICAgc3VlcGVyOnRoaXMuc3VlbGRvUGVyc29uYWwudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaG9ycGVyOnRoaXMuaG9yYVBlcmVyc29uYWwudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfb3JnYW5pZ3JhbWE6dGhpcy5pZE9yZ2FuaWdyYW1hLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIHBhZ2JhbnBlcjp0aGlzLnBhZ29Qb3JCYW5jb1BlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2N0YWJhbnBlcjp0aGlzLmlkQ3VlbnRhQmFuY29QZXJzb25hbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBmZWNpbmc6dGhpcy5mZWNoYUluZ3Jlc28sXHJcbiAgICAgICAgICAgIHN0YXBlcjp0aGlzLnN0YXR1c1BlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGN1ZWFib3Blcjp0aGlzLmN1ZW50YUFib25vUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGZlY2N1bGNvbnRyOnRoaXMuZmVjaGFDdWxtaW5hY2lvbkNvbnRyYXRvLFxyXG4gICAgICAgICAgICBpZF9kZWRpY2FjaW9uOnRoaXMuaWREZWRpY2FjaW9uLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX3RpcG9wZXJzb25hbDp0aGlzLmlkVGlwb1BlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIHF1aXZhY3Blcjp0aGlzLnF1aW5jZW5hVmFjYWNpb25hbFBlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX3RhYnVsYWRvcjp0aGlzLmlkVGFidWxhZG9yLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIHN1ZWludHBlcjp0aGlzLnN1ZWxkb0ludGVncmFsUGVyc29uYWwudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgcGFnZWZlcGVyOnRoaXMucGFnb0VmZWN0aXZvQ2hlcXVlcGVyc29uYWwudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgc3VlcHJvcGVyOnRoaXMuc3VlbGRvUHJvbWVkaW9QZXJzb25hbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9hZ2VuY2lhOnRoaXMuaWRBZ2VuY2lhLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGZlY2VncnBlcjp0aGlzLmZlY2hhRWdyZXNvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGNhdWVncnBlcjp0aGlzLmNhdXNhRWdyZXNvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGZlY3N1c3Blcjp0aGlzLmZlY2hhU3VzcGVuY2lvblBlcnNvbmFsLFxyXG4gICAgICAgICAgICBpZF91YmlmaXM6dGhpcy5pZFViaWNhY2lvbkZpc2ljYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICB0aXBjZXN0aWM6dGhpcy50aXBvQ2VzdGFUaWNrZXQsXHJcbiAgICAgICAgICAgIGNvbmp1Yjp0aGlzLmNvbmNlcHRvSnViaWxhY2lvbixcclxuICAgICAgICAgICAgY2F0anViOnRoaXMuY2F0ZWdvcmlhSnViaWxhY2lvbixcclxuICAgICAgICAgICAgaWRfY2xhdmlhdGljb3M6dGhpcy5pZENhdGVnb3JpYVZpYXRpY29zLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIHBhZ3RhcXBlcjp0aGlzLnBhZ29UYXF1aWxsYVBlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGZlY2FzY3Blcjp0aGlzLmZlY2hhQXNjZXNvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGRlc2Nhc2ljYXI6dGhpcy5kZXNjcmlwY2lvbkFzaWduYWNpb25DYXJnbyxcclxuICAgICAgICAgICAgc2Fsbm9ycGVyOnRoaXMuc2FsZG9Ob3JtYWxQZXJzb25hbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBlc3RlbmNwZXI6dGhpcy5lc3RhdHVzRW5jYXJnYWR1cmlhUGVyc29uYWwudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgb2JzZXJ2YWNpb246dGhpcy5vYnNlcnZhY2lvbixcclxuICAgICAgICAgICAgY29kdXN1OnRoaXMuY29kaWdvVXN1YXJpbywgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBub21wZXI6dGhpcy5ub21icmVQZXJzb25hbCxcclxuICAgICAgICAgICAgY29kcGVyOnRoaXMuY29kaWdvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGNlZHBlcjp0aGlzLmNlZHVsYVBlcnNvbmFsLFxyXG4gICAgICAgICAgICBjb2R0YWJ2YWM6dGhpcy5jb2RpZ29UYWJsYVZhY2FjaW9uZXMsXHJcbiAgICAgICAgICAgIGRlbnRhYnZhYzp0aGlzLmRlbm9taW5hY2lvblRhYmxhVmFjYWNpb25lcyxcclxuICAgICAgICAgICAgY29kY2FyOnRoaXMuY29kaWdvQ2FyZ29QZXJzb25hbCxcclxuICAgICAgICAgICAgZGVzY2FyOnRoaXMuZGVub21pbmFjaW9uQ2FyZ29QZXJzb25hbCxcclxuICAgICAgICAgICAgY29kZXN0b3JnOnRoaXMuY29kaWdvT3JnYW5pZ3JhbWEsXHJcbiAgICAgICAgICAgIGRlbmVzdG9yZzp0aGlzLmRlbm9taW5hY2lvbk9yZ2FuaWdyYW1hLFxyXG4gICAgICAgICAgICBjdGFiYW5wZXI6dGhpcy5jdWVudGFCYW5jb1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBjb2RkZWQ6dGhpcy5jb2RpZ29EZWRpY2FjaW9uLFxyXG4gICAgICAgICAgICBkZW5kZWQ6dGhpcy5kZW5vbWluYWNpb25EZWRpY2FjaW9uLFxyXG4gICAgICAgICAgICBjb2R0aXBwZXI6dGhpcy5jb2RpZ29UaXBvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGRlbnRpcHBlcjp0aGlzLmRlbm9taW5hY2lvblRpcG9QZXJzb25hbCxcclxuICAgICAgICAgICAgY29kdGFiOnRoaXMuY29kaWdvVGFidWxhZG9yLFxyXG4gICAgICAgICAgICBkZXN0YWI6dGhpcy5kZW5vbWluYWNpb25UYWJ1bGFkb3IsXHJcbiAgICAgICAgICAgIGNvZGFnZTp0aGlzLmNvZGlnb0FnZW5jaWEsXHJcbiAgICAgICAgICAgIG5vbWFnZTp0aGlzLmRlbm9taW5hY2lvbkFnZW5jaWEsXHJcbiAgICAgICAgICAgIGNvZHViaWZpczp0aGlzLmNvZGlnb1ViaWNhY2lvbkZpc2ljYSxcclxuICAgICAgICAgICAgZGVudWJpZmlzOnRoaXMuZGVub21pbmFjaW9uVWJpY2FjaW9uRmlzaWNhLFxyXG4gICAgICAgICAgICBjb2RjYXR2aWE6dGhpcy5jb2RpZ29DYXRlZ29yaWFWaWF0aWNvcyxcclxuICAgICAgICAgICAgZGVuY2F0dmlhOnRoaXMuZGVub21pbmFjaW9uQ2F0ZWdvcmlhVmlhdGljb3MsIFxyXG4gICAgICAgICAgICBpZF9iYW5jbzogdGhpcy5pZEJhbmNvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIG5vbWJhbjogdGhpcy5ub21icmVCYW5jbyxcclxuICAgICAgICAgICAgbm9tdGlwY3RhOnRoaXMudGlwb0N1ZW50YVBlcnNvbmFsLFxyXG4gICAgICAgICAgICBmZWNyZWdzaXM6dGhpcy5mZWNoYUluZ3Jlc29TaXN0ZW1hLFxyXG4gICAgICAgICAgICBjb2RjZW5jb3M6dGhpcy5jb2RpZ29DZW50cm9Db3N0byxcclxuICAgICAgICAgICAgY29kYmFuOnRoaXMuY29kaWdvQmFuY28sXHJcbiAgICAgICAgICAgIG5vbWJhbl9jdGFwZXI6dGhpcy5jb2RpZ29CYW5jbyxcclxuICAgICAgICAgICAgY29kYmFuX2N0YXBlcjp0aGlzLm5vbWJyZUJhbmNvLFxyXG4gICAgICAgICAgICBpZF9iYW5jb19jdGFwZXI6dGhpcy5pZEJhbmNvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2NsYW9icjp0aGlzLmlkQ2xhc2lmaWNhY2lvbk9icmVyby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBjb2R1bmlyYWM6dGhpcy5jb2RpZ29Vbmljb1JhYyxcclxuICAgICAgICAgICAgaWRfY29kdW5pcmFjOnRoaXMuaWRDb2RpZ29Vbmljb1JhYy50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBtb25jb21ncmE6dGhpcy5tb250b0NvbXBlbnNhY2lvbkdyYWRvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGhvcmFkaTE6dGhpcy5ob3JhQWRpY2lvbmFsMS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBob3JhZGkyOnRoaXMuaG9yYUFkaWNpb25hbDIudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgZXN0bXBwcGU6dGhpcy5lc3RhdHVzTVBQUEUgPyAnMSc6JzAnLFxyXG4gICAgICAgICAgICBtb25zYWxncmE6dGhpcy5tb250b1NhbGRvR3JhZG8udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgYXBlcGVyOnRoaXMuYXBlbGxpZG9QZXJzb25hbCxcclxuICAgICAgICAgICAgaWRfY2xhc2lmaWNhY2lvbl9kb2NlbnRlOnRoaXMuaWRDbGFzaWZpY2Fkb3JEb2NlbnRlLnRvU3RyaW5nKCksXHJcblxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgIFxyXG59XHJcblxyXG4gICAgICAgIFxyXG5cclxuXHJcblxyXG5cclxuXHJcbiJdfQ==
308
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTVBlcnNvbmFsTm9taW5hLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L0FwcFNlcnYvd3d3L3NpZ2VzcHYzKGdpdCkvc2lnZXNwLWVzdGFibGUvc2lnZXNwX2NvcmUvcHJvamVjdHMvc2lnZXNwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9TTk8vTVBlcnNvbmFsTm9taW5hLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBOEY1QyxZQUFZLElBQWtCLElBQUk7UUFDOUIsS0FBSyxFQUFFLENBQUE7UUE5RkQsY0FBUyxHQUFRLENBQUMsQ0FBQztRQUNuQixpQkFBWSxHQUFRLENBQUMsQ0FBQztRQUN0QixxQkFBZ0IsR0FBUSxDQUFDLENBQUM7UUFDMUIsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUNwQixhQUFRLEdBQVEsQ0FBQyxDQUFDO1FBQ2xCLHNCQUFpQixHQUFRLENBQUMsQ0FBQztRQUMzQixvQkFBZSxHQUFRLENBQUMsQ0FBQztRQUN6QixnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUN0QixlQUFVLEdBQVEsRUFBRSxDQUFDO1FBQ3JCLG1CQUFjLEdBQVEsQ0FBQyxDQUFDO1FBQ3hCLG1CQUFjLEdBQVEsQ0FBQyxDQUFDO1FBQ3hCLGtCQUFhLEdBQVEsQ0FBQyxDQUFDO1FBQ3ZCLHlCQUFvQixHQUFRLENBQUMsQ0FBQztRQUM5QiwwQkFBcUIsR0FBUSxDQUFDLENBQUM7UUFDL0IsaUJBQVksR0FBUSxZQUFZLENBQUM7UUFDakMsbUJBQWMsR0FBUSxDQUFDLENBQUM7UUFDeEIsd0JBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQzlCLDZCQUF3QixHQUFRLFlBQVksQ0FBQTtRQUM1QyxpQkFBWSxHQUFRLENBQUMsQ0FBQztRQUN0QixtQkFBYyxHQUFRLENBQUMsQ0FBQztRQUN4QiwrQkFBMEIsR0FBUSxD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SSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtZQUNoRCxPQUFPLEVBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUU7WUFDdEMsT0FBTyxFQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFO1lBQ3RDLFFBQVEsRUFBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUEsQ0FBQyxDQUFBLEdBQUc7WUFDcEMsU0FBUyxFQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFO1lBQ3pDLE1BQU0sRUFBQyxJQUFJLENBQUMsZ0JBQWdCO1lBQzVCLHdCQUF3QixFQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUU7WUFDOUQsVUFBVSxFQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFO1NBQzNDLENBQUE7SUFDTCxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUGVyc29uYWxOb21pbmEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL05vbWluYSc7XHJcbmltcG9ydCB7IE1CYXNpY01vZGVsIH0gZnJvbSAnLi4vYmFzaWMtbW9kZWwubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNsYXNzIE1QZXJzb25hbE5vbWluYSBleHRlbmRzIE1CYXNpY01vZGVsIHtcclxuICAgICAgIHB1YmxpYyBpZEVtcHJlc2E6bnVtYmVyPTA7IFxyXG4gICAgICAgcHVibGljIGlkRW50ZXJwcmlzZTpudW1iZXI9MDtcclxuICAgICAgIHB1YmxpYyBpZFBlcnNvbmFsTm9taW5hOm51bWJlcj0wOyBcclxuICAgICAgIHB1YmxpYyBpZFBlcnNvbmFsOm51bWJlcj0wOyBcclxuICAgICAgIHB1YmxpYyBpZE5vbWluYTpudW1iZXI9MTsgXHJcbiAgICAgICBwdWJsaWMgaWRUYWJsYVZhY2FjaW9uZXM6bnVtYmVyPTE7IFxyXG4gICAgICAgcHVibGljIGlkQ2FyZ29QZXJzb25hbDpudW1iZXI9MDsgXHJcbiAgICAgICBwdWJsaWMgY29kaWdvR3JhZG86c3RyaW5nPScnOyBcclxuICAgICAgIHB1YmxpYyBjb2RpZ29QYXNvOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBzdWVsZG9QZXJzb25hbDpudW1iZXI9MDsgIFxyXG4gICAgICAgcHVibGljIGhvcmFQZXJlcnNvbmFsOm51bWJlcj0wOyBcclxuICAgICAgIHB1YmxpYyBpZE9yZ2FuaWdyYW1hOm51bWJlcj0wOyAgXHJcbiAgICAgICBwdWJsaWMgcGFnb1BvckJhbmNvUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgICAgICBwdWJsaWMgaWRDdWVudGFCYW5jb1BlcnNvbmFsOm51bWJlcj0wO1xyXG4gICAgICAgcHVibGljIGZlY2hhSW5ncmVzbzpzdHJpbmc9JzE5MDAtMDEtMDEnO1xyXG4gICAgICAgcHVibGljIHN0YXR1c1BlcnNvbmFsOm51bWJlcj0xOyBcclxuICAgICAgIHB1YmxpYyBjdWVudGFBYm9ub1BlcnNvbmFsOnN0cmluZz0nJzsgXHJcbiAgICAgICBwdWJsaWMgZmVjaGFDdWxtaW5hY2lvbkNvbnRyYXRvOnN0cmluZz0nMTkwMC0wMS0wMScgXHJcbiAgICAgICBwdWJsaWMgaWREZWRpY2FjaW9uOm51bWJlcj0wOyBcclxuICAgICAgIHB1YmxpYyBpZFRpcG9QZXJzb25hbDpudW1iZXI9MDsgXHJcbiAgICAgICBwdWJsaWMgcXVpbmNlbmFWYWNhY2lvbmFsUGVyc29uYWw6bnVtYmVyPTA7IFxyXG4gICAgICAgcHVibGljIGlkVGFidWxhZG9yOm51bWJlcj0wOyAgXHJcbiAgICAgICBwdWJsaWMgc3VlbGRvSW50ZWdyYWxQZXJzb25hbDpudW1iZXI9MDtcclxuICAgICAgIHB1YmxpYyBwYWdvRWZlY3Rpdm9DaGVxdWVwZXJzb25hbDpudW1iZXI9MDtcclxuICAgICAgIHB1YmxpYyBzdWVsZG9Qcm9tZWRpb1BlcnNvbmFsOm51bWJlcj0wOyBcclxuICAgICAgIHB1YmxpYyBpZEFnZW5jaWE6bnVtYmVyPTA7IFxyXG4gICAgICAgcHVibGljIGZlY2hhRWdyZXNvUGVyc29uYWw6c3RyaW5nPScxOTAwLTAxLTAxJztcclxuICAgICAgIHB1YmxpYyBjYXVzYUVncmVzb1BlcnNvbmFsOnN0cmluZz0nJzsgXHJcbiAgICAgICBwdWJsaWMgZmVjaGFTdXNwZW5jaW9uUGVyc29uYWw6c3RyaW5nPScxOTAwLTAxLTAxJztcclxuICAgICAgIHB1YmxpYyBpZFViaWNhY2lvbkZpc2ljYTpudW1iZXI9MDtcclxuICAgICAgIHB1YmxpYyB0aXBvQ2VzdGFUaWNrZXQ6c3RyaW5nPScnOyAvL29qb1xyXG4gICAgICAgcHVibGljIGNvbmNlcHRvSnViaWxhY2lvbjpzdHJpbmc9JzAwMDAnXHJcbiAgICAgICBwdWJsaWMgY2F0ZWdvcmlhSnViaWxhY2lvbjpzdHJpbmc9JzAwMScgXHJcbiAgICAgICBwdWJsaWMgaWRDYXRlZ29yaWFWaWF0aWNvczpudW1iZXI9MDtcclxuICAgICAgIHB1YmxpYyBwYWdvVGFxdWlsbGFQZXJzb25hbDpudW1iZXI9MDtcclxuICAgICAgIHB1YmxpYyBmZWNoYUFzY2Vzb1BlcnNvbmFsOnN0cmluZz0nMTkwMC0wMS0wMSc7XHJcbiAgICAgICBwdWJsaWMgZGVzY3JpcGNpb25Bc2lnbmFjaW9uQ2FyZ286c3RyaW5nPScnOyBcclxuICAgICAgIHB1YmxpYyBzYWxkb05vcm1hbFBlcnNvbmFsOm51bWJlcj0wOyBcclxuICAgICAgIHB1YmxpYyBlc3RhdHVzRW5jYXJnYWR1cmlhUGVyc29uYWw6bnVtYmVyPTA7IFxyXG4gICAgICAgcHVibGljIG9ic2VydmFjaW9uOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBjb2RpZ29Vc3VhcmlvOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBpZEJhbmNvOm51bWJlcj0wO1xyXG4gICAgICAgcHVibGljIG5vbWJyZUJhbmNvOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBjb2RpZ29DZW50cm9Db3N0bzpzdHJpbmc9Jy0tLSc7ICAgICAgIFxyXG4gICAgICAgcHVibGljIG5vbWJyZVBlcnNvbmFsOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBjb2RpZ29QZXJzb25hbDpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgY2VkdWxhUGVyc29uYWw6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGNvZGlnb1RhYmxhVmFjYWNpb25lczpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgZGVub21pbmFjaW9uVGFibGFWYWNhY2lvbmVzOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBjb2RpZ29DYXJnb1BlcnNvbmFsOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBkZW5vbWluYWNpb25DYXJnb1BlcnNvbmFsOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBjb2RpZ29PcmdhbmlncmFtYTpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgZGVub21pbmFjaW9uT3JnYW5pZ3JhbWE6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGN1ZW50YUJhbmNvUGVyc29uYWw6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGNvZGlnb0RlZGljYWNpb246c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGRlbm9taW5hY2lvbkRlZGljYWNpb246c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGNvZGlnb1RpcG9QZXJzb25hbDpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgZGVub21pbmFjaW9uVGlwb1BlcnNvbmFsOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBjb2RpZ29UYWJ1bGFkb3I6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGRlbm9taW5hY2lvblRhYnVsYWRvcjpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgY29kaWdvQWdlbmNpYTpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgZGVub21pbmFjaW9uQWdlbmNpYTpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgY29kaWdvVWJpY2FjaW9uRmlzaWNhOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBkZW5vbWluYWNpb25VYmljYWNpb25GaXNpY2E6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGNvZGlnb0NhdGVnb3JpYVZpYXRpY29zOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBkZW5vbWluYWNpb25DYXRlZ29yaWFWaWF0aWNvczpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgZGVub21pbmFjaW9uQ3VlbnRhQWJvbm86c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIHRpcG9DdWVudGFQZXJzb25hbDpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgZmVjaGFJbmdyZXNvU2lzdGVtYTogc3RyaW5nPScxOTAwLTAxLTAxJztcclxuICAgICAgIHB1YmxpYyBjb2RpZ29CYW5jbzpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgaWRDbGFzaWZpY2FjaW9uT2JyZXJvOm51bWJlcj0wO1xyXG4gICAgICAgcHVibGljIGNvZGlnb1VuaWNvUmFjOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBpZENvZGlnb1VuaWNvUmFjOm51bWJlcj0wO1xyXG4gICAgICAgcHVibGljIG1vbnRvQ29tcGVuc2FjaW9uR3JhZG86bnVtYmVyPTA7XHJcbiAgICAgICBwdWJsaWMgaG9yYUFkaWNpb25hbDE6bnVtYmVyPTA7XHJcbiAgICAgICBwdWJsaWMgaG9yYUFkaWNpb25hbDI6bnVtYmVyPTA7ICAgXHJcbiAgICAgICBwdWJsaWMgZXN0YXR1c01QUFBFOmJvb2xlYW49ZmFsc2U7XHJcbiAgICAgICBwdWJsaWMgbW9udG9TYWxkb0dyYWRvOm51bWJlcj0wO1xyXG4gICAgICAgcHVibGljIGFwZWxsaWRvUGVyc29uYWw6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGRlbm9taW5hY2lvbkVzdGF0dXM6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIG5vbWJyZUNvbXBsZXRvOnN0cmluZz0nJztcclxuICAgICAgIHB1YmxpYyBub21pbmFSYWM6bnVtYmVyPTA7XHJcbiAgICAgICBwdWJsaWMgc2l0dWFjaW9uUGVyc29uYWw6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIG1vbnRvUGVuc2lvbjpudW1iZXI9MDtcclxuICAgICAgIHB1YmxpYyBuYWNpb25hbGlkYWQ6c3RyaW5nPScnOyAgIFxyXG4gICAgICAgcHVibGljIGlkQ2xhc2lmaWNhZG9yRG9jZW50ZTpudW1iZXI9MDtcclxuICAgICAgIHB1YmxpYyBjb2RpZ29DbGFzaWZpY2Fkb3I6c3RyaW5nPScnO1xyXG4gICAgICAgcHVibGljIGRlbm9taW5hY2lvbkNsYXNpZmljYWRvcjpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgaWRQbGFuSG9yYXJpbzpudW1iZXI9MDtcclxuICAgICAgIHB1YmxpYyBjb2RpZ29QbGFuSG9yYXJpbzpzdHJpbmc9Jyc7XHJcbiAgICAgICBwdWJsaWMgZGVub21pbmFjaW9uUGxhbkhvcmFyaW86c3RyaW5nPScnO1xyXG4gIFxyXG5cclxuICAgIGNvbnN0cnVjdG9yKGU6SVBlcnNvbmFsTm9taW5hPW51bGwpe1xyXG4gICAgICAgIHN1cGVyKClcclxuICAgICAgICBpZiAoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbnRlcnByaXNlPStlLmlkX2VudGVycHJpc2U7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPWUuaWRfZW1wcmVzYTsgICAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLmlkUGVyc29uYWxOb21pbmE9cGFyc2VJbnQoZS5pZF9wZXJzb25hbG5vbWluYSk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRQZXJzb25hbD1wYXJzZUludChlLmlkX3BlcnNvbmFsKTtcclxuICAgICAgICAgICAgdGhpcy5pZE5vbWluYT1wYXJzZUludChlLmlkX25vbWluYSk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRUYWJsYVZhY2FjaW9uZXM9cGFyc2VJbnQoZS5pZF90YWJ2YWMpO1xyXG4gICAgICAgICAgICB0aGlzLmlkQ2FyZ29QZXJzb25hbD1wYXJzZUludChlLmlkX2NhcnBlcik7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvR3JhZG89ZS5jb2RncmE7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvUGFzbz1lLmNvZHBhcztcclxuICAgICAgICAgICAgdGhpcy5zdWVsZG9QZXJzb25hbMKgPXBhcnNlRmxvYXQoZS5zdWVwZXIpO1xyXG4gICAgICAgICAgICB0aGlzLmhvcmFQZXJlcnNvbmFsPXBhcnNlSW50KGUuaG9ycGVyKTtcclxuICAgICAgICAgICAgdGhpcy5pZE9yZ2FuaWdyYW1hwqA9cGFyc2VJbnQoZS5pZF9vcmdhbmlncmFtYSk7XHJcbiAgICAgICAgICAgIHRoaXMucGFnb1BvckJhbmNvUGVyc29uYWw9cGFyc2VJbnQoZS5wYWdiYW5wZXIpO1xyXG4gICAgICAgICAgICB0aGlzLmlkQ3VlbnRhQmFuY29QZXJzb25hbD1wYXJzZUludChlLmlkX2N0YWJhbnBlcik7XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFJbmdyZXNvPWUuZmVjaW5nO1xyXG4gICAgICAgICAgICB0aGlzLnN0YXR1c1BlcnNvbmFsPXBhcnNlSW50KGUuc3RhcGVyKTtcclxuICAgICAgICAgICAgdGhpcy5jdWVudGFBYm9ub1BlcnNvbmFsPWUuY3VlYWJvcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmZlY2hhQ3VsbWluYWNpb25Db250cmF0bz1lLmZlY2N1bGNvbnRyO1xyXG4gICAgICAgICAgICB0aGlzLmlkRGVkaWNhY2lvbj1wYXJzZUludChlLmlkX2RlZGljYWNpb24pO1xyXG4gICAgICAgICAgICB0aGlzLmlkVGlwb1BlcnNvbmFsPXBhcnNlSW50KGUuaWRfdGlwb3BlcnNvbmFsKTtcclxuICAgICAgICAgICAgdGhpcy5xdWluY2VuYVZhY2FjaW9uYWxQZXJzb25hbD1wYXJzZUludChlLnF1aXZhY3Blcik7XHJcbiAgICAgICAgICAgIHRoaXMuaWRUYWJ1bGFkb3I9cGFyc2VJbnQoZS5pZF90YWJ1bGFkb3IpO1xyXG4gICAgICAgICAgICB0aGlzLnN1ZWxkb0ludGVncmFsUGVyc29uYWw9K2Uuc3VlaW50cGVyO1xyXG4gICAgICAgICAgICB0aGlzLnBhZ29FZmVjdGl2b0NoZXF1ZXBlcnNvbmFsPXBhcnNlSW50KGUucGFnZWZlcGVyKTtcclxuICAgICAgICAgICAgdGhpcy5zdWVsZG9Qcm9tZWRpb1BlcnNvbmFsPXBhcnNlSW50KGUuc3VlcHJvcGVyKTtcclxuICAgICAgICAgICAgdGhpcy5pZEFnZW5jaWE9cGFyc2VJbnQoZS5pZF9hZ2VuY2lhKTtcclxuICAgICAgICAgICAgdGhpcy5mZWNoYUVncmVzb1BlcnNvbmFsPWUuZmVjZWdycGVyO1xyXG4gICAgICAgICAgICB0aGlzLmNhdXNhRWdyZXNvUGVyc29uYWw9ZS5jYXVlZ3JwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFTdXNwZW5jaW9uUGVyc29uYWw9ZS5mZWNzdXNwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuaWRVYmljYWNpb25GaXNpY2E9cGFyc2VJbnQoZS5pZF91YmlmaXMpO1xyXG4gICAgICAgICAgICB0aGlzLnRpcG9DZXN0YVRpY2tldD1lLnRpcGNlc3RpYztcclxuICAgICAgICAgICAgdGhpcy5jb25jZXB0b0p1YmlsYWNpb249ZS5jb25qdWI7XHJcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcmlhSnViaWxhY2lvbj1lLmNhdGp1YjtcclxuICAgICAgICAgICAgdGhpcy5pZENhdGVnb3JpYVZpYXRpY29zPXBhcnNlSW50KGUuaWRfY2xhdmlhdGljb3MpO1xyXG4gICAgICAgICAgICB0aGlzLnBhZ29UYXF1aWxsYVBlcnNvbmFsPXBhcnNlSW50KGUucGFndGFxcGVyKTtcclxuICAgICAgICAgICAgdGhpcy5mZWNoYUFzY2Vzb1BlcnNvbmFsPWUuZmVjYXNjcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmRlc2NyaXBjaW9uQXNpZ25hY2lvbkNhcmdvPWUuZGVzY2FzaWNhcjtcclxuICAgICAgICAgICAgdGhpcy5zYWxkb05vcm1hbFBlcnNvbmFsPStlLnNhbG5vcnBlcjtcclxuICAgICAgICAgICAgdGhpcy5lc3RhdHVzRW5jYXJnYWR1cmlhUGVyc29uYWw9cGFyc2VJbnQoZS5lc3RlbmNwZXIpO1xyXG4gICAgICAgICAgICB0aGlzLm9ic2VydmFjaW9uPWUub2JzZXJ2YWNpb247XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvVXN1YXJpbz1lLmNvZHVzdTtcclxuICAgICAgICAgICAgdGhpcy5ub21icmVQZXJzb25hbD1lLm5vbXBlcjtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29QZXJzb25hbD1lLmNvZHBlcjtcclxuICAgICAgICAgICAgdGhpcy5uYWNpb25hbGlkYWQ9ZS5uYWNwZXIudG9VcHBlckNhc2UoKTtcclxuICAgICAgICAgICAgdGhpcy5jZWR1bGFQZXJzb25hbD1lLmNlZHBlcjtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29UYWJsYVZhY2FjaW9uZXM9ZS5jb2R0YWJ2YWM7XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uVGFibGFWYWNhY2lvbmVzPWUuZGVudGFidmFjO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb0NhcmdvUGVyc29uYWw9ZS5jb2RjYXI7XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uQ2FyZ29QZXJzb25hbD1lLmRlc2NhcjtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29PcmdhbmlncmFtYT1lLmNvZGVzdG9yZztcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25PcmdhbmlncmFtYT1lLmRlbmVzdG9yZztcclxuICAgICAgICAgICAgdGhpcy5jdWVudGFCYW5jb1BlcnNvbmFsPWUuY3RhYmFucGVyO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb0RlZGljYWNpb249ZS5jb2RkZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uRGVkaWNhY2lvbj1lLmRlbmRlZDtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29UaXBvUGVyc29uYWw9ZS5jb2R0aXBwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uVGlwb1BlcnNvbmFsPWUuZGVudGlwcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1RhYnVsYWRvcj1lLmNvZHRhYjtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25UYWJ1bGFkb3I9ZS5kZXN0YWI7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQWdlbmNpYT1lLmNvZGFnZTtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25BZ2VuY2lhPWUubm9tYWdlO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1ViaWNhY2lvbkZpc2ljYT1lLmNvZHViaWZpcztcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25VYmljYWNpb25GaXNpY2E9ZS5kZW51YmlmaXM7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQ2F0ZWdvcmlhVmlhdGljb3M9ZS5jb2RjYXR2aWE7XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uQ2F0ZWdvcmlhVmlhdGljb3M9ZS5kZW5jYXR2aWE7XHJcbiAgICAgICAgICAgIHRoaXMudGlwb0N1ZW50YVBlcnNvbmFsPWUubm9tdGlwY3RhO1xyXG4gICAgICAgICAgICB0aGlzLmZlY2hhSW5ncmVzb1Npc3RlbWE9ZS5mZWNyZWdzaXM7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvQ2VudHJvQ29zdG89ZS5jb2RjZW5jb3M7XHJcbiAgICAgICAgICAgIHRoaXMuaWRDbGFzaWZpY2FjaW9uT2JyZXJvPXBhcnNlSW50KGUuaWRfY2xhb2JyKTtcclxuICAgICAgICAgICAgdGhpcy5pZENvZGlnb1VuaWNvUmFjPXBhcnNlSW50KGUuaWRfY29kdW5pcmFjKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29Vbmljb1JhYz1lLmNvZHVuaXJhYztcclxuICAgICAgICAgICAgdGhpcy5tb250b0NvbXBlbnNhY2lvbkdyYWRvPXBhcnNlRmxvYXQoZS5tb25jb21ncmEpO1xyXG4gICAgICAgICAgICB0aGlzLmhvcmFBZGljaW9uYWwxPXBhcnNlRmxvYXQoZS5ob3JhZGkxKTtcclxuICAgICAgICAgICAgdGhpcy5ob3JhQWRpY2lvbmFsMj1wYXJzZUZsb2F0KGUuaG9yYWRpMik7ICAgXHJcbiAgICAgICAgICAgIHRoaXMuZXN0YXR1c01QUFBFID0gZS5lc3RtcHBwZT09JzEnPyB0cnVlOmZhbHNlOyBcclxuICAgICAgICAgICAgdGhpcy5tb250b1NhbGRvR3JhZG89IHBhcnNlRmxvYXQoZS5tb25zYWxncmEpO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbkVzdGF0dXM9ZS5zdGFwZXI9PScxJz8gJ0FDVElWTyc6IFxyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbkVzdGF0dXM9ZS5zdGFwZXI9PScyJz8gJ1ZBQ0FDSU9ORVMnOlxyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvbkVzdGF0dXM9ZS5zdGFwZXI9PSczJz8gJ0VHUkVTQURPJzonU1VTUEVORElETycgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuYXBlbGxpZG9QZXJzb25hbD1lLmFwZXBlcjtcclxuICAgICAgICAgICAgdGhpcy5ub21icmVDb21wbGV0bz0gdGhpcy5ub21icmVQZXJzb25hbCsnICcrdGhpcy5hcGVsbGlkb1BlcnNvbmFsO1xyXG4gICAgICAgICAgICB0aGlzLnNpdHVhY2lvblBlcnNvbmFsPWUuc2l0dWFjaW9uOyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLm1vbnRvUGVuc2lvbj0rZS5tb25wZW47XHJcbiAgICAgICAgICAgIHRoaXMuaWRDbGFzaWZpY2Fkb3JEb2NlbnRlPStlLmlkX2NsYXNpZmljYWNpb25fZG9jZW50ZTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29DbGFzaWZpY2Fkb3I9ZS5jb2RjbGFkb2M7XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uQ2xhc2lmaWNhZG9yPWUuZGVuY2xhZGVjO1xyXG4gICAgICAgICAgICB0aGlzLm5vbWluYVJhYz1wYXJzZUludChlLnJhY25vbSk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm5vbWluYVJhYz09MCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlkVGFidWxhZG9yPTA7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvZGlnb1Bhc289JzAnO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb2RpZ29HcmFkbz0nMCc7XHJcbiAgICAgICAgICAgIH0gXHJcblxyXG4gICAgICAgICAgICBpZih0aGlzLmlkVGFidWxhZG9yPj0wICYmIHRoaXMubm9taW5hUmFjPT0xICl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN1ZWxkb1BlcnNvbmFsPXRoaXMubW9udG9TYWxkb0dyYWRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHRoaXMuc2l0dWFjaW9uUGVyc29uYWw9PSdKJyl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN1ZWxkb1BlcnNvbmFsPXRoaXMubW9udG9QZW5zaW9uO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5pZEFnZW5jaWE+MCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvZGlnb0JhbmNvPWUuY29kYmFuO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub21icmVCYW5jbz1lLm5vbWJhbjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaWRCYW5jbz1wYXJzZUludChlLmlkX2JhbmNvKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29kaWdvQmFuY289ZS5ub21iYW5fY3RhcGVyO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub21icmVCYW5jbz1lLmNvZGJhbl9jdGFwZXI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlkQmFuY289cGFyc2VJbnQoZS5pZF9iYW5jb19jdGFwZXIpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmlkUGxhbkhvcmFyaW89K2UuaWRfcGxhbmhvcjtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29QbGFuSG9yYXJpbz1lLmNvZHBsYW5ob3I7XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uUGxhbkhvcmFyaW89ZS5kZW5wbGFuaG9yO1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV3PXRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6SVBlcnNvbmFsTm9taW5he1xyXG4gICAgICAgIGlmKHRoaXMuaWRUYWJ1bGFkb3I+MCAmJiB0aGlzLm5vbWluYVJhYz09MSApe1xyXG4gICAgICAgICAgICB0aGlzLnN1ZWxkb1BlcnNvbmFsPXRoaXMubW9udG9TYWxkb0dyYWRvO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaWRUYWJ1bGFkb3I9MDtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29QYXNvPScwJztcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29HcmFkbz0nMCc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4geyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZF9lbXByZXNhOnRoaXMuaWRFbXByZXNhLFxyXG4gICAgICAgICAgICBpZF9lbnRlcnByaXNlOnRoaXMuaWRFbnRlcnByaXNlLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX3BlcnNvbmFsbm9taW5hOnRoaXMuaWRQZXJzb25hbE5vbWluYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9wZXJzb25hbDp0aGlzLmlkUGVyc29uYWwudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfbm9taW5hOnRoaXMuaWROb21pbmEudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfdGFidmFjOnRoaXMuaWRUYWJsYVZhY2FjaW9uZXMudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfY2FycGVyOnRoaXMuaWRDYXJnb1BlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNvZGdyYTp0aGlzLmNvZGlnb0dyYWRvLFxyXG4gICAgICAgICAgICBjb2RwYXM6dGhpcy5jb2RpZ29QYXNvLFxyXG4gICAgICAgICAgICBzdWVwZXI6dGhpcy5zdWVsZG9QZXJzb25hbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBob3JwZXI6dGhpcy5ob3JhUGVyZXJzb25hbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9vcmdhbmlncmFtYTp0aGlzLmlkT3JnYW5pZ3JhbWEudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgcGFnYmFucGVyOnRoaXMucGFnb1BvckJhbmNvUGVyc29uYWwudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfY3RhYmFucGVyOnRoaXMuaWRDdWVudGFCYW5jb1BlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGZlY2luZzp0aGlzLmZlY2hhSW5ncmVzbyxcclxuICAgICAgICAgICAgc3RhcGVyOnRoaXMuc3RhdHVzUGVyc29uYWwudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY3VlYWJvcGVyOnRoaXMuY3VlbnRhQWJvbm9QZXJzb25hbCxcclxuICAgICAgICAgICAgZmVjY3VsY29udHI6dGhpcy5mZWNoYUN1bG1pbmFjaW9uQ29udHJhdG8sXHJcbiAgICAgICAgICAgIGlkX2RlZGljYWNpb246dGhpcy5pZERlZGljYWNpb24udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfdGlwb3BlcnNvbmFsOnRoaXMuaWRUaXBvUGVyc29uYWwudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgcXVpdmFjcGVyOnRoaXMucXVpbmNlbmFWYWNhY2lvbmFsUGVyc29uYWwudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfdGFidWxhZG9yOnRoaXMuaWRUYWJ1bGFkb3IudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgc3VlaW50cGVyOnRoaXMuc3VlbGRvSW50ZWdyYWxQZXJzb25hbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBwYWdlZmVwZXI6dGhpcy5wYWdvRWZlY3Rpdm9DaGVxdWVwZXJzb25hbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBzdWVwcm9wZXI6dGhpcy5zdWVsZG9Qcm9tZWRpb1BlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2FnZW5jaWE6dGhpcy5pZEFnZW5jaWEudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgZmVjZWdycGVyOnRoaXMuZmVjaGFFZ3Jlc29QZXJzb25hbCxcclxuICAgICAgICAgICAgY2F1ZWdycGVyOnRoaXMuY2F1c2FFZ3Jlc29QZXJzb25hbCxcclxuICAgICAgICAgICAgZmVjc3VzcGVyOnRoaXMuZmVjaGFTdXNwZW5jaW9uUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGlkX3ViaWZpczp0aGlzLmlkVWJpY2FjaW9uRmlzaWNhLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIHRpcGNlc3RpYzp0aGlzLnRpcG9DZXN0YVRpY2tldCxcclxuICAgICAgICAgICAgY29uanViOnRoaXMuY29uY2VwdG9KdWJpbGFjaW9uLFxyXG4gICAgICAgICAgICBjYXRqdWI6dGhpcy5jYXRlZ29yaWFKdWJpbGFjaW9uLFxyXG4gICAgICAgICAgICBpZF9jbGF2aWF0aWNvczp0aGlzLmlkQ2F0ZWdvcmlhVmlhdGljb3MudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgcGFndGFxcGVyOnRoaXMucGFnb1RhcXVpbGxhUGVyc29uYWwudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgZmVjYXNjcGVyOnRoaXMuZmVjaGFBc2Nlc29QZXJzb25hbCxcclxuICAgICAgICAgICAgZGVzY2FzaWNhcjp0aGlzLmRlc2NyaXBjaW9uQXNpZ25hY2lvbkNhcmdvLFxyXG4gICAgICAgICAgICBzYWxub3JwZXI6dGhpcy5zYWxkb05vcm1hbFBlcnNvbmFsLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGVzdGVuY3Blcjp0aGlzLmVzdGF0dXNFbmNhcmdhZHVyaWFQZXJzb25hbC50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBvYnNlcnZhY2lvbjp0aGlzLm9ic2VydmFjaW9uLFxyXG4gICAgICAgICAgICBjb2R1c3U6dGhpcy5jb2RpZ29Vc3VhcmlvLCAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIG5vbXBlcjp0aGlzLm5vbWJyZVBlcnNvbmFsLFxyXG4gICAgICAgICAgICBjb2RwZXI6dGhpcy5jb2RpZ29QZXJzb25hbCxcclxuICAgICAgICAgICAgY2VkcGVyOnRoaXMuY2VkdWxhUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGNvZHRhYnZhYzp0aGlzLmNvZGlnb1RhYmxhVmFjYWNpb25lcyxcclxuICAgICAgICAgICAgZGVudGFidmFjOnRoaXMuZGVub21pbmFjaW9uVGFibGFWYWNhY2lvbmVzLFxyXG4gICAgICAgICAgICBjb2RjYXI6dGhpcy5jb2RpZ29DYXJnb1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBkZXNjYXI6dGhpcy5kZW5vbWluYWNpb25DYXJnb1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBjb2Rlc3Rvcmc6dGhpcy5jb2RpZ29PcmdhbmlncmFtYSxcclxuICAgICAgICAgICAgZGVuZXN0b3JnOnRoaXMuZGVub21pbmFjaW9uT3JnYW5pZ3JhbWEsXHJcbiAgICAgICAgICAgIGN0YWJhbnBlcjp0aGlzLmN1ZW50YUJhbmNvUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGNvZGRlZDp0aGlzLmNvZGlnb0RlZGljYWNpb24sXHJcbiAgICAgICAgICAgIGRlbmRlZDp0aGlzLmRlbm9taW5hY2lvbkRlZGljYWNpb24sXHJcbiAgICAgICAgICAgIGNvZHRpcHBlcjp0aGlzLmNvZGlnb1RpcG9QZXJzb25hbCxcclxuICAgICAgICAgICAgZGVudGlwcGVyOnRoaXMuZGVub21pbmFjaW9uVGlwb1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBjb2R0YWI6dGhpcy5jb2RpZ29UYWJ1bGFkb3IsXHJcbiAgICAgICAgICAgIGRlc3RhYjp0aGlzLmRlbm9taW5hY2lvblRhYnVsYWRvcixcclxuICAgICAgICAgICAgY29kYWdlOnRoaXMuY29kaWdvQWdlbmNpYSxcclxuICAgICAgICAgICAgbm9tYWdlOnRoaXMuZGVub21pbmFjaW9uQWdlbmNpYSxcclxuICAgICAgICAgICAgY29kdWJpZmlzOnRoaXMuY29kaWdvVWJpY2FjaW9uRmlzaWNhLFxyXG4gICAgICAgICAgICBkZW51YmlmaXM6dGhpcy5kZW5vbWluYWNpb25VYmljYWNpb25GaXNpY2EsXHJcbiAgICAgICAgICAgIGNvZGNhdHZpYTp0aGlzLmNvZGlnb0NhdGVnb3JpYVZpYXRpY29zLFxyXG4gICAgICAgICAgICBkZW5jYXR2aWE6dGhpcy5kZW5vbWluYWNpb25DYXRlZ29yaWFWaWF0aWNvcywgXHJcbiAgICAgICAgICAgIGlkX2JhbmNvOiB0aGlzLmlkQmFuY28udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgbm9tYmFuOiB0aGlzLm5vbWJyZUJhbmNvLFxyXG4gICAgICAgICAgICBub210aXBjdGE6dGhpcy50aXBvQ3VlbnRhUGVyc29uYWwsXHJcbiAgICAgICAgICAgIGZlY3JlZ3Npczp0aGlzLmZlY2hhSW5ncmVzb1Npc3RlbWEsXHJcbiAgICAgICAgICAgIGNvZGNlbmNvczp0aGlzLmNvZGlnb0NlbnRyb0Nvc3RvLFxyXG4gICAgICAgICAgICBjb2RiYW46dGhpcy5jb2RpZ29CYW5jbyxcclxuICAgICAgICAgICAgbm9tYmFuX2N0YXBlcjp0aGlzLmNvZGlnb0JhbmNvLFxyXG4gICAgICAgICAgICBjb2RiYW5fY3RhcGVyOnRoaXMubm9tYnJlQmFuY28sXHJcbiAgICAgICAgICAgIGlkX2JhbmNvX2N0YXBlcjp0aGlzLmlkQmFuY28udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfY2xhb2JyOnRoaXMuaWRDbGFzaWZpY2FjaW9uT2JyZXJvLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGNvZHVuaXJhYzp0aGlzLmNvZGlnb1VuaWNvUmFjLFxyXG4gICAgICAgICAgICBpZF9jb2R1bmlyYWM6dGhpcy5pZENvZGlnb1VuaWNvUmFjLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIG1vbmNvbWdyYTp0aGlzLm1vbnRvQ29tcGVuc2FjaW9uR3JhZG8udG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaG9yYWRpMTp0aGlzLmhvcmFBZGljaW9uYWwxLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGhvcmFkaTI6dGhpcy5ob3JhQWRpY2lvbmFsMi50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBlc3RtcHBwZTp0aGlzLmVzdGF0dXNNUFBQRSA/ICcxJzonMCcsXHJcbiAgICAgICAgICAgIG1vbnNhbGdyYTp0aGlzLm1vbnRvU2FsZG9HcmFkby50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBhcGVwZXI6dGhpcy5hcGVsbGlkb1BlcnNvbmFsLFxyXG4gICAgICAgICAgICBpZF9jbGFzaWZpY2FjaW9uX2RvY2VudGU6dGhpcy5pZENsYXNpZmljYWRvckRvY2VudGUudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfcGxhbmhvcjp0aGlzLmlkUGxhbkhvcmFyaW8udG9TdHJpbmcoKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgXHJcbn1cclxuXHJcbiAgICAgICAgXHJcblxyXG5cclxuXHJcblxyXG5cclxuIl19
@@ -1,6 +1,7 @@
1
- import * as moment from 'moment';
1
+ const moment = require("moment");
2
2
  export class MPlanHorario {
3
3
  constructor(e = null) {
4
+ this.idEnterprise = 0;
4
5
  this.idEmpresa = 0;
5
6
  this.idPlanHorario = 0;
6
7
  this.idNomina = 0;
@@ -14,6 +15,7 @@ export class MPlanHorario {
14
15
  this.denominacionNomina = '';
15
16
  this.periodos = [];
16
17
  if (e) {
18
+ this.idEnterprise = +e.id_enterprise;
17
19
  this.idEmpresa = +e.id_empresa;
18
20
  this.idPlanHorario = +e.id_planhor;
19
21
  this.idNomina = e.id_nomina;
@@ -32,6 +34,7 @@ export class MPlanHorario {
32
34
  }
33
35
  dataInterface() {
34
36
  return {
37
+ id_enterprise: this.idEnterprise.toString(),
35
38
  id_empresa: this.idEmpresa,
36
39
  id_planhor: this.idPlanHorario,
37
40
  id_nomina: this.idNomina,
@@ -47,6 +50,7 @@ export class MPlanHorario {
47
50
  }
48
51
  export class MPeriodosPlan {
49
52
  constructor(e) {
53
+ this.idEnterprise = 0;
50
54
  this.idEmpresa = 0;
51
55
  this.idPlanHorario = 0;
52
56
  this.denominacionPeriodoPlan = '';
@@ -56,76 +60,57 @@ export class MPeriodosPlan {
56
60
  this.codigoPeriodoNomina = '';
57
61
  this.tipoFeriado = false;
58
62
  this.simboloFeriado = '';
59
- this.horarios = [];
60
- if (e) {
61
- this.idEmpresa = +e.id_empresa;
62
- this.idPlanHorario = +e.id_planhor;
63
- this.denominacionPeriodoPlan = e.denperplan;
64
- this.fechaPeriodoPlan = e.fecperplan;
65
- this.idPeriodo = +e.id_periodo;
66
- this.idPeriodoPlan = e.id_perplan;
67
- this.codigoPeriodoNomina = e.codperi;
68
- this.tipoFeriado = e.tipfer == '1' ? true : false;
69
- if (this.tipoFeriado) {
70
- this.simboloFeriado = 'check_small';
71
- }
72
- if (e.horarios) {
73
- this.horarios = e.horarios.map(e => new MHorarioPeriodosPlan(e));
74
- }
75
- }
76
- }
77
- dataInterface() {
78
- return {
79
- id_empresa: this.idEmpresa,
80
- id_planhor: this.idPlanHorario,
81
- denperplan: this.denominacionPeriodoPlan,
82
- fecperplan: this.fechaPeriodoPlan,
83
- id_periodo: this.idPeriodo,
84
- id_perplan: this.idPeriodoPlan,
85
- tipfer: this.tipoFeriado ? '1' : '0',
86
- horarios: this.horarios.map(function (e) { return e.dataInterface(); })
87
- };
88
- }
89
- }
90
- export class MHorarioPeriodosPlan {
91
- constructor(e) {
92
- this.idEmpresa = 0;
93
- this.idPlanHorario = 0;
94
- this.idPeriodoPlan = 0;
95
63
  this.idHora = 0;
96
64
  this.incidencias = [];
97
- this.descripcionHorario = '';
98
- this.idDetalle = 0;
99
65
  this.codigoHorario = '';
100
66
  this.denominacionHorario = '';
101
67
  this.horaInicio = '';
102
68
  this.horaFinal = '';
69
+ this.denomiacionFecha = '';
70
+ this.dia = '';
71
+ this.descripcionHorario = '';
103
72
  if (e) {
104
- this.idEmpresa = e.id_empresa;
73
+ this.idEnterprise = +e.id_enterprise;
74
+ this.idEmpresa = +e.id_empresa;
105
75
  this.idPlanHorario = e.id_planhor;
76
+ this.denominacionPeriodoPlan = e.denperplan;
77
+ this.fechaPeriodoPlan = e.fecperplan;
78
+ this.idPeriodo = e.id_periodo;
106
79
  this.idPeriodoPlan = e.id_perplan;
80
+ this.codigoPeriodoNomina = e.codperi;
81
+ this.tipoFeriado = e.tipfer == '1' ? true : false;
82
+ moment.locale('es');
83
+ let day = moment(this.fechaPeriodoPlan);
84
+ let dia = moment.weekdays(day.day());
85
+ this.denomiacionFecha = dia + ', ' + moment(this.fechaPeriodoPlan).format('DD-MM-YYYY');
86
+ if (this.tipoFeriado && dia != 'domingo') {
87
+ this.simboloFeriado = 'check_small';
88
+ }
107
89
  this.idHora = e.id_hora;
108
90
  this.codigoHorario = e.codhor;
109
91
  this.denominacionHorario = e.denhor;
110
- this.horaInicio = moment(e.horini, 'H:m:s').format('h:mm a');
111
- this.horaFinal = moment(e.horfin, 'H:m:s').format('h:mm a');
112
92
  if (e.incidencias != '') {
113
93
  this.incidencias = e.incidencias.split(',');
114
94
  }
115
95
  ;
116
- this.idDetalle = e.id_dt_horperplan;
96
+ this.horaInicio = moment(e.horini, 'H:m:s').format('h:mm a');
97
+ this.horaFinal = moment(e.horfin, 'H:m:s').format('h:mm a');
117
98
  this.descripcionHorario = this.codigoHorario + ' - ' + this.denominacionHorario + ' - ' + this.horaInicio + '-' + this.horaFinal;
118
99
  }
119
100
  }
120
101
  dataInterface() {
121
102
  return {
103
+ id_enterprise: this.idEnterprise.toString(),
122
104
  id_empresa: this.idEmpresa,
123
105
  id_planhor: this.idPlanHorario,
106
+ denperplan: this.denominacionPeriodoPlan,
107
+ fecperplan: this.fechaPeriodoPlan,
108
+ id_periodo: this.idPeriodo,
124
109
  id_perplan: this.idPeriodoPlan,
110
+ tipfer: this.tipoFeriado ? '1' : '0',
125
111
  id_hora: this.idHora,
126
112
  incidencias: this.incidencias.length > 0 ? this.incidencias.join(',') : "",
127
- id_dt_horperplan: this.idDetalle,
128
113
  };
129
114
  }
130
115
  }
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTVBsYW5Ib3JhcmlvLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L0FwcFNlcnYvd3d3L3NpZ2VzcHYzKGdpdCkvc2lnZXNwLWVzdGFibGUvc2lnZXNwX2NvcmUvcHJvamVjdHMvc2lnZXNwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9TTk8vTVBsYW5Ib3JhcmlvLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBR2pDLE1BQU0sT0FBTyxZQUFZO0lBZXJCLFlBQVksSUFBZ0IsSUFBSTtRQWR6QixjQUFTLEdBQVEsQ0FBQyxDQUFDO1FBQ25CLGtCQUFhLEdBQVEsQ0FBQyxDQUFDO1FBQ3ZCLGFBQVEsR0FBUSxDQUFDLENBQUM7UUFDbEIsbUJBQWMsR0FBUSxFQUFFLENBQUM7UUFDekIsc0JBQWlCLEdBQVEsRUFBRSxDQUFDO1FBQzVCLDRCQUF1QixHQUFRLEVBQUUsQ0FBQztRQUNsQyxzQkFBaUIsR0FBUSxFQUFFLENBQUM7UUFDNUIsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUNwQixvQkFBZSxHQUFRLFlBQVksQ0FBQztRQUNwQyxpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUN2Qix1QkFBa0IsR0FBUSxFQUFFLENBQUM7UUFDN0IsYUFBUSxHQUFpQixFQUFFLENBQUM7UUFJL0IsSUFBRyxDQUFDLEVBQUM7WUFDRCxJQUFJLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUM3QixJQUFJLENBQUMsYUFBYSxHQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxpQkFBaUIsR0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQ3BDLElBQUksQ0FBQyx1QkFB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Q0FBQyxXQUFXLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQSxDQUFDLENBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFBLEVBQUU7WUFDckUsZ0JBQWdCLEVBQUMsSUFBSSxDQUFDLFNBQVM7U0FDbEMsQ0FBQTtJQUNMLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBJSG9yYXJpb3NQZXJpb2Rvc1BsYW4sIElQZXJpb2Rvc1BsYW4sIElQbGFuSG9yYXJpbyB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL1JlY3Vyc29zSHVtYW5vc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIE1QbGFuSG9yYXJpbyB7XHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkUGxhbkhvcmFyaW86bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWROb21pbmE6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgYW5vUGxhbkhvcmFyaW86c3RyaW5nPScnOyBcclxuICAgIHB1YmxpYyBjb2RpZ29QbGFuSG9yYXJpbzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uUGxhbkhvcmFyaW86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIHRpcG9QZXJpb2RvTm9taW5hOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyB0aXBvTm9taW5hOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGZlY2hhSW5pY2lvUGxhbjpzdHJpbmc9JzE5MDAtMDEtMDEnO1xyXG4gICAgcHVibGljIGNvZGlnb05vbWluYTpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uTm9taW5hOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBwZXJpb2RvczpNUGVyaW9kb3NQbGFuW109W107XHJcbiAgICBcclxuICAgIFxyXG4gICAgY29uc3RydWN0b3IoZTpJUGxhbkhvcmFyaW8gPW51bGwpe1xyXG4gICAgICAgIGlmKGUpe1xyXG4gICAgICAgICAgICB0aGlzLmlkRW1wcmVzYT0rZS5pZF9lbXByZXNhO1xyXG4gICAgICAgICAgICB0aGlzLmlkUGxhbkhvcmFyaW89K2UuaWRfcGxhbmhvcjtcclxuICAgICAgICAgICAgdGhpcy5pZE5vbWluYT1lLmlkX25vbWluYTtcclxuICAgICAgICAgICAgdGhpcy5hbm9QbGFuSG9yYXJpbz1lLmFub3BsYW5ob3I7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvUGxhbkhvcmFyaW89ZS5jb2RwbGFuaG9yO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvblBsYW5Ib3JhcmlvPWUuZGVucGxhbmhvcjtcclxuICAgICAgICAgICAgdGhpcy50aXBvUGVyaW9kb05vbWluYT1lLnRpcHBlcm5vbTtcclxuICAgICAgICAgICAgdGhpcy5mZWNoYUluaWNpb1BsYW49ZS5mZWNpbmlwbGFuOyAgXHJcbiAgICAgICAgICAgIHRoaXMudGlwb05vbWluYT1lLnRpcG5vbTsgICBcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29Ob21pbmE9ZS5jb2Rub207ICBcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25Ob21pbmE9ZS5kZW5ub207XHJcbiAgICAgICAgICAgIGlmIChlLnBlcmlvZG9zKXtcclxuICAgICAgICAgICAgICAgIHRoaXMucGVyaW9kb3M9ZS5wZXJpb2Rvcy5tYXAoZT0+bmV3IE1QZXJpb2Rvc1BsYW4oZSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklQbGFuSG9yYXJpb3tcclxuICAgICAgICByZXR1cm57XHJcbiAgICAgICAgICAgIGlkX2VtcHJlc2E6dGhpcy5pZEVtcHJlc2EsXHJcbiAgICAgICAgICAgIGlkX3BsYW5ob3I6dGhpcy5pZFBsYW5Ib3JhcmlvLFxyXG4gICAgICAgICAgICBpZF9ub21pbmE6dGhpcy5pZE5vbWluYSxcclxuICAgICAgICAgICAgYW5vcGxhbmhvcjp0aGlzLmFub1BsYW5Ib3JhcmlvLFxyXG4gICAgICAgICAgICBjb2RwbGFuaG9yOnRoaXMuY29kaWdvUGxhbkhvcmFyaW8sXHJcbiAgICAgICAgICAgIGRlbnBsYW5ob3I6dGhpcy5kZW5vbWluYWNpb25QbGFuSG9yYXJpbyxcclxuICAgICAgICAgICAgdGlwcGVybm9tOnRoaXMudGlwb1BlcmlvZG9Ob21pbmEsXHJcbiAgICAgICAgICAgIGZlY2luaXBsYW46dGhpcy5mZWNoYUluaWNpb1BsYW4sXHJcbiAgICAgICAgICAgIHRpcG5vbTp0aGlzLnRpcG9Ob21pbmEsXHJcbiAgICAgICAgICAgIHBlcmlvZG9zOnRoaXMucGVyaW9kb3MubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLmRhdGFJbnRlcmZhY2UoKTt9KSxcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNUGVyaW9kb3NQbGFuIHtcclxuXHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkUGxhbkhvcmFyaW86bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uUGVyaW9kb1BsYW46c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGZlY2hhUGVyaW9kb1BsYW46c3RyaW5nPScxOTAwLTAxLTAxJztcclxuICAgIHB1YmxpYyBpZFBlcmlvZG86bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRQZXJpb2RvUGxhbjpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ29QZXJpb2RvTm9taW5hOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyB0aXBvRmVyaWFkbzpib29sZWFuPWZhbHNlO1xyXG4gICAgcHVibGljIHNpbWJvbG9GZXJpYWRvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBob3JhcmlvczpNSG9yYXJpb1BlcmlvZG9zUGxhbltdPVtdXHJcbiAgICBcclxuICAgIFxyXG4gICAgY29uc3RydWN0b3IoZT86SVBlcmlvZG9zUGxhbil7XHJcbiAgICAgICAgaWYgKGUpe1xyXG4gICAgICAgICAgICB0aGlzLmlkRW1wcmVzYT0rZS5pZF9lbXByZXNhO1xyXG4gICAgICAgICAgICB0aGlzLmlkUGxhbkhvcmFyaW89K2UuaWRfcGxhbmhvcjtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25QZXJpb2RvUGxhbj1lLmRlbnBlcnBsYW47XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFQZXJpb2RvUGxhbj1lLmZlY3BlcnBsYW47XHJcbiAgICAgICAgICAgIHRoaXMuaWRQZXJpb2RvPStlLmlkX3BlcmlvZG87XHJcbiAgICAgICAgICAgIHRoaXMuaWRQZXJpb2RvUGxhbj1lLmlkX3BlcnBsYW47XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvUGVyaW9kb05vbWluYT1lLmNvZHBlcmk7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMudGlwb0ZlcmlhZG89ZS50aXBmZXI9PScxJz8gdHJ1ZTpmYWxzZTtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGlwb0ZlcmlhZG8pe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaW1ib2xvRmVyaWFkbz0nY2hlY2tfc21hbGwnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChlLmhvcmFyaW9zKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuaG9yYXJpb3M9ZS5ob3Jhcmlvcy5tYXAoZT0+bmV3IE1Ib3JhcmlvUGVyaW9kb3NQbGFuKGUpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6SVBlcmlvZG9zUGxhbiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWRfZW1wcmVzYTp0aGlzLmlkRW1wcmVzYSxcclxuICAgICAgICAgICAgaWRfcGxhbmhvcjp0aGlzLmlkUGxhbkhvcmFyaW8sXHJcbiAgICAgICAgICAgIGRlbnBlcnBsYW46dGhpcy5kZW5vbWluYWNpb25QZXJpb2RvUGxhbixcclxuICAgICAgICAgICAgZmVjcGVycGxhbjp0aGlzLmZlY2hhUGVyaW9kb1BsYW4sXHJcbiAgICAgICAgICAgIGlkX3BlcmlvZG86dGhpcy5pZFBlcmlvZG8sXHJcbiAgICAgICAgICAgIGlkX3BlcnBsYW46dGhpcy5pZFBlcmlvZG9QbGFuLFxyXG4gICAgICAgICAgICB0aXBmZXI6dGhpcy50aXBvRmVyaWFkbz8gJzEnOicwJywgXHJcbiAgICAgICAgICAgIGhvcmFyaW9zOnRoaXMuaG9yYXJpb3MubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLmRhdGFJbnRlcmZhY2UoKX0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNSG9yYXJpb1BlcmlvZG9zUGxhbiB7XHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkUGxhbkhvcmFyaW86bnVtYmVyPTA7ICAgIFxyXG4gICAgcHVibGljIGlkUGVyaW9kb1BsYW46bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRIb3JhOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGluY2lkZW5jaWFzOnN0cmluZ1tdPVtdO1xyXG4gICAgcHVibGljIGRlc2NyaXBjaW9uSG9yYXJpbzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgaWREZXRhbGxlOm51bWJlcj0wOyAgICBcclxuICAgIHB1YmxpYyBjb2RpZ29Ib3JhcmlvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25Ib3JhcmlvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBob3JhSW5pY2lvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBob3JhRmluYWw6c3RyaW5nPScnO1xyXG4gICAgXHJcbiAgICBjb25zdHJ1Y3RvcihlPzpJSG9yYXJpb3NQZXJpb2Rvc1BsYW4pe1xyXG4gICAgICAgIGlmIChlKXtcclxuICAgICAgICAgICAgdGhpcy5pZEVtcHJlc2E9ZS5pZF9lbXByZXNhO1xyXG4gICAgICAgICAgICB0aGlzLmlkUGxhbkhvcmFyaW89ZS5pZF9wbGFuaG9yO1xyXG4gICAgICAgICAgICB0aGlzLmlkUGVyaW9kb1BsYW49ZS5pZF9wZXJwbGFuO1xyXG4gICAgICAgICAgICB0aGlzLmlkSG9yYT1lLmlkX2hvcmE7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvSG9yYXJpbz1lLmNvZGhvcjtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25Ib3JhcmlvPWUuZGVuaG9yO1xyXG4gICAgICAgICAgICB0aGlzLmhvcmFJbmljaW89bW9tZW50KGUuaG9yaW5pLCdIOm06cycpLmZvcm1hdCgnaDptbSBhJyk7XHJcbiAgICAgICAgICAgIHRoaXMuaG9yYUZpbmFsPW1vbWVudChlLmhvcmZpbiwnSDptOnMnKS5mb3JtYXQoJ2g6bW0gYScpO1xyXG4gICAgICAgICAgICBpZiAoZS5pbmNpZGVuY2lhcyAhPScnKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5jaWRlbmNpYXM9ZS5pbmNpZGVuY2lhcy5zcGxpdCgnLCcpO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLmlkRGV0YWxsZT1lLmlkX2R0X2hvcnBlcnBsYW47XHJcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcGNpb25Ib3JhcmlvPXRoaXMuY29kaWdvSG9yYXJpbysnIC0gJyt0aGlzLmRlbm9taW5hY2lvbkhvcmFyaW8rJyAtICcrdGhpcy5ob3JhSW5pY2lvKyctJyt0aGlzLmhvcmFGaW5hbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklIb3Jhcmlvc1BlcmlvZG9zUGxhbiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWRfZW1wcmVzYTp0aGlzLmlkRW1wcmVzYSxcclxuICAgICAgICAgICAgaWRfcGxhbmhvcjp0aGlzLmlkUGxhbkhvcmFyaW8sIFxyXG4gICAgICAgICAgICBpZF9wZXJwbGFuOnRoaXMuaWRQZXJpb2RvUGxhbixcclxuICAgICAgICAgICAgaWRfaG9yYTp0aGlzLmlkSG9yYSxcclxuICAgICAgICAgICAgaW5jaWRlbmNpYXM6dGhpcy5pbmNpZGVuY2lhcy5sZW5ndGg+MD8gIHRoaXMuaW5jaWRlbmNpYXMuam9pbignLCcpOlwiXCIsIFxyXG4gICAgICAgICAgICBpZF9kdF9ob3JwZXJwbGFuOnRoaXMuaWREZXRhbGxlLCAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn0iXX0=
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTVBsYW5Ib3JhcmlvLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L0FwcFNlcnYvd3d3L3NpZ2VzcHYzKGdpdCkvc2lnZXNwLWVzdGFibGUvc2lnZXNwX2NvcmUvcHJvamVjdHMvc2lnZXNwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9TTk8vTVBsYW5Ib3JhcmlvLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUVoQyxNQUFNLE9BQU8sWUFBWTtJQWdCckIsWUFBWSxJQUFnQixJQUFJO1FBZnpCLGlCQUFZLEdBQVEsQ0FBQyxDQUFDO1FBQ3RCLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsa0JBQWEsR0FBUSxDQUFDLENBQUM7UUFDdkIsYUFBUSxHQUFRLENBQUMsQ0FBQztRQUNsQixtQkFBYyxHQUFRLEVBQUUsQ0FBQztRQUN6QixzQkFBaUIsR0FBUSxFQUFFLENBQUM7UUFDNUIsNEJBQXVCLEdBQVEsRUFBRSxDQUFDO1FBQ2xDLHNCQUFpQixHQUFRLEVBQUUsQ0FBQztRQUM1QixlQUFVLEdBQVEsQ0FBQyxDQUFDO1FBQ3BCLG9CQUFlLEdBQVEsWUFBWSxDQUFDO1FBQ3BDLGlCQUFZLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLHVCQUFrQixHQUFRLEVBQUUsQ0FBQztRQUM3QixhQUFRLEdBQWlCLEVBQUUsQ0FBQztRQUkvQixJQUFHLENBQUMsRUFBQztZQUNELElBQUksQ0FBQyxZQUFZLEdBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFBO1lBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxHQUFD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cmlvIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9SZWN1cnNvc0h1bWFub3MnO1xyXG5jb25zdCBtb21lbnQgPSByZXF1aXJlKFwibW9tZW50XCIpXHJcblxyXG5leHBvcnQgY2xhc3MgTVBsYW5Ib3JhcmlvIHtcclxuICAgIHB1YmxpYyBpZEVudGVycHJpc2U6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOm51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBpZFBsYW5Ib3JhcmlvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkTm9taW5hOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGFub1BsYW5Ib3JhcmlvOnN0cmluZz0nJzsgXHJcbiAgICBwdWJsaWMgY29kaWdvUGxhbkhvcmFyaW86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvblBsYW5Ib3JhcmlvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyB0aXBvUGVyaW9kb05vbWluYTpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgdGlwb05vbWluYTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBmZWNoYUluaWNpb1BsYW46c3RyaW5nPScxOTAwLTAxLTAxJztcclxuICAgIHB1YmxpYyBjb2RpZ29Ob21pbmE6c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvbk5vbWluYTpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgcGVyaW9kb3M6TVBlcmlvZG9zUGxhbltdPVtdO1xyXG4gICAgXHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yKGU6SVBsYW5Ib3JhcmlvID1udWxsKXtcclxuICAgICAgICBpZihlKXtcclxuICAgICAgICAgICAgdGhpcy5pZEVudGVycHJpc2U9K2UuaWRfZW50ZXJwcmlzZTsgIFxyXG4gICAgICAgICAgICB0aGlzLmlkRW1wcmVzYT0rZS5pZF9lbXByZXNhwqBcclxuICAgICAgICAgICAgdGhpcy5pZFBsYW5Ib3JhcmlvPStlLmlkX3BsYW5ob3I7XHJcbiAgICAgICAgICAgIHRoaXMuaWROb21pbmE9ZS5pZF9ub21pbmE7XHJcbiAgICAgICAgICAgIHRoaXMuYW5vUGxhbkhvcmFyaW89ZS5hbm9wbGFuaG9yO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1BsYW5Ib3JhcmlvPWUuY29kcGxhbmhvcjtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25QbGFuSG9yYXJpbz1lLmRlbnBsYW5ob3I7XHJcbiAgICAgICAgICAgIHRoaXMudGlwb1BlcmlvZG9Ob21pbmE9ZS50aXBwZXJub207XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFJbmljaW9QbGFuPWUuZmVjaW5pcGxhbjsgIFxyXG4gICAgICAgICAgICB0aGlzLnRpcG9Ob21pbmE9ZS50aXBub207ICAgXHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvTm9taW5hPWUuY29kbm9tOyAgXHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uTm9taW5hPWUuZGVubm9tO1xyXG4gICAgICAgICAgICBpZiAoZS5wZXJpb2Rvcyl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBlcmlvZG9zPWUucGVyaW9kb3MubWFwKGU9Pm5ldyBNUGVyaW9kb3NQbGFuKGUpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRhdGFJbnRlcmZhY2UoKTpJUGxhbkhvcmFyaW97XHJcbiAgICAgICAgcmV0dXJue1xyXG4gICAgICAgICAgICBpZF9lbnRlcnByaXNlOnRoaXMuaWRFbnRlcnByaXNlLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgIGlkX2VtcHJlc2HCoDp0aGlzLmlkRW1wcmVzYSxcclxuICAgICAgICAgICAgaWRfcGxhbmhvcjp0aGlzLmlkUGxhbkhvcmFyaW8sXHJcbiAgICAgICAgICAgIGlkX25vbWluYTp0aGlzLmlkTm9taW5hLFxyXG4gICAgICAgICAgICBhbm9wbGFuaG9yOnRoaXMuYW5vUGxhbkhvcmFyaW8sXHJcbiAgICAgICAgICAgIGNvZHBsYW5ob3I6dGhpcy5jb2RpZ29QbGFuSG9yYXJpbyxcclxuICAgICAgICAgICAgZGVucGxhbmhvcjp0aGlzLmRlbm9taW5hY2lvblBsYW5Ib3JhcmlvLFxyXG4gICAgICAgICAgICB0aXBwZXJub206dGhpcy50aXBvUGVyaW9kb05vbWluYSxcclxuICAgICAgICAgICAgZmVjaW5pcGxhbjp0aGlzLmZlY2hhSW5pY2lvUGxhbixcclxuICAgICAgICAgICAgdGlwbm9tOnRoaXMudGlwb05vbWluYSxcclxuICAgICAgICAgICAgcGVyaW9kb3M6dGhpcy5wZXJpb2Rvcy5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZGF0YUludGVyZmFjZSgpO30pLFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBNUGVyaW9kb3NQbGFuIHtcclxuICAgIHB1YmxpYyBpZEVudGVycHJpc2U6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOm51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBpZFBsYW5Ib3JhcmlvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvblBlcmlvZG9QbGFuOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBmZWNoYVBlcmlvZG9QbGFuOnN0cmluZz0nMTkwMC0wMS0wMSc7XHJcbiAgICBwdWJsaWMgaWRQZXJpb2RvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkUGVyaW9kb1BsYW46bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgY29kaWdvUGVyaW9kb05vbWluYTpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgdGlwb0ZlcmlhZG86Ym9vbGVhbj1mYWxzZTtcclxuICAgIHB1YmxpYyBzaW1ib2xvRmVyaWFkbzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgaWRIb3JhOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGluY2lkZW5jaWFzOnN0cmluZ1tdPVtdO1xyXG4gICAgcHVibGljIGNvZGlnb0hvcmFyaW86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvbkhvcmFyaW86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGhvcmFJbmljaW86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGhvcmFGaW5hbDpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZGVub21pYWNpb25GZWNoYTpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZGlhOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkZXNjcmlwY2lvbkhvcmFyaW86c3RyaW5nPScnXHJcbiAgICBcclxuICAgIFxyXG4gICAgY29uc3RydWN0b3IoZT86SVBlcmlvZG9zUGxhbil7XHJcbiAgICAgICAgaWYgKGUpe1xyXG4gICAgICAgICAgICB0aGlzLmlkRW50ZXJwcmlzZT0rZS5pZF9lbnRlcnByaXNlOyAgXHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPStlLmlkX2VtcHJlc2HCoFxyXG4gICAgICAgICAgICB0aGlzLmlkUGxhbkhvcmFyaW89ZS5pZF9wbGFuaG9yO1xyXG4gICAgICAgICAgICB0aGlzLmRlbm9taW5hY2lvblBlcmlvZG9QbGFuPWUuZGVucGVycGxhbjtcclxuICAgICAgICAgICAgdGhpcy5mZWNoYVBlcmlvZG9QbGFuPWUuZmVjcGVycGxhbjtcclxuICAgICAgICAgICAgdGhpcy5pZFBlcmlvZG89ZS5pZF9wZXJpb2RvO1xyXG4gICAgICAgICAgICB0aGlzLmlkUGVyaW9kb1BsYW49ZS5pZF9wZXJwbGFuO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1BlcmlvZG9Ob21pbmE9ZS5jb2RwZXJpOyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLnRpcG9GZXJpYWRvPWUudGlwZmVyPT0nMSc/IHRydWU6ZmFsc2U7XHJcbiAgICAgICAgICAgIG1vbWVudC5sb2NhbGUoJ2VzJyk7XHJcbiAgICAgICAgICAgIGxldCBkYXkgPSBtb21lbnQodGhpcy5mZWNoYVBlcmlvZG9QbGFuKTtcclxuICAgICAgICAgICAgbGV0IGRpYT1tb21lbnQud2Vla2RheXMoZGF5LmRheSgpKTsgXHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pYWNpb25GZWNoYT1kaWErJywgJyttb21lbnQodGhpcy5mZWNoYVBlcmlvZG9QbGFuKS5mb3JtYXQoJ0RELU1NLVlZWVknKTsgICAgICAgICAgICBcclxuICAgICAgICAgICAgaWYgKHRoaXMudGlwb0ZlcmlhZG8gJiYgZGlhICE9J2RvbWluZ28nKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2ltYm9sb0ZlcmlhZG89J2NoZWNrX3NtYWxsJztcclxuICAgICAgICAgICAgfSAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgdGhpcy5pZEhvcmE9ZS5pZF9ob3JhO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb0hvcmFyaW89ZS5jb2Rob3I7XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uSG9yYXJpbz1lLmRlbmhvcjtcclxuICAgICAgICAgICAgaWYgKGUuaW5jaWRlbmNpYXMgIT0nJyl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluY2lkZW5jaWFzPWUuaW5jaWRlbmNpYXMuc3BsaXQoJywnKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGhpcy5ob3JhSW5pY2lvPW1vbWVudChlLmhvcmluaSwnSDptOnMnKS5mb3JtYXQoJ2g6bW0gYScpO1xyXG4gICAgICAgICAgICB0aGlzLmhvcmFGaW5hbD1tb21lbnQoZS5ob3JmaW4sJ0g6bTpzJykuZm9ybWF0KCdoOm1tIGEnKTtcclxuICAgICAgICAgICAgdGhpcy5kZXNjcmlwY2lvbkhvcmFyaW89dGhpcy5jb2RpZ29Ib3JhcmlvKycgLSAnK3RoaXMuZGVub21pbmFjaW9uSG9yYXJpbysnIC0gJyt0aGlzLmhvcmFJbmljaW8rJy0nK3RoaXMuaG9yYUZpbmFsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6SVBlcmlvZG9zUGxhbiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWRfZW50ZXJwcmlzZTp0aGlzLmlkRW50ZXJwcmlzZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9lbXByZXNhwqA6dGhpcy5pZEVtcHJlc2EsXHJcbiAgICAgICAgICAgIGlkX3BsYW5ob3I6dGhpcy5pZFBsYW5Ib3JhcmlvLFxyXG4gICAgICAgICAgICBkZW5wZXJwbGFuOnRoaXMuZGVub21pbmFjaW9uUGVyaW9kb1BsYW4sXHJcbiAgICAgICAgICAgIGZlY3BlcnBsYW46dGhpcy5mZWNoYVBlcmlvZG9QbGFuLFxyXG4gICAgICAgICAgICBpZF9wZXJpb2RvOnRoaXMuaWRQZXJpb2RvLFxyXG4gICAgICAgICAgICBpZF9wZXJwbGFuOnRoaXMuaWRQZXJpb2RvUGxhbixcclxuICAgICAgICAgICAgdGlwZmVyOnRoaXMudGlwb0ZlcmlhZG8/ICcxJzonMCcsXHJcbiAgICAgICAgICAgIGlkX2hvcmE6dGhpcy5pZEhvcmEsXHJcbiAgICAgICAgICAgIGluY2lkZW5jaWFzOnRoaXMuaW5jaWRlbmNpYXMubGVuZ3RoPjA/ICB0aGlzLmluY2lkZW5jaWFzLmpvaW4oJywnKTpcIlwiLCBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIl19
@@ -2,6 +2,7 @@ import { MBasicModel } from "../basic-model.model";
2
2
  export class MPrestamo extends MBasicModel {
3
3
  constructor(e = null) {
4
4
  super();
5
+ this.idEnterprise = 0;
5
6
  this.idEmpresa = 0;
6
7
  this.idPersonal = 0;
7
8
  this.idPrestamo = 0;
@@ -32,6 +33,7 @@ export class MPrestamo extends MBasicModel {
32
33
  this.periodos = [];
33
34
  this.amortizacion = [];
34
35
  if (e) {
36
+ this.idEnterprise = +e.id_enterprise;
35
37
  this.idEmpresa = +e.id_empresa;
36
38
  this.idPrestamo = +e.id_prestamo;
37
39
  this.idPersonal = +e.id_personal;
@@ -68,6 +70,7 @@ export class MPrestamo extends MBasicModel {
68
70
  }
69
71
  dataInterface() {
70
72
  return {
73
+ id_enterprise: this.idEnterprise.toString(),
71
74
  id_empresa: this.idEmpresa,
72
75
  id_personal: this.idPersonal,
73
76
  id_prestamo: this.idPrestamo,
@@ -126,6 +129,7 @@ export class MPrestamo extends MBasicModel {
126
129
  export class MPrestamosPeriodo extends MBasicModel {
127
130
  constructor(e) {
128
131
  super();
132
+ this.idEnterprise = 0;
129
133
  this.idEmpresa = 0;
130
134
  this.idPersonal = 0;
131
135
  this.idPrestamo = 0;
@@ -136,6 +140,7 @@ export class MPrestamosPeriodo extends MBasicModel {
136
140
  this.montoCuota = 0;
137
141
  this.estatusCuota = 0;
138
142
  if (e) {
143
+ this.idEnterprise = +e.id_enterprise;
139
144
  this.idEmpresa = +e.id_empresa;
140
145
  this.idPersonal = +e.id_personal;
141
146
  this.idPrestamo = +e.id_prestamo;
@@ -154,6 +159,7 @@ export class MPrestamosPeriodo extends MBasicModel {
154
159
  }
155
160
  dataInterface() {
156
161
  return {
162
+ id_enterprise: this.idEnterprise.toString(),
157
163
  id_empresa: this.idEmpresa,
158
164
  id_personal: this.idPersonal,
159
165
  id_prestamo: this.idPrestamo,
@@ -177,6 +183,7 @@ export class MPrestamosPeriodo extends MBasicModel {
177
183
  export class MPrestamoAmortizacion extends MBasicModel {
178
184
  constructor(e) {
179
185
  super();
186
+ this.idEnterprise = 0;
180
187
  this.idEmpresa = 0;
181
188
  this.idPersonal = 0;
182
189
  this.idPrestamo = 0;
@@ -186,6 +193,7 @@ export class MPrestamoAmortizacion extends MBasicModel {
186
193
  this.montoAmortizacion = 0;
187
194
  this.descripcionAmortizacion = '';
188
195
  if (e) {
196
+ this.idEnterprise = +e.id_enterprise;
189
197
  this.idEmpresa = +e.id_empresa;
190
198
  this.idPersonal = +e.id_personal;
191
199
  this.idPrestamo = +e.id_prestamo;
@@ -198,6 +206,7 @@ export class MPrestamoAmortizacion extends MBasicModel {
198
206
  }
199
207
  dataInterface() {
200
208
  return {
209
+ id_enterprise: this.idEnterprise.toString(),
201
210
  id_empresa: this.idEmpresa,
202
211
  id_personal: this.idPersonal,
203
212
  id_prestamo: this.idPrestamo,
@@ -209,4 +218,4 @@ export class MPrestamoAmortizacion extends MBasicModel {
209
218
  };
210
219
  }
211
220
  }
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTVByZXN0YW1vLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L0FwcFNlcnYvd3d3L3NpZ2VzcHYzKGdpdCkvc2lnZXNwLWVzdGFibGUvc2lnZXNwX2NvcmUvcHJvamVjdHMvc2lnZXNwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9TTk8vTVByZXN0YW1vLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxNQUFNLE9BQU8sU0FBVSxTQUFRLFdBQVc7SUErQnRDLFlBQVksSUFBWSxJQUFJO1FBQ3hCLEtBQUssRUFBRSxDQUFDO1FBL0JMLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUNwQixlQUFVLEdBQVEsQ0FBQyxDQUFDO1FBQ3BCLG1CQUFjLEdBQVEsQ0FBQyxDQUFDO1FBQ3hCLG1CQUFjLEdBQVEsQ0FBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBUSxDQUFDLENBQUM7UUFDbEIsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUNwQixrQkFBYSxHQUFRLENBQUMsQ0FBQztRQUN2Qix5QkFBb0IsR0FBUSxDQUFDLENBQUM7UUFDOUIsY0FBUyxHQUFRLENBQUMsQ0FBQztRQUNuQiw2QkFBd0IsR0FBUSxDQUFDLENBQUM7UUFDbEMsb0JBQWUsR0FBUSxDQUFDLENBQUM7UUFDekIsa0JBQWEsR0FBUSxZQUFZLENBQUM7UUFDbEMsaUNBQTRCLEdBQVEsRUFBRSxDQUFDO1FBQ3ZDLGtDQUE2QixHQUFRLEVBQUUsQ0FBQztRQUN4QyxjQUFTLEdBQVEsR0FBRyxDQUFDO1FBQ3JCLDZCQUF3QixHQUFRLEVBQUUsQ0FBQztRQUNuQyx1QkFBa0IsR0FBUSxFQUFFLENBQUM7UUFDN0IsdUJBQWtCLEdBQVEsRUFBRSxDQUFDO1FBQzdCLGlCQUFZLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLHlCQUFvQixHQUFRLEVBQUUsQ0FBQztRQUMvQixt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QUksQ0FBQyxVQUFVLEdBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1lBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1lBQy9CLElBQUksQ0FBQyxrQkFBa0IsR0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDbEMsSUFBSSxDQUFDLHFCQUFxQixHQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztZQUM1QyxJQUFJLENBQUMsa0JBQWtCLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNqQyxJQUFJLENBQUMsaUJBQWlCLEdBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ2pDLElBQUksQ0FBQyx1QkFBdUIsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1NBRXpDO0lBQ0wsQ0FBQztJQUVNLGFBQWE7UUFDaEIsT0FBTztZQUNILFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUztZQUN6QixXQUFXLEVBQUMsSUFBSSxDQUFDLFVBQVU7WUFDM0IsV0FBVyxFQUFDLElBQUksQ0FBQyxVQUFVO1lBQzNCLE1BQU0sRUFBQyxJQUFJLENBQUMsa0JBQWtCO1lBQzlCLGFBQWEsRUFBQyxJQUFJLENBQUMscUJBQXFCO1lBQ3hDLE1BQU0sRUFBQyxJQUFJLENBQUMsa0JBQWtCO1lBQzlCLE1BQU0sRUFBQyxJQUFJLENBQUMsaUJBQWlCO1lBQzdCLE1BQU0sRUFBQyxJQUFJLENBQUMsdUJBQXVCO1NBRXRDLENBQUE7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUHJlc3RhbW8sIElQcmVzdGFtb0Ftb3J0aXphY2lvbiwgSVByZXN0YW1vUGVyaW9kbyB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL1JlY3Vyc29zSHVtYW5vc1wiO1xyXG5pbXBvcnQgeyBNQmFzaWNNb2RlbCB9IGZyb20gXCIuLi9iYXNpYy1tb2RlbC5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIE1QcmVzdGFtbyBleHRlbmRzIE1CYXNpY01vZGVse1xyXG4gICAgcHVibGljIGlkRW1wcmVzYTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFBlcnNvbmFsOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkUHJlc3RhbW86bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgbnVtZXJvUHJlc3RhbW86bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRUaXBvUHJlc3RhbW86bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWROb21pbmE6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRDb25jZXB0bzpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBtb250b1ByZXN0YW1vOm51bWJlcj0wO1xyXG4gICAgcHVibGljIG51bWVyb0N1b3Rhc1ByZXN0YW1vOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkUGVyaW9kbzpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBtb3RvQW1vcnRpemFjaW9uUHJlc3RhbW86bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgZXN0YXR1c1ByZXN0YW1vOm51bWJlcj0xO1xyXG4gICAgcHVibGljIGZlY2hhUHJlc3RhbW86c3RyaW5nPScxOTAwLTAxLTAxJztcclxuICAgIHB1YmxpYyBvYnNlcnZhY2lvblJlY2FsY3Vsb1ByZXN0YW1vOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBvYnNlcnZhY2lvblN1c3BlbmNpb25QcmVzdGFtbzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgdGlwb0N1b3RhOnN0cmluZz0nMCc7XHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uVGlwb1ByZXN0YW1vOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjb2RpZ29UaXBvUHJlc3RhbW86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvbk5vbWluYTpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgY29kaWdvTm9taW5hOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25Db25jZXB0bzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgY29kaWdvQ29uY2VwdG86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGNvZGlnb1BlcmlvZG86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGZlY2hhRmluUGVyaW9kbzpzdHJpbmc9JzE5MDAtMDEtMDEnO1xyXG4gICAgcHVibGljIG1vbnRvQ3VvdGFQcmVzdGFtbzpudW1iZXI9MDsgXHJcbiAgICBwdWJsaWMgc2FsZG9QcmVzdGFtbzpudW1iZXI9MDsgICAgXHJcbiAgICBwdWJsaWMgbnVtZXJvUGVyaW9kb05vbWluYTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBwZXJpb2RvczpNUHJlc3RhbW9zUGVyaW9kb1tdPVtdO1xyXG4gICAgcHVibGljIGFtb3J0aXphY2lvbjpNUHJlc3RhbW9BbW9ydGl6YWNpb25bXT1bXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihlOklQcmVzdGFtbz1udWxsKXtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICBpZihlKXtcclxuICAgICAgICB0aGlzLmlkRW1wcmVzYT0rZS5pZF9lbXByZXNhO1xyXG4gICAgICAgIHRoaXMuaWRQcmVzdGFtbz0gK2UuaWRfcHJlc3RhbW87XHJcbiAgICAgICAgdGhpcy5pZFBlcnNvbmFsPSArZS5pZF9wZXJzb25hbDtcclxuICAgICAgICB0aGlzLm51bWVyb1ByZXN0YW1vPSArZS5udW1wcmU7XHJcbiAgICAgICAgdGhpcy5pZFRpcG9QcmVzdGFtbz0gK2UuaWRfdGlwb3ByZXN0YW1vO1xyXG4gICAgICAgIHRoaXMuaWROb21pbmE9ICtlLmlkX25vbWluYTtcclxuICAgICAgICB0aGlzLmlkQ29uY2VwdG89ICtlLmlkX2NvbmNlcHRvO1xyXG4gICAgICAgIHRoaXMubW9udG9QcmVzdGFtbz0gK2UubW9ucHJlO1xyXG4gICAgICAgIHRoaXMubnVtZXJvQ3VvdGFzUHJlc3RhbW89ICtlLm51bWN1b3ByZTtcclxuICAgICAgICB0aGlzLmlkUGVyaW9kbz0gK2UuaWRfcGVyaW9kbztcclxuICAgICAgICB0aGlzLm1vdG9BbW9ydGl6YWNpb25QcmVzdGFtbz0rZS5tb25hbW9wcmU7XHJcbiAgICAgICAgdGhpcy5lc3RhdHVzUHJlc3RhbW89ICtlLmVzdHByZTtcclxuICAgICAgICB0aGlzLmZlY2hhUHJlc3RhbW89IGUuZmVjcHJlO1xyXG4gICAgICAgIHRoaXMub2JzZXJ2YWNpb25SZWNhbGN1bG9QcmVzdGFtbz0gZS5vYnNyZWNwcmU7XHJcbiAgICAgICAgdGhpcy5vYnNlcnZhY2lvblN1c3BlbmNpb25QcmVzdGFtbz0gZS5vYnNzdXNwcmU7XHJcbiAgICAgICAgdGhpcy50aXBvQ3VvdGE9IGUudGlwY3VvcHJlOyAgXHJcbiAgICAgICAgdGhpcy5kZW5vbWluYWNpb25UaXBvUHJlc3RhbW89ZS5kZXN0aXBwcmU7XHJcbiAgICAgICAgdGhpcy5jb2RpZ29UaXBvUHJlc3RhbW89ZS5jb2R0aXBwcmU7XHJcbiAgICAgICAgdGhpcy5kZW5vbWluYWNpb25Ob21pbmE9ZS5kZW5ub207XHJcbiAgICAgICAgdGhpcy5jb2RpZ29Ob21pbmE9ZS5jb2Rub207XHJcbiAgICAgICAgdGhpcy5kZW5vbWluYWNpb25Db25jZXB0bz1lLm5vbWNvbjtcclxuICAgICAgICB0aGlzLmNvZGlnb0NvbmNlcHRvPWUuY29kY29uYztcclxuICAgICAgICB0aGlzLmNvZGlnb1BlcmlvZG89ZS5jb2RwZXJpO1xyXG4gICAgICAgIHRoaXMuZmVjaGFGaW5QZXJpb2RvPWUuZmVjaGFzcGVyOyAgICAgICAgICAgIFxyXG4gICAgICAgIHRoaXMubnVtZXJvUGVyaW9kb05vbWluYT0rZS5udW1wZXJub207XHJcbiAgICAgICAgdGhpcy5wZXJpb2Rvcz1lLnBlcmlvZG9zLm1hcChlPT5uZXcgTVByZXN0YW1vc1BlcmlvZG8oZSkpO1xyXG4gICAgICAgIHRoaXMuYW1vcnRpemFjaW9uPSBlLmFtb3J0aXphY2lvbi5tYXAoZT0+bmV3IE1QcmVzdGFtb0Ftb3J0aXphY2lvbihlKSk7XHJcbiAgICAgICAgdGhpcy5tb250b0N1b3RhUHJlc3RhbW89dGhpcy5jYWxjdWxhckN1b3RhcygpO1xyXG4gICAgICAgIHRoaXMuc2FsZG9QcmVzdGFtbz10aGlzLmNhbGN1bGFyU2FsZG8oKTtcclxuICAgICAgfSAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmlzTmV3PXRydWU7XHJcbiAgICAgIH0gIFxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6SVByZXN0YW1vIHtcclxuICAgICAgICByZXR1cm57XHJcbiAgICAgICAgICAgIGlkX2VtcHJlc2E6dGhpcy5pZEVtcHJlc2EsXHJcbiAgICAgICAgICAgIGlkX3BlcnNvbmFsOnRoaXMuaWRQZXJzb25hbCxcclxuICAgICAgICAgICAgaWRfcHJlc3RhbW86dGhpcy5pZFByZXN0YW1vLFxyXG4gICAgICAgICAgICBudW1wcmU6dGhpcy5udW1lcm9QcmVzdGFtbyxcclxuICAgICAgICAgICAgaWRfdGlwb3ByZXN0YW1vOnRoaXMuaWRUaXBvUHJlc3RhbW8sXHJcbiAgICAgICAgICAgIGlkX25vbWluYTp0aGlzLmlkTm9taW5hLFxyXG4gICAgICAgICAgICBpZF9jb25jZXB0bzp0aGlzLmlkQ29uY2VwdG8sXHJcbiAgICAgICAgICAgIG1vbnByZTp0aGlzLm1vbnRvUHJlc3RhbW8sXHJcbiAgICAgICAgICAgIG51bWN1b3ByZTp0aGlzLm51bWVyb0N1b3Rhc1ByZXN0YW1vLFxyXG4gICAgICAgICAgICBpZF9wZXJpb2RvOnRoaXMuaWRQZXJpb2RvLFxyXG4gICAgICAgICAgICBtb25hbW9wcmU6dGhpcy5tb3RvQW1vcnRpemFjaW9uUHJlc3RhbW8sXHJcbiAgICAgICAgICAgIGVzdHByZTp0aGlzLmVzdGF0dXNQcmVzdGFtbyxcclxuICAgICAgICAgICAgZmVjcHJlOnRoaXMuZmVjaGFQcmVzdGFtbyxcclxuICAgICAgICAgICAgb2JzcmVjcHJlOnRoaXMub2JzZXJ2YWNpb25SZWNhbGN1bG9QcmVzdGFtbyxcclxuICAgICAgICAgICAgb2Jzc3VzcHJlOnRoaXMub2JzZXJ2YWNpb25TdXNwZW5jaW9uUHJlc3RhbW8sXHJcbiAgICAgICAgICAgIHRpcGN1b3ByZTp0aGlzLnRpcG9DdW90YSxcclxuICAgICAgICAgICAgZGVubm9tOnRoaXMuZGVub21pbmFjaW9uTm9taW5hLFxyXG4gICAgICAgICAgICBjb2Rub206dGhpcy5jb2RpZ29Ob21pbmEsXHJcbiAgICAgICAgICAgIGRlc3RpcHByZTp0aGlzLmRlbm9taW5hY2lvblRpcG9QcmVzdGFtbyxcclxuICAgICAgICAgICAgY29kdGlwcHJlOnRoaXMuY29kaWdvVGlwb1ByZXN0YW1vLFxyXG4gICAgICAgICAgICBub21jb246dGhpcy5kZW5vbWluYWNpb25Db25jZXB0byxcclxuICAgICAgICAgICAgY29kY29uYzp0aGlzLmNvZGlnb0NvbmNlcHRvLFxyXG4gICAgICAgICAgICBjb2RwZXJpOnRoaXMuY29kaWdvUGVyaW9kbyxcclxuICAgICAgICAgICAgZmVjaGFzcGVyOnRoaXMuZmVjaGFGaW5QZXJpb2RvLCAgIFxyXG4gICAgICAgICAgICBudW1wZXJub206dGhpcy5udW1lcm9QZXJpb2RvTm9taW5hLFxyXG4gICAgICAgICAgICBwZXJpb2Rvczp0aGlzLnBlcmlvZG9zLm1hcCgoZnVuY3Rpb24gKGUpIHsgcmV0dXJuIGUuZGF0YUludGVyZmFjZSgpOyB9KSksXHJcbiAgICAgICAgICAgIGFtb3J0aXphY2lvbjogdGhpcy5hbW9ydGl6YWNpb24ubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZS5kYXRhSW50ZXJmYWNlKCk7fSksKVxyXG4gICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgXHJcbiAgICBwdWJsaWMgY2FsY3VsYXJDdW90YXMoKTpudW1iZXJ7ICAgICAgXHJcbiAgICAgIGxldCBpPXRoaXMucGVyaW9kb3MubGVuZ3RoLTE7XHJcbiAgICAgIGlmIChpPjApe1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBlcmlvZG9zW2ldLm1vbnRvQ3VvdGE7XHJcbiAgICAgIH0gcmV0dXJuIDA7XHJcbiAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNhbGN1bGFyU2FsZG8oKTpudW1iZXJ7XHJcbiAgICAgIGxldCBtb250b1BhZ289MDtcclxuICAgICAgdGhpcy5wZXJpb2Rvcy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgIGlmIChlbGVtZW50LmVzdGF0dXNDdW90YT09MSl7XHJcbiAgICAgICAgICBtb250b1BhZ289bW9udG9QYWdvK2VsZW1lbnQubW9udG9DdW90YTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gdGhpcy5tb250b1ByZXN0YW1vLXRoaXMubW90b0Ftb3J0aXphY2lvblByZXN0YW1vLW1vbnRvUGFnbztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY3VvdGFzQ2FuY2VsYWRhcygpOm51bWJlcntcclxuICAgICAgbGV0IGN1b3Rhcz0wO1xyXG4gICAgICB0aGlzLnBlcmlvZG9zLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQuZXN0YXR1c0N1b3RhPT0xKXtcclxuICAgICAgICAgIGN1b3Rhcz1jdW90YXMrMTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gY3VvdGFzXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgTVByZXN0YW1vc1BlcmlvZG8gZXh0ZW5kcyBNQmFzaWNNb2RlbCB7XHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRQcmVzdGFtbzpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBudW1lcm9DdW90YTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFBlcmlvZG86bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgZmVjaGFJbmljaW9QZXJpb2RvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBmZWNoYUZpblBlcmlvZG86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIG1vbnRvQ3VvdGE6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgZXN0YXR1c0N1b3RhOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnb1BlcmlvZG86c3RyaW5nO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvbkVzdGF0dXM6c3RyaW5nXHJcblxyXG4gICAgY29uc3RydWN0b3IoZT86SVByZXN0YW1vUGVyaW9kbyl7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICBpZiAoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPStlLmlkX2VtcHJlc2E7XHJcbiAgICAgICAgICAgIHRoaXMuaWRQZXJzb25hbD0rZS5pZF9wZXJzb25hbDtcclxuICAgICAgICAgICAgdGhpcy5pZFByZXN0YW1vPStlLmlkX3ByZXN0YW1vXHJcbiAgICAgICAgICAgIHRoaXMubnVtZXJvQ3VvdGE9K2UubnVtY3VvXHJcbiAgICAgICAgICAgIHRoaXMuaWRQZXJpb2RvPStlLmlkX3BlcmlvZG9jb2JcclxuICAgICAgICAgICAgdGhpcy5mZWNoYUluaWNpb1BlcmlvZG89ZS5mZWNpbmlwZXI7XHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFGaW5QZXJpb2RvPWUuZmVjZmlucGVyO1xyXG4gICAgICAgICAgICB0aGlzLm1vbnRvQ3VvdGE9K2UubW9uY3VvO1xyXG4gICAgICAgICAgICB0aGlzLmVzdGF0dXNDdW90YT0rZS5lc3RjdW87ICBcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29QZXJpb2RvPWUuY29kcGVyaXByZTtcclxuICAgICAgICAgICAgdGhpcy5kZW5vbWluYWNpb25Fc3RhdHVzPXRoaXMuZGVub21pbmFjaW9uKCk7ICAgICAgICAgXHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOZXc9dHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRhdGFJbnRlcmZhY2UoKTpJUHJlc3RhbW9QZXJpb2RvIHtcclxuICAgICAgICByZXR1cm57XHJcbiAgICAgICAgICAgIGlkX2VtcHJlc2E6dGhpcy5pZEVtcHJlc2EsXHJcbiAgICAgICAgICAgIGlkX3BlcnNvbmFsOnRoaXMuaWRQZXJzb25hbCxcclxuICAgICAgICAgICAgaWRfcHJlc3RhbW86dGhpcy5pZFByZXN0YW1vLFxyXG4gICAgICAgICAgICBudW1jdW86dGhpcy5udW1lcm9DdW90YSxcclxuICAgICAgICAgICAgaWRfcGVyaW9kb2NvYjp0aGlzLmlkUGVyaW9kbyxcclxuICAgICAgICAgICAgZmVjaW5pcGVyOnRoaXMuZmVjaGFJbmljaW9QZXJpb2RvLFxyXG4gICAgICAgICAgICBmZWNmaW5wZXI6dGhpcy5mZWNoYUZpblBlcmlvZG8sXHJcbiAgICAgICAgICAgIG1vbmN1bzp0aGlzLm1vbnRvQ3VvdGEsXHJcbiAgICAgICAgICAgIGVzdGN1bzp0aGlzLmVzdGF0dXNDdW90YSxcclxuICAgICAgICAgICAgY29kcGVyaXByZTp0aGlzLmNvZGlnb1BlcmlvZG9cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRlbm9taW5hY2lvbigpOnN0cmluZ3tcclxuICAgICAgICBpZih0aGlzLmVzdGF0dXNDdW90YT09MSl7XHJcbiAgICAgICAgICAgIHJldHVybiAnQ2FuY2VsYWRvJ1xyXG4gICAgICAgIH0gZWxzZSByZXR1cm4gJ05vIENhbmNlbGFkbydcclxuICAgIH1cclxuXHJcbiAgICBcclxuXHJcbiAgICBcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1QcmVzdGFtb0Ftb3J0aXphY2lvbiBleHRlbmRzIE1CYXNpY01vZGVse1xyXG4gICAgcHVibGljIGlkRW1wcmVzYTpudW1iZXI9MDsgXHJcbiAgICBwdWJsaWMgaWRQZXJzb25hbDpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFByZXN0YW1vOm51bWJlcj0wO1xyXG4gICAgcHVibGljIG51bWVyb0Ftb3J0aXphY2lvbjpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFBlcmlvZG9BbW9ydGl6YWNpb246bnVtYmVyPTA7IFxyXG4gICAgcHVibGljIGZlY2NoYUFtb3J0aXphY2lvbjpzdHJpbmc9JzE5MDAtMDEtMDEnOyBcclxuICAgIHB1YmxpYyBtb250b0Ftb3J0aXphY2lvbjpudW1iZXI9MDsgXHJcbiAgICBwdWJsaWMgZGVzY3JpcGNpb25BbW9ydGl6YWNpb246c3RyaW5nPScnO1xyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihlPzpJUHJlc3RhbW9BbW9ydGl6YWNpb24pe1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgaWYoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPStlLmlkX2VtcHJlc2E7XHJcbiAgICAgICAgICAgIHRoaXMuaWRQZXJzb25hbD0rZS5pZF9wZXJzb25hbDtcclxuICAgICAgICAgICAgdGhpcy5pZFByZXN0YW1vPStlLmlkX3ByZXN0YW1vO1xyXG4gICAgICAgICAgICB0aGlzLm51bWVyb0Ftb3J0aXphY2lvbj0rZS5udW1hbW87XHJcbiAgICAgICAgICAgIHRoaXMuaWRQZXJpb2RvQW1vcnRpemFjaW9uPStlLmlkX3BlcmlvZG9hbW87XHJcbiAgICAgICAgICAgIHRoaXMuZmVjY2hhQW1vcnRpemFjaW9uPWUuZmVjYW1vO1xyXG4gICAgICAgICAgICB0aGlzLm1vbnRvQW1vcnRpemFjaW9uPStlLm1vbmFtbztcclxuICAgICAgICAgICAgdGhpcy5kZXNjcmlwY2lvbkFtb3J0aXphY2lvbj1lLmRlc2FtbztcclxuICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6IElQcmVzdGFtb0Ftb3J0aXphY2lvbiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWRfZW1wcmVzYTp0aGlzLmlkRW1wcmVzYSwgXHJcbiAgICAgICAgICAgIGlkX3BlcnNvbmFsOnRoaXMuaWRQZXJzb25hbCxcclxuICAgICAgICAgICAgaWRfcHJlc3RhbW86dGhpcy5pZFByZXN0YW1vLFxyXG4gICAgICAgICAgICBudW1hbW86dGhpcy5udW1lcm9BbW9ydGl6YWNpb24sXHJcbiAgICAgICAgICAgIGlkX3BlcmlvZG9hbW86dGhpcy5pZFBlcmlvZG9BbW9ydGl6YWNpb24sIFxyXG4gICAgICAgICAgICBmZWNhbW86dGhpcy5mZWNjaGFBbW9ydGl6YWNpb24sIFxyXG4gICAgICAgICAgICBtb25hbW86dGhpcy5tb250b0Ftb3J0aXphY2lvbiwgXHJcbiAgICAgICAgICAgIGRlc2Ftbzp0aGlzLmRlc2NyaXBjaW9uQW1vcnRpemFjaW9uLFxyXG4gICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTVByZXN0YW1vLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L0FwcFNlcnYvd3d3L3NpZ2VzcHYzKGdpdCkvc2lnZXNwLWVzdGFibGUvc2lnZXNwX2NvcmUvcHJvamVjdHMvc2lnZXNwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9TTk8vTVByZXN0YW1vLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxNQUFNLE9BQU8sU0FBVSxTQUFRLFdBQVc7SUFnQ3RDLFlBQVksSUFBWSxJQUFJO1FBQ3hCLEtBQUssRUFBRSxDQUFDO1FBaENMLGlCQUFZLEdBQVEsQ0FBQyxDQUFDO1FBQ3RCLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUNwQixlQUFVLEdBQVEsQ0FBQyxDQUFDO1FBQ3BCLG1CQUFjLEdBQVEsQ0FBQyxDQUFDO1FBQ3hCLG1CQUFjLEdBQVEsQ0FBQyxDQUFDO1FBQ3hCLGFBQVEsR0FBUSxDQUFDLENBQUM7UUFDbEIsZUFBVSxHQUFRLENBQUMsQ0FBQztRQUNwQixrQkFBYSxHQUFRLENBQUMsQ0FBQztRQUN2Qix5QkFBb0IsR0FBUSxDQUFDLENBQUM7UUFDOUIsY0FBUyxHQUFRLENBQUMsQ0FBQztRQUNuQiw2QkFBd0IsR0FBUSxDQUFDLENBQUM7UUFDbEMsb0JBQWUsR0FBUSxDQUFDLENBQUM7UUFDekIsa0JBQWEsR0FBUSxZQUFZLENBQUM7UUFDbEMsaUNBQTRCLEdBQVEsRUFBRSxDQUFDO1FBQ3ZDLGtDQUE2QixHQUFRLEVBQUUsQ0FBQztRQUN4QyxjQUFTLEdBQVEsR0FBRyxDQUFDO1FBQ3JCLDZCQUF3QixHQUFRLEVBQUUsQ0FBQztRQUNuQyx1QkFBa0IsR0FBUSxFQUFFLENBQUM7UUFDN0IsdUJBQWtCLEdBQVEsRUFBRSxDQUFDO1FBQzdCLGlCQUFZLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLHlC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QUFJLENBQUMscUJBQXFCO1lBQ3hDLE1BQU0sRUFBQyxJQUFJLENBQUMsa0JBQWtCO1lBQzlCLE1BQU0sRUFBQyxJQUFJLENBQUMsaUJBQWlCO1lBQzdCLE1BQU0sRUFBQyxJQUFJLENBQUMsdUJBQXVCO1NBRXRDLENBQUE7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUHJlc3RhbW8sIElQcmVzdGFtb0Ftb3J0aXphY2lvbiwgSVByZXN0YW1vUGVyaW9kbyB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL1JlY3Vyc29zSHVtYW5vc1wiO1xyXG5pbXBvcnQgeyBNQmFzaWNNb2RlbCB9IGZyb20gXCIuLi9iYXNpYy1tb2RlbC5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIE1QcmVzdGFtbyBleHRlbmRzIE1CYXNpY01vZGVse1xyXG4gICAgcHVibGljIGlkRW50ZXJwcmlzZTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZEVtcHJlc2E6bnVtYmVyPTA7IFxyXG4gICAgcHVibGljIGlkUGVyc29uYWw6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRQcmVzdGFtbzpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBudW1lcm9QcmVzdGFtbzpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFRpcG9QcmVzdGFtbzpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZE5vbWluYTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZENvbmNlcHRvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIG1vbnRvUHJlc3RhbW86bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgbnVtZXJvQ3VvdGFzUHJlc3RhbW86bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRQZXJpb2RvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIG1vdG9BbW9ydGl6YWNpb25QcmVzdGFtbzpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBlc3RhdHVzUHJlc3RhbW86bnVtYmVyPTE7XHJcbiAgICBwdWJsaWMgZmVjaGFQcmVzdGFtbzpzdHJpbmc9JzE5MDAtMDEtMDEnO1xyXG4gICAgcHVibGljIG9ic2VydmFjaW9uUmVjYWxjdWxvUHJlc3RhbW86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIG9ic2VydmFjaW9uU3VzcGVuY2lvblByZXN0YW1vOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyB0aXBvQ3VvdGE6c3RyaW5nPScwJztcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25UaXBvUHJlc3RhbW86c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGNvZGlnb1RpcG9QcmVzdGFtbzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uTm9taW5hOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjb2RpZ29Ob21pbmE6c3RyaW5nPScnO1xyXG4gICAgcHVibGljIGRlbm9taW5hY2lvbkNvbmNlcHRvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjb2RpZ29Db25jZXB0bzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgY29kaWdvUGVyaW9kbzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZmVjaGFGaW5QZXJpb2RvOnN0cmluZz0nMTkwMC0wMS0wMSc7XHJcbiAgICBwdWJsaWMgbW9udG9DdW90YVByZXN0YW1vOm51bWJlcj0wOyBcclxuICAgIHB1YmxpYyBzYWxkb1ByZXN0YW1vOm51bWJlcj0wOyAgICBcclxuICAgIHB1YmxpYyBudW1lcm9QZXJpb2RvTm9taW5hOm51bWJlcj0wO1xyXG4gICAgcHVibGljIHBlcmlvZG9zOk1QcmVzdGFtb3NQZXJpb2RvW109W107XHJcbiAgICBwdWJsaWMgYW1vcnRpemFjaW9uOk1QcmVzdGFtb0Ftb3J0aXphY2lvbltdPVtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGU6SVByZXN0YW1vPW51bGwpe1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgIGlmKGUpe1xyXG4gICAgICAgIHRoaXMuaWRFbnRlcnByaXNlPStlLmlkX2VudGVycHJpc2U7ICBcclxuICAgICAgICB0aGlzLmlkRW1wcmVzYT0rZS5pZF9lbXByZXNhwqBcclxuICAgICAgICB0aGlzLmlkUHJlc3RhbW89ICtlLmlkX3ByZXN0YW1vO1xyXG4gICAgICAgIHRoaXMuaWRQZXJzb25hbD0gK2UuaWRfcGVyc29uYWw7XHJcbiAgICAgICAgdGhpcy5udW1lcm9QcmVzdGFtbz0gK2UubnVtcHJlO1xyXG4gICAgICAgIHRoaXMuaWRUaXBvUHJlc3RhbW89ICtlLmlkX3RpcG9wcmVzdGFtbztcclxuICAgICAgICB0aGlzLmlkTm9taW5hPSArZS5pZF9ub21pbmE7XHJcbiAgICAgICAgdGhpcy5pZENvbmNlcHRvPSArZS5pZF9jb25jZXB0bztcclxuICAgICAgICB0aGlzLm1vbnRvUHJlc3RhbW89ICtlLm1vbnByZTtcclxuICAgICAgICB0aGlzLm51bWVyb0N1b3Rhc1ByZXN0YW1vPSArZS5udW1jdW9wcmU7XHJcbiAgICAgICAgdGhpcy5pZFBlcmlvZG89ICtlLmlkX3BlcmlvZG87XHJcbiAgICAgICAgdGhpcy5tb3RvQW1vcnRpemFjaW9uUHJlc3RhbW89K2UubW9uYW1vcHJlO1xyXG4gICAgICAgIHRoaXMuZXN0YXR1c1ByZXN0YW1vPSArZS5lc3RwcmU7XHJcbiAgICAgICAgdGhpcy5mZWNoYVByZXN0YW1vPSBlLmZlY3ByZTtcclxuICAgICAgICB0aGlzLm9ic2VydmFjaW9uUmVjYWxjdWxvUHJlc3RhbW89IGUub2JzcmVjcHJlO1xyXG4gICAgICAgIHRoaXMub2JzZXJ2YWNpb25TdXNwZW5jaW9uUHJlc3RhbW89IGUub2Jzc3VzcHJlO1xyXG4gICAgICAgIHRoaXMudGlwb0N1b3RhPSBlLnRpcGN1b3ByZTsgIFxyXG4gICAgICAgIHRoaXMuZGVub21pbmFjaW9uVGlwb1ByZXN0YW1vPWUuZGVzdGlwcHJlO1xyXG4gICAgICAgIHRoaXMuY29kaWdvVGlwb1ByZXN0YW1vPWUuY29kdGlwcHJlO1xyXG4gICAgICAgIHRoaXMuZGVub21pbmFjaW9uTm9taW5hPWUuZGVubm9tO1xyXG4gICAgICAgIHRoaXMuY29kaWdvTm9taW5hPWUuY29kbm9tO1xyXG4gICAgICAgIHRoaXMuZGVub21pbmFjaW9uQ29uY2VwdG89ZS5ub21jb247XHJcbiAgICAgICAgdGhpcy5jb2RpZ29Db25jZXB0bz1lLmNvZGNvbmM7XHJcbiAgICAgICAgdGhpcy5jb2RpZ29QZXJpb2RvPWUuY29kcGVyaTtcclxuICAgICAgICB0aGlzLmZlY2hhRmluUGVyaW9kbz1lLmZlY2hhc3BlcjsgICAgICAgICAgICBcclxuICAgICAgICB0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmE9K2UubnVtcGVybm9tO1xyXG4gICAgICAgIHRoaXMucGVyaW9kb3M9ZS5wZXJpb2Rvcy5tYXAoZT0+bmV3IE1QcmVzdGFtb3NQZXJpb2RvKGUpKTtcclxuICAgICAgICB0aGlzLmFtb3J0aXphY2lvbj0gZS5hbW9ydGl6YWNpb24ubWFwKGU9Pm5ldyBNUHJlc3RhbW9BbW9ydGl6YWNpb24oZSkpO1xyXG4gICAgICAgIHRoaXMubW9udG9DdW90YVByZXN0YW1vPXRoaXMuY2FsY3VsYXJDdW90YXMoKTtcclxuICAgICAgICB0aGlzLnNhbGRvUHJlc3RhbW89dGhpcy5jYWxjdWxhclNhbGRvKCk7XHJcbiAgICAgIH0gIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5pc05ldz10cnVlO1xyXG4gICAgICB9ICBcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklQcmVzdGFtbyB7XHJcbiAgICAgICAgcmV0dXJue1xyXG4gICAgICAgICAgaWRfZW50ZXJwcmlzZTp0aGlzLmlkRW50ZXJwcmlzZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgaWRfZW1wcmVzYcKgOnRoaXMuaWRFbXByZXNhLFxyXG4gICAgICAgICAgaWRfcGVyc29uYWw6dGhpcy5pZFBlcnNvbmFsLFxyXG4gICAgICAgICAgICBpZF9wcmVzdGFtbzp0aGlzLmlkUHJlc3RhbW8sXHJcbiAgICAgICAgICAgIG51bXByZTp0aGlzLm51bWVyb1ByZXN0YW1vLFxyXG4gICAgICAgICAgICBpZF90aXBvcHJlc3RhbW86dGhpcy5pZFRpcG9QcmVzdGFtbyxcclxuICAgICAgICAgICAgaWRfbm9taW5hOnRoaXMuaWROb21pbmEsXHJcbiAgICAgICAgICAgIGlkX2NvbmNlcHRvOnRoaXMuaWRDb25jZXB0byxcclxuICAgICAgICAgICAgbW9ucHJlOnRoaXMubW9udG9QcmVzdGFtbyxcclxuICAgICAgICAgICAgbnVtY3VvcHJlOnRoaXMubnVtZXJvQ3VvdGFzUHJlc3RhbW8sXHJcbiAgICAgICAgICAgIGlkX3BlcmlvZG86dGhpcy5pZFBlcmlvZG8sXHJcbiAgICAgICAgICAgIG1vbmFtb3ByZTp0aGlzLm1vdG9BbW9ydGl6YWNpb25QcmVzdGFtbyxcclxuICAgICAgICAgICAgZXN0cHJlOnRoaXMuZXN0YXR1c1ByZXN0YW1vLFxyXG4gICAgICAgICAgICBmZWNwcmU6dGhpcy5mZWNoYVByZXN0YW1vLFxyXG4gICAgICAgICAgICBvYnNyZWNwcmU6dGhpcy5vYnNlcnZhY2lvblJlY2FsY3Vsb1ByZXN0YW1vLFxyXG4gICAgICAgICAgICBvYnNzdXNwcmU6dGhpcy5vYnNlcnZhY2lvblN1c3BlbmNpb25QcmVzdGFtbyxcclxuICAgICAgICAgICAgdGlwY3VvcHJlOnRoaXMudGlwb0N1b3RhLFxyXG4gICAgICAgICAgICBkZW5ub206dGhpcy5kZW5vbWluYWNpb25Ob21pbmEsXHJcbiAgICAgICAgICAgIGNvZG5vbTp0aGlzLmNvZGlnb05vbWluYSxcclxuICAgICAgICAgICAgZGVzdGlwcHJlOnRoaXMuZGVub21pbmFjaW9uVGlwb1ByZXN0YW1vLFxyXG4gICAgICAgICAgICBjb2R0aXBwcmU6dGhpcy5jb2RpZ29UaXBvUHJlc3RhbW8sXHJcbiAgICAgICAgICAgIG5vbWNvbjp0aGlzLmRlbm9taW5hY2lvbkNvbmNlcHRvLFxyXG4gICAgICAgICAgICBjb2Rjb25jOnRoaXMuY29kaWdvQ29uY2VwdG8sXHJcbiAgICAgICAgICAgIGNvZHBlcmk6dGhpcy5jb2RpZ29QZXJpb2RvLFxyXG4gICAgICAgICAgICBmZWNoYXNwZXI6dGhpcy5mZWNoYUZpblBlcmlvZG8sICAgXHJcbiAgICAgICAgICAgIG51bXBlcm5vbTp0aGlzLm51bWVyb1BlcmlvZG9Ob21pbmEsXHJcbiAgICAgICAgICAgIHBlcmlvZG9zOnRoaXMucGVyaW9kb3MubWFwKChmdW5jdGlvbiAoZSkgeyByZXR1cm4gZS5kYXRhSW50ZXJmYWNlKCk7IH0pKSxcclxuICAgICAgICAgICAgYW1vcnRpemFjaW9uOiB0aGlzLmFtb3J0aXphY2lvbi5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmRhdGFJbnRlcmZhY2UoKTt9KSwpXHJcbiAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICBcclxuICAgIHB1YmxpYyBjYWxjdWxhckN1b3RhcygpOm51bWJlcnsgICAgICBcclxuICAgICAgbGV0IGk9dGhpcy5wZXJpb2Rvcy5sZW5ndGgtMTtcclxuICAgICAgaWYgKGk+MCl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucGVyaW9kb3NbaV0ubW9udG9DdW90YTtcclxuICAgICAgfSByZXR1cm4gMDtcclxuICAgICBcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2FsY3VsYXJTYWxkbygpOm51bWJlcntcclxuICAgICAgbGV0IG1vbnRvUGFnbz0wO1xyXG4gICAgICB0aGlzLnBlcmlvZG9zLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQuZXN0YXR1c0N1b3RhPT0xKXtcclxuICAgICAgICAgIG1vbnRvUGFnbz1tb250b1BhZ28rZWxlbWVudC5tb250b0N1b3RhO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB0aGlzLm1vbnRvUHJlc3RhbW8tdGhpcy5tb3RvQW1vcnRpemFjaW9uUHJlc3RhbW8tbW9udG9QYWdvO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjdW90YXNDYW5jZWxhZGFzKCk6bnVtYmVye1xyXG4gICAgICBsZXQgY3VvdGFzPTA7XHJcbiAgICAgIHRoaXMucGVyaW9kb3MuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICBpZiAoZWxlbWVudC5lc3RhdHVzQ3VvdGE9PTEpe1xyXG4gICAgICAgICAgY3VvdGFzPWN1b3RhcysxO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBjdW90YXNcclxuICAgIH1cclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBNUHJlc3RhbW9zUGVyaW9kbyBleHRlbmRzIE1CYXNpY01vZGVsIHtcclxuICBwdWJsaWMgaWRFbnRlcnByaXNlOm51bWJlcj0wO1xyXG4gIHB1YmxpYyBpZEVtcHJlc2E6bnVtYmVyPTA7IFxyXG4gIHB1YmxpYyBpZFBlcnNvbmFsOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkUHJlc3RhbW86bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgbnVtZXJvQ3VvdGE6bnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgaWRQZXJpb2RvOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGZlY2hhSW5pY2lvUGVyaW9kbzpzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZmVjaGFGaW5QZXJpb2RvOnN0cmluZz0nJztcclxuICAgIHB1YmxpYyBtb250b0N1b3RhOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGVzdGF0dXNDdW90YTpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBjb2RpZ29QZXJpb2RvOnN0cmluZztcclxuICAgIHB1YmxpYyBkZW5vbWluYWNpb25Fc3RhdHVzOnN0cmluZ1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGU/OklQcmVzdGFtb1BlcmlvZG8pe1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgaWYgKGUpe1xyXG4gICAgICAgICAgdGhpcy5pZEVudGVycHJpc2U9K2UuaWRfZW50ZXJwcmlzZTsgIFxyXG4gICAgICAgICAgdGhpcy5pZEVtcHJlc2E9K2UuaWRfZW1wcmVzYcKgXHJcbiAgICAgICAgICB0aGlzLmlkUGVyc29uYWw9K2UuaWRfcGVyc29uYWw7XHJcbiAgICAgICAgICAgIHRoaXMuaWRQcmVzdGFtbz0rZS5pZF9wcmVzdGFtb1xyXG4gICAgICAgICAgICB0aGlzLm51bWVyb0N1b3RhPStlLm51bWN1b1xyXG4gICAgICAgICAgICB0aGlzLmlkUGVyaW9kbz0rZS5pZF9wZXJpb2RvY29iXHJcbiAgICAgICAgICAgIHRoaXMuZmVjaGFJbmljaW9QZXJpb2RvPWUuZmVjaW5pcGVyO1xyXG4gICAgICAgICAgICB0aGlzLmZlY2hhRmluUGVyaW9kbz1lLmZlY2ZpbnBlcjtcclxuICAgICAgICAgICAgdGhpcy5tb250b0N1b3RhPStlLm1vbmN1bztcclxuICAgICAgICAgICAgdGhpcy5lc3RhdHVzQ3VvdGE9K2UuZXN0Y3VvOyAgXHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvUGVyaW9kbz1lLmNvZHBlcmlwcmU7XHJcbiAgICAgICAgICAgIHRoaXMuZGVub21pbmFjaW9uRXN0YXR1cz10aGlzLmRlbm9taW5hY2lvbigpOyAgICAgICAgIFxyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV3PXRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6SVByZXN0YW1vUGVyaW9kbyB7XHJcbiAgICAgICAgcmV0dXJue1xyXG4gICAgICAgICAgaWRfZW50ZXJwcmlzZTp0aGlzLmlkRW50ZXJwcmlzZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgaWRfZW1wcmVzYcKgOnRoaXMuaWRFbXByZXNhLFxyXG4gICAgICAgICAgaWRfcGVyc29uYWw6dGhpcy5pZFBlcnNvbmFsLFxyXG4gICAgICAgICAgICBpZF9wcmVzdGFtbzp0aGlzLmlkUHJlc3RhbW8sXHJcbiAgICAgICAgICAgIG51bWN1bzp0aGlzLm51bWVyb0N1b3RhLFxyXG4gICAgICAgICAgICBpZF9wZXJpb2RvY29iOnRoaXMuaWRQZXJpb2RvLFxyXG4gICAgICAgICAgICBmZWNpbmlwZXI6dGhpcy5mZWNoYUluaWNpb1BlcmlvZG8sXHJcbiAgICAgICAgICAgIGZlY2ZpbnBlcjp0aGlzLmZlY2hhRmluUGVyaW9kbyxcclxuICAgICAgICAgICAgbW9uY3VvOnRoaXMubW9udG9DdW90YSxcclxuICAgICAgICAgICAgZXN0Y3VvOnRoaXMuZXN0YXR1c0N1b3RhLFxyXG4gICAgICAgICAgICBjb2RwZXJpcHJlOnRoaXMuY29kaWdvUGVyaW9kb1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGVub21pbmFjaW9uKCk6c3RyaW5ne1xyXG4gICAgICAgIGlmKHRoaXMuZXN0YXR1c0N1b3RhPT0xKXtcclxuICAgICAgICAgICAgcmV0dXJuICdDYW5jZWxhZG8nXHJcbiAgICAgICAgfSBlbHNlIHJldHVybiAnTm8gQ2FuY2VsYWRvJ1xyXG4gICAgfVxyXG5cclxuICAgIFxyXG5cclxuICAgIFxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTVByZXN0YW1vQW1vcnRpemFjaW9uIGV4dGVuZHMgTUJhc2ljTW9kZWx7XHJcbiAgcHVibGljIGlkRW50ZXJwcmlzZTpudW1iZXI9MDtcclxuICBwdWJsaWMgaWRFbXByZXNhOm51bWJlcj0wOyBcclxuICBwdWJsaWMgaWRQZXJzb25hbDpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFByZXN0YW1vOm51bWJlcj0wO1xyXG4gICAgcHVibGljIG51bWVyb0Ftb3J0aXphY2lvbjpudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFBlcmlvZG9BbW9ydGl6YWNpb246bnVtYmVyPTA7IFxyXG4gICAgcHVibGljIGZlY2NoYUFtb3J0aXphY2lvbjpzdHJpbmc9JzE5MDAtMDEtMDEnOyBcclxuICAgIHB1YmxpYyBtb250b0Ftb3J0aXphY2lvbjpudW1iZXI9MDsgXHJcbiAgICBwdWJsaWMgZGVzY3JpcGNpb25BbW9ydGl6YWNpb246c3RyaW5nPScnO1xyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihlPzpJUHJlc3RhbW9BbW9ydGl6YWNpb24pe1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgaWYoZSl7XHJcbiAgICAgICAgICB0aGlzLmlkRW50ZXJwcmlzZT0rZS5pZF9lbnRlcnByaXNlOyAgXHJcbiAgICAgICAgICB0aGlzLmlkRW1wcmVzYT0rZS5pZF9lbXByZXNhwqBcclxuICAgICAgICAgIHRoaXMuaWRQZXJzb25hbD0rZS5pZF9wZXJzb25hbDtcclxuICAgICAgICAgICAgdGhpcy5pZFByZXN0YW1vPStlLmlkX3ByZXN0YW1vO1xyXG4gICAgICAgICAgICB0aGlzLm51bWVyb0Ftb3J0aXphY2lvbj0rZS5udW1hbW87XHJcbiAgICAgICAgICAgIHRoaXMuaWRQZXJpb2RvQW1vcnRpemFjaW9uPStlLmlkX3BlcmlvZG9hbW87XHJcbiAgICAgICAgICAgIHRoaXMuZmVjY2hhQW1vcnRpemFjaW9uPWUuZmVjYW1vO1xyXG4gICAgICAgICAgICB0aGlzLm1vbnRvQW1vcnRpemFjaW9uPStlLm1vbmFtbztcclxuICAgICAgICAgICAgdGhpcy5kZXNjcmlwY2lvbkFtb3J0aXphY2lvbj1lLmRlc2FtbztcclxuICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkYXRhSW50ZXJmYWNlKCk6IElQcmVzdGFtb0Ftb3J0aXphY2lvbiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGlkX2VudGVycHJpc2U6dGhpcy5pZEVudGVycHJpc2UudG9TdHJpbmcoKSxcclxuICAgICAgICAgIGlkX2VtcHJlc2HCoDp0aGlzLmlkRW1wcmVzYSxcclxuICAgICAgICAgIGlkX3BlcnNvbmFsOnRoaXMuaWRQZXJzb25hbCxcclxuICAgICAgICAgICAgaWRfcHJlc3RhbW86dGhpcy5pZFByZXN0YW1vLFxyXG4gICAgICAgICAgICBudW1hbW86dGhpcy5udW1lcm9BbW9ydGl6YWNpb24sXHJcbiAgICAgICAgICAgIGlkX3BlcmlvZG9hbW86dGhpcy5pZFBlcmlvZG9BbW9ydGl6YWNpb24sIFxyXG4gICAgICAgICAgICBmZWNhbW86dGhpcy5mZWNjaGFBbW9ydGl6YWNpb24sIFxyXG4gICAgICAgICAgICBtb25hbW86dGhpcy5tb250b0Ftb3J0aXphY2lvbiwgXHJcbiAgICAgICAgICAgIGRlc2Ftbzp0aGlzLmRlc2NyaXBjaW9uQW1vcnRpemFjaW9uLFxyXG4gICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
@@ -2,6 +2,7 @@ import { MBasicModel } from "../basic-model.model";
2
2
  export class MPrimaGrados extends MBasicModel {
3
3
  constructor(e = null) {
4
4
  super();
5
+ this.idEnterprise = 0;
5
6
  this.idEmpresa = 0;
6
7
  this.idTabulador = 0;
7
8
  this.codigoGrado = '';
@@ -11,7 +12,8 @@ export class MPrimaGrados extends MBasicModel {
11
12
  this.montoPrima = 0;
12
13
  this.IdDetallePrima = 0;
13
14
  if (e) {
14
- this.idEmpresa = parseInt(e.id_empresa);
15
+ this.idEnterprise = +e.id_enterprise;
16
+ this.idEmpresa = +e.id_empresa;
15
17
  this.idTabulador = parseInt(e.id_tabulador);
16
18
  this.codigoGrado = e.codgra;
17
19
  this.codigoPaso = e.codpas;
@@ -26,7 +28,8 @@ export class MPrimaGrados extends MBasicModel {
26
28
  }
27
29
  dataInterface() {
28
30
  return {
29
- id_empresa: this.idEmpresa.toString(),
31
+ id_enterprise: this.idEnterprise.toString(),
32
+ id_empresa: this.idEmpresa,
30
33
  id_tabulador: this.idTabulador.toString(),
31
34
  codgra: this.codigoGrado,
32
35
  codpas: this.codigoPaso,
@@ -37,4 +40,4 @@ export class MPrimaGrados extends MBasicModel {
37
40
  };
38
41
  }
39
42
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTVByaW1hR3JhZG9zLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L0FwcFNlcnYvd3d3L3NpZ2VzcHYzKGdpdCkvc2lnZXNwLWVzdGFibGUvc2lnZXNwX2NvcmUvcHJvamVjdHMvc2lnZXNwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9TTk8vTVByaW1hR3JhZG9zLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUduRCxNQUFNLE9BQU8sWUFBYSxTQUFRLFdBQVc7SUFVekMsWUFBYSxJQUFlLElBQUk7UUFDNUIsS0FBSyxFQUFFLENBQUM7UUFWTCxjQUFTLEdBQVMsQ0FBQyxDQUFDO1FBQ3BCLGdCQUFXLEdBQVMsQ0FBQyxDQUFDO1FBQ3RCLGdCQUFXLEdBQVMsRUFBRSxDQUFDO1FBQ3ZCLGVBQVUsR0FBUyxFQUFFLENBQUM7UUFDdEIsZ0JBQVcsR0FBUyxFQUFFLENBQUM7UUFDdkIscUJBQWdCLEdBQVMsRUFBRSxDQUFDO1FBQzVCLGVBQVUsR0FBUyxDQUFDLENBQUM7UUFDckIsbUJBQWMsR0FBUyxDQUFDLENBQUM7UUFJNUIsSUFBSSxDQUFDLEVBQUM7WUFDRixJQUFJLENBQUMsU0FBUyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUMxQixJQUFJLENBQUMsVUFBVSxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzFCLElBQUksQ0FBQyxnQkFBZ0IsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDL0M7YUFBTztZQUNKLElBQUksQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDO1NBQ25CO0lBRUwsQ0FBQztJQUVNLGFBQWE7UUFDaEIsT0FBTztZQUNILFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtZQUNyQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUU7WUFDekMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVTtZQUN2QixNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDN0IsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQ2xDLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRTtTQUM5QyxDQUFBO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTUJhc2ljTW9kZWwgfSBmcm9tIFwiLi4vYmFzaWMtbW9kZWwubW9kZWxcIjtcclxuaW1wb3J0IHsgSVByaW1hR3JhZG9zIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvUmVjdXJzb3NIdW1hbm9zXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgTVByaW1hR3JhZG9zIGV4dGVuZHMgTUJhc2ljTW9kZWx7XHJcbiAgICBwdWJsaWMgaWRFbXByZXNhOiBudW1iZXI9MDtcclxuICAgIHB1YmxpYyBpZFRhYnVsYWRvcjogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgY29kaWdvR3JhZG86IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBjb2RpZ29QYXNvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgY29kaWdvUHJpbWE6IHN0cmluZz0nJztcclxuICAgIHB1YmxpYyBkZXNjcmlwY2lvblByaW1hOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgbW9udG9QcmltYTogbnVtYmVyPTA7XHJcbiAgICBwdWJsaWMgSWREZXRhbGxlUHJpbWE6IG51bWJlcj0wO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yIChlOklQcmltYUdyYWRvcz1udWxsKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICBpZiAoZSl7XHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPXBhcnNlSW50KGUuaWRfZW1wcmVzYSk7XHJcbiAgICAgICAgICAgIHRoaXMuaWRUYWJ1bGFkb3I9cGFyc2VJbnQoZS5pZF90YWJ1bGFkb3IpO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb0dyYWRvPWUuY29kZ3JhO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1Bhc289ZS5jb2RwYXM7XHJcbiAgICAgICAgICAgIHRoaXMuY29kaWdvUHJpbWE9ZS5jb2Rwcmk7XHJcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcGNpb25QcmltYT1lLmRlc3ByaTtcclxuICAgICAgICAgICAgdGhpcy5tb250b1ByaW1hPXBhcnNlSW50KGUubW9ucHJpKTtcclxuICAgICAgICAgICAgdGhpcy5JZERldGFsbGVQcmltYT1wYXJzZUludChlLmlkX2R0X3ByaW1hKTsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIH0gIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmlzTmV3PXRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwdWJsaWMgZGF0YUludGVyZmFjZSgpOklQcmltYUdyYWRvc3tcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZF9lbXByZXNhOiB0aGlzLmlkRW1wcmVzYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF90YWJ1bGFkb3I6IHRoaXMuaWRUYWJ1bGFkb3IudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY29kZ3JhOiB0aGlzLmNvZGlnb0dyYWRvLFxyXG4gICAgICAgICAgICBjb2RwYXM6IHRoaXMuY29kaWdvUGFzbyxcclxuICAgICAgICAgICAgY29kcHJpOiB0aGlzLmNvZGlnb1ByaW1hLFxyXG4gICAgICAgICAgICBkZXNwcmk6IHRoaXMuZGVzY3JpcGNpb25QcmltYSxcclxuICAgICAgICAgICAgbW9ucHJpOiB0aGlzLm1vbnRvUHJpbWEudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgaWRfZHRfcHJpbWE6IHRoaXMuSWREZXRhbGxlUHJpbWEudG9TdHJpbmcoKSxcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTVByaW1hR3JhZG9zLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IkM6L0FwcFNlcnYvd3d3L3NpZ2VzcHYzKGdpdCkvc2lnZXNwLWVzdGFibGUvc2lnZXNwX2NvcmUvcHJvamVjdHMvc2lnZXNwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL21vZGVscy9TTk8vTVByaW1hR3JhZG9zLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUduRCxNQUFNLE9BQU8sWUFBYSxTQUFRLFdBQVc7SUFXekMsWUFBYSxJQUFlLElBQUk7UUFDNUIsS0FBSyxFQUFFLENBQUM7UUFYTCxpQkFBWSxHQUFRLENBQUMsQ0FBQztRQUN0QixjQUFTLEdBQVEsQ0FBQyxDQUFDO1FBQ25CLGdCQUFXLEdBQVMsQ0FBQyxDQUFDO1FBQ3RCLGdCQUFXLEdBQVMsRUFBRSxDQUFDO1FBQ3ZCLGVBQVUsR0FBUyxFQUFFLENBQUM7UUFDdEIsZ0JBQVcsR0FBUyxFQUFFLENBQUM7UUFDdkIscUJBQWdCLEdBQVMsRUFBRSxDQUFDO1FBQzVCLGVBQVUsR0FBUyxDQUFDLENBQUM7UUFDckIsbUJBQWMsR0FBUyxDQUFDLENBQUM7UUFJNUIsSUFBSSxDQUFDLEVBQUM7WUFDRixJQUFJLENBQUMsWUFBWSxHQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztZQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQTtZQUM1QixJQUFJLENBQUMsV0FBVyxHQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUN6QixJQUFJLENBQUMsV0FBVyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxjQUFjLEdBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUMvQzthQUFPO1lBQ0osSUFBSSxDQUFDLEtBQUssR0FBQyxJQUFJLENBQUM7U0FDbkI7SUFFTCxDQUFDO0lBRU0sYUFBYTtRQUNoQixPQUFPO1lBQ0gsYUFBYSxFQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQzFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUztZQUMxQixZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUU7WUFDekMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVTtZQUN2QixNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDN0IsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQ2xDLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRTtTQUM5QyxDQUFBO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTUJhc2ljTW9kZWwgfSBmcm9tIFwiLi4vYmFzaWMtbW9kZWwubW9kZWxcIjtcclxuaW1wb3J0IHsgSVByaW1hR3JhZG9zIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvUmVjdXJzb3NIdW1hbm9zXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgTVByaW1hR3JhZG9zIGV4dGVuZHMgTUJhc2ljTW9kZWx7XHJcbiAgICBwdWJsaWMgaWRFbnRlcnByaXNlOm51bWJlcj0wO1xyXG4gICAgcHVibGljIGlkRW1wcmVzYTpudW1iZXI9MDsgXHJcbiAgICBwdWJsaWMgaWRUYWJ1bGFkb3I6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIGNvZGlnb0dyYWRvOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgY29kaWdvUGFzbzogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIGNvZGlnb1ByaW1hOiBzdHJpbmc9Jyc7XHJcbiAgICBwdWJsaWMgZGVzY3JpcGNpb25QcmltYTogc3RyaW5nPScnO1xyXG4gICAgcHVibGljIG1vbnRvUHJpbWE6IG51bWJlcj0wO1xyXG4gICAgcHVibGljIElkRGV0YWxsZVByaW1hOiBudW1iZXI9MDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvciAoZTpJUHJpbWFHcmFkb3M9bnVsbCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgaWYgKGUpe1xyXG4gICAgICAgICAgICB0aGlzLmlkRW50ZXJwcmlzZT0rZS5pZF9lbnRlcnByaXNlOyAgXHJcbiAgICAgICAgICAgIHRoaXMuaWRFbXByZXNhPStlLmlkX2VtcHJlc2HCoFxyXG4gICAgICAgICAgICB0aGlzLmlkVGFidWxhZG9yPXBhcnNlSW50KGUuaWRfdGFidWxhZG9yKTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29HcmFkbz1lLmNvZGdyYTtcclxuICAgICAgICAgICAgdGhpcy5jb2RpZ29QYXNvPWUuY29kcGFzO1xyXG4gICAgICAgICAgICB0aGlzLmNvZGlnb1ByaW1hPWUuY29kcHJpO1xyXG4gICAgICAgICAgICB0aGlzLmRlc2NyaXBjaW9uUHJpbWE9ZS5kZXNwcmk7XHJcbiAgICAgICAgICAgIHRoaXMubW9udG9QcmltYT1wYXJzZUludChlLm1vbnByaSk7XHJcbiAgICAgICAgICAgIHRoaXMuSWREZXRhbGxlUHJpbWE9cGFyc2VJbnQoZS5pZF9kdF9wcmltYSk7ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICB9ICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pc05ldz10cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHVibGljIGRhdGFJbnRlcmZhY2UoKTpJUHJpbWFHcmFkb3N7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWRfZW50ZXJwcmlzZTp0aGlzLmlkRW50ZXJwcmlzZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9lbXByZXNhwqA6dGhpcy5pZEVtcHJlc2EsXHJcbiAgICAgICAgICAgIGlkX3RhYnVsYWRvcjogdGhpcy5pZFRhYnVsYWRvci50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBjb2RncmE6IHRoaXMuY29kaWdvR3JhZG8sXHJcbiAgICAgICAgICAgIGNvZHBhczogdGhpcy5jb2RpZ29QYXNvLFxyXG4gICAgICAgICAgICBjb2Rwcmk6IHRoaXMuY29kaWdvUHJpbWEsXHJcbiAgICAgICAgICAgIGRlc3ByaTogdGhpcy5kZXNjcmlwY2lvblByaW1hLFxyXG4gICAgICAgICAgICBtb25wcmk6IHRoaXMubW9udG9QcmltYS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBpZF9kdF9wcmltYTogdGhpcy5JZERldGFsbGVQcmltYS50b1N0cmluZygpLFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==