general-library-union 3.0.35 → 3.0.36

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 (654) hide show
  1. package/.browserslistrc +15 -0
  2. package/.editorconfig +16 -0
  3. package/.vscode/extensions.json +4 -0
  4. package/.vscode/launch.json +20 -0
  5. package/.vscode/tasks.json +42 -0
  6. package/angular.json +143 -0
  7. package/karma.conf.js +44 -0
  8. package/ng-package.json +21 -0
  9. package/package.json +28 -17
  10. package/{public-api.d.ts → public-api.ts} +75 -35
  11. package/src/app/app.component.html +12 -0
  12. package/src/app/app.component.scss +0 -0
  13. package/src/app/app.component.spec.ts +29 -0
  14. package/src/app/app.component.ts +34 -0
  15. package/src/app/app.config.ts +43 -0
  16. package/src/app/app.module.ts +10 -0
  17. package/src/app/app.routes.ts +88 -0
  18. package/src/app/core/componentes/breadcrumb/breadcrumb.component.html +6 -0
  19. package/src/app/core/componentes/breadcrumb/breadcrumb.component.scss +0 -0
  20. package/src/app/core/componentes/breadcrumb/breadcrumb.component.ts +39 -0
  21. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.html +1 -0
  22. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.scss +0 -0
  23. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.ts +31 -0
  24. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.html +9 -0
  25. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.scss +28 -0
  26. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.ts +32 -0
  27. package/src/app/core/componentes/filtro-general/filtro-general.component.html +36 -0
  28. package/src/app/core/componentes/filtro-general/filtro-general.component.scss +3 -0
  29. package/src/app/core/componentes/filtro-general/filtro-general.component.ts +203 -0
  30. package/src/app/core/componentes/footer/footer.component.html +13 -0
  31. package/src/app/core/componentes/footer/footer.component.scss +3 -0
  32. package/src/app/core/componentes/footer/footer.component.ts +20 -0
  33. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.html +267 -0
  34. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.scss +21 -0
  35. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.ts +275 -0
  36. package/src/app/core/componentes/formulariodinamico/objetosformulario/{Cambio.d.ts → Cambio.ts} +9 -3
  37. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.ts +118 -0
  38. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.ts +76 -0
  39. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.ts +67 -0
  40. package/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.ts +11 -0
  41. package/src/app/core/componentes/inicio-component/inicio-component.component.html +29 -0
  42. package/src/app/core/componentes/inicio-component/inicio-component.component.scss +69 -0
  43. package/src/app/core/componentes/inicio-component/inicio-component.component.ts +70 -0
  44. package/src/app/core/componentes/menu/menu.component.html +13 -0
  45. package/src/app/core/componentes/menu/menu.component.scss +36 -0
  46. package/src/app/core/componentes/menu/menu.component.ts +35 -0
  47. package/src/app/core/componentes/tabla-general/tabla-general.component.html +90 -0
  48. package/src/app/core/componentes/tabla-general/tabla-general.component.scss +0 -0
  49. package/src/app/core/componentes/tabla-general/tabla-general.component.ts +96 -0
  50. package/src/app/core/core.module.ts +22 -0
  51. package/src/app/core/errores/authentication.error.ts +6 -0
  52. package/src/app/core/modelos/error-response.model.ts +9 -0
  53. package/src/app/core/modelos/table-column.model.ts +10 -0
  54. package/src/app/core/modelos/user.model.ts +6 -0
  55. package/src/app/core/plantilla-general/plantilla-general.template.html +139 -0
  56. package/src/app/core/plantilla-general/plantilla-general.template.scss +37 -0
  57. package/src/app/core/plantilla-general/plantilla-general.template.ts +233 -0
  58. package/src/app/core/servicios/auth.service.ts +189 -0
  59. package/src/app/core/servicios/cargar-control-funcionalidad.service.ts +49 -0
  60. package/src/app/core/servicios/data-exporter-table.utils.ts +78 -0
  61. package/src/app/core/servicios/error-interceptor.service.ts +208 -0
  62. package/src/app/core/servicios/guardias/auth.guard.ts +51 -0
  63. package/src/app/core/servicios/guardias/publico.guard.ts +26 -0
  64. package/src/app/core/servicios/interceptores/loading-interceptor.ts +37 -0
  65. package/src/app/core/servicios/interceptores/token-interceptor.service.ts +177 -0
  66. package/src/app/core/servicios/loading.service.ts +48 -0
  67. package/src/app/core/servicios/menu.service.ts +153 -0
  68. package/src/app/core/servicios/spinner-service.ts +18 -0
  69. package/src/app/core/servicios/storage.service.ts +68 -0
  70. package/src/app/core/servicios/template.service.ts +91 -0
  71. package/src/app/core/servicios/toast.service.ts +114 -0
  72. package/src/app/core/servicios/utils.service.ts +367 -0
  73. package/src/app/core/sharedlib.module.ts +11 -0
  74. package/src/app/core/utilidades/color.util.ts +197 -0
  75. package/src/app/layout/api/{menuchangeevent.d.ts → menuchangeevent.ts} +1 -1
  76. package/src/app/layout/app.breadcrumb.component.html +20 -0
  77. package/src/app/layout/app.breadcrumb.component.ts +78 -0
  78. package/src/app/layout/app.footer.component.html +18 -0
  79. package/src/app/layout/app.footer.component.ts +15 -0
  80. package/src/app/layout/app.layout.component.html +20 -0
  81. package/src/app/layout/app.layout.component.ts +201 -0
  82. package/src/app/layout/app.layout.module.ts +9 -0
  83. package/src/app/layout/app.menu.component.html +6 -0
  84. package/src/app/layout/app.menu.component.ts +51 -0
  85. package/src/app/layout/app.menu.service.ts +23 -0
  86. package/src/app/layout/app.menuitem.component.ts +252 -0
  87. package/src/app/layout/app.menuprofile.component.html +35 -0
  88. package/src/app/layout/app.menuprofile.component.ts +60 -0
  89. package/src/app/layout/app.rightmenu.component.html +72 -0
  90. package/src/app/layout/app.rightmenu.component.ts +24 -0
  91. package/src/app/layout/app.sidebar.component.html +40 -0
  92. package/src/app/layout/app.sidebar.component.ts +81 -0
  93. package/src/app/layout/app.topbar.component.html +214 -0
  94. package/src/app/layout/app.topbar.component.ts +336 -0
  95. package/src/app/layout/config/app.config.component.html +125 -0
  96. package/src/app/layout/config/app.config.component.ts +206 -0
  97. package/src/app/layout/config/app.config.module.ts +11 -0
  98. package/src/app/layout/service/app.layout.service.ts +191 -0
  99. package/src/app/publico/pages/login/login.page.html +53 -0
  100. package/src/app/publico/pages/login/login.page.scss +166 -0
  101. package/src/app/publico/pages/login/login.page.ts +128 -0
  102. package/src/app/publico/pages/not-found/not-found.page.html +35 -0
  103. package/src/app/publico/pages/not-found/not-found.page.scss +2 -0
  104. package/src/app/publico/pages/not-found/not-found.page.ts +46 -0
  105. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.html +58 -0
  106. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.scss +49 -0
  107. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.ts +176 -0
  108. package/src/app/publico/pages/timeout/timeout.page.html +24 -0
  109. package/src/app/publico/pages/timeout/timeout.page.scss +2 -0
  110. package/src/app/publico/pages/timeout/timeout.page.ts +18 -0
  111. package/src/app/seguridad/constantes/ConstantesGenerales.ts +30 -0
  112. package/src/app/seguridad/constantes/ReporteEntradaConstantes.ts +18 -0
  113. package/src/app/seguridad/constantes/ReporteFuenteConstantes.ts +13 -0
  114. package/src/app/seguridad/modelos/AplicacionModel.ts +11 -0
  115. package/src/app/seguridad/modelos/ArchivoPortalModel.ts +16 -0
  116. package/src/app/seguridad/modelos/AtributoPuntoModel.ts +9 -0
  117. package/src/app/seguridad/modelos/AtributoSSOportalModel.ts +22 -0
  118. package/src/app/seguridad/modelos/{AuditoriaArchivoModel.d.ts → AuditoriaArchivoModel.ts} +5 -2
  119. package/src/app/seguridad/modelos/CargueLineaModel.ts +17 -0
  120. package/src/app/seguridad/modelos/ColoresRGB.ts +17 -0
  121. package/src/app/seguridad/modelos/ColumnaFuenteModel.ts +9 -0
  122. package/src/app/seguridad/modelos/{ColumnaWraperModel.d.ts → ColumnaWraperModel.ts} +5 -4
  123. package/src/app/seguridad/modelos/ComplementoModel.ts +10 -0
  124. package/src/app/seguridad/modelos/ComponentePaginaModel.ts +22 -0
  125. package/src/app/seguridad/modelos/ConexionModel.ts +15 -0
  126. package/src/app/seguridad/modelos/{ContenidoHtmlPortalModel.d.ts → ContenidoHtmlPortalModel.ts} +7 -2
  127. package/src/app/seguridad/modelos/ControlFuncionModel.ts +10 -0
  128. package/src/app/seguridad/modelos/CorreoModel.ts +45 -0
  129. package/src/app/seguridad/modelos/CorreoWSModel.ts +49 -0
  130. package/src/app/seguridad/modelos/CruceRecursoPuntoModel.ts +14 -0
  131. package/src/app/seguridad/modelos/{DatoInicioModel.d.ts → DatoInicioModel.ts} +4 -3
  132. package/src/app/seguridad/modelos/{EjecucionReporteDataModel.d.ts → EjecucionReporteDataModel.ts} +3 -2
  133. package/src/app/seguridad/modelos/EmpresaModel.ts +25 -0
  134. package/src/app/seguridad/modelos/EmpresaSeguridadModel.ts +19 -0
  135. package/src/app/seguridad/modelos/{EntradaComplementoModel.d.ts → EntradaComplementoModel.ts} +5 -2
  136. package/src/app/seguridad/modelos/EtiquetaModel.ts +4 -0
  137. package/src/app/seguridad/modelos/Etiquetas.ts +14 -0
  138. package/src/app/seguridad/modelos/{ForeingWraperModel.d.ts → ForeingWraperModel.ts} +5 -2
  139. package/src/app/seguridad/modelos/FuenteCampoAtributoModel.ts +21 -0
  140. package/src/app/seguridad/modelos/{FuenteCampoModel.d.ts → FuenteCampoModel.ts} +6 -2
  141. package/src/app/seguridad/modelos/FuenteDato.ts +19 -0
  142. package/src/app/seguridad/modelos/FuenteEntradaModel.ts +9 -0
  143. package/src/app/seguridad/modelos/{FuenteGeneralModel.d.ts → FuenteGeneralModel.ts} +21 -2
  144. package/src/app/seguridad/modelos/FuenteLineaServicioModel.ts +19 -0
  145. package/src/app/seguridad/modelos/FuenteProcesoGeneralModel.ts +14 -0
  146. package/src/app/seguridad/modelos/{FuenteServicioModel.d.ts → FuenteServicioModel.ts} +16 -2
  147. package/src/app/seguridad/modelos/FuncionalidadModel.ts +12 -0
  148. package/src/app/seguridad/modelos/GeneralModel.ts +16 -0
  149. package/src/app/seguridad/modelos/{GrupoAccesoModel.d.ts → GrupoAccesoModel.ts} +5 -2
  150. package/src/app/seguridad/modelos/GrupoControlFuncionModel.ts +12 -0
  151. package/src/app/seguridad/modelos/GrupoFuenteModel.ts +17 -0
  152. package/src/app/seguridad/modelos/GrupoPermisoModel.ts +16 -0
  153. package/src/app/seguridad/modelos/{JoinFromModel.d.ts → JoinFromModel.ts} +2 -2
  154. package/src/app/seguridad/modelos/ListaServicioModel.ts +18 -0
  155. package/src/app/seguridad/modelos/LlaveForaneaModel.ts +6 -0
  156. package/src/app/seguridad/modelos/LoginModel.ts +19 -0
  157. package/src/app/seguridad/modelos/MensajeSistemaModel.ts +10 -0
  158. package/src/app/seguridad/modelos/{MenuPortalModel.d.ts → MenuPortalModel.ts} +2 -1
  159. package/src/app/seguridad/modelos/ModulosModel.ts +17 -0
  160. package/src/app/seguridad/modelos/{ObjetoReporteModel.d.ts → ObjetoReporteModel.ts} +3 -2
  161. package/src/app/seguridad/modelos/PaginaPortalModel.ts +23 -0
  162. package/src/app/seguridad/modelos/ParametroComponenteModel.ts +9 -0
  163. package/src/app/seguridad/modelos/ParametrosGeneralModel.ts +16 -0
  164. package/src/app/seguridad/modelos/PermisoFuncionModel.ts +11 -0
  165. package/src/app/seguridad/modelos/PermisocontenidoModel.ts +20 -0
  166. package/src/app/seguridad/modelos/{PeticionModel.d.ts → PeticionModel.ts} +6 -1
  167. package/src/app/seguridad/modelos/PreguntaSeguridadModel.ts +9 -0
  168. package/src/app/seguridad/modelos/PropiedadModel.ts +12 -0
  169. package/src/app/seguridad/modelos/PublicacionWebModel.ts +29 -0
  170. package/src/app/seguridad/modelos/PuntoProcesoModel.ts +7 -0
  171. package/src/app/seguridad/modelos/RecursoPunto.ts +13 -0
  172. package/src/app/seguridad/modelos/RecursoPuntoModel.ts +13 -0
  173. package/src/app/seguridad/modelos/ReporteBanda.ts +9 -0
  174. package/src/app/seguridad/modelos/ReporteColumna.ts +33 -0
  175. package/src/app/seguridad/modelos/ReporteColumnario.ts +82 -0
  176. package/src/app/seguridad/modelos/ReporteColumnarioMarcador.ts +31 -0
  177. package/src/app/seguridad/modelos/{ReporteEntradaModel.d.ts → ReporteEntradaModel.ts} +4 -2
  178. package/src/app/seguridad/modelos/{ReporteFuenteModel.d.ts → ReporteFuenteModel.ts} +70 -16
  179. package/src/app/seguridad/modelos/ReporteMarcador.ts +40 -0
  180. package/src/app/seguridad/modelos/ReporteSoporte.ts +10 -0
  181. package/src/app/seguridad/modelos/ReporteTabla.ts +14 -0
  182. package/src/app/seguridad/modelos/RespuestaModel.ts +10 -0
  183. package/src/app/seguridad/modelos/{RolModel.d.ts → RolModel.ts} +8 -4
  184. package/src/app/seguridad/modelos/ServidorCorreoModel.ts +31 -0
  185. package/src/app/seguridad/modelos/SistemaMensajeModel.ts +11 -0
  186. package/src/app/seguridad/modelos/SitioPortalModel.ts +29 -0
  187. package/src/app/seguridad/modelos/TablaFromModel.ts +5 -0
  188. package/src/app/seguridad/modelos/TareasModel.ts +54 -0
  189. package/src/app/seguridad/modelos/TextoModel.ts +11 -0
  190. package/src/app/seguridad/modelos/TipoEtiqueta.ts +8 -0
  191. package/src/app/seguridad/modelos/UnionModel.ts +14 -0
  192. package/src/app/seguridad/modelos/{UsuarioModel.d.ts → UsuarioModel.ts} +16 -5
  193. package/src/app/seguridad/modelos/UsuariogrupoModel.ts +27 -0
  194. package/src/app/seguridad/modelos/aplicacion-propiedad-model.ts +16 -0
  195. package/src/app/seguridad/modelos/contenidoCorreoModel.ts +13 -0
  196. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.html +47 -0
  197. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.scss +8 -0
  198. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.ts +144 -0
  199. package/src/app/shared/servicios/cargar-archivos.service.ts +51 -0
  200. package/src/app/shared/servicios/cargar-mapas.service.ts +43 -0
  201. package/src/app/shared/servicios/encriptado-basico.service.ts +54 -0
  202. package/src/app/shared/servicios/encriptador-simetrico.service.ts +29 -0
  203. package/src/app/shared/servicios/general.service.ts +124 -0
  204. package/src/app/shared/servicios/parametros-navegacion.service.ts +20 -0
  205. package/src/app/shared/servicios/plantillas.service.ts +22 -0
  206. package/src/app/shared/servicios/tarea.service.ts +71 -0
  207. package/src/app/shared/utilidades/translate-loader.util.ts +44 -0
  208. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.html +175 -0
  209. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.scss +78 -0
  210. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.ts +438 -0
  211. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.html +87 -0
  212. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.scss +0 -0
  213. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.ts +189 -0
  214. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.html +117 -0
  215. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.scss +0 -0
  216. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.ts +87 -0
  217. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.html +158 -0
  218. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.scss +6 -0
  219. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.ts +345 -0
  220. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.html +131 -0
  221. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.scss +0 -0
  222. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.ts +198 -0
  223. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.html +206 -0
  224. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.scss +3 -0
  225. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.ts +330 -0
  226. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.html +2121 -0
  227. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.scss +241 -0
  228. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.ts +1694 -0
  229. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.html +33 -0
  230. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.scss +0 -0
  231. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.ts +96 -0
  232. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.html +54 -0
  233. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.scss +0 -0
  234. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.ts +111 -0
  235. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.html +394 -0
  236. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.scss +10 -0
  237. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.ts +599 -0
  238. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.html +130 -0
  239. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.scss +0 -0
  240. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.ts +172 -0
  241. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.html +403 -0
  242. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.scss +5 -0
  243. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.ts +761 -0
  244. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.html +145 -0
  245. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.scss +0 -0
  246. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.ts +302 -0
  247. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.html +19 -0
  248. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.scss +0 -0
  249. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.ts +89 -0
  250. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.html +714 -0
  251. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.scss +0 -0
  252. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.ts +688 -0
  253. package/src/app/webcommon/pipes/dashboard.pipe.ts +79 -0
  254. package/src/app/webcommon/pipes/fuente.pipe.ts +207 -0
  255. package/src/app/webcommon/pipes/general.pipe.ts +1043 -0
  256. package/src/app/webcommon/pipes/reporte-columnario.pipe.ts +101 -0
  257. package/src/app/webcommon/pipes/reporte-fuente.pipe.ts +306 -0
  258. package/src/app/webcommon/pipes/sara-general.pipe.ts +289 -0
  259. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.html +90 -0
  260. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.scss +0 -0
  261. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.ts +262 -0
  262. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.html +50 -0
  263. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.scss +0 -0
  264. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.ts +135 -0
  265. package/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.html +44 -0
  266. package/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.scss +0 -0
  267. package/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.ts +66 -0
  268. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.html +41 -0
  269. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.scss +0 -0
  270. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.ts +283 -0
  271. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.html +179 -0
  272. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.scss +3 -0
  273. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.ts +266 -0
  274. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.html +273 -0
  275. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.scss +13 -0
  276. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.ts +557 -0
  277. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.html +10 -0
  278. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.scss +5 -0
  279. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.ts +58 -0
  280. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.html +71 -0
  281. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.scss +0 -0
  282. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.ts +154 -0
  283. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.html +11 -0
  284. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.scss +0 -0
  285. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.ts +82 -0
  286. package/src/app/webcommon/services/carguelinea.service.ts +74 -0
  287. package/src/app/webcommon/services/dashboard.service.ts +258 -0
  288. package/src/app/webcommon/services/ejecucionreporte.service.ts +160 -0
  289. package/src/app/webcommon/services/fechaUtils.service.ts +127 -0
  290. package/src/app/webcommon/services/fuentegeneral.service.ts +74 -0
  291. package/src/app/webcommon/services/homologacion.service.ts +49 -0
  292. package/src/app/webcommon/services/plantillas.service.ts +165 -0
  293. package/src/app/webcommon/services/reportes.service.ts +133 -0
  294. package/src/app/webcommon/webcommon.module.ts +11 -0
  295. package/src/environments/environment.prod.ts +3 -0
  296. package/src/environments/environment.ts +25 -0
  297. package/src/favicon.ico +0 -0
  298. package/src/index.html +14 -0
  299. package/src/main.ts +12 -0
  300. package/src/polyfills.ts +53 -0
  301. package/src/styles/primeng/sass/overrides/_theme_styles.scss +2 -2
  302. package/src/test.ts +14 -0
  303. package/tsconfig.app.json +15 -0
  304. package/tsconfig.json +35 -0
  305. package/tsconfig.spec.json +18 -0
  306. package/esm2022/general-library-union.mjs +0 -5
  307. package/esm2022/public-api.mjs +0 -180
  308. package/esm2022/src/app/core/componentes/breadcrumb/breadcrumb.component.mjs +0 -40
  309. package/esm2022/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.mjs +0 -28
  310. package/esm2022/src/app/core/componentes/filtro-general/filtro-general.component.mjs +0 -196
  311. package/esm2022/src/app/core/componentes/footer/footer.component.mjs +0 -16
  312. package/esm2022/src/app/core/componentes/formulariodinamico/formulariodinamico.component.mjs +0 -272
  313. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/Cambio.mjs +0 -11
  314. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.mjs +0 -124
  315. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.mjs +0 -73
  316. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.mjs +0 -59
  317. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.mjs +0 -21
  318. package/esm2022/src/app/core/componentes/inicio-component/inicio-component.component.mjs +0 -72
  319. package/esm2022/src/app/core/componentes/menu/menu.component.mjs +0 -37
  320. package/esm2022/src/app/core/componentes/tabla-general/tabla-general.component.mjs +0 -93
  321. package/esm2022/src/app/core/core.module.mjs +0 -23
  322. package/esm2022/src/app/core/errores/authentication.error.mjs +0 -7
  323. package/esm2022/src/app/core/modelos/error-response.model.mjs +0 -2
  324. package/esm2022/src/app/core/modelos/table-column.model.mjs +0 -2
  325. package/esm2022/src/app/core/modelos/user.model.mjs +0 -7
  326. package/esm2022/src/app/core/plantilla-general/plantilla-general.template.mjs +0 -230
  327. package/esm2022/src/app/core/servicios/auth.service.mjs +0 -185
  328. package/esm2022/src/app/core/servicios/cargar-control-funcionalidad.service.mjs +0 -57
  329. package/esm2022/src/app/core/servicios/data-exporter-table.utils.mjs +0 -64
  330. package/esm2022/src/app/core/servicios/error-interceptor.service.mjs +0 -214
  331. package/esm2022/src/app/core/servicios/guardias/auth.guard.mjs +0 -66
  332. package/esm2022/src/app/core/servicios/guardias/publico.guard.mjs +0 -35
  333. package/esm2022/src/app/core/servicios/interceptores/loading-interceptor.mjs +0 -37
  334. package/esm2022/src/app/core/servicios/interceptores/token-interceptor.service.mjs +0 -180
  335. package/esm2022/src/app/core/servicios/loading.service.mjs +0 -43
  336. package/esm2022/src/app/core/servicios/menu.service.mjs +0 -146
  337. package/esm2022/src/app/core/servicios/spinner-service.mjs +0 -22
  338. package/esm2022/src/app/core/servicios/storage.service.mjs +0 -68
  339. package/esm2022/src/app/core/servicios/template.service.mjs +0 -99
  340. package/esm2022/src/app/core/servicios/toast.service.mjs +0 -120
  341. package/esm2022/src/app/core/servicios/utils.service.mjs +0 -338
  342. package/esm2022/src/app/core/sharedlib.module.mjs +0 -16
  343. package/esm2022/src/app/core/utilidades/color.util.mjs +0 -177
  344. package/esm2022/src/app/layout/api/menuchangeevent.mjs +0 -2
  345. package/esm2022/src/app/layout/app.breadcrumb.component.mjs +0 -71
  346. package/esm2022/src/app/layout/app.footer.component.mjs +0 -18
  347. package/esm2022/src/app/layout/app.layout.component.mjs +0 -188
  348. package/esm2022/src/app/layout/app.layout.module.mjs +0 -15
  349. package/esm2022/src/app/layout/app.menu.component.mjs +0 -51
  350. package/esm2022/src/app/layout/app.menu.service.mjs +0 -24
  351. package/esm2022/src/app/layout/app.menuitem.component.mjs +0 -296
  352. package/esm2022/src/app/layout/app.menuprofile.component.mjs +0 -78
  353. package/esm2022/src/app/layout/app.rightmenu.component.mjs +0 -24
  354. package/esm2022/src/app/layout/app.sidebar.component.mjs +0 -92
  355. package/esm2022/src/app/layout/app.topbar.component.mjs +0 -346
  356. package/esm2022/src/app/layout/service/app.layout.service.mjs +0 -134
  357. package/esm2022/src/app/publico/pages/login/login.page.mjs +0 -129
  358. package/esm2022/src/app/publico/pages/not-found/not-found.page.mjs +0 -51
  359. package/esm2022/src/app/publico/pages/seleccion-rol/seleccion-rol.component.mjs +0 -167
  360. package/esm2022/src/app/publico/pages/timeout/timeout.page.mjs +0 -20
  361. package/esm2022/src/app/seguridad/constantes/ConstantesGenerales.mjs +0 -30
  362. package/esm2022/src/app/seguridad/constantes/ReporteEntradaConstantes.mjs +0 -19
  363. package/esm2022/src/app/seguridad/modelos/AplicacionModel.mjs +0 -8
  364. package/esm2022/src/app/seguridad/modelos/ArchivoPortalModel.mjs +0 -14
  365. package/esm2022/src/app/seguridad/modelos/AtributoPuntoModel.mjs +0 -9
  366. package/esm2022/src/app/seguridad/modelos/AtributoSSOportalModel.mjs +0 -17
  367. package/esm2022/src/app/seguridad/modelos/AuditoriaArchivoModel.mjs +0 -11
  368. package/esm2022/src/app/seguridad/modelos/CargueLineaModel.mjs +0 -13
  369. package/esm2022/src/app/seguridad/modelos/ColoresRGB.mjs +0 -18
  370. package/esm2022/src/app/seguridad/modelos/ColumnaFuenteModel.mjs +0 -9
  371. package/esm2022/src/app/seguridad/modelos/ColumnaWraperModel.mjs +0 -6
  372. package/esm2022/src/app/seguridad/modelos/ComplementoModel.mjs +0 -7
  373. package/esm2022/src/app/seguridad/modelos/ComponentePaginaModel.mjs +0 -21
  374. package/esm2022/src/app/seguridad/modelos/ConexionModel.mjs +0 -14
  375. package/esm2022/src/app/seguridad/modelos/ContenidoHtmlPortalModel.mjs +0 -21
  376. package/esm2022/src/app/seguridad/modelos/ControlFuncionModel.mjs +0 -8
  377. package/esm2022/src/app/seguridad/modelos/CorreoModel.mjs +0 -35
  378. package/esm2022/src/app/seguridad/modelos/CorreoWSModel.mjs +0 -37
  379. package/esm2022/src/app/seguridad/modelos/CruceRecursoPuntoModel.mjs +0 -14
  380. package/esm2022/src/app/seguridad/modelos/DatoInicioModel.mjs +0 -6
  381. package/esm2022/src/app/seguridad/modelos/EjecucionReporteDataModel.mjs +0 -14
  382. package/esm2022/src/app/seguridad/modelos/EmpresaModel.mjs +0 -25
  383. package/esm2022/src/app/seguridad/modelos/EmpresaSeguridadModel.mjs +0 -19
  384. package/esm2022/src/app/seguridad/modelos/EntradaComplementoModel.mjs +0 -7
  385. package/esm2022/src/app/seguridad/modelos/EtiquetaModel.mjs +0 -5
  386. package/esm2022/src/app/seguridad/modelos/Etiquetas.mjs +0 -12
  387. package/esm2022/src/app/seguridad/modelos/ForeingWraperModel.mjs +0 -6
  388. package/esm2022/src/app/seguridad/modelos/FuenteCampoAtributoModel.mjs +0 -16
  389. package/esm2022/src/app/seguridad/modelos/FuenteCampoModel.mjs +0 -17
  390. package/esm2022/src/app/seguridad/modelos/FuenteDato.mjs +0 -19
  391. package/esm2022/src/app/seguridad/modelos/FuenteEntradaModel.mjs +0 -9
  392. package/esm2022/src/app/seguridad/modelos/FuenteGeneralModel.mjs +0 -37
  393. package/esm2022/src/app/seguridad/modelos/FuenteLineaServicioModel.mjs +0 -16
  394. package/esm2022/src/app/seguridad/modelos/FuenteProcesoGeneralModel.mjs +0 -11
  395. package/esm2022/src/app/seguridad/modelos/FuenteServicioModel.mjs +0 -51
  396. package/esm2022/src/app/seguridad/modelos/FuncionalidadModel.mjs +0 -10
  397. package/esm2022/src/app/seguridad/modelos/GeneralModel.mjs +0 -15
  398. package/esm2022/src/app/seguridad/modelos/GrupoAccesoModel.mjs +0 -7
  399. package/esm2022/src/app/seguridad/modelos/GrupoControlFuncionModel.mjs +0 -10
  400. package/esm2022/src/app/seguridad/modelos/GrupoFuenteModel.mjs +0 -13
  401. package/esm2022/src/app/seguridad/modelos/GrupoPermisoModel.mjs +0 -14
  402. package/esm2022/src/app/seguridad/modelos/JoinFromModel.mjs +0 -5
  403. package/esm2022/src/app/seguridad/modelos/ListaServicioModel.mjs +0 -17
  404. package/esm2022/src/app/seguridad/modelos/LlaveForaneaModel.mjs +0 -7
  405. package/esm2022/src/app/seguridad/modelos/LoginModel.mjs +0 -15
  406. package/esm2022/src/app/seguridad/modelos/MensajeSistemaModel.mjs +0 -8
  407. package/esm2022/src/app/seguridad/modelos/MenuPortalModel.mjs +0 -5
  408. package/esm2022/src/app/seguridad/modelos/ModulosModel.mjs +0 -18
  409. package/esm2022/src/app/seguridad/modelos/ObjetoReporteModel.mjs +0 -6
  410. package/esm2022/src/app/seguridad/modelos/PaginaPortalModel.mjs +0 -20
  411. package/esm2022/src/app/seguridad/modelos/ParametroComponenteModel.mjs +0 -9
  412. package/esm2022/src/app/seguridad/modelos/ParametrosGeneralModel.mjs +0 -15
  413. package/esm2022/src/app/seguridad/modelos/PermisoFuncionModel.mjs +0 -9
  414. package/esm2022/src/app/seguridad/modelos/PermisocontenidoModel.mjs +0 -20
  415. package/esm2022/src/app/seguridad/modelos/PeticionModel.mjs +0 -16
  416. package/esm2022/src/app/seguridad/modelos/PreguntaSeguridadModel.mjs +0 -7
  417. package/esm2022/src/app/seguridad/modelos/PropiedadModel.mjs +0 -10
  418. package/esm2022/src/app/seguridad/modelos/PublicacionWebModel.mjs +0 -27
  419. package/esm2022/src/app/seguridad/modelos/PuntoProcesoModel.mjs +0 -7
  420. package/esm2022/src/app/seguridad/modelos/RecursoPunto.mjs +0 -13
  421. package/esm2022/src/app/seguridad/modelos/RecursoPuntoModel.mjs +0 -13
  422. package/esm2022/src/app/seguridad/modelos/ReporteBanda.mjs +0 -8
  423. package/esm2022/src/app/seguridad/modelos/ReporteColumna.mjs +0 -33
  424. package/esm2022/src/app/seguridad/modelos/ReporteColumnario.mjs +0 -69
  425. package/esm2022/src/app/seguridad/modelos/ReporteColumnarioMarcador.mjs +0 -24
  426. package/esm2022/src/app/seguridad/modelos/ReporteEntradaModel.mjs +0 -20
  427. package/esm2022/src/app/seguridad/modelos/ReporteFuenteModel.mjs +0 -124
  428. package/esm2022/src/app/seguridad/modelos/ReporteMarcador.mjs +0 -40
  429. package/esm2022/src/app/seguridad/modelos/ReporteSoporte.mjs +0 -10
  430. package/esm2022/src/app/seguridad/modelos/ReporteTabla.mjs +0 -13
  431. package/esm2022/src/app/seguridad/modelos/RespuestaModel.mjs +0 -9
  432. package/esm2022/src/app/seguridad/modelos/RolModel.mjs +0 -39
  433. package/esm2022/src/app/seguridad/modelos/ServidorCorreoModel.mjs +0 -28
  434. package/esm2022/src/app/seguridad/modelos/SistemaMensajeModel.mjs +0 -9
  435. package/esm2022/src/app/seguridad/modelos/SitioPortalModel.mjs +0 -25
  436. package/esm2022/src/app/seguridad/modelos/TablaFromModel.mjs +0 -5
  437. package/esm2022/src/app/seguridad/modelos/TareasModel.mjs +0 -54
  438. package/esm2022/src/app/seguridad/modelos/TextoModel.mjs +0 -9
  439. package/esm2022/src/app/seguridad/modelos/TipoEtiqueta.mjs +0 -8
  440. package/esm2022/src/app/seguridad/modelos/UnionModel.mjs +0 -12
  441. package/esm2022/src/app/seguridad/modelos/UsuarioModel.mjs +0 -53
  442. package/esm2022/src/app/seguridad/modelos/UsuariogrupoModel.mjs +0 -24
  443. package/esm2022/src/app/seguridad/modelos/aplicacion-propiedad-model.mjs +0 -15
  444. package/esm2022/src/app/seguridad/modelos/contenidoCorreoModel.mjs +0 -10
  445. package/esm2022/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.mjs +0 -154
  446. package/esm2022/src/app/shared/servicios/cargar-archivos.service.mjs +0 -54
  447. package/esm2022/src/app/shared/servicios/cargar-mapas.service.mjs +0 -46
  448. package/esm2022/src/app/shared/servicios/encriptado-basico.service.mjs +0 -53
  449. package/esm2022/src/app/shared/servicios/general.service.mjs +0 -104
  450. package/esm2022/src/app/shared/servicios/parametros-navegacion.service.mjs +0 -21
  451. package/esm2022/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.mjs +0 -378
  452. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.mjs +0 -187
  453. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.mjs +0 -85
  454. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.mjs +0 -347
  455. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.mjs +0 -206
  456. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.mjs +0 -329
  457. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.mjs +0 -1583
  458. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.mjs +0 -105
  459. package/esm2022/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.mjs +0 -114
  460. package/esm2022/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.mjs +0 -588
  461. package/esm2022/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.mjs +0 -177
  462. package/esm2022/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.mjs +0 -767
  463. package/esm2022/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.mjs +0 -331
  464. package/esm2022/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.mjs +0 -96
  465. package/esm2022/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.mjs +0 -675
  466. package/esm2022/src/app/webcommon/pipes/dashboard.pipe.mjs +0 -86
  467. package/esm2022/src/app/webcommon/pipes/fuente.pipe.mjs +0 -201
  468. package/esm2022/src/app/webcommon/pipes/general.pipe.mjs +0 -916
  469. package/esm2022/src/app/webcommon/pipes/reporte-columnario.pipe.mjs +0 -115
  470. package/esm2022/src/app/webcommon/pipes/reporte-fuente.pipe.mjs +0 -301
  471. package/esm2022/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.mjs +0 -267
  472. package/esm2022/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.mjs +0 -128
  473. package/esm2022/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.mjs +0 -73
  474. package/esm2022/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.mjs +0 -293
  475. package/esm2022/src/app/webcommon/popups/popup-recurso/popup-recurso.component.mjs +0 -269
  476. package/esm2022/src/app/webcommon/popups/popup-reporte/popup-reporte.component.mjs +0 -555
  477. package/esm2022/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.mjs +0 -64
  478. package/esm2022/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.mjs +0 -162
  479. package/esm2022/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.mjs +0 -89
  480. package/esm2022/src/app/webcommon/services/carguelinea.service.mjs +0 -69
  481. package/esm2022/src/app/webcommon/services/dashboard.service.mjs +0 -253
  482. package/esm2022/src/app/webcommon/services/ejecucionreporte.service.mjs +0 -114
  483. package/esm2022/src/app/webcommon/services/fechaUtils.service.mjs +0 -97
  484. package/esm2022/src/app/webcommon/services/fuentegeneral.service.mjs +0 -68
  485. package/esm2022/src/app/webcommon/services/homologacion.service.mjs +0 -50
  486. package/esm2022/src/app/webcommon/services/plantillas.service.mjs +0 -129
  487. package/esm2022/src/app/webcommon/services/reportes.service.mjs +0 -95
  488. package/esm2022/src/app/webcommon/webcommon.module.mjs +0 -15
  489. package/esm2022/src/environments/environment.mjs +0 -24
  490. package/fesm2022/general-library-union.mjs +0 -16036
  491. package/fesm2022/general-library-union.mjs.map +0 -1
  492. package/index.d.ts +0 -5
  493. package/src/app/core/componentes/breadcrumb/breadcrumb.component.d.ts +0 -18
  494. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.d.ts +0 -14
  495. package/src/app/core/componentes/filtro-general/filtro-general.component.d.ts +0 -34
  496. package/src/app/core/componentes/footer/footer.component.d.ts +0 -9
  497. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.d.ts +0 -46
  498. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.d.ts +0 -44
  499. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.d.ts +0 -45
  500. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.d.ts +0 -33
  501. package/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.d.ts +0 -9
  502. package/src/app/core/componentes/inicio-component/inicio-component.component.d.ts +0 -26
  503. package/src/app/core/componentes/menu/menu.component.d.ts +0 -16
  504. package/src/app/core/componentes/tabla-general/tabla-general.component.d.ts +0 -32
  505. package/src/app/core/core.module.d.ts +0 -8
  506. package/src/app/core/errores/authentication.error.d.ts +0 -3
  507. package/src/app/core/modelos/error-response.model.d.ts +0 -9
  508. package/src/app/core/modelos/table-column.model.d.ts +0 -12
  509. package/src/app/core/modelos/user.model.d.ts +0 -6
  510. package/src/app/core/plantilla-general/plantilla-general.template.d.ts +0 -89
  511. package/src/app/core/servicios/auth.service.d.ts +0 -52
  512. package/src/app/core/servicios/cargar-control-funcionalidad.service.d.ts +0 -19
  513. package/src/app/core/servicios/data-exporter-table.utils.d.ts +0 -11
  514. package/src/app/core/servicios/error-interceptor.service.d.ts +0 -41
  515. package/src/app/core/servicios/guardias/auth.guard.d.ts +0 -17
  516. package/src/app/core/servicios/guardias/publico.guard.d.ts +0 -13
  517. package/src/app/core/servicios/interceptores/loading-interceptor.d.ts +0 -11
  518. package/src/app/core/servicios/interceptores/token-interceptor.service.d.ts +0 -26
  519. package/src/app/core/servicios/loading.service.d.ts +0 -22
  520. package/src/app/core/servicios/menu.service.d.ts +0 -35
  521. package/src/app/core/servicios/spinner-service.d.ts +0 -9
  522. package/src/app/core/servicios/storage.service.d.ts +0 -37
  523. package/src/app/core/servicios/template.service.d.ts +0 -20
  524. package/src/app/core/servicios/toast.service.d.ts +0 -48
  525. package/src/app/core/servicios/utils.service.d.ts +0 -43
  526. package/src/app/core/sharedlib.module.d.ts +0 -6
  527. package/src/app/core/utilidades/color.util.d.ts +0 -70
  528. package/src/app/layout/app.breadcrumb.component.d.ts +0 -28
  529. package/src/app/layout/app.footer.component.d.ts +0 -8
  530. package/src/app/layout/app.layout.component.d.ts +0 -39
  531. package/src/app/layout/app.layout.module.d.ts +0 -6
  532. package/src/app/layout/app.menu.component.d.ts +0 -19
  533. package/src/app/layout/app.menu.service.d.ts +0 -12
  534. package/src/app/layout/app.menuitem.component.d.ts +0 -41
  535. package/src/app/layout/app.menuprofile.component.d.ts +0 -18
  536. package/src/app/layout/app.rightmenu.component.d.ts +0 -10
  537. package/src/app/layout/app.sidebar.component.d.ts +0 -34
  538. package/src/app/layout/app.topbar.component.d.ts +0 -79
  539. package/src/app/layout/service/app.layout.service.d.ts +0 -57
  540. package/src/app/publico/pages/login/login.page.d.ts +0 -40
  541. package/src/app/publico/pages/not-found/not-found.page.d.ts +0 -17
  542. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.d.ts +0 -41
  543. package/src/app/publico/pages/timeout/timeout.page.d.ts +0 -10
  544. package/src/app/seguridad/constantes/ConstantesGenerales.d.ts +0 -25
  545. package/src/app/seguridad/constantes/ReporteEntradaConstantes.d.ts +0 -7
  546. package/src/app/seguridad/modelos/AplicacionModel.d.ts +0 -7
  547. package/src/app/seguridad/modelos/ArchivoPortalModel.d.ts +0 -13
  548. package/src/app/seguridad/modelos/AtributoPuntoModel.d.ts +0 -8
  549. package/src/app/seguridad/modelos/AtributoSSOportalModel.d.ts +0 -16
  550. package/src/app/seguridad/modelos/CargueLineaModel.d.ts +0 -12
  551. package/src/app/seguridad/modelos/ColoresRGB.d.ts +0 -17
  552. package/src/app/seguridad/modelos/ColumnaFuenteModel.d.ts +0 -8
  553. package/src/app/seguridad/modelos/ComplementoModel.d.ts +0 -6
  554. package/src/app/seguridad/modelos/ComponentePaginaModel.d.ts +0 -20
  555. package/src/app/seguridad/modelos/ConexionModel.d.ts +0 -13
  556. package/src/app/seguridad/modelos/ControlFuncionModel.d.ts +0 -7
  557. package/src/app/seguridad/modelos/CorreoModel.d.ts +0 -31
  558. package/src/app/seguridad/modelos/CorreoWSModel.d.ts +0 -33
  559. package/src/app/seguridad/modelos/CruceRecursoPuntoModel.d.ts +0 -13
  560. package/src/app/seguridad/modelos/EmpresaModel.d.ts +0 -23
  561. package/src/app/seguridad/modelos/EmpresaSeguridadModel.d.ts +0 -18
  562. package/src/app/seguridad/modelos/EtiquetaModel.d.ts +0 -4
  563. package/src/app/seguridad/modelos/Etiquetas.d.ts +0 -10
  564. package/src/app/seguridad/modelos/FuenteCampoAtributoModel.d.ts +0 -15
  565. package/src/app/seguridad/modelos/FuenteDato.d.ts +0 -18
  566. package/src/app/seguridad/modelos/FuenteEntradaModel.d.ts +0 -8
  567. package/src/app/seguridad/modelos/FuenteLineaServicioModel.d.ts +0 -16
  568. package/src/app/seguridad/modelos/FuenteProcesoGeneralModel.d.ts +0 -10
  569. package/src/app/seguridad/modelos/FuncionalidadModel.d.ts +0 -8
  570. package/src/app/seguridad/modelos/GeneralModel.d.ts +0 -8
  571. package/src/app/seguridad/modelos/GrupoControlFuncionModel.d.ts +0 -9
  572. package/src/app/seguridad/modelos/GrupoFuenteModel.d.ts +0 -13
  573. package/src/app/seguridad/modelos/GrupoPermisoModel.d.ts +0 -13
  574. package/src/app/seguridad/modelos/ListaServicioModel.d.ts +0 -16
  575. package/src/app/seguridad/modelos/LlaveForaneaModel.d.ts +0 -6
  576. package/src/app/seguridad/modelos/LoginModel.d.ts +0 -17
  577. package/src/app/seguridad/modelos/MensajeSistemaModel.d.ts +0 -7
  578. package/src/app/seguridad/modelos/ModulosModel.d.ts +0 -14
  579. package/src/app/seguridad/modelos/PaginaPortalModel.d.ts +0 -19
  580. package/src/app/seguridad/modelos/ParametroComponenteModel.d.ts +0 -8
  581. package/src/app/seguridad/modelos/ParametrosGeneralModel.d.ts +0 -8
  582. package/src/app/seguridad/modelos/PermisoFuncionModel.d.ts +0 -8
  583. package/src/app/seguridad/modelos/PermisocontenidoModel.d.ts +0 -18
  584. package/src/app/seguridad/modelos/PreguntaSeguridadModel.d.ts +0 -6
  585. package/src/app/seguridad/modelos/PropiedadModel.d.ts +0 -9
  586. package/src/app/seguridad/modelos/PublicacionWebModel.d.ts +0 -25
  587. package/src/app/seguridad/modelos/PuntoProcesoModel.d.ts +0 -6
  588. package/src/app/seguridad/modelos/RecursoPunto.d.ts +0 -12
  589. package/src/app/seguridad/modelos/RecursoPuntoModel.d.ts +0 -12
  590. package/src/app/seguridad/modelos/ReporteBanda.d.ts +0 -7
  591. package/src/app/seguridad/modelos/ReporteColumna.d.ts +0 -32
  592. package/src/app/seguridad/modelos/ReporteColumnario.d.ts +0 -68
  593. package/src/app/seguridad/modelos/ReporteColumnarioMarcador.d.ts +0 -23
  594. package/src/app/seguridad/modelos/ReporteMarcador.d.ts +0 -39
  595. package/src/app/seguridad/modelos/ReporteSoporte.d.ts +0 -9
  596. package/src/app/seguridad/modelos/ReporteTabla.d.ts +0 -12
  597. package/src/app/seguridad/modelos/RespuestaModel.d.ts +0 -8
  598. package/src/app/seguridad/modelos/ServidorCorreoModel.d.ts +0 -25
  599. package/src/app/seguridad/modelos/SistemaMensajeModel.d.ts +0 -8
  600. package/src/app/seguridad/modelos/SitioPortalModel.d.ts +0 -24
  601. package/src/app/seguridad/modelos/TablaFromModel.d.ts +0 -4
  602. package/src/app/seguridad/modelos/TareasModel.d.ts +0 -49
  603. package/src/app/seguridad/modelos/TextoModel.d.ts +0 -8
  604. package/src/app/seguridad/modelos/TipoEtiqueta.d.ts +0 -7
  605. package/src/app/seguridad/modelos/UnionModel.d.ts +0 -11
  606. package/src/app/seguridad/modelos/UsuariogrupoModel.d.ts +0 -22
  607. package/src/app/seguridad/modelos/aplicacion-propiedad-model.d.ts +0 -13
  608. package/src/app/seguridad/modelos/contenidoCorreoModel.d.ts +0 -9
  609. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.d.ts +0 -47
  610. package/src/app/shared/servicios/cargar-archivos.service.d.ts +0 -15
  611. package/src/app/shared/servicios/cargar-mapas.service.d.ts +0 -18
  612. package/src/app/shared/servicios/encriptado-basico.service.d.ts +0 -10
  613. package/src/app/shared/servicios/general.service.d.ts +0 -24
  614. package/src/app/shared/servicios/parametros-navegacion.service.d.ts +0 -9
  615. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.d.ts +0 -79
  616. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.d.ts +0 -79
  617. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.d.ts +0 -29
  618. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.d.ts +0 -69
  619. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.d.ts +0 -51
  620. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.d.ts +0 -77
  621. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.d.ts +0 -278
  622. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.d.ts +0 -42
  623. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.d.ts +0 -35
  624. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.d.ts +0 -143
  625. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.d.ts +0 -49
  626. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.d.ts +0 -131
  627. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.d.ts +0 -64
  628. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.d.ts +0 -33
  629. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.d.ts +0 -149
  630. package/src/app/webcommon/pipes/dashboard.pipe.d.ts +0 -48
  631. package/src/app/webcommon/pipes/fuente.pipe.d.ts +0 -136
  632. package/src/app/webcommon/pipes/general.pipe.d.ts +0 -646
  633. package/src/app/webcommon/pipes/reporte-columnario.pipe.d.ts +0 -59
  634. package/src/app/webcommon/pipes/reporte-fuente.pipe.d.ts +0 -193
  635. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.d.ts +0 -59
  636. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.d.ts +0 -27
  637. package/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.d.ts +0 -21
  638. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.d.ts +0 -64
  639. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.d.ts +0 -63
  640. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.d.ts +0 -105
  641. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.d.ts +0 -21
  642. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.d.ts +0 -42
  643. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.d.ts +0 -30
  644. package/src/app/webcommon/services/carguelinea.service.d.ts +0 -19
  645. package/src/app/webcommon/services/dashboard.service.d.ts +0 -27
  646. package/src/app/webcommon/services/ejecucionreporte.service.d.ts +0 -34
  647. package/src/app/webcommon/services/fechaUtils.service.d.ts +0 -30
  648. package/src/app/webcommon/services/fuentegeneral.service.d.ts +0 -24
  649. package/src/app/webcommon/services/homologacion.service.d.ts +0 -17
  650. package/src/app/webcommon/services/plantillas.service.d.ts +0 -26
  651. package/src/app/webcommon/services/reportes.service.d.ts +0 -35
  652. package/src/app/webcommon/webcommon.module.d.ts +0 -6
  653. package/src/environments/environment.d.ts +0 -7
  654. /package/src/assets/images/{Navegador-edge.png → navegador-edge.png} +0 -0
@@ -1,272 +0,0 @@
1
- import { Component, Input, ViewChild, ViewContainerRef, ViewChildren } from '@angular/core';
2
- import { HashDirective } from './objetosformulario/HashDirective';
3
- import { Cambio } from './objetosformulario/Cambio';
4
- import { FormsModule } from '@angular/forms';
5
- import { CalendarModule } from 'primeng/calendar';
6
- import { CheckboxModule } from 'primeng/checkbox';
7
- import { InputTextareaModule } from 'primeng/inputtextarea';
8
- import { InputTextModule } from 'primeng/inputtext';
9
- import { RadioButtonModule } from 'primeng/radiobutton';
10
- import { TooltipModule } from 'primeng/tooltip';
11
- import { DropdownModule } from 'primeng/dropdown';
12
- import { PasswordModule } from 'primeng/password';
13
- import { CommonModule } from '@angular/common';
14
- import { InputNumberModule } from 'primeng/inputnumber';
15
- import { AutoCompleteModule } from 'primeng/autocomplete';
16
- import { TableModule } from 'primeng/table';
17
- import * as i0 from "@angular/core";
18
- import * as i1 from "../../../core/servicios/utils.service";
19
- import * as i2 from "../../../shared/servicios/general.service";
20
- import * as i3 from "../../servicios/auth.service";
21
- import * as i4 from "@angular/forms";
22
- import * as i5 from "primeng/calendar";
23
- import * as i6 from "primeng/api";
24
- import * as i7 from "primeng/checkbox";
25
- import * as i8 from "primeng/inputtextarea";
26
- import * as i9 from "primeng/inputtext";
27
- import * as i10 from "primeng/radiobutton";
28
- import * as i11 from "primeng/tooltip";
29
- import * as i12 from "primeng/dropdown";
30
- import * as i13 from "primeng/password";
31
- import * as i14 from "@angular/common";
32
- import * as i15 from "primeng/inputnumber";
33
- import * as i16 from "primeng/autocomplete";
34
- import * as i17 from "primeng/table";
35
- export class FormulariodinamicoComponent {
36
- utilsService;
37
- generalService;
38
- authService;
39
- campos;
40
- listaSiNoRadioButton = [{ name: 'Si', key: 'S' }, { name: 'No', key: 'N' }];
41
- vcr;
42
- hashes;
43
- editable;
44
- objeto;
45
- isMensaje = false;
46
- validando = false;
47
- verMensajeFuncion = false;
48
- autoZIndex = 'true';
49
- constructor(utilsService, generalService, authService) {
50
- this.utilsService = utilsService;
51
- this.generalService = generalService;
52
- this.authService = authService;
53
- }
54
- ngOnChanges() {
55
- }
56
- ngAfterViewInit() {
57
- this.verMensajeFuncion = false;
58
- this.campos.forEach(campo => {
59
- if (campo.mensajeFuncion) {
60
- this.verMensajeFuncion = true;
61
- }
62
- if (campo.tipo == 'P') {
63
- if (campo.popupComponent) {
64
- this.mostrarPopupFormulario(campo).then(data => { });
65
- }
66
- }
67
- });
68
- this.campos.sort((a, b) => a.orden - b.orden);
69
- }
70
- ngOnInit() {
71
- }
72
- modificar(objeto, editable) {
73
- this.limpiar();
74
- this.objeto = objeto;
75
- this.editable = editable;
76
- this.campos.forEach(campo => {
77
- if (!campo.caracteristica) {
78
- for (let atributo in objeto) {
79
- let valor = objeto[atributo];
80
- if (atributo == campo.campo) {
81
- this.cargarValor(campo.campo, valor, null);
82
- }
83
- }
84
- }
85
- if (campo.campoDepende != null) {
86
- this.campos.forEach(campo2 => {
87
- if (campo2.campo == campo.campoDepende) {
88
- campo2.campoReferencia = campo.valor;
89
- }
90
- });
91
- }
92
- });
93
- this.campos.sort((a, b) => a.orden - b.orden);
94
- }
95
- modificarValorCamposAdicionales(objeto, idGrupo) {
96
- this.objeto = objeto;
97
- this.campos.forEach(campo => {
98
- if (idGrupo == campo.idGrupoPertenece) {
99
- if (!campo.caracteristica) {
100
- for (let atributo in objeto) {
101
- let valor = objeto[atributo];
102
- if (atributo == campo.campo) {
103
- this.cargarValor(campo.campo, valor, null);
104
- }
105
- }
106
- }
107
- if (campo.campoDepende != null) {
108
- this.campos.forEach(campo2 => {
109
- if (campo2.campo == campo.campoDepende) {
110
- campo2.campoReferencia = campo.valor;
111
- }
112
- });
113
- }
114
- }
115
- });
116
- this.campos.sort((a, b) => a.orden - b.orden);
117
- }
118
- guardar() {
119
- this.campos.forEach(data => {
120
- });
121
- }
122
- setValorPopup(objeto) {
123
- }
124
- async loadComponentDynamic(campo, component, props) {
125
- var container = this.getContainerFor(campo.popup);
126
- container.clear();
127
- const hasProps = !!Object.keys(props).length;
128
- const compRef = container.createComponent(component); //Angular 13
129
- if (hasProps) {
130
- for (let key of Object.keys(props)) {
131
- compRef.instance[key] = props[key];
132
- }
133
- }
134
- const componente = new campo.popupComponent();
135
- if ('getDescripcionLlave' in componente) {
136
- compRef.instance['label'] = await componente.getDescripcionLlave(this.generalService, this.authService, campo.valor, campo);
137
- }
138
- }
139
- getContainerFor(name) {
140
- return this.hashes.find(x => x.hash === name).vcRef;
141
- }
142
- async mostrarPopupFormulario(campo) {
143
- await this.loadComponentDynamic(campo, campo.popupComponent, campo.propiedadesPopupComponent);
144
- }
145
- validar() {
146
- this.validando = true;
147
- var validador = true;
148
- this.campos.forEach(campo => {
149
- if (campo.obligatorio && !this.utilsService.validarCampoObligatorio(campo.valor)) {
150
- if (campo.tipo == 'P') {
151
- var container = this.getContainerFor(campo.popup);
152
- container.clear();
153
- let props = campo.propiedadesPopupComponent;
154
- const hasProps = !!Object.keys(props).length;
155
- const compRef = container.createComponent(campo.popupComponent); //Angular 13
156
- if (hasProps) {
157
- for (let key of Object.keys(props)) {
158
- compRef.instance[key] = props[key];
159
- }
160
- }
161
- compRef.instance['booleano'] = true;
162
- }
163
- validador = validador && false;
164
- }
165
- });
166
- return validador;
167
- }
168
- getObjecto() {
169
- var campos2 = this.campos.filter(data => !data.caracteristica);
170
- campos2.forEach(campo => {
171
- this.objeto[campo.campo] = campo.valor;
172
- });
173
- return this.objeto;
174
- }
175
- camposCaracteristicaClear() {
176
- for (let i = 0; i < this.campos.length; i++) {
177
- if (this.campos[i].caracteristica) {
178
- this.campos.splice(i, 1);
179
- }
180
- }
181
- }
182
- cargarValor(campo, valor, dato) {
183
- this.campos.forEach(campoF => {
184
- if (campoF.campo == campo) {
185
- //campoF.cargar(valor);
186
- campoF.valor = valor;
187
- campoF.dato = dato;
188
- }
189
- });
190
- }
191
- getCamposCaracteristica() {
192
- var camposReturn = [];
193
- this.campos.forEach(campo => {
194
- if (campo.caracteristica) {
195
- camposReturn.push(campo);
196
- }
197
- });
198
- return camposReturn;
199
- }
200
- obtenerCampo(campo) {
201
- var retorno = null;
202
- this.campos.forEach(cam => {
203
- if (cam.campo != null && cam.campo == campo) {
204
- retorno = cam;
205
- }
206
- });
207
- return retorno;
208
- }
209
- limpiar() {
210
- if (this.campos != null && this.campos.length > 0) {
211
- this.campos.forEach(campo => {
212
- campo.valor = null;
213
- campo.resaltado = false;
214
- campo.mensajeFuncion = null;
215
- });
216
- }
217
- }
218
- validarVisibilidadCampos(campo) {
219
- if ((campo.tipo == 'N' && campo.editable == 'N')) {
220
- return false;
221
- }
222
- return true;
223
- }
224
- editarPermisoCamposPorIdGrupo(idGrupo, permisoCampo) {
225
- this.campos.forEach(campo => {
226
- if (idGrupo != campo.idGrupoPertenece || campo.editable == 'L') {
227
- return;
228
- }
229
- campo.editable = permisoCampo;
230
- });
231
- }
232
- getCambios() {
233
- const cambios = [];
234
- for (const campo of this.campos) {
235
- if (campo.isCambio()) {
236
- cambios.push(new Cambio(campo.original, campo.valor, campo));
237
- }
238
- }
239
- return cambios;
240
- }
241
- removerCamposIdGrupo(idGrupo) {
242
- var camposRemover = [];
243
- this.campos.forEach(campo => {
244
- if (idGrupo != campo.idGrupoPertenece) {
245
- return;
246
- }
247
- camposRemover.push(campo);
248
- });
249
- this.campos = this.campos.filter(obj => !camposRemover.some(objEliminar => objEliminar.campo === obj.campo));
250
- }
251
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FormulariodinamicoComponent, deps: [{ token: i1.UtilsService }, { token: i2.GeneralService }, { token: i3.AuthService }], target: i0.ɵɵFactoryTarget.Component });
252
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: FormulariodinamicoComponent, isStandalone: true, selector: "formulario-dinamico", inputs: { campos: "campos", editable: "editable", objeto: "objeto", isMensaje: "isMensaje" }, viewQueries: [{ propertyName: "vcr", first: true, predicate: ["popup"], descendants: true, read: ViewContainerRef }, { propertyName: "hashes", predicate: HashDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<p-table [value]=\"campos\">\n <ng-template pTemplate=\"body\" let-campo>\n <tr *ngIf=\"validarVisibilidadCampos(campo)\">\n <td style=\"width: 20%;\">\n <label *ngIf=\"campo.editable != 'N'\" [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [class]=\"campo.tipo == 'I' ? 'font-bold color-400 mt-7' : ''\">\n {{ campo.descripcion }} \n <ng-container *ngIf=\"campo.editable != 'N' && campo.obligatorio\">*</ng-container>\n </label>\n </td>\n <td style=\"width: 80%\">\n <div class=\"p-fluid p-formgrid grid\">\n <div [ngClass]=\"campo.ayuda && campo.editable != 'N' ? 'col-11' : 'col-12'\">\n <!--campo tipo FECHA-->\n <p-calendar\n class=\"w-full\"\n appendTo=\"body\" \n type=\"text\"\n [(ngModel)]=\"campo.valor\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n dateFormat=\"dd/mm/yy\"\n [tabIndex]=\"campo.orden + 1\"\n *ngIf=\"campo.tipo == 'F' && campo.editable != 'N'\"\n [showIcon]=\"true\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n \n ></p-calendar>\n\n <!--campo tipo HORA-->\n <p-calendar\n class=\"w-full\"\n appendTo=\"body\" \n [(ngModel)]=\"campo.valor\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n [tabIndex]=\"campo.orden + 1\"\n *ngIf=\"campo.tipo == 'X' && campo.editable != 'N'\"\n [showTime]=\"true\"\n [showSeconds]=\"true\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n ></p-calendar>\n\n <!--campo tipo HORA VALOR-->\n <input\n pInputText\n type=\"time\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n [(ngModel)]=\"campo.valor\"\n [tabIndex]=\"campo.orden + 1\"\n *ngIf=\"campo.tipo == 'Z' && campo.editable != 'N'\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n />\n\n <!--campo tipo TEXTO-->\n <input\n pInputText\n [disabled]=\"!editable || campo.editable == 'L'\"\n [(ngModel)]=\"campo.valor\"\n [tabIndex]=\"campo.orden + 1\"\n *ngIf=\"campo.tipo == 'T' && campo.editable != 'N'\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n />\n\n <!--campo tipo AREA TEXTO-->\n <textarea\n pInputTextarea\n [(ngModel)]=\"campo.valor\"\n rows=\"5\"\n cols=\"5\"\n [tabIndex]=\"campo.orden + 1\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n *ngIf=\"campo.tipo == 'A' && campo.editable != 'N'\"\n class=\"w-full p-inputtextarea p-inputtext p-component p-element min-h-100 max-h-250\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n >\n </textarea>\n\n <!--campo tipo NUMERO-->\n <p-inputNumber\n [disabled]=\"!editable || campo.editable == 'L'\"\n [(ngModel)]=\"campo.valor\"\n [tabIndex]=\"campo.orden + 1\"\n [maxlength]=\"campo.longitud\"\n *ngIf=\"campo.tipo == 'N' && campo.editable != 'N'\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n >\n </p-inputNumber>\n\n <!--campo tipo DECIMAL-->\n <p-inputNumber\n [disabled]=\"!editable || campo.editable == 'L'\"\n [(ngModel)]=\"campo.valor\"\n mode=\"decimal\"\n [minFractionDigits]=\"2\"\n *ngIf=\"campo.tipo == 'D' && campo.editable != 'N'\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n >\n </p-inputNumber>\n\n <!--campo tipo SECRET-->\n <p-password\n [feedback]=\"false\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n [(ngModel)]=\"campo.valor\"\n [tabIndex]=\"campo.orden + 1\"\n *ngIf=\"campo.tipo == 'S' && campo.editable != 'N'\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n ></p-password>\n\n <!--campo tipo COMBO-->\n <p-dropdown\n class=\"w-full\"\n appendTo=\"body\"\n [options]=\"campo.lista\"\n [autoDisplayFirst]=\"false\"\n [(ngModel)]=\"campo.valor\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n *ngIf=\"campo.tipo == 'C' && campo.editable != 'N'\"\n [showClear]=\"!campo.obligatorio\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n >\n </p-dropdown>\n\n <!--campo tipo LOGICO-->\n <div *ngIf=\"campo.tipo == 'L' && campo.editable != 'N'\">\n <div class=\"col-md-12\">\n <div class=\"p-fluid p-formgrid grid\">\n <div *ngFor=\"let valor of listaSiNoRadioButton\" class=\"mt-4 col-12 md:col-2 field-checkbox\">\n <p-radioButton\n [inputId]=\"valor.key\"\n name=\"valor\"\n [value]=\"valor.key\"\n [label]=\"valor.name\"\n [(ngModel)]=\"campo.valor\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n ></p-radioButton>\n <label> </label>\n </div>\n </div>\n </div>\n </div>\n <!--campo tipo RADIO-->\n <div *ngIf=\"campo.tipo == 'R' && campo.editable != 'N'\">\n <div class=\"col-md-12\">\n <div class=\"p-fluid p-formgrid grid\">\n <div *ngFor=\"let valor of campo.lista\" class=\"mt-4 col-12 md:col-2 field-checkbox\">\n <p-radioButton\n [inputId]=\"valor.value\"\n name=\"valor\"\n [value]=\"valor.value\"\n [label]=\"valor.label\"\n [(ngModel)]=\"campo.valor\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n ></p-radioButton>\n </div>\n </div>\n </div>\n </div>\n\n <!--campo tipo CHECKBOX-->\n <div *ngIf=\"campo.tipo == 'H' && campo.editable != 'N'\">\n <div class=\"col-md-12\">\n <div class=\"p-fluid p-formgrid grid\">\n <div *ngFor=\"let valor of campo.lista\" class=\"col-12 md:col-3 field-checkbox\">\n <p-checkbox\n [inputId]=\"valor.value\"\n name=\"valor\"\n [value]=\"valor\"\n [(ngModel)]=\"campo.valor\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n ></p-checkbox>\n <label [for]=\"valor.value\">{{ valor.label }}</label>\n </div>\n </div>\n </div>\n </div>\n\n <!--campo tipo AUTOCOMPLETAR-->\n <p-autoComplete\n *ngIf=\"\n (campo.tipo == 'O' || campo.tipo == 'Y') && campo.editable != 'N'\n \"\n [disabled]=\"!editable || campo.editable == 'L'\"\n [(ngModel)]=\"campo.valor\"\n [suggestions]=\"campo.listaAutocompleteFiltrada\"\n (completeMethod)=\"campo.filtrarAutocomplete($event)\"\n field=\"label\"\n [dropdown]=\"true\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n >\n <ng-template let-valor pTemplate=\"item\">\n <div>\n <div>{{ valor.label }}</div>\n </div>\n </ng-template>\n </p-autoComplete>\n\n <!--campo tipo POPUP-->\n <div class=\"field\" *ngIf=\"campo.tipo == 'P' && campo.editable != 'N'\" >\n <ng-container *ngFor=\"let item of campo.listaPopups\" [hash]=\"item\"></ng-container>\n </div>\n <div *ngIf=\"verMensajeFuncion\" class=\"text-center w-1\">\n <label>{{ campo.mensajeFuncion }}</label>\n </div>\n <div *ngIf=\"isMensaje\">\n <label *ngIf=\"campo.mensaje\">{{ campo.mensaje }}</label>\n </div>\n </div>\n\n <div *ngIf=\"campo.ayuda && campo.editable != 'N'\" class=\"col-1 contenedor\" >\n <span\n class=\"w-1rem\"\n style=\"color: var(--color-400)\"\n tooltipStyleClass=\"tw-250\"\n [hideDelay]=\"1800\"\n pTooltip=\"{{ campo.ayuda }}\"\n tooltipPosition=\"top\"\n *ngIf=\"campo.ayuda && campo.editable != 'N'\"\n ><i class=\"pi pi-question-circle\"></i\n ></span>\n </div>\n </div>\n </td>\n </tr>\n </ng-template>\n</p-table>", styles: [".contenedor{display:flex;justify-content:center;align-items:center}:host ::ng-deep .subtitulo{display:table;margin-top:12px;margin-bottom:30px}:host ::ng-deep .subtitulo label{position:absolute;font-weight:600;color:#232323}:host ::ng-deep .p-datatable table{background:#fafafa}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i5.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "directive", type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i7.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: InputTextareaModule }, { kind: "directive", type: i8.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize", "variant"], outputs: ["onResize"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i9.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: i10.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "variant", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i11.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i12.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: PasswordModule }, { kind: "component", type: i13.Password, selector: "p-password", inputs: ["ariaLabel", "ariaLabelledBy", "label", "disabled", "promptLabel", "mediumRegex", "strongRegex", "weakLabel", "mediumLabel", "maxLength", "strongLabel", "inputId", "feedback", "appendTo", "toggleMask", "inputStyleClass", "styleClass", "style", "inputStyle", "showTransitionOptions", "hideTransitionOptions", "autocomplete", "placeholder", "showClear", "autofocus", "variant"], outputs: ["onFocus", "onBlur", "onClear"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i14.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i14.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i15.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i16.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "directive", type: HashDirective, selector: "[hash]", inputs: ["hash"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i17.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }] });
253
- }
254
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FormulariodinamicoComponent, decorators: [{
255
- type: Component,
256
- args: [{ selector: 'formulario-dinamico', imports: [FormsModule, CalendarModule, CheckboxModule, InputTextareaModule, InputTextModule, RadioButtonModule, TooltipModule, DropdownModule, PasswordModule, CommonModule, InputNumberModule, AutoCompleteModule, HashDirective, TableModule], standalone: true, template: "<p-table [value]=\"campos\">\n <ng-template pTemplate=\"body\" let-campo>\n <tr *ngIf=\"validarVisibilidadCampos(campo)\">\n <td style=\"width: 20%;\">\n <label *ngIf=\"campo.editable != 'N'\" [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [class]=\"campo.tipo == 'I' ? 'font-bold color-400 mt-7' : ''\">\n {{ campo.descripcion }} \n <ng-container *ngIf=\"campo.editable != 'N' && campo.obligatorio\">*</ng-container>\n </label>\n </td>\n <td style=\"width: 80%\">\n <div class=\"p-fluid p-formgrid grid\">\n <div [ngClass]=\"campo.ayuda && campo.editable != 'N' ? 'col-11' : 'col-12'\">\n <!--campo tipo FECHA-->\n <p-calendar\n class=\"w-full\"\n appendTo=\"body\" \n type=\"text\"\n [(ngModel)]=\"campo.valor\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n dateFormat=\"dd/mm/yy\"\n [tabIndex]=\"campo.orden + 1\"\n *ngIf=\"campo.tipo == 'F' && campo.editable != 'N'\"\n [showIcon]=\"true\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n \n ></p-calendar>\n\n <!--campo tipo HORA-->\n <p-calendar\n class=\"w-full\"\n appendTo=\"body\" \n [(ngModel)]=\"campo.valor\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n [tabIndex]=\"campo.orden + 1\"\n *ngIf=\"campo.tipo == 'X' && campo.editable != 'N'\"\n [showTime]=\"true\"\n [showSeconds]=\"true\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n ></p-calendar>\n\n <!--campo tipo HORA VALOR-->\n <input\n pInputText\n type=\"time\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n [(ngModel)]=\"campo.valor\"\n [tabIndex]=\"campo.orden + 1\"\n *ngIf=\"campo.tipo == 'Z' && campo.editable != 'N'\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n />\n\n <!--campo tipo TEXTO-->\n <input\n pInputText\n [disabled]=\"!editable || campo.editable == 'L'\"\n [(ngModel)]=\"campo.valor\"\n [tabIndex]=\"campo.orden + 1\"\n *ngIf=\"campo.tipo == 'T' && campo.editable != 'N'\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n />\n\n <!--campo tipo AREA TEXTO-->\n <textarea\n pInputTextarea\n [(ngModel)]=\"campo.valor\"\n rows=\"5\"\n cols=\"5\"\n [tabIndex]=\"campo.orden + 1\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n *ngIf=\"campo.tipo == 'A' && campo.editable != 'N'\"\n class=\"w-full p-inputtextarea p-inputtext p-component p-element min-h-100 max-h-250\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n >\n </textarea>\n\n <!--campo tipo NUMERO-->\n <p-inputNumber\n [disabled]=\"!editable || campo.editable == 'L'\"\n [(ngModel)]=\"campo.valor\"\n [tabIndex]=\"campo.orden + 1\"\n [maxlength]=\"campo.longitud\"\n *ngIf=\"campo.tipo == 'N' && campo.editable != 'N'\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n >\n </p-inputNumber>\n\n <!--campo tipo DECIMAL-->\n <p-inputNumber\n [disabled]=\"!editable || campo.editable == 'L'\"\n [(ngModel)]=\"campo.valor\"\n mode=\"decimal\"\n [minFractionDigits]=\"2\"\n *ngIf=\"campo.tipo == 'D' && campo.editable != 'N'\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n >\n </p-inputNumber>\n\n <!--campo tipo SECRET-->\n <p-password\n [feedback]=\"false\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n [(ngModel)]=\"campo.valor\"\n [tabIndex]=\"campo.orden + 1\"\n *ngIf=\"campo.tipo == 'S' && campo.editable != 'N'\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n ></p-password>\n\n <!--campo tipo COMBO-->\n <p-dropdown\n class=\"w-full\"\n appendTo=\"body\"\n [options]=\"campo.lista\"\n [autoDisplayFirst]=\"false\"\n [(ngModel)]=\"campo.valor\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n *ngIf=\"campo.tipo == 'C' && campo.editable != 'N'\"\n [showClear]=\"!campo.obligatorio\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n >\n </p-dropdown>\n\n <!--campo tipo LOGICO-->\n <div *ngIf=\"campo.tipo == 'L' && campo.editable != 'N'\">\n <div class=\"col-md-12\">\n <div class=\"p-fluid p-formgrid grid\">\n <div *ngFor=\"let valor of listaSiNoRadioButton\" class=\"mt-4 col-12 md:col-2 field-checkbox\">\n <p-radioButton\n [inputId]=\"valor.key\"\n name=\"valor\"\n [value]=\"valor.key\"\n [label]=\"valor.name\"\n [(ngModel)]=\"campo.valor\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n ></p-radioButton>\n <label> </label>\n </div>\n </div>\n </div>\n </div>\n <!--campo tipo RADIO-->\n <div *ngIf=\"campo.tipo == 'R' && campo.editable != 'N'\">\n <div class=\"col-md-12\">\n <div class=\"p-fluid p-formgrid grid\">\n <div *ngFor=\"let valor of campo.lista\" class=\"mt-4 col-12 md:col-2 field-checkbox\">\n <p-radioButton\n [inputId]=\"valor.value\"\n name=\"valor\"\n [value]=\"valor.value\"\n [label]=\"valor.label\"\n [(ngModel)]=\"campo.valor\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n ></p-radioButton>\n </div>\n </div>\n </div>\n </div>\n\n <!--campo tipo CHECKBOX-->\n <div *ngIf=\"campo.tipo == 'H' && campo.editable != 'N'\">\n <div class=\"col-md-12\">\n <div class=\"p-fluid p-formgrid grid\">\n <div *ngFor=\"let valor of campo.lista\" class=\"col-12 md:col-3 field-checkbox\">\n <p-checkbox\n [inputId]=\"valor.value\"\n name=\"valor\"\n [value]=\"valor\"\n [(ngModel)]=\"campo.valor\"\n [disabled]=\"!editable || campo.editable == 'L'\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n ></p-checkbox>\n <label [for]=\"valor.value\">{{ valor.label }}</label>\n </div>\n </div>\n </div>\n </div>\n\n <!--campo tipo AUTOCOMPLETAR-->\n <p-autoComplete\n *ngIf=\"\n (campo.tipo == 'O' || campo.tipo == 'Y') && campo.editable != 'N'\n \"\n [disabled]=\"!editable || campo.editable == 'L'\"\n [(ngModel)]=\"campo.valor\"\n [suggestions]=\"campo.listaAutocompleteFiltrada\"\n (completeMethod)=\"campo.filtrarAutocomplete($event)\"\n field=\"label\"\n [dropdown]=\"true\"\n [style.color]=\"campo.resaltado ? 'var(--color-500) !important' : ''\"\n [pTooltip]=\"campo.novedad ? campo.novedad : null\" tooltipPosition=\"top\"\n [class.ng-dirty]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n [class.ng-invalid]=\"campo.obligatorio ? (!utilsService.validarCampoObligatorio(campo.valor) && validando) : false\"\n >\n <ng-template let-valor pTemplate=\"item\">\n <div>\n <div>{{ valor.label }}</div>\n </div>\n </ng-template>\n </p-autoComplete>\n\n <!--campo tipo POPUP-->\n <div class=\"field\" *ngIf=\"campo.tipo == 'P' && campo.editable != 'N'\" >\n <ng-container *ngFor=\"let item of campo.listaPopups\" [hash]=\"item\"></ng-container>\n </div>\n <div *ngIf=\"verMensajeFuncion\" class=\"text-center w-1\">\n <label>{{ campo.mensajeFuncion }}</label>\n </div>\n <div *ngIf=\"isMensaje\">\n <label *ngIf=\"campo.mensaje\">{{ campo.mensaje }}</label>\n </div>\n </div>\n\n <div *ngIf=\"campo.ayuda && campo.editable != 'N'\" class=\"col-1 contenedor\" >\n <span\n class=\"w-1rem\"\n style=\"color: var(--color-400)\"\n tooltipStyleClass=\"tw-250\"\n [hideDelay]=\"1800\"\n pTooltip=\"{{ campo.ayuda }}\"\n tooltipPosition=\"top\"\n *ngIf=\"campo.ayuda && campo.editable != 'N'\"\n ><i class=\"pi pi-question-circle\"></i\n ></span>\n </div>\n </div>\n </td>\n </tr>\n </ng-template>\n</p-table>", styles: [".contenedor{display:flex;justify-content:center;align-items:center}:host ::ng-deep .subtitulo{display:table;margin-top:12px;margin-bottom:30px}:host ::ng-deep .subtitulo label{position:absolute;font-weight:600;color:#232323}:host ::ng-deep .p-datatable table{background:#fafafa}\n"] }]
257
- }], ctorParameters: () => [{ type: i1.UtilsService }, { type: i2.GeneralService }, { type: i3.AuthService }], propDecorators: { campos: [{
258
- type: Input
259
- }], vcr: [{
260
- type: ViewChild,
261
- args: ['popup', { read: ViewContainerRef }]
262
- }], hashes: [{
263
- type: ViewChildren,
264
- args: [HashDirective]
265
- }], editable: [{
266
- type: Input
267
- }], objeto: [{
268
- type: Input
269
- }], isMensaje: [{
270
- type: Input
271
- }] } });
272
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXVsYXJpb2RpbmFtaWNvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9jb21wb25lbnRlcy9mb3JtdWxhcmlvZGluYW1pY28vZm9ybXVsYXJpb2RpbmFtaWNvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9jb21wb25lbnRlcy9mb3JtdWxhcmlvZGluYW1pY28vZm9ybXVsYXJpb2RpbmFtaWNvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsS0FBSyxFQUE4QixTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUF3QyxNQUFNLGVBQWUsQ0FBQztBQUV6SyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFJbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJB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QUUsYUFBYSxFQUFFLFdBQVcsQ0FBQyxjQUNuTyxJQUFJO3dJQU1ULE1BQU07c0JBQWQsS0FBSztnQkFFMkMsR0FBRztzQkFBbkQsU0FBUzt1QkFBRSxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ1YsTUFBTTtzQkFBMUMsWUFBWTt1QkFBQyxhQUFhO2dCQUNsQixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkNoYW5nZXMsIElucHV0LCBPbkluaXQsIENvbXBvbmVudFJlZiwgVHlwZSwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmLCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgQWZ0ZXJWaWV3SW5pdCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FtcG9Gb3JtdWxhcmlvTW9kZWwgfSBmcm9tICcuL29iamV0b3Nmb3JtdWxhcmlvL0NhbXBvRm9ybXVsYXJpbyc7XG5pbXBvcnQgeyBIYXNoRGlyZWN0aXZlIH0gZnJvbSAnLi9vYmpldG9zZm9ybXVsYXJpby9IYXNoRGlyZWN0aXZlJztcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljaW9zL3V0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VuZXJhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljaW9zL2dlbmVyYWwuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2lvcy9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FtYmlvIH0gZnJvbSAnLi9vYmpldG9zZm9ybXVsYXJpby9DYW1iaW8nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDYWxlbmRhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xuaW1wb3J0IHsgQ2hlY2tib3hNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NoZWNrYm94JztcbmltcG9ydCB7IElucHV0VGV4dGFyZWFNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dGFyZWEnO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL3JhZGlvYnV0dG9uJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xuaW1wb3J0IHsgRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcbmltcG9ydCB7IFBhc3N3b3JkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wYXNzd29yZCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5wdXROdW1iZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0bnVtYmVyJztcbmltcG9ydCB7IEF1dG9Db21wbGV0ZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Zvcm11bGFyaW8tZGluYW1pY28nLFxuICAgIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgQ2FsZW5kYXJNb2R1bGUsIENoZWNrYm94TW9kdWxlLCBJbnB1dFRleHRhcmVhTW9kdWxlLCBJbnB1dFRleHRNb2R1bGUsIFJhZGlvQnV0dG9uTW9kdWxlLCBUb29sdGlwTW9kdWxlLCBEcm9wZG93bk1vZHVsZSwgUGFzc3dvcmRNb2R1bGUsIENvbW1vbk1vZHVsZSwgSW5wdXROdW1iZXJNb2R1bGUsIEF1dG9Db21wbGV0ZU1vZHVsZSwgSGFzaERpcmVjdGl2ZSwgVGFibGVNb2R1bGVdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm11bGFyaW9kaW5hbWljby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm11bGFyaW9kaW5hbWljby5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvcm11bGFyaW9kaW5hbWljb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBjYW1wb3M6IENhbXBvRm9ybXVsYXJpb01vZGVsW107XG4gIGxpc3RhU2lOb1JhZGlvQnV0dG9uOiBhbnlbXSA9IFt7IG5hbWU6ICdTaScsIGtleTogJ1MnIH0sIHsgbmFtZTogJ05vJywga2V5OiAnTicgfV07XG4gIEBWaWV3Q2hpbGQgKCdwb3B1cCcsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSB2Y3I6IFZpZXdDb250YWluZXJSZWY7XG4gIEBWaWV3Q2hpbGRyZW4oSGFzaERpcmVjdGl2ZSkgcHJpdmF0ZSBoYXNoZXM6IFF1ZXJ5TGlzdDxIYXNoRGlyZWN0aXZlPjtcbiAgQElucHV0KCkgZWRpdGFibGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIG9iamV0bzogYW55O1xuICBASW5wdXQoKSBpc01lbnNhamU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHZhbGlkYW5kbzogYm9vbGVhbiA9IGZhbHNlOyAgXG4gIHZlck1lbnNhamVGdW5jaW9uOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBhdXRvWkluZGV4OiBzdHJpbmcgPSAndHJ1ZSc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHV0aWxzU2VydmljZTogVXRpbHNTZXJ2aWNlLCBwcml2YXRlIGdlbmVyYWxTZXJ2aWNlOiBHZW5lcmFsU2VydmljZSwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UpIHsgfVxuXG4gIG5nT25DaGFuZ2VzKCl7XG4gICBcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBcbiAgICB0aGlzLnZlck1lbnNhamVGdW5jaW9uID0gZmFsc2U7XG5cbiAgICB0aGlzLmNhbXBvcy5mb3JFYWNoKGNhbXBvID0+IHtcbiAgICAgIGlmKGNhbXBvLm1lbnNhamVGdW5jaW9uKXtcbiAgICAgICAgdGhpcy52ZXJNZW5zYWplRnVuY2lvbiA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoY2FtcG8udGlwbyA9PSAnUCcpe1xuICAgICAgICBpZiAoY2FtcG8ucG9wdXBDb21wb25lbnQpe1xuICAgICAgICAgIHRoaXMubW9zdHJhclBvcHVwRm9ybXVsYXJpbyhjYW1wbykudGhlbihkYXRhID0+IHt9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gICAgdGhpcy5jYW1wb3Muc29ydCgoYSwgYikgPT4gYS5vcmRlbiAtIGIub3JkZW4pO1xuXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIG1vZGlmaWNhcihvYmpldG86IGFueSwgZWRpdGFibGU6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmxpbXBpYXIoKTtcblx0XHR0aGlzLm9iamV0byA9IG9iamV0bztcblx0XHR0aGlzLmVkaXRhYmxlID0gZWRpdGFibGU7XG4gICAgdGhpcy5jYW1wb3MuZm9yRWFjaChjYW1wbyA9PiB7XG4gICAgICBpZiAoIWNhbXBvLmNhcmFjdGVyaXN0aWNhKXtcbiAgICAgICAgZm9yIChsZXQgYXRyaWJ1dG8gaW4gb2JqZXRvKSB7XG4gICAgICAgICAgbGV0IHZhbG9yID0gb2JqZXRvW2F0cmlidXRvXTtcbiAgICAgICAgICBpZiAoYXRyaWJ1dG8gPT0gY2FtcG8uY2FtcG8pe1xuICAgICAgICAgICAgdGhpcy5jYXJnYXJWYWxvcihjYW1wby5jYW1wbywgdmFsb3IsIG51bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYoY2FtcG8uY2FtcG9EZXBlbmRlIT0gbnVsbCl7XG5cdFx0XHRcdHRoaXMuY2FtcG9zLmZvckVhY2goY2FtcG8yID0+IHtcblx0XHRcdFx0XHRpZihjYW1wbzIuY2FtcG8gPT0gY2FtcG8uY2FtcG9EZXBlbmRlKXtcblx0XHRcdFx0XHRcdGNhbXBvMi5jYW1wb1JlZmVyZW5jaWEgPSBjYW1wby52YWxvcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9XG4gICAgfSlcbiAgICBcbiAgICB0aGlzLmNhbXBvcy5zb3J0KChhLCBiKSA9PiBhLm9yZGVuIC0gYi5vcmRlbik7XG5cdH1cblxuICBtb2RpZmljYXJWYWxvckNhbXBvc0FkaWNpb25hbGVzKG9iamV0bzogYW55LCBpZEdydXBvOiBzdHJpbmcpIHtcblx0XHR0aGlzLm9iamV0byA9IG9iamV0bztcbiAgICB0aGlzLmNhbXBvcy5mb3JFYWNoKGNhbXBvID0+IHtcbiAgICAgIGlmKGlkR3J1cG8gPT0gY2FtcG8uaWRHcnVwb1BlcnRlbmVjZSkge1xuICAgICAgICBpZiAoIWNhbXBvLmNhcmFjdGVyaXN0aWNhKXtcbiAgICAgICAgICBmb3IgKGxldCBhdHJpYnV0byBpbiBvYmpldG8pIHtcbiAgICAgICAgICAgIGxldCB2YWxvciA9IG9iamV0b1thdHJpYnV0b107XG4gICAgICAgICAgICBpZiAoYXRyaWJ1dG8gPT0gY2FtcG8uY2FtcG8pe1xuICAgICAgICAgICAgICB0aGlzLmNhcmdhclZhbG9yKGNhbXBvLmNhbXBvLCB2YWxvciwgbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmKGNhbXBvLmNhbXBvRGVwZW5kZSE9IG51bGwpe1xuICAgICAgICAgIHRoaXMuY2FtcG9zLmZvckVhY2goY2FtcG8yID0+IHtcbiAgICAgICAgICAgIGlmKGNhbXBvMi5jYW1wbyA9PSBjYW1wby5jYW1wb0RlcGVuZGUpe1xuICAgICAgICAgICAgICBjYW1wbzIuY2FtcG9SZWZlcmVuY2lhID0gY2FtcG8udmFsb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgfSlcbiAgICBcbiAgICB0aGlzLmNhbXBvcy5zb3J0KChhLCBiKSA9PiBhLm9yZGVuIC0gYi5vcmRlbik7XG4gIH1cblxuICBndWFyZGFyKCl7XG4gICAgdGhpcy5jYW1wb3MuZm9yRWFjaChkYXRhID0+IHtcbiAgICB9KVxuICB9XG5cbiAgc2V0VmFsb3JQb3B1cChvYmpldG8pe1xuICB9XG5cbiAgYXN5bmMgbG9hZENvbXBvbmVudER5bmFtaWM8VD4oY2FtcG86IENhbXBvRm9ybXVsYXJpb01vZGVsLCBjb21wb25lbnQ6IFR5cGU8VD4sIHByb3BzOiBQYXJ0aWFsPFQ+KSB7XG4gICAgdmFyIGNvbnRhaW5lciA9ICAgdGhpcy5nZXRDb250YWluZXJGb3IoY2FtcG8ucG9wdXApXG4gICAgY29udGFpbmVyLmNsZWFyKCk7XG4gICAgY29uc3QgaGFzUHJvcHM6IGJvb2xlYW4gPSAhIU9iamVjdC5rZXlzKHByb3BzKS5sZW5ndGg7XG4gICAgY29uc3QgY29tcFJlZjogQ29tcG9uZW50UmVmPGFueT4gPSBjb250YWluZXIuY3JlYXRlQ29tcG9uZW50KCBjb21wb25lbnQgKTsgLy9Bbmd1bGFyIDEzXG4gICAgXG4gICAgaWYgKGhhc1Byb3BzKSB7XG4gICAgICBmb3IgKGxldCBrZXkgb2YgT2JqZWN0LmtleXMocHJvcHMpKSB7XG4gICAgICAgIGNvbXBSZWYuaW5zdGFuY2Vba2V5XSA9IHByb3BzW2tleV07XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGNvbXBvbmVudGUgPSBuZXcgY2FtcG8ucG9wdXBDb21wb25lbnQoKTtcbiAgICBpZignZ2V0RGVzY3JpcGNpb25MbGF2ZScgaW4gY29tcG9uZW50ZSApe1xuICAgICAgY29tcFJlZi5pbnN0YW5jZVsnbGFiZWwnXSA9IGF3YWl0IGNvbXBvbmVudGUuZ2V0RGVzY3JpcGNpb25MbGF2ZSh0aGlzLmdlbmVyYWxTZXJ2aWNlLCB0aGlzLmF1dGhTZXJ2aWNlLCBjYW1wby52YWxvciwgY2FtcG8pXG4gICAgfVxuXG4gIH1cblxuICBnZXRDb250YWluZXJGb3IobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaGFzaGVzLmZpbmQoeCA9PiB4Lmhhc2ggPT09IG5hbWUpLnZjUmVmO1xuICB9XG5cbiAgYXN5bmMgbW9zdHJhclBvcHVwRm9ybXVsYXJpbyhjYW1wbzogQ2FtcG9Gb3JtdWxhcmlvTW9kZWwpe1xuICAgIGF3YWl0IHRoaXMubG9hZENvbXBvbmVudER5bmFtaWMoY2FtcG8sIGNhbXBvLnBvcHVwQ29tcG9uZW50LCBjYW1wby5wcm9waWVkYWRlc1BvcHVwQ29tcG9uZW50KVxuICAgICAgXG4gIH1cblxuICB2YWxpZGFyKCk6IGJvb2xlYW57XG4gICAgdGhpcy52YWxpZGFuZG8gPSB0cnVlO1xuICAgIHZhciB2YWxpZGFkb3IgPSB0cnVlO1xuICAgIHRoaXMuY2FtcG9zLmZvckVhY2goY2FtcG8gPT4ge1xuICAgICAgaWYgKGNhbXBvLm9ibGlnYXRvcmlvICYmICF0aGlzLnV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgICl7XG4gICAgICAgIGlmIChjYW1wby50aXBvID09ICdQJykge1xuICAgICAgICAgIHZhciBjb250YWluZXIgPSAgIHRoaXMuZ2V0Q29udGFpbmVyRm9yKGNhbXBvLnBvcHVwKVxuICAgICAgICAgIGNvbnRhaW5lci5jbGVhcigpXG4gICAgICAgICAgbGV0IHByb3BzID0gY2FtcG8ucHJvcGllZGFkZXNQb3B1cENvbXBvbmVudDtcbiAgICAgICAgICBjb25zdCBoYXNQcm9wczogYm9vbGVhbiA9ICEhT2JqZWN0LmtleXMocHJvcHMpLmxlbmd0aDtcbiAgICAgICAgICBjb25zdCBjb21wUmVmOiBDb21wb25lbnRSZWY8YW55PiA9IGNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoIGNhbXBvLnBvcHVwQ29tcG9uZW50ICk7IC8vQW5ndWxhciAxM1xuICAgICAgICAgIGlmIChoYXNQcm9wcykge1xuICAgICAgICAgICAgZm9yIChsZXQga2V5IG9mIE9iamVjdC5rZXlzKHByb3BzKSkge1xuICAgICAgICAgICAgICBjb21wUmVmLmluc3RhbmNlW2tleV0gPSBwcm9wc1trZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBjb21wUmVmLmluc3RhbmNlWydib29sZWFubyddID0gdHJ1ZTsgXG4gICAgICAgIH1cbiAgICAgICAgdmFsaWRhZG9yID0gdmFsaWRhZG9yICYmIGZhbHNlO1xuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHZhbGlkYWRvcjtcbiAgfVxuXG4gIGdldE9iamVjdG8oKTogYW55e1xuICAgIHZhciBjYW1wb3MyID0gdGhpcy5jYW1wb3MuZmlsdGVyKGRhdGEgPT4gIWRhdGEuY2FyYWN0ZXJpc3RpY2EpO1xuICAgIGNhbXBvczIuZm9yRWFjaChjYW1wbyA9PiB7XG4gICAgICB0aGlzLm9iamV0b1tjYW1wby5jYW1wb10gPSBjYW1wby52YWxvcjtcbiAgICB9KVxuICAgIHJldHVybiB0aGlzLm9iamV0bztcbiAgfVxuXG4gIGNhbXBvc0NhcmFjdGVyaXN0aWNhQ2xlYXIoKXtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY2FtcG9zLmxlbmd0aDsgaSsrKXtcbiAgICAgIGlmICh0aGlzLmNhbXBvc1tpXS5jYXJhY3RlcmlzdGljYSl7XG4gICAgICAgIHRoaXMuY2FtcG9zLnNwbGljZShpLCAxKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNhcmdhclZhbG9yKGNhbXBvOiBzdHJpbmcsIHZhbG9yOiBhbnksIGRhdG86IGFueSkge1xuICAgIHRoaXMuY2FtcG9zLmZvckVhY2goY2FtcG9GID0+IHtcbiAgICAgIGlmIChjYW1wb0YuY2FtcG8gPT0gY2FtcG8pIHtcbiAgICAgICAgLy9jYW1wb0YuY2FyZ2FyKHZhbG9yKTtcbiAgICAgICAgY2FtcG9GLnZhbG9yID0gdmFsb3I7XG4gICAgICAgIGNhbXBvRi5kYXRvID0gZGF0bztcbiAgICAgIH1cblx0XHR9KVxuXHR9XG4gIFxuICBnZXRDYW1wb3NDYXJhY3RlcmlzdGljYSgpIHtcblx0XHR2YXIgY2FtcG9zUmV0dXJuOiBDYW1wb0Zvcm11bGFyaW9Nb2RlbFtdID0gW107XG5cdFx0dGhpcy5jYW1wb3MuZm9yRWFjaChjYW1wbyA9PiB7XG4gICAgICBpZiAoY2FtcG8uY2FyYWN0ZXJpc3RpY2EpIHtcbiAgICAgICAgY2FtcG9zUmV0dXJuLnB1c2goY2FtcG8pO1xuICAgICAgfVxuXHRcdH0pXG5cdFx0cmV0dXJuIGNhbXBvc1JldHVybjtcbiAgfVxuXG4gIG9idGVuZXJDYW1wbyhjYW1wbzogc3RyaW5nKXtcbiAgICB2YXIgcmV0b3JubyA9IG51bGxcbiAgICB0aGlzLmNhbXBvcy5mb3JFYWNoKGNhbSA9PiB7XG4gICAgICBpZihjYW0uY2FtcG8gIT0gbnVsbCAmJiBjYW0uY2FtcG8gPT0gY2FtcG8pe1xuICAgICAgICAgIHJldG9ybm8gPSBjYW07XG4gICAgICB9XG4gICAgfSlcblx0XHRyZXR1cm4gcmV0b3Jubztcblx0fVxuXG4gIGxpbXBpYXIoKSB7XG4gICAgaWYgKHRoaXMuY2FtcG9zICE9IG51bGwgJiYgdGhpcy5jYW1wb3MubGVuZ3RoID4gMCl7XG4gICAgICB0aGlzLmNhbXBvcy5mb3JFYWNoKGNhbXBvID0+IHtcbiAgICAgICAgY2FtcG8udmFsb3IgPSBudWxsO1xuICAgICAgICBjYW1wby5yZXNhbHRhZG8gPSBmYWxzZTtcbiAgICAgICAgY2FtcG8ubWVuc2FqZUZ1bmNpb24gPSBudWxsO1xuICAgICAgfSlcbiAgICB9XG4gIH1cbiAgXG4gIHZhbGlkYXJWaXNpYmlsaWRhZENhbXBvcyhjYW1wbzogQ2FtcG9Gb3JtdWxhcmlvTW9kZWwpOiBib29sZWFuIHtcblxuICAgIGlmICgoY2FtcG8udGlwbyA9PSAnTicgJiYgY2FtcG8uZWRpdGFibGUgPT0gJ04nKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZWRpdGFyUGVybWlzb0NhbXBvc1BvcklkR3J1cG8oaWRHcnVwbzogc3RyaW5nLCBwZXJtaXNvQ2FtcG86IHN0cmluZykge1xuICAgIHRoaXMuY2FtcG9zLmZvckVhY2goY2FtcG8gPT4ge1xuICAgICAgaWYgKGlkR3J1cG8gIT0gY2FtcG8uaWRHcnVwb1BlcnRlbmVjZSB8fCBjYW1wby5lZGl0YWJsZSA9PSAnTCcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY2FtcG8uZWRpdGFibGUgPSBwZXJtaXNvQ2FtcG87XG4gICAgfSlcbiAgfVxuXG4gIGdldENhbWJpb3MoKTogQ2FtYmlvW10ge1xuICAgIGNvbnN0IGNhbWJpb3M6IENhbWJpb1tdID0gW107XG4gICAgZm9yIChjb25zdCBjYW1wbyBvZiB0aGlzLmNhbXBvcykge1xuICAgICAgaWYgKGNhbXBvLmlzQ2FtYmlvKCkpIHtcbiAgICAgICAgY2FtYmlvcy5wdXNoKG5ldyBDYW1iaW8oY2FtcG8ub3JpZ2luYWwsIGNhbXBvLnZhbG9yLCBjYW1wbykpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2FtYmlvcztcbiAgfVxuXG4gIHJlbW92ZXJDYW1wb3NJZEdydXBvKGlkR3J1cG86IHN0cmluZykge1xuICAgIHZhciBjYW1wb3NSZW1vdmVyOiBDYW1wb0Zvcm11bGFyaW9Nb2RlbFtdID0gW107XG4gICAgdGhpcy5jYW1wb3MuZm9yRWFjaChjYW1wbyA9PiB7XG4gICAgICBpZiAoaWRHcnVwbyAhPSBjYW1wby5pZEdydXBvUGVydGVuZWNlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNhbXBvc1JlbW92ZXIucHVzaChjYW1wbyk7XG4gICAgfSlcbiAgICB0aGlzLmNhbXBvcyA9IHRoaXMuY2FtcG9zLmZpbHRlcihvYmogPT4gIWNhbXBvc1JlbW92ZXIuc29tZShvYmpFbGltaW5hciA9PiBvYmpFbGltaW5hci5jYW1wbyA9PT0gb2JqLmNhbXBvKSk7XG5cbiAgfVxuXG59XG4iLCI8cC10YWJsZSBbdmFsdWVdPVwiY2FtcG9zXCI+XG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWNhbXBvPlxuICAgIDx0ciAqbmdJZj1cInZhbGlkYXJWaXNpYmlsaWRhZENhbXBvcyhjYW1wbylcIj5cbiAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOiAyMCU7XCI+XG4gICAgICAgIDxsYWJlbCAqbmdJZj1cImNhbXBvLmVkaXRhYmxlICE9ICdOJ1wiIFtzdHlsZS5jb2xvcl09XCJjYW1wby5yZXNhbHRhZG8gPyAndmFyKC0tY29sb3ItNTAwKSAhaW1wb3J0YW50JyA6ICcnXCJcbiAgICAgICAgICBbY2xhc3NdPVwiY2FtcG8udGlwbyAgPT0gJ0knID8gJ2ZvbnQtYm9sZCBjb2xvci00MDAgbXQtNycgOiAnJ1wiPlxuICAgICAgICAgICAge3sgY2FtcG8uZGVzY3JpcGNpb24gfX0gXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2FtcG8uZWRpdGFibGUgIT0gJ04nICYmIGNhbXBvLm9ibGlnYXRvcmlvXCI+KjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC90ZD5cbiAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOiA4MCVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgcC1mb3JtZ3JpZCBncmlkXCI+XG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiY2FtcG8uYXl1ZGEgJiYgY2FtcG8uZWRpdGFibGUgIT0gJ04nID8gJ2NvbC0xMScgOiAnY29sLTEyJ1wiPlxuICAgICAgICA8IS0tY2FtcG8gdGlwbyBGRUNIQS0tPlxuICAgICAgICA8cC1jYWxlbmRhclxuICAgICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjYW1wby52YWxvclwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFlZGl0YWJsZSB8fCBjYW1wby5lZGl0YWJsZSA9PSAnTCdcIlxuICAgICAgICAgIGRhdGVGb3JtYXQ9XCJkZC9tbS95eVwiXG4gICAgICAgICAgW3RhYkluZGV4XT1cImNhbXBvLm9yZGVuICsgMVwiXG4gICAgICAgICAgKm5nSWY9XCJjYW1wby50aXBvID09ICdGJyAmJiBjYW1wby5lZGl0YWJsZSAhPSAnTidcIlxuICAgICAgICAgIFtzaG93SWNvbl09XCJ0cnVlXCJcbiAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiY2FtcG8ucmVzYWx0YWRvID8gJ3ZhcigtLWNvbG9yLTUwMCkgIWltcG9ydGFudCcgOiAnJ1wiXG4gICAgICAgICAgW3BUb29sdGlwXT1cImNhbXBvLm5vdmVkYWQgPyBjYW1wby5ub3ZlZGFkIDogbnVsbFwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgW2NsYXNzLm5nLWRpcnR5XT1cImNhbXBvLm9ibGlnYXRvcmlvID8gKCF1dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oY2FtcG8udmFsb3IpICYmIHZhbGlkYW5kbykgOiBmYWxzZVwiXG4gICAgICAgICAgW2NsYXNzLm5nLWludmFsaWRdPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICA+PC9wLWNhbGVuZGFyPlxuXG4gICAgICAgIDwhLS1jYW1wbyB0aXBvIEhPUkEtLT5cbiAgICAgICAgPHAtY2FsZW5kYXJcbiAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjYW1wby52YWxvclwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFlZGl0YWJsZSB8fCBjYW1wby5lZGl0YWJsZSA9PSAnTCdcIlxuICAgICAgICAgIFt0YWJJbmRleF09XCJjYW1wby5vcmRlbiArIDFcIlxuICAgICAgICAgICpuZ0lmPVwiY2FtcG8udGlwbyA9PSAnWCcgJiYgY2FtcG8uZWRpdGFibGUgIT0gJ04nXCJcbiAgICAgICAgICBbc2hvd1RpbWVdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Nob3dTZWNvbmRzXT1cInRydWVcIlxuICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJjYW1wby5yZXNhbHRhZG8gPyAndmFyKC0tY29sb3ItNTAwKSAhaW1wb3J0YW50JyA6ICcnXCJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiY2FtcG8ubm92ZWRhZCA/IGNhbXBvLm5vdmVkYWQgOiBudWxsXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICBbY2xhc3MubmctZGlydHldPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcbiAgICAgICAgICBbY2xhc3MubmctaW52YWxpZF09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxuICAgICAgICA+PC9wLWNhbGVuZGFyPlxuXG4gICAgICAgIDwhLS1jYW1wbyB0aXBvIEhPUkEgVkFMT1ItLT5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgcElucHV0VGV4dFxuICAgICAgICAgIHR5cGU9XCJ0aW1lXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWVkaXRhYmxlIHx8IGNhbXBvLmVkaXRhYmxlID09ICdMJ1wiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjYW1wby52YWxvclwiXG4gICAgICAgICAgW3RhYkluZGV4XT1cImNhbXBvLm9yZGVuICsgMVwiXG4gICAgICAgICAgKm5nSWY9XCJjYW1wby50aXBvID09ICdaJyAmJiBjYW1wby5lZGl0YWJsZSAhPSAnTidcIlxuICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJjYW1wby5yZXNhbHRhZG8gPyAndmFyKC0tY29sb3ItNTAwKSAhaW1wb3J0YW50JyA6ICcnXCJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiY2FtcG8ubm92ZWRhZCA/IGNhbXBvLm5vdmVkYWQgOiBudWxsXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICBbY2xhc3MubmctZGlydHldPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcbiAgICAgICAgICBbY2xhc3MubmctaW52YWxpZF09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxuICAgICAgICAvPlxuXG4gICAgICAgIDwhLS1jYW1wbyB0aXBvIFRFWFRPLS0+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWVkaXRhYmxlIHx8IGNhbXBvLmVkaXRhYmxlID09ICdMJ1wiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjYW1wby52YWxvclwiXG4gICAgICAgICAgW3RhYkluZGV4XT1cImNhbXBvLm9yZGVuICsgMVwiXG4gICAgICAgICAgKm5nSWY9XCJjYW1wby50aXBvID09ICdUJyAmJiBjYW1wby5lZGl0YWJsZSAhPSAnTidcIlxuICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJjYW1wby5yZXNhbHRhZG8gPyAndmFyKC0tY29sb3ItNTAwKSAhaW1wb3J0YW50JyA6ICcnXCJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiY2FtcG8ubm92ZWRhZCA/IGNhbXBvLm5vdmVkYWQgOiBudWxsXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICBbY2xhc3MubmctZGlydHldPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcbiAgICAgICAgICBbY2xhc3MubmctaW52YWxpZF09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxuICAgICAgICAvPlxuXG4gICAgICAgIDwhLS1jYW1wbyB0aXBvIEFSRUEgVEVYVE8tLT5cbiAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgcElucHV0VGV4dGFyZWFcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImNhbXBvLnZhbG9yXCJcbiAgICAgICAgICByb3dzPVwiNVwiXG4gICAgICAgICAgY29scz1cIjVcIlxuICAgICAgICAgIFt0YWJJbmRleF09XCJjYW1wby5vcmRlbiArIDFcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhZWRpdGFibGUgfHwgY2FtcG8uZWRpdGFibGUgPT0gJ0wnXCJcbiAgICAgICAgICAqbmdJZj1cImNhbXBvLnRpcG8gPT0gJ0EnICYmIGNhbXBvLmVkaXRhYmxlICE9ICdOJ1wiXG4gICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcC1pbnB1dHRleHRhcmVhIHAtaW5wdXR0ZXh0IHAtY29tcG9uZW50IHAtZWxlbWVudCBtaW4taC0xMDAgbWF4LWgtMjUwXCJcbiAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiY2FtcG8ucmVzYWx0YWRvID8gJ3ZhcigtLWNvbG9yLTUwMCkgIWltcG9ydGFudCcgOiAnJ1wiXG4gICAgICAgICAgW3BUb29sdGlwXT1cImNhbXBvLm5vdmVkYWQgPyBjYW1wby5ub3ZlZGFkIDogbnVsbFwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgW2NsYXNzLm5nLWRpcnR5XT1cImNhbXBvLm9ibGlnYXRvcmlvID8gKCF1dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oY2FtcG8udmFsb3IpICYmIHZhbGlkYW5kbykgOiBmYWxzZVwiXG4gICAgICAgICAgW2NsYXNzLm5nLWludmFsaWRdPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcbiAgICAgICAgPlxuICAgICAgICA8L3RleHRhcmVhPlxuXG4gICAgICAgIDwhLS1jYW1wbyB0aXBvIE5VTUVSTy0tPlxuICAgICAgICA8cC1pbnB1dE51bWJlclxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhZWRpdGFibGUgfHwgY2FtcG8uZWRpdGFibGUgPT0gJ0wnXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImNhbXBvLnZhbG9yXCJcbiAgICAgICAgICBbdGFiSW5kZXhdPVwiY2FtcG8ub3JkZW4gKyAxXCJcbiAgICAgICAgICBbbWF4bGVuZ3RoXT1cImNhbXBvLmxvbmdpdHVkXCJcbiAgICAgICAgICAqbmdJZj1cImNhbXBvLnRpcG8gPT0gJ04nICYmIGNhbXBvLmVkaXRhYmxlICE9ICdOJ1wiXG4gICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImNhbXBvLnJlc2FsdGFkbyA/ICd2YXIoLS1jb2xvci01MDApICFpbXBvcnRhbnQnIDogJydcIlxuICAgICAgICAgIFtwVG9vbHRpcF09XCJjYW1wby5ub3ZlZGFkID8gY2FtcG8ubm92ZWRhZCA6IG51bGxcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgIFtjbGFzcy5uZy1kaXJ0eV09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxuICAgICAgICAgIFtjbGFzcy5uZy1pbnZhbGlkXT1cImNhbXBvLm9ibGlnYXRvcmlvID8gKCF1dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oY2FtcG8udmFsb3IpICYmIHZhbGlkYW5kbykgOiBmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxuXG4gICAgICAgIDwhLS1jYW1wbyB0aXBvIERFQ0lNQUwtLT5cbiAgICAgICAgPHAtaW5wdXROdW1iZXJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWVkaXRhYmxlIHx8IGNhbXBvLmVkaXRhYmxlID09ICdMJ1wiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjYW1wby52YWxvclwiXG4gICAgICAgICAgbW9kZT1cImRlY2ltYWxcIlxuICAgICAgICAgIFttaW5GcmFjdGlvbkRpZ2l0c109XCIyXCJcbiAgICAgICAgICAqbmdJZj1cImNhbXBvLnRpcG8gPT0gJ0QnICYmIGNhbXBvLmVkaXRhYmxlICE9ICdOJ1wiXG4gICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImNhbXBvLnJlc2FsdGFkbyA/ICd2YXIoLS1jb2xvci01MDApICFpbXBvcnRhbnQnIDogJydcIlxuICAgICAgICAgIFtwVG9vbHRpcF09XCJjYW1wby5ub3ZlZGFkID8gY2FtcG8ubm92ZWRhZCA6IG51bGxcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgIFtjbGFzcy5uZy1kaXJ0eV09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxuICAgICAgICAgIFtjbGFzcy5uZy1pbnZhbGlkXT1cImNhbXBvLm9ibGlnYXRvcmlvID8gKCF1dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oY2FtcG8udmFsb3IpICYmIHZhbGlkYW5kbykgOiBmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxuXG4gICAgICAgIDwhLS1jYW1wbyB0aXBvIFNFQ1JFVC0tPlxuICAgICAgICA8cC1wYXNzd29yZFxuICAgICAgICAgIFtmZWVkYmFja109XCJmYWxzZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFlZGl0YWJsZSB8fCBjYW1wby5lZGl0YWJsZSA9PSAnTCdcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY2FtcG8udmFsb3JcIlxuICAgICAgICAgIFt0YWJJbmRleF09XCJjYW1wby5vcmRlbiArIDFcIlxuICAgICAgICAgICpuZ0lmPVwiY2FtcG8udGlwbyA9PSAnUycgJiYgY2FtcG8uZWRpdGFibGUgIT0gJ04nXCJcbiAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiY2FtcG8ucmVzYWx0YWRvID8gJ3ZhcigtLWNvbG9yLTUwMCkgIWltcG9ydGFudCcgOiAnJ1wiXG4gICAgICAgICAgW3BUb29sdGlwXT1cImNhbXBvLm5vdmVkYWQgPyBjYW1wby5ub3ZlZGFkIDogbnVsbFwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgW2NsYXNzLm5nLWRpcnR5XT1cImNhbXBvLm9ibGlnYXRvcmlvID8gKCF1dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oY2FtcG8udmFsb3IpICYmIHZhbGlkYW5kbykgOiBmYWxzZVwiXG4gICAgICAgICAgW2NsYXNzLm5nLWludmFsaWRdPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcbiAgICAgICAgPjwvcC1wYXNzd29yZD5cblxuICAgICAgICA8IS0tY2FtcG8gdGlwbyBDT01CTy0tPlxuICAgICAgICA8cC1kcm9wZG93blxuICAgICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICAgIFtvcHRpb25zXT1cImNhbXBvLmxpc3RhXCJcbiAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjYW1wby52YWxvclwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFlZGl0YWJsZSB8fCBjYW1wby5lZGl0YWJsZSA9PSAnTCdcIlxuICAgICAgICAgICpuZ0lmPVwiY2FtcG8udGlwbyA9PSAnQycgJiYgY2FtcG8uZWRpdGFibGUgIT0gJ04nXCJcbiAgICAgICAgICBbc2hvd0NsZWFyXT1cIiFjYW1wby5vYmxpZ2F0b3Jpb1wiXG4gICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImNhbXBvLnJlc2FsdGFkbyA/ICd2YXIoLS1jb2xvci01MDApICFpbXBvcnRhbnQnIDogJydcIlxuICAgICAgICAgIFtwVG9vbHRpcF09XCJjYW1wby5ub3ZlZGFkID8gY2FtcG8ubm92ZWRhZCA6IG51bGxcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgIFtjbGFzcy5uZy1kaXJ0eV09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxuICAgICAgICAgIFtjbGFzcy5uZy1pbnZhbGlkXT1cImNhbXBvLm9ibGlnYXRvcmlvID8gKCF1dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oY2FtcG8udmFsb3IpICYmIHZhbGlkYW5kbykgOiBmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9wLWRyb3Bkb3duPlxuXG4gICAgICAgIDwhLS1jYW1wbyB0aXBvIExPR0lDTy0tPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY2FtcG8udGlwbyA9PSAnTCcgJiYgY2FtcG8uZWRpdGFibGUgIT0gJ04nXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgcC1mb3JtZ3JpZCBncmlkXCI+XG4gICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHZhbG9yIG9mIGxpc3RhU2lOb1JhZGlvQnV0dG9uXCIgY2xhc3M9XCJtdC00IGNvbC0xMiBtZDpjb2wtMiBmaWVsZC1jaGVja2JveFwiPlxuICAgICAgICAgICAgICAgIDxwLXJhZGlvQnV0dG9uXG4gICAgICAgICAgICAgICAgICBbaW5wdXRJZF09XCJ2YWxvci5rZXlcIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cInZhbG9yXCJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWxvci5rZXlcIlxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInZhbG9yLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjYW1wby52YWxvclwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWVkaXRhYmxlIHx8IGNhbXBvLmVkaXRhYmxlID09ICdMJ1wiXG4gICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiY2FtcG8ucmVzYWx0YWRvID8gJ3ZhcigtLWNvbG9yLTUwMCkgIWltcG9ydGFudCcgOiAnJ1wiXG4gICAgICAgICAgW3BUb29sdGlwXT1cImNhbXBvLm5vdmVkYWQgPyBjYW1wby5ub3ZlZGFkIDogbnVsbFwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgW2NsYXNzLm5nLWRpcnR5XT1cImNhbXBvLm9ibGlnYXRvcmlvID8gKCF1dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oY2FtcG8udmFsb3IpICYmIHZhbGlkYW5kbykgOiBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3MubmctaW52YWxpZF09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxuICAgICAgICAgICAgICAgID48L3AtcmFkaW9CdXR0b24+XG4gICAgICAgICAgICAgICAgPGxhYmVsPiAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLWNhbXBvIHRpcG8gUkFESU8tLT5cbiAgICAgICAgPGRpdiAqbmdJZj1cImNhbXBvLnRpcG8gPT0gJ1InICYmIGNhbXBvLmVkaXRhYmxlICE9ICdOJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIHAtZm9ybWdyaWQgZ3JpZFwiPlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB2YWxvciBvZiBjYW1wby5saXN0YVwiIGNsYXNzPVwibXQtNCBjb2wtMTIgbWQ6Y29sLTIgZmllbGQtY2hlY2tib3hcIj5cbiAgICAgICAgICAgICAgPHAtcmFkaW9CdXR0b25cbiAgICAgICAgICAgICAgICBbaW5wdXRJZF09XCJ2YWxvci52YWx1ZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cInZhbG9yXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwidmFsb3IudmFsdWVcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ2YWxvci5sYWJlbFwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjYW1wby52YWxvclwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFlZGl0YWJsZSB8fCBjYW1wby5lZGl0YWJsZSA9PSAnTCdcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJjYW1wby5yZXNhbHRhZG8gPyAndmFyKC0tY29sb3ItNTAwKSAhaW1wb3J0YW50JyA6ICcnXCJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiY2FtcG8ubm92ZWRhZCA/IGNhbXBvLm5vdmVkYWQgOiBudWxsXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICBbY2xhc3MubmctZGlydHldPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MubmctaW52YWxpZF09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxuICAgICAgICAgICAgICA+PC9wLXJhZGlvQnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLWNhbXBvIHRpcG8gQ0hFQ0tCT1gtLT5cbiAgICAgICAgPGRpdiAqbmdJZj1cImNhbXBvLnRpcG8gPT0gJ0gnICYmIGNhbXBvLmVkaXRhYmxlICE9ICdOJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIHAtZm9ybWdyaWQgZ3JpZFwiPlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB2YWxvciBvZiBjYW1wby5saXN0YVwiIGNsYXNzPVwiY29sLTEyIG1kOmNvbC0zIGZpZWxkLWNoZWNrYm94XCI+XG4gICAgICAgICAgICAgICAgICAgIDxwLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgW2lucHV0SWRdPVwidmFsb3IudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJ2YWxvclwiXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInZhbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNhbXBvLnZhbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWVkaXRhYmxlIHx8IGNhbXBvLmVkaXRhYmxlID09ICdMJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImNhbXBvLnJlc2FsdGFkbyA/ICd2YXIoLS1jb2xvci01MDApICFpbXBvcnRhbnQnIDogJydcIlxuICAgICAgICAgIFtwVG9vbHRpcF09XCJjYW1wby5ub3ZlZGFkID8gY2FtcG8ubm92ZWRhZCA6IG51bGxcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgIFtjbGFzcy5uZy1kaXJ0eV09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5uZy1pbnZhbGlkXT1cImNhbXBvLm9ibGlnYXRvcmlvID8gKCF1dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8oY2FtcG8udmFsb3IpICYmIHZhbGlkYW5kbykgOiBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgID48L3AtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cInZhbG9yLnZhbHVlXCI+e3sgdmFsb3IubGFiZWwgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLWNhbXBvIHRpcG8gQVVUT0NPTVBMRVRBUi0tPlxuICAgICAgICA8cC1hdXRvQ29tcGxldGVcbiAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgKGNhbXBvLnRpcG8gPT0gJ08nIHx8IGNhbXBvLnRpcG8gPT0gJ1knKSAmJiBjYW1wby5lZGl0YWJsZSAhPSAnTidcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhZWRpdGFibGUgfHwgY2FtcG8uZWRpdGFibGUgPT0gJ0wnXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImNhbXBvLnZhbG9yXCJcbiAgICAgICAgICBbc3VnZ2VzdGlvbnNdPVwiY2FtcG8ubGlzdGFBdXRvY29tcGxldGVGaWx0cmFkYVwiXG4gICAgICAgICAgKGNvbXBsZXRlTWV0aG9kKT1cImNhbXBvLmZpbHRyYXJBdXRvY29tcGxldGUoJGV2ZW50KVwiXG4gICAgICAgICAgZmllbGQ9XCJsYWJlbFwiXG4gICAgICAgICAgW2Ryb3Bkb3duXT1cInRydWVcIlxuICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJjYW1wby5yZXNhbHRhZG8gPyAndmFyKC0tY29sb3ItNTAwKSAhaW1wb3J0YW50JyA6ICcnXCJcbiAgICAgICAgICBbcFRvb2x0aXBdPVwiY2FtcG8ubm92ZWRhZCA/IGNhbXBvLm5vdmVkYWQgOiBudWxsXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICBbY2xhc3MubmctZGlydHldPVwiY2FtcG8ub2JsaWdhdG9yaW8gPyAoIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhjYW1wby52YWxvcikgJiYgdmFsaWRhbmRvKSA6IGZhbHNlXCJcbiAgICAgICAgICBbY2xhc3MubmctaW52YWxpZF09XCJjYW1wby5vYmxpZ2F0b3JpbyA/ICghdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKGNhbXBvLnZhbG9yKSAmJiB2YWxpZGFuZG8pIDogZmFsc2VcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC12YWxvciBwVGVtcGxhdGU9XCJpdGVtXCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8ZGl2Pnt7IHZhbG9yLmxhYmVsIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3AtYXV0b0NvbXBsZXRlPlxuXG4gICAgICAgIDwhLS1jYW1wbyB0aXBvIFBPUFVQLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiY2FtcG8udGlwbyA9PSAnUCcgJiYgY2FtcG8uZWRpdGFibGUgIT0gJ04nXCIgPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjYW1wby5saXN0YVBvcHVwc1wiIFtoYXNoXT1cIml0ZW1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJ2ZXJNZW5zYWplRnVuY2lvblwiIGNsYXNzPVwidGV4dC1jZW50ZXIgdy0xXCI+XG4gICAgICAgICAgPGxhYmVsPnt7IGNhbXBvLm1lbnNhamVGdW5jaW9uIH19PC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJpc01lbnNhamVcIj5cbiAgICAgICAgICA8bGFiZWwgKm5nSWY9XCJjYW1wby5tZW5zYWplXCI+e3sgY2FtcG8ubWVuc2FqZSB9fTwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY2FtcG8uYXl1ZGEgJiYgY2FtcG8uZWRpdGFibGUgIT0gJ04nXCIgY2xhc3M9XCJjb2wtMSBjb250ZW5lZG9yXCIgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwidy0xcmVtXCJcbiAgICAgICAgICBzdHlsZT1cImNvbG9yOiB2YXIoLS1jb2xvci00MDApXCJcbiAgICAgICAgICB0b29sdGlwU3R5bGVDbGFzcz1cInR3LTI1MFwiXG4gICAgICAgICAgW2hpZGVEZWxheV09XCIxODAwXCJcbiAgICAgICAgICBwVG9vbHRpcD1cInt7IGNhbXBvLmF5dWRhIH19XCJcbiAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICpuZ0lmPVwiY2FtcG8uYXl1ZGEgJiYgY2FtcG8uZWRpdGFibGUgIT0gJ04nXCJcbiAgICAgICAgICA+PGkgY2xhc3M9XCJwaSBwaS1xdWVzdGlvbi1jaXJjbGVcIj48L2lcbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9wLXRhYmxlPiJdfQ==
@@ -1,11 +0,0 @@
1
- export class Cambio {
2
- viejo;
3
- nuevo;
4
- campo;
5
- constructor(viejo, nuevo, campo) {
6
- this.viejo = viejo;
7
- this.nuevo = nuevo;
8
- this.campo = campo;
9
- }
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FtYmlvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2NvbXBvbmVudGVzL2Zvcm11bGFyaW9kaW5hbWljby9vYmpldG9zZm9ybXVsYXJpby9DYW1iaW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLE1BQU07SUFDZixLQUFLLENBQU07SUFDWCxLQUFLLENBQU07SUFDWCxLQUFLLENBQXVCO0lBRTVCLFlBQVksS0FBVSxFQUFFLEtBQVUsRUFBRSxLQUEyQjtRQUM3RCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYW1wb0Zvcm11bGFyaW9Nb2RlbCB9IGZyb20gXCIuL0NhbXBvRm9ybXVsYXJpb1wiO1xuXG5leHBvcnQgY2xhc3MgQ2FtYmlvIHtcbiAgICB2aWVqbzogYW55O1xuICAgIG51ZXZvOiBhbnk7XG4gICAgY2FtcG86IENhbXBvRm9ybXVsYXJpb01vZGVsO1xuICBcbiAgICBjb25zdHJ1Y3Rvcih2aWVqbzogYW55LCBudWV2bzogYW55LCBjYW1wbzogQ2FtcG9Gb3JtdWxhcmlvTW9kZWwpIHtcbiAgICAgIHRoaXMudmllam8gPSB2aWVqbztcbiAgICAgIHRoaXMubnVldm8gPSBudWV2bztcbiAgICAgIHRoaXMuY2FtcG8gPSBjYW1wbztcbiAgICB9XG4gIH0iXX0=
@@ -1,124 +0,0 @@
1
- import { CampoFormularioCons } from './CampoFormularioCons';
2
- export class CampoFormularioModel {
3
- caracteristica;
4
- tipo;
5
- descripcion;
6
- descripcionAdicional;
7
- valor;
8
- longitud;
9
- decimales;
10
- campo;
11
- obligatorio;
12
- lista;
13
- listaRespuesta;
14
- mensaje;
15
- popup;
16
- titulo;
17
- textoPopup;
18
- original;
19
- dato;
20
- orden;
21
- resaltado;
22
- editable;
23
- novedad;
24
- campoTabla;
25
- funcion;
26
- mensajeFuncion;
27
- campoDepende;
28
- campoReferencia;
29
- campoReferenciaDos;
30
- limpiarPopup;
31
- idGrupoPertenece;
32
- ayuda;
33
- validarEspecial;
34
- popupComponent;
35
- propiedadesPopupComponent;
36
- listaPopups;
37
- //campos creados por primeng
38
- listaAutocompleteFiltrada;
39
- constructor(tipo, descripcion, longitud, decimales, campo, obligatorio, lista, popup, editable) {
40
- this.tipo = this.ajustar(tipo);
41
- this.descripcion = descripcion;
42
- this.longitud = longitud;
43
- this.decimales = decimales;
44
- this.campo = campo;
45
- this.obligatorio = obligatorio;
46
- this.lista = lista;
47
- this.listaRespuesta = [];
48
- this.popup = popup;
49
- this.editable = editable;
50
- }
51
- ajustar(tipo2) {
52
- let tipo = tipo2;
53
- if (tipo2 == ('1'))
54
- tipo = CampoFormularioCons.CHECK;
55
- if (tipo2 == ('2'))
56
- tipo = CampoFormularioCons.RADIO;
57
- if (tipo2 == ('3'))
58
- tipo = CampoFormularioCons.COMBO;
59
- if (tipo2 == ('4'))
60
- tipo = CampoFormularioCons.TEXTO;
61
- if (tipo2 == ('5'))
62
- tipo = CampoFormularioCons.NUMERO;
63
- if (tipo2 == ('6'))
64
- tipo = CampoFormularioCons.POPUP;
65
- if (tipo2 == ('7'))
66
- tipo = CampoFormularioCons.POPUP;
67
- if (tipo2 == ('8'))
68
- tipo = CampoFormularioCons.FECHA;
69
- if (tipo2 == ('9'))
70
- tipo = CampoFormularioCons.TEXTOAREA;
71
- if (tipo2 == ('11'))
72
- tipo = CampoFormularioCons.POPUP;
73
- if (tipo2 == ('12'))
74
- tipo = CampoFormularioCons.POPUP;
75
- if (tipo2 == ('13'))
76
- tipo = CampoFormularioCons.LOGICO;
77
- if (tipo2 == ('14'))
78
- tipo = CampoFormularioCons.POPUP;
79
- if (tipo2 == ('15'))
80
- tipo = CampoFormularioCons.POPUP;
81
- if (tipo2 == ('16')) {
82
- tipo = CampoFormularioCons.TITULO;
83
- this.titulo = true;
84
- }
85
- if (tipo2 == ('17'))
86
- tipo = CampoFormularioCons.DECIMAL;
87
- if (tipo2 == ('18'))
88
- tipo = CampoFormularioCons.SECRET;
89
- if (tipo2 == ('19'))
90
- tipo = CampoFormularioCons.HORA;
91
- return tipo;
92
- }
93
- filtrarAutocomplete(event) {
94
- let filtered = [];
95
- let query = event.query;
96
- for (let i = 0; i < this.lista.length; i++) {
97
- let objeto = this.lista[i];
98
- console.log(objeto);
99
- if (objeto.label.toLowerCase().indexOf(query.toLowerCase()) == 0) {
100
- filtered.push(objeto);
101
- }
102
- }
103
- this.listaAutocompleteFiltrada = filtered;
104
- }
105
- isCambio() {
106
- if (this.tipo === CampoFormularioCons.TEXTO || this.tipo === CampoFormularioCons.TEXTOAREA || this.tipo === CampoFormularioCons.SECRET) {
107
- return (this.original == null ? '' : '' + this.original.toString().trim()) != (this.valor == null ? '' : '' + this.valor.toString().trim());
108
- }
109
- if (this.tipo === CampoFormularioCons.CHECK) {
110
- let respuestas = '';
111
- for (const item of this.listaRespuesta) {
112
- respuestas += item + ';';
113
- }
114
- return (this.original == null ? '' : '' + this.original) != (respuestas == null ? '' : '' + respuestas);
115
- }
116
- return (this.original == null ? '' : '' + this.original) != (this.valor == null ? '' : '' + this.valor);
117
- }
118
- cargarValorPopup(event) {
119
- console.log('cargarValorPopup');
120
- console.log(event);
121
- this.valor = event;
122
- }
123
- }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FtcG9Gb3JtdWxhcmlvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2NvbXBvbmVudGVzL2Zvcm11bGFyaW9kaW5hbWljby9vYmpldG9zZm9ybXVsYXJpby9DYW1wb0Zvcm11bGFyaW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUQsTUFBTSxPQUFPLG9CQUFvQjtJQUVoQyxjQUFjLENBQVU7SUFDeEIsSUFBSSxDQUFTO0lBQ2IsV0FBVyxDQUFTO0lBQ3BCLG9CQUFvQixDQUFTO0lBQzdCLEtBQUssQ0FBTTtJQUNYLFFBQVEsQ0FBUztJQUNqQixTQUFTLENBQVM7SUFDbEIsS0FBSyxDQUFTO0lBQ2QsV0FBVyxDQUFVO0lBQ3JCLEtBQUssQ0FBZTtJQUNwQixjQUFjLENBQVc7SUFDekIsT0FBTyxDQUFTO0lBQ2hCLEtBQUssQ0FBUztJQUNkLE1BQU0sQ0FBVTtJQUNoQixVQUFVLENBQVM7SUFDbkIsUUFBUSxDQUFNO0lBQ2QsSUFBSSxDQUFNO0lBQ1YsS0FBSyxDQUFTO0lBQ2QsU0FBUyxDQUFVO0lBQ25CLFFBQVEsQ0FBUztJQUNqQixPQUFPLENBQU07SUFDYixVQUFVLENBQVM7SUFDbkIsT0FBTyxDQUFTO0lBQ2hCLGNBQWMsQ0FBUztJQUN2QixZQUFZLENBQVM7SUFDckIsZUFBZSxDQUFNO0lBQ3JCLGtCQUFrQixDQUFNO0lBQ3hCLFlBQVksQ0FBVTtJQUN0QixnQkFBZ0IsQ0FBUztJQUN6QixLQUFLLENBQVM7SUFDZCxlQUFlLENBQVM7SUFDeEIsY0FBYyxDQUFZO0lBQzFCLHlCQUF5QixDQUFjO0lBQ3ZDLFdBQVcsQ0FBTztJQUVsQiw0QkFBNEI7SUFDNUIseUJBQXlCLENBQWU7SUFFeEMsWUFBWSxJQUFZLEVBQUUsV0FBbUIsRUFBRSxRQUFnQixFQUFFLFNBQWlCLEVBQ2pGLEtBQWEsRUFBRSxXQUFvQixFQUFFLEtBQW1CLEVBQUUsS0FBYSxFQUFFLFFBQWdCO1FBQ3pGLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFFLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRU8sT0FBTyxDQUFDLEtBQUs7UUFDcEIsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLElBQUksS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQUUsSUFBSSxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQztRQUNyRCxJQUFJLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUFFLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7UUFDckQsSUFBSSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUM7WUFBRSxJQUFJLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDO1FBQ3JELElBQUksS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQUUsSUFBSSxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQztRQUNyRCxJQUFJLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUFFLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7UUFDdEQsSUFBSSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUM7WUFBRSxJQUFJLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDO1FBQ3JELElBQUksS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQUUsSUFBSSxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQztRQUNyRCxJQUFJLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUFFLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7UUFDckQsSUFBSSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUM7WUFBRSxJQUFJLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxDQUFDO1FBQ3pELElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQUUsSUFBSSxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQztRQUN0RCxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQztZQUFFLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7UUFDdEQsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUM7WUFBRSxJQUFJLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDO1FBQ3ZELElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQUUsSUFBSSxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQztRQUN0RCxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQztZQUFFLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7UUFDdEQsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDO1lBQ3BCLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7WUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUM7UUFDbEIsQ0FBQztRQUNELElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQUUsSUFBSSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztRQUN4RCxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQztZQUFFLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7UUFDdkQsSUFBSSxL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b250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBDYW1wb0Zvcm11bGFyaW9Db25zIH0gZnJvbSAnLi9DYW1wb0Zvcm11bGFyaW9Db25zJztcblxuZXhwb3J0IGNsYXNzIENhbXBvRm9ybXVsYXJpb01vZGVsIHtcblxuXHRjYXJhY3RlcmlzdGljYTogYm9vbGVhbjtcblx0dGlwbzogc3RyaW5nO1xuXHRkZXNjcmlwY2lvbjogc3RyaW5nO1xuXHRkZXNjcmlwY2lvbkFkaWNpb25hbDogc3RyaW5nO1xuXHR2YWxvcjogYW55O1xuXHRsb25naXR1ZDogbnVtYmVyO1xuXHRkZWNpbWFsZXM6IG51bWJlcjtcblx0Y2FtcG86IHN0cmluZztcblx0b2JsaWdhdG9yaW86IGJvb2xlYW47XG5cdGxpc3RhOiBTZWxlY3RJdGVtW107XG5cdGxpc3RhUmVzcHVlc3RhOiBzdHJpbmdbXTtcblx0bWVuc2FqZTogc3RyaW5nO1xuXHRwb3B1cDogc3RyaW5nO1xuXHR0aXR1bG86IGJvb2xlYW47XG5cdHRleHRvUG9wdXA6IHN0cmluZztcblx0b3JpZ2luYWw6IGFueTtcblx0ZGF0bzogYW55O1xuXHRvcmRlbjogbnVtYmVyO1xuXHRyZXNhbHRhZG86IGJvb2xlYW47XG5cdGVkaXRhYmxlOiBzdHJpbmc7XG5cdG5vdmVkYWQ6IGFueTtcblx0Y2FtcG9UYWJsYTogc3RyaW5nO1xuXHRmdW5jaW9uOiBzdHJpbmc7XG5cdG1lbnNhamVGdW5jaW9uOiBzdHJpbmc7XG5cdGNhbXBvRGVwZW5kZTogc3RyaW5nO1xuXHRjYW1wb1JlZmVyZW5jaWE6IGFueTtcblx0Y2FtcG9SZWZlcmVuY2lhRG9zOiBhbnk7XG5cdGxpbXBpYXJQb3B1cDogYm9vbGVhbjtcblx0aWRHcnVwb1BlcnRlbmVjZTogc3RyaW5nO1xuXHRheXVkYTogc3RyaW5nO1xuXHR2YWxpZGFyRXNwZWNpYWw6IHN0cmluZztcblx0cG9wdXBDb21wb25lbnQ6IFR5cGU8YW55Pjtcblx0cHJvcGllZGFkZXNQb3B1cENvbXBvbmVudDogUGFydGlhbDxhbnk+XG5cdGxpc3RhUG9wdXBzOiBhbnlbXVxuXG5cdC8vY2FtcG9zIGNyZWFkb3MgcG9yIHByaW1lbmdcblx0bGlzdGFBdXRvY29tcGxldGVGaWx0cmFkYTogU2VsZWN0SXRlbVtdO1xuXG5cdGNvbnN0cnVjdG9yKHRpcG86IHN0cmluZywgZGVzY3JpcGNpb246IHN0cmluZywgbG9uZ2l0dWQ6IG51bWJlciwgZGVjaW1hbGVzOiBudW1iZXIsXG5cdFx0Y2FtcG86IHN0cmluZywgb2JsaWdhdG9yaW86IGJvb2xlYW4sIGxpc3RhOiBTZWxlY3RJdGVtW10sIHBvcHVwOiBzdHJpbmcsIGVkaXRhYmxlOiBzdHJpbmcpIHtcblx0XHR0aGlzLnRpcG8gPSB0aGlzLmFqdXN0YXIodGlwbyk7XG5cdFx0dGhpcy5kZXNjcmlwY2lvbiA9IGRlc2NyaXBjaW9uO1xuXHRcdHRoaXMubG9uZ2l0dWQgPSBsb25naXR1ZDtcblx0XHR0aGlzLmRlY2ltYWxlcyA9IGRlY2ltYWxlcztcblx0XHR0aGlzLmNhbXBvID0gY2FtcG87XG5cdFx0dGhpcy5vYmxpZ2F0b3JpbyA9IG9ibGlnYXRvcmlvO1xuXHRcdHRoaXMubGlzdGEgPSBsaXN0YTtcblx0XHR0aGlzLmxpc3RhUmVzcHVlc3RhID0gW107XG5cdFx0dGhpcy5wb3B1cCA9IHBvcHVwO1xuXHRcdHRoaXMuZWRpdGFibGU9IGVkaXRhYmxlO1xuXHR9XG5cblx0cHJpdmF0ZSBhanVzdGFyKHRpcG8yKXtcblx0XHRsZXQgdGlwbyA9IHRpcG8yO1xuXHRcdGlmICh0aXBvMiA9PSAoJzEnKSkgdGlwbyA9IENhbXBvRm9ybXVsYXJpb0NvbnMuQ0hFQ0s7XG5cdFx0aWYgKHRpcG8yID09ICgnMicpKSB0aXBvID0gQ2FtcG9Gb3JtdWxhcmlvQ29ucy5SQURJTztcblx0XHRpZiAodGlwbzIgPT0gKCczJykpIHRpcG8gPSBDYW1wb0Zvcm11bGFyaW9Db25zLkNPTUJPO1xuXHRcdGlmICh0aXBvMiA9PSAoJzQnKSkgdGlwbyA9IENhbXBvRm9ybXVsYXJpb0NvbnMuVEVYVE87XG5cdFx0aWYgKHRpcG8yID09ICgnNScpKSB0aXBvID0gQ2FtcG9Gb3JtdWxhcmlvQ29ucy5OVU1FUk87XG5cdFx0aWYgKHRpcG8yID09ICgnNicpKSB0aXBvID0gQ2FtcG9Gb3JtdWxhcmlvQ29ucy5QT1BVUDtcblx0XHRpZiAodGlwbzIgPT0gKCc3JykpIHRpcG8gPSBDYW1wb0Zvcm11bGFyaW9Db25zLlBPUFVQO1xuXHRcdGlmICh0aXBvMiA9PSAoJzgnKSkgdGlwbyA9IENhbXBvRm9ybXVsYXJpb0NvbnMuRkVDSEE7XG5cdFx0aWYgKHRpcG8yID09ICgnOScpKSB0aXBvID0gQ2FtcG9Gb3JtdWxhcmlvQ29ucy5URVhUT0FSRUE7XG5cdFx0aWYgKHRpcG8yID09ICgnMTEnKSkgdGlwbyA9IENhbXBvRm9ybXVsYXJpb0NvbnMuUE9QVVA7XG5cdFx0aWYgKHRpcG8yID09ICgnMTInKSkgdGlwbyA9IENhbXBvRm9ybXVsYXJpb0NvbnMuUE9QVVA7XG5cdFx0aWYgKHRpcG8yID09ICgnMTMnKSkgdGlwbyA9IENhbXBvRm9ybXVsYXJpb0NvbnMuTE9HSUNPO1xuXHRcdGlmICh0aXBvMiA9PSAoJzE0JykpIHRpcG8gPSBDYW1wb0Zvcm11bGFyaW9Db25zLlBPUFVQO1xuXHRcdGlmICh0aXBvMiA9PSAoJzE1JykpIHRpcG8gPSBDYW1wb0Zvcm11bGFyaW9Db25zLlBPUFVQO1xuXHRcdGlmICh0aXBvMiA9PSAoJzE2Jykpe1xuXHRcdFx0dGlwbyA9IENhbXBvRm9ybXVsYXJpb0NvbnMuVElUVUxPO1xuXHRcdFx0dGhpcy50aXR1bG89dHJ1ZTtcblx0XHR9XG5cdFx0aWYgKHRpcG8yID09ICgnMTcnKSkgdGlwbyA9IENhbXBvRm9ybXVsYXJpb0NvbnMuREVDSU1BTDtcblx0XHRpZiAodGlwbzIgPT0gKCcxOCcpKSB0aXBvID0gQ2FtcG9Gb3JtdWxhcmlvQ29ucy5TRUNSRVQ7XG5cdFx0aWYgKHRpcG8yID09ICgnMTknKSkgdGlwbyA9IENhbXBvRm9ybXVsYXJpb0NvbnMuSE9SQTtcblx0XHRyZXR1cm4gdGlwb1xuXHR9XG5cblx0ZmlsdHJhckF1dG9jb21wbGV0ZShldmVudCkge1xuXHRcdGxldCBmaWx0ZXJlZCA6IGFueVtdID0gW107XG4gICAgICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xuICAgICAgICBmb3IobGV0IGkgPSAwOyBpIDwgdGhpcy5saXN0YS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbGV0IG9iamV0byA9IHRoaXMubGlzdGFbaV07XG5cdFx0XHRjb25zb2xlLmxvZyhvYmpldG8pXG4gICAgICAgICAgICBpZiAob2JqZXRvLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyZWQucHVzaChvYmpldG8pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5saXN0YUF1dG9jb21wbGV0ZUZpbHRyYWRhID0gZmlsdGVyZWQ7XG4gICAgfVxuXG5cdGlzQ2FtYmlvKCk6IGJvb2xlYW4ge1xuXHRcdGlmICh0aGlzLnRpcG8gPT09IENhbXBvRm9ybXVsYXJpb0NvbnMuVEVYVE8gfHwgdGhpcy50aXBvID09PSBDYW1wb0Zvcm11bGFyaW9Db25zLlRFWFRPQVJFQSB8fCB0aGlzLnRpcG8gPT09IENhbXBvRm9ybXVsYXJpb0NvbnMuU0VDUkVUKSB7XG5cdFx0ICByZXR1cm4gKHRoaXMub3JpZ2luYWwgPT0gbnVsbCA/ICcnIDogJycgKyB0aGlzLm9yaWdpbmFsLnRvU3RyaW5nKCkudHJpbSgpKSAhPSAodGhpcy52YWxvciA9PSBudWxsID8gJycgOiAnJyArIHRoaXMudmFsb3IudG9TdHJpbmcoKS50cmltKCkpO1xuXHRcdH1cblx0XHRpZiAodGhpcy50aXBvID09PSBDYW1wb0Zvcm11bGFyaW9Db25zLkNIRUNLKSB7XG5cdFx0ICBsZXQgcmVzcHVlc3RhcyA9ICcnO1xuXHRcdCAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMubGlzdGFSZXNwdWVzdGEpIHtcblx0XHRcdHJlc3B1ZXN0YXMgKz0gaXRlbSArICc7Jztcblx0XHQgIH1cblx0XHQgIHJldHVybiAodGhpcy5vcmlnaW5hbCA9PSBudWxsID8gJycgOiAnJyArIHRoaXMub3JpZ2luYWwpICE9IChyZXNwdWVzdGFzID09IG51bGwgPyAnJyA6ICcnICsgcmVzcHVlc3Rhcyk7XG5cdFx0fVxuXHRcdHJldHVybiAodGhpcy5vcmlnaW5hbCA9PSBudWxsID8gJycgOiAnJyArIHRoaXMub3JpZ2luYWwpICE9ICh0aGlzLnZhbG9yID09IG51bGwgPyAnJyA6ICcnICsgdGhpcy52YWxvcik7XG5cdCAgfVxuXG5cdGNhcmdhclZhbG9yUG9wdXAoZXZlbnQpe1xuXHRcdGNvbnNvbGUubG9nKCdjYXJnYXJWYWxvclBvcHVwJylcblx0XHRjb25zb2xlLmxvZyhldmVudClcblx0XHR0aGlzLnZhbG9yID0gZXZlbnQ7XG5cdH1cbn0iXX0=