dmencu 0.1.53 → 0.2.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.
- package/dist/client/unlogged/render-formulario.tsx +21 -1
- package/dist/client/unlogged/tipos.d.ts +9 -2
- package/dist/client/unlogged/tipos.js +1 -1
- package/dist/server/server/app-dmencu.d.ts +4 -0
- package/dist/server/server/table-acciones.d.ts +3 -0
- package/dist/server/server/table-acciones.js +55 -0
- package/dist/server/server/table-estados.d.ts +3 -0
- package/dist/server/server/table-estados.js +51 -0
- package/dist/server/server/table-estados_acciones.d.ts +3 -0
- package/dist/server/server/table-estados_acciones.js +43 -0
- package/dist/server/server/table-mis_tareas_tem copy.d.ts +3 -0
- package/dist/server/server/table-mis_tareas_tem copy.js +19 -0
- package/dist/server/server/table-tareas_tem copy.d.ts +3 -0
- package/dist/server/server/table-tareas_tem copy.js +176 -0
- package/dist/server/server/table-tareas_tem disponibles.d.ts +3 -0
- package/dist/server/server/table-tareas_tem disponibles.js +19 -0
- package/dist/server/server/table-tareas_tem_asignables copy.d.ts +3 -0
- package/dist/server/server/table-tareas_tem_asignables copy.js +24 -0
- package/dist/server/server/table-tareas_tem_asignables.d.ts +5 -0
- package/dist/server/server/table-tareas_tem_asignables.js +53 -0
- package/dist/server/server/table-tareas_tem_disponibles.d.ts +3 -0
- package/dist/server/server/table-tareas_tem_disponibles.js +19 -0
- package/dist/server/server/table-tareas_tem_recepcion.d.ts +3 -0
- package/dist/server/server/table-tareas_tem_recepcion.js +28 -0
- package/dist/server/unlogged/tipos.d.ts +9 -2
- package/dist/server/unlogged/tipos.js +1 -1
- package/dist/unlogged/unlogged/render-formulario.d.ts +8 -1
- package/dist/unlogged/unlogged/render-formulario.js +9 -3
- package/dist/unlogged/unlogged/render-formulario.tsx +21 -1
- package/dist/unlogged/unlogged/tipos.d.ts +9 -2
- package/dist/unlogged/unlogged/tipos.js +1 -1
- package/install/esquema_comun.sql +2 -2
- package/install/{metadatos/tipoc.tab → tipoc.tab} +14 -12
- package/install/{metadatos/tipoc_tipoc.tab → tipoc_tipoc.tab} +24 -22
- package/package.json +1 -1
- package/dist/client/client/carga-dm/dm-manifest.manifest +0 -70
- package/dist/client/client/css/etiquetas-qr.styl +0 -84
- package/dist/client/client/service-worker.js +0 -114
- package/dist/client/unlogged/digitov.js +0 -59
- package/dist/client/unlogged/generador-qr.js +0 -60
- package/dist/client/unlogged/img/PREJU_2022-logo-dm-192.png +0 -0
- package/dist/client/unlogged/img/PREJU_2022-logo-dm-32.png +0 -0
- package/dist/client/unlogged/img/PREJU_2022-logo-dm-48.png +0 -0
- package/dist/client/unlogged/img/PREJU_2022-logo-dm-512.png +0 -0
- package/dist/client/unlogged/img/PREJU_2022-logo-dm-64.png +0 -0
- package/dist/client/unlogged/img/PREJU_2022-logo-dm-72.png +0 -0
- package/dist/client/unlogged/img/_login-logo-icon.png +0 -0
- package/dist/client/unlogged/img/_logo-128.png +0 -0
- package/dist/client/unlogged/img/_logo.png +0 -0
- package/dist/server/server/app-dmencu.ts.BASE.js +0 -580
- package/dist/server/server/app-dmencu.ts.LOCAL.js +0 -598
- package/dist/server/server/app-dmencu.ts.REMOTE.js +0 -582
- package/dist/server/server/table-etiquetas.js +0 -48
- package/dist/server/server/table-etiquetas_resultado.js +0 -113
- package/dist/server/server/table-etiquetas_resultado_plus.js +0 -19
- package/dist/server/server/table-mis_relevadores.js +0 -78
- package/dist/server/server/table-planchas.js +0 -38
- package/dist/server/server/table-relevadores.js +0 -19
- package/dist/server/server/table-resultados-test.js +0 -37
- package/dist/unlogged/unlogged/consola-errores.js +0 -25
- package/dist/unlogged/unlogged/digitov.js +0 -59
- package/dist/unlogged/unlogged/generador-qr.js +0 -60
- package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-192.png +0 -0
- package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-32.png +0 -0
- package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-48.png +0 -0
- package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-512.png +0 -0
- package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-64.png +0 -0
- package/dist/unlogged/unlogged/img/PREJU_2022-logo-dm-72.png +0 -0
- package/dist/unlogged/unlogged/img/_login-logo-icon.png +0 -0
- package/dist/unlogged/unlogged/img/_logo-128.png +0 -0
- package/dist/unlogged/unlogged/img/_logo.png +0 -0
|
@@ -22,7 +22,7 @@ import {Bloque, BotonFormulario,
|
|
|
22
22
|
toPlainForPk,
|
|
23
23
|
IdCasillero,
|
|
24
24
|
PreguntaConSiNo,
|
|
25
|
-
Texto, Estructura, InformacionHdr, DatosHdrUaPpal, ConfiguracionSorteoFormulario, ResumenEstado, DatosByPassPersistibles, IdOperativo, IdEnc
|
|
25
|
+
Texto, Estructura, InformacionHdr, DatosHdrUaPpal, ConfiguracionSorteoFormulario, ResumenEstado, DatosByPassPersistibles, IdOperativo, IdEnc, Libre
|
|
26
26
|
} from "./tipos";
|
|
27
27
|
import{
|
|
28
28
|
accion_abrir_formulario,
|
|
@@ -108,6 +108,15 @@ window.addEventListener('load', ()=>{
|
|
|
108
108
|
type CommonAttributes = {className?:string,style?:CSSProperties,id?:string, tabIndex?:number} // CSSProperties
|
|
109
109
|
type ColorValues = 'primary'|'secondary'|'default'|'inherit'
|
|
110
110
|
|
|
111
|
+
export type LibreDespliegueType = (props:{
|
|
112
|
+
key:string
|
|
113
|
+
casillero:Libre
|
|
114
|
+
formulario:Formulario
|
|
115
|
+
forPk:ForPk
|
|
116
|
+
})=>JSX.Element;
|
|
117
|
+
|
|
118
|
+
var LibreDespliegue: LibreDespliegueType
|
|
119
|
+
|
|
111
120
|
const Button = ({variant, onClick, disabled, children, className, color, size,
|
|
112
121
|
disableElevation, disableFocusRipple, disableRipple, fullWidth,
|
|
113
122
|
...other
|
|
@@ -858,6 +867,7 @@ function TextoDespliegue(props:{casillero:Texto, forPk:ForPk}){
|
|
|
858
867
|
// var nuevaForPk={...forPk, formulario:idFormularioDestino};
|
|
859
868
|
// nuevaForPk[nuevoCampoPk] = defBoton.num
|
|
860
869
|
dispatch(dispatchers.CAMBIAR_FORMULARIO({forPk:defBoton.forPk, apilarVuelta:true}));
|
|
870
|
+
dispatchByPass(accion_abrir_formulario,{forPk:defBoton.forPk})
|
|
861
871
|
}
|
|
862
872
|
return <DesplegarCasillero
|
|
863
873
|
id={`${id}-externo`}
|
|
@@ -1248,6 +1258,7 @@ function DesplegarContenidoInternoBloqueOFormulario(props:{bloqueOFormulario:Blo
|
|
|
1248
1258
|
casillero.tipoc == "CONS"?<ConsistenciaDespliegue key={key} casillero={casillero} forPk={props.forPk}/>:
|
|
1249
1259
|
casillero.tipoc == "CP"?<ConjuntoPreguntasDespliegue key={key} casillero={casillero} formulario={props.formulario} forPk={props.forPk}/>:
|
|
1250
1260
|
casillero.tipoc == "TEXTO"?<TextoDespliegue key={key} casillero={casillero} forPk={props.forPk}/>:
|
|
1261
|
+
casillero.tipoc == "LIBRE"?<LibreDespliegue key={key} casillero={casillero} formulario={props.formulario} forPk={props.forPk}/>:
|
|
1251
1262
|
<CasilleroDesconocido key={key} casillero={casillero} forPk={props.forPk}/>
|
|
1252
1263
|
)
|
|
1253
1264
|
:i==limiteNoVerTodo?
|
|
@@ -2015,6 +2026,15 @@ function loadInstance(){
|
|
|
2015
2026
|
//mostrarQuienesSomos();
|
|
2016
2027
|
}
|
|
2017
2028
|
|
|
2029
|
+
export const setLibreDespliegue = (libre:LibreDespliegueType)=>LibreDespliegue = libre
|
|
2030
|
+
|
|
2031
|
+
setLibreDespliegue((props:{
|
|
2032
|
+
key:string
|
|
2033
|
+
casillero:Libre
|
|
2034
|
+
formulario:Formulario
|
|
2035
|
+
forPk:ForPk
|
|
2036
|
+
})=><div key={props.key} id={props.casillero.id_casillero}>este casillero debe redefinirse en la APP final y su uso es exclusivo del área informática</div>)
|
|
2037
|
+
|
|
2018
2038
|
setCalcularVariables((respuestasRaiz:RespuestasRaiz, forPk:ForPk)=>{
|
|
2019
2039
|
//TODO GENERALIZAR
|
|
2020
2040
|
var uasIterar:{
|
|
@@ -17,7 +17,7 @@ export declare type IdFin = 'fin';
|
|
|
17
17
|
export declare type IdDestino = IdPregunta | IdBloque | IdFin | IdFiltro;
|
|
18
18
|
export declare type Valor = string | number | null;
|
|
19
19
|
export declare type TipocDestinos = 'P' | 'CP' | 'B' | 'FILTRO' | 'BF';
|
|
20
|
-
export declare type Tipoc = TipocDestinos | 'F' | 'O' | 'OM' | 'CONS' | 'TEXTO';
|
|
20
|
+
export declare type Tipoc = TipocDestinos | 'F' | 'O' | 'OM' | 'CONS' | 'TEXTO' | 'LIBRE';
|
|
21
21
|
export declare type IdTarea = 'encu' | 'recu' | 'supe';
|
|
22
22
|
export declare type FeedbackVariable = Feedback<IdVariable, IdFin>;
|
|
23
23
|
export declare type TipoVariables = 'texto' | 'numero' | 'fecha' | 'horas';
|
|
@@ -142,6 +142,13 @@ export declare type Texto = CasilleroBase & {
|
|
|
142
142
|
tipovar?: null;
|
|
143
143
|
primera_variable?: null;
|
|
144
144
|
};
|
|
145
|
+
export declare type Libre = CasilleroBase & {
|
|
146
|
+
tipoc: 'LIBRE';
|
|
147
|
+
casillero: IdTexto;
|
|
148
|
+
var_name?: null;
|
|
149
|
+
tipovar?: null;
|
|
150
|
+
primera_variable?: null;
|
|
151
|
+
};
|
|
145
152
|
export declare type BotonFormulario = CasilleroBase & {
|
|
146
153
|
tipoc: 'BF';
|
|
147
154
|
casillero: IdBotonFormulario;
|
|
@@ -161,7 +168,7 @@ export declare type Formulario = CasilleroBase & {
|
|
|
161
168
|
hermano?: true;
|
|
162
169
|
unidad_analisis: IdUnidadAnalisis;
|
|
163
170
|
};
|
|
164
|
-
export declare type CasillerosImplementados = Formulario | Bloque | Filtro | ConjuntoPreguntas | Pregunta | OpcionMultiple | Opcion | BotonFormulario | Consistencia | Texto;
|
|
171
|
+
export declare type CasillerosImplementados = Formulario | Bloque | Filtro | ConjuntoPreguntas | Pregunta | OpcionMultiple | Opcion | BotonFormulario | Consistencia | Texto | Libre;
|
|
165
172
|
export declare type CampoPkRaiz = 'vivienda' | 'etc...';
|
|
166
173
|
export declare type ForPkRaiz = {
|
|
167
174
|
formulario: IdFormulario;
|
|
@@ -16,4 +16,4 @@
|
|
|
16
16
|
}
|
|
17
17
|
exports.toPlainForPk = toPlainForPk;
|
|
18
18
|
});
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvdGlwb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUF5Y2IsU0FBZ0IsWUFBWSxDQUFDLEtBQVc7UUFDcEMsK0NBQStDO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBSEQsb0NBR0MiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuaW1wb3J0IHtTdHJ1Y3R1cmUsIEZlZWRiYWNrfSBmcm9tIFwicm93LXZhbGlkYXRvclwiO1xyXG5cclxuZXhwb3J0IHR5cGUgTW9kb0FsbWFjZW5hbWllbnRvID0gJ3Nlc3Npb24nfCAvLyBjdWFuZG8gc2VhIHBhcmEgdW5hIHNvbGEgcGVzdGHDsWEsIHNlIHVzYSBlbiBtb2RvIGRpcmVjdG8sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsb2NhbCcgICAgLy8gcGFyYSB0b2RvIGVsIGRpc3Bvc2l0aXZvLCBzZSB1c2EgYWwgY2FyZ2FyIGhvamFzIGRlIHJ1dGEgZW50cmVzXHJcblxyXG5leHBvcnQgdHlwZSBJZE9wY2lvbiA9IG51bWJlclxyXG5leHBvcnQgdHlwZSBJZE9wZXJhdGl2byA9ICdldG9pMjExJ3wnZWFoMjAyMid8J2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRWYXJpYWJsZSA9ICd2MSd8J3YyJ3wndjMnfCdldGMuLi4nfCd2ZG9taW5pbyd8JyRwMCdcclxuZXhwb3J0IHR5cGUgSWRQcmVndW50YSA9ICdQMSd8J1AyJ3wnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZEJsb3F1ZSA9ICdCMSd8J0IyJ3wnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZEZvcm11bGFyaW8gPSAnRjEnfCdGMid8J2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRVbmlkYWRBbmFsaXNpcyA9ICd2aXZpZW5kYXMnfCdob2dhcmVzJ3wncGVyc29uYXMnXHJcbmV4cG9ydCB0eXBlIElkQm90b25Gb3JtdWxhcmlvID0gJ0JGOkYxJ3wnQkY6RjInfCdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkQ29uc2lzdGVuY2lhID0gJ0NPTlMxJ3wnQ09OUzInfCdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkVGV4dG8gPSAnRDMwX1JFRid8J01FU19SRUYnfCdTRU1fUkVGJ3wnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZEZpbHRybyA9ICdGSUxUUk8xJyB8ICdGSUxUUk8yJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkQ2FzaWxsZXJvID0gSWRWYXJpYWJsZSB8IElkUHJlZ3VudGEgfCBJZEJsb3F1ZSB8IElkRm9ybXVsYXJpbyB8IElkRmlsdHJvIHwgSWRPcGNpb25cclxuZXhwb3J0IHR5cGUgSWRGaW4gPSAnZmluJzsgLy8gbmV2ZXIgLy8gVE9ETzogcG9kZXIgcG9uZXIgJ0ZJTidcclxuZXhwb3J0IHR5cGUgSWREZXN0aW5vID0gSWRQcmVndW50YSB8IElkQmxvcXVlIHwgSWRGaW4gfCBJZEZpbHRybyBcclxuZXhwb3J0IHR5cGUgVmFsb3IgPSBzdHJpbmd8bnVtYmVyfG51bGw7XHJcbmV4cG9ydCB0eXBlIFRpcG9jRGVzdGlub3MgPSAnUCd8J0NQJ3wnQid8J0ZJTFRSTyd8J0JGJ1xyXG5leHBvcnQgdHlwZSBUaXBvYyA9IFRpcG9jRGVzdGlub3MgfCAnRid8J08nfCdPTSd8J0NPTlMnIHwnVEVYVE8nXHJcblxyXG5leHBvcnQgdHlwZSBJZFRhcmVhID0gJ2VuY3UnfCdyZWN1J3wnc3VwZSc7XHJcblxyXG5leHBvcnQgdHlwZSBGZWVkYmFja1ZhcmlhYmxlID0gRmVlZGJhY2s8SWRWYXJpYWJsZSwgSWRGaW4+XHJcblxyXG5leHBvcnQgdHlwZSBUaXBvVmFyaWFibGVzID0gJ3RleHRvJ3wnbnVtZXJvJ3wnZmVjaGEnfCdob3JhcydcclxuXHJcbmV4cG9ydCB0eXBlIERlc3BsaWVndWUgPSAnaG9yaXpvbnRhbCd8J29jdWx0YSdcclxuXHJcbmV4cG9ydCB0eXBlIENhc2lsbGVyb0Jhc2UgPSB7XHJcbiAgICBpZF9jYXNpbGxlcm8/OnN0cmluZ1xyXG4gICAgdGlwb2M6VGlwb2NcclxuICAgIGNhc2lsbGVybzpJZENhc2lsbGVyb1xyXG4gICAgbm9tYnJlOnN0cmluZ1xyXG4gICAgc2FsdG86SWREZXN0aW5vfElkRmlufG51bGxcclxuICAgIHZlcl9pZDpzdHJpbmd8bnVsbFxyXG4gICAgZGVzcGxpZWd1ZUVuY2FiZXphZG86J2xhdGVyYWwnfCdzdXBlcmlvcid8bnVsbFxyXG4gICAgZGVzcGxpZWd1ZUNvbnRlbmlkbzondmVydGljYWwnfCdob3Jpem9udGFsJ3xudWxsXHJcbiAgICBkZXNwbGllZ3VlVGlwb0lucHV0Oid0ZWwnfG51bGxcclxuICAgIGRlc3BsaWVndWVPY3VsdGE6Ym9vbGVhbnxudWxsXHJcbiAgICBsZWVyOmJvb2xlYW58bnVsbFxyXG4gICAgYWNsYXJhY2lvbjpzdHJpbmd8bnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86SWRWYXJpYWJsZXxudWxsXHJcbiAgICB2YXJfbmFtZT86SWRWYXJpYWJsZXxudWxsXHJcbiAgICB2YXJfbmFtZV9lc3BlY2lhbD86c3RyaW5nfG51bGxcclxuICAgIHRpcG92YXI/OlRpcG9WYXJpYWJsZXN8J29wY2lvbmVzJ3wnc2lfbm8nfG51bGxcclxuICAgIGNhc2lsbGVyb3M/OkNhc2lsbGVyb3NJbXBsZW1lbnRhZG9zW118bnVsbFxyXG4gICAgZXhwcmVzaW9uX2hhYmlsaXRhcj86c3RyaW5nXHJcbiAgICBleHByZXNpb25faGFiaWxpdGFyX2pzPzpzdHJpbmdcclxuICAgIGV4cHJlc2lvbl9hdXRvaW5ncmVzYXI/OnN0cmluZ1xyXG4gICAgZXhwcmVzaW9uX2F1dG9pbmdyZXNhcl9qcz86c3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9wY2lvbj1DYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6J08nXHJcbiAgICBjYXNpbGxlcm86SWRPcGNpb25cclxuICAgIGNhc2lsbGVyb3M6UHJlZ3VudGFTaW1wbGVbXVxyXG4gICAgdmFyX25hbWU/Om51bGxcclxuICAgIHRpcG92YXI/Om51bGxcclxuICAgIHByaW1lcmFfdmFyaWFibGU/Om51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3BjaW9uU2k9T3BjaW9uICYge1xyXG4gICAgY2FzaWxsZXJvOjFcclxuICAgIG5vbWJyZTonU8OtJ1xyXG4gICAgY2FzaWxsZXJvczpQcmVndW50YVNpbXBsZVtdIFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBPcGNpb25Obz1PcGNpb24gJiB7XHJcbiAgICBjYXNpbGxlcm86MlxyXG4gICAgbm9tYnJlOidObydcclxuICAgIGNhc2lsbGVyb3M6UHJlZ3VudGFTaW1wbGVbXSBcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3BjaW9uTXVsdGlwbGU9Q2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOidPTSdcclxuICAgIHRpcG92YXI6J29wY2lvbmVzJ1xyXG4gICAgdmFyX25hbWU6SWRWYXJpYWJsZVxyXG4gICAgY2FzaWxsZXJvczpbT3BjaW9uU2ksIE9wY2lvbk5vXVxyXG4gICAgY2FsY3VsYWRhPzpib29sZWFuXHJcbiAgICBsaWJyZT86Ym9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YUJhc2UgPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6J1AnXHJcbiAgICBvcHRhdGl2bzpib29sZWFufG51bGxcclxuICAgIGNhc2lsbGVybzpJZFByZWd1bnRhXHJcbiAgICBjYWxjdWxhZGE6IGJvb2xlYW58bnVsbFxyXG4gICAgbGlicmU6IGJvb2xlYW58bnVsbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YVNpbXBsZSA9IFByZWd1bnRhQmFzZSAmIHtcclxuICAgIHRpcG92YXI6VGlwb1ZhcmlhYmxlc1xyXG4gICAgdmFyX25hbWU6SWRWYXJpYWJsZVxyXG4gICAgbG9uZ2l0dWQ6c3RyaW5nXHJcbiAgICBzYWx0b19uc19uYzpJZFZhcmlhYmxlfG51bGxcclxuICAgIGNhc2lsbGVyb3M6IFByZWd1bnRhU2ltcGxlW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJlZ3VudGFDb25TaU5vID0gUHJlZ3VudGFCYXNlICYge1xyXG4gICAgdGlwb3Zhcjonc2lfbm8nXHJcbiAgICB2YXJfbmFtZTpJZFZhcmlhYmxlXHJcbiAgICBzYWx0b19uc19uYzpJZFZhcmlhYmxlfG51bGxcclxuICAgIGNhc2lsbGVyb3M6IFtPcGNpb25TaSwgT3BjaW9uTm9dXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByZWd1bnRhQ29uT3BjaW9uZXMgPSBQcmVndW50YUJhc2UgJiB7XHJcbiAgICB0aXBvdmFyOidvcGNpb25lcydcclxuICAgIHZhcl9uYW1lOklkVmFyaWFibGVcclxuICAgIHNhbHRvX25zX25jOklkVmFyaWFibGV8bnVsbFxyXG4gICAgY2FzaWxsZXJvczogT3BjaW9uW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJlZ3VudGFDb25PcGNpb25lc011bHRpcGxlcyA9IFByZWd1bnRhQmFzZSAmIHtcclxuICAgIHZhcl9uYW1lPzpudWxsXHJcbiAgICB0aXBvdmFyPzpudWxsXHJcbiAgICBjYXNpbGxlcm9zOiBPcGNpb25NdWx0aXBsZVtdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByZWd1bnRhPVByZWd1bnRhU2ltcGxlIHwgUHJlZ3VudGFDb25TaU5vIHwgUHJlZ3VudGFDb25PcGNpb25lcyB8IFByZWd1bnRhQ29uT3BjaW9uZXNNdWx0aXBsZXNcclxuXHJcbmV4cG9ydCB0eXBlIENvbmp1bnRvUHJlZ3VudGFzPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6J0NQJ1xyXG4gICAgY2FzaWxsZXJvOklkUHJlZ3VudGFcclxuICAgIHZhcl9uYW1lPzpudWxsXHJcbiAgICB0aXBvdmFyPzpudWxsXHJcbiAgICBjYXNpbGxlcm9zOlByZWd1bnRhW11cclxufVxyXG5cclxuLypcclxuZXhwb3J0IGludGVyZmFjZSBJQ29udGVuaWRvIGV4dGVuZHMgQ2FzaWxsZXJvQmFzZSB7XHJcbiAgICBjYXNpbGxlcm9zOklDb250ZW5pZG9bXVxyXG59XHJcbiovXHJcblxyXG5leHBvcnQgdHlwZSBGaWx0cm8gPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6J0ZJTFRSTydcclxuICAgIGNhc2lsbGVybzpJZEZpbHRyb1xyXG4gICAgdmFyX25hbWU/Om51bGxcclxuICAgIHRpcG92YXI/Om51bGxcclxuICAgIHByaW1lcmFfdmFyaWFibGU/Om51bGxcclxuICAgIGNhbGN1bGFkYT86bnVsbFxyXG4gICAgbGlicmU/Om51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ29udGVuaWRvRm9ybXVsYXJpbz1CbG9xdWV8UHJlZ3VudGF8Q29uanVudG9QcmVndW50YXN8RmlsdHJvfEJvdG9uRm9ybXVsYXJpb3xDb25zaXN0ZW5jaWF8VGV4dG9cclxuXHJcbmV4cG9ydCB0eXBlIEJsb3F1ZSA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzonQidcclxuICAgIGNhc2lsbGVybzpJZEJsb3F1ZVxyXG4gICAgY2FzaWxsZXJvczpDb250ZW5pZG9Gb3JtdWxhcmlvW11cclxuICAgIHZhcl9uYW1lPzpudWxsXHJcbiAgICB0aXBvdmFyPzpudWxsXHJcbiAgICB1bmlkYWRfYW5hbGlzaXM/OklkVW5pZGFkQW5hbGlzaXNcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ29uc2lzdGVuY2lhID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOidDT05TJ1xyXG4gICAgY2FzaWxsZXJvOklkQ29uc2lzdGVuY2lhXHJcbiAgICB2YXJfbmFtZT86bnVsbFxyXG4gICAgdGlwb3Zhcj86bnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86bnVsbFxyXG59XHJcbmV4cG9ydCB0eXBlIFRleHRvID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOidURVhUTydcclxuICAgIGNhc2lsbGVybzpJZFRleHRvXHJcbiAgICB2YXJfbmFtZT86bnVsbFxyXG4gICAgdGlwb3Zhcj86bnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86bnVsbFxyXG59XHJcbmV4cG9ydCB0eXBlIEJvdG9uRm9ybXVsYXJpbyA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzonQkYnXHJcbiAgICBjYXNpbGxlcm86SWRCb3RvbkZvcm11bGFyaW9cclxuICAgIHZhcl9uYW1lPzpudWxsXHJcbiAgICB0aXBvdmFyPzpudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzpudWxsXHJcbiAgICB2YXJfbmFtZV9CRj86SWRWYXJpYWJsZVxyXG4gICAgbG9uZ2l0dWQ/OnN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGb3JtdWxhcmlvID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOidGJ1xyXG4gICAgY2FzaWxsZXJvOklkRm9ybXVsYXJpb1xyXG4gICAgZm9ybXVsYXJpb19wcmluY2lwYWw6Ym9vbGVhblxyXG4gICAgY2FzaWxsZXJvczpDb250ZW5pZG9Gb3JtdWxhcmlvW11cclxuICAgIHZhcl9uYW1lPzpudWxsXHJcbiAgICB0aXBvdmFyPzpudWxsXHJcbiAgICBoZXJtYW5vPzp0cnVlXHJcbiAgICB1bmlkYWRfYW5hbGlzaXM6SWRVbmlkYWRBbmFsaXNpc1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDYXNpbGxlcm9zSW1wbGVtZW50YWRvcz1Gb3JtdWxhcmlvfEJsb3F1ZXxGaWx0cm98Q29uanVudG9QcmVndW50YXN8UHJlZ3VudGF8T3BjaW9uTXVsdGlwbGV8T3BjaW9ufEJvdG9uRm9ybXVsYXJpb3xDb25zaXN0ZW5jaWF8VGV4dG9cclxuXHJcbmV4cG9ydCB0eXBlIENhbXBvUGtSYWl6ID0gJ3ZpdmllbmRhJ3wnZXRjLi4uJztcclxuXHJcbmV4cG9ydCB0eXBlIEZvclBrUmFpej17XHJcbiAgICBmb3JtdWxhcmlvOklkRm9ybXVsYXJpbywgXHJcbn0gJiB7XHJcbiAgICBbY2FtcG8gaW4gQ2FtcG9Qa1JhaXpdPzpudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ2FtcG9QayA9ICd2aXZpZW5kYSd8J2hvZ2FyJ3wncGVyc29uYSd8J2V0Yy4uLic7XHJcbmV4cG9ydCB0eXBlIEZvclBrID0ge1xyXG4gICAgZm9ybXVsYXJpbzpJZEZvcm11bGFyaW8sIFxyXG59ICYge1xyXG4gICAgW2NhbXBvIGluIENhbXBvUGtdPzpudW1iZXJcclxufVxyXG5leHBvcnQgdHlwZSBQbGFpbkZvclBrPSd7XCJmb3JtdWxhcmlvXCI6XCJGOkYxXCIsXCJ2aXZpZW5kYVwiOlwiMTAyMDJcIixcInBlcnNvbmFcIjpudWxsfSd8J2V0Yy4uLic7XHJcblxyXG5leHBvcnQgdHlwZSBPYmpldG9OdW1lcmFkb09BcnJheTxUPiA9IFRbXSB8IHtbbiBpbiBudW1iZXJdOlR9XHJcblxyXG5leHBvcnQgdHlwZSBSZXNwdWVzdGFzPXtcclxuICAgICAgICBbcHJlZ3VudGEgaW4gSWRWYXJpYWJsZV06VmFsb3JcclxuICAgIH0gJiB7XHJcbiAgICAgICAgW3VhIGluIElkVW5pZGFkQW5hbGlzaXNdOk9iamV0b051bWVyYWRvT0FycmF5PFJlc3B1ZXN0YXM+XHJcbiAgICB9XHJcblxyXG5leHBvcnQgdHlwZSBSZXNwdWVzdGFzUmFpej1SZXNwdWVzdGFzICYge1xyXG4gICAgcmVzdW1lbkVzdGFkbzpSZXN1bWVuRXN0YWRvXHJcbiAgICByZXN1bWVuRXN0YWRvU3VwOlJlc3VtZW5Fc3RhZG9cclxuICAgICRkaXJ0eTpib29sZWFuXHJcbiAgICBjb2ROb1JlYTogc3RyaW5nfG51bGxcclxuICAgIGNvZFJlYTogbnVtYmVyfG51bGxcclxuICAgIGNvZE5vUmVhU3VwOiBzdHJpbmd8bnVsbFxyXG4gICAgY29kUmVhU3VwOiBudW1iZXJ8bnVsbFxyXG59XHJcblxyXG4vKlxyXG4gICAgYWNsYXJhY2nDs246XHJcbiAgICB7djE6J3gnLCB2MjoneCcsIHBlcnNvbmFzOlt7cDE6MSwgcDI6J3h9LHtwMToyLCBwMjp4fV0sIG1hc2NvdGFzOltdIH1cclxuICAgIGVzdMOhIGFuaWRhZG8gcG9yIHVuaWRhZCBkZSBhbsOhbGlzaXNcclxuKi9cclxuXHJcbmV4cG9ydCB0eXBlIFVuaWRhZEFuYWxpc2lzID0ge1xyXG4gICAgdW5pZGFkX2FuYWxpc2lzOklkVW5pZGFkQW5hbGlzaXMsIFxyXG4gICAgcGFkcmU/OklkVW5pZGFkQW5hbGlzaXMsIFxyXG4gICAgcGtfYWdyZWdhZGE6Q2FtcG9QaywgXHJcbiAgICBwcmluY2lwYWw/OmJvb2xlYW4sIFxyXG4gICAgaGlqYXM6IHtbayBpbiBJZFVuaWRhZEFuYWxpc2lzXT86IFVuaWRhZEFuYWxpc2lzfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBURU0gPSB7XHJcbiAgICBub21jYWxsZTpzdHJpbmdcclxuICAgIGRvbWluaW86bnVtYmVyXHJcbiAgICBzZWN0b3I6c3RyaW5nXHJcbiAgICBlZGlmaWNpbzpzdHJpbmdcclxuICAgIGVudHJhZGE6c3RyaW5nXHJcbiAgICBucm9jYXRhc3RyYWw6c3RyaW5nXHJcbiAgICBwaXNvOnN0cmluZ1x0XHJcbiAgICBkZXBhcnRhbWVudG86c3RyaW5nXHJcbiAgICBoYWJpdGFjaW9uOnN0cmluZ1xyXG4gICAgY2FzYTpzdHJpbmdcclxuICAgIHByaW9yaWRhZDoxfDJ8M1xyXG4gICAgb2JzZXJ2YWNpb25lczpzdHJpbmdcclxuICAgIHNlbGVjY2lvbmFkbzpudW1iZXIsXHJcbiAgICBjaXRhOiBzdHJpbmcsXHJcbiAgICBjYXJnYTpzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUmVzdW1lbkVzdGFkbyA9ICd2YWNpbycgfCAnY29uIHByb2JsZW1hcycgfCAnaW5jb21wbGV0bycgfCAnb2snIHwgJ25vIHJlYScgfCAnY2l0YSBwYWN0YWRhJztcclxuXHJcbmV4cG9ydCB0eXBlIEluZm9UYXJlYT0ge1xyXG4gICAgdGFyZWE/OiBJZFRhcmVhXHJcbiAgICBub3Rhcz86c3RyaW5nXHJcbiAgICBmZWNoYV9hc2lnbmFjaW9uPzpEYXRlXHJcbiAgICBhc2lnbmFkbz86c3RyaW5nXHJcbiAgICBtYWluX2Zvcm06IElkRm9ybXVsYXJpb1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBWaXNpdGE9e1xyXG4gICAgZmVjaGE6IHN0cmluZyB8IG51bGxcclxuICAgIGhvcmE6IHN0cmluZyB8IG51bGxcclxuICAgIGlkcGVyOiBzdHJpbmcgfCBudWxsXHJcbiAgICBvYnNlcnZhY2lvbmVzOiBzdHJpbmcgfCBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlICBEYXRvc0hkclVhUHBhbD0ge1xyXG4gICAgdGFyZWE6IEluZm9UYXJlYVxyXG4gICAgdGVtOiBURU1cclxuICAgIFxyXG4vKlxyXG4gICAgYWNsYXJhY2nDs246XHJcbiAgICB7djE6J3gnLCB2MjoneCcsIHBlcnNvbmFzOlt7cDE6MSwgcDI6J3h9LHtwMToyLCBwMjp4fV0sIG1hc2NvdGFzOltdIH1cclxuICAgIGVzdMOhIGFuaWRhZG8gcG9yIHVuaWRhZCBkZSBhbsOhbGlzaXNcclxuKi9cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWRDYXJnYT1cIjIwMjAtMDctMDdcInxcIjIwMjAtMDctMDhcIlxyXG5cclxuZXhwb3J0IHR5cGUgRXN0YWRvQ2FyZ2E9J3Jlc3VtZW4nfCdyZWxldmFtaWVudG8nfCdyZWNpYm8nXHJcblxyXG5leHBvcnQgdHlwZSBDYXJnYT17XHJcbiAgICBmZWNoYTogRGF0ZVxyXG4gICAgZXN0YWRvX2NhcmdhOiBFc3RhZG9DYXJnYVxyXG4gICAgbmVjZXNhcmlhczogbnVtYmVyXHJcbiAgICBvYnNlcnZhY2lvbmVzOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ2FyZ2FzPXtcclxuICAgIFtpZENhcmdhIGluIElkQ2FyZ2FdOiBDYXJnYVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBFc3RydWN0dXJhUm93VmFsaWRhdG9yPVN0cnVjdHVyZTxJZFZhcmlhYmxlLFZhbG9yLElkRmluPjtcclxuXHJcbmV4cG9ydCB0eXBlIE1vZG9EZXNwbGllZ3VlID0gJ21ldGFkYXRvcyd8J3JlbGV2YW1pZW50byd8J1BERidcclxuXHJcbmV4cG9ydCB0eXBlIEluZm9Gb3JtdWxhcmlvPXtcclxuICAgIGNhc2lsbGVyb3M6Rm9ybXVsYXJpbywgLy8gY2FzaWxsZXJvcyBhcGxhbmFkb3NcclxuICAgIGVzdHJ1Y3R1cmFSb3dWYWxpZGF0b3I6RXN0cnVjdHVyYVJvd1ZhbGlkYXRvciAvLyBlc3RydWN0dXJhIGRlIHZhcmlhYmxlcyBwYXJhIGVsIFJvd1ZhbGlkYXRvclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJZFJlc3VsdGFkbyA9ICdBVkVSSUdVQVInfCdUT0RPJztcclxuXHJcbmV4cG9ydCB0eXBlIFRhcmVhc0VzdHJ1Y3R1cmE9e1xyXG4gICAgW2lkVGFyZWEgaW4gSWRUYXJlYV06e1xyXG4gICAgICAgIHJlc3VsdGFkb3M6e1xyXG4gICAgICAgICAgICBbaWRSZXN1bHRhZG8gaW4gSWRSZXN1bHRhZG9dOntcclxuICAgICAgICAgICAgICAgIGRlc2NyaXBjaW9uOnN0cmluZ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBFc3RydWN0dXJhID0ge1xyXG4gICAgZm9ybXVsYXJpb3M6eyBcclxuICAgICAgICBbbm9tYnJlRm9ybXVsYXJpbyBpbiBJZEZvcm11bGFyaW9dOkluZm9Gb3JtdWxhcmlvXHJcbiAgICB9XHJcbiAgICB1bmlkYWRlc19hbmFsaXNpczp7IFxyXG4gICAgICAgIFtpZFVuaWRhZEFuYWxpc2lzIGluIElkVW5pZGFkQW5hbGlzaXNdOiBVbmlkYWRBbmFsaXNpc1xyXG4gICAgfVxyXG4gICAgdGFyZWFzOlRhcmVhc0VzdHJ1Y3R1cmFcclxuICAgIHRpbWVzdGFtcDpudW1iZXJcclxuICAgIG9wZXJhdGl2bzpJZE9wZXJhdGl2b1xyXG4gICAgY29uZmlnU29ydGVvOiBDb25maWd1cmFjaW9uU29ydGVvXHJcblx0bm9SZWFzOiB7IFxyXG5cdCAgICAgIG5vX3JlYTogc3RyaW5nICBcclxuXHRcdCAgZGVzY3JpcGNpb246IHN0cmluZ1xyXG5cdFx0ICBncnVwbzogICAgIHN0cmluZyAgICBcclxuXHRcdCAgdmFyaWFibGU6ICBzdHJpbmdcclxuXHRcdCAgdmFsb3I6ICAgICBzdHJpbmdcclxuXHRcdCAgZ3J1cG8wOiAgICBzdHJpbmdcclxuXHR9W11cclxuICAgIG5vUmVhc1N1cDogeyBcclxuICAgICAgICBub19yZWFfc3VwOiBzdHJpbmcgIFxyXG4gICAgICAgIGRlc2Nfbm9yZWFfc3VwOiBzdHJpbmdcclxuICAgICAgICBncnVwb19zdXA6ICAgICBzdHJpbmcgICAgXHJcbiAgICAgICAgdmFyaWFibGVfc3VwOiAgc3RyaW5nXHJcbiAgICAgICAgdmFsb3Jfc3VwOiAgICAgc3RyaW5nXHJcbiAgICAgICAgZ3J1cG8wX3N1cDogICAgc3RyaW5nXHJcbiAgfVtdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIElkRW5jID0gJzEzMDAzMSd8JzEzMDAzMid8J2V0Yyc7XHJcbmV4cG9ydCB0eXBlIEluZm9ybWFjaW9uSGRyPXtbZW5jIGluIElkRW5jXTogRGF0b3NIZHJVYVBwYWx9XHJcblxyXG5leHBvcnQgdHlwZSBDYXNvU3RhdGU9e1xyXG4gICAgb3BjaW9uZXM6eyAvLyBkYXRvcyBkZSBuYXZlZ2FjacOzbiBxdWUgZWxpamUgZWwgdXN1YXJpb1xyXG4gICAgICAgIGZvclBrOkZvclBrfG51bGwgLy8gw61uZGljZSBkZW50cm8gZGUgbGFzIHVuaWRhZGVzIGRlIGFuw6FsaXNpcy4gTnVsbCA9IGVuIGhvamEgZGUgcnV0YVxyXG4gICAgICAgIHBpbGFGb3JQazpGb3JQa1tdXHJcbiAgICAgICAgbW9kb0Rlc3BsaWVndWU6TW9kb0Rlc3BsaWVndWVcclxuICAgICAgICBiaWVudmVuaWRvOmJvb2xlYW5cclxuICAgICAgICBtb2RvRGlyZWN0bzpib29sZWFuXHJcbiAgICAgICAgbW9kb0JvcnJhclJlc3B1ZXN0YTpJZFZhcmlhYmxlfG51bGxcclxuICAgICAgICBjb25DYW1wb09wY2lvbmVzOmJvb2xlYW5cclxuICAgICAgICBzYWx0b0F1dG9tYXRpY286Ym9vbGVhblxyXG4gICAgfSwgXHJcbiAgICBtb2RvOnsgLy8gbm8gc2UgcGVyc2lzdGVcclxuICAgICAgICBkZW1vOmJvb2xlYW5cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRGVmT3BlcmF0aXZvID0ge1xyXG4gICAgZXNOb1JlYToocmVzcHVlc3RhczpSZXNwdWVzdGFzKT0+IHtjb2ROb1JlYTpzdHJpbmd8bnVsbCwgZXNOb1JlYTpib29sZWFufSxcclxuICAgIGVzTm9SZWFTdXA6KHJlc3B1ZXN0YXM6UmVzcHVlc3Rhcyk9PiB7Y29kTm9SZWFTdXA6c3RyaW5nfG51bGwsIGVzTm9SZWFTdXA6Ym9vbGVhbn0sXHJcbiAgICBlc1JlYWxpemFkYToocmVzcHVlc3RhczpSZXNwdWVzdGFzKT0+IHtjb2RSZWE6bnVtYmVyfG51bGwsIGVzUmVhOmJvb2xlYW59LFxyXG4gICAgZXNSZWFsaXphZGFTdXA6KHJlc3B1ZXN0YXM6UmVzcHVlc3Rhcyk9PiB7Y29kUmVhU3VwOm51bWJlcnxudWxsLCBlc1JlYVN1cDpib29sZWFufSxcclxuICAgIFVBcHJpbmNpcGFsOiBJZFVuaWRhZEFuYWxpc2lzLFxyXG4gICAgZGVmVUE6e1tpIGluIElkVW5pZGFkQW5hbGlzaXNdOntwazpJZFZhcmlhYmxlLCBpbmNsdWlkYXM6SWRVbmlkYWRBbmFsaXNpc1tdLCBpZHNGb3I6SWRGb3JtdWxhcmlvW119fSxcclxuICAgIGRlZkZvcjp7W2YgaW4gSWRGb3JtdWxhcmlvXTp7LyphcmJvbFVBOklkVW5pZGFkQW5hbGlzaXNbXSwgKi8gaGVybWFubz86dHJ1ZX19XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIERhdG9zQnlQYXNzUGVyc2lzdGlibGVzID0ge1xyXG4gICAgcmVzcHVlc3Rhczp7W3VhIGluIElkVW5pZGFkQW5hbGlzaXNdOlJlc3B1ZXN0YXNSYWl6W119XHJcbiAgICBtb2RvQWxtYWNlbmFtaWVudG86TW9kb0FsbWFjZW5hbWllbnRvXHJcbiAgICBwZXJzb25hOnN0cmluZ1xyXG4gICAgdGFyZWE6SWRUYXJlYVxyXG4gICAgaWRwZXI6c3RyaW5nXHJcbiAgICBjYXJnYXM6IENhcmdhc1xyXG4gICAgaW5mb3JtYWNpb25IZHI6IEluZm9ybWFjaW9uSGRyXHJcbiAgICBzb2xvTGVjdHVyYTogYm9vbGVhblxyXG4gICAgdG9rZW4/OnN0cmluZ1xyXG4gICAgbnVtX3NpbmNybz86bnVtYmVyXHJcbiAgICB0aW1lc3RhbXBFc3RydWN0dXJhPzpudW1iZXJcclxufVxyXG5cclxudHlwZSBDb25maWd1cmFjaW9uU29ydGVvVGFibGEgPSB7XHJcbiAgICBtZXRvZG86IFwidGFibGFcIixcclxuICAgIHBhcmFtX21ldG9kbzoge1xyXG4gICAgICAgIHRhYmxhOnN0cmluZ1tdLFxyXG4gICAgICAgIHZhcl9sZXRyYTpJZFZhcmlhYmxlLFxyXG4gICAgfSAgICBcclxufVxyXG5cclxudHlwZSBDb25maWd1cmFjaW9uU29ydGVvSGFzaCA9IHtcclxuICAgIG1ldG9kbzogXCJoYXNoXCIsXHJcbiAgICBwYXJhbV9tZXRvZG86IHtcclxuICAgICAgICB2YXJfY29lZjogW1xyXG4gICAgICAgICAgICB7dmFyOklkVmFyaWFibGUsIGNvZWY6bnVtYmVyfSxcclxuICAgICAgICAgICAge3ZhcjpJZFZhcmlhYmxlLCBjb2VmOm51bWJlcn0sXHJcbiAgICAgICAgXSxcclxuICAgICAgICBkaXZpc29yOiBudW1iZXJcclxuICAgIH0gICAgXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWNpb25Tb3J0ZW8gPSB7W2tleSBpbiBJZEZvcm11bGFyaW9dOkNvbmZpZ3VyYWNpb25Tb3J0ZW9Gb3JtdWxhcmlvfVxyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlndXJhY2lvblNvcnRlb0Zvcm11bGFyaW8gPSB7XHJcbiAgICB1bmlkYWRfYW5hbGlzaXM6IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICB1bmlkYWRfYW5hbGlzaXNfcGFkcmU6IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICAvL2V4cHJfaW5jb21wbGV0aXR1ZDogc3RyaW5nIC8vXCJub3QgKHAxKSBvciBubyB0IChwMikgb3Igbm90KHAzKVwiXHJcbiAgICBleHByX2luY29tcGxldGl0dWQ6IHtcclxuICAgICAgICBba2V5IGluIG51bWJlcl06e2RvbWluaW86bnVtYmVyLCBleHByOnN0cmluZ31cclxuICAgIH0gXHJcbiAgICAvL2V4cHJfaW5jb21wbGV0aXR1ZF9qczogc3RyaW5nIC8vc2UgY3JlYSBhbCBjb21waWxhclxyXG4gICAgZXhwcl9pbmNvbXBsZXRpdHVkX2pzOiB7XHJcbiAgICAgICAgW2tleSBpbiBudW1iZXJdOntkb21pbmlvOm51bWJlciwgZXhwcjpzdHJpbmd9XHJcbiAgICB9IFxyXG4gICAgZGlzcGFyYWRvcjogSWRWYXJpYWJsZSAvL1wicDlcIlxyXG4gICAgLy9maWx0cm86IHN0cmluZyAvL1wicDM+PTE4XCJcclxuICAgIGZpbHRybzoge1xyXG4gICAgICAgIFtrZXkgaW4gbnVtYmVyXTp7ZG9taW5pbzpudW1iZXIsIGV4cHI6c3RyaW5nfVxyXG4gICAgfSBcclxuICAgIC8vZmlsdHJvX2pzOiBzdHJpbmcgLy9zZSBjcmVhIGFsIGNvbXBpbGFyXHJcbiAgICBmaWx0cm9fanM6IHtcclxuICAgICAgICBba2V5IGluIG51bWJlcl06e2RvbWluaW86bnVtYmVyLCBleHByOnN0cmluZ31cclxuICAgIH0gXHJcbiAgICBvcmRlbjoge1xyXG4gICAgICAgIHZhcmlhYmxlOklkVmFyaWFibGVcclxuICAgICAgICBvcmRlbjogMXwtMVxyXG4gICAgfVtdIC8vW1wicDNcIiwgXCJwMlwiLCBcInAxXCIsIFwicDBcIl0sIC8vIHAwIGVzIGNvbnN0cnVpZGEsIG5vIHZhIGVuIHBhcsOhbWV0cm9zLCBzZSBwb25lIHBhcmEgcXVlIGVsIG9yZGVuIHNlYSBkZXRlcm1pbsOtc3RpY29cclxuICAgIHBhcmFtZXRyb3M6SWRWYXJpYWJsZVtdLy8gW1wicDFcIixcInAyXCIsXCJwM1wiLCBcInA0XCIsIFwicDVcIiwgXCJwNlwiXSwgLy8gdmFyaWFibGVzIHF1ZSBhbnVsYW4gYWwgZGlzcGFyYWRvclxyXG4gICAgY2FudGlkYWRfc29ydGVhYmxlczogSWRWYXJpYWJsZVxyXG4gICAgY2FudGlkYWRfdG90YWw6IElkVmFyaWFibGVcclxuICAgIHJlc3VsdGFkbzogSWRWYXJpYWJsZSAvL1wicDExXCJcclxuICAgIHJlc3VsdGFkb19tYW51YWw6IElkVmFyaWFibGUgLy9cInAxMVwiXHJcbiAgICBzb3J0ZWFkb19tb3N0cmFyPzoge3NvdXJjZTpJZFZhcmlhYmxlLCB0YXJnZXQ6SWRWYXJpYWJsZX1bXSxcclxuICAgIGluY29tcGxldGFzOiBJZFZhcmlhYmxlXHJcbiAgICB2YXJpYWJsZUJvdG9uRm9ybXVsYXJpb1VBOiBJZFZhcmlhYmxlLy8nJEIuRjpTMV9QJ1xyXG4gICAgdmFyaWFibGVCb3RvbkZvcm11bGFyaW9VQUluZGl2aWR1YWw/OiBJZFZhcmlhYmxlIC8vJyRCLkY6STEnXHJcbiAgICBpZF9mb3JtdWxhcmlvX2luZGl2aWR1YWw/OiBJZEZvcm11bGFyaW8gLy8gJ0Y6STEnXHJcbiAgICBpZF9mb3JtdWxhcmlvX3BhZHJlPzogSWRGb3JtdWxhcmlvIC8vICdGOlMxJ1xyXG59ICYgKENvbmZpZ3VyYWNpb25Tb3J0ZW9IYXNoIHwgQ29uZmlndXJhY2lvblNvcnRlb1RhYmxhKVxyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0b1BsYWluRm9yUGsoZm9yUGs6Rm9yUGspOlBsYWluRm9yUGt7XHJcbiAgICAvLyBAdHMtaWdub3JlIHNhYmVtb3MgcXVlIGhheSBxdWUgaGFjZXIgdW4gSlNPTlxyXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGZvclBrKTtcclxufVxyXG5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gICAgbmFtZXNwYWNlIG15T3due1xyXG4gICAgICAgIGludGVyZmFjZSBBZGRyUGFyYW1zIHtcclxuICAgICAgICAgICAgc3RhdGVfZm9yUGs6c3RyaW5nXHJcbiAgICAgICAgICAgIHN0YXRlX3BpbGFGb3JQazpzdHJpbmdcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvdGlwb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFnZGIsU0FBZ0IsWUFBWSxDQUFDLEtBQVc7UUFDcEMsK0NBQStDO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBSEQsb0NBR0MiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuaW1wb3J0IHtTdHJ1Y3R1cmUsIEZlZWRiYWNrfSBmcm9tIFwicm93LXZhbGlkYXRvclwiO1xyXG5cclxuZXhwb3J0IHR5cGUgTW9kb0FsbWFjZW5hbWllbnRvID0gJ3Nlc3Npb24nfCAvLyBjdWFuZG8gc2VhIHBhcmEgdW5hIHNvbGEgcGVzdGHDsWEsIHNlIHVzYSBlbiBtb2RvIGRpcmVjdG8sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsb2NhbCcgICAgLy8gcGFyYSB0b2RvIGVsIGRpc3Bvc2l0aXZvLCBzZSB1c2EgYWwgY2FyZ2FyIGhvamFzIGRlIHJ1dGEgZW50cmVzXHJcblxyXG5leHBvcnQgdHlwZSBJZE9wY2lvbiA9IG51bWJlclxyXG5leHBvcnQgdHlwZSBJZE9wZXJhdGl2byA9ICdldG9pMjExJ3wnZWFoMjAyMid8J2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRWYXJpYWJsZSA9ICd2MSd8J3YyJ3wndjMnfCdldGMuLi4nfCd2ZG9taW5pbyd8JyRwMCdcclxuZXhwb3J0IHR5cGUgSWRQcmVndW50YSA9ICdQMSd8J1AyJ3wnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZEJsb3F1ZSA9ICdCMSd8J0IyJ3wnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZEZvcm11bGFyaW8gPSAnRjEnfCdGMid8J2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRVbmlkYWRBbmFsaXNpcyA9ICd2aXZpZW5kYXMnfCdob2dhcmVzJ3wncGVyc29uYXMnXHJcbmV4cG9ydCB0eXBlIElkQm90b25Gb3JtdWxhcmlvID0gJ0JGOkYxJ3wnQkY6RjInfCdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkQ29uc2lzdGVuY2lhID0gJ0NPTlMxJ3wnQ09OUzInfCdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkVGV4dG8gPSAnRDMwX1JFRid8J01FU19SRUYnfCdTRU1fUkVGJ3wnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZEZpbHRybyA9ICdGSUxUUk8xJyB8ICdGSUxUUk8yJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkQ2FzaWxsZXJvID0gSWRWYXJpYWJsZSB8IElkUHJlZ3VudGEgfCBJZEJsb3F1ZSB8IElkRm9ybXVsYXJpbyB8IElkRmlsdHJvIHwgSWRPcGNpb25cclxuZXhwb3J0IHR5cGUgSWRGaW4gPSAnZmluJzsgLy8gbmV2ZXIgLy8gVE9ETzogcG9kZXIgcG9uZXIgJ0ZJTidcclxuZXhwb3J0IHR5cGUgSWREZXN0aW5vID0gSWRQcmVndW50YSB8IElkQmxvcXVlIHwgSWRGaW4gfCBJZEZpbHRybyBcclxuZXhwb3J0IHR5cGUgVmFsb3IgPSBzdHJpbmd8bnVtYmVyfG51bGw7XHJcbmV4cG9ydCB0eXBlIFRpcG9jRGVzdGlub3MgPSAnUCd8J0NQJ3wnQid8J0ZJTFRSTyd8J0JGJ1xyXG5leHBvcnQgdHlwZSBUaXBvYyA9IFRpcG9jRGVzdGlub3MgfCAnRid8J08nfCdPTSd8J0NPTlMnIHwnVEVYVE8nIHwgJ0xJQlJFJ1xyXG5cclxuZXhwb3J0IHR5cGUgSWRUYXJlYSA9ICdlbmN1J3wncmVjdSd8J3N1cGUnO1xyXG5cclxuZXhwb3J0IHR5cGUgRmVlZGJhY2tWYXJpYWJsZSA9IEZlZWRiYWNrPElkVmFyaWFibGUsIElkRmluPlxyXG5cclxuZXhwb3J0IHR5cGUgVGlwb1ZhcmlhYmxlcyA9ICd0ZXh0byd8J251bWVybyd8J2ZlY2hhJ3wnaG9yYXMnXHJcblxyXG5leHBvcnQgdHlwZSBEZXNwbGllZ3VlID0gJ2hvcml6b250YWwnfCdvY3VsdGEnXHJcblxyXG5leHBvcnQgdHlwZSBDYXNpbGxlcm9CYXNlID0ge1xyXG4gICAgaWRfY2FzaWxsZXJvPzpzdHJpbmdcclxuICAgIHRpcG9jOlRpcG9jXHJcbiAgICBjYXNpbGxlcm86SWRDYXNpbGxlcm9cclxuICAgIG5vbWJyZTpzdHJpbmdcclxuICAgIHNhbHRvOklkRGVzdGlub3xJZEZpbnxudWxsXHJcbiAgICB2ZXJfaWQ6c3RyaW5nfG51bGxcclxuICAgIGRlc3BsaWVndWVFbmNhYmV6YWRvOidsYXRlcmFsJ3wnc3VwZXJpb3InfG51bGxcclxuICAgIGRlc3BsaWVndWVDb250ZW5pZG86J3ZlcnRpY2FsJ3wnaG9yaXpvbnRhbCd8bnVsbFxyXG4gICAgZGVzcGxpZWd1ZVRpcG9JbnB1dDondGVsJ3xudWxsXHJcbiAgICBkZXNwbGllZ3VlT2N1bHRhOmJvb2xlYW58bnVsbFxyXG4gICAgbGVlcjpib29sZWFufG51bGxcclxuICAgIGFjbGFyYWNpb246c3RyaW5nfG51bGxcclxuICAgIHByaW1lcmFfdmFyaWFibGU/OklkVmFyaWFibGV8bnVsbFxyXG4gICAgdmFyX25hbWU/OklkVmFyaWFibGV8bnVsbFxyXG4gICAgdmFyX25hbWVfZXNwZWNpYWw/OnN0cmluZ3xudWxsXHJcbiAgICB0aXBvdmFyPzpUaXBvVmFyaWFibGVzfCdvcGNpb25lcyd8J3NpX25vJ3xudWxsXHJcbiAgICBjYXNpbGxlcm9zPzpDYXNpbGxlcm9zSW1wbGVtZW50YWRvc1tdfG51bGxcclxuICAgIGV4cHJlc2lvbl9oYWJpbGl0YXI/OnN0cmluZ1xyXG4gICAgZXhwcmVzaW9uX2hhYmlsaXRhcl9qcz86c3RyaW5nXHJcbiAgICBleHByZXNpb25fYXV0b2luZ3Jlc2FyPzpzdHJpbmdcclxuICAgIGV4cHJlc2lvbl9hdXRvaW5ncmVzYXJfanM/OnN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBPcGNpb249Q2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOidPJ1xyXG4gICAgY2FzaWxsZXJvOklkT3BjaW9uXHJcbiAgICBjYXNpbGxlcm9zOlByZWd1bnRhU2ltcGxlW11cclxuICAgIHZhcl9uYW1lPzpudWxsXHJcbiAgICB0aXBvdmFyPzpudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzpudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9wY2lvblNpPU9wY2lvbiAmIHtcclxuICAgIGNhc2lsbGVybzoxXHJcbiAgICBub21icmU6J1PDrSdcclxuICAgIGNhc2lsbGVyb3M6UHJlZ3VudGFTaW1wbGVbXSBcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3BjaW9uTm89T3BjaW9uICYge1xyXG4gICAgY2FzaWxsZXJvOjJcclxuICAgIG5vbWJyZTonTm8nXHJcbiAgICBjYXNpbGxlcm9zOlByZWd1bnRhU2ltcGxlW10gXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9wY2lvbk11bHRpcGxlPUNhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzonT00nXHJcbiAgICB0aXBvdmFyOidvcGNpb25lcydcclxuICAgIHZhcl9uYW1lOklkVmFyaWFibGVcclxuICAgIGNhc2lsbGVyb3M6W09wY2lvblNpLCBPcGNpb25Ob11cclxuICAgIGNhbGN1bGFkYT86Ym9vbGVhblxyXG4gICAgbGlicmU/OmJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJlZ3VudGFCYXNlID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOidQJ1xyXG4gICAgb3B0YXRpdm86Ym9vbGVhbnxudWxsXHJcbiAgICBjYXNpbGxlcm86SWRQcmVndW50YVxyXG4gICAgY2FsY3VsYWRhOiBib29sZWFufG51bGxcclxuICAgIGxpYnJlOiBib29sZWFufG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJlZ3VudGFTaW1wbGUgPSBQcmVndW50YUJhc2UgJiB7XHJcbiAgICB0aXBvdmFyOlRpcG9WYXJpYWJsZXNcclxuICAgIHZhcl9uYW1lOklkVmFyaWFibGVcclxuICAgIGxvbmdpdHVkOnN0cmluZ1xyXG4gICAgc2FsdG9fbnNfbmM6SWRWYXJpYWJsZXxudWxsXHJcbiAgICBjYXNpbGxlcm9zOiBQcmVndW50YVNpbXBsZVtdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByZWd1bnRhQ29uU2lObyA9IFByZWd1bnRhQmFzZSAmIHtcclxuICAgIHRpcG92YXI6J3NpX25vJ1xyXG4gICAgdmFyX25hbWU6SWRWYXJpYWJsZVxyXG4gICAgc2FsdG9fbnNfbmM6SWRWYXJpYWJsZXxudWxsXHJcbiAgICBjYXNpbGxlcm9zOiBbT3BjaW9uU2ksIE9wY2lvbk5vXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YUNvbk9wY2lvbmVzID0gUHJlZ3VudGFCYXNlICYge1xyXG4gICAgdGlwb3Zhcjonb3BjaW9uZXMnXHJcbiAgICB2YXJfbmFtZTpJZFZhcmlhYmxlXHJcbiAgICBzYWx0b19uc19uYzpJZFZhcmlhYmxlfG51bGxcclxuICAgIGNhc2lsbGVyb3M6IE9wY2lvbltdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByZWd1bnRhQ29uT3BjaW9uZXNNdWx0aXBsZXMgPSBQcmVndW50YUJhc2UgJiB7XHJcbiAgICB2YXJfbmFtZT86bnVsbFxyXG4gICAgdGlwb3Zhcj86bnVsbFxyXG4gICAgY2FzaWxsZXJvczogT3BjaW9uTXVsdGlwbGVbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YT1QcmVndW50YVNpbXBsZSB8IFByZWd1bnRhQ29uU2lObyB8IFByZWd1bnRhQ29uT3BjaW9uZXMgfCBQcmVndW50YUNvbk9wY2lvbmVzTXVsdGlwbGVzXHJcblxyXG5leHBvcnQgdHlwZSBDb25qdW50b1ByZWd1bnRhcz0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOidDUCdcclxuICAgIGNhc2lsbGVybzpJZFByZWd1bnRhXHJcbiAgICB2YXJfbmFtZT86bnVsbFxyXG4gICAgdGlwb3Zhcj86bnVsbFxyXG4gICAgY2FzaWxsZXJvczpQcmVndW50YVtdXHJcbn1cclxuXHJcbi8qXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnRlbmlkbyBleHRlbmRzIENhc2lsbGVyb0Jhc2Uge1xyXG4gICAgY2FzaWxsZXJvczpJQ29udGVuaWRvW11cclxufVxyXG4qL1xyXG5cclxuZXhwb3J0IHR5cGUgRmlsdHJvID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOidGSUxUUk8nXHJcbiAgICBjYXNpbGxlcm86SWRGaWx0cm9cclxuICAgIHZhcl9uYW1lPzpudWxsXHJcbiAgICB0aXBvdmFyPzpudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzpudWxsXHJcbiAgICBjYWxjdWxhZGE/Om51bGxcclxuICAgIGxpYnJlPzpudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbnRlbmlkb0Zvcm11bGFyaW89QmxvcXVlfFByZWd1bnRhfENvbmp1bnRvUHJlZ3VudGFzfEZpbHRyb3xCb3RvbkZvcm11bGFyaW98Q29uc2lzdGVuY2lhfFRleHRvXHJcblxyXG5leHBvcnQgdHlwZSBCbG9xdWUgPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6J0InXHJcbiAgICBjYXNpbGxlcm86SWRCbG9xdWVcclxuICAgIGNhc2lsbGVyb3M6Q29udGVuaWRvRm9ybXVsYXJpb1tdXHJcbiAgICB2YXJfbmFtZT86bnVsbFxyXG4gICAgdGlwb3Zhcj86bnVsbFxyXG4gICAgdW5pZGFkX2FuYWxpc2lzPzpJZFVuaWRhZEFuYWxpc2lzXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbnNpc3RlbmNpYSA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzonQ09OUydcclxuICAgIGNhc2lsbGVybzpJZENvbnNpc3RlbmNpYVxyXG4gICAgdmFyX25hbWU/Om51bGxcclxuICAgIHRpcG92YXI/Om51bGxcclxuICAgIHByaW1lcmFfdmFyaWFibGU/Om51bGxcclxufVxyXG5leHBvcnQgdHlwZSBUZXh0byA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzonVEVYVE8nXHJcbiAgICBjYXNpbGxlcm86SWRUZXh0b1xyXG4gICAgdmFyX25hbWU/Om51bGxcclxuICAgIHRpcG92YXI/Om51bGxcclxuICAgIHByaW1lcmFfdmFyaWFibGU/Om51bGxcclxufVxyXG5leHBvcnQgdHlwZSBMaWJyZSA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzonTElCUkUnXHJcbiAgICBjYXNpbGxlcm86SWRUZXh0b1xyXG4gICAgdmFyX25hbWU/Om51bGxcclxuICAgIHRpcG92YXI/Om51bGxcclxuICAgIHByaW1lcmFfdmFyaWFibGU/Om51bGxcclxufVxyXG5leHBvcnQgdHlwZSBCb3RvbkZvcm11bGFyaW8gPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6J0JGJ1xyXG4gICAgY2FzaWxsZXJvOklkQm90b25Gb3JtdWxhcmlvXHJcbiAgICB2YXJfbmFtZT86bnVsbFxyXG4gICAgdGlwb3Zhcj86bnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86bnVsbFxyXG4gICAgdmFyX25hbWVfQkY/OklkVmFyaWFibGVcclxuICAgIGxvbmdpdHVkPzpzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRm9ybXVsYXJpbyA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzonRidcclxuICAgIGNhc2lsbGVybzpJZEZvcm11bGFyaW9cclxuICAgIGZvcm11bGFyaW9fcHJpbmNpcGFsOmJvb2xlYW5cclxuICAgIGNhc2lsbGVyb3M6Q29udGVuaWRvRm9ybXVsYXJpb1tdXHJcbiAgICB2YXJfbmFtZT86bnVsbFxyXG4gICAgdGlwb3Zhcj86bnVsbFxyXG4gICAgaGVybWFubz86dHJ1ZVxyXG4gICAgdW5pZGFkX2FuYWxpc2lzOklkVW5pZGFkQW5hbGlzaXNcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ2FzaWxsZXJvc0ltcGxlbWVudGFkb3M9Rm9ybXVsYXJpb3xCbG9xdWV8RmlsdHJvfENvbmp1bnRvUHJlZ3VudGFzfFByZWd1bnRhfE9wY2lvbk11bHRpcGxlfE9wY2lvbnxCb3RvbkZvcm11bGFyaW98Q29uc2lzdGVuY2lhfFRleHRvfExpYnJlXHJcblxyXG5leHBvcnQgdHlwZSBDYW1wb1BrUmFpeiA9ICd2aXZpZW5kYSd8J2V0Yy4uLic7XHJcblxyXG5leHBvcnQgdHlwZSBGb3JQa1JhaXo9e1xyXG4gICAgZm9ybXVsYXJpbzpJZEZvcm11bGFyaW8sIFxyXG59ICYge1xyXG4gICAgW2NhbXBvIGluIENhbXBvUGtSYWl6XT86bnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENhbXBvUGsgPSAndml2aWVuZGEnfCdob2dhcid8J3BlcnNvbmEnfCdldGMuLi4nO1xyXG5leHBvcnQgdHlwZSBGb3JQayA9IHtcclxuICAgIGZvcm11bGFyaW86SWRGb3JtdWxhcmlvLCBcclxufSAmIHtcclxuICAgIFtjYW1wbyBpbiBDYW1wb1BrXT86bnVtYmVyXHJcbn1cclxuZXhwb3J0IHR5cGUgUGxhaW5Gb3JQaz0ne1wiZm9ybXVsYXJpb1wiOlwiRjpGMVwiLFwidml2aWVuZGFcIjpcIjEwMjAyXCIsXCJwZXJzb25hXCI6bnVsbH0nfCdldGMuLi4nO1xyXG5cclxuZXhwb3J0IHR5cGUgT2JqZXRvTnVtZXJhZG9PQXJyYXk8VD4gPSBUW10gfCB7W24gaW4gbnVtYmVyXTpUfVxyXG5cclxuZXhwb3J0IHR5cGUgUmVzcHVlc3Rhcz17XHJcbiAgICAgICAgW3ByZWd1bnRhIGluIElkVmFyaWFibGVdOlZhbG9yXHJcbiAgICB9ICYge1xyXG4gICAgICAgIFt1YSBpbiBJZFVuaWRhZEFuYWxpc2lzXTpPYmpldG9OdW1lcmFkb09BcnJheTxSZXNwdWVzdGFzPlxyXG4gICAgfVxyXG5cclxuZXhwb3J0IHR5cGUgUmVzcHVlc3Rhc1JhaXo9UmVzcHVlc3RhcyAmIHtcclxuICAgIHJlc3VtZW5Fc3RhZG86UmVzdW1lbkVzdGFkb1xyXG4gICAgcmVzdW1lbkVzdGFkb1N1cDpSZXN1bWVuRXN0YWRvXHJcbiAgICAkZGlydHk6Ym9vbGVhblxyXG4gICAgY29kTm9SZWE6IHN0cmluZ3xudWxsXHJcbiAgICBjb2RSZWE6IG51bWJlcnxudWxsXHJcbiAgICBjb2ROb1JlYVN1cDogc3RyaW5nfG51bGxcclxuICAgIGNvZFJlYVN1cDogbnVtYmVyfG51bGxcclxufVxyXG5cclxuLypcclxuICAgIGFjbGFyYWNpw7NuOlxyXG4gICAge3YxOid4JywgdjI6J3gnLCBwZXJzb25hczpbe3AxOjEsIHAyOid4fSx7cDE6MiwgcDI6eH1dLCBtYXNjb3RhczpbXSB9XHJcbiAgICBlc3TDoSBhbmlkYWRvIHBvciB1bmlkYWQgZGUgYW7DoWxpc2lzXHJcbiovXHJcblxyXG5leHBvcnQgdHlwZSBVbmlkYWRBbmFsaXNpcyA9IHtcclxuICAgIHVuaWRhZF9hbmFsaXNpczpJZFVuaWRhZEFuYWxpc2lzLCBcclxuICAgIHBhZHJlPzpJZFVuaWRhZEFuYWxpc2lzLCBcclxuICAgIHBrX2FncmVnYWRhOkNhbXBvUGssIFxyXG4gICAgcHJpbmNpcGFsPzpib29sZWFuLCBcclxuICAgIGhpamFzOiB7W2sgaW4gSWRVbmlkYWRBbmFsaXNpc10/OiBVbmlkYWRBbmFsaXNpc31cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVEVNID0ge1xyXG4gICAgbm9tY2FsbGU6c3RyaW5nXHJcbiAgICBkb21pbmlvOm51bWJlclxyXG4gICAgc2VjdG9yOnN0cmluZ1xyXG4gICAgZWRpZmljaW86c3RyaW5nXHJcbiAgICBlbnRyYWRhOnN0cmluZ1xyXG4gICAgbnJvY2F0YXN0cmFsOnN0cmluZ1xyXG4gICAgcGlzbzpzdHJpbmdcdFxyXG4gICAgZGVwYXJ0YW1lbnRvOnN0cmluZ1xyXG4gICAgaGFiaXRhY2lvbjpzdHJpbmdcclxuICAgIGNhc2E6c3RyaW5nXHJcbiAgICBwcmlvcmlkYWQ6MXwyfDNcclxuICAgIG9ic2VydmFjaW9uZXM6c3RyaW5nXHJcbiAgICBzZWxlY2Npb25hZG86bnVtYmVyLFxyXG4gICAgY2l0YTogc3RyaW5nLFxyXG4gICAgY2FyZ2E6c3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFJlc3VtZW5Fc3RhZG8gPSAndmFjaW8nIHwgJ2NvbiBwcm9ibGVtYXMnIHwgJ2luY29tcGxldG8nIHwgJ29rJyB8ICdubyByZWEnIHwgJ2NpdGEgcGFjdGFkYSc7XHJcblxyXG5leHBvcnQgdHlwZSBJbmZvVGFyZWE9IHtcclxuICAgIHRhcmVhPzogSWRUYXJlYVxyXG4gICAgbm90YXM/OnN0cmluZ1xyXG4gICAgZmVjaGFfYXNpZ25hY2lvbj86RGF0ZVxyXG4gICAgYXNpZ25hZG8/OnN0cmluZ1xyXG4gICAgbWFpbl9mb3JtOiBJZEZvcm11bGFyaW9cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVmlzaXRhPXtcclxuICAgIGZlY2hhOiBzdHJpbmcgfCBudWxsXHJcbiAgICBob3JhOiBzdHJpbmcgfCBudWxsXHJcbiAgICBpZHBlcjogc3RyaW5nIHwgbnVsbFxyXG4gICAgb2JzZXJ2YWNpb25lczogc3RyaW5nIHwgbnVsbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSAgRGF0b3NIZHJVYVBwYWw9IHtcclxuICAgIHRhcmVhOiBJbmZvVGFyZWFcclxuICAgIHRlbTogVEVNXHJcbiAgICBcclxuLypcclxuICAgIGFjbGFyYWNpw7NuOlxyXG4gICAge3YxOid4JywgdjI6J3gnLCBwZXJzb25hczpbe3AxOjEsIHAyOid4fSx7cDE6MiwgcDI6eH1dLCBtYXNjb3RhczpbXSB9XHJcbiAgICBlc3TDoSBhbmlkYWRvIHBvciB1bmlkYWQgZGUgYW7DoWxpc2lzXHJcbiovXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIElkQ2FyZ2E9XCIyMDIwLTA3LTA3XCJ8XCIyMDIwLTA3LTA4XCJcclxuXHJcbmV4cG9ydCB0eXBlIEVzdGFkb0NhcmdhPSdyZXN1bWVuJ3wncmVsZXZhbWllbnRvJ3wncmVjaWJvJ1xyXG5cclxuZXhwb3J0IHR5cGUgQ2FyZ2E9e1xyXG4gICAgZmVjaGE6IERhdGVcclxuICAgIGVzdGFkb19jYXJnYTogRXN0YWRvQ2FyZ2FcclxuICAgIG5lY2VzYXJpYXM6IG51bWJlclxyXG4gICAgb2JzZXJ2YWNpb25lczogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENhcmdhcz17XHJcbiAgICBbaWRDYXJnYSBpbiBJZENhcmdhXTogQ2FyZ2FcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRXN0cnVjdHVyYVJvd1ZhbGlkYXRvcj1TdHJ1Y3R1cmU8SWRWYXJpYWJsZSxWYWxvcixJZEZpbj47XHJcblxyXG5leHBvcnQgdHlwZSBNb2RvRGVzcGxpZWd1ZSA9ICdtZXRhZGF0b3MnfCdyZWxldmFtaWVudG8nfCdQREYnXHJcblxyXG5leHBvcnQgdHlwZSBJbmZvRm9ybXVsYXJpbz17XHJcbiAgICBjYXNpbGxlcm9zOkZvcm11bGFyaW8sIC8vIGNhc2lsbGVyb3MgYXBsYW5hZG9zXHJcbiAgICBlc3RydWN0dXJhUm93VmFsaWRhdG9yOkVzdHJ1Y3R1cmFSb3dWYWxpZGF0b3IgLy8gZXN0cnVjdHVyYSBkZSB2YXJpYWJsZXMgcGFyYSBlbCBSb3dWYWxpZGF0b3JcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWRSZXN1bHRhZG8gPSAnQVZFUklHVUFSJ3wnVE9ETyc7XHJcblxyXG5leHBvcnQgdHlwZSBUYXJlYXNFc3RydWN0dXJhPXtcclxuICAgIFtpZFRhcmVhIGluIElkVGFyZWFdOntcclxuICAgICAgICByZXN1bHRhZG9zOntcclxuICAgICAgICAgICAgW2lkUmVzdWx0YWRvIGluIElkUmVzdWx0YWRvXTp7XHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwY2lvbjpzdHJpbmdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRXN0cnVjdHVyYSA9IHtcclxuICAgIGZvcm11bGFyaW9zOnsgXHJcbiAgICAgICAgW25vbWJyZUZvcm11bGFyaW8gaW4gSWRGb3JtdWxhcmlvXTpJbmZvRm9ybXVsYXJpb1xyXG4gICAgfVxyXG4gICAgdW5pZGFkZXNfYW5hbGlzaXM6eyBcclxuICAgICAgICBbaWRVbmlkYWRBbmFsaXNpcyBpbiBJZFVuaWRhZEFuYWxpc2lzXTogVW5pZGFkQW5hbGlzaXNcclxuICAgIH1cclxuICAgIHRhcmVhczpUYXJlYXNFc3RydWN0dXJhXHJcbiAgICB0aW1lc3RhbXA6bnVtYmVyXHJcbiAgICBvcGVyYXRpdm86SWRPcGVyYXRpdm9cclxuICAgIGNvbmZpZ1NvcnRlbzogQ29uZmlndXJhY2lvblNvcnRlb1xyXG5cdG5vUmVhczogeyBcclxuXHQgICAgICBub19yZWE6IHN0cmluZyAgXHJcblx0XHQgIGRlc2NyaXBjaW9uOiBzdHJpbmdcclxuXHRcdCAgZ3J1cG86ICAgICBzdHJpbmcgICAgXHJcblx0XHQgIHZhcmlhYmxlOiAgc3RyaW5nXHJcblx0XHQgIHZhbG9yOiAgICAgc3RyaW5nXHJcblx0XHQgIGdydXBvMDogICAgc3RyaW5nXHJcblx0fVtdXHJcbiAgICBub1JlYXNTdXA6IHsgXHJcbiAgICAgICAgbm9fcmVhX3N1cDogc3RyaW5nICBcclxuICAgICAgICBkZXNjX25vcmVhX3N1cDogc3RyaW5nXHJcbiAgICAgICAgZ3J1cG9fc3VwOiAgICAgc3RyaW5nICAgIFxyXG4gICAgICAgIHZhcmlhYmxlX3N1cDogIHN0cmluZ1xyXG4gICAgICAgIHZhbG9yX3N1cDogICAgIHN0cmluZ1xyXG4gICAgICAgIGdydXBvMF9zdXA6ICAgIHN0cmluZ1xyXG4gIH1bXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJZEVuYyA9ICcxMzAwMzEnfCcxMzAwMzInfCdldGMnO1xyXG5leHBvcnQgdHlwZSBJbmZvcm1hY2lvbkhkcj17W2VuYyBpbiBJZEVuY106IERhdG9zSGRyVWFQcGFsfVxyXG5cclxuZXhwb3J0IHR5cGUgQ2Fzb1N0YXRlPXtcclxuICAgIG9wY2lvbmVzOnsgLy8gZGF0b3MgZGUgbmF2ZWdhY2nDs24gcXVlIGVsaWplIGVsIHVzdWFyaW9cclxuICAgICAgICBmb3JQazpGb3JQa3xudWxsIC8vIMOtbmRpY2UgZGVudHJvIGRlIGxhcyB1bmlkYWRlcyBkZSBhbsOhbGlzaXMuIE51bGwgPSBlbiBob2phIGRlIHJ1dGFcclxuICAgICAgICBwaWxhRm9yUGs6Rm9yUGtbXVxyXG4gICAgICAgIG1vZG9EZXNwbGllZ3VlOk1vZG9EZXNwbGllZ3VlXHJcbiAgICAgICAgYmllbnZlbmlkbzpib29sZWFuXHJcbiAgICAgICAgbW9kb0RpcmVjdG86Ym9vbGVhblxyXG4gICAgICAgIG1vZG9Cb3JyYXJSZXNwdWVzdGE6SWRWYXJpYWJsZXxudWxsXHJcbiAgICAgICAgY29uQ2FtcG9PcGNpb25lczpib29sZWFuXHJcbiAgICAgICAgc2FsdG9BdXRvbWF0aWNvOmJvb2xlYW5cclxuICAgIH0sIFxyXG4gICAgbW9kbzp7IC8vIG5vIHNlIHBlcnNpc3RlXHJcbiAgICAgICAgZGVtbzpib29sZWFuXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIERlZk9wZXJhdGl2byA9IHtcclxuICAgIGVzTm9SZWE6KHJlc3B1ZXN0YXM6UmVzcHVlc3Rhcyk9PiB7Y29kTm9SZWE6c3RyaW5nfG51bGwsIGVzTm9SZWE6Ym9vbGVhbn0sXHJcbiAgICBlc05vUmVhU3VwOihyZXNwdWVzdGFzOlJlc3B1ZXN0YXMpPT4ge2NvZE5vUmVhU3VwOnN0cmluZ3xudWxsLCBlc05vUmVhU3VwOmJvb2xlYW59LFxyXG4gICAgZXNSZWFsaXphZGE6KHJlc3B1ZXN0YXM6UmVzcHVlc3Rhcyk9PiB7Y29kUmVhOm51bWJlcnxudWxsLCBlc1JlYTpib29sZWFufSxcclxuICAgIGVzUmVhbGl6YWRhU3VwOihyZXNwdWVzdGFzOlJlc3B1ZXN0YXMpPT4ge2NvZFJlYVN1cDpudW1iZXJ8bnVsbCwgZXNSZWFTdXA6Ym9vbGVhbn0sXHJcbiAgICBVQXByaW5jaXBhbDogSWRVbmlkYWRBbmFsaXNpcyxcclxuICAgIGRlZlVBOntbaSBpbiBJZFVuaWRhZEFuYWxpc2lzXTp7cGs6SWRWYXJpYWJsZSwgaW5jbHVpZGFzOklkVW5pZGFkQW5hbGlzaXNbXSwgaWRzRm9yOklkRm9ybXVsYXJpb1tdfX0sXHJcbiAgICBkZWZGb3I6e1tmIGluIElkRm9ybXVsYXJpb106ey8qYXJib2xVQTpJZFVuaWRhZEFuYWxpc2lzW10sICovIGhlcm1hbm8/OnRydWV9fVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBEYXRvc0J5UGFzc1BlcnNpc3RpYmxlcyA9IHtcclxuICAgIHJlc3B1ZXN0YXM6e1t1YSBpbiBJZFVuaWRhZEFuYWxpc2lzXTpSZXNwdWVzdGFzUmFpeltdfVxyXG4gICAgbW9kb0FsbWFjZW5hbWllbnRvOk1vZG9BbG1hY2VuYW1pZW50b1xyXG4gICAgcGVyc29uYTpzdHJpbmdcclxuICAgIHRhcmVhOklkVGFyZWFcclxuICAgIGlkcGVyOnN0cmluZ1xyXG4gICAgY2FyZ2FzOiBDYXJnYXNcclxuICAgIGluZm9ybWFjaW9uSGRyOiBJbmZvcm1hY2lvbkhkclxyXG4gICAgc29sb0xlY3R1cmE6IGJvb2xlYW5cclxuICAgIHRva2VuPzpzdHJpbmdcclxuICAgIG51bV9zaW5jcm8/Om51bWJlclxyXG4gICAgdGltZXN0YW1wRXN0cnVjdHVyYT86bnVtYmVyXHJcbn1cclxuXHJcbnR5cGUgQ29uZmlndXJhY2lvblNvcnRlb1RhYmxhID0ge1xyXG4gICAgbWV0b2RvOiBcInRhYmxhXCIsXHJcbiAgICBwYXJhbV9tZXRvZG86IHtcclxuICAgICAgICB0YWJsYTpzdHJpbmdbXSxcclxuICAgICAgICB2YXJfbGV0cmE6SWRWYXJpYWJsZSxcclxuICAgIH0gICAgXHJcbn1cclxuXHJcbnR5cGUgQ29uZmlndXJhY2lvblNvcnRlb0hhc2ggPSB7XHJcbiAgICBtZXRvZG86IFwiaGFzaFwiLFxyXG4gICAgcGFyYW1fbWV0b2RvOiB7XHJcbiAgICAgICAgdmFyX2NvZWY6IFtcclxuICAgICAgICAgICAge3ZhcjpJZFZhcmlhYmxlLCBjb2VmOm51bWJlcn0sXHJcbiAgICAgICAgICAgIHt2YXI6SWRWYXJpYWJsZSwgY29lZjpudW1iZXJ9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgZGl2aXNvcjogbnVtYmVyXHJcbiAgICB9ICAgIFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDb25maWd1cmFjaW9uU29ydGVvID0ge1trZXkgaW4gSWRGb3JtdWxhcmlvXTpDb25maWd1cmFjaW9uU29ydGVvRm9ybXVsYXJpb31cclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWNpb25Tb3J0ZW9Gb3JtdWxhcmlvID0ge1xyXG4gICAgdW5pZGFkX2FuYWxpc2lzOiBJZFVuaWRhZEFuYWxpc2lzLFxyXG4gICAgdW5pZGFkX2FuYWxpc2lzX3BhZHJlOiBJZFVuaWRhZEFuYWxpc2lzLFxyXG4gICAgLy9leHByX2luY29tcGxldGl0dWQ6IHN0cmluZyAvL1wibm90IChwMSkgb3Igbm8gdCAocDIpIG9yIG5vdChwMylcIlxyXG4gICAgZXhwcl9pbmNvbXBsZXRpdHVkOiB7XHJcbiAgICAgICAgW2tleSBpbiBudW1iZXJdOntkb21pbmlvOm51bWJlciwgZXhwcjpzdHJpbmd9XHJcbiAgICB9IFxyXG4gICAgLy9leHByX2luY29tcGxldGl0dWRfanM6IHN0cmluZyAvL3NlIGNyZWEgYWwgY29tcGlsYXJcclxuICAgIGV4cHJfaW5jb21wbGV0aXR1ZF9qczoge1xyXG4gICAgICAgIFtrZXkgaW4gbnVtYmVyXTp7ZG9taW5pbzpudW1iZXIsIGV4cHI6c3RyaW5nfVxyXG4gICAgfSBcclxuICAgIGRpc3BhcmFkb3I6IElkVmFyaWFibGUgLy9cInA5XCJcclxuICAgIC8vZmlsdHJvOiBzdHJpbmcgLy9cInAzPj0xOFwiXHJcbiAgICBmaWx0cm86IHtcclxuICAgICAgICBba2V5IGluIG51bWJlcl06e2RvbWluaW86bnVtYmVyLCBleHByOnN0cmluZ31cclxuICAgIH0gXHJcbiAgICAvL2ZpbHRyb19qczogc3RyaW5nIC8vc2UgY3JlYSBhbCBjb21waWxhclxyXG4gICAgZmlsdHJvX2pzOiB7XHJcbiAgICAgICAgW2tleSBpbiBudW1iZXJdOntkb21pbmlvOm51bWJlciwgZXhwcjpzdHJpbmd9XHJcbiAgICB9IFxyXG4gICAgb3JkZW46IHtcclxuICAgICAgICB2YXJpYWJsZTpJZFZhcmlhYmxlXHJcbiAgICAgICAgb3JkZW46IDF8LTFcclxuICAgIH1bXSAvL1tcInAzXCIsIFwicDJcIiwgXCJwMVwiLCBcInAwXCJdLCAvLyBwMCBlcyBjb25zdHJ1aWRhLCBubyB2YSBlbiBwYXLDoW1ldHJvcywgc2UgcG9uZSBwYXJhIHF1ZSBlbCBvcmRlbiBzZWEgZGV0ZXJtaW7DrXN0aWNvXHJcbiAgICBwYXJhbWV0cm9zOklkVmFyaWFibGVbXS8vIFtcInAxXCIsXCJwMlwiLFwicDNcIiwgXCJwNFwiLCBcInA1XCIsIFwicDZcIl0sIC8vIHZhcmlhYmxlcyBxdWUgYW51bGFuIGFsIGRpc3BhcmFkb3JcclxuICAgIGNhbnRpZGFkX3NvcnRlYWJsZXM6IElkVmFyaWFibGVcclxuICAgIGNhbnRpZGFkX3RvdGFsOiBJZFZhcmlhYmxlXHJcbiAgICByZXN1bHRhZG86IElkVmFyaWFibGUgLy9cInAxMVwiXHJcbiAgICByZXN1bHRhZG9fbWFudWFsOiBJZFZhcmlhYmxlIC8vXCJwMTFcIlxyXG4gICAgc29ydGVhZG9fbW9zdHJhcj86IHtzb3VyY2U6SWRWYXJpYWJsZSwgdGFyZ2V0OklkVmFyaWFibGV9W10sXHJcbiAgICBpbmNvbXBsZXRhczogSWRWYXJpYWJsZVxyXG4gICAgdmFyaWFibGVCb3RvbkZvcm11bGFyaW9VQTogSWRWYXJpYWJsZS8vJyRCLkY6UzFfUCdcclxuICAgIHZhcmlhYmxlQm90b25Gb3JtdWxhcmlvVUFJbmRpdmlkdWFsPzogSWRWYXJpYWJsZSAvLyckQi5GOkkxJ1xyXG4gICAgaWRfZm9ybXVsYXJpb19pbmRpdmlkdWFsPzogSWRGb3JtdWxhcmlvIC8vICdGOkkxJ1xyXG4gICAgaWRfZm9ybXVsYXJpb19wYWRyZT86IElkRm9ybXVsYXJpbyAvLyAnRjpTMSdcclxufSAmIChDb25maWd1cmFjaW9uU29ydGVvSGFzaCB8IENvbmZpZ3VyYWNpb25Tb3J0ZW9UYWJsYSlcclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdG9QbGFpbkZvclBrKGZvclBrOkZvclBrKTpQbGFpbkZvclBre1xyXG4gICAgLy8gQHRzLWlnbm9yZSBzYWJlbW9zIHF1ZSBoYXkgcXVlIGhhY2VyIHVuIEpTT05cclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShmb3JQayk7XHJcbn1cclxuXHJcbmRlY2xhcmUgZ2xvYmFsIHtcclxuICAgIG5hbWVzcGFjZSBteU93bntcclxuICAgICAgICBpbnRlcmZhY2UgQWRkclBhcmFtcyB7XHJcbiAgICAgICAgICAgIHN0YXRlX2ZvclBrOnN0cmluZ1xyXG4gICAgICAgICAgICBzdGF0ZV9waWxhRm9yUGs6c3RyaW5nXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
drop schema if exists "comun" cascade;
|
|
6
6
|
create schema "comun";
|
|
7
|
-
grant usage on schema "comun" to "preju2022_admin";
|
|
8
|
-
grant create on schema "comun" to "preju2022_admin";
|
|
7
|
+
--grant usage on schema "comun" to "preju2022_admin";
|
|
8
|
+
--grant create on schema "comun" to "preju2022_admin";
|
|
9
9
|
|
|
10
10
|
CREATE OR REPLACE FUNCTION comun.informado("P_valor" anyelement)
|
|
11
11
|
RETURNS boolean AS
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
tipoc|denominacion|irrepetible|desp_casillero|desp_hijos|puede_ser_var
|
|
2
|
-
B|bloque|true|||false
|
|
3
|
-
BF|Botón para formulario|true|||
|
|
4
|
-
CONS|consistencia|true|||false
|
|
5
|
-
CP|conjunto de preguntas|true|||false
|
|
6
|
-
F|formulario||||false
|
|
7
|
-
FILTRO|filtro|true|||false
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
tipoc|denominacion|irrepetible|desp_casillero|desp_hijos|puede_ser_var
|
|
2
|
+
B|bloque|true|||false
|
|
3
|
+
BF|Botón para formulario|true|||
|
|
4
|
+
CONS|consistencia|true|||false
|
|
5
|
+
CP|conjunto de preguntas|true|||false
|
|
6
|
+
F|formulario||||false
|
|
7
|
+
FILTRO|filtro|true|||false
|
|
8
|
+
FIN|fin|true|||false
|
|
9
|
+
LIBRE|casillero de uso libre (uso exclusivo de PEI)|true|||false
|
|
10
|
+
MATRIZ|matriz (de varias preguntas)|true|||false
|
|
11
|
+
O|opción|||nueva_fila|false
|
|
12
|
+
OM|opción múltiple|||misma_fila|
|
|
13
|
+
P|pregunta|true||tabla|
|
|
14
|
+
PMATRIZ|pregunta en forma de matriz|true||tabla_matriz|false
|
|
13
15
|
TEXTO|texto aclaratorio sin pregunta||||false
|
|
@@ -1,23 +1,25 @@
|
|
|
1
|
-
tipoc_padre|tipoc_hijo
|
|
2
|
-
B|CP
|
|
3
|
-
B|FILTRO
|
|
4
|
-
B|
|
|
5
|
-
B|
|
|
6
|
-
B|
|
|
7
|
-
B|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
F|
|
|
11
|
-
F|
|
|
12
|
-
F|
|
|
13
|
-
F|
|
|
14
|
-
F|
|
|
15
|
-
F|
|
|
16
|
-
F|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
P
|
|
1
|
+
tipoc_padre|tipoc_hijo
|
|
2
|
+
B|CP
|
|
3
|
+
B|FILTRO
|
|
4
|
+
B|LIBRE
|
|
5
|
+
B|MATRIZ
|
|
6
|
+
B|P
|
|
7
|
+
B|PMATRIZ
|
|
8
|
+
B|TEXTO
|
|
9
|
+
CP|P
|
|
10
|
+
F|B
|
|
11
|
+
F|BF
|
|
12
|
+
F|CP
|
|
13
|
+
F|FILTRO
|
|
14
|
+
F|LIBRE
|
|
15
|
+
F|MATRIZ
|
|
16
|
+
F|P
|
|
17
|
+
F|PMATRIZ
|
|
18
|
+
F|TEXTO
|
|
19
|
+
MATRIZ|P
|
|
20
|
+
O|P
|
|
21
|
+
OM|O
|
|
22
|
+
OM|P
|
|
23
|
+
P|O
|
|
24
|
+
P|OM
|
|
23
25
|
PMATRIZ|OM
|
package/package.json
CHANGED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
CACHE MANIFEST
|
|
2
|
-
#0813b
|
|
3
|
-
|
|
4
|
-
CACHE:
|
|
5
|
-
#--------------------------- JS ------------------------------------
|
|
6
|
-
../lib/react.production.min.js
|
|
7
|
-
../lib/react-dom.production.min.js
|
|
8
|
-
../lib/material-ui.production.min.js
|
|
9
|
-
../lib/clsx.min.js
|
|
10
|
-
../lib/redux.min.js
|
|
11
|
-
../lib/react-redux.min.js
|
|
12
|
-
../lib/require-bro.js
|
|
13
|
-
../lib/like-ar.js
|
|
14
|
-
../lib/best-globals.js
|
|
15
|
-
../lib/json4all.js
|
|
16
|
-
../lib/js-to-html.js
|
|
17
|
-
../lib/redux-typed-reducer.js
|
|
18
|
-
../lib/memoize-one.js
|
|
19
|
-
../adapt.js
|
|
20
|
-
../tipos.js
|
|
21
|
-
../digitov.js
|
|
22
|
-
../redux-formulario.js
|
|
23
|
-
../render-general.js
|
|
24
|
-
../render-formulario.js
|
|
25
|
-
../client_modules/row-validator.js
|
|
26
|
-
../unlogged.js
|
|
27
|
-
../lib/js-yaml.js
|
|
28
|
-
../lib/xlsx.core.min.js
|
|
29
|
-
../lib/lazy-some.js
|
|
30
|
-
../lib/sql-tools.js
|
|
31
|
-
../dialog-promise/dialog-promise.js
|
|
32
|
-
../moment/min/moment.js
|
|
33
|
-
../pikaday/pikaday.js
|
|
34
|
-
../lib/polyfills-bro.js
|
|
35
|
-
../lib/big.js
|
|
36
|
-
../lib/type-store.js
|
|
37
|
-
../lib/typed-controls.js
|
|
38
|
-
../lib/ajax-best-promise.js
|
|
39
|
-
../my-ajax.js
|
|
40
|
-
../my-start.js
|
|
41
|
-
../lib/my-localdb.js
|
|
42
|
-
../lib/my-websqldb.js
|
|
43
|
-
../lib/my-localdb.js.map
|
|
44
|
-
../lib/my-websqldb.js.map
|
|
45
|
-
# NO VA ../lib/my-things.js
|
|
46
|
-
# NO VA ../lib/my-tables.js
|
|
47
|
-
../lib/my-inform-net-status.js
|
|
48
|
-
# NO VA ../lib/my-menu.js
|
|
49
|
-
../lib/my-skin.js
|
|
50
|
-
../lib/cliente-en-castellano.js
|
|
51
|
-
../client/client.js
|
|
52
|
-
../client/menu.js
|
|
53
|
-
|
|
54
|
-
#------------------------------ CSS ---------------------------------
|
|
55
|
-
../dialog-promise/dialog-promise.css
|
|
56
|
-
../pikaday/pikaday.css
|
|
57
|
-
# NO VA ../css/my-things.css
|
|
58
|
-
# NO VA ../css/my-tables.css
|
|
59
|
-
# NO VA ../css/my-menu.css
|
|
60
|
-
../css/offline-mode.css
|
|
61
|
-
../css/formulario-react.css
|
|
62
|
-
|
|
63
|
-
#------------------------------ IMAGES ---------------------------------
|
|
64
|
-
../img/main-loading.gif
|
|
65
|
-
|
|
66
|
-
FALLBACK:
|
|
67
|
-
../menu* ../campo
|
|
68
|
-
|
|
69
|
-
NETWORK:
|
|
70
|
-
*
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
altoEtiqueta = 148px
|
|
2
|
-
mitadAltoEtiqueta = 75px
|
|
3
|
-
anchoEtiqueta = 390px
|
|
4
|
-
altoQr = 128px
|
|
5
|
-
altoLogoEstadistica = 73px
|
|
6
|
-
altoTexto = 41px
|
|
7
|
-
altoDmEncu = 73px
|
|
8
|
-
altoBA = 55px
|
|
9
|
-
|
|
10
|
-
.etiqueta
|
|
11
|
-
display flex
|
|
12
|
-
background-color #ffffff
|
|
13
|
-
width anchoEtiqueta
|
|
14
|
-
height altoEtiqueta
|
|
15
|
-
.columna
|
|
16
|
-
padding 11px 0px
|
|
17
|
-
.codigo-qr
|
|
18
|
-
height altoQr
|
|
19
|
-
width altoQr
|
|
20
|
-
img
|
|
21
|
-
height altoQr
|
|
22
|
-
.logo-estadistica
|
|
23
|
-
height altoLogoEstadistica
|
|
24
|
-
img
|
|
25
|
-
height altoLogoEstadistica
|
|
26
|
-
.texto-codigo
|
|
27
|
-
height altoTexto
|
|
28
|
-
padding 6px 0px
|
|
29
|
-
x-background-color yellow
|
|
30
|
-
text-align center
|
|
31
|
-
vertical-align middle
|
|
32
|
-
font-size 30px
|
|
33
|
-
.logo-dmencu
|
|
34
|
-
height altoDmEncu
|
|
35
|
-
img
|
|
36
|
-
height altoDmEncu
|
|
37
|
-
.logo-ba
|
|
38
|
-
height altoBA
|
|
39
|
-
img
|
|
40
|
-
height altoBA
|
|
41
|
-
.columna-derecha
|
|
42
|
-
padding 0px 0px
|
|
43
|
-
|
|
44
|
-
.not_print
|
|
45
|
-
@media print
|
|
46
|
-
display none
|
|
47
|
-
|
|
48
|
-
.pre-plancha
|
|
49
|
-
display flex
|
|
50
|
-
color #399947
|
|
51
|
-
margin-left 25px
|
|
52
|
-
padding-top 22px
|
|
53
|
-
min-height 32px
|
|
54
|
-
height 32px
|
|
55
|
-
vertical-align bottom
|
|
56
|
-
align-items bottom
|
|
57
|
-
font-size 130%
|
|
58
|
-
.plancha
|
|
59
|
-
margin-left 10px
|
|
60
|
-
display grid
|
|
61
|
-
grid-template-columns repeat(3, 1fr)
|
|
62
|
-
page-break-after always
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
.table-param-screen, .result-progress
|
|
66
|
-
@media print
|
|
67
|
-
display none
|
|
68
|
-
|
|
69
|
-
.etiqueta
|
|
70
|
-
@media screen
|
|
71
|
-
border 1px dashed orange
|
|
72
|
-
|
|
73
|
-
.result-div
|
|
74
|
-
@media print
|
|
75
|
-
zoom 0.65
|
|
76
|
-
|
|
77
|
-
.result-div[resultado-cargar=ok], .result-div[resultado-rectificar=ok]
|
|
78
|
-
background-color #5F5
|
|
79
|
-
.result-div[resultado-cargar='tenia']
|
|
80
|
-
background-color orange
|
|
81
|
-
.result-div[resultado-cargar]
|
|
82
|
-
.ficha-persona
|
|
83
|
-
label
|
|
84
|
-
font-weight 600
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
const CACHE_NAME = '#20-11-05';
|
|
12
|
-
const FALLBACK = 'campo';
|
|
13
|
-
var urlsToCache = [
|
|
14
|
-
"campo",
|
|
15
|
-
/*
|
|
16
|
-
"lib/react.production.min.js",
|
|
17
|
-
"lib/react-dom.production.min.js",
|
|
18
|
-
"lib/material-ui.production.min.js",
|
|
19
|
-
*/
|
|
20
|
-
"lib/react.development.js",
|
|
21
|
-
"lib/react-dom.development.js",
|
|
22
|
-
"lib/material-ui.development.js",
|
|
23
|
-
"lib/clsx.min.js",
|
|
24
|
-
"lib/redux.min.js",
|
|
25
|
-
"lib/react-redux.min.js",
|
|
26
|
-
"lib/require-bro.js",
|
|
27
|
-
"lib/like-ar.js",
|
|
28
|
-
"lib/best-globals.js",
|
|
29
|
-
"lib/json4all.js",
|
|
30
|
-
"lib/js-to-html.js",
|
|
31
|
-
"lib/redux-typed-reducer.js",
|
|
32
|
-
"lib/memoize-one.js",
|
|
33
|
-
"adapt.js",
|
|
34
|
-
"tipos.js",
|
|
35
|
-
"digitov.js",
|
|
36
|
-
"redux-formulario.js",
|
|
37
|
-
"render-general.js",
|
|
38
|
-
"render-formulario.js",
|
|
39
|
-
"client_modules/row-validator.js",
|
|
40
|
-
"unlogged.js",
|
|
41
|
-
"lib/js-yaml.js",
|
|
42
|
-
"lib/xlsx.core.min.js",
|
|
43
|
-
"lib/lazy-some.js",
|
|
44
|
-
"lib/sql-tools.js",
|
|
45
|
-
"dialog-promise/dialog-promise.js",
|
|
46
|
-
"moment/min/moment.js",
|
|
47
|
-
"pikaday/pikaday.js",
|
|
48
|
-
"lib/polyfills-bro.js",
|
|
49
|
-
"lib/big.js",
|
|
50
|
-
"lib/type-store.js",
|
|
51
|
-
"lib/typed-controls.js",
|
|
52
|
-
"lib/ajax-best-promise.js",
|
|
53
|
-
"my-ajax.js",
|
|
54
|
-
"my-start.js",
|
|
55
|
-
"lib/my-localdb.js",
|
|
56
|
-
"lib/my-websqldb.js",
|
|
57
|
-
"lib/my-localdb.js.map",
|
|
58
|
-
"lib/my-websqldb.js.map",
|
|
59
|
-
"lib/my-inform-net-status.js",
|
|
60
|
-
"lib/my-skin.js",
|
|
61
|
-
"lib/cliente-en-castellano.js",
|
|
62
|
-
"client/client.js",
|
|
63
|
-
"client/menu.js",
|
|
64
|
-
"dialog-promise/dialog-promise.css",
|
|
65
|
-
"pikaday/pikaday.css",
|
|
66
|
-
"css/offline-mode.css",
|
|
67
|
-
"css/formulario-react.css",
|
|
68
|
-
"img/main-loading.gif",
|
|
69
|
-
];
|
|
70
|
-
self.addEventListener('install', (event) => __awaiter(void 0, void 0, void 0, function* () {
|
|
71
|
-
//si hay cambios no espero para cambiarlo
|
|
72
|
-
self.skipWaiting();
|
|
73
|
-
console.log("instalando");
|
|
74
|
-
event.waitUntil(caches.open(CACHE_NAME).then((cache) => cache.addAll(urlsToCache)));
|
|
75
|
-
}));
|
|
76
|
-
self.addEventListener('fetch', (event) => {
|
|
77
|
-
var sourceParts = event.request.url.split('/');
|
|
78
|
-
var source = sourceParts[sourceParts.length - 1];
|
|
79
|
-
console.log("source", source);
|
|
80
|
-
if (source == '@version') {
|
|
81
|
-
var miBlob = new Blob();
|
|
82
|
-
var opciones = { "status": 200, "statusText": CACHE_NAME, ok: true };
|
|
83
|
-
var miRespuesta = new Response(miBlob, opciones);
|
|
84
|
-
event.respondWith(miRespuesta);
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
event.respondWith(caches.open(CACHE_NAME).then((cache) => cache.match(event.request).then((response) => {
|
|
88
|
-
console.log("respuesta caché: ", response);
|
|
89
|
-
return response || fetch(event.request).then((response) => {
|
|
90
|
-
console.log("respuesta", response);
|
|
91
|
-
if (!response) {
|
|
92
|
-
console.log("no tiene respuesta");
|
|
93
|
-
throw Error('without response');
|
|
94
|
-
}
|
|
95
|
-
return response;
|
|
96
|
-
}).catch((err) => {
|
|
97
|
-
console.log(err);
|
|
98
|
-
return new Response(`<p>Se produjo un error al intentar cargar la página, es posible que no haya conexión a internet</p><a href=${FALLBACK}>Volver a Hoja de Ruta</button>`, {
|
|
99
|
-
headers: { 'Content-Type': 'text/html' }
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
})));
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
self.addEventListener('activate', (event) => {
|
|
106
|
-
console.log("borrando caches viejas");
|
|
107
|
-
event.waitUntil(caches.keys().then((cacheNames) => {
|
|
108
|
-
return Promise.all(cacheNames.filter((cacheName) => cacheName != CACHE_NAME).map((cacheName) => {
|
|
109
|
-
console.log("borrando cache ", cacheName);
|
|
110
|
-
return caches.delete(cacheName);
|
|
111
|
-
}));
|
|
112
|
-
}));
|
|
113
|
-
});
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS13b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50L3NlcnZpY2Utd29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7Ozs7Ozs7OztBQUNiLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQztBQUMvQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUM7QUFDekIsSUFBSSxXQUFXLEdBQUc7SUFDZCxPQUFPO0lBQ1A7Ozs7TUFJRTtJQUNILDBCQUEwQjtJQUMxQiw4QkFBOEI7SUFDOUIsZ0NBQWdDO0lBQ2hDLGlCQUFpQjtJQUNoQixrQkFBa0I7SUFDbEIsd0JBQXdCO0lBQ3hCLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsNEJBQTRCO0lBQzVCLG9CQUFvQjtJQUNwQixVQUFVO0lBQ1YsVUFBVTtJQUNWLFlBQVk7SUFDWixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLHNCQUFzQjtJQUN0QixpQ0FBaUM7SUFDakMsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixrQ0FBa0M7SUFDbEMsc0JBQXNCO0lBQ3RCLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsMEJBQTBCO0lBQzFCLFlBQVk7SUFDWixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLDZCQUE2QjtJQUM3QixnQkFBZ0I7SUFDaEIsOEJBQThCO0lBQzlCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsbUNBQW1DO0lBQ25DLHFCQUFxQjtJQUNyQixzQkFBc0I7SUFDdEIsMEJBQTBCO0lBQzFCLHNCQUFzQjtDQUN6QixDQUFDO0FBQ0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFPLEtBQUssRUFBQyxFQUFFO0lBQzVDLHlDQUF5QztJQUN6QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUN6QixLQUFLLENBQUMsU0FBUyxDQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFDLEVBQUUsQ0FDbEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FDNUIsQ0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFBLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUMsRUFBRTtJQUNwQyxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsSUFBSSxNQUFNLEdBQVUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUMsTUFBTSxDQUFDLENBQUE7SUFDNUIsSUFBRyxNQUFNLElBQUUsVUFBVSxFQUFDO1FBQ2xCLElBQUksTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDeEIsSUFBSSxRQUFRLEdBQUcsRUFBRSxRQUFRLEVBQUcsR0FBRyxFQUFHLFlBQVksRUFBRyxVQUFVLEVBQUUsRUFBRSxFQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZFLElBQUksV0FBVyxHQUFHLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxLQUFLLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQ2xDO1NBQUk7UUFDRCxLQUFLLENBQUMsV0FBVyxDQUNiLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFDLEVBQUUsQ0FDbEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFDLEVBQUU7WUFDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQTtZQUMxQyxPQUFPLFFBQVEsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBQyxFQUFFO2dCQUNyRCxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQTtnQkFDbEMsSUFBRyxDQUFDLFFBQVEsRUFBRTtvQkFDVixPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUE7b0JBQ2pDLE1BQU0sS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7aUJBQ25DO2dCQUNELE9BQU8sUUFBUSxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBQyxFQUFFO2dCQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQ2hCLE9BQU8sSUFBSSxRQUFRLENBQUMsNEhBQTRILFFBQVEsaUNBQWlDLEVBQUU7b0JBQ3ZMLE9BQU8sRUFBRSxFQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUM7aUJBQ3pDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQ0wsQ0FDSixDQUFDO0tBQ0w7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLEVBQUMsRUFBRTtJQUN2QyxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUE7SUFDckMsS0FBSyxDQUFDLFNBQVMsQ0FDWCxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFDLEVBQUU7UUFDN0IsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUNkLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUMsRUFBRSxDQUMzQixTQUFTLElBQUksVUFBVSxDQUMxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBQyxFQUFFO1lBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUMxQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUMsQ0FBQyxDQUNMLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5jb25zdCBDQUNIRV9OQU1FID0gJyMyMC0xMS0wNSc7XHJcbmNvbnN0IEZBTExCQUNLID0gJ2NhbXBvJztcclxudmFyIHVybHNUb0NhY2hlID0gW1xyXG4gICAgXCJjYW1wb1wiLFxyXG4gICAgLypcclxuICAgIFwibGliL3JlYWN0LnByb2R1Y3Rpb24ubWluLmpzXCIsXHJcbiAgICBcImxpYi9yZWFjdC1kb20ucHJvZHVjdGlvbi5taW4uanNcIixcclxuICAgIFwibGliL21hdGVyaWFsLXVpLnByb2R1Y3Rpb24ubWluLmpzXCIsXHJcbiAgICAqL1xyXG4gICBcImxpYi9yZWFjdC5kZXZlbG9wbWVudC5qc1wiLFxyXG4gICBcImxpYi9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanNcIixcclxuICAgXCJsaWIvbWF0ZXJpYWwtdWkuZGV2ZWxvcG1lbnQuanNcIixcclxuICAgXCJsaWIvY2xzeC5taW4uanNcIixcclxuICAgIFwibGliL3JlZHV4Lm1pbi5qc1wiLFxyXG4gICAgXCJsaWIvcmVhY3QtcmVkdXgubWluLmpzXCIsXHJcbiAgICBcImxpYi9yZXF1aXJlLWJyby5qc1wiLFxyXG4gICAgXCJsaWIvbGlrZS1hci5qc1wiLFxyXG4gICAgXCJsaWIvYmVzdC1nbG9iYWxzLmpzXCIsXHJcbiAgICBcImxpYi9qc29uNGFsbC5qc1wiLFxyXG4gICAgXCJsaWIvanMtdG8taHRtbC5qc1wiLFxyXG4gICAgXCJsaWIvcmVkdXgtdHlwZWQtcmVkdWNlci5qc1wiLFxyXG4gICAgXCJsaWIvbWVtb2l6ZS1vbmUuanNcIixcclxuICAgIFwiYWRhcHQuanNcIixcclxuICAgIFwidGlwb3MuanNcIixcclxuICAgIFwiZGlnaXRvdi5qc1wiLFxyXG4gICAgXCJyZWR1eC1mb3JtdWxhcmlvLmpzXCIsXHJcbiAgICBcInJlbmRlci1nZW5lcmFsLmpzXCIsXHJcbiAgICBcInJlbmRlci1mb3JtdWxhcmlvLmpzXCIsXHJcbiAgICBcImNsaWVudF9tb2R1bGVzL3Jvdy12YWxpZGF0b3IuanNcIixcclxuICAgIFwidW5sb2dnZWQuanNcIixcclxuICAgIFwibGliL2pzLXlhbWwuanNcIixcclxuICAgIFwibGliL3hsc3guY29yZS5taW4uanNcIixcclxuICAgIFwibGliL2xhenktc29tZS5qc1wiLFxyXG4gICAgXCJsaWIvc3FsLXRvb2xzLmpzXCIsXHJcbiAgICBcImRpYWxvZy1wcm9taXNlL2RpYWxvZy1wcm9taXNlLmpzXCIsXHJcbiAgICBcIm1vbWVudC9taW4vbW9tZW50LmpzXCIsXHJcbiAgICBcInBpa2FkYXkvcGlrYWRheS5qc1wiLFxyXG4gICAgXCJsaWIvcG9seWZpbGxzLWJyby5qc1wiLFxyXG4gICAgXCJsaWIvYmlnLmpzXCIsXHJcbiAgICBcImxpYi90eXBlLXN0b3JlLmpzXCIsXHJcbiAgICBcImxpYi90eXBlZC1jb250cm9scy5qc1wiLFxyXG4gICAgXCJsaWIvYWpheC1iZXN0LXByb21pc2UuanNcIixcclxuICAgIFwibXktYWpheC5qc1wiLFxyXG4gICAgXCJteS1zdGFydC5qc1wiLFxyXG4gICAgXCJsaWIvbXktbG9jYWxkYi5qc1wiLFxyXG4gICAgXCJsaWIvbXktd2Vic3FsZGIuanNcIixcclxuICAgIFwibGliL215LWxvY2FsZGIuanMubWFwXCIsXHJcbiAgICBcImxpYi9teS13ZWJzcWxkYi5qcy5tYXBcIixcclxuICAgIFwibGliL215LWluZm9ybS1uZXQtc3RhdHVzLmpzXCIsXHJcbiAgICBcImxpYi9teS1za2luLmpzXCIsXHJcbiAgICBcImxpYi9jbGllbnRlLWVuLWNhc3RlbGxhbm8uanNcIixcclxuICAgIFwiY2xpZW50L2NsaWVudC5qc1wiLFxyXG4gICAgXCJjbGllbnQvbWVudS5qc1wiLFxyXG4gICAgXCJkaWFsb2ctcHJvbWlzZS9kaWFsb2ctcHJvbWlzZS5jc3NcIixcclxuICAgIFwicGlrYWRheS9waWthZGF5LmNzc1wiLFxyXG4gICAgXCJjc3Mvb2ZmbGluZS1tb2RlLmNzc1wiLFxyXG4gICAgXCJjc3MvZm9ybXVsYXJpby1yZWFjdC5jc3NcIixcclxuICAgIFwiaW1nL21haW4tbG9hZGluZy5naWZcIixcclxuXTtcclxuc2VsZi5hZGRFdmVudExpc3RlbmVyKCdpbnN0YWxsJywgYXN5bmMgKGV2ZW50KT0+e1xyXG4gICAgLy9zaSBoYXkgY2FtYmlvcyBubyBlc3Blcm8gcGFyYSBjYW1iaWFybG9cclxuICAgIHNlbGYuc2tpcFdhaXRpbmcoKTtcclxuICAgIGNvbnNvbGUubG9nKFwiaW5zdGFsYW5kb1wiKVxyXG4gICAgZXZlbnQud2FpdFVudGlsKFxyXG4gICAgICAgIGNhY2hlcy5vcGVuKENBQ0hFX05BTUUpLnRoZW4oKGNhY2hlKT0+XHJcbiAgICAgICAgICAgIGNhY2hlLmFkZEFsbCh1cmxzVG9DYWNoZSlcclxuICAgICAgICApXHJcbiAgICApO1xyXG59KTtcclxuXHJcbnNlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCAoZXZlbnQpPT57XHJcbiAgICB2YXIgc291cmNlUGFydHMgPSBldmVudC5yZXF1ZXN0LnVybC5zcGxpdCgnLycpO1xyXG4gICAgdmFyIHNvdXJjZTpzdHJpbmcgPSBzb3VyY2VQYXJ0c1tzb3VyY2VQYXJ0cy5sZW5ndGgtMV07XHJcbiAgICBjb25zb2xlLmxvZyhcInNvdXJjZVwiLHNvdXJjZSlcclxuICAgIGlmKHNvdXJjZT09J0B2ZXJzaW9uJyl7XHJcbiAgICAgICAgdmFyIG1pQmxvYiA9IG5ldyBCbG9iKCk7XHJcbiAgICAgICAgdmFyIG9wY2lvbmVzID0geyBcInN0YXR1c1wiIDogMjAwICwgXCJzdGF0dXNUZXh0XCIgOiBDQUNIRV9OQU1FLCBvazp0cnVlIH07XHJcbiAgICAgICAgdmFyIG1pUmVzcHVlc3RhID0gbmV3IFJlc3BvbnNlKG1pQmxvYixvcGNpb25lcyk7XHJcbiAgICAgICAgZXZlbnQucmVzcG9uZFdpdGgobWlSZXNwdWVzdGEpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgICAgZXZlbnQucmVzcG9uZFdpdGgoXHJcbiAgICAgICAgICAgIGNhY2hlcy5vcGVuKENBQ0hFX05BTUUpLnRoZW4oKGNhY2hlKT0+XHJcbiAgICAgICAgICAgICAgICBjYWNoZS5tYXRjaChldmVudC5yZXF1ZXN0KS50aGVuKChyZXNwb25zZSk9PntcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcInJlc3B1ZXN0YSBjYWNow6k6IFwiLCByZXNwb25zZSlcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UgfHwgZmV0Y2goZXZlbnQucmVxdWVzdCkudGhlbigocmVzcG9uc2UpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwicmVzcHVlc3RhXCIsIHJlc3BvbnNlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZighcmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwibm8gdGllbmUgcmVzcHVlc3RhXCIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcignd2l0aG91dCByZXNwb25zZScpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICB9KS5jYXRjaCgoZXJyKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUmVzcG9uc2UoYDxwPlNlIHByb2R1am8gdW4gZXJyb3IgYWwgaW50ZW50YXIgY2FyZ2FyIGxhIHAmYWFjdXRlO2dpbmEsIGVzIHBvc2libGUgcXVlIG5vIGhheWEgY29uZXhpJm9hY3V0ZTtuIGEgaW50ZXJuZXQ8L3A+PGEgaHJlZj0ke0ZBTExCQUNLfT5Wb2x2ZXIgYSBIb2phIGRlIFJ1dGE8L2J1dHRvbj5gLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICd0ZXh0L2h0bWwnfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59KTtcclxuc2VsZi5hZGRFdmVudExpc3RlbmVyKCdhY3RpdmF0ZScsIChldmVudCk9PntcclxuICAgIGNvbnNvbGUubG9nKFwiYm9ycmFuZG8gY2FjaGVzIHZpZWphc1wiKVxyXG4gICAgZXZlbnQud2FpdFVudGlsKFxyXG4gICAgICAgIGNhY2hlcy5rZXlzKCkudGhlbigoY2FjaGVOYW1lcyk9PntcclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFxyXG4gICAgICAgICAgICAgICAgY2FjaGVOYW1lcy5maWx0ZXIoKGNhY2hlTmFtZSk9PlxyXG4gICAgICAgICAgICAgICAgICAgIGNhY2hlTmFtZSAhPSBDQUNIRV9OQU1FXHJcbiAgICAgICAgICAgICAgICApLm1hcCgoY2FjaGVOYW1lKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiYm9ycmFuZG8gY2FjaGUgXCIsIGNhY2hlTmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhY2hlcy5kZWxldGUoY2FjaGVOYW1lKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSlcclxuICAgICk7XHJcbn0pOyJdfQ==
|
|
@@ -1,59 +0,0 @@
|
|
|
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.controlarCodigoDV2 = exports.DigitoVerificador = void 0;
|
|
13
|
-
class DigitoVerificador {
|
|
14
|
-
constructor(cast, multiplicadores, divisor, desplazamiento) {
|
|
15
|
-
this.cast = cast;
|
|
16
|
-
this.multiplicadores = multiplicadores;
|
|
17
|
-
this.divisor = divisor;
|
|
18
|
-
this.desplazamiento = desplazamiento;
|
|
19
|
-
}
|
|
20
|
-
obtenerDigito(numero) {
|
|
21
|
-
var digitos = numero.toString().split('');
|
|
22
|
-
var i = 0;
|
|
23
|
-
var sumador = this.cast(0);
|
|
24
|
-
while (digitos.length) {
|
|
25
|
-
var digito = this.cast(digitos.pop() || 0);
|
|
26
|
-
var multiplicador = this.multiplicadores[i];
|
|
27
|
-
// @ts-expect-error No debería ser error. https://github.com/microsoft/TypeScript/issues/39569
|
|
28
|
-
var producto = digito * multiplicador;
|
|
29
|
-
// @ts-expect-error No debería ser error. https://github.com/microsoft/TypeScript/issues/39569
|
|
30
|
-
sumador = sumador + producto;
|
|
31
|
-
i++;
|
|
32
|
-
}
|
|
33
|
-
if (this.desplazamiento) {
|
|
34
|
-
// @ts-expect-error No debería ser error. https://github.com/microsoft/TypeScript/issues/39569
|
|
35
|
-
sumador = sumador + this.desplazamiento;
|
|
36
|
-
}
|
|
37
|
-
// @ts-expect-error No debería ser error. https://github.com/microsoft/TypeScript/issues/39569
|
|
38
|
-
var verificador = sumador % this.divisor;
|
|
39
|
-
if (!verificador)
|
|
40
|
-
return this.cast(0);
|
|
41
|
-
if (this.divisor - verificador > 9)
|
|
42
|
-
return null;
|
|
43
|
-
// @ts-expect-error No debería ser error. https://github.com/microsoft/TypeScript/issues/39569
|
|
44
|
-
return this.divisor - verificador;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.DigitoVerificador = DigitoVerificador;
|
|
48
|
-
var dmencu = '203';
|
|
49
|
-
var v1 = dmencu == '201' ? new DigitoVerificador(Number, [2, 3, 4, 5], 11) : dmencu == '202' ? new DigitoVerificador(Number, [2, 3, 4, 5], 11, 1) : new DigitoVerificador(Number, [2, 3, 4, 5], 11, 2);
|
|
50
|
-
var v2 = dmencu == '201' ? new DigitoVerificador(Number, [3, 4, 5, 7], 11) : dmencu == '202' ? new DigitoVerificador(Number, [3, 4, 5, 9], 11) : new DigitoVerificador(Number, [3, 4, 5, 13], 11);
|
|
51
|
-
function controlarCodigoDV2(codigo) {
|
|
52
|
-
var [i, dd] = codigo.split('-');
|
|
53
|
-
var d1 = v1.obtenerDigito(Number(i));
|
|
54
|
-
var d2 = v2.obtenerDigito(Number(i));
|
|
55
|
-
return dd == "" + d1 + d2;
|
|
56
|
-
}
|
|
57
|
-
exports.controlarCodigoDV2 = controlarCodigoDV2;
|
|
58
|
-
});
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXRvdi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91bmxvZ2dlZC9kaWdpdG92LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFBLE1BQWEsaUJBQWlCO1FBQzFCLFlBQW9CLElBQXNDLEVBQVUsZUFBcUIsRUFBVSxPQUFXLEVBQVUsY0FBbUI7WUFBdkgsU0FBSSxHQUFKLElBQUksQ0FBa0M7WUFBVSxvQkFBZSxHQUFmLGVBQWUsQ0FBTTtZQUFVLFlBQU8sR0FBUCxPQUFPLENBQUk7WUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBSztRQUMzSSxDQUFDO1FBQ0QsYUFBYSxDQUFDLE1BQVU7WUFDcEIsSUFBSSxPQUFPLEdBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUM7WUFDUixJQUFJLE9BQU8sR0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLE9BQU0sT0FBTyxDQUFDLE1BQU0sRUFBQztnQkFDakIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pDLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVDLDhGQUE4RjtnQkFDOUYsSUFBSSxRQUFRLEdBQU8sTUFBTSxHQUFHLGFBQWEsQ0FBQztnQkFDMUMsOEZBQThGO2dCQUM5RixPQUFPLEdBQUcsT0FBTyxHQUFHLFFBQVEsQ0FBQztnQkFDN0IsQ0FBQyxFQUFFLENBQUM7YUFDUDtZQUNELElBQUcsSUFBSSxDQUFDLGNBQWMsRUFBQztnQkFDbkIsOEZBQThGO2dCQUM5RixPQUFPLEdBQUcsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUE7YUFDMUM7WUFDRCw4RkFBOEY7WUFDOUYsSUFBSSxXQUFXLEdBQU8sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDN0MsSUFBRyxDQUFDLFdBQVc7Z0JBQUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLElBQUcsSUFBSSxDQUFDLE9BQU8sR0FBQyxXQUFXLEdBQUMsQ0FBQztnQkFBRSxPQUFPLElBQUksQ0FBQztZQUMzQyw4RkFBOEY7WUFDOUYsT0FBTyxJQUFJLENBQUMsT0FBTyxHQUFDLFdBQVcsQ0FBQztRQUNwQyxDQUFDO0tBQ0o7SUEzQkQsOENBMkJDO0lBRUQsSUFBSSxNQUFNLEdBQUMsS0FBSyxDQUFDO0lBRWpCLElBQUksRUFBRSxHQUFHLE1BQU0sSUFBRSxLQUFLLENBQUEsQ0FBQyxDQUFBLElBQUksaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLE1BQU0sSUFBRSxLQUFLLENBQUEsQ0FBQyxDQUFDLElBQUksaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBRSxJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQztJQUNsTCxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUUsS0FBSyxDQUFBLENBQUMsQ0FBQSxJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxNQUFNLElBQUUsS0FBSyxDQUFBLENBQUMsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxDQUFHLENBQUMsQ0FBRSxJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRWpMLFNBQWdCLGtCQUFrQixDQUFDLE1BQWE7UUFDNUMsSUFBSSxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsR0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxPQUFPLEVBQUUsSUFBRSxFQUFFLEdBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBTEQsZ0RBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRGlnaXRvVmVyaWZpY2Fkb3I8TnVtIGV4dGVuZHMgYmlnaW50fG51bWJlcj57XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNhc3Q6KG51bWJyZVN0cmluZzpzdHJpbmd8bnVtYmVyKT0+TnVtLCBwcml2YXRlIG11bHRpcGxpY2Fkb3JlczpOdW1bXSwgcHJpdmF0ZSBkaXZpc29yOk51bSwgcHJpdmF0ZSBkZXNwbGF6YW1pZW50bz86TnVtKXtcclxuICAgIH1cclxuICAgIG9idGVuZXJEaWdpdG8obnVtZXJvOk51bSk6TnVtfG51bGx7XHJcbiAgICAgICAgdmFyIGRpZ2l0b3M9bnVtZXJvLnRvU3RyaW5nKCkuc3BsaXQoJycpO1xyXG4gICAgICAgIHZhciBpPTA7XHJcbiAgICAgICAgdmFyIHN1bWFkb3I6TnVtID0gdGhpcy5jYXN0KDApO1xyXG4gICAgICAgIHdoaWxlKGRpZ2l0b3MubGVuZ3RoKXtcclxuICAgICAgICAgICAgdmFyIGRpZ2l0byA9IHRoaXMuY2FzdChkaWdpdG9zLnBvcCgpfHwwKTtcclxuICAgICAgICAgICAgdmFyIG11bHRpcGxpY2Fkb3IgPSB0aGlzLm11bHRpcGxpY2Fkb3Jlc1tpXTtcclxuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBObyBkZWJlcsOtYSBzZXIgZXJyb3IuIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvMzk1NjlcclxuICAgICAgICAgICAgdmFyIHByb2R1Y3RvOk51bSA9IGRpZ2l0byAqIG11bHRpcGxpY2Fkb3I7XHJcbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgTm8gZGViZXLDrWEgc2VyIGVycm9yLiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzM5NTY5XHJcbiAgICAgICAgICAgIHN1bWFkb3IgPSBzdW1hZG9yICsgcHJvZHVjdG87XHJcbiAgICAgICAgICAgIGkrKztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYodGhpcy5kZXNwbGF6YW1pZW50byl7XHJcbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgTm8gZGViZXLDrWEgc2VyIGVycm9yLiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzM5NTY5XHJcbiAgICAgICAgICAgIHN1bWFkb3IgPSBzdW1hZG9yICsgdGhpcy5kZXNwbGF6YW1pZW50b1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIE5vIGRlYmVyw61hIHNlciBlcnJvci4gaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9UeXBlU2NyaXB0L2lzc3Vlcy8zOTU2OVxyXG4gICAgICAgIHZhciB2ZXJpZmljYWRvcjpOdW0gPSBzdW1hZG9yICUgdGhpcy5kaXZpc29yO1xyXG4gICAgICAgIGlmKCF2ZXJpZmljYWRvcikgcmV0dXJuIHRoaXMuY2FzdCgwKTtcclxuICAgICAgICBpZih0aGlzLmRpdmlzb3ItdmVyaWZpY2Fkb3I+OSkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBObyBkZWJlcsOtYSBzZXIgZXJyb3IuIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvMzk1NjlcclxuICAgICAgICByZXR1cm4gdGhpcy5kaXZpc29yLXZlcmlmaWNhZG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG52YXIgZG1lbmN1PScyMDMnO1xyXG5cclxudmFyIHYxID0gZG1lbmN1PT0nMjAxJz9uZXcgRGlnaXRvVmVyaWZpY2Fkb3IoTnVtYmVyLCBbMiwzLDQsNV0sMTEpOiBkbWVuY3U9PScyMDInPyBuZXcgRGlnaXRvVmVyaWZpY2Fkb3IoTnVtYmVyLCBbMiwzLDQsNV0sMTEsMSkgOiAgbmV3IERpZ2l0b1ZlcmlmaWNhZG9yKE51bWJlciwgWzIsMyw0LDVdLDExLDIpO1xyXG52YXIgdjIgPSBkbWVuY3U9PScyMDEnP25ldyBEaWdpdG9WZXJpZmljYWRvcihOdW1iZXIsIFszLDQsNSw3XSwxMSk6IGRtZW5jdT09JzIwMic/IG5ldyBEaWdpdG9WZXJpZmljYWRvcihOdW1iZXIsIFszLDQsNSw5XSwxMSkgICA6ICBuZXcgRGlnaXRvVmVyaWZpY2Fkb3IoTnVtYmVyLCBbMyw0LDUsMTNdLDExKTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sYXJDb2RpZ29EVjIoY29kaWdvOnN0cmluZyl7XHJcbiAgICB2YXIgW2ksZGRdPWNvZGlnby5zcGxpdCgnLScpO1xyXG4gICAgdmFyIGQxPXYxLm9idGVuZXJEaWdpdG8oTnVtYmVyKGkpKTtcclxuICAgIHZhciBkMj12Mi5vYnRlbmVyRGlnaXRvKE51bWJlcihpKSk7XHJcbiAgICByZXR1cm4gZGQ9PVwiXCIrZDErZDI7XHJcbn0iXX0=
|