dmencu 0.3.34 → 0.3.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.
- package/dist/client/client/client.d.ts +1 -1
- package/dist/client/client/client.js +540 -539
- package/dist/client/client/menu.js +2 -2
- package/dist/client/unlogged/abrir-formulario.d.ts +12 -12
- package/dist/client/unlogged/abrir-formulario.js +102 -102
- package/dist/client/unlogged/bypass-formulario.d.ts +200 -200
- package/dist/client/unlogged/bypass-formulario.js +1041 -1041
- package/dist/client/unlogged/redux-formulario.d.ts +349 -349
- package/dist/client/unlogged/redux-formulario.js +317 -317
- package/dist/client/unlogged/tipos.d.ts +469 -469
- package/dist/client/unlogged/tipos.js +21 -21
- package/dist/server/server/app-dmencu.d.ts +1511 -1511
- package/dist/server/server/app-dmencu.js +649 -649
- package/dist/server/server/def-config.d.ts +1 -1
- package/dist/server/server/def-config.js +14 -14
- package/dist/server/server/procedures-dmencu.d.ts +6 -6
- package/dist/server/server/procedures-dmencu.js +854 -854
- package/dist/server/server/server-dmencu.d.ts +1 -1
- package/dist/server/server/server-dmencu.js +20 -20
- package/dist/server/server/table-acciones.d.ts +3 -3
- package/dist/server/server/table-acciones.js +53 -53
- package/dist/server/server/table-areas.d.ts +3 -3
- package/dist/server/server/table-areas.js +88 -88
- package/dist/server/server/table-comunas.d.ts +3 -3
- package/dist/server/server/table-comunas.js +28 -28
- package/dist/server/server/table-control_campo.d.ts +11 -11
- package/dist/server/server/table-control_campo.js +71 -71
- package/dist/server/server/table-control_resumen.d.ts +3 -3
- package/dist/server/server/table-control_resumen.js +18 -18
- package/dist/server/server/table-encuestadores.d.ts +3 -3
- package/dist/server/server/table-encuestadores.js +18 -18
- package/dist/server/server/table-estados.d.ts +3 -3
- package/dist/server/server/table-estados.js +60 -60
- package/dist/server/server/table-estados_acciones.d.ts +3 -3
- package/dist/server/server/table-estados_acciones.js +38 -38
- package/dist/server/server/table-hogares.d.ts +3 -3
- package/dist/server/server/table-hogares.js +156 -156
- package/dist/server/server/table-hogares_sup.d.ts +3 -3
- package/dist/server/server/table-hogares_sup.js +191 -191
- package/dist/server/server/table-lotes.d.ts +3 -3
- package/dist/server/server/table-lotes.js +35 -35
- package/dist/server/server/table-mis_encuestadores.d.ts +3 -3
- package/dist/server/server/table-mis_encuestadores.js +56 -56
- package/dist/server/server/table-mis_tareas.d.ts +3 -3
- package/dist/server/server/table-mis_tareas.js +18 -18
- package/dist/server/server/table-mis_tareas_areas.d.ts +3 -3
- package/dist/server/server/table-mis_tareas_areas.js +20 -20
- package/dist/server/server/table-no_rea.d.ts +3 -3
- package/dist/server/server/table-no_rea.js +32 -32
- package/dist/server/server/table-no_rea_sup.d.ts +3 -3
- package/dist/server/server/table-no_rea_sup.js +32 -32
- package/dist/server/server/table-operaciones.d.ts +3 -3
- package/dist/server/server/table-operaciones.js +30 -30
- package/dist/server/server/table-parametros.d.ts +3 -3
- package/dist/server/server/table-parametros.js +39 -39
- package/dist/server/server/table-permisos.d.ts +3 -3
- package/dist/server/server/table-permisos.js +31 -31
- package/dist/server/server/table-personal.d.ts +6 -6
- package/dist/server/server/table-personal.js +56 -56
- package/dist/server/server/table-personal_rol.d.ts +3 -3
- package/dist/server/server/table-personal_rol.js +36 -36
- package/dist/server/server/table-personas.d.ts +3 -3
- package/dist/server/server/table-personas.js +448 -448
- package/dist/server/server/table-personas_sup.d.ts +3 -3
- package/dist/server/server/table-personas_sup.js +93 -93
- package/dist/server/server/table-recepcionistas.d.ts +3 -3
- package/dist/server/server/table-recepcionistas.js +18 -18
- package/dist/server/server/table-recuperadores.d.ts +3 -3
- package/dist/server/server/table-recuperadores.js +18 -18
- package/dist/server/server/table-resultados_tarea.d.ts +3 -3
- package/dist/server/server/table-resultados_tarea.js +28 -28
- package/dist/server/server/table-roles.d.ts +3 -3
- package/dist/server/server/table-roles.js +32 -32
- package/dist/server/server/table-roles_permisos.d.ts +3 -3
- package/dist/server/server/table-roles_permisos.js +35 -35
- package/dist/server/server/table-roles_subordinados.d.ts +3 -3
- package/dist/server/server/table-roles_subordinados.js +32 -32
- package/dist/server/server/table-semanas.d.ts +3 -3
- package/dist/server/server/table-semanas.js +34 -34
- package/dist/server/server/table-sincronizaciones.d.ts +3 -3
- package/dist/server/server/table-sincronizaciones.js +30 -30
- package/dist/server/server/table-supervisores.d.ts +3 -3
- package/dist/server/server/table-supervisores.js +18 -18
- package/dist/server/server/table-tareas.d.ts +3 -3
- package/dist/server/server/table-tareas.js +46 -46
- package/dist/server/server/table-tareas_areas.d.ts +3 -3
- package/dist/server/server/table-tareas_areas.js +55 -55
- package/dist/server/server/table-tareas_tem.d.ts +3 -3
- package/dist/server/server/table-tareas_tem.js +104 -105
- package/dist/server/server/table-tareas_tem_asignables.d.ts +1 -1
- package/dist/server/server/table-tareas_tem_asignables.js +5 -5
- package/dist/server/server/table-tareas_tem_recepcion.d.ts +3 -5
- package/dist/server/server/table-tareas_tem_recepcion.js +33 -43
- package/dist/server/server/table-tem.d.ts +3 -3
- package/dist/server/server/table-tem.js +192 -192
- package/dist/server/server/table-tem_asignacion.d.ts +3 -0
- package/dist/server/server/table-tem_asignacion.js +51 -0
- package/dist/server/server/table-tem_recepcion.d.ts +3 -3
- package/dist/server/server/table-tem_recepcion.js +18 -18
- package/dist/server/server/table-usuarios.d.ts +3 -3
- package/dist/server/server/table-usuarios.js +58 -58
- package/dist/server/server/table-visitas.d.ts +3 -3
- package/dist/server/server/table-visitas.js +91 -91
- package/dist/server/server/table-visitas_sup.d.ts +3 -3
- package/dist/server/server/table-visitas_sup.js +91 -91
- package/dist/server/server/table-viviendas.d.ts +3 -3
- package/dist/server/server/table-viviendas.js +299 -299
- package/dist/server/server/types-dmencu.d.ts +24 -24
- package/dist/server/server/types-dmencu.js +32 -32
- package/dist/server/unlogged/tipos.d.ts +469 -469
- package/dist/server/unlogged/tipos.js +21 -21
- package/dist/unlogged/unlogged/abrir-formulario.d.ts +12 -12
- package/dist/unlogged/unlogged/abrir-formulario.js +102 -102
- package/dist/unlogged/unlogged/adapt.js +7 -7
- package/dist/unlogged/unlogged/bypass-formulario.d.ts +200 -200
- package/dist/unlogged/unlogged/bypass-formulario.js +1041 -1041
- package/dist/unlogged/unlogged/redux-formulario.d.ts +349 -349
- package/dist/unlogged/unlogged/redux-formulario.js +317 -317
- package/dist/unlogged/unlogged/render-formulario.d.ts +54 -54
- package/dist/unlogged/unlogged/render-formulario.js +1485 -1485
- package/dist/unlogged/unlogged/render-general.d.ts +126 -126
- package/dist/unlogged/unlogged/render-general.js +184 -184
- package/dist/unlogged/unlogged/tipos.d.ts +469 -469
- package/dist/unlogged/unlogged/tipos.js +21 -21
- package/dist/unlogged/unlogged/unlogged.d.ts +1 -1
- package/dist/unlogged/unlogged/unlogged.js +162 -162
- package/package.json +1 -1
|
@@ -1,188 +1,188 @@
|
|
|
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.tem = void 0;
|
|
13
|
-
function tem(context, opts) {
|
|
14
|
-
var _a, _b, _c, _d;
|
|
15
|
-
var opts = opts || {};
|
|
16
|
-
var recepcion = opts.recepcion ? '_recepcion' : '';
|
|
17
|
-
var be = context.be;
|
|
18
|
-
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';
|
|
19
|
-
var columnasAreasParaLaTem = ['obs_recepcionista', 'verificado_rec', 'recepcionista'];
|
|
20
|
-
var columnasNoRea = [
|
|
21
|
-
{ name: 'gru_no_rea', expr: 'grupo' }
|
|
22
|
-
];
|
|
23
|
-
var columnasSoloTem = [
|
|
24
|
-
'enc_original', 'json_encuesta', 'json_backup',
|
|
25
|
-
'h4', 'x', 'y', 'fexp'
|
|
26
|
-
];
|
|
27
|
-
var def = {
|
|
28
|
-
name: `tem${recepcion}`,
|
|
29
|
-
tableName: 'tem',
|
|
30
|
-
allow: {
|
|
31
|
-
insert: false,
|
|
32
|
-
delete: false,
|
|
33
|
-
},
|
|
34
|
-
editable: puedeEditar,
|
|
35
|
-
hiddenColumns: [
|
|
36
|
-
'cita', 'notas', 'cluster',
|
|
37
|
-
'codviviendaparticular', 'casa', 'obsdatosdomicilio', 'obsconjunto', 'reserva', 'rotacion_etoi', 'rotacion_eah',
|
|
38
|
-
'trimestre', 'procedencia', 'sel_etoi_villa', 'marco', 'semana', 'periodicidad',
|
|
39
|
-
'cargado_dm'
|
|
40
|
-
],
|
|
41
|
-
"fields": [
|
|
42
|
-
{ name: 'operativo', typeName: 'text', editable: false, nullable: false, defaultValue: 'etoi211' },
|
|
43
|
-
{ name: 'enc', typeName: 'text', editable: false, nullable: false },
|
|
44
|
-
{ name: "abrir", typeName: 'text', editable: false, inTable: false, clientSide: 'abrir' },
|
|
45
|
-
{ name: "consistir", typeName: 'text', editable: false, inTable: false, clientSide: 'consistir' },
|
|
46
|
-
{ name: "cluster", typeName: 'integer', editable: false, isName: true },
|
|
47
|
-
{ name: 'tarea_actual', typeName: 'text', editable: false },
|
|
48
|
-
{ name: 'estado_actual', typeName: 'text', editable: false, nullable: false, defaultDbValue: "'0D'" },
|
|
49
|
-
{ name: "habilitar", typeName: "text", editable: false, inTable: false, clientSide: 'habilitar' },
|
|
50
|
-
{ name: "habilitada", typeName: 'boolean', editable: puedeEditar, nullable: false },
|
|
51
|
-
{ name: 'tarea_proxima', typeName: 'text', editable: false },
|
|
52
|
-
{ name: 'area', typeName: 'integer', editable: false },
|
|
53
|
-
{ name: 'zona', typeName: 'text', editable: false },
|
|
54
|
-
{ name: 'rea', typeName: 'integer', editable: false },
|
|
55
|
-
{ name: 'norea', typeName: 'integer', editable: false },
|
|
56
|
-
{ name: 'cant_h', typeName: 'integer', editable: false },
|
|
57
|
-
{ name: 'cant_p', typeName: 'integer', editable: false },
|
|
58
|
-
{ name: 'seleccionado', typeName: 'text', editable: false },
|
|
59
|
-
// {name:'sexo_sel' , typeName:'integer' , editable: false },
|
|
60
|
-
// {name:'edad_sel' , typeName:'integer' , editable: false },
|
|
61
|
-
{ name: 'resultado', typeName: 'text', editable: false },
|
|
62
|
-
{ name: 'gru_no_rea', typeName: 'text', editable: false, inTable: false },
|
|
63
|
-
{ name: 'resumen_estado', typeName: 'text', editable: false },
|
|
64
|
-
{ name: 'cargado', typeName: 'boolean', editable: false, inTable: false },
|
|
65
|
-
//{name:'encu_habilitada' , typeName:'boolean' , editable: false , inTable: false },
|
|
66
|
-
//{name:'encu_cargado' , typeName:'boolean' , editable: false , inTable: false },
|
|
67
|
-
{ name: 'encuestador', typeName: 'text', editable: false, inTable: false },
|
|
68
|
-
//{name:'recu_habilitada' , typeName:'boolean' , editable: false , inTable: false },
|
|
69
|
-
//{name:'recu_cargado' , typeName:'boolean' , editable: false , inTable: false },
|
|
70
|
-
{ name: 'recuperador', typeName: 'text', editable: false, inTable: false },
|
|
71
|
-
//{name:'supe_habilitada' , typeName:'boolean' , editable: false , inTable: false },
|
|
72
|
-
//{name:'supe_cargado' , typeName:'boolean' , editable: false , inTable: false },
|
|
73
|
-
{ name: 'supervisor', typeName: 'text', editable: false, inTable: false },
|
|
74
|
-
{ name: 'rea_sup', typeName: 'integer', editable: false },
|
|
75
|
-
{ name: 'norea_sup', typeName: 'integer', editable: false },
|
|
76
|
-
{ name: 'resumen_estado_sup', typeName: 'text', editable: false },
|
|
77
|
-
{ name: 'pre_sorteo', typeName: 'integer', editable: false, visible: false },
|
|
78
|
-
{ name: 'supervision_aleatoria', typeName: 'integer', editable: false },
|
|
79
|
-
{ name: 'supervision', typeName: 'integer', editable: false },
|
|
80
|
-
{ name: 'fin_campo', typeName: 'text', editable: puedeEditar },
|
|
81
|
-
{ name: 'proie', typeName: 'text', editable: puedeEditar },
|
|
82
|
-
{ name: 'pase_tabla', typeName: 'text', editable: false },
|
|
83
|
-
{ name: 'codcalle', typeName: 'integer', editable: false },
|
|
84
|
-
{ name: 'nomcalle', typeName: 'text', editable: false },
|
|
85
|
-
{ name: 'nrocatastral', typeName: 'integer', editable: false },
|
|
86
|
-
{ name: 'piso', typeName: 'text', editable: false },
|
|
87
|
-
{ name: 'departamento', typeName: 'text', editable: false },
|
|
88
|
-
{ name: 'habitacion', typeName: 'text', editable: false },
|
|
89
|
-
{ name: 'sector', typeName: 'text', editable: false },
|
|
90
|
-
{ name: 'edificio', typeName: 'text', editable: false },
|
|
91
|
-
{ name: 'entrada', typeName: 'text', editable: false },
|
|
92
|
-
{ name: 'barrio', typeName: 'text', editable: false },
|
|
93
|
-
//{name: "verificar" , typeName:'boolean', editable:true, inTable:false, clientSide:'verificarCaso'},
|
|
94
|
-
//{name: "finalizar_campo" , typeName:'boolean', editable:true, inTable:false, clientSide:'finalizarCampo'}, //fin_de_campo
|
|
95
|
-
//{name: "procesamiento" , typeName:'boolean', editable:true, inTable:false, clientSide:'pasarAProcesamiento', label: 'pasar a procesamiento'}, //procesamiento
|
|
96
|
-
{ name: 'fexp', typeName: 'integer', editable: false },
|
|
97
|
-
{ name: 'areaup', typeName: 'text', editable: false },
|
|
98
|
-
{ name: 'codpos', typeName: 'integer', editable: false },
|
|
99
|
-
{ name: 'dominio', typeName: 'integer', editable: false },
|
|
100
|
-
{ name: 'estrato_ing', typeName: 'integer', editable: false },
|
|
101
|
-
{ name: 'id_marco', typeName: 'bigint', editable: false },
|
|
102
|
-
{ name: 'obs', typeName: 'text', editable: false },
|
|
103
|
-
{ name: 'nrocomuna', typeName: 'integer', editable: false },
|
|
104
|
-
{ name: 'nrofraccion', typeName: 'integer', editable: false },
|
|
105
|
-
{ name: 'nroradio', typeName: 'integer', editable: false },
|
|
106
|
-
{ name: 'nromanzana', typeName: 'integer', editable: false },
|
|
107
|
-
{ name: 'nrolado', typeName: 'integer', editable: false },
|
|
108
|
-
{ name: 'usodomicilio', typeName: 'integer', editable: false },
|
|
109
|
-
{ name: 'orden_relevamiento', typeName: 'integer', editable: false },
|
|
110
|
-
{ name: 'mapa', typeName: 'integer', editable: false },
|
|
111
|
-
{ name: "consistido", typeName: 'timestamp', editable: false, inTable: false },
|
|
112
|
-
{ name: 'cargado_dm', typeName: 'text', editable: false, inTable: false },
|
|
113
|
-
{ name: 'participacion', typeName: 'integer', editable: false, visible: true },
|
|
114
|
-
{ name: 'rotacion', typeName: 'integer', editable: false, visible: true },
|
|
115
|
-
{ name: 'clase', typeName: 'text', editable: false, visible: true },
|
|
116
|
-
{ name: 'panel', typeName: 'integer', editable: false, visible: true },
|
|
117
|
-
//vacios o poco interesantes
|
|
118
|
-
{ name: 'codviviendaparticular', typeName: 'text', editable: false },
|
|
119
|
-
{ name: 'casa', typeName: 'text', editable: false },
|
|
120
|
-
{ name: 'obsdatosdomicilio', typeName: 'text', editable: false },
|
|
121
|
-
{ name: 'obsconjunto', typeName: 'text', editable: false },
|
|
122
|
-
{ name: 'reserva', typeName: 'integer', editable: false },
|
|
123
|
-
{ name: 'rotacion_etoi', typeName: 'integer', editable: false, visible: false },
|
|
124
|
-
{ name: 'rotacion_eah', typeName: 'integer', editable: false, visible: false },
|
|
125
|
-
{ name: 'trimestre', typeName: 'integer', editable: false, visible: false },
|
|
126
|
-
{ name: 'procedencia', typeName: 'text', editable: false, visible: false },
|
|
127
|
-
{ name: 'sel_etoi_villa', typeName: 'integer', editable: false, visible: false },
|
|
128
|
-
{ name: 'marco', typeName: 'integer', editable: false, visible: false },
|
|
129
|
-
{ name: 'semana', typeName: 'integer', editable: false, visible: false },
|
|
130
|
-
{ name: 'periodicidad', typeName: 'text', editable: false, visible: false },
|
|
131
|
-
//solo tem
|
|
132
|
-
{ name: 'json_encuesta', typeName: 'jsonb', editable: false },
|
|
133
|
-
{ name: "json_backup", typeName: 'jsonb', editable: false, visible: false },
|
|
134
|
-
{ name: "h4", typeName: 'text', editable: false },
|
|
135
|
-
{ name: "x", typeName: 'decimal', editable: false },
|
|
136
|
-
{ name: "y", typeName: 'decimal', editable: false },
|
|
137
|
-
{ name: 'notas', typeName: 'text', editable: false, inTable: false },
|
|
138
|
-
{ name: 'cita', typeName: 'text', editable: false },
|
|
139
|
-
{ name: "modificado", typeName: 'timestamp', editable: false },
|
|
140
|
-
{ name: "libre", typeName: "boolean", defaultDbValue: "true", visible: false, editable: false },
|
|
141
|
-
{ name: "fecha_bloqueo", typeName: "timestamp", visible: false, editable: false }
|
|
142
|
-
//{name:'obs_sup' , typeName:'text' , editable: isSupervisor },
|
|
143
|
-
//{name:'obs_coor' , typeName:'text' , editable: isCoordinador || isSubCoordinador },
|
|
144
|
-
],
|
|
145
|
-
"primaryKey": ["operativo", "enc"],
|
|
146
|
-
foreignKeys: [
|
|
147
|
-
{ references: 'areas', fields: ['operativo', 'area'] },
|
|
148
|
-
{ references: 'tareas', fields: [
|
|
149
|
-
{ source: 'operativo', target: 'operativo' },
|
|
150
|
-
{ source: 'tarea_actual', target: 'tarea' }
|
|
151
|
-
],
|
|
152
|
-
alias: 'taract'
|
|
153
|
-
},
|
|
154
|
-
{ references: 'tareas', fields: [
|
|
155
|
-
{ source: 'operativo', target: 'operativo' },
|
|
156
|
-
{ source: 'tarea_proxima', target: 'tarea' }
|
|
157
|
-
],
|
|
158
|
-
alias: 'tarprox'
|
|
159
|
-
},
|
|
160
|
-
{ references: 'estados', fields: [{ source: 'operativo', target: 'operativo' }, { source: 'estado_actual', target: 'estado' }] },
|
|
161
|
-
// {references:'usuarios', fields:[{source:'carga_persona', target:'idper'}], displayFields:['apellido','nombre']},
|
|
162
|
-
],
|
|
163
|
-
softForeignKeys: [
|
|
164
|
-
{ references: 'tokens', fields: [{ source: 'cargado_dm', target: 'token' }], displayFields: ['username'], displayAfterFieldName: 'cargado' }
|
|
165
|
-
],
|
|
166
|
-
"detailTables": [
|
|
167
|
-
{ table: "inconsistencias", abr: "I", fields: [{ source: 'operativo', target: 'operativo' }, { source: 'enc', target: 'vivienda' }] }
|
|
168
|
-
]
|
|
169
|
-
};
|
|
170
|
-
if (opts.recepcion) {
|
|
171
|
-
def.fields = def.fields.filter(f => !columnasSoloTem.includes(f.name));
|
|
172
|
-
def.hiddenColumns = [...def.hiddenColumns, ...columnasAreasParaLaTem.map(x => `areas__${x}`)];
|
|
173
|
-
def.foreignKeys = (_c = def.foreignKeys) === null || _c === void 0 ? void 0 : _c.map(function (f) { if (f.references == 'areas') {
|
|
174
|
-
f.displayFields = columnasAreasParaLaTem;
|
|
175
|
-
} ; return f; });
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
(_d = def.detailTables) === null || _d === void 0 ? void 0 : _d.unshift({ table: "tareas_tem", abr: "T", fields: ['operativo', 'enc'], label: 'tareas' });
|
|
179
|
-
def.fields = def.fields.filter(f => !columnasNoRea.map(fn => fn.name).includes(f.name));
|
|
180
|
-
}
|
|
181
|
-
;
|
|
182
|
-
const q = context.be.db.quoteIdent;
|
|
183
|
-
def.sql = {
|
|
184
|
-
isTable: !opts.recepcion,
|
|
185
|
-
isReferable: true,
|
|
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.tem = void 0;
|
|
13
|
+
function tem(context, opts) {
|
|
14
|
+
var _a, _b, _c, _d;
|
|
15
|
+
var opts = opts || {};
|
|
16
|
+
var recepcion = opts.recepcion ? '_recepcion' : '';
|
|
17
|
+
var be = context.be;
|
|
18
|
+
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';
|
|
19
|
+
var columnasAreasParaLaTem = ['obs_recepcionista', 'verificado_rec', 'recepcionista'];
|
|
20
|
+
var columnasNoRea = [
|
|
21
|
+
{ name: 'gru_no_rea', expr: 'grupo' }
|
|
22
|
+
];
|
|
23
|
+
var columnasSoloTem = [
|
|
24
|
+
'enc_original', 'json_encuesta', 'json_backup',
|
|
25
|
+
'h4', 'x', 'y', 'fexp'
|
|
26
|
+
];
|
|
27
|
+
var def = {
|
|
28
|
+
name: `tem${recepcion}`,
|
|
29
|
+
tableName: 'tem',
|
|
30
|
+
allow: {
|
|
31
|
+
insert: false,
|
|
32
|
+
delete: false,
|
|
33
|
+
},
|
|
34
|
+
editable: puedeEditar,
|
|
35
|
+
hiddenColumns: [
|
|
36
|
+
'cita', 'notas', 'cluster',
|
|
37
|
+
'codviviendaparticular', 'casa', 'obsdatosdomicilio', 'obsconjunto', 'reserva', 'rotacion_etoi', 'rotacion_eah',
|
|
38
|
+
'trimestre', 'procedencia', 'sel_etoi_villa', 'marco', 'semana', 'periodicidad',
|
|
39
|
+
'cargado_dm', 'estados__permite_editar_encuesta'
|
|
40
|
+
],
|
|
41
|
+
"fields": [
|
|
42
|
+
{ name: 'operativo', typeName: 'text', editable: false, nullable: false, defaultValue: 'etoi211' },
|
|
43
|
+
{ name: 'enc', typeName: 'text', editable: false, nullable: false },
|
|
44
|
+
{ name: "abrir", typeName: 'text', editable: false, inTable: false, clientSide: 'abrir' },
|
|
45
|
+
{ name: "consistir", typeName: 'text', editable: false, inTable: false, clientSide: 'consistir' },
|
|
46
|
+
{ name: "cluster", typeName: 'integer', editable: false, isName: true },
|
|
47
|
+
{ name: 'tarea_actual', typeName: 'text', editable: false },
|
|
48
|
+
{ name: 'estado_actual', typeName: 'text', editable: false, nullable: false, defaultDbValue: "'0D'" },
|
|
49
|
+
{ name: "habilitar", typeName: "text", editable: false, inTable: false, clientSide: 'habilitar' },
|
|
50
|
+
{ name: "habilitada", typeName: 'boolean', editable: puedeEditar, nullable: false },
|
|
51
|
+
{ name: 'tarea_proxima', typeName: 'text', editable: false },
|
|
52
|
+
{ name: 'area', typeName: 'integer', editable: false },
|
|
53
|
+
{ name: 'zona', typeName: 'text', editable: false },
|
|
54
|
+
{ name: 'rea', typeName: 'integer', editable: false },
|
|
55
|
+
{ name: 'norea', typeName: 'integer', editable: false },
|
|
56
|
+
{ name: 'cant_h', typeName: 'integer', editable: false },
|
|
57
|
+
{ name: 'cant_p', typeName: 'integer', editable: false },
|
|
58
|
+
{ name: 'seleccionado', typeName: 'text', editable: false },
|
|
59
|
+
// {name:'sexo_sel' , typeName:'integer' , editable: false },
|
|
60
|
+
// {name:'edad_sel' , typeName:'integer' , editable: false },
|
|
61
|
+
{ name: 'resultado', typeName: 'text', editable: false },
|
|
62
|
+
{ name: 'gru_no_rea', typeName: 'text', editable: false, inTable: false },
|
|
63
|
+
{ name: 'resumen_estado', typeName: 'text', editable: false },
|
|
64
|
+
{ name: 'cargado', typeName: 'boolean', editable: false, inTable: false },
|
|
65
|
+
//{name:'encu_habilitada' , typeName:'boolean' , editable: false , inTable: false },
|
|
66
|
+
//{name:'encu_cargado' , typeName:'boolean' , editable: false , inTable: false },
|
|
67
|
+
{ name: 'encuestador', typeName: 'text', editable: false, inTable: false },
|
|
68
|
+
//{name:'recu_habilitada' , typeName:'boolean' , editable: false , inTable: false },
|
|
69
|
+
//{name:'recu_cargado' , typeName:'boolean' , editable: false , inTable: false },
|
|
70
|
+
{ name: 'recuperador', typeName: 'text', editable: false, inTable: false },
|
|
71
|
+
//{name:'supe_habilitada' , typeName:'boolean' , editable: false , inTable: false },
|
|
72
|
+
//{name:'supe_cargado' , typeName:'boolean' , editable: false , inTable: false },
|
|
73
|
+
{ name: 'supervisor', typeName: 'text', editable: false, inTable: false },
|
|
74
|
+
{ name: 'rea_sup', typeName: 'integer', editable: false },
|
|
75
|
+
{ name: 'norea_sup', typeName: 'integer', editable: false },
|
|
76
|
+
{ name: 'resumen_estado_sup', typeName: 'text', editable: false },
|
|
77
|
+
{ name: 'pre_sorteo', typeName: 'integer', editable: false, visible: false },
|
|
78
|
+
{ name: 'supervision_aleatoria', typeName: 'integer', editable: false },
|
|
79
|
+
{ name: 'supervision', typeName: 'integer', editable: false },
|
|
80
|
+
{ name: 'fin_campo', typeName: 'text', editable: puedeEditar },
|
|
81
|
+
{ name: 'proie', typeName: 'text', editable: puedeEditar },
|
|
82
|
+
{ name: 'pase_tabla', typeName: 'text', editable: false },
|
|
83
|
+
{ name: 'codcalle', typeName: 'integer', editable: false },
|
|
84
|
+
{ name: 'nomcalle', typeName: 'text', editable: false },
|
|
85
|
+
{ name: 'nrocatastral', typeName: 'integer', editable: false },
|
|
86
|
+
{ name: 'piso', typeName: 'text', editable: false },
|
|
87
|
+
{ name: 'departamento', typeName: 'text', editable: false },
|
|
88
|
+
{ name: 'habitacion', typeName: 'text', editable: false },
|
|
89
|
+
{ name: 'sector', typeName: 'text', editable: false },
|
|
90
|
+
{ name: 'edificio', typeName: 'text', editable: false },
|
|
91
|
+
{ name: 'entrada', typeName: 'text', editable: false },
|
|
92
|
+
{ name: 'barrio', typeName: 'text', editable: false },
|
|
93
|
+
//{name: "verificar" , typeName:'boolean', editable:true, inTable:false, clientSide:'verificarCaso'},
|
|
94
|
+
//{name: "finalizar_campo" , typeName:'boolean', editable:true, inTable:false, clientSide:'finalizarCampo'}, //fin_de_campo
|
|
95
|
+
//{name: "procesamiento" , typeName:'boolean', editable:true, inTable:false, clientSide:'pasarAProcesamiento', label: 'pasar a procesamiento'}, //procesamiento
|
|
96
|
+
{ name: 'fexp', typeName: 'integer', editable: false },
|
|
97
|
+
{ name: 'areaup', typeName: 'text', editable: false },
|
|
98
|
+
{ name: 'codpos', typeName: 'integer', editable: false },
|
|
99
|
+
{ name: 'dominio', typeName: 'integer', editable: false },
|
|
100
|
+
{ name: 'estrato_ing', typeName: 'integer', editable: false },
|
|
101
|
+
{ name: 'id_marco', typeName: 'bigint', editable: false },
|
|
102
|
+
{ name: 'obs', typeName: 'text', editable: false },
|
|
103
|
+
{ name: 'nrocomuna', typeName: 'integer', editable: false },
|
|
104
|
+
{ name: 'nrofraccion', typeName: 'integer', editable: false },
|
|
105
|
+
{ name: 'nroradio', typeName: 'integer', editable: false },
|
|
106
|
+
{ name: 'nromanzana', typeName: 'integer', editable: false },
|
|
107
|
+
{ name: 'nrolado', typeName: 'integer', editable: false },
|
|
108
|
+
{ name: 'usodomicilio', typeName: 'integer', editable: false },
|
|
109
|
+
{ name: 'orden_relevamiento', typeName: 'integer', editable: false },
|
|
110
|
+
{ name: 'mapa', typeName: 'integer', editable: false },
|
|
111
|
+
{ name: "consistido", typeName: 'timestamp', editable: false, inTable: false },
|
|
112
|
+
{ name: 'cargado_dm', typeName: 'text', editable: false, inTable: false },
|
|
113
|
+
{ name: 'participacion', typeName: 'integer', editable: false, visible: true },
|
|
114
|
+
{ name: 'rotacion', typeName: 'integer', editable: false, visible: true },
|
|
115
|
+
{ name: 'clase', typeName: 'text', editable: false, visible: true },
|
|
116
|
+
{ name: 'panel', typeName: 'integer', editable: false, visible: true },
|
|
117
|
+
//vacios o poco interesantes
|
|
118
|
+
{ name: 'codviviendaparticular', typeName: 'text', editable: false },
|
|
119
|
+
{ name: 'casa', typeName: 'text', editable: false },
|
|
120
|
+
{ name: 'obsdatosdomicilio', typeName: 'text', editable: false },
|
|
121
|
+
{ name: 'obsconjunto', typeName: 'text', editable: false },
|
|
122
|
+
{ name: 'reserva', typeName: 'integer', editable: false },
|
|
123
|
+
{ name: 'rotacion_etoi', typeName: 'integer', editable: false, visible: false },
|
|
124
|
+
{ name: 'rotacion_eah', typeName: 'integer', editable: false, visible: false },
|
|
125
|
+
{ name: 'trimestre', typeName: 'integer', editable: false, visible: false },
|
|
126
|
+
{ name: 'procedencia', typeName: 'text', editable: false, visible: false },
|
|
127
|
+
{ name: 'sel_etoi_villa', typeName: 'integer', editable: false, visible: false },
|
|
128
|
+
{ name: 'marco', typeName: 'integer', editable: false, visible: false },
|
|
129
|
+
{ name: 'semana', typeName: 'integer', editable: false, visible: false },
|
|
130
|
+
{ name: 'periodicidad', typeName: 'text', editable: false, visible: false },
|
|
131
|
+
//solo tem
|
|
132
|
+
{ name: 'json_encuesta', typeName: 'jsonb', editable: false },
|
|
133
|
+
{ name: "json_backup", typeName: 'jsonb', editable: false, visible: false },
|
|
134
|
+
{ name: "h4", typeName: 'text', editable: false },
|
|
135
|
+
{ name: "x", typeName: 'decimal', editable: false },
|
|
136
|
+
{ name: "y", typeName: 'decimal', editable: false },
|
|
137
|
+
{ name: 'notas', typeName: 'text', editable: false, inTable: false },
|
|
138
|
+
{ name: 'cita', typeName: 'text', editable: false },
|
|
139
|
+
{ name: "modificado", typeName: 'timestamp', editable: false },
|
|
140
|
+
{ name: "libre", typeName: "boolean", defaultDbValue: "true", visible: false, editable: false },
|
|
141
|
+
{ name: "fecha_bloqueo", typeName: "timestamp", visible: false, editable: false }
|
|
142
|
+
//{name:'obs_sup' , typeName:'text' , editable: isSupervisor },
|
|
143
|
+
//{name:'obs_coor' , typeName:'text' , editable: isCoordinador || isSubCoordinador },
|
|
144
|
+
],
|
|
145
|
+
"primaryKey": ["operativo", "enc"],
|
|
146
|
+
foreignKeys: [
|
|
147
|
+
{ references: 'areas', fields: ['operativo', 'area'] },
|
|
148
|
+
{ references: 'tareas', fields: [
|
|
149
|
+
{ source: 'operativo', target: 'operativo' },
|
|
150
|
+
{ source: 'tarea_actual', target: 'tarea' }
|
|
151
|
+
],
|
|
152
|
+
alias: 'taract'
|
|
153
|
+
},
|
|
154
|
+
{ references: 'tareas', fields: [
|
|
155
|
+
{ source: 'operativo', target: 'operativo' },
|
|
156
|
+
{ source: 'tarea_proxima', target: 'tarea' }
|
|
157
|
+
],
|
|
158
|
+
alias: 'tarprox'
|
|
159
|
+
},
|
|
160
|
+
{ references: 'estados', fields: [{ source: 'operativo', target: 'operativo' }, { source: 'estado_actual', target: 'estado' }] },
|
|
161
|
+
// {references:'usuarios', fields:[{source:'carga_persona', target:'idper'}], displayFields:['apellido','nombre']},
|
|
162
|
+
],
|
|
163
|
+
softForeignKeys: [
|
|
164
|
+
{ references: 'tokens', fields: [{ source: 'cargado_dm', target: 'token' }], displayFields: ['username'], displayAfterFieldName: 'cargado' }
|
|
165
|
+
],
|
|
166
|
+
"detailTables": [
|
|
167
|
+
{ table: "inconsistencias", abr: "I", fields: [{ source: 'operativo', target: 'operativo' }, { source: 'enc', target: 'vivienda' }] }
|
|
168
|
+
]
|
|
169
|
+
};
|
|
170
|
+
if (opts.recepcion) {
|
|
171
|
+
def.fields = def.fields.filter(f => !columnasSoloTem.includes(f.name));
|
|
172
|
+
def.hiddenColumns = [...def.hiddenColumns, ...columnasAreasParaLaTem.map(x => `areas__${x}`)];
|
|
173
|
+
def.foreignKeys = (_c = def.foreignKeys) === null || _c === void 0 ? void 0 : _c.map(function (f) { if (f.references == 'areas') {
|
|
174
|
+
f.displayFields = columnasAreasParaLaTem;
|
|
175
|
+
} ; return f; });
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
(_d = def.detailTables) === null || _d === void 0 ? void 0 : _d.unshift({ table: "tareas_tem", abr: "T", fields: ['operativo', 'enc'], label: 'tareas' });
|
|
179
|
+
def.fields = def.fields.filter(f => !columnasNoRea.map(fn => fn.name).includes(f.name));
|
|
180
|
+
}
|
|
181
|
+
;
|
|
182
|
+
const q = context.be.db.quoteIdent;
|
|
183
|
+
def.sql = {
|
|
184
|
+
isTable: !opts.recepcion,
|
|
185
|
+
isReferable: true,
|
|
186
186
|
from: `
|
|
187
187
|
(select
|
|
188
188
|
${def.fields.filter(f => f.inTable == undefined && !f.clientSide).map(f => 't.' + q(f.name)).join(',')}
|
|
@@ -199,10 +199,10 @@
|
|
|
199
199
|
left join no_rea y on y.no_rea::integer=t.norea
|
|
200
200
|
left join viviendas v on v.vivienda=t.enc
|
|
201
201
|
)
|
|
202
|
-
`
|
|
203
|
-
};
|
|
204
|
-
return def;
|
|
205
|
-
}
|
|
206
|
-
exports.tem = tem;
|
|
207
|
-
});
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci90YWJsZS10ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFJYixTQUFnQixHQUFHLENBQUMsT0FBZSxFQUFFLElBQVE7O1FBQ3pDLElBQUksSUFBSSxHQUFDLElBQUksSUFBRSxFQUFFLENBQUM7UUFDbEIsSUFBSSxTQUFTLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQSxDQUFDLENBQUEsWUFBWSxDQUFBLENBQUMsQ0FBQSxFQUFFLENBQUM7UUFDN0MsSUFBSSxFQUFFLEdBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNsQixJQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxLQUFJLE1BQUEsTUFBQSxPQUFPLENBQUMsS0FBSywwQ0FBRSxLQUFLLDBDQUFFLFdBQVcsQ0FBQSxJQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFHLGVBQWUsQ0FBQztRQUUzRyxJQUFJLHNCQUFzQixHQUFDLENBQUMsbUJBQW1CLEVBQUMsZ0JBQWdCLEVBQUMsZUFBZSxDQUFDLENBQUM7UUFFbEYsSUFBSSxhQUFhLEdBQUM7WUFDZCxFQUFDLElBQUksRUFBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtTQUN0QyxDQUFDO1FBQ0YsSUFBSSxlQUFlLEdBQUM7WUFDZCxjQUFjLEVBQUssZUFBZSxFQUFRLGFBQWE7WUFDdkQsSUFBSSxFQUFlLEdBQUcsRUFBUyxHQUFHLEVBQVEsTUFBTTtTQUNyRCxDQUFDO1FBQ0YsSUFBSSxHQUFHLEdBQW1CO1lBQ3RCLElBQUksRUFBQyxNQUFNLFNBQVMsRUFBRTtZQUN0QixTQUFTLEVBQUMsS0FBSztZQUNmLEtBQUssRUFBQztnQkFDRixNQUFNLEVBQUMsS0FBSztnQkFDWixNQUFNLEVBQUMsS0FBSzthQUNmO1lBQ0QsUUFBUSxFQUFFLFdBQVc7WUFDckIsYUFB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QUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBLEVBQUU7Ozs7Ozs7YUFPL0Y7U0FDSixDQUFDO1FBQ0YsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBN0xMLGtCQTZMSyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHtUYWJsZURlZmluaXRpb24sIENvbnRleHR9IGZyb20gXCIuL3R5cGVzLWRtZW5jdVwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRlbShjb250ZXh0OkNvbnRleHQsIG9wdHM6YW55KTpUYWJsZURlZmluaXRpb24ge1xyXG4gICAgdmFyIG9wdHM9b3B0c3x8e307XHJcbiAgICB2YXIgcmVjZXBjaW9uPW9wdHMucmVjZXBjaW9uPydfcmVjZXBjaW9uJzonJztcclxuICAgIHZhciBiZT1jb250ZXh0LmJlO1xyXG4gICAgdmFyIHB1ZWRlRWRpdGFyID0gY29udGV4dC5mb3JEdW1wIHx8IGNvbnRleHQucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhcnx8Y29udGV4dC51c2VyLnJvbD09PSdyZWNlcGNpb25pc3RhJztcclxuXHJcbiAgICB2YXIgY29sdW1uYXNBcmVhc1BhcmFMYVRlbT1bJ29ic19yZWNlcGNpb25pc3RhJywndmVyaWZpY2Fkb19yZWMnLCdyZWNlcGNpb25pc3RhJ107XHJcblxyXG4gICAgdmFyIGNvbHVtbmFzTm9SZWE9W1xyXG4gICAgICAgIHtuYW1lOidncnVfbm9fcmVhJywgZXhwcjogJ2dydXBvJyB9XHJcbiAgICBdO1xyXG4gICAgdmFyIGNvbHVtbmFzU29sb1RlbT1bXHJcbiAgICAgICAgICAnZW5jX29yaWdpbmFsJyAgICwgJ2pzb25fZW5jdWVzdGEnICAgICAgLCAnanNvbl9iYWNrdXAnXHJcbiAgICAgICAgLCAnaDQnICAgICAgICAgICAgICwgJ3gnICAgICAgICwgJ3knICAgICAgLCAnZmV4cCdcclxuICAgIF07XHJcbiAgICB2YXIgZGVmOiBUYWJsZURlZmluaXRpb249IHtcclxuICAgICAgICBuYW1lOmB0ZW0ke3JlY2VwY2lvbn1gLFxyXG4gICAgICAgIHRhYmxlTmFtZTondGVtJyxcclxuICAgICAgICBhbGxvdzp7XHJcbiAgICAgICAgICAgIGluc2VydDpmYWxzZSxcclxuICAgICAgICAgICAgZGVsZXRlOmZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZWRpdGFibGU6IHB1ZWRlRWRpdGFyLFxyXG4gICAgICAgIGhpZGRlbkNvbHVtbnM6W1xyXG4gICAgICAgICAgICAnY2l0YScsJ25vdGFzJywgJ2NsdXN0ZXInLFxyXG4gICAgICAgICAgICAnY29kdml2aWVuZGFwYXJ0aWN1bGFyJywgJ2Nhc2EnLCAnb2JzZGF0b3Nkb21pY2lsaW8nLCAnb2JzY29uanVudG8nLCAncmVzZXJ2YScsICdyb3RhY2lvbl9ldG9pJywgJ3JvdGFjaW9uX2VhaCdcclxuICAgICAgICAgICAgLCAndHJpbWVzdHJlJyAgICwgJ3Byb2NlZGVuY2lhJywgJ3NlbF9ldG9pX3ZpbGxhJyAgICwgJ21hcmNvJyAgICAgICwgJ3NlbWFuYScgLCAncGVyaW9kaWNpZGFkJyBcclxuICAgICAgICAgICAgLCAnY2FyZ2Fkb19kbSdcclxuICAgICAgICBdLFxyXG4gICAgICAgIFwiZmllbGRzXCI6IFtcclxuICAgICAgICAgICAge25hbWU6J29wZXJhdGl2bycgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLCBudWxsYWJsZTogZmFsc2UsIGRlZmF1bHRWYWx1ZTogJ2V0b2kyMTEnfSxcclxuICAgICAgICAgICAge25hbWU6J2VuYycgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLCBudWxsYWJsZTogZmFsc2UgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOiBcImFicmlyXCIgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLCBpblRhYmxlOmZhbHNlLCBjbGllbnRTaWRlOidhYnJpcid9LFxyXG4gICAgICAgICAgICB7bmFtZTpcImNvbnNpc3RpclwiICAgICAgICAgICAgLCB0eXBlTmFtZTogJ3RleHQnICAgLCBlZGl0YWJsZTogZmFsc2UgICwgaW5UYWJsZTpmYWxzZSwgY2xpZW50U2lkZTonY29uc2lzdGlyJ30sXHJcbiAgICAgICAgICAgIHtuYW1lOiBcImNsdXN0ZXJcIiAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSwgaXNOYW1lOnRydWV9LFxyXG4gICAgICAgICAgICB7bmFtZTondGFyZWFfYWN0dWFsJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZXN0YWRvX2FjdHVhbCcgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAgLCBudWxsYWJsZTogZmFsc2UsIGRlZmF1bHREYlZhbHVlOlwiJzBEJ1wifSxcclxuICAgICAgICAgICAge25hbWU6XCJoYWJpbGl0YXJcIiAgICAgICAgICAgICwgdHlwZU5hbWU6IFwidGV4dFwiICAgLCBlZGl0YWJsZTpmYWxzZSAgICwgaW5UYWJsZTpmYWxzZSwgY2xpZW50U2lkZTonaGFiaWxpdGFyJ30sXHJcbiAgICAgICAgICAgIHtuYW1lOlwiaGFiaWxpdGFkYVwiICAgICAgICAgICAsIHR5cGVOYW1lOiAnYm9vbGVhbicsIGVkaXRhYmxlOnB1ZWRlRWRpdGFyLCBudWxsYWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTondGFyZWFfcHJveGltYScgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonYXJlYScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonem9uYScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncmVhJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm9yZWEnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FudF9oJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FudF9wJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonc2VsZWNjaW9uYWRvJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4vLyAgICAgICAgICAgIHtuYW1lOidzZXhvX3NlbCcgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbi8vICAgICAgICAgICAge25hbWU6J2VkYWRfc2VsJyAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Jlc3VsdGFkbycgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2dydV9ub19yZWEnICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6ZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZXN1bWVuX2VzdGFkbycgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjYXJnYWRvJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAgLy97bmFtZTonZW5jdV9oYWJpbGl0YWRhJyAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J2VuY3VfY2FyZ2FkbycgICAgICAgICAsIHR5cGVOYW1lOidib29sZWFuJyAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZW5jdWVzdGFkb3InICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J3JlY3VfaGFiaWxpdGFkYScgICAgICAsIHR5cGVOYW1lOidib29sZWFuJyAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidyZWN1X2NhcmdhZG8nICAgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3JlY3VwZXJhZG9yJyAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidzdXBlX2hhYmlsaXRhZGEnICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAgLy97bmFtZTonc3VwZV9jYXJnYWRvJyAgICAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzdXBlcnZpc29yJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3JlYV9zdXAnICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm9yZWFfc3VwJyAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZXN1bWVuX2VzdGFkb19zdXAnICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J3ByZV9zb3J0ZW8nICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2UsIHZpc2libGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J3N1cGVydmlzaW9uX2FsZWF0b3JpYScsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonc3VwZXJ2aXNpb24nICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidmaW5fY2FtcG8nICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogcHVlZGVFZGl0YXIgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwcm9pZScgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogcHVlZGVFZGl0YXIgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwYXNlX3RhYmxhJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjb2RjYWxsZScgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidub21jYWxsZScgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOiducm9jYXRhc3RyYWwnICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwaXNvJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidkZXBhcnRhbWVudG8nICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidoYWJpdGFjaW9uJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzZWN0b3InICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidlZGlmaWNpbycgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidlbnRyYWRhJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidiYXJyaW8nICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6IFwidmVyaWZpY2FyXCIgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicsIGVkaXRhYmxlOnRydWUsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J3ZlcmlmaWNhckNhc28nfSxcclxuICAgICAgICAgICAgLy97bmFtZTogXCJmaW5hbGl6YXJfY2FtcG9cIiAsIHR5cGVOYW1lOidib29sZWFuJywgZWRpdGFibGU6dHJ1ZSwgaW5UYWJsZTpmYWxzZSwgY2xpZW50U2lkZTonZmluYWxpemFyQ2FtcG8nfSwgLy9maW5fZGVfY2FtcG9cclxuICAgICAgICAgICAgLy97bmFtZTogXCJwcm9jZXNhbWllbnRvXCIgICAsIHR5cGVOYW1lOidib29sZWFuJywgZWRpdGFibGU6dHJ1ZSwgaW5UYWJsZTpmYWxzZSwgY2xpZW50U2lkZToncGFzYXJBUHJvY2VzYW1pZW50bycsIGxhYmVsOiAncGFzYXIgYSBwcm9jZXNhbWllbnRvJ30sIC8vcHJvY2VzYW1pZW50b1xyXG4gICAgICAgICAgICB7bmFtZTonZmV4cCcgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonYXJlYXVwJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY29kcG9zJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZG9taW5pbycgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZXN0cmF0b19pbmcnICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonaWRfbWFyY28nICAgICAgICAgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonb2JzJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvY29tdW5hJyAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvZnJhY2Npb24nICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvcmFkaW8nICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvbWFuemFuYScgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvbGFkbycgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTondXNvZG9taWNpbGlvJyAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonb3JkZW5fcmVsZXZhbWllbnRvJyAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbWFwYScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTogXCJjb25zaXN0aWRvXCIgICAgICAgICAgLCB0eXBlTmFtZTogJ3RpbWVzdGFtcCcsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6ZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjYXJnYWRvX2RtJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3BhcnRpY2lwYWNpb24nICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IHRydWUgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyb3RhY2lvbicgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiB0cnVlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2xhc2UnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogdHJ1ZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3BhbmVsJyAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IHRydWUgIH0sXHJcbiAgICAgICAgICAgIC8vdmFjaW9zIG8gcG9jbyBpbnRlcmVzYW50ZXNcclxuICAgICAgICAgICAge25hbWU6J2NvZHZpdmllbmRhcGFydGljdWxhcicsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2Nhc2EnICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J29ic2RhdG9zZG9taWNpbGlvJyAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J29ic2Nvbmp1bnRvJyAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Jlc2VydmEnICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3JvdGFjaW9uX2V0b2knICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncm90YWNpb25fZWFoJyAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOid0cmltZXN0cmUnICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Byb2NlZGVuY2lhJyAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonc2VsX2V0b2lfdmlsbGEnICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidtYXJjbycgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3NlbWFuYScgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncGVyaW9kaWNpZGFkJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8vc29sbyB0ZW0gXHJcbiAgICAgICAgICAgIHtuYW1lOidqc29uX2VuY3Vlc3RhJyAgICAgICAgLCB0eXBlTmFtZTonanNvbmInICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwianNvbl9iYWNrdXBcIiAgICAgICAgICAsIHR5cGVOYW1lOidqc29uYicgICAsIGVkaXRhYmxlOiBmYWxzZSwgdmlzaWJsZTpmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwiaDRcIiAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6XCJ4XCIgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2RlY2ltYWwnICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTpcInlcIiAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonZGVjaW1hbCcgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidub3RhcycgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UsIGluVGFibGU6ZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2l0YScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTpcIm1vZGlmaWNhZG9cIiAgICAgICAgICAgLCB0eXBlTmFtZTogJ3RpbWVzdGFtcCcsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOiBcImxpYnJlXCIgLCB0eXBlTmFtZTogXCJib29sZWFuXCIsIGRlZmF1bHREYlZhbHVlOlwidHJ1ZVwiICAsIHZpc2libGU6ZmFsc2UsIGVkaXRhYmxlOmZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6IFwiZmVjaGFfYmxvcXVlb1wiLCB0eXBlTmFtZTogXCJ0aW1lc3RhbXBcIiwgdmlzaWJsZTpmYWxzZSwgZWRpdGFibGU6ZmFsc2V9XHJcbiAgICAgICAgICAgIC8ve25hbWU6J29ic19zdXAnICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAsIGVkaXRhYmxlOiBpc1N1cGVydmlzb3IgICAgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J29ic19jb29yJyAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAsIGVkaXRhYmxlOiBpc0Nvb3JkaW5hZG9yIHx8IGlzU3ViQ29vcmRpbmFkb3IgfSwgIFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgXCJwcmltYXJ5S2V5XCI6IFsgXCJvcGVyYXRpdm9cIiwgXCJlbmNcIiBdLFxyXG4gICAgICAgIGZvcmVpZ25LZXlzOltcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J2FyZWFzJyAgICwgZmllbGRzOlsnb3BlcmF0aXZvJywgJ2FyZWEnXX0sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid0YXJlYXMnICwgZmllbGRzOltcclxuICAgICAgICAgICAgICAgIHtzb3VyY2U6J29wZXJhdGl2bycsIHRhcmdldDonb3BlcmF0aXZvJ30sXHJcbiAgICAgICAgICAgICAgICB7c291cmNlOid0YXJlYV9hY3R1YWwnLCB0YXJnZXQ6J3RhcmVhJ31cclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIGFsaWFzOid0YXJhY3QnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid0YXJlYXMnICwgZmllbGRzOltcclxuICAgICAgICAgICAgICAgIHtzb3VyY2U6J29wZXJhdGl2bycsIHRhcmdldDonb3BlcmF0aXZvJ30sXHJcbiAgICAgICAgICAgICAgICB7c291cmNlOid0YXJlYV9wcm94aW1hJywgdGFyZ2V0Oid0YXJlYSd9XHJcbiAgICAgICAgICAgIF0sIFxyXG4gICAgICAgICAgICAgICAgYWxpYXM6J3RhcnByb3gnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOidlc3RhZG9zJyAsIGZpZWxkczpbe3NvdXJjZTonb3BlcmF0aXZvJywgdGFyZ2V0OidvcGVyYXRpdm8nfSx7c291cmNlOidlc3RhZG9fYWN0dWFsJywgdGFyZ2V0Oidlc3RhZG8nfV19LFxyXG4gICAgICAgIC8vICAgIHtyZWZlcmVuY2VzOid1c3VhcmlvcycsIGZpZWxkczpbe3NvdXJjZTonY2FyZ2FfcGVyc29uYScsIHRhcmdldDonaWRwZXInfV0sIGRpc3BsYXlGaWVsZHM6WydhcGVsbGlkbycsJ25vbWJyZSddfSxcclxuICAgICAgICBdLCAgICAgICAgXHJcbiAgICAgICAgc29mdEZvcmVpZ25LZXlzOltcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3Rva2VucycsIGZpZWxkczpbe3NvdXJjZTonY2FyZ2Fkb19kbScsIHRhcmdldDondG9rZW4nfV0sIGRpc3BsYXlGaWVsZHM6Wyd1c2VybmFtZSddLCBkaXNwbGF5QWZ0ZXJGaWVsZE5hbWU6J2NhcmdhZG8nfVxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgXCJkZXRhaWxUYWJsZXNcIjogW1xyXG4gICAgICAgICAgICB7dGFibGU6IFwiaW5jb25zaXN0ZW5jaWFzXCIsIGFicjogXCJJXCIsIGZpZWxkczogW3tzb3VyY2U6J29wZXJhdGl2bycsIHRhcmdldDonb3BlcmF0aXZvJ30se3NvdXJjZTonZW5jJywgdGFyZ2V0Oid2aXZpZW5kYSd9XX1cclxuICAgICAgICBdXHJcbiAgICB9O1xyXG4gICAgaWYgKG9wdHMucmVjZXBjaW9uKSB7XHJcbiAgICAgICAgZGVmLmZpZWxkcz1kZWYuZmllbGRzLmZpbHRlcihmPT4hY29sdW1uYXNTb2xvVGVtLmluY2x1ZGVzKGYubmFtZSkgKVxyXG4gICAgICAgIGRlZi5oaWRkZW5Db2x1bW5zPVsuLi5kZWYuaGlkZGVuQ29sdW1ucywgLi4uY29sdW1uYXNBcmVhc1BhcmFMYVRlbS5tYXAoeD0+YGFyZWFzX18ke3h9YCldXHJcbiAgICAgICAgZGVmLmZvcmVpZ25LZXlzPWRlZi5mb3JlaWduS2V5cz8ubWFwKGZ1bmN0aW9uIChmKSB7aWYgKGYucmVmZXJlbmNlcz09J2FyZWFzJyl7Zi5kaXNwbGF5RmllbGRzPWNvbHVtbmFzQXJlYXNQYXJhTGFUZW19OyByZXR1cm4gZn0pIFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBkZWYuZGV0YWlsVGFibGVzPy51bnNoaWZ0KHt0YWJsZTogXCJ0YXJlYXNfdGVtXCIsIGFicjogXCJUXCIsIGZpZWxkczogWydvcGVyYXRpdm8nLCAnZW5jJ10sIGxhYmVsOid0YXJlYXMnfSlcclxuICAgICAgICBkZWYuZmllbGRzPWRlZi5maWVsZHMuZmlsdGVyKGY9PiFjb2x1bW5hc05vUmVhLm1hcChmbj0+Zm4ubmFtZSkuaW5jbHVkZXMoZi5uYW1lKSApXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcT1jb250ZXh0LmJlLmRiLnF1b3RlSWRlbnQ7XHJcbiAgICBkZWYuc3FsPSB7XHJcbiAgICAgICAgICAgIGlzVGFibGU6IW9wdHMucmVjZXBjaW9uLCAvL1RPRE86IHJlc29sdmVyIGNvbW8gc2FjYXJsbyBkZWwgZHVtcFxyXG4gICAgICAgICAgICBpc1JlZmVyYWJsZTp0cnVlLFxyXG4gICAgICAgICAgICBmcm9tOmBcclxuICAgICAgICAgICAgICAgIChzZWxlY3RcclxuICAgICAgICAgICAgICAgICAgICAke2RlZi5maWVsZHMuZmlsdGVyKGY9PmYuaW5UYWJsZT09dW5kZWZpbmVkICYmICFmLmNsaWVudFNpZGUpLm1hcChmPT4ndC4nK3EoZi5uYW1lKSkuam9pbignLCcpfVxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuY2FyZ2FkbywgdHQuY2FyZ2Fkb19kbVxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuZXRhcmVhcy0+J2VuY3UnLT4+J2FzaWduYWRvJyBhcyBlbmN1ZXN0YWRvclxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuZXRhcmVhcy0+J3JlY3UnLT4+J2FzaWduYWRvJyBhcyByZWN1cGVyYWRvclxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuZXRhcmVhcy0+J3N1cGUnLT4+J2FzaWduYWRvJyBhcyBzdXBlcnZpc29yXHJcbiAgICAgICAgICAgICAgICAgICAgLCBudWxsIG5vdGFzXHJcbiAgICAgICAgICAgICAgICAgICAgLCB2LmNvbnNpc3RpZG9cclxuICAgICAgICAgICAgICAgICAgICAke29wdHMucmVjZXBjaW9uPyBjb2x1bW5hc05vUmVhLm1hcCh2PT4nXFxuICAgICAsICcrIHYuZXhwciArJyBhcyAnKyB2Lm5hbWUpLmpvaW4oJycpIDonJ31cclxuICAgICAgICAgICAgICAgICAgICBmcm9tIHRlbSB0IGxlZnQgam9pbiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdCB0dC5vcGVyYXRpdm8sIHR0LmVuYywgYm9vbF9vcihjYXJnYWRvKSBjYXJnYWRvLCBzdHJpbmdfYWdnKGNhcmdhZG9fZG0sJywnKSBjYXJnYWRvX2RtLGpzb25iX29iamVjdF9hZ2codGFyZWEsanNvbmJfYnVpbGRfb2JqZWN0KCdhc2lnbmFkbycsYXNpZ25hZG8sJ2NhcmdhZG8nLGNhcmdhZG8sJ2NhcmdhZG9fZG0nLGNhcmdhZG9fZG0pKWV0YXJlYXMgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIHRhcmVhc190ZW0gdHQgZ3JvdXAgYnkgdHQub3BlcmF0aXZvLCB0dC5lbmMgICl0dCBvbiB0Lm9wZXJhdGl2bz10dC5vcGVyYXRpdm8gYW5kIHQuZW5jPXR0LmVuY1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIG5vX3JlYSB5IG9uIHkubm9fcmVhOjppbnRlZ2VyPXQubm9yZWFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiB2aXZpZW5kYXMgdiBvbiB2LnZpdmllbmRhPXQuZW5jIFxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICBgICAgICBcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBkZWY7XHJcbiAgICB9XHJcbiAgICAiXX0=
|
|
202
|
+
`
|
|
203
|
+
};
|
|
204
|
+
return def;
|
|
205
|
+
}
|
|
206
|
+
exports.tem = tem;
|
|
207
|
+
});
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci90YWJsZS10ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFJYixTQUFnQixHQUFHLENBQUMsT0FBZSxFQUFFLElBQVE7O1FBQ3pDLElBQUksSUFBSSxHQUFDLElBQUksSUFBRSxFQUFFLENBQUM7UUFDbEIsSUFBSSxTQUFTLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQSxDQUFDLENBQUEsWUFBWSxDQUFBLENBQUMsQ0FBQSxFQUFFLENBQUM7UUFDN0MsSUFBSSxFQUFFLEdBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNsQixJQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxLQUFJLE1BQUEsTUFBQSxPQUFPLENBQUMsS0FBSywwQ0FBRSxLQUFLLDBDQUFFLFdBQVcsQ0FBQSxJQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFHLGVBQWUsQ0FBQztRQUUzRyxJQUFJLHNCQUFzQixHQUFDLENBQUMsbUJBQW1CLEVBQUMsZ0JBQWdCLEVBQUMsZUFBZSxDQUFDLENBQUM7UUFFbEYsSUFBSSxhQUFhLEdBQUM7WUFDZCxFQUFDLElBQUksRUFBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtTQUN0QyxDQUFDO1FBQ0YsSUFBSSxlQUFlLEdBQUM7WUFDZCxjQUFjLEVBQUssZUFBZSxFQUFRLGFBQWE7WUFDdkQsSUFBSSxFQUFlLEdBQUcsRUFBUyxHQUFHLEVBQVEsTUFBTTtTQUNyRCxDQUFDO1FBQ0YsSUFBSSxHQUFHLEdBQW1CO1lBQ3RCLElBQUksRUFBQyxNQUFNLFNBQVMsRUFBRTtZQUN0QixTQUFTLEVBQUMsS0FBSztZQUNmLEtBQUssRUFBQztnQkFDRixNQUFNLEVBQUMsS0FBSztnQkFDWixNQUFNLEVBQUMsS0FBSzthQUNmO1lBQ0QsUUFBUSxFQUFFLFdBQVc7WUFDckIsYUFB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TUFBTSxHQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBLEVBQUU7Ozs7Ozs7YUFPL0Y7U0FDSixDQUFDO1FBQ0YsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBN0xMLGtCQTZMSyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHtUYWJsZURlZmluaXRpb24sIENvbnRleHR9IGZyb20gXCIuL3R5cGVzLWRtZW5jdVwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRlbShjb250ZXh0OkNvbnRleHQsIG9wdHM6YW55KTpUYWJsZURlZmluaXRpb24ge1xyXG4gICAgdmFyIG9wdHM9b3B0c3x8e307XHJcbiAgICB2YXIgcmVjZXBjaW9uPW9wdHMucmVjZXBjaW9uPydfcmVjZXBjaW9uJzonJztcclxuICAgIHZhciBiZT1jb250ZXh0LmJlO1xyXG4gICAgdmFyIHB1ZWRlRWRpdGFyID0gY29udGV4dC5mb3JEdW1wIHx8IGNvbnRleHQucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhcnx8Y29udGV4dC51c2VyLnJvbD09PSdyZWNlcGNpb25pc3RhJztcclxuXHJcbiAgICB2YXIgY29sdW1uYXNBcmVhc1BhcmFMYVRlbT1bJ29ic19yZWNlcGNpb25pc3RhJywndmVyaWZpY2Fkb19yZWMnLCdyZWNlcGNpb25pc3RhJ107XHJcblxyXG4gICAgdmFyIGNvbHVtbmFzTm9SZWE9W1xyXG4gICAgICAgIHtuYW1lOidncnVfbm9fcmVhJywgZXhwcjogJ2dydXBvJyB9XHJcbiAgICBdO1xyXG4gICAgdmFyIGNvbHVtbmFzU29sb1RlbT1bXHJcbiAgICAgICAgICAnZW5jX29yaWdpbmFsJyAgICwgJ2pzb25fZW5jdWVzdGEnICAgICAgLCAnanNvbl9iYWNrdXAnXHJcbiAgICAgICAgLCAnaDQnICAgICAgICAgICAgICwgJ3gnICAgICAgICwgJ3knICAgICAgLCAnZmV4cCdcclxuICAgIF07XHJcbiAgICB2YXIgZGVmOiBUYWJsZURlZmluaXRpb249IHtcclxuICAgICAgICBuYW1lOmB0ZW0ke3JlY2VwY2lvbn1gLFxyXG4gICAgICAgIHRhYmxlTmFtZTondGVtJyxcclxuICAgICAgICBhbGxvdzp7XHJcbiAgICAgICAgICAgIGluc2VydDpmYWxzZSxcclxuICAgICAgICAgICAgZGVsZXRlOmZhbHNlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZWRpdGFibGU6IHB1ZWRlRWRpdGFyLFxyXG4gICAgICAgIGhpZGRlbkNvbHVtbnM6W1xyXG4gICAgICAgICAgICAnY2l0YScsJ25vdGFzJywgJ2NsdXN0ZXInLFxyXG4gICAgICAgICAgICAnY29kdml2aWVuZGFwYXJ0aWN1bGFyJywgJ2Nhc2EnLCAnb2JzZGF0b3Nkb21pY2lsaW8nLCAnb2JzY29uanVudG8nLCAncmVzZXJ2YScsICdyb3RhY2lvbl9ldG9pJywgJ3JvdGFjaW9uX2VhaCdcclxuICAgICAgICAgICAgLCAndHJpbWVzdHJlJyAgICwgJ3Byb2NlZGVuY2lhJywgJ3NlbF9ldG9pX3ZpbGxhJyAgICwgJ21hcmNvJyAgICAgICwgJ3NlbWFuYScgLCAncGVyaW9kaWNpZGFkJyBcclxuICAgICAgICAgICAgLCAnY2FyZ2Fkb19kbScsICdlc3RhZG9zX19wZXJtaXRlX2VkaXRhcl9lbmN1ZXN0YSdcclxuICAgICAgICBdLFxyXG4gICAgICAgIFwiZmllbGRzXCI6IFtcclxuICAgICAgICAgICAge25hbWU6J29wZXJhdGl2bycgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLCBudWxsYWJsZTogZmFsc2UsIGRlZmF1bHRWYWx1ZTogJ2V0b2kyMTEnfSxcclxuICAgICAgICAgICAge25hbWU6J2VuYycgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLCBudWxsYWJsZTogZmFsc2UgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOiBcImFicmlyXCIgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLCBpblRhYmxlOmZhbHNlLCBjbGllbnRTaWRlOidhYnJpcid9LFxyXG4gICAgICAgICAgICB7bmFtZTpcImNvbnNpc3RpclwiICAgICAgICAgICAgLCB0eXBlTmFtZTogJ3RleHQnICAgLCBlZGl0YWJsZTogZmFsc2UgICwgaW5UYWJsZTpmYWxzZSwgY2xpZW50U2lkZTonY29uc2lzdGlyJ30sXHJcbiAgICAgICAgICAgIHtuYW1lOiBcImNsdXN0ZXJcIiAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSwgaXNOYW1lOnRydWV9LFxyXG4gICAgICAgICAgICB7bmFtZTondGFyZWFfYWN0dWFsJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZXN0YWRvX2FjdHVhbCcgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAgLCBudWxsYWJsZTogZmFsc2UsIGRlZmF1bHREYlZhbHVlOlwiJzBEJ1wifSxcclxuICAgICAgICAgICAge25hbWU6XCJoYWJpbGl0YXJcIiAgICAgICAgICAgICwgdHlwZU5hbWU6IFwidGV4dFwiICAgLCBlZGl0YWJsZTpmYWxzZSAgICwgaW5UYWJsZTpmYWxzZSwgY2xpZW50U2lkZTonaGFiaWxpdGFyJ30sXHJcbiAgICAgICAgICAgIHtuYW1lOlwiaGFiaWxpdGFkYVwiICAgICAgICAgICAsIHR5cGVOYW1lOiAnYm9vbGVhbicsIGVkaXRhYmxlOnB1ZWRlRWRpdGFyLCBudWxsYWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTondGFyZWFfcHJveGltYScgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonYXJlYScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonem9uYScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncmVhJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm9yZWEnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FudF9oJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FudF9wJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonc2VsZWNjaW9uYWRvJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4vLyAgICAgICAgICAgIHtuYW1lOidzZXhvX3NlbCcgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbi8vICAgICAgICAgICAge25hbWU6J2VkYWRfc2VsJyAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Jlc3VsdGFkbycgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2dydV9ub19yZWEnICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6ZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZXN1bWVuX2VzdGFkbycgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjYXJnYWRvJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAgLy97bmFtZTonZW5jdV9oYWJpbGl0YWRhJyAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J2VuY3VfY2FyZ2FkbycgICAgICAgICAsIHR5cGVOYW1lOidib29sZWFuJyAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZW5jdWVzdGFkb3InICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J3JlY3VfaGFiaWxpdGFkYScgICAgICAsIHR5cGVOYW1lOidib29sZWFuJyAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidyZWN1X2NhcmdhZG8nICAgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3JlY3VwZXJhZG9yJyAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidzdXBlX2hhYmlsaXRhZGEnICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAgLy97bmFtZTonc3VwZV9jYXJnYWRvJyAgICAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzdXBlcnZpc29yJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3JlYV9zdXAnICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm9yZWFfc3VwJyAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZXN1bWVuX2VzdGFkb19zdXAnICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J3ByZV9zb3J0ZW8nICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2UsIHZpc2libGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J3N1cGVydmlzaW9uX2FsZWF0b3JpYScsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonc3VwZXJ2aXNpb24nICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidmaW5fY2FtcG8nICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogcHVlZGVFZGl0YXIgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwcm9pZScgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogcHVlZGVFZGl0YXIgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwYXNlX3RhYmxhJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjb2RjYWxsZScgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidub21jYWxsZScgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOiducm9jYXRhc3RyYWwnICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwaXNvJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidkZXBhcnRhbWVudG8nICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidoYWJpdGFjaW9uJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzZWN0b3InICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidlZGlmaWNpbycgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidlbnRyYWRhJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidiYXJyaW8nICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6IFwidmVyaWZpY2FyXCIgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicsIGVkaXRhYmxlOnRydWUsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J3ZlcmlmaWNhckNhc28nfSxcclxuICAgICAgICAgICAgLy97bmFtZTogXCJmaW5hbGl6YXJfY2FtcG9cIiAsIHR5cGVOYW1lOidib29sZWFuJywgZWRpdGFibGU6dHJ1ZSwgaW5UYWJsZTpmYWxzZSwgY2xpZW50U2lkZTonZmluYWxpemFyQ2FtcG8nfSwgLy9maW5fZGVfY2FtcG9cclxuICAgICAgICAgICAgLy97bmFtZTogXCJwcm9jZXNhbWllbnRvXCIgICAsIHR5cGVOYW1lOidib29sZWFuJywgZWRpdGFibGU6dHJ1ZSwgaW5UYWJsZTpmYWxzZSwgY2xpZW50U2lkZToncGFzYXJBUHJvY2VzYW1pZW50bycsIGxhYmVsOiAncGFzYXIgYSBwcm9jZXNhbWllbnRvJ30sIC8vcHJvY2VzYW1pZW50b1xyXG4gICAgICAgICAgICB7bmFtZTonZmV4cCcgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonYXJlYXVwJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY29kcG9zJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZG9taW5pbycgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZXN0cmF0b19pbmcnICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonaWRfbWFyY28nICAgICAgICAgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonb2JzJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvY29tdW5hJyAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvZnJhY2Npb24nICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvcmFkaW8nICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvbWFuemFuYScgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvbGFkbycgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTondXNvZG9taWNpbGlvJyAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonb3JkZW5fcmVsZXZhbWllbnRvJyAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbWFwYScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTogXCJjb25zaXN0aWRvXCIgICAgICAgICAgLCB0eXBlTmFtZTogJ3RpbWVzdGFtcCcsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6ZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjYXJnYWRvX2RtJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3BhcnRpY2lwYWNpb24nICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IHRydWUgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyb3RhY2lvbicgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiB0cnVlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2xhc2UnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogdHJ1ZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3BhbmVsJyAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IHRydWUgIH0sXHJcbiAgICAgICAgICAgIC8vdmFjaW9zIG8gcG9jbyBpbnRlcmVzYW50ZXNcclxuICAgICAgICAgICAge25hbWU6J2NvZHZpdmllbmRhcGFydGljdWxhcicsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2Nhc2EnICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J29ic2RhdG9zZG9taWNpbGlvJyAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J29ic2Nvbmp1bnRvJyAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Jlc2VydmEnICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3JvdGFjaW9uX2V0b2knICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncm90YWNpb25fZWFoJyAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOid0cmltZXN0cmUnICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Byb2NlZGVuY2lhJyAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonc2VsX2V0b2lfdmlsbGEnICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidtYXJjbycgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3NlbWFuYScgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncGVyaW9kaWNpZGFkJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8vc29sbyB0ZW0gXHJcbiAgICAgICAgICAgIHtuYW1lOidqc29uX2VuY3Vlc3RhJyAgICAgICAgLCB0eXBlTmFtZTonanNvbmInICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwianNvbl9iYWNrdXBcIiAgICAgICAgICAsIHR5cGVOYW1lOidqc29uYicgICAsIGVkaXRhYmxlOiBmYWxzZSwgdmlzaWJsZTpmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwiaDRcIiAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6XCJ4XCIgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2RlY2ltYWwnICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTpcInlcIiAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonZGVjaW1hbCcgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidub3RhcycgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UsIGluVGFibGU6ZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2l0YScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTpcIm1vZGlmaWNhZG9cIiAgICAgICAgICAgLCB0eXBlTmFtZTogJ3RpbWVzdGFtcCcsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOiBcImxpYnJlXCIgLCB0eXBlTmFtZTogXCJib29sZWFuXCIsIGRlZmF1bHREYlZhbHVlOlwidHJ1ZVwiICAsIHZpc2libGU6ZmFsc2UsIGVkaXRhYmxlOmZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6IFwiZmVjaGFfYmxvcXVlb1wiLCB0eXBlTmFtZTogXCJ0aW1lc3RhbXBcIiwgdmlzaWJsZTpmYWxzZSwgZWRpdGFibGU6ZmFsc2V9XHJcbiAgICAgICAgICAgIC8ve25hbWU6J29ic19zdXAnICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAsIGVkaXRhYmxlOiBpc1N1cGVydmlzb3IgICAgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J29ic19jb29yJyAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAsIGVkaXRhYmxlOiBpc0Nvb3JkaW5hZG9yIHx8IGlzU3ViQ29vcmRpbmFkb3IgfSwgIFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgXCJwcmltYXJ5S2V5XCI6IFsgXCJvcGVyYXRpdm9cIiwgXCJlbmNcIiBdLFxyXG4gICAgICAgIGZvcmVpZ25LZXlzOltcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J2FyZWFzJyAgICwgZmllbGRzOlsnb3BlcmF0aXZvJywgJ2FyZWEnXX0sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid0YXJlYXMnICwgZmllbGRzOltcclxuICAgICAgICAgICAgICAgIHtzb3VyY2U6J29wZXJhdGl2bycsIHRhcmdldDonb3BlcmF0aXZvJ30sXHJcbiAgICAgICAgICAgICAgICB7c291cmNlOid0YXJlYV9hY3R1YWwnLCB0YXJnZXQ6J3RhcmVhJ31cclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIGFsaWFzOid0YXJhY3QnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid0YXJlYXMnICwgZmllbGRzOltcclxuICAgICAgICAgICAgICAgIHtzb3VyY2U6J29wZXJhdGl2bycsIHRhcmdldDonb3BlcmF0aXZvJ30sXHJcbiAgICAgICAgICAgICAgICB7c291cmNlOid0YXJlYV9wcm94aW1hJywgdGFyZ2V0Oid0YXJlYSd9XHJcbiAgICAgICAgICAgIF0sIFxyXG4gICAgICAgICAgICAgICAgYWxpYXM6J3RhcnByb3gnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOidlc3RhZG9zJyAsIGZpZWxkczpbe3NvdXJjZTonb3BlcmF0aXZvJywgdGFyZ2V0OidvcGVyYXRpdm8nfSx7c291cmNlOidlc3RhZG9fYWN0dWFsJywgdGFyZ2V0Oidlc3RhZG8nfV19LFxyXG4gICAgICAgIC8vICAgIHtyZWZlcmVuY2VzOid1c3VhcmlvcycsIGZpZWxkczpbe3NvdXJjZTonY2FyZ2FfcGVyc29uYScsIHRhcmdldDonaWRwZXInfV0sIGRpc3BsYXlGaWVsZHM6WydhcGVsbGlkbycsJ25vbWJyZSddfSxcclxuICAgICAgICBdLCAgICAgICAgXHJcbiAgICAgICAgc29mdEZvcmVpZ25LZXlzOltcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3Rva2VucycsIGZpZWxkczpbe3NvdXJjZTonY2FyZ2Fkb19kbScsIHRhcmdldDondG9rZW4nfV0sIGRpc3BsYXlGaWVsZHM6Wyd1c2VybmFtZSddLCBkaXNwbGF5QWZ0ZXJGaWVsZE5hbWU6J2NhcmdhZG8nfVxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgXCJkZXRhaWxUYWJsZXNcIjogW1xyXG4gICAgICAgICAgICB7dGFibGU6IFwiaW5jb25zaXN0ZW5jaWFzXCIsIGFicjogXCJJXCIsIGZpZWxkczogW3tzb3VyY2U6J29wZXJhdGl2bycsIHRhcmdldDonb3BlcmF0aXZvJ30se3NvdXJjZTonZW5jJywgdGFyZ2V0Oid2aXZpZW5kYSd9XX1cclxuICAgICAgICBdXHJcbiAgICB9O1xyXG4gICAgaWYgKG9wdHMucmVjZXBjaW9uKSB7XHJcbiAgICAgICAgZGVmLmZpZWxkcz1kZWYuZmllbGRzLmZpbHRlcihmPT4hY29sdW1uYXNTb2xvVGVtLmluY2x1ZGVzKGYubmFtZSkgKVxyXG4gICAgICAgIGRlZi5oaWRkZW5Db2x1bW5zPVsuLi5kZWYuaGlkZGVuQ29sdW1ucywgLi4uY29sdW1uYXNBcmVhc1BhcmFMYVRlbS5tYXAoeD0+YGFyZWFzX18ke3h9YCldXHJcbiAgICAgICAgZGVmLmZvcmVpZ25LZXlzPWRlZi5mb3JlaWduS2V5cz8ubWFwKGZ1bmN0aW9uIChmKSB7aWYgKGYucmVmZXJlbmNlcz09J2FyZWFzJyl7Zi5kaXNwbGF5RmllbGRzPWNvbHVtbmFzQXJlYXNQYXJhTGFUZW19OyByZXR1cm4gZn0pIFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBkZWYuZGV0YWlsVGFibGVzPy51bnNoaWZ0KHt0YWJsZTogXCJ0YXJlYXNfdGVtXCIsIGFicjogXCJUXCIsIGZpZWxkczogWydvcGVyYXRpdm8nLCAnZW5jJ10sIGxhYmVsOid0YXJlYXMnfSlcclxuICAgICAgICBkZWYuZmllbGRzPWRlZi5maWVsZHMuZmlsdGVyKGY9PiFjb2x1bW5hc05vUmVhLm1hcChmbj0+Zm4ubmFtZSkuaW5jbHVkZXMoZi5uYW1lKSApXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcT1jb250ZXh0LmJlLmRiLnF1b3RlSWRlbnQ7XHJcbiAgICBkZWYuc3FsPSB7XHJcbiAgICAgICAgICAgIGlzVGFibGU6IW9wdHMucmVjZXBjaW9uLCAvL1RPRE86IHJlc29sdmVyIGNvbW8gc2FjYXJsbyBkZWwgZHVtcFxyXG4gICAgICAgICAgICBpc1JlZmVyYWJsZTp0cnVlLFxyXG4gICAgICAgICAgICBmcm9tOmBcclxuICAgICAgICAgICAgICAgIChzZWxlY3RcclxuICAgICAgICAgICAgICAgICAgICAke2RlZi5maWVsZHMuZmlsdGVyKGY9PmYuaW5UYWJsZT09dW5kZWZpbmVkICYmICFmLmNsaWVudFNpZGUpLm1hcChmPT4ndC4nK3EoZi5uYW1lKSkuam9pbignLCcpfVxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuY2FyZ2FkbywgdHQuY2FyZ2Fkb19kbVxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuZXRhcmVhcy0+J2VuY3UnLT4+J2FzaWduYWRvJyBhcyBlbmN1ZXN0YWRvclxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuZXRhcmVhcy0+J3JlY3UnLT4+J2FzaWduYWRvJyBhcyByZWN1cGVyYWRvclxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuZXRhcmVhcy0+J3N1cGUnLT4+J2FzaWduYWRvJyBhcyBzdXBlcnZpc29yXHJcbiAgICAgICAgICAgICAgICAgICAgLCBudWxsIG5vdGFzXHJcbiAgICAgICAgICAgICAgICAgICAgLCB2LmNvbnNpc3RpZG9cclxuICAgICAgICAgICAgICAgICAgICAke29wdHMucmVjZXBjaW9uPyBjb2x1bW5hc05vUmVhLm1hcCh2PT4nXFxuICAgICAsICcrIHYuZXhwciArJyBhcyAnKyB2Lm5hbWUpLmpvaW4oJycpIDonJ31cclxuICAgICAgICAgICAgICAgICAgICBmcm9tIHRlbSB0IGxlZnQgam9pbiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdCB0dC5vcGVyYXRpdm8sIHR0LmVuYywgYm9vbF9vcihjYXJnYWRvKSBjYXJnYWRvLCBzdHJpbmdfYWdnKGNhcmdhZG9fZG0sJywnKSBjYXJnYWRvX2RtLGpzb25iX29iamVjdF9hZ2codGFyZWEsanNvbmJfYnVpbGRfb2JqZWN0KCdhc2lnbmFkbycsYXNpZ25hZG8sJ2NhcmdhZG8nLGNhcmdhZG8sJ2NhcmdhZG9fZG0nLGNhcmdhZG9fZG0pKWV0YXJlYXMgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIHRhcmVhc190ZW0gdHQgZ3JvdXAgYnkgdHQub3BlcmF0aXZvLCB0dC5lbmMgICl0dCBvbiB0Lm9wZXJhdGl2bz10dC5vcGVyYXRpdm8gYW5kIHQuZW5jPXR0LmVuY1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIG5vX3JlYSB5IG9uIHkubm9fcmVhOjppbnRlZ2VyPXQubm9yZWFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiB2aXZpZW5kYXMgdiBvbiB2LnZpdmllbmRhPXQuZW5jIFxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICBgICAgICBcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBkZWY7XHJcbiAgICB9XHJcbiAgICAiXX0=
|