dmencu 3.2.21 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/README.md +42 -42
  2. package/dist/client/client/client.js +3 -3
  3. package/dist/client/unlogged/abrir-formulario.js +1 -1
  4. package/dist/client/unlogged/bypass-formulario.d.ts +6 -42
  5. package/dist/client/unlogged/bypass-formulario.js +84 -219
  6. package/dist/client/unlogged/calculos-encuesta.js +112 -38
  7. package/dist/client/unlogged/helpers-casilleros.d.ts +1 -1
  8. package/dist/client/unlogged/helpers-casilleros.js +12 -18
  9. package/dist/client/unlogged/helpers-formulario.d.ts +16 -0
  10. package/dist/client/unlogged/helpers-formulario.js +88 -0
  11. package/dist/client/unlogged/redux-formulario.d.ts +1 -2
  12. package/dist/client/unlogged/redux-formulario.js +21 -31
  13. package/dist/client/unlogged/render-formulario.d.ts +2 -6
  14. package/dist/client/unlogged/render-formulario.js +29 -68
  15. package/dist/client/unlogged/render-formulario.tsx +29 -57
  16. package/dist/client/unlogged/render-general.js +1 -1
  17. package/dist/client/unlogged/render-general.tsx +1 -1
  18. package/dist/client/unlogged/tipos.d.ts +74 -40
  19. package/dist/client/unlogged/tipos.js +1 -1
  20. package/dist/server/app-dmencu.d.ts +1428 -0
  21. package/dist/server/app-dmencu.js +1054 -0
  22. package/dist/server/def-config.d.ts +1 -0
  23. package/dist/server/def-config.js +123 -0
  24. package/dist/server/procedures-dmencu.d.ts +43 -0
  25. package/dist/server/procedures-dmencu.js +2295 -0
  26. package/dist/server/server/app-dmencu.d.ts +42 -91
  27. package/dist/server/server/app-dmencu.js +114 -52
  28. package/dist/server/server/procedures-dmencu.d.ts +34 -2
  29. package/dist/server/server/procedures-dmencu.js +77 -51
  30. package/dist/server/server/setters-rea-no-rea.d.ts +13 -0
  31. package/dist/server/server/setters-rea-no-rea.js +35 -0
  32. package/dist/server/server/table-areas.js +4 -4
  33. package/dist/server/server/table-areas_asignacion_general.js +2 -1
  34. package/dist/server/server/table-control_campo.js +4 -4
  35. package/dist/server/server/table-no_rea.js +4 -2
  36. package/dist/server/server/table-no_rea_sup.js +7 -3
  37. package/dist/server/server/table-personal.js +1 -1
  38. package/dist/server/server/table-tareas_tem.js +2 -2
  39. package/dist/server/server/table-tem.js +2 -2
  40. package/dist/server/server/types-dmencu.d.ts +34 -2
  41. package/dist/server/server/types-dmencu.js +2 -1
  42. package/dist/server/setters-rea-no-rea.d.ts +13 -0
  43. package/dist/server/setters-rea-no-rea.js +35 -0
  44. package/dist/server/table-acciones.d.ts +2 -0
  45. package/dist/server/table-acciones.js +45 -0
  46. package/dist/server/table-area_enc_proximas.d.ts +2 -0
  47. package/dist/server/table-area_enc_proximas.js +30 -0
  48. package/dist/server/table-areas.d.ts +4 -0
  49. package/dist/server/table-areas.js +112 -0
  50. package/dist/server/table-areas_asignacion_general.d.ts +2 -0
  51. package/dist/server/table-areas_asignacion_general.js +86 -0
  52. package/dist/server/table-barrios.d.ts +2 -0
  53. package/dist/server/table-barrios.js +35 -0
  54. package/dist/server/table-comunas.d.ts +2 -0
  55. package/dist/server/table-comunas.js +33 -0
  56. package/dist/server/table-control_campo.d.ts +12 -0
  57. package/dist/server/table-control_campo.js +119 -0
  58. package/dist/server/table-control_dias_carga.d.ts +2 -0
  59. package/dist/server/table-control_dias_carga.js +63 -0
  60. package/dist/server/table-control_resumen.d.ts +2 -0
  61. package/dist/server/table-control_resumen.js +19 -0
  62. package/dist/server/table-diccionario.d.ts +2 -0
  63. package/dist/server/table-diccionario.js +32 -0
  64. package/dist/server/table-dictra.d.ts +2 -0
  65. package/dist/server/table-dictra.js +46 -0
  66. package/dist/server/table-dicvar.d.ts +2 -0
  67. package/dist/server/table-dicvar.js +32 -0
  68. package/dist/server/table-encuestadores.d.ts +13 -0
  69. package/dist/server/table-encuestadores.js +75 -0
  70. package/dist/server/table-estados.d.ts +2 -0
  71. package/dist/server/table-estados.js +47 -0
  72. package/dist/server/table-estados_acciones.d.ts +2 -0
  73. package/dist/server/table-estados_acciones.js +40 -0
  74. package/dist/server/table-fracciones.d.ts +2 -0
  75. package/dist/server/table-fracciones.js +37 -0
  76. package/dist/server/table-grilla_hoja_ruta.d.ts +2 -0
  77. package/dist/server/table-grilla_hoja_ruta.js +93 -0
  78. package/dist/server/table-historial_tem.d.ts +2 -0
  79. package/dist/server/table-historial_tem.js +57 -0
  80. package/dist/server/table-hogares.d.ts +2 -0
  81. package/dist/server/table-hogares.js +156 -0
  82. package/dist/server/table-hogares_sup.d.ts +2 -0
  83. package/dist/server/table-hogares_sup.js +191 -0
  84. package/dist/server/table-inconsistencias_cumplen_condicion.d.ts +2 -0
  85. package/dist/server/table-inconsistencias_cumplen_condicion.js +33 -0
  86. package/dist/server/table-manzanas.d.ts +2 -0
  87. package/dist/server/table-manzanas.js +36 -0
  88. package/dist/server/table-mis_encuestadores.d.ts +2 -0
  89. package/dist/server/table-mis_encuestadores.js +77 -0
  90. package/dist/server/table-mis_tareas.d.ts +2 -0
  91. package/dist/server/table-mis_tareas.js +18 -0
  92. package/dist/server/table-mis_tareas_areas.d.ts +2 -0
  93. package/dist/server/table-mis_tareas_areas.js +20 -0
  94. package/dist/server/table-modos_dm.d.ts +2 -0
  95. package/dist/server/table-modos_dm.js +28 -0
  96. package/dist/server/table-no_rea.js +38 -0
  97. package/dist/server/table-no_rea_sup.js +36 -0
  98. package/dist/server/table-operaciones.d.ts +2 -0
  99. package/dist/server/table-operaciones.js +30 -0
  100. package/dist/server/table-parametros.d.ts +2 -0
  101. package/dist/server/table-parametros.js +40 -0
  102. package/dist/server/table-permisos.d.ts +2 -0
  103. package/dist/server/table-permisos.js +31 -0
  104. package/dist/server/table-personal.d.ts +5 -0
  105. package/dist/server/table-personal.js +62 -0
  106. package/dist/server/table-personal_rol.d.ts +2 -0
  107. package/dist/server/table-personal_rol.js +42 -0
  108. package/dist/server/table-personas.d.ts +2 -0
  109. package/dist/server/table-personas.js +448 -0
  110. package/dist/server/table-personas_sup.d.ts +2 -0
  111. package/dist/server/table-personas_sup.js +93 -0
  112. package/dist/server/table-radios.d.ts +2 -0
  113. package/dist/server/table-radios.js +37 -0
  114. package/dist/server/table-rea.d.ts +2 -0
  115. package/dist/server/table-rea.js +38 -0
  116. package/dist/server/table-rea_sup.d.ts +2 -0
  117. package/dist/server/table-rea_sup.js +38 -0
  118. package/dist/server/table-recepcionistas.d.ts +2 -0
  119. package/dist/server/table-recepcionistas.js +18 -0
  120. package/dist/server/table-recuperadores.d.ts +2 -0
  121. package/dist/server/table-recuperadores.js +18 -0
  122. package/dist/server/table-roles.d.ts +2 -0
  123. package/dist/server/table-roles.js +33 -0
  124. package/dist/server/table-roles_permisos.d.ts +2 -0
  125. package/dist/server/table-roles_permisos.js +36 -0
  126. package/dist/server/table-roles_subordinados.d.ts +2 -0
  127. package/dist/server/table-roles_subordinados.js +31 -0
  128. package/dist/server/table-semanas.d.ts +2 -0
  129. package/dist/server/table-semanas.js +42 -0
  130. package/dist/server/table-sincronizaciones.d.ts +2 -0
  131. package/dist/server/table-sincronizaciones.js +30 -0
  132. package/dist/server/table-supervisores.d.ts +2 -0
  133. package/dist/server/table-supervisores.js +18 -0
  134. package/dist/server/table-tareas.d.ts +2 -0
  135. package/dist/server/table-tareas.js +48 -0
  136. package/dist/server/table-tareas_areas.d.ts +7 -0
  137. package/dist/server/table-tareas_areas.js +112 -0
  138. package/dist/server/table-tareas_proximas.d.ts +2 -0
  139. package/dist/server/table-tareas_proximas.js +48 -0
  140. package/dist/server/table-tareas_tem.d.ts +14 -0
  141. package/dist/server/table-tareas_tem.js +206 -0
  142. package/dist/server/table-tareas_tem_analisis_campo.d.ts +2 -0
  143. package/dist/server/table-tareas_tem_analisis_campo.js +31 -0
  144. package/dist/server/table-tareas_tem_fin_campo.d.ts +3 -0
  145. package/dist/server/table-tareas_tem_fin_campo.js +56 -0
  146. package/dist/server/table-tareas_tem_ingreso.d.ts +2 -0
  147. package/dist/server/table-tareas_tem_ingreso.js +31 -0
  148. package/dist/server/table-tareas_tem_procesamiento.d.ts +2 -0
  149. package/dist/server/table-tareas_tem_procesamiento.js +34 -0
  150. package/dist/server/table-tareas_tem_recepcion.d.ts +6 -0
  151. package/dist/server/table-tareas_tem_recepcion.js +59 -0
  152. package/dist/server/table-tem.d.ts +3 -0
  153. package/dist/server/table-tem.js +247 -0
  154. package/dist/server/table-tem_asignacion.d.ts +2 -0
  155. package/dist/server/table-tem_asignacion.js +50 -0
  156. package/dist/server/table-tem_borradas.d.ts +2 -0
  157. package/dist/server/table-tem_borradas.js +35 -0
  158. package/dist/server/table-usuarios.d.ts +2 -0
  159. package/dist/server/table-usuarios.js +63 -0
  160. package/dist/server/table-visitas.d.ts +2 -0
  161. package/dist/server/table-visitas.js +91 -0
  162. package/dist/server/table-visitas_sup.d.ts +2 -0
  163. package/dist/server/table-visitas_sup.js +91 -0
  164. package/dist/server/table-viviendas.d.ts +2 -0
  165. package/dist/server/table-viviendas.js +299 -0
  166. package/dist/server/types-dmencu.d.ts +95 -0
  167. package/dist/server/types-dmencu.js +34 -0
  168. package/dist/server/unlogged/tipos.d.ts +74 -40
  169. package/dist/server/unlogged/tipos.js +1 -1
  170. package/dist/test/app-para-tests.d.ts +1115 -0
  171. package/dist/test/app-para-tests.js +95 -0
  172. package/dist/test/test-caches-rea.d.ts +1 -0
  173. package/dist/test/test-caches-rea.js +243 -0
  174. package/dist/test/test-helpers-casilleros.d.ts +1 -0
  175. package/dist/test/test-helpers-casilleros.js +154 -0
  176. package/dist/test/test-helpers-formulario.d.ts +1 -0
  177. package/dist/test/test-helpers-formulario.js +95 -0
  178. package/dist/test/test-impacto-rea-no-rea-en-bd.d.ts +1 -0
  179. package/dist/test/test-impacto-rea-no-rea-en-bd.js +243 -0
  180. package/dist/test/test-menu-segun-rol.d.ts +1 -0
  181. package/dist/test/test-menu-segun-rol.js +170 -0
  182. package/dist/test/test-setters-rea-no-rea.d.ts +1 -0
  183. package/dist/test/test-setters-rea-no-rea.js +95 -0
  184. package/dist/test/test.d.ts +6 -0
  185. package/dist/test/test.js +8 -2
  186. package/dist/unlogged/helpers-casilleros.d.ts +1 -1
  187. package/dist/unlogged/helpers-casilleros.js +12 -18
  188. package/dist/unlogged/helpers-formulario.d.ts +16 -0
  189. package/dist/unlogged/helpers-formulario.js +88 -0
  190. package/dist/unlogged/tipos.d.ts +1 -1
  191. package/dist/unlogged/tipos.js +1 -1
  192. package/dist/unlogged/unlogged/abrir-formulario.js +1 -1
  193. package/dist/unlogged/unlogged/bypass-formulario.d.ts +6 -42
  194. package/dist/unlogged/unlogged/bypass-formulario.js +84 -219
  195. package/dist/unlogged/unlogged/helpers-casilleros.js +7 -14
  196. package/dist/unlogged/unlogged/helpers-formulario.d.ts +16 -0
  197. package/dist/unlogged/unlogged/helpers-formulario.js +88 -0
  198. package/dist/unlogged/unlogged/redux-formulario.d.ts +1 -2
  199. package/dist/unlogged/unlogged/redux-formulario.js +21 -31
  200. package/dist/unlogged/unlogged/render-formulario.d.ts +2 -6
  201. package/dist/unlogged/unlogged/render-formulario.js +29 -68
  202. package/dist/unlogged/unlogged/render-formulario.tsx +29 -57
  203. package/dist/unlogged/unlogged/render-general.js +1 -1
  204. package/dist/unlogged/unlogged/render-general.tsx +1 -1
  205. package/dist/unlogged/unlogged/tipos.d.ts +74 -40
  206. package/dist/unlogged/unlogged/tipos.js +1 -1
  207. package/dist/unlogged/unlogged/unlogged.js +2 -2
  208. package/install/accion_cumple_condicion.sql +1 -1
  209. package/install/generador_accion_cumple_condicion.sql +2 -2
  210. package/install/tarea_cumple_condicion.sql +1 -1
  211. package/install/xcalcular_resultado_trg.sql +1 -1
  212. package/package.json +20 -17
  213. package/dist/server/server/table-no_rea copy.js +0 -38
  214. package/dist/server/server/table-no_rea_sup copy.js +0 -36
  215. package/dist/unlogged/bypass-formulario.d.ts +0 -198
  216. package/dist/unlogged/bypass-formulario.js +0 -1226
  217. package/dist/unlogged/redux-formulario.d.ts +0 -440
  218. package/dist/unlogged/redux-formulario.js +0 -324
  219. package/dist/unlogged/render-config.d.ts +0 -52
  220. package/dist/unlogged/render-config.js +0 -161
  221. package/dist/unlogged/unlogged/bypass-formulario copy.d.ts +0 -198
  222. package/dist/unlogged/unlogged/bypass-formulario copy.js +0 -1226
  223. package/dist/unlogged/unlogged/helpers.d.ts +0 -14
  224. package/dist/unlogged/unlogged/helpers.js +0 -129
  225. /package/dist/server/{server/table-no_rea copy.d.ts → table-no_rea.d.ts} +0 -0
  226. /package/dist/server/{server/table-no_rea_sup copy.d.ts → table-no_rea_sup.d.ts} +0 -0
@@ -0,0 +1,112 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.cuentasFields = exports.cuentasSql = void 0;
13
+ exports.areas = areas;
14
+ const cuentasSql = (be, filter) => `
15
+ select
16
+ bool_or( ttcargado_dm is not null ) as cargado ,
17
+ --count( cargado_dm ) as cargadas,
18
+ sum ( case when tem.rea= 1 then 1 else null end ) as reas,
19
+ count(*) filter ( where tem.resumen_estado='no rea') as no_reas,
20
+ count(*) filter ( where tem.resumen_estado in ('incompleto', 'con problemas') ) as incompletas,
21
+ count(*) filter ( where tem.resumen_estado in ('vacio' ) ) as vacias,
22
+ count(*) filter ( where thabilitada is not true ) as inhabilitadas,
23
+ count(*) as totales,
24
+ --sum(case when cluster <>4 then null when confirmada is true then 1 else 0 end) as confirmadas,
25
+ --sum(case when cluster <>4 then null when confirmada is null then 1 else 0 end) as pend_conf,
26
+ string_agg(distinct clase,', ' order by clase desc) as clases,
27
+ string_agg(distinct nrocomuna::text,'-' order by nrocomuna::text)::text as comuna
28
+ , string_agg(distinct cluster::text,', ' order by cluster::text desc) as clusters
29
+ ${be.caches.tableContent.no_rea_groups.map((x) => `, sum(CASE WHEN gru_no_rea=${be.db.quoteLiteral(x.grupo)} THEN 1 ELSE NULL END) as ${be.db.quoteIdent(x.grupo.replace(/ /g, '_'))}`).join('')}
30
+ from ( select t.operativo, enc, cluster, nrocomuna, clase,
31
+ json_encuesta, t.resumen_estado,
32
+ t.rea, t.norea, area, dominio, zona,
33
+ json_backup, grupo as gru_no_rea
34
+ , bool_or(t.habilitada) thabilitada, string_agg(tt.cargado_dm,'-') ttcargado_dm
35
+ from tem t left join tareas_tem tt using(operativo,enc)
36
+ left join no_rea y on y.no_rea=t.norea
37
+ where ${filter}
38
+ group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14
39
+ ) tem
40
+ `;
41
+ exports.cuentasSql = cuentasSql;
42
+ const cuentasFields = (be) => [
43
+ { name: 'clases', typeName: 'text', editable: false, inTable: false },
44
+ { name: 'cargado', typeName: 'boolean', editable: false, inTable: false },
45
+ { name: 'reas', typeName: 'integer', editable: false, aggregate: 'sum', inTable: false },
46
+ { name: 'no_reas', typeName: 'integer', editable: false, aggregate: 'sum', inTable: false },
47
+ { name: 'incompletas', typeName: 'integer', editable: false, aggregate: 'sum', inTable: false },
48
+ { name: 'vacias', typeName: 'integer', editable: false, aggregate: 'sum', inTable: false },
49
+ { name: 'inhabilitadas', typeName: 'integer', editable: false, aggregate: 'sum', inTable: false },
50
+ { name: 'comuna', typeName: 'text', title: 'comuna', inTable: false },
51
+ ...be.caches.tableContent.no_rea_groups.map((x) => ({ name: x.grupo.replace(/ /g, '_'), typeName: 'integer', editable: false }))
52
+ ];
53
+ exports.cuentasFields = cuentasFields;
54
+ function areas(context) {
55
+ var _a, _b;
56
+ var be = context.be;
57
+ var puedeEditar = context.forDump || ((_b = (_a = context.puede) === null || _a === void 0 ? void 0 : _a.campo) === null || _b === void 0 ? void 0 : _b.administrar) || context.user.rol === 'recepcionista';
58
+ return {
59
+ name: 'areas',
60
+ elementName: 'area',
61
+ editable: puedeEditar,
62
+ hiddenColumns: ['clusters', 'clases', 'cargadas_bkp', 'reas_bkp', 'no_reas_bkp',
63
+ 'incompletas_bkp', 'vacias_bkp', 'inhabilitadas_bkp'
64
+ ],
65
+ fields: [
66
+ { name: "operativo", typeName: "text", nullable: false, editable: false },
67
+ { name: 'area', typeName: 'integer', nullable: false, editable: false },
68
+ { name: 'clusters', typeName: 'text', visible: false, inTable: false },
69
+ { name: 'recepcionista', typeName: 'text', references: 'recepcionistas' },
70
+ { name: 'encuestador', typeName: 'text', references: 'personal' },
71
+ //{name:'recuperador' , typeName:'text' },
72
+ //{name:'supervisor' , typeName:'text' },
73
+ { name: 'observaciones_hdr', typeName: 'text' },
74
+ { name: 'verificado_rec', typeName: 'text', aggregate: 'count' },
75
+ //{name:'confirmadas' , typeName:'integer' , editable:false, aggregate:'sum'},
76
+ //{name:'pend_conf' , typeName:'integer' , editable:false, aggregate:'sum', description:'pendientes de confirmación'},
77
+ { name: 'obs_recepcionista', typeName: 'text' },
78
+ ...(0, exports.cuentasFields)(be),
79
+ { name: 'cargadas_bkp', typeName: 'integer', editable: false },
80
+ { name: 'reas_bkp', typeName: 'integer', editable: false },
81
+ { name: 'no_reas_bkp', typeName: 'integer', editable: false },
82
+ { name: 'incompletas_bkp', typeName: 'integer', editable: false },
83
+ { name: 'vacias_bkp', typeName: 'integer', editable: false },
84
+ { name: 'inhabilitadas_bkp', typeName: 'integer', editable: false },
85
+ ],
86
+ primaryKey: ["operativo", 'area'],
87
+ foreignKeys: [
88
+ { references: 'operativos', fields: ['operativo'] },
89
+ //{references:'usuarios', fields:[{source:'recepcionista', target:'idper'}], alias:'per_recep', displayFields:[]},
90
+ { references: 'usuarios', fields: [{ source: 'recepcionista', target: 'idper' }], alias: 'recepcionista', displayFields: ['nombre', 'apellido'] },
91
+ { references: 'usuarios', fields: [{ source: 'encuestador', target: 'idper' }], alias: 'encuestador', displayFields: ['nombre', 'apellido', 'dispositivo'] },
92
+ ],
93
+ //softForeignKeys:[
94
+ // {references:'encuestadores', fields:[{source:'encuestador', target:'persona'}], alias:'per_encu'},
95
+ //],
96
+ detailTables: [
97
+ { table: 'tem_asignacion', fields: ['operativo', 'area'], abr: 'A', refreshParent: true, label: 'asignables' },
98
+ { table: `tareas_tem_recepcion`, fields: ['operativo', 'area'], abr: 'R', refreshParent: true, label: 'recepcion' },
99
+ ],
100
+ sql: {
101
+ isTable: true,
102
+ from: `
103
+ (select a.*, ta.asignado, t.*
104
+ from areas a left join tareas_areas ta on ta.tarea='encu' and ta.area=a.area and ta.operativo=a.operativo, lateral (
105
+ ${(0, exports.cuentasSql)(be, `t.area=a.area /*and tt.tarea='encu'*/`)}
106
+ ) t
107
+ )`
108
+ }
109
+ };
110
+ }
111
+ });
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYXJlYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmVyL3RhYmxlLWFyZWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztJQUFBLFlBQVksQ0FBQzs7O0lBZ0RiLHNCQXlEQztJQXJHTSxNQUFNLFVBQVUsR0FBRyxDQUFDLEVBQU8sRUFBRSxNQUFjLEVBQUUsRUFBRSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7TUFlakQsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQWEsRUFBRSxFQUFFLENBQzdELDhCQUE4QixFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLDZCQUE2QixFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUN2SSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Ozs7Ozs7O2dCQVFNLE1BQU07OztDQUdyQixDQUFDO0lBNUJXLFFBQUEsVUFBVSxjQTRCckI7SUFFSyxNQUFNLGFBQWEsR0FBRyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUM7UUFDdEMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO1FBQ3JFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtRQUN6RSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtRQUN4RixFQUFF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LEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxFQUFFO2FBRS9KO1lBQ0QsbUJBQW1CO1lBQ25CLHdHQUF3RztZQUN4RyxJQUFJO1lBQ0osWUFBWSxFQUFFO2dCQUNWLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRTtnQkFDOUcsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO2FBQ3RIO1lBQ0QsR0FBRyxFQUFFO2dCQUNELE9BQU8sRUFBRSxJQUFJO2dCQUNiLElBQUksRUFBRTs7O3NCQUdJLElBQUEsa0JBQVUsRUFBQyxFQUFFLEVBQUUsdUNBQXVDLENBQUM7O2NBRS9EO2FBQ0w7U0FFSixDQUFDO0lBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHsgVGFibGVEZWZpbml0aW9uLCBUYWJsZUNvbnRleHQsIEdydXBvTm9SZWEgfSBmcm9tIFwiLi90eXBlcy1kbWVuY3VcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBjdWVudGFzU3FsID0gKGJlOiBhbnksIGZpbHRlcjogc3RyaW5nKSA9PiBgXHJcbnNlbGVjdCBcclxuICAgIGJvb2xfb3IoIHR0Y2FyZ2Fkb19kbSBpcyBub3QgbnVsbCApICAgICAgIGFzIGNhcmdhZG8gLCBcclxuICAgIC0tY291bnQoIGNhcmdhZG9fZG0gKSAgICAgICAgICAgICAgICAgICAgIGFzIGNhcmdhZGFzLFxyXG4gICAgc3VtICggY2FzZSB3aGVuIHRlbS5yZWE9IDEgdGhlbiAxIGVsc2UgbnVsbCBlbmQgKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzIHJlYXMsXHJcbiAgICBjb3VudCgqKSBmaWx0ZXIgKCB3aGVyZSB0ZW0ucmVzdW1lbl9lc3RhZG89J25vIHJlYScpICAgICAgIGFzIG5vX3JlYXMsXHJcbiAgICBjb3VudCgqKSBmaWx0ZXIgKCB3aGVyZSB0ZW0ucmVzdW1lbl9lc3RhZG8gaW4gKCdpbmNvbXBsZXRvJywgJ2NvbiBwcm9ibGVtYXMnKSApIGFzIGluY29tcGxldGFzLCBcclxuICAgIGNvdW50KCopIGZpbHRlciAoIHdoZXJlIHRlbS5yZXN1bWVuX2VzdGFkbyBpbiAoJ3ZhY2lvJyApICkgYXMgdmFjaWFzLFxyXG4gICAgY291bnQoKikgZmlsdGVyICggd2hlcmUgdGhhYmlsaXRhZGEgaXMgbm90IHRydWUgKSAgICBhcyBpbmhhYmlsaXRhZGFzLFxyXG4gICAgY291bnQoKikgYXMgdG90YWxlcyxcclxuICAgIC0tc3VtKGNhc2Ugd2hlbiBjbHVzdGVyIDw+NCB0aGVuIG51bGwgd2hlbiBjb25maXJtYWRhIGlzIHRydWUgdGhlbiAxIGVsc2UgMCBlbmQpIGFzIGNvbmZpcm1hZGFzLFxyXG4gICAgLS1zdW0oY2FzZSB3aGVuIGNsdXN0ZXIgPD40IHRoZW4gbnVsbCB3aGVuIGNvbmZpcm1hZGEgaXMgbnVsbCB0aGVuIDEgZWxzZSAwIGVuZCkgYXMgcGVuZF9jb25mLFxyXG4gICAgc3RyaW5nX2FnZyhkaXN0aW5jdCBjbGFzZSwnLCAnIG9yZGVyIGJ5IGNsYXNlIGRlc2MpIGFzIGNsYXNlcyxcclxuICAgIHN0cmluZ19hZ2coZGlzdGluY3QgbnJvY29tdW5hOjp0ZXh0LCctJyBvcmRlciBieSBucm9jb211bmE6OnRleHQpOjp0ZXh0IGFzIGNvbXVuYVxyXG4gICAgLCBzdHJpbmdfYWdnKGRpc3RpbmN0IGNsdXN0ZXI6OnRleHQsJywgJyBvcmRlciBieSBjbHVzdGVyOjp0ZXh0IGRlc2MpIGFzIGNsdXN0ZXJzXHJcbiAgICAke2JlLmNhY2hlcy50YWJsZUNvbnRlbnQubm9fcmVhX2dyb3Vwcy5tYXAoKHg6IEdydXBvTm9SZWEpID0+XHJcbiAgICBgLCBzdW0oQ0FTRSBXSEVOIGdydV9ub19yZWE9JHtiZS5kYi5xdW90ZUxpdGVyYWwoeC5ncnVwbyl9IFRIRU4gMSBFTFNFIE5VTEwgRU5EKSBhcyAke2JlLmRiLnF1b3RlSWRlbnQoeC5ncnVwby5yZXBsYWNlKC8gL2csICdfJykpfWBcclxuKS5qb2luKCcnKX1cclxuZnJvbSAoIHNlbGVjdCB0Lm9wZXJhdGl2bywgZW5jLCBjbHVzdGVyLCBucm9jb211bmEsIGNsYXNlLCBcclxuICAgICAgICAgICAganNvbl9lbmN1ZXN0YSwgdC5yZXN1bWVuX2VzdGFkbywgIFxyXG4gICAgICAgICAgICB0LnJlYSwgdC5ub3JlYSwgYXJlYSwgZG9taW5pbywgem9uYSxcclxuICAgICAgICAgICAganNvbl9iYWNrdXAsIGdydXBvIGFzIGdydV9ub19yZWFcclxuICAgICAgICAgICAgLCBib29sX29yKHQuaGFiaWxpdGFkYSkgdGhhYmlsaXRhZGEsIHN0cmluZ19hZ2codHQuY2FyZ2Fkb19kbSwnLScpIHR0Y2FyZ2Fkb19kbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgZnJvbSB0ZW0gdCBsZWZ0IGpvaW4gdGFyZWFzX3RlbSB0dCB1c2luZyhvcGVyYXRpdm8sZW5jKSBcclxuICAgICAgICAgICAgbGVmdCBqb2luIG5vX3JlYSB5IG9uIHkubm9fcmVhPXQubm9yZWFcclxuICAgICAgICB3aGVyZSAke2ZpbHRlcn0gICAgXHJcbiAgICAgICAgZ3JvdXAgYnkgIDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0XHJcbikgdGVtXHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgY3VlbnRhc0ZpZWxkcyA9IChiZTogYW55KSA9PiBbXHJcbiAgICB7IG5hbWU6ICdjbGFzZXMnLCB0eXBlTmFtZTogJ3RleHQnLCBlZGl0YWJsZTogZmFsc2UsIGluVGFibGU6IGZhbHNlIH0sXHJcbiAgICB7IG5hbWU6ICdjYXJnYWRvJywgdHlwZU5hbWU6ICdib29sZWFuJywgZWRpdGFibGU6IGZhbHNlLCBpblRhYmxlOiBmYWxzZSB9LFxyXG4gICAgeyBuYW1lOiAncmVhcycsIHR5cGVOYW1lOiAnaW50ZWdlcicsIGVkaXRhYmxlOiBmYWxzZSwgYWdncmVnYXRlOiAnc3VtJywgaW5UYWJsZTogZmFsc2UgfSxcclxuICAgIHsgbmFtZTogJ25vX3JlYXMnLCB0eXBlTmFtZTogJ2ludGVnZXInLCBlZGl0YWJsZTogZmFsc2UsIGFnZ3JlZ2F0ZTogJ3N1bScsIGluVGFibGU6IGZhbHNlIH0sXHJcbiAgICB7IG5hbWU6ICdpbmNvbXBsZXRhcycsIHR5cGVOYW1lOiAnaW50ZWdlcicsIGVkaXRhYmxlOiBmYWxzZSwgYWdncmVnYXRlOiAnc3VtJywgaW5UYWJsZTogZmFsc2UgfSxcclxuICAgIHsgbmFtZTogJ3ZhY2lhcycsIHR5cGVOYW1lOiAnaW50ZWdlcicsIGVkaXRhYmxlOiBmYWxzZSwgYWdncmVnYXRlOiAnc3VtJywgaW5UYWJsZTogZmFsc2UgfSxcclxuICAgIHsgbmFtZTogJ2luaGFiaWxpdGFkYXMnLCB0eXBlTmFtZTogJ2ludGVnZXInLCBlZGl0YWJsZTogZmFsc2UsIGFnZ3JlZ2F0ZTogJ3N1bScsIGluVGFibGU6IGZhbHNlIH0sXHJcbiAgICB7IG5hbWU6ICdjb211bmEnLCB0eXBlTmFtZTogJ3RleHQnLCB0aXRsZTogJ2NvbXVuYScsIGluVGFibGU6IGZhbHNlIH0sXHJcbiAgICAuLi5iZS5jYWNoZXMudGFibGVDb250ZW50Lm5vX3JlYV9ncm91cHMubWFwKCh4OiBHcnVwb05vUmVhKSA9PiAoXHJcbiAgICAgICAgeyBuYW1lOiB4LmdydXBvLnJlcGxhY2UoLyAvZywgJ18nKSwgdHlwZU5hbWU6ICdpbnRlZ2VyJywgZWRpdGFibGU6IGZhbHNlIH1cclxuICAgICkpXHJcbl07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYXJlYXMoY29udGV4dDogVGFibGVDb250ZXh0KTogVGFibGVEZWZpbml0aW9uIHtcclxuICAgIHZhciBiZSA9IGNvbnRleHQuYmU7XHJcbiAgICB2YXIgcHVlZGVFZGl0YXIgPSBjb250ZXh0LmZvckR1bXAgfHwgY29udGV4dC5wdWVkZT8uY2FtcG8/LmFkbWluaXN0cmFyIHx8IGNvbnRleHQudXNlci5yb2wgPT09ICdyZWNlcGNpb25pc3RhJztcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgbmFtZTogJ2FyZWFzJyxcclxuICAgICAgICBlbGVtZW50TmFtZTogJ2FyZWEnLFxyXG4gICAgICAgIGVkaXRhYmxlOiBwdWVkZUVkaXRhcixcclxuICAgICAgICBoaWRkZW5Db2x1bW5zOiBbJ2NsdXN0ZXJzJywgJ2NsYXNlcycsICdjYXJnYWRhc19ia3AnLCAncmVhc19ia3AnLCAnbm9fcmVhc19ia3AnXHJcbiAgICAgICAgICAgICwgJ2luY29tcGxldGFzX2JrcCcsICd2YWNpYXNfYmtwJywgJ2luaGFiaWxpdGFkYXNfYmtwJ1xyXG4gICAgICAgIF0sXHJcbiAgICAgICAgZmllbGRzOiBbXHJcbiAgICAgICAgICAgIHsgbmFtZTogXCJvcGVyYXRpdm9cIiwgdHlwZU5hbWU6IFwidGV4dFwiLCBudWxsYWJsZTogZmFsc2UsIGVkaXRhYmxlOiBmYWxzZSB9LFxyXG4gICAgICAgICAgICB7IG5hbWU6ICdhcmVhJywgdHlwZU5hbWU6ICdpbnRlZ2VyJywgbnVsbGFibGU6IGZhbHNlLCBlZGl0YWJsZTogZmFsc2UgfSxcclxuICAgICAgICAgICAgeyBuYW1lOiAnY2x1c3RlcnMnLCB0eXBlTmFtZTogJ3RleHQnLCB2aXNpYmxlOiBmYWxzZSwgaW5UYWJsZTogZmFsc2UgfSxcclxuICAgICAgICAgICAgeyBuYW1lOiAncmVjZXBjaW9uaXN0YScsIHR5cGVOYW1lOiAndGV4dCcsIHJlZmVyZW5jZXM6ICdyZWNlcGNpb25pc3RhcycgfSxcclxuICAgICAgICAgICAgeyBuYW1lOiAnZW5jdWVzdGFkb3InLCB0eXBlTmFtZTogJ3RleHQnLCByZWZlcmVuY2VzOiAncGVyc29uYWwnIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J3JlY3VwZXJhZG9yJyAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy97bmFtZTonc3VwZXJ2aXNvcicgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7IG5hbWU6ICdvYnNlcnZhY2lvbmVzX2hkcicsIHR5cGVOYW1lOiAndGV4dCcgfSxcclxuICAgICAgICAgICAgeyBuYW1lOiAndmVyaWZpY2Fkb19yZWMnLCB0eXBlTmFtZTogJ3RleHQnLCBhZ2dyZWdhdGU6ICdjb3VudCcgfSxcclxuICAgICAgICAgICAgLy97bmFtZTonY29uZmlybWFkYXMnICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6ZmFsc2UsIGFnZ3JlZ2F0ZTonc3VtJ30sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J3BlbmRfY29uZicgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOmZhbHNlLCBhZ2dyZWdhdGU6J3N1bScsIGRlc2NyaXB0aW9uOidwZW5kaWVudGVzIGRlIGNvbmZpcm1hY2nDs24nfSxcclxuICAgICAgICAgICAgeyBuYW1lOiAnb2JzX3JlY2VwY2lvbmlzdGEnLCB0eXBlTmFtZTogJ3RleHQnIH0sXHJcbiAgICAgICAgICAgIC4uLmN1ZW50YXNGaWVsZHMoYmUpLFxyXG4gICAgICAgICAgICB7IG5hbWU6ICdjYXJnYWRhc19ia3AnLCB0eXBlTmFtZTogJ2ludGVnZXInLCBlZGl0YWJsZTogZmFsc2UgfSxcclxuICAgICAgICAgICAgeyBuYW1lOiAncmVhc19ia3AnLCB0eXBlTmFtZTogJ2ludGVnZXInLCBlZGl0YWJsZTogZmFsc2UgfSxcclxuICAgICAgICAgICAgeyBuYW1lOiAnbm9fcmVhc19ia3AnLCB0eXBlTmFtZTogJ2ludGVnZXInLCBlZGl0YWJsZTogZmFsc2UgfSxcclxuICAgICAgICAgICAgeyBuYW1lOiAnaW5jb21wbGV0YXNfYmtwJywgdHlwZU5hbWU6ICdpbnRlZ2VyJywgZWRpdGFibGU6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgIHsgbmFtZTogJ3ZhY2lhc19ia3AnLCB0eXBlTmFtZTogJ2ludGVnZXInLCBlZGl0YWJsZTogZmFsc2UgfSxcclxuICAgICAgICAgICAgeyBuYW1lOiAnaW5oYWJpbGl0YWRhc19ia3AnLCB0eXBlTmFtZTogJ2ludGVnZXInLCBlZGl0YWJsZTogZmFsc2UgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIHByaW1hcnlLZXk6IFtcIm9wZXJhdGl2b1wiLCAnYXJlYSddLFxyXG4gICAgICAgIGZvcmVpZ25LZXlzOiBbXHJcbiAgICAgICAgICAgIHsgcmVmZXJlbmNlczogJ29wZXJhdGl2b3MnLCBmaWVsZHM6IFsnb3BlcmF0aXZvJ10gfSxcclxuICAgICAgICAgICAgLy97cmVmZXJlbmNlczondXN1YXJpb3MnLCBmaWVsZHM6W3tzb3VyY2U6J3JlY2VwY2lvbmlzdGEnLCB0YXJnZXQ6J2lkcGVyJ31dLCBhbGlhczoncGVyX3JlY2VwJywgZGlzcGxheUZpZWxkczpbXX0sXHJcbiAgICAgICAgICAgIHsgcmVmZXJlbmNlczogJ3VzdWFyaW9zJywgZmllbGRzOiBbeyBzb3VyY2U6ICdyZWNlcGNpb25pc3RhJywgdGFyZ2V0OiAnaWRwZXInIH1dLCBhbGlhczogJ3JlY2VwY2lvbmlzdGEnLCBkaXNwbGF5RmllbGRzOiBbJ25vbWJyZScsICdhcGVsbGlkbyddIH0sXHJcbiAgICAgICAgICAgIHsgcmVmZXJlbmNlczogJ3VzdWFyaW9zJywgZmllbGRzOiBbeyBzb3VyY2U6ICdlbmN1ZXN0YWRvcicsIHRhcmdldDogJ2lkcGVyJyB9XSwgYWxpYXM6ICdlbmN1ZXN0YWRvcicsIGRpc3BsYXlGaWVsZHM6IFsnbm9tYnJlJywgJ2FwZWxsaWRvJywgJ2Rpc3Bvc2l0aXZvJ10gfSxcclxuXHJcbiAgICAgICAgXSxcclxuICAgICAgICAvL3NvZnRGb3JlaWduS2V5czpbXHJcbiAgICAgICAgLy8gICAge3JlZmVyZW5jZXM6J2VuY3Vlc3RhZG9yZXMnLCBmaWVsZHM6W3tzb3VyY2U6J2VuY3Vlc3RhZG9yJywgdGFyZ2V0OidwZXJzb25hJ31dLCBhbGlhczoncGVyX2VuY3UnfSxcclxuICAgICAgICAvL10sXHJcbiAgICAgICAgZGV0YWlsVGFibGVzOiBbXHJcbiAgICAgICAgICAgIHsgdGFibGU6ICd0ZW1fYXNpZ25hY2lvbicsIGZpZWxkczogWydvcGVyYXRpdm8nLCAnYXJlYSddLCBhYnI6ICdBJywgcmVmcmVzaFBhcmVudDogdHJ1ZSwgbGFiZWw6ICdhc2lnbmFibGVzJyB9LFxyXG4gICAgICAgICAgICB7IHRhYmxlOiBgdGFyZWFzX3RlbV9yZWNlcGNpb25gLCBmaWVsZHM6IFsnb3BlcmF0aXZvJywgJ2FyZWEnXSwgYWJyOiAnUicsIHJlZnJlc2hQYXJlbnQ6IHRydWUsIGxhYmVsOiAncmVjZXBjaW9uJyB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgc3FsOiB7XHJcbiAgICAgICAgICAgIGlzVGFibGU6IHRydWUsXHJcbiAgICAgICAgICAgIGZyb206IGAgXHJcbiAgICAgICAgICAgIChzZWxlY3QgYS4qLCB0YS5hc2lnbmFkbywgdC4qXHJcbiAgICAgICAgICAgICAgICBmcm9tIGFyZWFzIGEgbGVmdCBqb2luIHRhcmVhc19hcmVhcyB0YSBvbiB0YS50YXJlYT0nZW5jdScgYW5kIHRhLmFyZWE9YS5hcmVhIGFuZCB0YS5vcGVyYXRpdm89YS5vcGVyYXRpdm8sIGxhdGVyYWwgKFxyXG4gICAgICAgICAgICAgICAgICAgICR7Y3VlbnRhc1NxbChiZSwgYHQuYXJlYT1hLmFyZWEgLyphbmQgdHQudGFyZWE9J2VuY3UnKi9gKX1cclxuICAgICAgICAgICAgICAgICkgdFxyXG4gICAgICAgICAgICApYFxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9O1xyXG59XHJcblxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-dmencu";
2
+ export declare function areas_asignacion_general(context: TableContext): TableDefinition;
@@ -0,0 +1,86 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports", "./table-areas"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.areas_asignacion_general = areas_asignacion_general;
13
+ const table_areas_1 = require("./table-areas");
14
+ function areas_asignacion_general(context) {
15
+ var _a;
16
+ var tareas = [
17
+ { tarea: 'encu', muestraDispositivo: true },
18
+ { tarea: 'ingr', muestraDispositivo: false },
19
+ { tarea: 'recu', muestraDispositivo: true },
20
+ { tarea: 'supe', muestraDispositivo: true },
21
+ ];
22
+ var rolesFields = [
23
+ { name: 'recepcionista', prefijo: 'r', editable: true, references: 'recepcionistas', muestraDispositivo: false },
24
+ { name: 'asignado', prefijo: '', editable: true, references: 'personal', muestraDispositivo: true },
25
+ ];
26
+ var extraFields = [];
27
+ var extraFrom = '';
28
+ var extraSelect = '\n';
29
+ var otherTableDefs = {};
30
+ tareas.forEach(t => {
31
+ rolesFields.forEach(f => {
32
+ const name = `${f.prefijo}_${t.tarea}`;
33
+ extraFields.push({ name, typeName: 'text', table: `areas_${t.tarea}`, nameForUpsert: f.name, editable: f.editable, references: f.references });
34
+ extraSelect += `, areas_${t.tarea}.${f.name} as ${f.prefijo}_${t.tarea}`;
35
+ if (f.name == 'asignado') {
36
+ extraFields.push({ name: `${name}_usuario`, typeName: 'text', table: `areas_${t.tarea}`, nameForUpsert: f.name, editable: false, title: 'usuario' });
37
+ extraSelect += `, (select usuario as ${name}_usuario from usuarios u join tareas_areas ta on (ta.${context.be.db.quoteIdent(f.name)} = u.idper and ta.tarea = ${context.be.db.quoteLiteral(t.tarea)} and ta.area = a.area))`;
38
+ }
39
+ extraFields.push({ name: `${name}_nombre`, typeName: 'text', table: `areas_${t.tarea}`, nameForUpsert: f.name, editable: false, title: 'nombre' });
40
+ extraFields.push({ name: `${name}_apellido`, typeName: 'text', table: `areas_${t.tarea}`, nameForUpsert: f.name, editable: false, title: 'apellido' });
41
+ extraSelect += `, (select nombre as ${name}_nombre from usuarios u join tareas_areas ta on (ta.${context.be.db.quoteIdent(f.name)} = u.idper and ta.tarea = ${context.be.db.quoteLiteral(t.tarea)} and ta.area = a.area))`;
42
+ extraSelect += `, (select apellido as ${name}_apellido from usuarios u join tareas_areas ta on (ta.${context.be.db.quoteIdent(f.name)} = u.idper and ta.tarea = ${context.be.db.quoteLiteral(t.tarea)} and ta.area = a.area))`;
43
+ if (f.muestraDispositivo && t.muestraDispositivo) {
44
+ extraFields.push({ name: `${name}_dispositivo`, typeName: 'text', table: `areas_${t.tarea}`, nameForUpsert: f.name, editable: false, title: 'dm' });
45
+ extraSelect += `, (select dispositivo as ${name}_dispositivo from usuarios u join tareas_areas ta on (ta.${context.be.db.quoteIdent(f.name)} = u.idper and ta.tarea = ${context.be.db.quoteLiteral(t.tarea)} and ta.area = a.area))`;
46
+ }
47
+ });
48
+ extraFrom += `
49
+ left join tareas_areas as areas_${t.tarea} on areas_${t.tarea}.operativo = a.operativo and areas_${t.tarea}.area = a.area and areas_${t.tarea}.tarea = '${t.tarea}'`;
50
+ otherTableDefs[`areas_${t.tarea}`] = {
51
+ name: 'tareas_areas',
52
+ tableName: 'tareas_areas',
53
+ prefilledField: { tarea: t.tarea }
54
+ };
55
+ });
56
+ var tableDef = (0, table_areas_1.areas)(context);
57
+ tableDef.allow = {
58
+ insert: false,
59
+ delete: false,
60
+ import: false,
61
+ };
62
+ tableDef.name = `areas_asignacion_general`;
63
+ tableDef.tableName = `areas`;
64
+ tableDef.fields.forEach((field) => {
65
+ if (['recepcionista', 'relevador', 'encuestador', 'recuperador', 'supervisor',].includes(field.name)) {
66
+ field.visible = false;
67
+ }
68
+ });
69
+ (_a = tableDef.foreignKeys) === null || _a === void 0 ? void 0 : _a.forEach((fkDef) => {
70
+ if (fkDef.alias && ['recepcionista', 'encuestador'].includes(fkDef.alias)) {
71
+ fkDef.displayFields = [];
72
+ }
73
+ });
74
+ tableDef.fields.splice(2, 0, ...extraFields);
75
+ //tableDef.refrescable = true;
76
+ tableDef.sql.isTable = false;
77
+ tableDef.sql.from = `(select a.* ${extraSelect} from (${tableDef.sql.from}) a ${extraFrom})`,
78
+ tableDef.sql.otherTableDefs = otherTableDefs;
79
+ tableDef.detailTables = [
80
+ { table: 'tem_asignacion', fields: ['operativo', 'area'], abr: 'A', refreshParent: true, refreshFromParent: true, label: 'asignables' },
81
+ ];
82
+ tableDef = Object.assign(Object.assign({}, tableDef), { tareasFields: rolesFields });
83
+ return tableDef;
84
+ }
85
+ });
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYXJlYXNfYXNpZ25hY2lvbl9nZW5lcmFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZlci90YWJsZS1hcmVhc19hc2lnbmFjaW9uX2dlbmVyYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOztJQU9iLDREQTRFQztJQS9FRCwrQ0FBc0M7SUFHdEMsU0FBZ0Isd0JBQXdCLENBQUMsT0FBb0I7O1FBQ3pELElBQUksTUFBTSxHQUdKO1lBQ0YsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRTtZQUMzQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFDO1lBQzNDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUU7WUFDM0MsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRTtTQUM5QyxDQUFBO1FBQ0QsSUFBSSxXQUFXLEdBQW9CO1lBQy9CLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFDLEtBQUssRUFBRTtZQUMvRyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQU8sT0FBTyxFQUFFLEVBQUUsRUFBTyxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQVEsa0JBQWtCLEVBQUMsSUFBSSxFQUFFO1NBQ3JILENBQUM7UUFDRixJQUFJLFdBQVcsR0FBcUIsRUFBRSxDQUFDO1FBQ3ZDLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxjQUFjLEdBQWtCLEVBQUUsQ0FBQTtRQUV0QyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMs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Q3BELE9BQU8sUUFBUSxDQUFBO0lBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCB7VGFibGVEZWZpbml0aW9uLCBUYWJsZUNvbnRleHQsIEZpZWxkRGVmaW5pdGlvbiwgT3RoZXJUYWJsZURlZnMsIFJvbEZpZWxkVGFyZWF9IGZyb20gXCIuL3R5cGVzLWRtZW5jdVwiO1xyXG5cclxuaW1wb3J0IHsgYXJlYXMgfSBmcm9tIFwiLi90YWJsZS1hcmVhc1wiO1xyXG5pbXBvcnQgeyBJZFRhcmVhIH0gZnJvbSBcIi4uL3VubG9nZ2VkL3RpcG9zXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYXJlYXNfYXNpZ25hY2lvbl9nZW5lcmFsKGNvbnRleHQ6VGFibGVDb250ZXh0KTpUYWJsZURlZmluaXRpb24ge1xyXG4gICAgdmFyIHRhcmVhczoge1xyXG4gICAgICAgIHRhcmVhOiBJZFRhcmVhXHJcbiAgICAgICAgbXVlc3RyYURpc3Bvc2l0aXZvOiBib29sZWFuXHJcbiAgICB9W10gPSBbXHJcbiAgICAgICAgeyB0YXJlYTogJ2VuY3UnLCBtdWVzdHJhRGlzcG9zaXRpdm86IHRydWUgfSxcclxuICAgICAgICB7IHRhcmVhOiAnaW5ncicsIG11ZXN0cmFEaXNwb3NpdGl2bzogZmFsc2V9LFxyXG4gICAgICAgIHsgdGFyZWE6ICdyZWN1JywgbXVlc3RyYURpc3Bvc2l0aXZvOiB0cnVlIH0sXHJcbiAgICAgICAgeyB0YXJlYTogJ3N1cGUnLCBtdWVzdHJhRGlzcG9zaXRpdm86IHRydWUgfSxcclxuICAgIF1cclxuICAgIHZhciByb2xlc0ZpZWxkczogUm9sRmllbGRUYXJlYVtdID0gW1xyXG4gICAgICAgIHsgbmFtZTogJ3JlY2VwY2lvbmlzdGEnLCBwcmVmaWpvOiAncicsIGVkaXRhYmxlOiB0cnVlLCByZWZlcmVuY2VzOiAncmVjZXBjaW9uaXN0YXMnLCBtdWVzdHJhRGlzcG9zaXRpdm86ZmFsc2UgfSxcclxuICAgICAgICB7IG5hbWU6ICdhc2lnbmFkbycgICAgICwgcHJlZmlqbzogJycgICAgICwgZWRpdGFibGU6IHRydWUsIHJlZmVyZW5jZXM6ICdwZXJzb25hbCcgICAgICAsIG11ZXN0cmFEaXNwb3NpdGl2bzp0cnVlIH0sXHJcbiAgICBdO1xyXG4gICAgdmFyIGV4dHJhRmllbGRzOkZpZWxkRGVmaW5pdGlvbltdID0gW107XHJcbiAgICB2YXIgZXh0cmFGcm9tID0gJyc7XHJcbiAgICB2YXIgZXh0cmFTZWxlY3QgPSAnXFxuJztcclxuICAgIHZhciBvdGhlclRhYmxlRGVmczpPdGhlclRhYmxlRGVmcyA9IHt9XHJcblxyXG4gICAgdGFyZWFzLmZvckVhY2godD0+e1xyXG4gICAgICAgIHJvbGVzRmllbGRzLmZvckVhY2goZj0+e1xyXG4gICAgICAgICAgICBjb25zdCBuYW1lID0gYCR7Zi5wcmVmaWpvfV8ke3QudGFyZWF9YDtcclxuICAgICAgICAgICAgZXh0cmFGaWVsZHMucHVzaCh7IG5hbWUsIHR5cGVOYW1lOiAndGV4dCcsIHRhYmxlOiBgYXJlYXNfJHt0LnRhcmVhfWAsIG5hbWVGb3JVcHNlcnQ6IGYubmFtZSwgZWRpdGFibGU6IGYuZWRpdGFibGUsIHJlZmVyZW5jZXM6IGYucmVmZXJlbmNlcyB9KTtcclxuICAgICAgICAgICAgZXh0cmFTZWxlY3QgKz0gYCwgYXJlYXNfJHt0LnRhcmVhfS4ke2YubmFtZX0gYXMgJHtmLnByZWZpam99XyR7dC50YXJlYX1gO1xyXG5cclxuICAgICAgICAgICAgaWYoZi5uYW1lPT0nYXNpZ25hZG8nKXtcclxuICAgICAgICAgICAgICAgIGV4dHJhRmllbGRzLnB1c2goeyBuYW1lOiBgJHtuYW1lfV91c3VhcmlvYCwgdHlwZU5hbWU6ICd0ZXh0JywgdGFibGU6IGBhcmVhc18ke3QudGFyZWF9YCwgbmFtZUZvclVwc2VydDogZi5uYW1lLCBlZGl0YWJsZTogZmFsc2UsIHRpdGxlOiAndXN1YXJpbycgfSk7ICAgXHJcbiAgICAgICAgICAgICAgICBleHRyYVNlbGVjdCArPSBgLCAoc2VsZWN0IHVzdWFyaW8gYXMgJHtuYW1lfV91c3VhcmlvICAgIGZyb20gdXN1YXJpb3MgdSBqb2luIHRhcmVhc19hcmVhcyB0YSBvbiAodGEuJHtjb250ZXh0LmJlLmRiLnF1b3RlSWRlbnQoZi5uYW1lKX0gPSB1LmlkcGVyIGFuZCB0YS50YXJlYSA9ICR7Y29udGV4dC5iZS5kYi5xdW90ZUxpdGVyYWwodC50YXJlYSl9IGFuZCB0YS5hcmVhID0gYS5hcmVhKSlgOyAgICBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZXh0cmFGaWVsZHMucHVzaCh7IG5hbWU6IGAke25hbWV9X25vbWJyZWAgICAgLCB0eXBlTmFtZTogJ3RleHQnLCB0YWJsZTogYGFyZWFzXyR7dC50YXJlYX1gLCBuYW1lRm9yVXBzZXJ0OiBmLm5hbWUsIGVkaXRhYmxlOiBmYWxzZSwgdGl0bGU6J25vbWJyZScgIH0pO1xyXG4gICAgICAgICAgICBleHRyYUZpZWxkcy5wdXNoKHsgbmFtZTogYCR7bmFtZX1fYXBlbGxpZG9gICAsIHR5cGVOYW1lOiAndGV4dCcsIHRhYmxlOiBgYXJlYXNfJHt0LnRhcmVhfWAsIG5hbWVGb3JVcHNlcnQ6IGYubmFtZSwgZWRpdGFibGU6IGZhbHNlLCB0aXRsZTonYXBlbGxpZG8nfSk7XHJcbiAgICAgICAgICAgIGV4dHJhU2VsZWN0ICs9IGAsIChzZWxlY3Qgbm9tYnJlIGFzICR7bmFtZX1fbm9tYnJlICAgICAgZnJvbSB1c3VhcmlvcyB1IGpvaW4gdGFyZWFzX2FyZWFzIHRhIG9uICh0YS4ke2NvbnRleHQuYmUuZGIucXVvdGVJZGVudChmLm5hbWUpfSA9IHUuaWRwZXIgYW5kIHRhLnRhcmVhID0gJHtjb250ZXh0LmJlLmRiLnF1b3RlTGl0ZXJhbCh0LnRhcmVhKX0gYW5kIHRhLmFyZWEgPSBhLmFyZWEpKWA7XHJcbiAgICAgICAgICAgIGV4dHJhU2VsZWN0ICs9IGAsIChzZWxlY3QgYXBlbGxpZG8gYXMgJHtuYW1lfV9hcGVsbGlkbyAgZnJvbSB1c3VhcmlvcyB1IGpvaW4gdGFyZWFzX2FyZWFzIHRhIG9uICh0YS4ke2NvbnRleHQuYmUuZGIucXVvdGVJZGVudChmLm5hbWUpfSA9IHUuaWRwZXIgYW5kIHRhLnRhcmVhID0gJHtjb250ZXh0LmJlLmRiLnF1b3RlTGl0ZXJhbCh0LnRhcmVhKX0gYW5kIHRhLmFyZWEgPSBhLmFyZWEpKWA7XHJcbiAgICAgICAgICAgIGlmKGYubXVlc3RyYURpc3Bvc2l0aXZvICYmIHQubXVlc3RyYURpc3Bvc2l0aXZvICl7XHJcbiAgICAgICAgICAgICAgICBleHRyYUZpZWxkcy5wdXNoKHsgbmFtZTogYCR7bmFtZX1fZGlzcG9zaXRpdm9gLCB0eXBlTmFtZTogJ3RleHQnLCB0YWJsZTogYGFyZWFzXyR7dC50YXJlYX1gLCBuYW1lRm9yVXBzZXJ0OiBmLm5hbWUsIGVkaXRhYmxlOiBmYWxzZSwgdGl0bGU6J2RtJyB9KTtcclxuICAgICAgICAgICAgICAgIGV4dHJhU2VsZWN0ICs9IGAsIChzZWxlY3QgZGlzcG9zaXRpdm8gYXMgJHtuYW1lfV9kaXNwb3NpdGl2byBmcm9tIHVzdWFyaW9zIHUgam9pbiB0YXJlYXNfYXJlYXMgdGEgb24gKHRhLiR7Y29udGV4dC5iZS5kYi5xdW90ZUlkZW50KGYubmFtZSl9ID0gdS5pZHBlciBhbmQgdGEudGFyZWEgPSAke2NvbnRleHQuYmUuZGIucXVvdGVMaXRlcmFsKHQudGFyZWEpfSBhbmQgdGEuYXJlYSA9IGEuYXJlYSkpYDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgZXh0cmFGcm9tICs9IGAgXHJcbiAgICAgICAgICAgIGxlZnQgam9pbiB0YXJlYXNfYXJlYXMgYXMgYXJlYXNfJHt0LnRhcmVhfSBvbiBhcmVhc18ke3QudGFyZWF9Lm9wZXJhdGl2byA9IGEub3BlcmF0aXZvIGFuZCBhcmVhc18ke3QudGFyZWF9LmFyZWEgPSBhLmFyZWEgYW5kIGFyZWFzXyR7dC50YXJlYX0udGFyZWEgPSAnJHt0LnRhcmVhfSdgOyBcclxuICAgICAgICBvdGhlclRhYmxlRGVmc1tgYXJlYXNfJHt0LnRhcmVhfWBdID0ge1xyXG4gICAgICAgICAgICBuYW1lOiAndGFyZWFzX2FyZWFzJywgXHJcbiAgICAgICAgICAgIHRhYmxlTmFtZTondGFyZWFzX2FyZWFzJywgXHJcbiAgICAgICAgICAgIHByZWZpbGxlZEZpZWxkOnt0YXJlYTp0LnRhcmVhfVxyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICBcclxuICAgIHZhciB0YWJsZURlZiA9IGFyZWFzKGNvbnRleHQpO1xyXG4gICAgdGFibGVEZWYuYWxsb3c9e1xyXG4gICAgICAgIGluc2VydDpmYWxzZSxcclxuICAgICAgICBkZWxldGU6ZmFsc2UsXHJcbiAgICAgICAgaW1wb3J0OmZhbHNlLFxyXG4gICAgfTtcclxuICAgIHRhYmxlRGVmLm5hbWUgPSBgYXJlYXNfYXNpZ25hY2lvbl9nZW5lcmFsYDtcclxuICAgIHRhYmxlRGVmLnRhYmxlTmFtZSA9IGBhcmVhc2A7XHJcbiAgICB0YWJsZURlZi5maWVsZHMuZm9yRWFjaCgoZmllbGQpPT4ge1xyXG4gICAgICAgIGlmKFsncmVjZXBjaW9uaXN0YScsJ3JlbGV2YWRvcicsJ2VuY3Vlc3RhZG9yJywncmVjdXBlcmFkb3InLCdzdXBlcnZpc29yJyxdLmluY2x1ZGVzKGZpZWxkLm5hbWUpKXtcclxuICAgICAgICAgICAgZmllbGQudmlzaWJsZSA9IGZhbHNlXHJcbiAgICAgICAgfVxyXG4gICAgfSlcclxuICAgIHRhYmxlRGVmLmZvcmVpZ25LZXlzPy5mb3JFYWNoKChma0RlZik9PiB7XHJcbiAgICAgICAgaWYoZmtEZWYuYWxpYXMgJiYgWydyZWNlcGNpb25pc3RhJywnZW5jdWVzdGFkb3InXS5pbmNsdWRlcyhma0RlZi5hbGlhcykpe1xyXG4gICAgICAgICAgICBma0RlZi5kaXNwbGF5RmllbGRzPVtdXHJcbiAgICAgICAgfVxyXG4gICAgfSlcclxuICAgIHRhYmxlRGVmLmZpZWxkcy5zcGxpY2UoMiwwLCAuLi5leHRyYUZpZWxkcyk7XHJcbiAgICAvL3RhYmxlRGVmLnJlZnJlc2NhYmxlID0gdHJ1ZTtcclxuICAgIHRhYmxlRGVmLnNxbCEuaXNUYWJsZSA9IGZhbHNlO1xyXG4gICAgdGFibGVEZWYuc3FsIS5mcm9tID0gIGAoc2VsZWN0IGEuKiAke2V4dHJhU2VsZWN0fSBmcm9tICgke3RhYmxlRGVmLnNxbCEuZnJvbX0pIGEgJHtleHRyYUZyb219KWAsXHJcbiAgICB0YWJsZURlZi5zcWwhLm90aGVyVGFibGVEZWZzID0gb3RoZXJUYWJsZURlZnM7XHJcbiAgICB0YWJsZURlZi5kZXRhaWxUYWJsZXMgPSBbXHJcbiAgICAgICAge3RhYmxlOid0ZW1fYXNpZ25hY2lvbicgLCBmaWVsZHM6WydvcGVyYXRpdm8nLCdhcmVhJ10sIGFicjonQScsIHJlZnJlc2hQYXJlbnQ6dHJ1ZSwgcmVmcmVzaEZyb21QYXJlbnQ6dHJ1ZSwgbGFiZWw6J2FzaWduYWJsZXMnfSxcclxuICAgIF07XHJcbiAgICB0YWJsZURlZiA9IHsuLi50YWJsZURlZiwgdGFyZWFzRmllbGRzOiByb2xlc0ZpZWxkc307XHJcbiAgICByZXR1cm4gdGFibGVEZWZcclxufVxyXG5cclxuIl19
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-dmencu";
2
+ export declare function barrios(context: TableContext): TableDefinition;
@@ -0,0 +1,35 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.barrios = barrios;
13
+ function barrios(context) {
14
+ var _a, _b;
15
+ var puedeEditar = context.forDump || ((_b = (_a = context.puede) === null || _a === void 0 ? void 0 : _a.campo) === null || _b === void 0 ? void 0 : _b.administrar);
16
+ return {
17
+ name: 'barrios',
18
+ elementName: 'barrio',
19
+ editable: puedeEditar,
20
+ fields: [
21
+ { name: 'comuna', typeName: 'text' },
22
+ { name: 'barrio', typeName: 'text' },
23
+ { name: 'nombre', typeName: 'text' },
24
+ ],
25
+ primaryKey: ['comuna', 'barrio'],
26
+ foreignKeys: [
27
+ { references: 'comunas', fields: ['comuna'] },
28
+ ],
29
+ detailTables: [
30
+ { table: "fracciones", fields: ["comuna", "barrio"], abr: "f", label: "fracciones" }
31
+ ],
32
+ };
33
+ }
34
+ });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYmFycmlvcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2ZXIvdGFibGUtYmFycmlvcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFBQSxZQUFZLENBQUM7O0lBSWIsMEJBbUJDO0lBbkJELFNBQWdCLE9BQU8sQ0FBQyxPQUFvQjs7UUFDeEMsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sS0FBSSxNQUFBLE1BQUEsT0FBTyxDQUFDLEtBQUssMENBQUUsS0FBSywwQ0FBRSxXQUFXLENBQUEsQ0FBQztRQUN2RSxPQUFPO1lBQ0gsSUFBSSxFQUFDLFNBQVM7WUFDZCxXQUFXLEVBQUMsUUFBUTtZQUNwQixRQUFRLEVBQUMsV0FBVztZQUNwQixNQUFNLEVBQUM7Z0JBQ0gsRUFBQyxJQUFJLEVBQUMsUUFBUSxFQUFvQixRQUFRLEVBQUMsTUFBTSxFQUFDO2dCQUNsRCxFQUFDLElBQUksRUFBQyxRQUFRLEVBQW9CLFFBQVEsRUFBQyxNQUFNLEVBQUM7Z0JBQ2xELEVBQUMsSUFBSSxFQUFDLFFBQVEsRUFBb0IsUUFBUSxFQUFDLE1BQU0sRUFBQzthQUNyRDtZQUNELFVBQVUsRUFBQyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUM7WUFDL0IsV0FBVyxFQUFFO2dCQUNULEVBQUMsVUFBVSxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsQ0FBQyxRQUFRLENBQUMsRUFBQzthQUM1QztZQUNELFlBQVksRUFBRTtnQkFDVixFQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFDLFlBQVksRUFBQzthQUNwRjtTQUNKLENBQUM7SUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7VGFibGVEZWZpbml0aW9uLCBUYWJsZUNvbnRleHR9IGZyb20gXCIuL3R5cGVzLWRtZW5jdVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gYmFycmlvcyhjb250ZXh0OlRhYmxlQ29udGV4dCk6VGFibGVEZWZpbml0aW9uIHtcbiAgICB2YXIgcHVlZGVFZGl0YXIgPSBjb250ZXh0LmZvckR1bXAgfHwgY29udGV4dC5wdWVkZT8uY2FtcG8/LmFkbWluaXN0cmFyO1xuICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6J2JhcnJpb3MnLFxuICAgICAgICBlbGVtZW50TmFtZTonYmFycmlvJyxcbiAgICAgICAgZWRpdGFibGU6cHVlZGVFZGl0YXIsXG4gICAgICAgIGZpZWxkczpbXG4gICAgICAgICAgICB7bmFtZTonY29tdW5hJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnfSxcbiAgICAgICAgICAgIHtuYW1lOidiYXJyaW8nICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCd9LFxuICAgICAgICAgICAge25hbWU6J25vbWJyZScgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0J30sXG4gICAgICAgIF0sXG4gICAgICAgIHByaW1hcnlLZXk6Wydjb211bmEnLCAnYmFycmlvJ10sXG4gICAgICAgIGZvcmVpZ25LZXlzOiBbXG4gICAgICAgICAgICB7cmVmZXJlbmNlczonY29tdW5hcycsIGZpZWxkczpbJ2NvbXVuYSddfSxcbiAgICAgICAgXSxcbiAgICAgICAgZGV0YWlsVGFibGVzOiBbXG4gICAgICAgICAgICB7dGFibGU6IFwiZnJhY2Npb25lc1wiLCBmaWVsZHM6IFtcImNvbXVuYVwiLCBcImJhcnJpb1wiXSwgYWJyOiBcImZcIiwgbGFiZWw6XCJmcmFjY2lvbmVzXCJ9XG4gICAgICAgIF0sXG4gICAgfTtcbn0iXX0=
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-dmencu";
2
+ export declare function comunas(context: TableContext): TableDefinition;
@@ -0,0 +1,33 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.comunas = comunas;
13
+ function comunas(context) {
14
+ var _a, _b;
15
+ var puedeEditar = context.forDump || ((_b = (_a = context.puede) === null || _a === void 0 ? void 0 : _a.campo) === null || _b === void 0 ? void 0 : _b.administrar) || context.user.rol === 'recepcionista';
16
+ return {
17
+ name: 'comunas',
18
+ elementName: 'comuna',
19
+ editable: puedeEditar,
20
+ fields: [
21
+ { name: 'comuna', typeName: 'text' },
22
+ { name: 'nombre', typeName: 'text', isName: true },
23
+ { name: 'zona', typeName: 'text' },
24
+ ],
25
+ primaryKey: ['comuna'],
26
+ detailTables: [
27
+ { table: "barrios", fields: ["comuna"], abr: "b", label: "barrios" },
28
+ { table: "fracciones", fields: ["comuna"], abr: "f", label: "fracciones" }
29
+ ],
30
+ };
31
+ }
32
+ });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29tdW5hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2ZXIvdGFibGUtY29tdW5hcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFBQSxZQUFZLENBQUM7O0lBSWIsMEJBaUJDO0lBakJELFNBQWdCLE9BQU8sQ0FBQyxPQUFvQjs7UUFDeEMsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sS0FBSSxNQUFBLE1BQUEsT0FBTyxDQUFDLEtBQUssMENBQUUsS0FBSywwQ0FBRSxXQUFXLENBQUEsSUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBRyxlQUFlLENBQUM7UUFDM0csT0FBTztZQUNILElBQUksRUFBQyxTQUFTO1lBQ2QsV0FBVyxFQUFDLFFBQVE7WUFDcEIsUUFBUSxFQUFDLFdBQVc7WUFDcEIsTUFBTSxFQUFDO2dCQUNILEVBQUMsSUFBSSxFQUFDLFFBQVEsRUFBb0IsUUFBUSxFQUFDLE1BQU0sRUFBQztnQkFDbEQsRUFBQyxJQUFJLEVBQUMsUUFBUSxFQUFvQixRQUFRLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQyxJQUFJLEVBQUM7Z0JBQy9ELEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBc0IsUUFBUSxFQUFDLE1BQU0sRUFBQzthQUNyRDtZQUNELFVBQVUsRUFBQyxDQUFDLFFBQVEsQ0FBQztZQUNyQixZQUFZLEVBQUU7Z0JBQ1YsRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFDLFNBQVMsRUFBQztnQkFDakUsRUFBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFDLFlBQVksRUFBQzthQUMxRTtTQUNKLENBQUM7SUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQge1RhYmxlRGVmaW5pdGlvbiwgVGFibGVDb250ZXh0fSBmcm9tIFwiLi90eXBlcy1kbWVuY3VcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb211bmFzKGNvbnRleHQ6VGFibGVDb250ZXh0KTpUYWJsZURlZmluaXRpb24ge1xyXG4gICAgdmFyIHB1ZWRlRWRpdGFyID0gY29udGV4dC5mb3JEdW1wIHx8IGNvbnRleHQucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhcnx8Y29udGV4dC51c2VyLnJvbD09PSdyZWNlcGNpb25pc3RhJztcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgbmFtZTonY29tdW5hcycsXHJcbiAgICAgICAgZWxlbWVudE5hbWU6J2NvbXVuYScsXHJcbiAgICAgICAgZWRpdGFibGU6cHVlZGVFZGl0YXIsXHJcbiAgICAgICAgZmllbGRzOltcclxuICAgICAgICAgICAge25hbWU6J2NvbXVuYScgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0J30sXHJcbiAgICAgICAgICAgIHtuYW1lOidub21icmUnICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcsIGlzTmFtZTp0cnVlfSxcclxuICAgICAgICAgICAge25hbWU6J3pvbmEnICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0J30sXHJcbiAgICAgICAgXSxcclxuICAgICAgICBwcmltYXJ5S2V5OlsnY29tdW5hJ10sXHJcbiAgICAgICAgZGV0YWlsVGFibGVzOiBbXHJcbiAgICAgICAgICAgIHt0YWJsZTogXCJiYXJyaW9zXCIsIGZpZWxkczogW1wiY29tdW5hXCJdLCBhYnI6IFwiYlwiLCBsYWJlbDpcImJhcnJpb3NcIn0sXHJcbiAgICAgICAgICAgIHt0YWJsZTogXCJmcmFjY2lvbmVzXCIsIGZpZWxkczogW1wiY29tdW5hXCJdLCBhYnI6IFwiZlwiLCBsYWJlbDpcImZyYWNjaW9uZXNcIn1cclxuICAgICAgICBdLFxyXG4gICAgfTtcclxufVxyXG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { TableDefinition, TableContext, FieldDefinition } from "./types-dmencu";
2
+ export type controlCamposOpts = {
3
+ nombre: string;
4
+ agrupador?: string;
5
+ agrupado?: boolean;
6
+ camposCorte?: FieldDefinition[];
7
+ filtroWhere?: string;
8
+ title?: string;
9
+ gabinete?: boolean;
10
+ sinhogfin?: boolean;
11
+ };
12
+ export declare function control_campo(context: TableContext, opts?: controlCamposOpts): TableDefinition;
@@ -0,0 +1,119 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ (function (factory) {
13
+ if (typeof module === "object" && typeof module.exports === "object") {
14
+ var v = factory(require, exports);
15
+ if (v !== undefined) module.exports = v;
16
+ }
17
+ else if (typeof define === "function" && define.amd) {
18
+ define(["require", "exports"], factory);
19
+ }
20
+ })(function (require, exports) {
21
+ "use strict";
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.control_campo = control_campo;
24
+ function control_campo(context, opts) {
25
+ var _a, _b, _c;
26
+ opts = opts || { nombre: 'control_campo' };
27
+ opts.agrupador = opts.agrupador || 'no_rea_groups';
28
+ opts.agrupado = (_a = opts.agrupado) !== null && _a !== void 0 ? _a : false;
29
+ var be = context.be;
30
+ var db = be.db;
31
+ var puedeEditar = context.forDump || ((_c = (_b = context.puede) === null || _b === void 0 ? void 0 : _b.campo) === null || _c === void 0 ? void 0 : _c.administrar) || context.user.rol === 'recepcionista';
32
+ var camposCorte = [{ name: 'cluster', typeName: 'integer' }, ...(opts.camposCorte || [])];
33
+ var tieneSeleccionado = context.be.caches.tableContent.conReaHogar.config_sorteo;
34
+ var camposCalculados = [
35
+ { name: 'no_salieron', typeName: 'bigint', aggregate: 'sum', title: 'no salieron a campo', condicion: `resumen_estado is null` },
36
+ { name: 'salieron', typeName: 'bigint', aggregate: 'sum', title: 'salieron a campo' },
37
+ { name: 'sin_novedad', typeName: 'bigint', aggregate: 'sum', visible: opts.agrupado },
38
+ { name: 'sin_resultado', typeName: 'bigint', aggregate: 'sum', visible: !opts.agrupado, condicion: `resumen_estado in ('vacio')` },
39
+ // {name:'cita_pactada' , typeName:'bigint', aggregate:'sum', visible:!opts.agrupado, condicion:`resumen_estado in ('cita pactada')`},
40
+ { name: 'rea', typeName: 'bigint', aggregate: 'sum', condicion: `resultado='efectiva'` },
41
+ { name: 'pendiente', typeName: 'bigint', aggregate: 'sum', condicion: `resultado='pendiente'` },
42
+ { name: 'mixta', typeName: 'bigint', aggregate: 'sum', condicion: `resultado='mixta'` },
43
+ /*
44
+ {name:'asuente_viv' , typeName:'bigint', title:'ausente de vivienda', condicion:`cod_no_rea=7`},
45
+ {name:'asuente_mie' , typeName:'bigint', title:'ausente de miembro seleccionado', condicion:`cod_no_rea=75`},
46
+ */
47
+ ...(be.caches.tableContent[opts.agrupador] || []).map((g) => ({
48
+ name: g.grupo.replace(/ /g, '_'),
49
+ typeName: 'bigint',
50
+ inTable: false,
51
+ title: g.grupo,
52
+ condicion: `cod_no_rea in (${g.codigos.map(c => db.quoteLiteral(c.no_rea)).join(',')})`,
53
+ aggregate: 'sum',
54
+ tasa_efectividad: !g.codigos[0].grupo0.startsWith('no encuestable')
55
+ }))
56
+ ];
57
+ return {
58
+ name: opts.nombre,
59
+ editable: false,
60
+ title: opts.title || opts.nombre.replace(/_/g, ' '),
61
+ fields: [
62
+ ...camposCorte,
63
+ { name: 'total', typeName: 'bigint', aggregate: 'sum' },
64
+ ...camposCalculados.map(f => { var { condicion } = f, fieldDef = __rest(f, ["condicion"]); return fieldDef; }),
65
+ { name: 'otros', typeName: 'bigint', aggregate: 'sum' },
66
+ { name: 'tasa_efectividad', typeName: 'decimal' },
67
+ { name: 'incompleto', typeName: 'bigint', aggregate: 'sum', visible: !opts.agrupado },
68
+ { name: 'verif_encu_pendiente', typeName: 'bigint', aggregate: 'sum', visible: !opts.agrupado },
69
+ { name: 'en_curso', typeName: 'bigint', aggregate: 'sum', visible: !!opts.gabinete, title: 'En_curso' },
70
+ { name: 'otras_causas_gabinete', typeName: 'bigint', aggregate: 'sum', visible: !!opts.gabinete, title: 'Otras_causas' },
71
+ ],
72
+ primaryKey: camposCorte.map(f => f.name),
73
+ sql: {
74
+ isTable: false,
75
+ from: `
76
+ (
77
+ select t.*, coalesce(incompleto,0)+coalesce(sin_resultado,0) as sin_novedad,
78
+ --TODO REVISAR
79
+ round(rea*100.0/nullif( ${(['rea', ...(camposCalculados.filter(f => f.tasa_efectividad).map(f => f.name))].join('+'))},0),1) as tasa_efectividad,
80
+ total-coalesce(no_salieron,0) as salieron,
81
+ coalesce(otros,0) + ${opts.gabinete ? ` coalesce(otras_causas,0) ` : opts.sinhogfin ? ` coalesce(otras_causas_seleccionado,0)+coalesce(otras_causas_vivienda,0)` : !tieneSeleccionado ? ` coalesce(otras_causas_hogar,0) +coalesce(otras_causas_vivienda,0)` : ` coalesce(otras_causas_hogar,0) +coalesce(otras_causas_vivienda,0)+ coalesce(otras_causas_seleccionado,0)`} as otras_causas_gabinete,
82
+ coalesce(pendiente,0)+coalesce(mixta,0) +coalesce(sin_resultado,0) +coalesce(incompleto,0) +${opts.gabinete && tieneSeleccionado && !opts.sinhogfin ? ` coalesce(no_finalizada,0) ` : !opts.gabinete && !opts.sinhogfin && tieneSeleccionado ? `coalesce(sin_finalizar_dm,0)+ coalesce(sin_finalizar_incompleto,0) + coalesce(sin_finalizar_otra_causa,0)` : `0`} as en_curso
83
+ /* coalesce(otros,0)+${opts.gabinete ? `coalesce(otras_causas,0) ` : `coalesce(otras_causas_hogar,0) + coalesce(otras_causas_seleccionado,0) + coalesce(otras_causas_vivienda,0)`} as otras_causas_gabinete, */
84
+ /* coalesce(pendiente,0)+coalesce(mixta,0)+ coalesce(incompleto,0)+coalesce(sin_resultado,0)+${opts.gabinete ? `coalesce(no_finalizada,0)` : `coalesce(sin_finalizar_dm,0)+coalesce(sin_finalizar_incompleto,0)+ coalesce(sin_finalizar_otra_causa,0)`} as en_curso */
85
+
86
+ from (
87
+ select ${[
88
+ ...camposCorte.map(f => f.name),
89
+ `count(*) as total`,
90
+ ...camposCalculados.filter(f => f.condicion).map(f => `
91
+ count(*) filter (where klase=${db.quoteLiteral(f.name)}) as ${f.name}`),
92
+ 'count(*) filter (where klase is null) as otros'
93
+ ].join(',')}
94
+ , count(*) filter (where resumen_estado in ('incompleto','con problemas')) as incompleto
95
+ , count(*) filter (where resumen_estado in ('no rea','ok') and verificado is null) as verif_encu_pendiente
96
+ from (
97
+ select t.*,a.participacion_a, a.clase_a,
98
+ case ${camposCalculados.filter(f => f.condicion).map(f => `when ${f.condicion} then ${db.quoteLiteral(f.name)}
99
+ `).join('')} else null end as klase
100
+ from (
101
+ select t.*, tt.verificado, t.norea as cod_no_rea
102
+ from tem t left join comunas c on t.nrocomuna=c.comuna
103
+ left join tareas_tem tt on t.operativo=tt.operativo and t.enc=tt.enc and tt.tarea='encu'
104
+
105
+ where ${opts.filtroWhere || 'true'}
106
+ ) t left join (select area, string_agg(distinct participacion::text, ', ' order by participacion::text desc ) as participacion_a
107
+ , string_agg(distinct clase, ', ' order by clase desc ) as clase_a
108
+ from tem
109
+ group by 1
110
+ ) a using (area )
111
+ ) t
112
+ ${camposCorte.length ? `group by ${camposCorte.map(f => f.name)}` : ''}
113
+ ) t
114
+ )`
115
+ }
116
+ };
117
+ }
118
+ });
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29udHJvbF9jYW1wby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2ZXIvdGFibGUtY29udHJvbF9jYW1wby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUFBLFlBQVksQ0FBQzs7SUFvQmIsc0NBa0dDO0lBbEdELFNBQWdCLGFBQWEsQ0FBQyxPQUFvQixFQUFDLElBQXVCOztRQUN0RSxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUMsTUFBTSxFQUFDLGVBQWUsRUFBQyxDQUFBO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxlQUFlLENBQUE7UUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFBLElBQUksQ0FBQyxRQUFRLG1DQUFJLEtBQUssQ0FBQTtRQUN0QyxJQUFJLEVBQUUsR0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDYixJQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxLQUFJLE1BQUEsTUFBQSxPQUFPLENBQUMsS0FBSywwQ0FBRSxLQUFLLDBDQUFFLFdBQVcsQ0FBQSxJQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFHLGVBQWUsQ0FBQztRQUMzRyxJQUFJLFdBQVcsR0FBbUIsQ0FBQyxFQUFDLElBQUksRUFBQyxTQUFTLEVBQVMsUUFBUSxFQUFDLFNBQVMsRUFBQyxFQUFDLEdBQUcsQ0FDOUUsSUFBSSxDQUFDLFdBQVcsSUFBRyxFQUFFLENBQ3hCLENBQUMsQ0FBQztRQUNILElBQUksaUJBQWlCLEdBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDL0UsSUFBSSxnQkFBZ0IsR0FBa0I7WUFDbEMsRUFBQyxJQUFJLEVBQUMsYUFBYSxFQUFJLFFBQVEsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMscUJBQXFCLEVBQUUsU0FBUyxFQUFDLHdCQUF3QixFQUFDO1lBQzNILEVBQUMsSUFBSSxFQUFDLFVBQVUsRUFBTyxRQUFRLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFDLGtCQUFrQixFQUFDO1lBQ3BGLEVBQUMsSUFBSSxFQUFDLGFBQWEsRUFBSSxRQUFRLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFDLElBQUksQ0FBQyxRQUFRLEVBQUM7WUFDakYsRUFBQyxJQUFJLEVBQUMsZUFBZSxFQUFFLFFBQVEsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBQyw2QkFBNkIsRUFBQztZQUM1SCxzSUFBc0k7WUFDckksRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFZLFFBQVEsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUMsc0JBQXNCLEVBQUM7WUFDNUYsRUFBQyxJQUFJLEVBQUMsV0FBVyxFQUFNLFFBQVEsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUMsdUJBQXVCLEVBQUM7WUFDN0YsRUFBQyxJQUFJLEVBQUMsT0FBTyxFQUFVLFFBQVEsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUMsbUJBQW1CLEVBQUM7WUFDekY7OztjQUdFO1lBQ0YsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFZLEVBQWdCLEVBQUUsQ0FBQSxDQUFDO2dCQUNoRixJQUFJLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLEdBQUcsQ0FBQztnQkFDOUIsUUFBUSxFQUFDLFFBQVE7Z0JBQ2pCLE9BQU8sRUFBQyxLQUFLO2dCQUNiLEtBQUssRUFBQyxDQUFDLENBQUMsS0FBSztnQkFDYixTQUFTLEVBQUMsa0JBQWtCLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQUEsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUc7Z0JBQ3BGLFNBQVMsRUFBQyxLQUFLO2dCQUNmLGdCQUFnQixFQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDO2FBQ3JFLENBQUMsQ0FBQztTQUNOLENBQUM7UUFDRixPQUFPO1lBQ0gsSUFBSSxFQUFDLElBQUksQ0FBQyxNQUFNO1lBQ2hCLFFBQVEsRUFBQyxLQUFLO1lBQ2QsS0FBSyxFQUFDLElBQUksQ0FBQyxLQUFLLElBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLEdBQUcsQ0FBQztZQUMvQyxNQUFNLEVBQUM7Z0JBQ0gsR0FBRyxXQUFXO2dCQUNkLEVBQUMsSUFBSSxFQUFDLE9BQU8sRUFBVSxRQUFRLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQUM7Z0JBQzFELEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQSxFQUFFLEdBQUMsSUFBSSxFQUFDLFNBQVMsS0FBZSxDQUFDLEVBQVgsUUFBUSxVQUFFLENBQUMsRUFBMUIsYUFBd0IsQ0FBRSxDQUFDLENBQUMsT0FBTyxRQUFRLENBQUEsQ0FBQSxDQUFDLENBQUM7Z0JBQzdFLEVBQUMsSUFBSSxFQUFDLE9BQU8sRUFBc0IsUUFBUSxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsS0FBSyxFQUFDO2dCQUN0RSxFQUFDLElBQUksRUFBQyxrQkFBa0IsRUFBVyxRQUFRLEVBQUMsU0FBUyxFQUFDO2dCQUN0RCxFQUFDLElBQUksRUFBQyxZQUFZLEVBQWlCLFFBQVEsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFDO2dCQUM5RixFQUFDLElBQUksRUFBQyxzQkFBc0IsRUFBTyxRQUFRLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBQztnQkFDOUYsRUFBQyxJQUFJLEVBQUMsVUFBVSxFQUFtQixRQUFRLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBQyxVQUFVLEVBQU07Z0JBQ3RILEVBQUMsSUFBSSxFQUFDLHVCQUF1QixFQUFNLFFBQVEsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBQzthQUN6SDtZQUNELFVBQVUsRUFBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNyQyxHQUFHLEVBQUM7Z0JBQ0EsT0FBTyxFQUFDLEtBQUs7Z0JBQ2IsSUFBSSxFQUFDOzs7O2tEQUlpQyxDQUN0QixDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQUEsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQ3hGOzs4Q0FFcUIsSUFBSSxDQUFDLFFBQVEsQ0FBQSxDQUFDLENBQUEsNEJBQTRCLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxTQUFTLENBQUEsQ0FBQyxDQUFBLDBFQUEwRSxDQUFBLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFBLENBQUMsQ0FBQSxvRUFBb0UsQ0FBQSxDQUFDLENBQUEsMkdBQTJHO3NIQUNoUSxJQUFJLENBQUMsUUFBUSxJQUFJLGlCQUFpQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsNkJBQTZCLENBQUEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksaUJBQWlCLENBQUEsQ0FBQyxDQUFDLDJHQUEyRyxDQUFDLENBQUMsQ0FBQSxHQUFHOzhDQUN4VSxJQUFJLENBQUMsUUFBUSxDQUFBLENBQUMsQ0FBQSwyQkFBMkIsQ0FBQSxDQUFDLENBQUEsNEdBQTRHO3NIQUM5RSxJQUFJLENBQUMsUUFBUSxDQUFBLENBQUMsQ0FBQSwyQkFBMkIsQ0FBQSxDQUFDLENBQUEseUdBQXlHOzs7aUNBR3hPO29CQUNMLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUEsRUFBRSxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUM7b0JBQzdCLG1CQUFtQjtvQkFDbkIsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQUE7MkRBQ25CLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDdkUsZ0RBQWdEO2lCQUNuRCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Ozs7O3VDQUtJLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUEsRUFBRSxDQUFBLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FDbEQsUUFBUSxDQUFDLENBQUMsU0FBUyxTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztxQ0FDbEQsQ0FDQSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Ozs7Ozs0Q0FNRixJQUFJLENBQUMsV0FBVyxJQUFJLE1BQU07Ozs7Ozs7MEJBTzVDLFdBQVcsQ0FBQyxNQUFNLENBQUEsQ0FBQyxDQUFBLFlBQVksV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUEsRUFBRSxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQSxFQUFFOztjQUUxRTthQUNMO1NBQ0osQ0FBQztJQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCB7IHN0cmluZ2lmeSB9IGZyb20gXCJxdWVyeXN0cmluZ1wiO1xyXG5pbXBvcnQge1RhYmxlRGVmaW5pdGlvbiwgVGFibGVDb250ZXh0LCBGaWVsZERlZmluaXRpb24sIEdydXBvTm9SZWF9IGZyb20gXCIuL3R5cGVzLWRtZW5jdVwiO1xyXG5cclxuLy8gbG9zIGNhbXBvcyBjb24gY29uZGljaW9uIHNlIGN1ZW50YW4gZW4gZWwgc3FsICh2ZXIga2xhc2UpOyB0YXNhX2VmZWN0aXZpZGFkIGluZGljYSBzaSBzdW1hbiBhbCBkZW5vbWluYWRvciBkZSBsYSB0YXNhXHJcbnR5cGUgQ2FtcG9DYWxjdWxhZG8gPSBGaWVsZERlZmluaXRpb24gJiB7Y29uZGljaW9uPzpzdHJpbmcsIHRhc2FfZWZlY3RpdmlkYWQ/OmJvb2xlYW59O1xyXG5cclxuZXhwb3J0IHR5cGUgY29udHJvbENhbXBvc09wdHM9e1xyXG4gICAgbm9tYnJlOnN0cmluZywgXHJcbiAgICBhZ3J1cGFkb3I/OnN0cmluZyxcclxuICAgIGFncnVwYWRvPzpib29sZWFuLFxyXG4gICAgY2FtcG9zQ29ydGU/OkZpZWxkRGVmaW5pdGlvbltdLFxyXG4gICAgZmlsdHJvV2hlcmU/OnN0cmluZ1xyXG4gICAgdGl0bGU/OnN0cmluZ1xyXG4gICAgZ2FiaW5ldGU/OmJvb2xlYW5cclxuICAgIHNpbmhvZ2Zpbj86Ym9vbGVhblxyXG59XHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyb2xfY2FtcG8oY29udGV4dDpUYWJsZUNvbnRleHQsb3B0cz86Y29udHJvbENhbXBvc09wdHMpOlRhYmxlRGVmaW5pdGlvbiB7XHJcbiAgICBvcHRzID0gb3B0cyB8fCB7bm9tYnJlOidjb250cm9sX2NhbXBvJ31cclxuICAgIG9wdHMuYWdydXBhZG9yID0gb3B0cy5hZ3J1cGFkb3IgfHwgJ25vX3JlYV9ncm91cHMnXHJcbiAgICBvcHRzLmFncnVwYWRvID0gb3B0cy5hZ3J1cGFkbyA/PyBmYWxzZVxyXG4gICAgdmFyIGJlPWNvbnRleHQuYmU7XHJcbiAgICB2YXIgZGI9YmUuZGI7XHJcbiAgICB2YXIgcHVlZGVFZGl0YXIgPSBjb250ZXh0LmZvckR1bXAgfHwgY29udGV4dC5wdWVkZT8uY2FtcG8/LmFkbWluaXN0cmFyfHxjb250ZXh0LnVzZXIucm9sPT09J3JlY2VwY2lvbmlzdGEnO1xyXG4gICAgdmFyIGNhbXBvc0NvcnRlOkZpZWxkRGVmaW5pdGlvbltdPVt7bmFtZTonY2x1c3RlcicgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcid9LC4uLihcclxuICAgICAgICBvcHRzLmNhbXBvc0NvcnRlIHx8W11cclxuICAgICldO1xyXG4gICAgdmFyIHRpZW5lU2VsZWNjaW9uYWRvPWNvbnRleHQuYmUuY2FjaGVzLnRhYmxlQ29udGVudC5jb25SZWFIb2dhci5jb25maWdfc29ydGVvO1xyXG4gICAgdmFyIGNhbXBvc0NhbGN1bGFkb3M6Q2FtcG9DYWxjdWxhZG9bXT1bXHJcbiAgICAgICAge25hbWU6J25vX3NhbGllcm9uJyAgLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nLCB0aXRsZTonbm8gc2FsaWVyb24gYSBjYW1wbycsIGNvbmRpY2lvbjpgcmVzdW1lbl9lc3RhZG8gaXMgbnVsbGB9LFxyXG4gICAgICAgIHtuYW1lOidzYWxpZXJvbicgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcsIGFnZ3JlZ2F0ZTonc3VtJywgdGl0bGU6J3NhbGllcm9uIGEgY2FtcG8nfSxcclxuICAgICAgICB7bmFtZTonc2luX25vdmVkYWQnICAsIHR5cGVOYW1lOidiaWdpbnQnLCBhZ2dyZWdhdGU6J3N1bScsIHZpc2libGU6b3B0cy5hZ3J1cGFkb30sXHJcbiAgICAgICAge25hbWU6J3Npbl9yZXN1bHRhZG8nLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nLCB2aXNpYmxlOiFvcHRzLmFncnVwYWRvLCBjb25kaWNpb246YHJlc3VtZW5fZXN0YWRvIGluICgndmFjaW8nKWB9LFxyXG4gICAgICAgLy8ge25hbWU6J2NpdGFfcGFjdGFkYScgLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nLCB2aXNpYmxlOiFvcHRzLmFncnVwYWRvLCBjb25kaWNpb246YHJlc3VtZW5fZXN0YWRvIGluICgnY2l0YSBwYWN0YWRhJylgfSxcclxuICAgICAgICB7bmFtZToncmVhJyAgICAgICAgICAsIHR5cGVOYW1lOidiaWdpbnQnLCBhZ2dyZWdhdGU6J3N1bScsIGNvbmRpY2lvbjpgcmVzdWx0YWRvPSdlZmVjdGl2YSdgfSxcclxuICAgICAgICB7bmFtZToncGVuZGllbnRlJyAgICAsIHR5cGVOYW1lOidiaWdpbnQnLCBhZ2dyZWdhdGU6J3N1bScsIGNvbmRpY2lvbjpgcmVzdWx0YWRvPSdwZW5kaWVudGUnYH0sXHJcbiAgICAgICAge25hbWU6J21peHRhJyAgICAgICAgLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nLCBjb25kaWNpb246YHJlc3VsdGFkbz0nbWl4dGEnYH0sXHJcbiAgICAgICAgLypcclxuICAgICAgICB7bmFtZTonYXN1ZW50ZV92aXYnICAsIHR5cGVOYW1lOidiaWdpbnQnLCB0aXRsZTonYXVzZW50ZSBkZSB2aXZpZW5kYScsIGNvbmRpY2lvbjpgY29kX25vX3JlYT03YH0sXHJcbiAgICAgICAge25hbWU6J2FzdWVudGVfbWllJyAgLCB0eXBlTmFtZTonYmlnaW50JywgdGl0bGU6J2F1c2VudGUgZGUgbWllbWJybyBzZWxlY2Npb25hZG8nLCBjb25kaWNpb246YGNvZF9ub19yZWE9NzVgfSxcclxuICAgICAgICAqL1xyXG4gICAgICAgIC4uLihiZS5jYWNoZXMudGFibGVDb250ZW50W29wdHMuYWdydXBhZG9yXXx8W10pLm1hcCgoZzpHcnVwb05vUmVhKTpDYW1wb0NhbGN1bGFkbz0+KHtcclxuICAgICAgICAgICAgbmFtZTpnLmdydXBvLnJlcGxhY2UoLyAvZywnXycpLFxyXG4gICAgICAgICAgICB0eXBlTmFtZTonYmlnaW50JyxcclxuICAgICAgICAgICAgaW5UYWJsZTpmYWxzZSxcclxuICAgICAgICAgICAgdGl0bGU6Zy5ncnVwbyxcclxuICAgICAgICAgICAgY29uZGljaW9uOmBjb2Rfbm9fcmVhIGluICgke2cuY29kaWdvcy5tYXAoYz0+ZGIucXVvdGVMaXRlcmFsKGMubm9fcmVhKSkuam9pbignLCcpfSlgLFxyXG4gICAgICAgICAgICBhZ2dyZWdhdGU6J3N1bScsXHJcbiAgICAgICAgICAgIHRhc2FfZWZlY3RpdmlkYWQ6IWcuY29kaWdvc1swXS5ncnVwbzAuc3RhcnRzV2l0aCgnbm8gZW5jdWVzdGFibGUnKVxyXG4gICAgICAgIH0pKVxyXG4gICAgXTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgbmFtZTpvcHRzLm5vbWJyZSxcclxuICAgICAgICBlZGl0YWJsZTpmYWxzZSxcclxuICAgICAgICB0aXRsZTpvcHRzLnRpdGxlfHxvcHRzLm5vbWJyZS5yZXBsYWNlKC9fL2csJyAnKSxcclxuICAgICAgICBmaWVsZHM6W1xyXG4gICAgICAgICAgICAuLi5jYW1wb3NDb3J0ZSxcclxuICAgICAgICAgICAge25hbWU6J3RvdGFsJyAgICAgICAgLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nfSxcclxuICAgICAgICAgICAgLi4uY2FtcG9zQ2FsY3VsYWRvcy5tYXAoZj0+e3ZhciB7Y29uZGljaW9uLCAuLi5maWVsZERlZn09ZjsgcmV0dXJuIGZpZWxkRGVmfSksXHJcbiAgICAgICAgICAgIHtuYW1lOidvdHJvcycgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcsIGFnZ3JlZ2F0ZTonc3VtJ30sXHJcbiAgICAgICAgICAgIHtuYW1lOid0YXNhX2VmZWN0aXZpZGFkJyAgICAgICAgICwgdHlwZU5hbWU6J2RlY2ltYWwnfSxcclxuICAgICAgICAgICAge25hbWU6J2luY29tcGxldG8nICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nLCB2aXNpYmxlOiFvcHRzLmFncnVwYWRvfSxcclxuICAgICAgICAgICAge25hbWU6J3ZlcmlmX2VuY3VfcGVuZGllbnRlJyAgICAgLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nLCB2aXNpYmxlOiFvcHRzLmFncnVwYWRvfSxcclxuICAgICAgICAgICAge25hbWU6J2VuX2N1cnNvJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nLCB2aXNpYmxlOiEhb3B0cy5nYWJpbmV0ZSwgdGl0bGU6J0VuX2N1cnNvJyAgICAgfSxcclxuICAgICAgICAgICAge25hbWU6J290cmFzX2NhdXNhc19nYWJpbmV0ZScgICAgLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nLCB2aXNpYmxlOiEhb3B0cy5nYWJpbmV0ZSwgdGl0bGU6ICdPdHJhc19jYXVzYXMnfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIHByaW1hcnlLZXk6Y2FtcG9zQ29ydGUubWFwKGY9PmYubmFtZSksXHJcbiAgICAgICAgc3FsOntcclxuICAgICAgICAgICAgaXNUYWJsZTpmYWxzZSxcclxuICAgICAgICAgICAgZnJvbTpgIFxyXG4gICAgICAgICAgICAoIFxyXG4gICAgICAgICAgICAgICAgc2VsZWN0IHQuKiwgY29hbGVzY2UoaW5jb21wbGV0bywwKStjb2FsZXNjZShzaW5fcmVzdWx0YWRvLDApIGFzIHNpbl9ub3ZlZGFkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAtLVRPRE8gUkVWSVNBUlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByb3VuZChyZWEqMTAwLjAvbnVsbGlmKCAkeyhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsncmVhJywgLi4uKGNhbXBvc0NhbGN1bGFkb3MuZmlsdGVyKGY9PmYudGFzYV9lZmVjdGl2aWRhZCkubWFwKGY9PmYubmFtZSkpXS5qb2luKCcrJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgKX0sMCksMSkgYXMgdGFzYV9lZmVjdGl2aWRhZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG90YWwtY29hbGVzY2Uobm9fc2FsaWVyb24sMCkgYXMgc2FsaWVyb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvYWxlc2NlKG90cm9zLDApICsgJHtvcHRzLmdhYmluZXRlP2AgY29hbGVzY2Uob3RyYXNfY2F1c2FzLDApIGA6b3B0cy5zaW5ob2dmaW4/YCBjb2FsZXNjZShvdHJhc19jYXVzYXNfc2VsZWNjaW9uYWRvLDApK2NvYWxlc2NlKG90cmFzX2NhdXNhc192aXZpZW5kYSwwKWA6ICF0aWVuZVNlbGVjY2lvbmFkbz9gIGNvYWxlc2NlKG90cmFzX2NhdXNhc19ob2dhciwwKSArY29hbGVzY2Uob3RyYXNfY2F1c2FzX3ZpdmllbmRhLDApYDpgIGNvYWxlc2NlKG90cmFzX2NhdXNhc19ob2dhciwwKSArY29hbGVzY2Uob3RyYXNfY2F1c2FzX3ZpdmllbmRhLDApKyBjb2FsZXNjZShvdHJhc19jYXVzYXNfc2VsZWNjaW9uYWRvLDApYH0gIGFzIG90cmFzX2NhdXNhc19nYWJpbmV0ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29hbGVzY2UocGVuZGllbnRlLDApK2NvYWxlc2NlKG1peHRhLDApICtjb2FsZXNjZShzaW5fcmVzdWx0YWRvLDApICtjb2FsZXNjZShpbmNvbXBsZXRvLDApICskeyBvcHRzLmdhYmluZXRlICYmIHRpZW5lU2VsZWNjaW9uYWRvICYmICFvcHRzLnNpbmhvZ2ZpbiA/IGAgY29hbGVzY2Uobm9fZmluYWxpemFkYSwwKSBgOiAhb3B0cy5nYWJpbmV0ZSAmJiAhb3B0cy5zaW5ob2dmaW4gJiYgdGllbmVTZWxlY2Npb25hZG8/IGBjb2FsZXNjZShzaW5fZmluYWxpemFyX2RtLDApKyBjb2FsZXNjZShzaW5fZmluYWxpemFyX2luY29tcGxldG8sMCkgKyBjb2FsZXNjZShzaW5fZmluYWxpemFyX290cmFfY2F1c2EsMClgIDpgMGB9IGFzIGVuX2N1cnNvXHJcbiAgICAgICAgICAgICAgICAgICAgIC8qICAgY29hbGVzY2Uob3Ryb3MsMCkrJHtvcHRzLmdhYmluZXRlP2Bjb2FsZXNjZShvdHJhc19jYXVzYXMsMCkgYDpgY29hbGVzY2Uob3RyYXNfY2F1c2FzX2hvZ2FyLDApICsgY29hbGVzY2Uob3RyYXNfY2F1c2FzX3NlbGVjY2lvbmFkbywwKSArIGNvYWxlc2NlKG90cmFzX2NhdXNhc192aXZpZW5kYSwwKWB9ICBhcyBvdHJhc19jYXVzYXNfZ2FiaW5ldGUsICovXHJcbiAgICAgICAgICAgICAgICAgICAgIC8qICAgY29hbGVzY2UocGVuZGllbnRlLDApK2NvYWxlc2NlKG1peHRhLDApKyBjb2FsZXNjZShpbmNvbXBsZXRvLDApK2NvYWxlc2NlKHNpbl9yZXN1bHRhZG8sMCkrJHtvcHRzLmdhYmluZXRlP2Bjb2FsZXNjZShub19maW5hbGl6YWRhLDApYDpgY29hbGVzY2Uoc2luX2ZpbmFsaXphcl9kbSwwKStjb2FsZXNjZShzaW5fZmluYWxpemFyX2luY29tcGxldG8sMCkrIGNvYWxlc2NlKHNpbl9maW5hbGl6YXJfb3RyYV9jYXVzYSwwKWB9ICBhcyBlbl9jdXJzbyAqL1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBmcm9tICggICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ICR7W1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uY2FtcG9zQ29ydGUubWFwKGY9PmYubmFtZSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgY291bnQoKikgYXMgdG90YWxgLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uY2FtcG9zQ2FsY3VsYWRvcy5maWx0ZXIoZj0+Zi5jb25kaWNpb24pLm1hcChmPT5gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudCgqKSBmaWx0ZXIgKHdoZXJlIGtsYXNlPSR7ZGIucXVvdGVMaXRlcmFsKGYubmFtZSl9KSBhcyAke2YubmFtZX1gKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb3VudCgqKSBmaWx0ZXIgKHdoZXJlIGtsYXNlIGlzIG51bGwpIGFzIG90cm9zJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBdLmpvaW4oJywnKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgY291bnQoKikgZmlsdGVyICh3aGVyZSByZXN1bWVuX2VzdGFkbyBpbiAoJ2luY29tcGxldG8nLCdjb24gcHJvYmxlbWFzJykpIGFzIGluY29tcGxldG9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgY291bnQoKikgZmlsdGVyICh3aGVyZSByZXN1bWVuX2VzdGFkbyBpbiAoJ25vIHJlYScsJ29rJykgYW5kIHZlcmlmaWNhZG8gaXMgbnVsbCkgYXMgdmVyaWZfZW5jdV9wZW5kaWVudGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QgdC4qLGEucGFydGljaXBhY2lvbl9hLCBhLmNsYXNlX2EsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJHtjYW1wb3NDYWxjdWxhZG9zLmZpbHRlcihmPT5mLmNvbmRpY2lvbikubWFwKGY9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgd2hlbiAke2YuY29uZGljaW9ufSB0aGVuICR7ZGIucXVvdGVMaXRlcmFsKGYubmFtZSl9IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkuam9pbignJyl9IGVsc2UgbnVsbCBlbmQgYXMga2xhc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0IHQuKiwgdHQudmVyaWZpY2FkbywgdC5ub3JlYSBhcyBjb2Rfbm9fcmVhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIHRlbSB0IGxlZnQgam9pbiBjb211bmFzIGMgb24gdC5ucm9jb211bmE9Yy5jb211bmFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gdGFyZWFzX3RlbSB0dCBvbiB0Lm9wZXJhdGl2bz10dC5vcGVyYXRpdm8gYW5kIHQuZW5jPXR0LmVuYyBhbmQgdHQudGFyZWE9J2VuY3UnXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSAke29wdHMuZmlsdHJvV2hlcmUgfHwgJ3RydWUnfSAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHQgbGVmdCBqb2luIChzZWxlY3QgYXJlYSwgc3RyaW5nX2FnZyhkaXN0aW5jdCBwYXJ0aWNpcGFjaW9uOjp0ZXh0LCAnLCAnIG9yZGVyIGJ5IHBhcnRpY2lwYWNpb246OnRleHQgZGVzYyApIGFzIHBhcnRpY2lwYWNpb25fYVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIHN0cmluZ19hZ2coZGlzdGluY3QgY2xhc2UsICcsICcgb3JkZXIgYnkgY2xhc2UgZGVzYyApIGFzIGNsYXNlX2FcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSB0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXAgYnkgMSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIGEgIHVzaW5nICAoYXJlYSApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICkgdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAke2NhbXBvc0NvcnRlLmxlbmd0aD9gZ3JvdXAgYnkgJHtjYW1wb3NDb3J0ZS5tYXAoZj0+Zi5uYW1lKX1gOicnfVxyXG4gICAgICAgICAgICAgICAgICAgICkgdFxyXG4gICAgICAgICAgICApYFxyXG4gICAgICAgIH1cclxuICAgIH07XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-dmencu";
2
+ export declare function control_dias_carga(_context: TableContext): TableDefinition;
@@ -0,0 +1,63 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.control_dias_carga = control_dias_carga;
13
+ function control_dias_carga(_context) {
14
+ //var be=context.be;
15
+ var puedeEditar = false;
16
+ //se puede mejorar la forma de recuperar los nombres de los días desde dias_arreglo obtenida desde el sql
17
+ var dias_nombre = ['', 'Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'];
18
+ return {
19
+ name: 'control_dias_carga',
20
+ elementName: 'dias',
21
+ editable: puedeEditar,
22
+ fields: [
23
+ { name: 'operativo', typeName: 'text', editable: false, nullable: false, defaultValue: 'etoi211' },
24
+ { name: 'dominio', typeName: 'integer', editable: false, nullable: false },
25
+ { name: 'cant_reas', typeName: 'bigint', editable: false, title: "Realizadas" },
26
+ { name: 'cant_domingo', typeName: 'bigint', editable: false, title: dias_nombre[1] },
27
+ { name: 'cant_lunes', typeName: 'bigint', editable: false, title: dias_nombre[2] },
28
+ { name: 'cant_martes', typeName: 'bigint', editable: false, title: dias_nombre[3] },
29
+ { name: 'cant_miercoles', typeName: 'bigint', editable: false, title: dias_nombre[4] },
30
+ { name: 'cant_jueves', typeName: 'bigint', editable: false, title: dias_nombre[5] },
31
+ { name: 'cant_viernes', typeName: 'bigint', editable: false, title: dias_nombre[6] },
32
+ { name: 'cant_sabado', typeName: 'bigint', editable: false, title: dias_nombre[7] },
33
+ ],
34
+ primaryKey: ["operativo", 'dominio'],
35
+ sql: {
36
+ isTable: false,
37
+ from: `(
38
+ select a.operativo,a.dominio,array_agg(distinct dia||nombre) as dias_arreglo,
39
+ count(*) filter (where rea=1) as cant_reas,
40
+ count(*) filter (where dia =1) as cant_domingo,
41
+ count(*) filter (where dia =2) as cant_lunes ,
42
+ count(*) filter (where dia =3) as cant_martes ,
43
+ count(*) filter (where dia =4) as cant_miercoles ,
44
+ count(*) filter (where dia =5) as cant_jueves,
45
+ count(*) filter (where dia =6) as cant_viernes ,
46
+ count(*) filter (where dia =7) as cant_sabado
47
+ from (
48
+ select t.operativo,t.dominio,t.rea,dia,v.nombre
49
+ from tem t
50
+ left join hogares h on t.operativo=h.operativo and t.enc=h.vivienda
51
+ left join personas p on h.operativo=p.operativo and h.vivienda=p.vivienda and h.hogar=p.hogar
52
+ join variables_opciones v on t.operativo=v.operativo and v.variable='dia' and v.opcion=p.dia::text
53
+ where t.rea=1 and t.operativo='UT_2023' and p.persona=h.cr_num_miembro
54
+ order by 1,2,3,4,5
55
+ )a
56
+ group by 1,2
57
+ order by 1,2
58
+ )`,
59
+ }
60
+ };
61
+ }
62
+ });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29udHJvbF9kaWFzX2NhcmdhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZlci90YWJsZS1jb250cm9sX2RpYXNfY2FyZ2EudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOztJQUliLGdEQWtEQztJQWxERCxTQUFnQixrQkFBa0IsQ0FBQyxRQUFxQjtRQUNwRCxvQkFBb0I7UUFDcEIsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLHlHQUF5RztRQUN6RyxJQUFJLFdBQVcsR0FBRSxDQUFDLEVBQUUsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFFBQVEsRUFBQyxXQUFXLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUN6RixPQUFPO1lBQ0gsSUFBSSxFQUFDLG9CQUFvQjtZQUN6QixXQUFXLEVBQUMsTUFBTTtZQUNsQixRQUFRLEVBQUMsV0FBVztZQUNwQixNQUFNLEVBQUM7Z0JBQ0gsRUFBQyxJQUFJLEVBQUMsV0FBVyxFQUFjLFFBQVEsRUFBQyxNQUFNLEVBQU0sUUFBUSxFQUFFLEtBQUssRUFBSSxRQUFRLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUM7Z0JBQ2hILEVBQUMsSUFBSSxFQUFDLFNBQVMsRUFBZ0IsUUFBUSxFQUFDLFNBQVMsRUFBRyxRQUFRLEVBQUUsS0FBSyxFQUFJLFFBQVEsRUFBRSxLQUFLLEVBQTBCO2dCQUNoSCxFQUFDLElBQUksRUFBQyxXQUFXLEVBQWMsUUFBUSxFQUFDLFFBQVEsRUFBSSxRQUFRLEVBQUUsS0FBSyxFQUFJLEtBQUssRUFBRSxZQUFZLEVBQUk7Z0JBQzlGLEVBQUMsSUFBSSxFQUFDLGNBQWMsRUFBVyxRQUFRLEVBQUMsUUFBUSxFQUFJLFFBQVEsRUFBRSxLQUFLLEVBQUksS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDOUYsRUFBQyxJQUFJLEVBQUMsWUFBWSxFQUFhLFFBQVEsRUFBQyxRQUFRLEVBQUksUUFBUSxFQUFFLEtBQUssRUFBSSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUM5RixFQUFDLElBQUksRUFBQyxhQUFhLEVBQVksUUFBUSxFQUFDLFFBQVEsRUFBSSxRQUFRLEVBQUUsS0FBSyxFQUFJLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzlGLEVBQUMsSUFBSSxFQUFDLGdCQUFnQixFQUFTLFFBQVEsRUFBQyxRQUFRLEVBQUksUUFBUSxFQUFFLEtBQUssRUFBSSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUM5RixFQUFDLElBQUksRUFBQyxhQUFhLEVBQVksUUFBUSxFQUFDLFFBQVEsRUFBSSxRQUFRLEVBQUUsS0FBSyxFQUFJLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzlGLEVBQUMsSUFBSSxFQUFDLGNBQWMsRUFBVyxRQUFRLEVBQUMsUUFBUSxFQUFJLFFBQVEsRUFBRSxLQUFLLEVBQUksS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDOUYsRUFBQyxJQUFJLEVBQUMsYUFBYSxFQUFZLFFBQVEsRUFBQyxRQUFRLEVBQUksUUFBUSxFQUFFLEtBQUssRUFBSSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFO2FBRXJHO1lBQ0csVUFBVSxFQUFDLENBQUMsV0FBVyxFQUFDLFNBQVMsQ0FBQztZQUNsQyxHQUFHLEVBQUM7Z0JBQ0EsT0FBTyxFQUFDLEtBQUs7Z0JBQ2IsSUFBSSxFQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Y0FxQkg7YUFDTDtTQUVKLENBQUM7SUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQge1RhYmxlRGVmaW5pdGlvbiwgVGFibGVDb250ZXh0LCBGaWVsZERlZmluaXRpb24sIE90aGVyVGFibGVEZWZzfSBmcm9tIFwiLi90eXBlcy1kbWVuY3VcIjtcclxuIFxyXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbF9kaWFzX2NhcmdhKF9jb250ZXh0OlRhYmxlQ29udGV4dCk6VGFibGVEZWZpbml0aW9uIHtcclxuICAgIC8vdmFyIGJlPWNvbnRleHQuYmU7XHJcbiAgICB2YXIgcHVlZGVFZGl0YXIgPSBmYWxzZTtcclxuICAgIC8vc2UgcHVlZGUgbWVqb3JhciBsYSBmb3JtYSBkZSByZWN1cGVyYXIgbG9zIG5vbWJyZXMgZGUgbG9zIGTDrWFzIGRlc2RlIGRpYXNfYXJyZWdsbyBvYnRlbmlkYSBkZXNkZSBlbCBzcWxcclxuICAgIHZhciBkaWFzX25vbWJyZT0gWycnLCdEb21pbmdvJywnTHVuZXMnLCdNYXJ0ZXMnLCdNacOpcmNvbGVzJywnSnVldmVzJywnVmllcm5lcycsJ1PDoWJhZG8nXTtcclxuICAgIHJldHVybiB7ICAgXHJcbiAgICAgICAgbmFtZTonY29udHJvbF9kaWFzX2NhcmdhJyxcclxuICAgICAgICBlbGVtZW50TmFtZTonZGlhcycsXHJcbiAgICAgICAgZWRpdGFibGU6cHVlZGVFZGl0YXIsXHJcbiAgICAgICAgZmllbGRzOltcclxuICAgICAgICAgICAge25hbWU6J29wZXJhdGl2bycgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLCBudWxsYWJsZTogZmFsc2UsIGRlZmF1bHRWYWx1ZTogJ2V0b2kyMTEnfSxcclxuICAgICAgICAgICAge25hbWU6J2RvbWluaW8nICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLCBudWxsYWJsZTogZmFsc2UgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge25hbWU6J2NhbnRfcmVhcycgICAgICAgICAgICAsIHR5cGVOYW1lOidiaWdpbnQnICAsIGVkaXRhYmxlOiBmYWxzZSAgLCB0aXRsZTogXCJSZWFsaXphZGFzXCIgICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FudF9kb21pbmdvJyAgICAgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcgICwgZWRpdGFibGU6IGZhbHNlICAsIHRpdGxlOiBkaWFzX25vbWJyZVsxXSB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FudF9sdW5lcycgICAgICAgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcgICwgZWRpdGFibGU6IGZhbHNlICAsIHRpdGxlOiBkaWFzX25vbWJyZVsyXSB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FudF9tYXJ0ZXMnICAgICAgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcgICwgZWRpdGFibGU6IGZhbHNlICAsIHRpdGxlOiBkaWFzX25vbWJyZVszXSB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FudF9taWVyY29sZXMnICAgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcgICwgZWRpdGFibGU6IGZhbHNlICAsIHRpdGxlOiBkaWFzX25vbWJyZVs0XSB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FudF9qdWV2ZXMnICAgICAgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcgICwgZWRpdGFibGU6IGZhbHNlICAsIHRpdGxlOiBkaWFzX25vbWJyZVs1XSB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FudF92aWVybmVzJyAgICAgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcgICwgZWRpdGFibGU6IGZhbHNlICAsIHRpdGxlOiBkaWFzX25vbWJyZVs2XSB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FudF9zYWJhZG8nICAgICAgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcgICwgZWRpdGFibGU6IGZhbHNlICAsIHRpdGxlOiBkaWFzX25vbWJyZVs3XSB9LFxyXG4gICAgICAgICAgICBcclxuICAgIF0sXHJcbiAgICAgICAgcHJpbWFyeUtleTpbXCJvcGVyYXRpdm9cIiwnZG9taW5pbyddLFxyXG4gICAgICAgIHNxbDp7XHJcbiAgICAgICAgICAgIGlzVGFibGU6ZmFsc2UsXHJcbiAgICAgICAgICAgIGZyb206YChcclxuICAgICAgICAgICAgc2VsZWN0IGEub3BlcmF0aXZvLGEuZG9taW5pbyxhcnJheV9hZ2coZGlzdGluY3QgZGlhfHxub21icmUpIGFzIGRpYXNfYXJyZWdsbyxcclxuICAgICAgICAgICAgY291bnQoKikgZmlsdGVyICh3aGVyZSByZWE9MSkgYXMgY2FudF9yZWFzLCAgXHJcbiAgICAgICAgICAgIGNvdW50KCopIGZpbHRlciAod2hlcmUgZGlhID0xKSBhcyBjYW50X2RvbWluZ28sIFxyXG4gICAgICAgICAgICBjb3VudCgqKSBmaWx0ZXIgKHdoZXJlIGRpYSA9MikgYXMgY2FudF9sdW5lcyAsXHJcbiAgICAgICAgICAgIGNvdW50KCopIGZpbHRlciAod2hlcmUgZGlhID0zKSBhcyBjYW50X21hcnRlcyAsXHJcbiAgICAgICAgICAgIGNvdW50KCopIGZpbHRlciAod2hlcmUgZGlhID00KSBhcyBjYW50X21pZXJjb2xlcyAsXHJcbiAgICAgICAgICAgIGNvdW50KCopIGZpbHRlciAod2hlcmUgZGlhID01KSBhcyBjYW50X2p1ZXZlcyxcclxuICAgICAgICAgICAgY291bnQoKikgZmlsdGVyICh3aGVyZSBkaWEgPTYpIGFzIGNhbnRfdmllcm5lcyAsXHJcbiAgICAgICAgICAgIGNvdW50KCopIGZpbHRlciAod2hlcmUgZGlhID03KSBhcyBjYW50X3NhYmFkbyBcclxuICAgICAgICAgICAgZnJvbSAoICAgICAgXHJcbiAgICAgICAgICAgICAgICBzZWxlY3QgdC5vcGVyYXRpdm8sdC5kb21pbmlvLHQucmVhLGRpYSx2Lm5vbWJyZVxyXG4gICAgICAgICAgICAgICAgIGZyb20gdGVtIHRcclxuICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiBob2dhcmVzIGggb24gdC5vcGVyYXRpdm89aC5vcGVyYXRpdm8gYW5kIHQuZW5jPWgudml2aWVuZGFcclxuICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiBwZXJzb25hcyBwIG9uIGgub3BlcmF0aXZvPXAub3BlcmF0aXZvIGFuZCBoLnZpdmllbmRhPXAudml2aWVuZGEgYW5kIGguaG9nYXI9cC5ob2dhclxyXG4gICAgICAgICAgICAgICAgICAgam9pbiB2YXJpYWJsZXNfb3BjaW9uZXMgdiBvbiB0Lm9wZXJhdGl2bz12Lm9wZXJhdGl2byBhbmQgdi52YXJpYWJsZT0nZGlhJyBhbmQgdi5vcGNpb249cC5kaWE6OnRleHQgICAgXHJcbiAgICAgICAgICAgICAgICAgICB3aGVyZSB0LnJlYT0xIGFuZCB0Lm9wZXJhdGl2bz0nVVRfMjAyMycgYW5kIHAucGVyc29uYT1oLmNyX251bV9taWVtYnJvXHJcbiAgICAgICAgICAgICAgICAgICBvcmRlciBieSAxLDIsMyw0LDUgICAgXHJcbiAgICAgICAgICAgIClhIFxyXG4gICAgICAgICAgICBncm91cCBieSAxLDJcclxuICAgICAgICAgICAgb3JkZXIgYnkgMSwyICAgIFxyXG4gICAgICAgICAgICApYCxcclxuICAgICAgICB9XHJcblxyXG4gICAgfTtcclxufSJdfQ==
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-dmencu";
2
+ export declare function control_resumen(context: TableContext): TableDefinition;