dmencu 3.3.1 → 3.5.0
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/ayuda/asignacion.md +16 -0
- package/ayuda/circuito-encuesta.md +27 -0
- package/ayuda/control.md +13 -0
- package/ayuda/dm-cambiar-modo.md +16 -0
- package/ayuda/dm-relevamiento.md +20 -0
- package/ayuda/dm-sincronizar.md +18 -0
- package/ayuda/fin-de-campo.md +14 -0
- package/ayuda/metadatos.md +14 -0
- package/ayuda/muestra.md +14 -0
- package/ayuda/procesar.md +13 -0
- package/ayuda/recepcion.md +20 -0
- package/ayuda/supervision.md +9 -0
- package/ayuda/usuarios.md +12 -0
- package/ayuda/varios.md +23 -0
- package/dist/client/client/client.js +99 -2
- package/dist/client/client/css/menu.styl +29 -0
- package/dist/client/unlogged/css/formulario-react.styl +9 -0
- package/dist/client/unlogged/render-config.d.ts +5 -1
- package/dist/client/unlogged/render-config.js +14 -1
- package/dist/client/unlogged/render-formulario.d.ts +1 -0
- package/dist/client/unlogged/render-formulario.js +43 -2
- package/dist/client/unlogged/render-formulario.tsx +71 -0
- package/dist/client/unlogged/render-general.d.ts +2 -0
- package/dist/client/unlogged/render-general.js +2 -1
- package/dist/client/unlogged/render-general.tsx +1 -0
- package/dist/client/unlogged/render-init.d.ts +1 -0
- package/dist/client/unlogged/render-init.js +9 -2
- package/dist/client/unlogged/tipos.d.ts +19 -1
- package/dist/client/unlogged/tipos.js +1 -1
- package/dist/server/app-dmencu.d.ts +8 -1
- package/dist/server/app-dmencu.js +42 -2
- package/dist/server/ayuda.d.ts +19 -0
- package/dist/server/ayuda.js +224 -0
- package/dist/server/def-config.d.ts +1 -1
- package/dist/server/def-config.js +2 -1
- package/dist/server/procedures-dmencu.js +20 -2
- package/dist/server/server/app-dmencu.d.ts +8 -1
- package/dist/server/server/app-dmencu.js +42 -2
- package/dist/server/server/ayuda.d.ts +19 -0
- package/dist/server/server/ayuda.js +224 -0
- package/dist/server/server/def-config.d.ts +1 -1
- package/dist/server/server/def-config.js +2 -1
- package/dist/server/server/procedures-dmencu.js +18 -2
- package/dist/server/server/table-tem.d.ts +1 -0
- package/dist/server/server/table-tem.js +25 -21
- package/dist/server/server/table-tem_edicion.d.ts +2 -0
- package/dist/server/server/table-tem_edicion.js +62 -0
- package/dist/server/server/types-dmencu.d.ts +20 -1
- package/dist/server/server/types-dmencu.js +1 -1
- package/dist/server/table-tem.d.ts +1 -0
- package/dist/server/table-tem.js +25 -21
- package/dist/server/table-tem_edicion.d.ts +2 -0
- package/dist/server/table-tem_edicion.js +62 -0
- package/dist/server/types-dmencu.d.ts +20 -1
- package/dist/server/types-dmencu.js +1 -1
- package/dist/server/unlogged/tipos.d.ts +19 -1
- package/dist/server/unlogged/tipos.js +1 -1
- package/dist/test/app-para-tests.d.ts +11 -8
- package/dist/test/app-para-tests.js +8 -2
- package/dist/test/test-ayuda.d.ts +1 -0
- package/dist/test/test-ayuda.js +183 -0
- package/dist/test/test-tem-edicion.d.ts +1 -0
- package/dist/test/test-tem-edicion.js +103 -0
- package/dist/test/test.d.ts +2 -0
- package/dist/test/test.js +4 -2
- package/dist/unlogged/tipos.d.ts +19 -1
- package/dist/unlogged/tipos.js +1 -1
- package/dist/unlogged/unlogged/css/formulario-react.styl +9 -0
- package/dist/unlogged/unlogged/render-config.d.ts +5 -1
- package/dist/unlogged/unlogged/render-config.js +14 -1
- package/dist/unlogged/unlogged/render-formulario.d.ts +1 -0
- package/dist/unlogged/unlogged/render-formulario.js +43 -2
- package/dist/unlogged/unlogged/render-formulario.tsx +71 -0
- package/dist/unlogged/unlogged/render-general.d.ts +2 -0
- package/dist/unlogged/unlogged/render-general.js +2 -1
- package/dist/unlogged/unlogged/render-general.tsx +1 -0
- package/dist/unlogged/unlogged/render-init.d.ts +1 -0
- package/dist/unlogged/unlogged/render-init.js +9 -2
- package/dist/unlogged/unlogged/tipos.d.ts +19 -1
- package/dist/unlogged/unlogged/tipos.js +1 -1
- package/dist/unlogged/unlogged/unlogged.js +14 -1
- package/install/validar_manzana_casa_tem_trg.sql +25 -0
- package/package.json +5 -2
|
@@ -40,6 +40,7 @@ import {
|
|
|
40
40
|
IdComodin,
|
|
41
41
|
IdSemana,
|
|
42
42
|
UnidadAnalisis,
|
|
43
|
+
AyudaTemaParaUsuario,
|
|
43
44
|
} from "./tipos";
|
|
44
45
|
import {
|
|
45
46
|
accion_abrir_formulario,
|
|
@@ -2677,6 +2678,17 @@ export function BotoneraNavegacion(props: { disabled?: boolean }): JSX.Element {
|
|
|
2677
2678
|
>
|
|
2678
2679
|
<ICON.CloudSync /> Sincronización
|
|
2679
2680
|
</Button>
|
|
2681
|
+
{getFormRenderer().leerAyuda()?.temas.length ? (
|
|
2682
|
+
<Button
|
|
2683
|
+
onClick={() =>
|
|
2684
|
+
dispatch(dispatchers.SET_OPCION({ opcion: 'pantallaActual', valor: 'ayuda' }))
|
|
2685
|
+
}
|
|
2686
|
+
disabled={pantallaActual === 'ayuda' || props.disabled}
|
|
2687
|
+
style={pantallaActual === 'ayuda' ? { backgroundColor: 'rgba(255,255,255,0.1)' } : undefined}
|
|
2688
|
+
>
|
|
2689
|
+
<ICON.HelpOutline /> Ayuda
|
|
2690
|
+
</Button>
|
|
2691
|
+
) : null}
|
|
2680
2692
|
</ButtonGroup>
|
|
2681
2693
|
);
|
|
2682
2694
|
}
|
|
@@ -2965,6 +2977,63 @@ export function PantallaSincronizacion(props: PantallaSincronizacionProps): JSX.
|
|
|
2965
2977
|
);
|
|
2966
2978
|
}
|
|
2967
2979
|
|
|
2980
|
+
// ayuda en línea guardada en la última sincronización: funciona sin conexión (ver docs/ayuda-online.md)
|
|
2981
|
+
export function PantallaAyuda(): JSX.Element {
|
|
2982
|
+
const modoDM: ModoDM = getFormRenderer().getModoDM();
|
|
2983
|
+
const temas: AyudaTemaParaUsuario[] = getFormRenderer().leerAyuda()?.temas ?? [];
|
|
2984
|
+
const [idTema, setIdTema] = useState<string | null>(temas.length ? temas[0].id : null);
|
|
2985
|
+
useEffect(() => {
|
|
2986
|
+
scrollToTop();
|
|
2987
|
+
}, [idTema]);
|
|
2988
|
+
const tema = temas.find(tema => tema.id == idTema);
|
|
2989
|
+
// los enlaces "ayuda:id" llevan a otro tema; los demás se abren aparte para no salir de la aplicación
|
|
2990
|
+
const onClickContenido = (event: React.MouseEvent<HTMLDivElement>): void => {
|
|
2991
|
+
const enlace = event.target instanceof Element ? event.target.closest('a') : null;
|
|
2992
|
+
const destino = enlace?.getAttribute('href');
|
|
2993
|
+
if (destino != null) {
|
|
2994
|
+
event.preventDefault();
|
|
2995
|
+
if (destino.startsWith('ayuda:')) {
|
|
2996
|
+
setIdTema(destino.slice('ayuda:'.length));
|
|
2997
|
+
} else {
|
|
2998
|
+
window.open(destino, '_blank');
|
|
2999
|
+
}
|
|
3000
|
+
}
|
|
3001
|
+
};
|
|
3002
|
+
return (
|
|
3003
|
+
<>
|
|
3004
|
+
<AppBarPrincipal
|
|
3005
|
+
modoDM={modoDM}
|
|
3006
|
+
titulo="AYUDA"
|
|
3007
|
+
/>
|
|
3008
|
+
<div className="hoja-de-ruta">
|
|
3009
|
+
<Paper style={{ padding: '20px', margin: 'auto', marginBottom: '10px' }}>
|
|
3010
|
+
{temas.length == 0 ? (
|
|
3011
|
+
<Typography>La ayuda se descarga al sincronizar el dispositivo.</Typography>
|
|
3012
|
+
) : (
|
|
3013
|
+
<>
|
|
3014
|
+
<div style={{ display: 'flex', flexWrap: 'wrap', gap: '8px', marginBottom: '16px' }}>
|
|
3015
|
+
{temas.map(tema =>
|
|
3016
|
+
<Button key={tema.id} size="small"
|
|
3017
|
+
variant={tema.id == idTema ? 'contained' : 'outlined'}
|
|
3018
|
+
onClick={() => setIdTema(tema.id)}
|
|
3019
|
+
>{tema.titulo}</Button>
|
|
3020
|
+
)}
|
|
3021
|
+
</div>
|
|
3022
|
+
{tema ? (
|
|
3023
|
+
<>
|
|
3024
|
+
<Typography variant="h5">{tema.titulo}</Typography>
|
|
3025
|
+
{/* html generado en el servidor a partir del markdown de la ayuda (sin html crudo) */}
|
|
3026
|
+
<div className="ayuda-contenido" onClick={onClickContenido} dangerouslySetInnerHTML={{ __html: tema.html }} />
|
|
3027
|
+
</>
|
|
3028
|
+
) : null}
|
|
3029
|
+
</>
|
|
3030
|
+
)}
|
|
3031
|
+
</Paper>
|
|
3032
|
+
</div>
|
|
3033
|
+
</>
|
|
3034
|
+
);
|
|
3035
|
+
}
|
|
3036
|
+
|
|
2968
3037
|
export function PantallaCambioModo(): JSX.Element {
|
|
2969
3038
|
const [loading, setLoading] = useState<boolean>(false);
|
|
2970
3039
|
const [aviso, setAviso] = useState<{ tipo: 'info' | 'success' | 'error', mensaje: string } | null>(null);
|
|
@@ -3177,6 +3246,8 @@ export function AppDmEncu() {
|
|
|
3177
3246
|
return <PantallaSincronizacion />
|
|
3178
3247
|
} else if (pantallaActual === 'modo') {
|
|
3179
3248
|
return <PantallaCambioModo />
|
|
3249
|
+
} else if (pantallaActual === 'ayuda') {
|
|
3250
|
+
return <PantallaAyuda />
|
|
3180
3251
|
}
|
|
3181
3252
|
return <HojaDeRutaDespliegue />
|
|
3182
3253
|
} else {
|
|
@@ -27,6 +27,7 @@ export declare const materialIoIconsSvgPath: {
|
|
|
27
27
|
FormatLineSpacing: string;
|
|
28
28
|
Forward: string;
|
|
29
29
|
ForwardOutlined: string;
|
|
30
|
+
HelpOutline: string;
|
|
30
31
|
Info: string;
|
|
31
32
|
KeyboardArrowUp: string;
|
|
32
33
|
KeyboardArrowDown: string;
|
|
@@ -74,6 +75,7 @@ export declare const ICON: {
|
|
|
74
75
|
FormatLineSpacing: () => React.JSX.Element;
|
|
75
76
|
Forward: () => React.JSX.Element;
|
|
76
77
|
ForwardOutlined: () => React.JSX.Element;
|
|
78
|
+
HelpOutline: () => React.JSX.Element;
|
|
77
79
|
Info: () => React.JSX.Element;
|
|
78
80
|
KeyboardArrowUp: () => React.JSX.Element;
|
|
79
81
|
KeyboardArrowDown: () => React.JSX.Element;
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
FormatLineSpacing: "M6 7h2.5L5 3.5 1.5 7H4v10H1.5L5 20.5 8.5 17H6V7zm4-2v2h12V5H10zm0 14h12v-2H10v2zm0-6h12v-2H10v2z",
|
|
54
54
|
Forward: "M12 8V4l8 8-8 8v-4H4V8z",
|
|
55
55
|
ForwardOutlined: "M14 8.83L17.17 12 14 15.17V14H6v-4h8V8.83M12 4v4H4v8h8v4l8-8-8-8z",
|
|
56
|
+
HelpOutline: "M11 18h2v-2h-2v2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4z",
|
|
56
57
|
Info: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z",
|
|
57
58
|
KeyboardArrowUp: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z",
|
|
58
59
|
KeyboardArrowDown: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z",
|
|
@@ -278,4 +279,4 @@
|
|
|
278
279
|
return lista[p4 - 1] || '........';
|
|
279
280
|
}
|
|
280
281
|
});
|
|
281
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWdlbmVyYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvcmVuZGVyLWdlbmVyYWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTBFQSwwREFXQztJQVdELDhCQWlCQztJQU9ELDhCQWdCQztJQTBHRCxrQ0FVQztJQThDRCwwQ0FjQztJQUVELDBDQVdDO0lBS0QsMERBR0M7SUFFRCxzQ0FHQztJQUVELDBDQUdDO0lBS0Qsd0RBS0M7SUFqV0QsK0JBQStCO0lBQy9CLGlDQUE0QztJQUM1Qyw2Q0FBb0Q7SUFDcEQsa0NBQW1DO0lBRW5DLDJDQUFzQztJQUV0Qyw0Q0FJdUI7SUFJdkIscURBQXFEO0lBQ3hDLFFBQUEsc0JBQXNCLEdBQUc7UUFDbEMsR0FBRyxFQUFFLHFDQUFxQztRQUMxQyxTQUFTLEVBQUUsOERBQThEO1FBQ3pFLFVBQVUsRUFBRSxnT0FBZ087UUFDNU8sY0FBYyxFQUFFLDBMQUEwTDtRQUMxTSxLQUFLLEVBQUUsbURBQW1EO1FBQzFELDRCQUE0QixFQUFFLDRGQUE0RjtRQUMxSCxnQkFBZ0IsRUFBRSx1SkFBdUo7UUFDekssV0FBVyxFQUFFLHdLQUF3SztRQUNyTCxZQUFZLEVBQUUsMEtBQTBLO1FBQ3hMLEtBQUssRUFBRSx1R0FBdUc7UUFDOUcsS0FBSyxFQUFFLHVHQUF1RztRQUM5RyxTQUFTLEVBQUMsNFhBQTRYO1FBQ3RZLElBQUksRUFBRSw0RkFBNEY7UUFDbEcsTUFBTSxFQUFFLHFKQUFxSjtRQUM3SixNQUFNLEVBQUUsK0VBQStFO1FBQ3ZGLGFBQWEsRUFBRSw2TUFBNk07UUFDNU4sYUFBYSxFQUFFLHlGQUF5RjtRQUN4RyxXQUFXLEVBQUUsZ0lBQWdJO1FBQzdJLFlBQVksRUFBRSxtV0FBbVc7UUFDalgsU0FBUyxFQUFFLHNLQUFzSztRQUNqTCxVQUFVLEVBQUUsZ0RBQWdEO1FBQzVELFVBQVUsRUFBRSw4Q0FBOEM7UUFDMUQsaUJBQWlCLEVB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QUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUNqRixDQUFDO0lBRVksUUFBQSxlQUFlLEdBQUcsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUNsTixRQUFBLGtCQUFrQixHQUFHLENBQUMsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFFdk8sU0FBZ0Isc0JBQXNCLENBQUMsRUFBNkIsRUFBRSxTQUFrQjtRQUNwRixJQUFJLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxHQUFHLENBQUM7WUFBRSxPQUFPLFVBQVUsQ0FBQztRQUM1QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM5RCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLDBCQUFrQixDQUFDLENBQUMsQ0FBQyx1QkFBZSxDQUFDO1FBQzNELE9BQU8sS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUM7SUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFByb3ZpZGVyLCB1c2VEaXNwYXRjaCB9IGZyb20gXCJyZWFjdC1yZWR1eFwiO1xyXG5pbXBvcnQgbGlrZUFyID0gcmVxdWlyZShcImxpa2UtYXJcIik7XHJcblxyXG5pbXBvcnQgeyBleHBlY3RlZCB9IGZyb20gXCJjYXN0LWVycm9yXCI7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgQ3NzQmFzZWxpbmUsIFN2Z0ljb24sIFRoZW1lUHJvdmlkZXIsIFR5cG9ncmFwaHksIFpvb20sIHVzZVNjcm9sbFRyaWdnZXIsIGNyZWF0ZVRoZW1lLFxyXG4gICAgTWVudSxcclxuICAgIEJ1dHRvblxyXG59IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XHJcbmltcG9ydCB7IFN0b3JlLCBBY3Rpb24gfSBmcm9tIFwicmVkdXhcIjtcclxuaW1wb3J0IHsgVGlwb1ZhcmlhYmxlcyB9IGZyb20gXCIuL3RpcG9zXCI7XHJcblxyXG4vLyBodHRwczovL21hdGVyaWFsLXVpLmNvbS9jb21wb25lbnRzL21hdGVyaWFsLWljb25zL1xyXG5leHBvcnQgY29uc3QgbWF0ZXJpYWxJb0ljb25zU3ZnUGF0aCA9IHtcclxuICAgIEFkZDogXCJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyelwiLFxyXG4gICAgQXJyb3dCYWNrOiBcIk0yMCAxMUg3LjgzbDUuNTktNS41OUwxMiA0bC04IDggOCA4IDEuNDEtMS40MUw3LjgzIDEzSDIwdi0yelwiLFxyXG4gICAgQXNzaWdubWVudDogXCJNMTkgM2gtNC4xOEMxNC40IDEuODQgMTMuMyAxIDEyIDFjLTEuMyAwLTIuNC44NC0yLjgyIDJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tNyAwYy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bTIgMTRIN3YtMmg3djJ6bTMtNEg3di0yaDEwdjJ6bTAtNEg3VjdoMTB2MnpcIixcclxuICAgIEJ1c2luZXNzQ2VudGVyOiBcIk0xMCAxNnYtMUgzLjAxTDMgMTljMCAxLjExLjg5IDIgMiAyaDE0YzEuMTEgMCAyLS44OSAyLTJ2LTRoLTd2MXptMTAtOWgtNC4wMVY1bC0yLTJoLTRsLTIgMnYySDRjLTEuMSAwLTIgLjktMiAydjNjMCAxLjExLjg5IDIgMiAyaDZ2LTJoNHYyaDZjMS4xIDAgMi0uOSAyLTJWOWMwLTEuMS0uOS0yLTItMm0tNiAwaC00VjVoNHpcIixcclxuICAgIENoZWNrOiBcIk05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXpcIixcclxuICAgIENoZWNrQm94T3V0bGluZUJsYW5rT3V0bGluZWQ6IFwiTTE5IDV2MTRINVY1aDE0bTAtMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6XCIsXHJcbiAgICBDaGVja0JveE91dGxpbmVkOiBcIk0xOSAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxNkg1VjVoMTR2MTR6TTE3Ljk5IDlsLTEuNDEtMS40Mi02LjU5IDYuNTktMi41OC0yLjU3LTEuNDIgMS40MSA0IDMuOTl6XCIsXHJcbiAgICBDaGV2cm9uTGVmdDogXCJNMTQuNzEgNi43MWEuOTk1OS45OTU5IDAgMDAtMS40MSAwTDguNzEgMTEuM2MtLjM5LjM5LS4zOSAxLjAyIDAgMS40MWw0LjU5IDQuNTljLjM5LjM5IDEuMDIuMzkgMS40MSAwIC4zOS0uMzkuMzktMS4wMiAwLTEuNDFMMTAuODMgMTJsMy44OC0zLjg4Yy4zOS0uMzkuMzgtMS4wMyAwLTEuNDF6XCIsXHJcbiAgICBDaGV2cm9uUmlnaHQ6IFwiTTkuMjkgNi43MWMtLjM5LjM5LS4zOSAxLjAyIDAgMS40MUwxMy4xNyAxMmwtMy44OCAzLjg4Yy0uMzkuMzktLjM5IDEuMDIgMCAxLjQxLjM5LjM5IDEuMDIuMzkgMS40MSAwbDQuNTktNC41OWMuMzktLjM5LjM5LTEuMDIgMC0xLjQxTDEwLjcgNi43Yy0uMzgtLjM4LTEuMDItLjM4LTEuNDEuMDF6XCIsXHJcbiAgICBDbGVhcjogXCJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyelwiLFxyXG4gICAgQ2xvc2U6IFwiTTE5IDYuNDFMMTcuNTkgNSAxMiAxMC41OSA2LjQxIDUgNSA2LjQxIDEwLjU5IDEyIDUgMTcuNTkgNi40MSAxOSAxMiAxMy40MSAxNy41OSAxOSAxOSAxNy41OSAxMy40MSAxMnpcIixcclxuICAgIENsb3VkU3luYzpcIk0yMS41IDE0Ljk4Yy0uMDIgMC0uMDMgMC0uMDUuMDFDMjEuMiAxMy4zIDE5Ljc2IDEyIDE4IDEyYy0xLjQgMC0yLjYuODMtMy4xNiAyLjAyQzEzLjI2IDE0LjEgMTIgMTUuNCAxMiAxN2MwIDEuNjYgMS4zNCAzIDMgM2w2LjUtLjAyYzEuMzggMCAyLjUtMS4xMiAyLjUtMi41cy0xLjEyLTIuNS0yLjUtMi41TTEwIDQuMjZ2Mi4wOUM3LjY3IDcuMTggNiA5LjM5IDYgMTJjMCAxLjc3Ljc4IDMuMzQgMiA0LjQ0VjE0aDJ2Nkg0di0yaDIuNzNDNS4wNiAxNi41NCA0IDE0LjQgNCAxMmMwLTMuNzMgMi41NS02Ljg1IDYtNy43NE0yMCA2aC0yLjczYzEuNDMgMS4yNiAyLjQxIDMuMDEgMi42NiA1aC0yLjAyYy0uMjMtMS4zNi0uOTMtMi41NS0xLjkxLTMuNDRWMTBoLTJWNGg2elwiLFxyXG4gICAgQ29kZTogXCJNOS40IDE2LjZMNC44IDEybDQuNi00LjZMOCA2bC02IDYgNiA2IDEuNC0xLjR6bTUuMiAwbDQuNi00LjYtNC42LTQuNkwxNiA2bDYgNi02IDYtMS40LTEuNHpcIixcclxuICAgIENyZWF0ZTogXCJNMyAxNy4yNVYyMWgzLjc1TDE3LjgxIDkuOTRsLTMuNzUtMy43NUwzIDE3LjI1ek0yMC43MSA3LjA0Yy4zOS0uMzkuMzktMS4wMiAwLTEuNDFsLTIuMzQtMi4zNGEuOTk1OS45OTU5IDAgMDAtMS40MSAwbC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M3pcIixcclxuICAgIERlbGV0ZTogXCJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0elwiLFxyXG4gICAgRGVsZXRlRm9yZXZlcjogXCJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyem0yLjQ2LTcuMTJsMS40MS0xLjQxTDEyIDEyLjU5bDIuMTItMi4xMiAxLjQxIDEuNDFMMTMuNDEgMTRsMi4xMiAyLjEyLTEuNDEgMS40MUwxMiAxNS40MWwtMi4xMiAyLjEyLTEuNDEtMS40MUwxMC41OSAxNGwtMi4xMy0yLjEyek0xNS41IDRsLTEtMWgtNWwtMSAxSDV2MmgxNFY0elwiLFxyXG4gICAgRGVsZXRlT3V0bGluZTogXCJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek04IDloOHYxMEg4Vjl6bTcuNS01bC0xLTFoLTVsLTEgMUg1djJoMTRWNHpcIixcclxuICAgIERlc2NyaXB0aW9uOiBcIk0xNCAySDZjLTEuMSAwLTEuOTkuOS0xLjk5IDJMNCAyMGMwIDEuMS44OSAyIDEuOTkgMkgxOGMxLjEgMCAyLS45IDItMlY4bC02LTZ6bTIgMTZIOHYtMmg4djJ6bTAtNEg4di0yaDh2MnptLTMtNVYzLjVMMTguNSA5SDEzelwiLFxyXG4gICAgRW1vamlPYmplY3RzOiBcIk0xMiAzYy0uNDYgMC0uOTMuMDQtMS40LjE0LTIuNzYuNTMtNC45NiAyLjc2LTUuNDggNS41Mi0uNDggMi42MS40OCA1LjAxIDIuMjIgNi41Ni40My4zOC42Ni45MS42NiAxLjQ3VjE5YzAgMS4xLjkgMiAyIDJoLjI4Yy4zNS42Ljk4IDEgMS43MiAxczEuMzgtLjQgMS43Mi0xSDE0YzEuMSAwIDItLjkgMi0ydi0yLjMxYzAtLjU1LjIyLTEuMDkuNjQtMS40NkMxOC4wOSAxMy45NSAxOSAxMi4wOCAxOSAxMGMwLTMuODctMy4xMy03LTctN3ptMiAxNmgtNHYtMWg0djF6bTAtMmgtNHYtMWg0djF6bS0xLjUtNS41OVYxNGgtMXYtMi41OUw5LjY3IDkuNTlsLjcxLS43MUwxMiAxMC41bDEuNjItMS42Mi43MS43MS0xLjgzIDEuODJ6XCIsXHJcbiAgICBFeGl0VG9BcHA6IFwiTTEwLjA5IDE1LjU5TDExLjUgMTdsNS01LTUtNS0xLjQxIDEuNDFMMTIuNjcgMTFIM3YyaDkuNjdsLTIuNTggMi41OXpNMTkgM0g1Yy0xLjExIDAtMiAuOS0yIDJ2NGgyVjVoMTR2MTRINXYtNEgzdjRjMCAxLjEuODkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnpcIixcclxuICAgIEV4cGFuZExlc3M6IFwiTTEyIDhsLTYgNiAxLjQxIDEuNDFMMTIgMTAuODNsNC41OSA0LjU4TDE4IDE0elwiLFxyXG4gICAgRXhwYW5kTW9yZTogXCJNMTYuNTkgOC41OUwxMiAxMy4xNyA3LjQxIDguNTkgNiAxMGw2IDYgNi02elwiLFxyXG4gICAgRm9ybWF0TGluZVNwYWNpbmc6IFwiTTYgN2gyLjVMNSAzLjUgMS41IDdINHYxMEgxLjVMNSAyMC41IDguNSAxN0g2Vjd6bTQtMnYyaDEyVjVIMTB6bTAgMTRoMTJ2LTJIMTB2MnptMC02aDEydi0ySDEwdjJ6XCIsXHJcbiAgICBGb3J3YXJkOiBcIk0xMiA4VjRsOCA4LTggOHYtNEg0Vjh6XCIsXHJcbiAgICBGb3J3YXJkT3V0bGluZWQ6IFwiTTE0IDguODNMMTcuMTcgMTIgMTQgMTUuMTdWMTRINnYtNGg4VjguODNNMTIgNHY0SDR2OGg4djRsOC04LTgtOHpcIixcclxuICAgIEluZm86IFwiTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTEgMTVoLTJ2LTZoMnY2em0wLThoLTJWN2gydjJ6XCIsXHJcbiAgICBLZXlib2FyZEFycm93VXA6IFwiTTcuNDEgMTUuNDFMMTIgMTAuODNsNC41OSA0LjU4TDE4IDE0bC02LTYtNiA2elwiLFxyXG4gICAgS2V5Ym9hcmRBcnJvd0Rvd246IFwiTTcuNDEgOC41OUwxMiAxMy4xN2w0LjU5LTQuNThMMTggMTBsLTYgNi02LTYgMS40MS0xLjQxelwiLFxyXG4gICAgTGFiZWw6IFwiTTE3LjYzIDUuODRDMTcuMjcgNS4zMyAxNi42NyA1IDE2IDVMNSA1LjAxQzMuOSA1LjAxIDMgNS45IDMgN3YxMGMwIDEuMS45IDEuOTkgMiAxLjk5TDE2IDE5Yy42NyAwIDEuMjctLjMzIDEuNjMtLjg0TDIyIDEybC00LjM3LTYuMTZ6XCIsXHJcbiAgICBMb2NhbEF0bTogXCJNMTEgMTdoMnYtMWgxYy41NSAwIDEtLjQ1IDEtMXYtM2MwLS41NS0uNDUtMS0xLTFoLTN2LTFoNFY4aC0yVjdoLTJ2MWgtMWMtLjU1IDAtMSAuNDUtMSAxdjNjMCAuNTUuNDUgMSAxIDFoM3YxSDl2MmgydjF6bTktMTNINGMtMS4xMSAwLTEuOTkuODktMS45OSAyTDIgMThjMCAxLjExLjg5IDIgMiAyaDE2YzEuMTEgMCAyLS44OSAyLTJWNmMwLTEuMTEtLjg5LTItMi0yem0wIDE0SDRWNmgxNnYxMnpcIixcclxuICAgIExvY2F0aW9uOiBcIk0xMiAyQzguMTMgMiA1IDUuMTMgNSA5YzAgNS4yNSA3IDEzIDcgMTNzNy03Ljc1IDctMTNjMC0zLjg3LTMuMTMtNy03LTdtMCA5LjVjLTEuMzggMC0yLjUtMS4xMi0yLjUtMi41czEuMTItMi41IDIuNS0yLjUgMi41IDEuMTIgMi41IDIuNS0xLjEyIDIuNS0yLjUgMi41XCIsXHJcbiAgICBNZW51OiBcIk0zIDE4aDE4di0ySDN2MnptMC01aDE4di0ySDN2MnptMC03djJoMThWNkgzelwiLFxyXG4gICAgTmF2aWdhdGlvbjogXCJNMTIgMkw0LjUgMjAuMjlsLjcxLjcxTDEyIDE4bDYuNzkgMyAuNzEtLjcxelwiLFxyXG4gICAgTmF2aWdhdGlvbkRvd246IFwiTTEyIDIyTDQuNSAzLjcxbC43MSAtLjcxTDEyIDZsNi43OSAtMyAuNzEgLjcxelwiLFxyXG4gICAgUmVmcmVzaDogXCJNMTcuNjUgNi4zNUMxNi4yIDQuOSAxNC4yMSA0IDEyIDRjLTQuNDIgMC03Ljk5IDMuNTgtNy45OSA4czMuNTcgOCA3Ljk5IDhjMy43MyAwIDYuODQtMi41NSA3LjczLTZoLTIuMDhjLS44MiAyLjMzLTMuMDQgNC01LjY1IDQtMy4zMSAwLTYtMi42OS02LTZzMi42OS02IDYtNmMxLjY2IDAgMy4xNC42OSA0LjIyIDEuNzhMMTMgMTFoN1Y0elwiLFxyXG4gICAgUmVtb3ZlU2hvcHBpbmdDYXJ0OiBcIk0yMi43MyAyMi43M0wyLjc3IDIuNzcgMiAybC0uNzMtLjczTDAgMi41NGw0LjM5IDQuMzkgMi4yMSA0LjY2LTEuMzUgMi40NWMtLjE2LjI4LS4yNS42MS0uMjUuOTYgMCAxLjEuOSAyIDIgMmg3LjQ2bDEuMzggMS4zOGMtLjUuMzYtLjgzLjk1LS44MyAxLjYyIDAgMS4xLjg5IDIgMS45OSAyIC42NyAwIDEuMjYtLjMzIDEuNjItLjg0TDIxLjQ2IDI0bDEuMjctMS4yN3pNNy40MiAxNWMtLjE0IDAtLjI1LS4xMS0uMjUtLjI1bC4wMy0uMTIuOS0xLjYzaDIuMzZsMiAySDcuNDJ6bTguMTMtMmMuNzUgMCAxLjQxLS40MSAxLjc1LTEuMDNsMy41OC02LjQ5Yy4wOC0uMTQuMTItLjMxLjEyLS40OCAwLS41NS0uNDUtMS0xLTFINi41NGw5LjAxIDl6TTcgMThjLTEuMSAwLTEuOTkuOS0xLjk5IDJTNS45IDIyIDcgMjJzMi0uOSAyLTItLjktMi0yLTJ6XCIsXHJcbiAgICBTYXZlOiBcIk0xNyAzSDVjLTEuMTEgMC0yIC45LTIgMnYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY3bC00LTR6bS01IDE2Yy0xLjY2IDAtMy0xLjM0LTMtM3MxLjM0LTMgMy0zIDMgMS4zNCAzIDMtMS4zNCAzLTMgM3ptMy0xMEg1VjVoMTB2NHpcIixcclxuICAgIFNjaG9vbDogXCJNNSAxMy4xOHY0TDEyIDIxbDctMy44MnYtNEwxMiAxN3pNMTIgMyAxIDlsMTEgNiA5LTQuOTFWMTdoMlY5elwiLFxyXG4gICAgU2VhcmNoOiBcIk0xNS41IDE0aC0uNzlsLS4yOC0uMjdDMTUuNDEgMTIuNTkgMTYgMTEuMTEgMTYgOS41IDE2IDUuOTEgMTMuMDkgMyA5LjUgM1MzIDUuOTEgMyA5LjUgNS45MSAxNiA5LjUgMTZjMS42MSAwIDMuMDktLjU5IDQuMjMtMS41N2wuMjcuMjh2Ljc5bDUgNC45OUwyMC40OSAxOWwtNC45OS01em0tNiAwQzcuMDEgMTQgNSAxMS45OSA1IDkuNVM3LjAxIDUgOS41IDUgMTQgNy4wMSAxNCA5LjUgMTEuOTkgMTQgOS41IDE0elwiLFxyXG4gICAgU2VuZDogXCJNMi4wMSAyMUwyMyAxMiAyLjAxIDMgMiAxMGwxNSAyLTE1IDJ6XCIsXHJcbiAgICBTZXR0aW5nczogXCJNMTUuOTUgMTAuNzhjLjAzLS4yNS4wNS0uNTEuMDUtLjc4cy0uMDItLjUzLS4wNi0uNzhsMS42OS0xLjMyYy4xNS0uMTIuMTktLjM0LjEtLjUxbC0xLjYtMi43N2MtLjEtLjE4LS4zMS0uMjQtLjQ5LS4xOGwtMS45OS44Yy0uNDItLjMyLS44Ni0uNTgtMS4zNS0uNzhMMTIgMi4zNGMtLjAzLS4yLS4yLS4zNC0uNC0uMzRIOC40Yy0uMiAwLS4zNi4xNC0uMzkuMzRsLS4zIDIuMTJjLS40OS4yLS45NC40Ny0xLjM1Ljc4bC0xLjk5LS44Yy0uMTgtLjA3LS4zOSAwLS40OS4xOGwtMS42IDIuNzdjLS4xLjE4LS4wNi4zOS4xLjUxbDEuNjkgMS4zMmMtLjA0LjI1LS4wNy41Mi0uMDcuNzhzLjAyLjUzLjA2Ljc4TDIuMzcgMTIuMWMtLjE1LjEyLS4xOS4zNC0uMS41MWwxLjYgMi43N2MuMS4xOC4zMS4yNC40OS4xOGwxLjk5LS44Yy40Mi4zMi44Ni41OCAxLjM1Ljc4bC4zIDIuMTJjLjA0LjIuMi4zNC40LjM0aDMuMmMuMiAwIC4zNy0uMTQuMzktLjM0bC4zLTIuMTJjLjQ5LS4yLjk0LS40NyAxLjM1LS43OGwxLjk5LjhjLjE4LjA3LjM5IDAgLjQ5LS4xOGwxLjYtMi43N2MuMS0uMTguMDYtLjM5LS4xLS41MWwtMS42Ny0xLjMyek0xMCAxM2MtMS42NSAwLTMtMS4zNS0zLTNzMS4zNS0zIDMtMyAzIDEuMzUgMyAzLTEuMzUgMy0zIDN6XCIsXHJcbiAgICBTeW5jQWx0OiBcIk0yMiA4bC00LTR2M0gzdjJoMTV2M2w0LTR6TTIgMTZsNCA0di0zaDE1di0ySDZ2LTNsLTQgNHpcIixcclxuICAgIFNwb3J0c0VzcG9ydHM6IFwibTIxLjU4IDE2LjA5LTEuMDktNy42NkMyMC4yMSA2LjQ2IDE4LjUyIDUgMTYuNTMgNUg3LjQ3QzUuNDggNSAzLjc5IDYuNDYgMy41MSA4LjQzbC0xLjA5IDcuNjZDMi4yIDE3LjYzIDMuMzkgMTkgNC45NCAxOWMuNjggMCAxLjMyLS4yNyAxLjgtLjc1TDkgMTZoNmwyLjI1IDIuMjVjLjQ4LjQ4IDEuMTMuNzUgMS44Ljc1IDEuNTYgMCAyLjc1LTEuMzcgMi41My0yLjkxTTExIDExSDl2Mkg4di0ySDZ2LTFoMlY4aDF2Mmgyem00LTFjLS41NSAwLTEtLjQ1LTEtMXMuNDUtMSAxLTEgMSAuNDUgMSAxLS40NSAxLTEgMW0yIDNjLS41NSAwLTEtLjQ1LTEtMXMuNDUtMSAxLTEgMSAuNDUgMSAxLS40NSAxLTEgMVwiLFxyXG4gICAgVHJlbmRpbmdGbGF0OiBcIk0yMiAxMmwtNC00djNIM3YyaDE1djN6XCIsXHJcbiAgICBXYXJuaW5nOiBcIk0xIDIxaDIyTDEyIDIgMSAyMXptMTItM2gtMnYtMmgydjJ6bTAtNGgtMnYtNGgydjR6XCIsXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBJQ09OID0gbGlrZUFyKG1hdGVyaWFsSW9JY29uc1N2Z1BhdGgpLm1hcChzdmdUZXh0ID0+ICgpID0+XHJcbiAgICA8U3ZnSWNvbj48cGF0aCBkPXtzdmdUZXh0fSAvPjwvU3ZnSWNvbj5cclxuKS5wbGFpbigpO1xyXG5cclxuZXhwb3J0IHR5cGUgU3R5bGVzID0gUmVhY3QuQ1NTUHJvcGVydGllcztcclxuXHJcbmV4cG9ydCB0eXBlIE9uVXBkYXRlPFQ+ID0gKGRhdGE6IFQpID0+IHZvaWRcclxuXHJcbmV4cG9ydCB0eXBlIElucHV0VHlwZXMgPSAnZGF0ZScgfCAnbnVtYmVyJyB8ICd0ZWwnIHwgJ3RleHQnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGFkYXB0YXJUaXBvVmFyQ2FzaWxsZXJvKGNhc2lsbGVyb0RhdGFUeXBlOiBUaXBvVmFyaWFibGVzIHwgJ29wY2lvbmVzJyB8ICdzaV9ubycpOiBJbnB1dFR5cGVzIHtcclxuICAgIGNvbnN0IGFkYXB0ZXI6IHsgW2tleSBpbiBUaXBvVmFyaWFibGVzIHwgJ29wY2lvbmVzJyB8ICdzaV9ubyddOiBJbnB1dFR5cGVzIH0gPSB7XHJcbiAgICAgICAgJ29wY2lvbmVzJzogJ251bWJlcicsXHJcbiAgICAgICAgJ3NpX25vJzogJ251bWJlcicsXHJcbiAgICAgICAgJ251bWVybyc6ICdudW1iZXInLFxyXG4gICAgICAgICdob3JhJzogJ3RlbCcsXHJcbiAgICAgICAgJ2hvcmFzJzogJ251bWJlcicsXHJcbiAgICAgICAgJ3RleHRvJzogJ3RleHQnLFxyXG4gICAgICAgICdmZWNoYSc6ICd0ZXh0J1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFkYXB0ZXJbY2FzaWxsZXJvRGF0YVR5cGVdXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBzY3JvbGxUb1RvcCA9ICgpID0+IHtcclxuICAgIHdpbmRvdy5zY3JvbGwoeyBiZWhhdmlvcjogJ3Ntb290aCcsIHRvcDogMCwgbGVmdDogMCB9KVxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHNjcm9sbFRvQm90dG9tID0gKCkgPT4ge1xyXG4gICAgd2luZG93LnNjcm9sbCh7IGJlaGF2aW9yOiAnc21vb3RoJywgdG9wOiBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCAtIHdpbmRvdy5pbm5lckhlaWdodCwgbGVmdDogMCB9KVxyXG59O1xyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBTY3JvbGxUb3AocHJvcHM6IHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0RWxlbWVudCB9KSB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSBwcm9wcztcclxuICAgIC8vY29uc3QgY2xhc3NlcyA9IHVzZVN0eWxlc1Njcm9sbFRvcCgpO1xyXG4gICAgLy8gTm90ZSB0aGF0IHlvdSBub3JtYWxseSB3b24ndCBuZWVkIHRvIHNldCB0aGUgd2luZG93IHJlZiBhcyB1c2VTY3JvbGxUcmlnZ2VyXHJcbiAgICAvLyB3aWxsIGRlZmF1bHQgdG8gd2luZG93LlxyXG4gICAgLy8gVGhpcyBpcyBvbmx5IGJlaW5nIHNldCBoZXJlIGJlY2F1c2UgdGhlIGRlbW8gaXMgaW4gYW4gaWZyYW1lLlxyXG4gICAgY29uc3QgdHJpZ2dlciA9IHVzZVNjcm9sbFRyaWdnZXIoe1xyXG4gICAgICAgIGRpc2FibGVIeXN0ZXJlc2lzOiB0cnVlLFxyXG4gICAgICAgIHRocmVzaG9sZDogMTAwLFxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxab29tIGluPXt0cmlnZ2VyfT5cclxuICAgICAgICAgICAgPGRpdiBvbkNsaWNrPXtzY3JvbGxUb1RvcH0gcm9sZT1cInByZXNlbnRhdGlvblwiIC8qY2xhc3NOYW1lPXtjbGFzc2VzLnJvb3R9Ki8+XHJcbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvWm9vbT5cclxuICAgICk7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEZvY3VzT3B0cyA9IHtcclxuICAgIG1vdmVUb0VsZW1lbnQ6IGJvb2xlYW5cclxuICAgIG1vdmVCZWhhdmlvcj86ICdhdXRvJyB8ICdzbW9vdGgnXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmb2N1c1RvSWQoaWQ6IHN0cmluZywgb3B0czogRm9jdXNPcHRzLCBjYj86IChlOiBIVE1MRWxlbWVudCkgPT4gdm9pZCkge1xyXG4gICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XHJcbiAgICB2YXIgcGFkcmUgPSBlbGVtZW50O1xyXG4gICAgd2hpbGUgKHBhZHJlICYmIHBhZHJlLmNsYXNzTmFtZSAhPSAncHJlZ3VudGEnICYmIHBhZHJlICE9IGRvY3VtZW50LmJvZHkpIHBhZHJlID0gcGFkcmUucGFyZW50RWxlbWVudDtcclxuICAgIGlmIChwYWRyZSAmJiBwYWRyZS5jbGFzc05hbWUgPT0gJ3ByZWd1bnRhJykgZWxlbWVudCA9IHBhZHJlO1xyXG4gICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgICBpZiAoY2IpIHtcclxuICAgICAgICAgICAgY2IoZWxlbWVudCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgICBpZiAob3B0cy5tb3ZlVG9FbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KCk7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsKHsgYmVoYXZpb3I6IG9wdHMubW92ZUJlaGF2aW9yIHx8ICdhdXRvJywgdG9wOiB3aW5kb3cuc2Nyb2xsWSAtIDEwMCwgbGVmdDogMCB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJRGlzcGF0Y2hlcnMgPSB7IFJFU0VUX09QQ0lPTkVTOiBGdW5jdGlvbiB9O1xyXG5cclxuZnVuY3Rpb24gZ2V0QmFkZ2VTdHlsZShlc3RhZG86IHN0cmluZyk6IFJlYWN0LkNTU1Byb3BlcnRpZXMge1xyXG4gICAgY29uc3QgYmFzZTogUmVhY3QuQ1NTUHJvcGVydGllcyA9IHtcclxuICAgICAgICBwYWRkaW5nOiAnMnB4IDZweCcsXHJcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcclxuICAgICAgICBmb250U2l6ZTogJzExcHgnLFxyXG4gICAgICAgIGZvbnRXZWlnaHQ6ICdib2xkJyxcclxuICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcclxuICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJ1xyXG4gICAgfTtcclxuICAgIGlmIChlc3RhZG8gPT09ICdvaycpIHJldHVybiB7IC4uLmJhc2UsIGJhY2tncm91bmRDb2xvcjogJyNjNmY2ZDUnLCBjb2xvcjogJyMyMjU0M2QnIH07XHJcbiAgICBpZiAoZXN0YWRvID09PSAnaW5jb21wbGV0bycgfHwgZXN0YWRvID09PSAnY29uIHByb2JsZW1hcycpIHJldHVybiB7IC4uLmJhc2UsIGJhY2tncm91bmRDb2xvcjogJyNmZWViYzgnLCBjb2xvcjogJyM3NDQyMTAnIH07XHJcbiAgICByZXR1cm4geyAuLi5iYXNlLCBiYWNrZ3JvdW5kQ29sb3I6ICcjZWRmMmY3JywgY29sb3I6ICcjNGE1NTY4JyB9O1xyXG59XHJcbmludGVyZmFjZSBSZW5kZXJpemFkb3JKU09OUHJvcHMge1xyXG4gICAgZGF0b3M6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbiAgICBuaXZlbD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IFJlbmRlcml6YWRvckpTT046IFJlYWN0LkZDPFJlbmRlcml6YWRvckpTT05Qcm9wcz4gPSAoeyBkYXRvcywgbml2ZWwgPSAwIH0pID0+IHtcclxuXHJcbiAgICBjb25zdCBjbGF2ZXNGaWx0cmFkYXMgPSBPYmplY3Qua2V5cyhkYXRvcykuZmlsdGVyKFxyXG4gICAgICAgIGNsYXZlID0+ICFjbGF2ZS5zdGFydHNXaXRoKCckJykgJiYgY2xhdmUgIT09ICd0aW1lc3RhbXBFc3RydWN0dXJhJ1xyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxkaXYgc3R5bGU9e3sgcGFkZGluZ0xlZnQ6IG5pdmVsID4gMCA/ICcxNnB4JyA6ICcwcHgnIH19PlxyXG4gICAgICAgICAgICB7Y2xhdmVzRmlsdHJhZGFzLm1hcChjbGF2ZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWxvciA9IGRhdG9zW2NsYXZlXTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBERVRFQ0NJw5NOIERFIFNVQi1VTklEQURFUyBERSBBTsOBTElTSVMgKGhvZ2FyZXMsIHBlcnNvbmFzLCBldGMuKVxyXG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsb3IpICYmIHZhbG9yLmxlbmd0aCA+IDAgJiYgdHlwZW9mIHZhbG9yWzBdID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17Y2xhdmV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJzEycHggMCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyTGVmdDogJzRweCBzb2xpZCAjMzE4MmNlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZjdmYWZjJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICcwIDZweCA2cHggMCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJzhweCAxMnB4J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIFTDrXR1bG8gZGUgbGEgVUEgKi99XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGZvbnRXZWlnaHQ6ICdib2xkJywgY29sb3I6ICcjMmI2Y2IwJywgZm9udFNpemU6ICcxM3B4JywgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsIG1hcmdpbkJvdHRvbTogJzZweCcgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVW5pZGFkIGRlIEFuw6FsaXNpczoge2NsYXZlfSAoe3ZhbG9yLmxlbmd0aH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFsb3IubWFwKChyZWdpc3RybywgZmlsYUluZGV4KSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2ZpbGFJbmRleH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogZmlsYUluZGV4IDwgdmFsb3IubGVuZ3RoIC0gMSA/ICcxMHB4JyA6ICcwJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmdUb3A6IGZpbGFJbmRleCA+IDAgPyAnNnB4JyA6ICcwJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclRvcDogZmlsYUluZGV4ID4gMCA/ICcxcHggZGFzaGVkICNlMmU4ZjAnIDogJ25vbmUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVuZGVyaXphZG9ySlNPTiBkYXRvcz17cmVnaXN0cm99IG5pdmVsPXtuaXZlbCArIDF9IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAvLyBTaSBwb3IgbGFzIGR1ZGFzIGVzIHVuIG9iamV0byBkaXJlY3RvIHF1ZSBubyBlcyBhcnJheSwgbG8gc2FsdGVhbW9zXHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbG9yID09PSAnb2JqZWN0JyAmJiB2YWxvciAhPT0gbnVsbCkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gVkFSSUFCTEVTIEVTVMOBTkRBUiAoQ2xhdmUgeSB2YWxvciBqdW50b3MpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtjbGF2ZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleFdyYXA6ICd3cmFwJywgLy8gUG9yIHNpIGVsIHZhbG9yIGVzIG11eSBsYXJnbywgcXVlIGJhamUgbGltcGlvXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAnNHB4IDAnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICcxM3B4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogJzEuNCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBDbGF2ZTogYWhvcmEgc2luIGFuY2hvIGZpam8sIHNlIGFkYXB0YSBhbCB0ZXh0byAqL31cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBjb2xvcjogJyM0YTU1NjgnLCBmb250V2VpZ2h0OiA1MDAsIG1hcmdpblJpZ2h0OiAnNnB4JyB9fT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjbGF2ZX06XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgey8qIFZhbG9yOiBwZWdhZG8gaW5tZWRpYXRhbWVudGUgYSBsYSBjbGF2ZSAqL31cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBjb2xvcjogJyMxYTIwMmMnLCBmb250V2VpZ2h0OiA2MDAgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2xhdmUuc3RhcnRzV2l0aCgncmVzdW1lbkVzdGFkbycpID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXtnZXRCYWRnZVN0eWxlKFN0cmluZyh2YWxvcikpfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1N0cmluZyh2YWxvcil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcodmFsb3IgPz8gJycpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBSZXNldGVyRm9ybShwcm9wczogeyBvblRyeUFnYWluOiAoKSA9PiB2b2lkLCBkaXNwYXRjaGVyczogSURpc3BhdGNoZXJzLCBtZW5zYWplOiBzdHJpbmcgfSkge1xyXG4gICAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xyXG4gICAgcmV0dXJuIDw+XHJcbiAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwib3V0bGluZWRcIlxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwYXRjaChwcm9wcy5kaXNwYXRjaGVycy5SRVNFVF9PUENJT05FUyh7fSkpO1xyXG4gICAgICAgICAgICAgICAgcHJvcHMub25UcnlBZ2FpbigpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgID57cHJvcHMubWVuc2FqZX08L0J1dHRvbj5cclxuICAgIDwvPjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlbmRlckFuZENhcHR1cmVFcnJvciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxcclxuICAgIHsgZGlzcGF0Y2hlcnM6IElEaXNwYXRjaGVycywgbWVuc2FqZVJldG9ybm86IHN0cmluZyB9LFxyXG4gICAgeyBoYXNFcnJvcjogYm9vbGVhbiwgZXJyb3I6IEVycm9yIHwge30sIGluZm8/OiBhbnkgfVxyXG4+IHtcclxuICAgIGNvbnN0cnVjdG9yKHByb3BzOiB7IGRpc3BhdGNoZXJzOiBJRGlzcGF0Y2hlcnMsIG1lbnNhamVSZXRvcm5vOiBzdHJpbmcgfSkge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgICAgICB0aGlzLnN0YXRlID0geyBoYXNFcnJvcjogZmFsc2UsIGVycm9yOiB7fSB9O1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgY29tcG9uZW50RGlkQ2F0Y2goZXJyb3I6IEVycm9yLCBpbmZvOiBhbnkpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgaGFzRXJyb3I6IHRydWUsIGVycm9yLCBpbmZvIH0pO1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgcmVuZGVyKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YXRlLmhhc0Vycm9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybiA8PlxyXG4gICAgICAgICAgICAgICAgPFR5cG9ncmFwaHk+SHVibyB1biBwcm9ibGVtYSBlbiBsYSBwcm9ncmFtYWNpw7NuIGRlIGxhIHBhbnRhbGxhLjwvVHlwb2dyYXBoeT5cclxuICAgICAgICAgICAgICAgIDxSZXNldGVyRm9ybSBkaXNwYXRjaGVycz17dGhpcy5wcm9wcy5kaXNwYXRjaGVyc30gbWVuc2FqZT17dGhpcy5wcm9wcy5tZW5zYWplUmV0b3Jub30gb25UcnlBZ2Fpbj17KCkgPT5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgaGFzRXJyb3I6IGZhbHNlLCBlcnJvcjoge30gfSlcclxuICAgICAgICAgICAgICAgIH0gLz5cclxuICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cIm91dGxpbmVkXCIgY29sb3I9XCJzZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9nb3RvU2luY3Jvbml6YXIoKTtcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgPmlyIGEgbGEgcGFudGFsbGEgZGUgc2luY3Jvbml6YWNpw7NuPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeT5FcnJvciBkZXRlY3RhZG86PC9UeXBvZ3JhcGh5PlxyXG4gICAgICAgICAgICAgICAgPFR5cG9ncmFwaHk+e2V4cGVjdGVkKHRoaXMuc3RhdGUuZXJyb3IpLm1lc3NhZ2V9PC9UeXBvZ3JhcGh5PlxyXG4gICAgICAgICAgICAgICAgPFR5cG9ncmFwaHk+e0pTT04uc3RyaW5naWZ5KHRoaXMuc3RhdGUuaW5mbyl9PC9UeXBvZ3JhcGh5PlxyXG4gICAgICAgICAgICA8Lz47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xyXG4gICAgfVxyXG59XHJcblxyXG5jb25zdCB0aGVtZSA9IGNyZWF0ZVRoZW1lKHtcclxuICAgIGNvbXBvbmVudHM6IHtcclxuICAgICAgICBNdWlDc3NCYXNlbGluZToge1xyXG4gICAgICAgICAgICBzdHlsZU92ZXJyaWRlczoge1xyXG4gICAgICAgICAgICAgICAgaHRtbDoge1xyXG4gICAgICAgICAgICAgICAgICAgIFdlYmtpdEZvbnRTbW9vdGhpbmc6ICdhdXRvJyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgIH0sXHJcbn0pO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHVzZU9ubGluZVN0YXR1cygpIHtcclxuICAgIGNvbnN0IFtvbmxpbmUsIHNldE9ubGluZV0gPSB1c2VTdGF0ZSh3aW5kb3cubmF2aWdhdG9yLm9uTGluZSk7XHJcblxyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBoYW5kbGVyID0gKCkgPT4gc2V0T25saW5lKHdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lKTtcclxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignb25saW5lJywgaGFuZGxlcik7XHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ29mZmxpbmUnLCBoYW5kbGVyKTtcclxuICAgICAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignb25saW5lJywgaGFuZGxlcik7XHJcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgaGFuZGxlcik7XHJcbiAgICAgICAgfTtcclxuICAgIH0sIFtdKTtcclxuXHJcbiAgICByZXR1cm4gb25saW5lO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gUmVuZGVyUHJpbmNpcGFsPFQsIFQyIGV4dGVuZHMgQWN0aW9uPihwcm9wczogeyBzdG9yZTogU3RvcmU8VCwgVDI+LCBkaXNwYXRjaGVyczogSURpc3BhdGNoZXJzLCBtZW5zYWplUmV0b3Jubzogc3RyaW5nLCBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcclxuICAgIHJldHVybiA8UmVhY3QuU3RyaWN0TW9kZT5cclxuICAgICAgICA8UHJvdmlkZXIgc3RvcmU9e3Byb3BzLnN0b3JlfT5cclxuICAgICAgICAgICAgPFRoZW1lUHJvdmlkZXIgdGhlbWU9e3RoZW1lfT5cclxuICAgICAgICAgICAgICAgIDxSZW5kZXJBbmRDYXB0dXJlRXJyb3IgZGlzcGF0Y2hlcnM9e3Byb3BzLmRpc3BhdGNoZXJzfSBtZW5zYWplUmV0b3Jubz17cHJvcHMubWVuc2FqZVJldG9ybm99PlxyXG4gICAgICAgICAgICAgICAgICAgIDxDc3NCYXNlbGluZSAvPlxyXG4gICAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cclxuICAgICAgICAgICAgICAgIDwvUmVuZGVyQW5kQ2FwdHVyZUVycm9yPlxyXG4gICAgICAgICAgICA8L1RoZW1lUHJvdmlkZXI+XHJcbiAgICAgICAgPC9Qcm92aWRlcj5cclxuICAgIDwvUmVhY3QuU3RyaWN0TW9kZT5cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IG5vbWJyZU1lc2VzID0gWydlbmVybycsICdmZWJyZXJvJywgJ21hcnpvJywgJ2FicmlsJywgJ21heW8nLCAnanVuaW8nLCAnanVsaW8nLCAnYWdvc3RvJywgJ3NlcHRpZW1icmUnLCAnb2N0dWJyZScsICdub3ZpZW1icmUnLCAnZGljaWVtYnJlJ107XHJcbmV4cG9ydCBjb25zdCBub21icmVEaWFzID0gWydkb21pbmdvJywgJ2x1bmVzJywgJ21hcnRlcycsICdtacOpcmNvbGVzJywgJ2p1ZXZlcycsICd2aWVybmVzJywgJ3PDoWJhZG8nXTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhckZlY2hhRGVzZGVUZXh0b0lTTyh0ZXh0bzogc3RyaW5nKTogRGF0ZSB7XHJcbiAgICB2YXIgcGFydGVzID0gdGV4dG8uc3BsaXQoL1svLV0vZyk7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoTnVtYmVyKHBhcnRlc1swXSksIE51bWJlcihwYXJ0ZXNbMV0pIC0gMSwgTnVtYmVyKHBhcnRlc1syXSkpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWVzUmVmZXJlbmNpYShmZWNoYTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHZhciBkID0gY3JlYXJGZWNoYURlc2RlVGV4dG9JU08oZmVjaGEpO1xyXG4gICAgcmV0dXJuIG5vbWJyZU1lc2VzW2QuZ2V0TW9udGgoKV07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmZWNoYVJlZmVyZW5jaWEoZmVjaGE6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICB2YXIgZCA9IGNyZWFyRmVjaGFEZXNkZVRleHRvSVNPKGZlY2hhKTtcclxuICAgIHJldHVybiBgJHtub21icmVEaWFzW2QuZ2V0RGF5KCldfSAke2QuZ2V0RGF0ZSgpfSBkZSAke21lc1JlZmVyZW5jaWEoZmVjaGEpfWA7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB0ZXh0b1BhcmVudGVzY28gPSBbJ0plZmUvYScsICdDw7NueXVnZS9wYXJlamEnLCAnSGlqby9hJywgJ0hpamFzdHJvL2EnLCAnWWVybm8gbyBudWVyYScsICdOaWV0by9hJywgJ1BhZHJlL21hZHJlL3N1ZWdyby9hJywgJ0hlcm1hbm8vYScsICdDdcOxYWRvL2EnLCAnU29icmluby9hJywgJ0FidWVsby9hJywgJ090cm8gZmFtaWxpYXInLCAnT3RybyBubyBmYW1pbGlhciddO1xyXG5leHBvcnQgY29uc3QgdGV4dG9QYXJlbnRlc2NvVmNtID0gWydSZXNwb25kZW50ZScsICdDw7NueXVnZS9wYXJlamEnLCAnSGlqby9hJywgJ0hpamFzdHJvL2EnLCAnWWVybm8gbyBudWVyYScsICdOaWV0by9hJywgJ1BhZHJlL21hZHJlL3N1ZWdyby9hJywgJ0hlcm1hbm8vYScsICdDdcOxYWRvL2EnLCAnU29icmluby9hJywgJ0FidWVsby9hJywgJ090cm8gZmFtaWxpYXInLCAnT3RybyBubyBmYW1pbGlhciddO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG9idGVuZXJUZXh0b1BhcmVudGVzY28ocDQ6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQsIG9wZXJhdGl2bz86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAocDQgPT0gbnVsbCB8fCBwNCA8IDEpIHJldHVybiAnLi4uLi4uLi4nO1xyXG4gICAgY29uc3QgZXNWY20gPSBvcGVyYXRpdm8gPyBvcGVyYXRpdm8uc3RhcnRzV2l0aCgndmNtJykgOiBmYWxzZTtcclxuICAgIGNvbnN0IGxpc3RhID0gZXNWY20gPyB0ZXh0b1BhcmVudGVzY29WY20gOiB0ZXh0b1BhcmVudGVzY287XHJcbiAgICByZXR1cm4gbGlzdGFbcDQgLSAxXSB8fCAnLi4uLi4uLi4nO1xyXG59XHJcblxyXG5cclxuXHJcbiJdfQ==
|
|
282
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWdlbmVyYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvcmVuZGVyLWdlbmVyYWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTJFQSwwREFXQztJQVdELDhCQWlCQztJQU9ELDhCQWdCQztJQTBHRCxrQ0FVQztJQThDRCwwQ0FjQztJQUVELDBDQVdDO0lBS0QsMERBR0M7SUFFRCxzQ0FHQztJQUVELDBDQUdDO0lBS0Qsd0RBS0M7SUFsV0QsK0JBQStCO0lBQy9CLGlDQUE0QztJQUM1Qyw2Q0FBb0Q7SUFDcEQsa0NBQW1DO0lBRW5DLDJDQUFzQztJQUV0Qyw0Q0FJdUI7SUFJdkIscURBQXFEO0lBQ3hDLFFBQUEsc0JBQXNCLEdBQUc7UUFDbEMsR0FBRyxFQUFFLHFDQUFxQztRQUMxQyxTQUFTLEVBQUUsOERBQThEO1FBQ3pFLFVBQVUsRUFBRSxnT0FBZ087UUFDNU8sY0FBYyxFQUFFLDBMQUEwTDtRQUMxTSxLQUFLLEVBQUUsbURBQW1EO1FBQzFELDRCQUE0QixFQUFFLDRGQUE0RjtRQUMxSCxnQkFBZ0IsRUFBRSx1SkFBdUo7UUFDekssV0FBVyxFQUFFLHdLQUF3SztRQUNyTCxZQUFZLEVBQUUsMEtBQTBLO1FBQ3hMLEtBQUssRUFBRSx1R0FBdUc7UUFDOUcsS0FBSyxFQUFFLHVHQUF1RztRQUM5RyxTQUFTLEVBQUMsNFhBQTRYO1FBQ3RZLElBQUksRUFBRSw0RkFBNEY7UUFDbEcsTUFBTSxFQUFFLHFKQUFxSjtRQUM3SixNQUFNLEVBQUUsK0VBQStFO1FBQ3ZGLGFBQWEsRUFBRSw2TUFBNk07UUFDNU4sYUFBYSxFQUFFLHlGQUF5RjtRQUN4RyxXQUFXLEVBQUUsZ0lBQWdJO1FBQzdJLFlBQVksRUFBRSxtV0FBbVc7UUFDalgsU0FBUyxFQUFFLHNLQUFzSztRQUNqTCxVQUFVLEVBQUUsZ0RBQWdEO1FBQzVELFVBQVUsRUFBRSw4Q0FBOEM7UUFDMUQsaUJBQWlCLEVB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QyxDQUFDLE9BQU8sRUFBRSxPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQ2pGLENBQUM7SUFFWSxRQUFBLGVBQWUsR0FBRyxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2xOLFFBQUEsa0JBQWtCLEdBQUcsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUV2TyxTQUFnQixzQkFBc0IsQ0FBQyxFQUE2QixFQUFFLFNBQWtCO1FBQ3BGLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLEdBQUcsQ0FBQztZQUFFLE9BQU8sVUFBVSxDQUFDO1FBQzVDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzlELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsMEJBQWtCLENBQUMsQ0FBQyxDQUFDLHVCQUFlLENBQUM7UUFDM0QsT0FBTyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQztJQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgUHJvdmlkZXIsIHVzZURpc3BhdGNoIH0gZnJvbSBcInJlYWN0LXJlZHV4XCI7XHJcbmltcG9ydCBsaWtlQXIgPSByZXF1aXJlKFwibGlrZS1hclwiKTtcclxuXHJcbmltcG9ydCB7IGV4cGVjdGVkIH0gZnJvbSBcImNhc3QtZXJyb3JcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgICBDc3NCYXNlbGluZSwgU3ZnSWNvbiwgVGhlbWVQcm92aWRlciwgVHlwb2dyYXBoeSwgWm9vbSwgdXNlU2Nyb2xsVHJpZ2dlciwgY3JlYXRlVGhlbWUsXHJcbiAgICBNZW51LFxyXG4gICAgQnV0dG9uXHJcbn0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcclxuaW1wb3J0IHsgU3RvcmUsIEFjdGlvbiB9IGZyb20gXCJyZWR1eFwiO1xyXG5pbXBvcnQgeyBUaXBvVmFyaWFibGVzIH0gZnJvbSBcIi4vdGlwb3NcIjtcclxuXHJcbi8vIGh0dHBzOi8vbWF0ZXJpYWwtdWkuY29tL2NvbXBvbmVudHMvbWF0ZXJpYWwtaWNvbnMvXHJcbmV4cG9ydCBjb25zdCBtYXRlcmlhbElvSWNvbnNTdmdQYXRoID0ge1xyXG4gICAgQWRkOiBcIk0xOSAxM2gtNnY2aC0ydi02SDV2LTJoNlY1aDJ2Nmg2djJ6XCIsXHJcbiAgICBBcnJvd0JhY2s6IFwiTTIwIDExSDcuODNsNS41OS01LjU5TDEyIDRsLTggOCA4IDggMS40MS0xLjQxTDcuODMgMTNIMjB2LTJ6XCIsXHJcbiAgICBBc3NpZ25tZW50OiBcIk0xOSAzaC00LjE4QzE0LjQgMS44NCAxMy4zIDEgMTIgMWMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptMiAxNEg3di0yaDd2MnptMy00SDd2LTJoMTB2MnptMC00SDdWN2gxMHYyelwiLFxyXG4gICAgQnVzaW5lc3NDZW50ZXI6IFwiTTEwIDE2di0xSDMuMDFMMyAxOWMwIDEuMTEuODkgMiAyIDJoMTRjMS4xMSAwIDItLjg5IDItMnYtNGgtN3Yxem0xMC05aC00LjAxVjVsLTItMmgtNGwtMiAydjJINGMtMS4xIDAtMiAuOS0yIDJ2M2MwIDEuMTEuODkgMiAyIDJoNnYtMmg0djJoNmMxLjEgMCAyLS45IDItMlY5YzAtMS4xLS45LTItMi0ybS02IDBoLTRWNWg0elwiLFxyXG4gICAgQ2hlY2s6IFwiTTkgMTYuMTdMNC44MyAxMmwtMS40MiAxLjQxTDkgMTkgMjEgN2wtMS40MS0xLjQxelwiLFxyXG4gICAgQ2hlY2tCb3hPdXRsaW5lQmxhbmtPdXRsaW5lZDogXCJNMTkgNXYxNEg1VjVoMTRtMC0ySDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnpcIixcclxuICAgIENoZWNrQm94T3V0bGluZWQ6IFwiTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDVWNWgxNHYxNHpNMTcuOTkgOWwtMS40MS0xLjQyLTYuNTkgNi41OS0yLjU4LTIuNTctMS40MiAxLjQxIDQgMy45OXpcIixcclxuICAgIENoZXZyb25MZWZ0OiBcIk0xNC43MSA2LjcxYS45OTU5Ljk5NTkgMCAwMC0xLjQxIDBMOC43MSAxMS4zYy0uMzkuMzktLjM5IDEuMDIgMCAxLjQxbDQuNTkgNC41OWMuMzkuMzkgMS4wMi4zOSAxLjQxIDAgLjM5LS4zOS4zOS0xLjAyIDAtMS40MUwxMC44MyAxMmwzLjg4LTMuODhjLjM5LS4zOS4zOC0xLjAzIDAtMS40MXpcIixcclxuICAgIENoZXZyb25SaWdodDogXCJNOS4yOSA2LjcxYy0uMzkuMzktLjM5IDEuMDIgMCAxLjQxTDEzLjE3IDEybC0zLjg4IDMuODhjLS4zOS4zOS0uMzkgMS4wMiAwIDEuNDEuMzkuMzkgMS4wMi4zOSAxLjQxIDBsNC41OS00LjU5Yy4zOS0uMzkuMzktMS4wMiAwLTEuNDFMMTAuNyA2LjdjLS4zOC0uMzgtMS4wMi0uMzgtMS40MS4wMXpcIixcclxuICAgIENsZWFyOiBcIk0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6XCIsXHJcbiAgICBDbG9zZTogXCJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyelwiLFxyXG4gICAgQ2xvdWRTeW5jOlwiTTIxLjUgMTQuOThjLS4wMiAwLS4wMyAwLS4wNS4wMUMyMS4yIDEzLjMgMTkuNzYgMTIgMTggMTJjLTEuNCAwLTIuNi44My0zLjE2IDIuMDJDMTMuMjYgMTQuMSAxMiAxNS40IDEyIDE3YzAgMS42NiAxLjM0IDMgMyAzbDYuNS0uMDJjMS4zOCAwIDIuNS0xLjEyIDIuNS0yLjVzLTEuMTItMi41LTIuNS0yLjVNMTAgNC4yNnYyLjA5QzcuNjcgNy4xOCA2IDkuMzkgNiAxMmMwIDEuNzcuNzggMy4zNCAyIDQuNDRWMTRoMnY2SDR2LTJoMi43M0M1LjA2IDE2LjU0IDQgMTQuNCA0IDEyYzAtMy43MyAyLjU1LTYuODUgNi03Ljc0TTIwIDZoLTIuNzNjMS40MyAxLjI2IDIuNDEgMy4wMSAyLjY2IDVoLTIuMDJjLS4yMy0xLjM2LS45My0yLjU1LTEuOTEtMy40NFYxMGgtMlY0aDZ6XCIsXHJcbiAgICBDb2RlOiBcIk05LjQgMTYuNkw0LjggMTJsNC42LTQuNkw4IDZsLTYgNiA2IDYgMS40LTEuNHptNS4yIDBsNC42LTQuNi00LjYtNC42TDE2IDZsNiA2LTYgNi0xLjQtMS40elwiLFxyXG4gICAgQ3JlYXRlOiBcIk0zIDE3LjI1VjIxaDMuNzVMMTcuODEgOS45NGwtMy43NS0zLjc1TDMgMTcuMjV6TTIwLjcxIDcuMDRjLjM5LS4zOS4zOS0xLjAyIDAtMS40MWwtMi4zNC0yLjM0YS45OTU5Ljk5NTkgMCAwMC0xLjQxIDBsLTEuODMgMS44MyAzLjc1IDMuNzUgMS44My0xLjgzelwiLFxyXG4gICAgRGVsZXRlOiBcIk02IDE5YzAgMS4xLjkgMiAyIDJoOGMxLjEgMCAyLS45IDItMlY3SDZ2MTJ6TTE5IDRoLTMuNWwtMS0xaC01bC0xIDFINXYyaDE0VjR6XCIsXHJcbiAgICBEZWxldGVGb3JldmVyOiBcIk02IDE5YzAgMS4xLjkgMiAyIDJoOGMxLjEgMCAyLS45IDItMlY3SDZ2MTJ6bTIuNDYtNy4xMmwxLjQxLTEuNDFMMTIgMTIuNTlsMi4xMi0yLjEyIDEuNDEgMS40MUwxMy40MSAxNGwyLjEyIDIuMTItMS40MSAxLjQxTDEyIDE1LjQxbC0yLjEyIDIuMTItMS40MS0xLjQxTDEwLjU5IDE0bC0yLjEzLTIuMTJ6TTE1LjUgNGwtMS0xaC01bC0xIDFINXYyaDE0VjR6XCIsXHJcbiAgICBEZWxldGVPdXRsaW5lOiBcIk02IDE5YzAgMS4xLjkgMiAyIDJoOGMxLjEgMCAyLS45IDItMlY3SDZ2MTJ6TTggOWg4djEwSDhWOXptNy41LTVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0elwiLFxyXG4gICAgRGVzY3JpcHRpb246IFwiTTE0IDJINmMtMS4xIDAtMS45OS45LTEuOTkgMkw0IDIwYzAgMS4xLjg5IDIgMS45OSAySDE4YzEuMSAwIDItLjkgMi0yVjhsLTYtNnptMiAxNkg4di0yaDh2MnptMC00SDh2LTJoOHYyem0tMy01VjMuNUwxOC41IDlIMTN6XCIsXHJcbiAgICBFbW9qaU9iamVjdHM6IFwiTTEyIDNjLS40NiAwLS45My4wNC0xLjQuMTQtMi43Ni41My00Ljk2IDIuNzYtNS40OCA1LjUyLS40OCAyLjYxLjQ4IDUuMDEgMi4yMiA2LjU2LjQzLjM4LjY2LjkxLjY2IDEuNDdWMTljMCAxLjEuOSAyIDIgMmguMjhjLjM1LjYuOTggMSAxLjcyIDFzMS4zOC0uNCAxLjcyLTFIMTRjMS4xIDAgMi0uOSAyLTJ2LTIuMzFjMC0uNTUuMjItMS4wOS42NC0xLjQ2QzE4LjA5IDEzLjk1IDE5IDEyLjA4IDE5IDEwYzAtMy44Ny0zLjEzLTctNy03em0yIDE2aC00di0xaDR2MXptMC0yaC00di0xaDR2MXptLTEuNS01LjU5VjE0aC0xdi0yLjU5TDkuNjcgOS41OWwuNzEtLjcxTDEyIDEwLjVsMS42Mi0xLjYyLjcxLjcxLTEuODMgMS44MnpcIixcclxuICAgIEV4aXRUb0FwcDogXCJNMTAuMDkgMTUuNTlMMTEuNSAxN2w1LTUtNS01LTEuNDEgMS40MUwxMi42NyAxMUgzdjJoOS42N2wtMi41OCAyLjU5ek0xOSAzSDVjLTEuMTEgMC0yIC45LTIgMnY0aDJWNWgxNHYxNEg1di00SDN2NGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yelwiLFxyXG4gICAgRXhwYW5kTGVzczogXCJNMTIgOGwtNiA2IDEuNDEgMS40MUwxMiAxMC44M2w0LjU5IDQuNThMMTggMTR6XCIsXHJcbiAgICBFeHBhbmRNb3JlOiBcIk0xNi41OSA4LjU5TDEyIDEzLjE3IDcuNDEgOC41OSA2IDEwbDYgNiA2LTZ6XCIsXHJcbiAgICBGb3JtYXRMaW5lU3BhY2luZzogXCJNNiA3aDIuNUw1IDMuNSAxLjUgN0g0djEwSDEuNUw1IDIwLjUgOC41IDE3SDZWN3ptNC0ydjJoMTJWNUgxMHptMCAxNGgxMnYtMkgxMHYyem0wLTZoMTJ2LTJIMTB2MnpcIixcclxuICAgIEZvcndhcmQ6IFwiTTEyIDhWNGw4IDgtOCA4di00SDRWOHpcIixcclxuICAgIEZvcndhcmRPdXRsaW5lZDogXCJNMTQgOC44M0wxNy4xNyAxMiAxNCAxNS4xN1YxNEg2di00aDhWOC44M00xMiA0djRINHY4aDh2NGw4LTgtOC04elwiLFxyXG4gICAgSGVscE91dGxpbmU6IFwiTTExIDE4aDJ2LTJoLTJ2MnptMS0xNkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAxOGMtNC40MSAwLTgtMy41OS04LThzMy41OS04IDgtOCA4IDMuNTkgOCA4LTMuNTkgOC04IDh6bTAtMTRjLTIuMjEgMC00IDEuNzktNCA0aDJjMC0xLjEuOS0yIDItMnMyIC45IDIgMmMwIDItMyAxLjc1LTMgNWgyYzAtMi4yNSAzLTIuNSAzLTUgMC0yLjIxLTEuNzktNC00LTR6XCIsXHJcbiAgICBJbmZvOiBcIk0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0xIDE1aC0ydi02aDJ2NnptMC04aC0yVjdoMnYyelwiLFxyXG4gICAgS2V5Ym9hcmRBcnJvd1VwOiBcIk03LjQxIDE1LjQxTDEyIDEwLjgzbDQuNTkgNC41OEwxOCAxNGwtNi02LTYgNnpcIixcclxuICAgIEtleWJvYXJkQXJyb3dEb3duOiBcIk03LjQxIDguNTlMMTIgMTMuMTdsNC41OS00LjU4TDE4IDEwbC02IDYtNi02IDEuNDEtMS40MXpcIixcclxuICAgIExhYmVsOiBcIk0xNy42MyA1Ljg0QzE3LjI3IDUuMzMgMTYuNjcgNSAxNiA1TDUgNS4wMUMzLjkgNS4wMSAzIDUuOSAzIDd2MTBjMCAxLjEuOSAxLjk5IDIgMS45OUwxNiAxOWMuNjcgMCAxLjI3LS4zMyAxLjYzLS44NEwyMiAxMmwtNC4zNy02LjE2elwiLFxyXG4gICAgTG9jYWxBdG06IFwiTTExIDE3aDJ2LTFoMWMuNTUgMCAxLS40NSAxLTF2LTNjMC0uNTUtLjQ1LTEtMS0xaC0zdi0xaDRWOGgtMlY3aC0ydjFoLTFjLS41NSAwLTEgLjQ1LTEgMXYzYzAgLjU1LjQ1IDEgMSAxaDN2MUg5djJoMnYxem05LTEzSDRjLTEuMTEgMC0xLjk5Ljg5LTEuOTkgMkwyIDE4YzAgMS4xMS44OSAyIDIgMmgxNmMxLjExIDAgMi0uODkgMi0yVjZjMC0xLjExLS44OS0yLTItMnptMCAxNEg0VjZoMTZ2MTJ6XCIsXHJcbiAgICBMb2NhdGlvbjogXCJNMTIgMkM4LjEzIDIgNSA1LjEzIDUgOWMwIDUuMjUgNyAxMyA3IDEzczctNy43NSA3LTEzYzAtMy44Ny0zLjEzLTctNy03bTAgOS41Yy0xLjM4IDAtMi41LTEuMTItMi41LTIuNXMxLjEyLTIuNSAyLjUtMi41IDIuNSAxLjEyIDIuNSAyLjUtMS4xMiAyLjUtMi41IDIuNVwiLFxyXG4gICAgTWVudTogXCJNMyAxOGgxOHYtMkgzdjJ6bTAtNWgxOHYtMkgzdjJ6bTAtN3YyaDE4VjZIM3pcIixcclxuICAgIE5hdmlnYXRpb246IFwiTTEyIDJMNC41IDIwLjI5bC43MS43MUwxMiAxOGw2Ljc5IDMgLjcxLS43MXpcIixcclxuICAgIE5hdmlnYXRpb25Eb3duOiBcIk0xMiAyMkw0LjUgMy43MWwuNzEgLS43MUwxMiA2bDYuNzkgLTMgLjcxIC43MXpcIixcclxuICAgIFJlZnJlc2g6IFwiTTE3LjY1IDYuMzVDMTYuMiA0LjkgMTQuMjEgNCAxMiA0Yy00LjQyIDAtNy45OSAzLjU4LTcuOTkgOHMzLjU3IDggNy45OSA4YzMuNzMgMCA2Ljg0LTIuNTUgNy43My02aC0yLjA4Yy0uODIgMi4zMy0zLjA0IDQtNS42NSA0LTMuMzEgMC02LTIuNjktNi02czIuNjktNiA2LTZjMS42NiAwIDMuMTQuNjkgNC4yMiAxLjc4TDEzIDExaDdWNHpcIixcclxuICAgIFJlbW92ZVNob3BwaW5nQ2FydDogXCJNMjIuNzMgMjIuNzNMMi43NyAyLjc3IDIgMmwtLjczLS43M0wwIDIuNTRsNC4zOSA0LjM5IDIuMjEgNC42Ni0xLjM1IDIuNDVjLS4xNi4yOC0uMjUuNjEtLjI1Ljk2IDAgMS4xLjkgMiAyIDJoNy40NmwxLjM4IDEuMzhjLS41LjM2LS44My45NS0uODMgMS42MiAwIDEuMS44OSAyIDEuOTkgMiAuNjcgMCAxLjI2LS4zMyAxLjYyLS44NEwyMS40NiAyNGwxLjI3LTEuMjd6TTcuNDIgMTVjLS4xNCAwLS4yNS0uMTEtLjI1LS4yNWwuMDMtLjEyLjktMS42M2gyLjM2bDIgMkg3LjQyem04LjEzLTJjLjc1IDAgMS40MS0uNDEgMS43NS0xLjAzbDMuNTgtNi40OWMuMDgtLjE0LjEyLS4zMS4xMi0uNDggMC0uNTUtLjQ1LTEtMS0xSDYuNTRsOS4wMSA5ek03IDE4Yy0xLjEgMC0xLjk5LjktMS45OSAyUzUuOSAyMiA3IDIyczItLjkgMi0yLS45LTItMi0yelwiLFxyXG4gICAgU2F2ZTogXCJNMTcgM0g1Yy0xLjExIDAtMiAuOS0yIDJ2MTRjMCAxLjEuODkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWN2wtNC00em0tNSAxNmMtMS42NiAwLTMtMS4zNC0zLTNzMS4zNC0zIDMtMyAzIDEuMzQgMyAzLTEuMzQgMy0zIDN6bTMtMTBINVY1aDEwdjR6XCIsXHJcbiAgICBTY2hvb2w6IFwiTTUgMTMuMTh2NEwxMiAyMWw3LTMuODJ2LTRMMTIgMTd6TTEyIDMgMSA5bDExIDYgOS00LjkxVjE3aDJWOXpcIixcclxuICAgIFNlYXJjaDogXCJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpcIixcclxuICAgIFNlbmQ6IFwiTTIuMDEgMjFMMjMgMTIgMi4wMSAzIDIgMTBsMTUgMi0xNSAyelwiLFxyXG4gICAgU2V0dGluZ3M6IFwiTTE1Ljk1IDEwLjc4Yy4wMy0uMjUuMDUtLjUxLjA1LS43OHMtLjAyLS41My0uMDYtLjc4bDEuNjktMS4zMmMuMTUtLjEyLjE5LS4zNC4xLS41MWwtMS42LTIuNzdjLS4xLS4xOC0uMzEtLjI0LS40OS0uMThsLTEuOTkuOGMtLjQyLS4zMi0uODYtLjU4LTEuMzUtLjc4TDEyIDIuMzRjLS4wMy0uMi0uMi0uMzQtLjQtLjM0SDguNGMtLjIgMC0uMzYuMTQtLjM5LjM0bC0uMyAyLjEyYy0uNDkuMi0uOTQuNDctMS4zNS43OGwtMS45OS0uOGMtLjE4LS4wNy0uMzkgMC0uNDkuMThsLTEuNiAyLjc3Yy0uMS4xOC0uMDYuMzkuMS41MWwxLjY5IDEuMzJjLS4wNC4yNS0uMDcuNTItLjA3Ljc4cy4wMi41My4wNi43OEwyLjM3IDEyLjFjLS4xNS4xMi0uMTkuMzQtLjEuNTFsMS42IDIuNzdjLjEuMTguMzEuMjQuNDkuMThsMS45OS0uOGMuNDIuMzIuODYuNTggMS4zNS43OGwuMyAyLjEyYy4wNC4yLjIuMzQuNC4zNGgzLjJjLjIgMCAuMzctLjE0LjM5LS4zNGwuMy0yLjEyYy40OS0uMi45NC0uNDcgMS4zNS0uNzhsMS45OS44Yy4xOC4wNy4zOSAwIC40OS0uMThsMS42LTIuNzdjLjEtLjE4LjA2LS4zOS0uMS0uNTFsLTEuNjctMS4zMnpNMTAgMTNjLTEuNjUgMC0zLTEuMzUtMy0zczEuMzUtMyAzLTMgMyAxLjM1IDMgMy0xLjM1IDMtMyAzelwiLFxyXG4gICAgU3luY0FsdDogXCJNMjIgOGwtNC00djNIM3YyaDE1djNsNC00ek0yIDE2bDQgNHYtM2gxNXYtMkg2di0zbC00IDR6XCIsXHJcbiAgICBTcG9ydHNFc3BvcnRzOiBcIm0yMS41OCAxNi4wOS0xLjA5LTcuNjZDMjAuMjEgNi40NiAxOC41MiA1IDE2LjUzIDVINy40N0M1LjQ4IDUgMy43OSA2LjQ2IDMuNTEgOC40M2wtMS4wOSA3LjY2QzIuMiAxNy42MyAzLjM5IDE5IDQuOTQgMTljLjY4IDAgMS4zMi0uMjcgMS44LS43NUw5IDE2aDZsMi4yNSAyLjI1Yy40OC40OCAxLjEzLjc1IDEuOC43NSAxLjU2IDAgMi43NS0xLjM3IDIuNTMtMi45MU0xMSAxMUg5djJIOHYtMkg2di0xaDJWOGgxdjJoMnptNC0xYy0uNTUgMC0xLS40NS0xLTFzLjQ1LTEgMS0xIDEgLjQ1IDEgMS0uNDUgMS0xIDFtMiAzYy0uNTUgMC0xLS40NS0xLTFzLjQ1LTEgMS0xIDEgLjQ1IDEgMS0uNDUgMS0xIDFcIixcclxuICAgIFRyZW5kaW5nRmxhdDogXCJNMjIgMTJsLTQtNHYzSDN2MmgxNXYzelwiLFxyXG4gICAgV2FybmluZzogXCJNMSAyMWgyMkwxMiAyIDEgMjF6bTEyLTNoLTJ2LTJoMnYyem0wLTRoLTJ2LTRoMnY0elwiLFxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgSUNPTiA9IGxpa2VBcihtYXRlcmlhbElvSWNvbnNTdmdQYXRoKS5tYXAoc3ZnVGV4dCA9PiAoKSA9PlxyXG4gICAgPFN2Z0ljb24+PHBhdGggZD17c3ZnVGV4dH0gLz48L1N2Z0ljb24+XHJcbikucGxhaW4oKTtcclxuXHJcbmV4cG9ydCB0eXBlIFN0eWxlcyA9IFJlYWN0LkNTU1Byb3BlcnRpZXM7XHJcblxyXG5leHBvcnQgdHlwZSBPblVwZGF0ZTxUPiA9IChkYXRhOiBUKSA9PiB2b2lkXHJcblxyXG5leHBvcnQgdHlwZSBJbnB1dFR5cGVzID0gJ2RhdGUnIHwgJ251bWJlcicgfCAndGVsJyB8ICd0ZXh0JztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBhZGFwdGFyVGlwb1ZhckNhc2lsbGVybyhjYXNpbGxlcm9EYXRhVHlwZTogVGlwb1ZhcmlhYmxlcyB8ICdvcGNpb25lcycgfCAnc2lfbm8nKTogSW5wdXRUeXBlcyB7XHJcbiAgICBjb25zdCBhZGFwdGVyOiB7IFtrZXkgaW4gVGlwb1ZhcmlhYmxlcyB8ICdvcGNpb25lcycgfCAnc2lfbm8nXTogSW5wdXRUeXBlcyB9ID0ge1xyXG4gICAgICAgICdvcGNpb25lcyc6ICdudW1iZXInLFxyXG4gICAgICAgICdzaV9ubyc6ICdudW1iZXInLFxyXG4gICAgICAgICdudW1lcm8nOiAnbnVtYmVyJyxcclxuICAgICAgICAnaG9yYSc6ICd0ZWwnLFxyXG4gICAgICAgICdob3Jhcyc6ICdudW1iZXInLFxyXG4gICAgICAgICd0ZXh0byc6ICd0ZXh0JyxcclxuICAgICAgICAnZmVjaGEnOiAndGV4dCdcclxuICAgIH1cclxuICAgIHJldHVybiBhZGFwdGVyW2Nhc2lsbGVyb0RhdGFUeXBlXVxyXG59XHJcblxyXG5leHBvcnQgY29uc3Qgc2Nyb2xsVG9Ub3AgPSAoKSA9PiB7XHJcbiAgICB3aW5kb3cuc2Nyb2xsKHsgYmVoYXZpb3I6ICdzbW9vdGgnLCB0b3A6IDAsIGxlZnQ6IDAgfSlcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBzY3JvbGxUb0JvdHRvbSA9ICgpID0+IHtcclxuICAgIHdpbmRvdy5zY3JvbGwoeyBiZWhhdmlvcjogJ3Ntb290aCcsIHRvcDogZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQgLSB3aW5kb3cuaW5uZXJIZWlnaHQsIGxlZnQ6IDAgfSlcclxufTtcclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gU2Nyb2xsVG9wKHByb3BzOiB7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdEVsZW1lbnQgfSkge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gcHJvcHM7XHJcbiAgICAvL2NvbnN0IGNsYXNzZXMgPSB1c2VTdHlsZXNTY3JvbGxUb3AoKTtcclxuICAgIC8vIE5vdGUgdGhhdCB5b3Ugbm9ybWFsbHkgd29uJ3QgbmVlZCB0byBzZXQgdGhlIHdpbmRvdyByZWYgYXMgdXNlU2Nyb2xsVHJpZ2dlclxyXG4gICAgLy8gd2lsbCBkZWZhdWx0IHRvIHdpbmRvdy5cclxuICAgIC8vIFRoaXMgaXMgb25seSBiZWluZyBzZXQgaGVyZSBiZWNhdXNlIHRoZSBkZW1vIGlzIGluIGFuIGlmcmFtZS5cclxuICAgIGNvbnN0IHRyaWdnZXIgPSB1c2VTY3JvbGxUcmlnZ2VyKHtcclxuICAgICAgICBkaXNhYmxlSHlzdGVyZXNpczogdHJ1ZSxcclxuICAgICAgICB0aHJlc2hvbGQ6IDEwMCxcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8Wm9vbSBpbj17dHJpZ2dlcn0+XHJcbiAgICAgICAgICAgIDxkaXYgb25DbGljaz17c2Nyb2xsVG9Ub3B9IHJvbGU9XCJwcmVzZW50YXRpb25cIiAvKmNsYXNzTmFtZT17Y2xhc3Nlcy5yb290fSovPlxyXG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L1pvb20+XHJcbiAgICApO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGb2N1c09wdHMgPSB7XHJcbiAgICBtb3ZlVG9FbGVtZW50OiBib29sZWFuXHJcbiAgICBtb3ZlQmVoYXZpb3I/OiAnYXV0bycgfCAnc21vb3RoJ1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9jdXNUb0lkKGlkOiBzdHJpbmcsIG9wdHM6IEZvY3VzT3B0cywgY2I/OiAoZTogSFRNTEVsZW1lbnQpID0+IHZvaWQpIHtcclxuICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xyXG4gICAgdmFyIHBhZHJlID0gZWxlbWVudDtcclxuICAgIHdoaWxlIChwYWRyZSAmJiBwYWRyZS5jbGFzc05hbWUgIT0gJ3ByZWd1bnRhJyAmJiBwYWRyZSAhPSBkb2N1bWVudC5ib2R5KSBwYWRyZSA9IHBhZHJlLnBhcmVudEVsZW1lbnQ7XHJcbiAgICBpZiAocGFkcmUgJiYgcGFkcmUuY2xhc3NOYW1lID09ICdwcmVndW50YScpIGVsZW1lbnQgPSBwYWRyZTtcclxuICAgIGlmIChlbGVtZW50KSB7XHJcbiAgICAgICAgaWYgKGNiKSB7XHJcbiAgICAgICAgICAgIGNiKGVsZW1lbnQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICAgICAgaWYgKG9wdHMubW92ZVRvRWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgZWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xyXG4gICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbCh7IGJlaGF2aW9yOiBvcHRzLm1vdmVCZWhhdmlvciB8fCAnYXV0bycsIHRvcDogd2luZG93LnNjcm9sbFkgLSAxMDAsIGxlZnQ6IDAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSURpc3BhdGNoZXJzID0geyBSRVNFVF9PUENJT05FUzogRnVuY3Rpb24gfTtcclxuXHJcbmZ1bmN0aW9uIGdldEJhZGdlU3R5bGUoZXN0YWRvOiBzdHJpbmcpOiBSZWFjdC5DU1NQcm9wZXJ0aWVzIHtcclxuICAgIGNvbnN0IGJhc2U6IFJlYWN0LkNTU1Byb3BlcnRpZXMgPSB7XHJcbiAgICAgICAgcGFkZGluZzogJzJweCA2cHgnLFxyXG4gICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXHJcbiAgICAgICAgZm9udFNpemU6ICcxMXB4JyxcclxuICAgICAgICBmb250V2VpZ2h0OiAnYm9sZCcsXHJcbiAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXHJcbiAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZSdcclxuICAgIH07XHJcbiAgICBpZiAoZXN0YWRvID09PSAnb2snKSByZXR1cm4geyAuLi5iYXNlLCBiYWNrZ3JvdW5kQ29sb3I6ICcjYzZmNmQ1JywgY29sb3I6ICcjMjI1NDNkJyB9O1xyXG4gICAgaWYgKGVzdGFkbyA9PT0gJ2luY29tcGxldG8nIHx8IGVzdGFkbyA9PT0gJ2NvbiBwcm9ibGVtYXMnKSByZXR1cm4geyAuLi5iYXNlLCBiYWNrZ3JvdW5kQ29sb3I6ICcjZmVlYmM4JywgY29sb3I6ICcjNzQ0MjEwJyB9O1xyXG4gICAgcmV0dXJuIHsgLi4uYmFzZSwgYmFja2dyb3VuZENvbG9yOiAnI2VkZjJmNycsIGNvbG9yOiAnIzRhNTU2OCcgfTtcclxufVxyXG5pbnRlcmZhY2UgUmVuZGVyaXphZG9ySlNPTlByb3BzIHtcclxuICAgIGRhdG9zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG4gICAgbml2ZWw/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBSZW5kZXJpemFkb3JKU09OOiBSZWFjdC5GQzxSZW5kZXJpemFkb3JKU09OUHJvcHM+ID0gKHsgZGF0b3MsIG5pdmVsID0gMCB9KSA9PiB7XHJcblxyXG4gICAgY29uc3QgY2xhdmVzRmlsdHJhZGFzID0gT2JqZWN0LmtleXMoZGF0b3MpLmZpbHRlcihcclxuICAgICAgICBjbGF2ZSA9PiAhY2xhdmUuc3RhcnRzV2l0aCgnJCcpICYmIGNsYXZlICE9PSAndGltZXN0YW1wRXN0cnVjdHVyYSdcclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IHN0eWxlPXt7IHBhZGRpbmdMZWZ0OiBuaXZlbCA+IDAgPyAnMTZweCcgOiAnMHB4JyB9fT5cclxuICAgICAgICAgICAge2NsYXZlc0ZpbHRyYWRhcy5tYXAoY2xhdmUgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsb3IgPSBkYXRvc1tjbGF2ZV07XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gREVURUNDScOTTiBERSBTVUItVU5JREFERVMgREUgQU7DgUxJU0lTIChob2dhcmVzLCBwZXJzb25hcywgZXRjLilcclxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbG9yKSAmJiB2YWxvci5sZW5ndGggPiAwICYmIHR5cGVvZiB2YWxvclswXSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2NsYXZlfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICcxMnB4IDAnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckxlZnQ6ICc0cHggc29saWQgIzMxODJjZScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI2Y3ZmFmYycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnMCA2cHggNnB4IDAnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICc4cHggMTJweCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBUw610dWxvIGRlIGxhIFVBICovfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBmb250V2VpZ2h0OiAnYm9sZCcsIGNvbG9yOiAnIzJiNmNiMCcsIGZvbnRTaXplOiAnMTNweCcsIHRleHRUcmFuc2Zvcm06ICd1cHBlcmNhc2UnLCBtYXJnaW5Cb3R0b206ICc2cHgnIH19PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVuaWRhZCBkZSBBbsOhbGlzaXM6IHtjbGF2ZX0gKHt2YWxvci5sZW5ndGh9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbG9yLm1hcCgocmVnaXN0cm8sIGZpbGFJbmRleCkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtmaWxhSW5kZXh9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5Cb3R0b206IGZpbGFJbmRleCA8IHZhbG9yLmxlbmd0aCAtIDEgPyAnMTBweCcgOiAnMCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nVG9wOiBmaWxhSW5kZXggPiAwID8gJzZweCcgOiAnMCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJUb3A6IGZpbGFJbmRleCA+IDAgPyAnMXB4IGRhc2hlZCAjZTJlOGYwJyA6ICdub25lJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlbmRlcml6YWRvckpTT04gZGF0b3M9e3JlZ2lzdHJvfSBuaXZlbD17bml2ZWwgKyAxfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gU2kgcG9yIGxhcyBkdWRhcyBlcyB1biBvYmpldG8gZGlyZWN0byBxdWUgbm8gZXMgYXJyYXksIGxvIHNhbHRlYW1vc1xyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWxvciA9PT0gJ29iamVjdCcgJiYgdmFsb3IgIT09IG51bGwpIHJldHVybiBudWxsO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIFZBUklBQkxFUyBFU1TDgU5EQVIgKENsYXZlIHkgdmFsb3IganVudG9zKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17Y2xhdmV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXhXcmFwOiAnd3JhcCcsIC8vIFBvciBzaSBlbCB2YWxvciBlcyBtdXkgbGFyZ28sIHF1ZSBiYWplIGxpbXBpb1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJzRweCAwJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMTNweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6ICcxLjQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7LyogQ2xhdmU6IGFob3JhIHNpbiBhbmNobyBmaWpvLCBzZSBhZGFwdGEgYWwgdGV4dG8gKi99XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgY29sb3I6ICcjNGE1NTY4JywgZm9udFdlaWdodDogNTAwLCBtYXJnaW5SaWdodDogJzZweCcgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2xhdmV9OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBWYWxvcjogcGVnYWRvIGlubWVkaWF0YW1lbnRlIGEgbGEgY2xhdmUgKi99XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgY29sb3I6ICcjMWEyMDJjJywgZm9udFdlaWdodDogNjAwIH19PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2NsYXZlLnN0YXJ0c1dpdGgoJ3Jlc3VtZW5Fc3RhZG8nKSA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17Z2V0QmFkZ2VTdHlsZShTdHJpbmcodmFsb3IpKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtTdHJpbmcodmFsb3IpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nKHZhbG9yID8/ICcnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICk7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gUmVzZXRlckZvcm0ocHJvcHM6IHsgb25UcnlBZ2FpbjogKCkgPT4gdm9pZCwgZGlzcGF0Y2hlcnM6IElEaXNwYXRjaGVycywgbWVuc2FqZTogc3RyaW5nIH0pIHtcclxuICAgIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcclxuICAgIHJldHVybiA8PlxyXG4gICAgICAgIDxCdXR0b24gdmFyaWFudD1cIm91dGxpbmVkXCJcclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGF0Y2gocHJvcHMuZGlzcGF0Y2hlcnMuUkVTRVRfT1BDSU9ORVMoe30pKTtcclxuICAgICAgICAgICAgICAgIHByb3BzLm9uVHJ5QWdhaW4oKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICA+e3Byb3BzLm1lbnNhamV9PC9CdXR0b24+XHJcbiAgICA8Lz47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSZW5kZXJBbmRDYXB0dXJlRXJyb3IgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8XHJcbiAgICB7IGRpc3BhdGNoZXJzOiBJRGlzcGF0Y2hlcnMsIG1lbnNhamVSZXRvcm5vOiBzdHJpbmcgfSxcclxuICAgIHsgaGFzRXJyb3I6IGJvb2xlYW4sIGVycm9yOiBFcnJvciB8IHt9LCBpbmZvPzogYW55IH1cclxuPiB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wczogeyBkaXNwYXRjaGVyczogSURpc3BhdGNoZXJzLCBtZW5zYWplUmV0b3Jubzogc3RyaW5nIH0pIHtcclxuICAgICAgICBzdXBlcihwcm9wcyk7XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHsgaGFzRXJyb3I6IGZhbHNlLCBlcnJvcjoge30gfTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGNvbXBvbmVudERpZENhdGNoKGVycm9yOiBFcnJvciwgaW5mbzogYW55KSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGhhc0Vycm9yOiB0cnVlLCBlcnJvciwgaW5mbyB9KTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIHJlbmRlcigpIHtcclxuICAgICAgICBpZiAodGhpcy5zdGF0ZS5oYXNFcnJvcikge1xyXG4gICAgICAgICAgICByZXR1cm4gPD5cclxuICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5Pkh1Ym8gdW4gcHJvYmxlbWEgZW4gbGEgcHJvZ3JhbWFjacOzbiBkZSBsYSBwYW50YWxsYS48L1R5cG9ncmFwaHk+XHJcbiAgICAgICAgICAgICAgICA8UmVzZXRlckZvcm0gZGlzcGF0Y2hlcnM9e3RoaXMucHJvcHMuZGlzcGF0Y2hlcnN9IG1lbnNhamU9e3RoaXMucHJvcHMubWVuc2FqZVJldG9ybm99IG9uVHJ5QWdhaW49eygpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGhhc0Vycm9yOiBmYWxzZSwgZXJyb3I6IHt9IH0pXHJcbiAgICAgICAgICAgICAgICB9IC8+XHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJvdXRsaW5lZFwiIGNvbG9yPVwic2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vZ290b1NpbmNyb25pemFyKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgID5pciBhIGxhIHBhbnRhbGxhIGRlIHNpbmNyb25pemFjacOzbjwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPFR5cG9ncmFwaHk+RXJyb3IgZGV0ZWN0YWRvOjwvVHlwb2dyYXBoeT5cclxuICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5PntleHBlY3RlZCh0aGlzLnN0YXRlLmVycm9yKS5tZXNzYWdlfTwvVHlwb2dyYXBoeT5cclxuICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5PntKU09OLnN0cmluZ2lmeSh0aGlzLnN0YXRlLmluZm8pfTwvVHlwb2dyYXBoeT5cclxuICAgICAgICAgICAgPC8+O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbjtcclxuICAgIH1cclxufVxyXG5cclxuY29uc3QgdGhlbWUgPSBjcmVhdGVUaGVtZSh7XHJcbiAgICBjb21wb25lbnRzOiB7XHJcbiAgICAgICAgTXVpQ3NzQmFzZWxpbmU6IHtcclxuICAgICAgICAgICAgc3R5bGVPdmVycmlkZXM6IHtcclxuICAgICAgICAgICAgICAgIGh0bWw6IHtcclxuICAgICAgICAgICAgICAgICAgICBXZWJraXRGb250U21vb3RoaW5nOiAnYXV0bycsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICB9LFxyXG59KTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB1c2VPbmxpbmVTdGF0dXMoKSB7XHJcbiAgICBjb25zdCBbb25saW5lLCBzZXRPbmxpbmVdID0gdXNlU3RhdGUod2luZG93Lm5hdmlnYXRvci5vbkxpbmUpO1xyXG5cclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgaGFuZGxlciA9ICgpID0+IHNldE9ubGluZSh3aW5kb3cubmF2aWdhdG9yLm9uTGluZSk7XHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ29ubGluZScsIGhhbmRsZXIpO1xyXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgaGFuZGxlcik7XHJcbiAgICAgICAgcmV0dXJuICgpID0+IHtcclxuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ29ubGluZScsIGhhbmRsZXIpO1xyXG4gICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignb2ZmbGluZScsIGhhbmRsZXIpO1xyXG4gICAgICAgIH07XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgcmV0dXJuIG9ubGluZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFJlbmRlclByaW5jaXBhbDxULCBUMiBleHRlbmRzIEFjdGlvbj4ocHJvcHM6IHsgc3RvcmU6IFN0b3JlPFQsIFQyPiwgZGlzcGF0Y2hlcnM6IElEaXNwYXRjaGVycywgbWVuc2FqZVJldG9ybm86IHN0cmluZywgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9KSB7XHJcbiAgICByZXR1cm4gPFJlYWN0LlN0cmljdE1vZGU+XHJcbiAgICAgICAgPFByb3ZpZGVyIHN0b3JlPXtwcm9wcy5zdG9yZX0+XHJcbiAgICAgICAgICAgIDxUaGVtZVByb3ZpZGVyIHRoZW1lPXt0aGVtZX0+XHJcbiAgICAgICAgICAgICAgICA8UmVuZGVyQW5kQ2FwdHVyZUVycm9yIGRpc3BhdGNoZXJzPXtwcm9wcy5kaXNwYXRjaGVyc30gbWVuc2FqZVJldG9ybm89e3Byb3BzLm1lbnNhamVSZXRvcm5vfT5cclxuICAgICAgICAgICAgICAgICAgICA8Q3NzQmFzZWxpbmUgLz5cclxuICAgICAgICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XHJcbiAgICAgICAgICAgICAgICA8L1JlbmRlckFuZENhcHR1cmVFcnJvcj5cclxuICAgICAgICAgICAgPC9UaGVtZVByb3ZpZGVyPlxyXG4gICAgICAgIDwvUHJvdmlkZXI+XHJcbiAgICA8L1JlYWN0LlN0cmljdE1vZGU+XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBub21icmVNZXNlcyA9IFsnZW5lcm8nLCAnZmVicmVybycsICdtYXJ6bycsICdhYnJpbCcsICdtYXlvJywgJ2p1bmlvJywgJ2p1bGlvJywgJ2Fnb3N0bycsICdzZXB0aWVtYnJlJywgJ29jdHVicmUnLCAnbm92aWVtYnJlJywgJ2RpY2llbWJyZSddO1xyXG5leHBvcnQgY29uc3Qgbm9tYnJlRGlhcyA9IFsnZG9taW5nbycsICdsdW5lcycsICdtYXJ0ZXMnLCAnbWnDqXJjb2xlcycsICdqdWV2ZXMnLCAndmllcm5lcycsICdzw6FiYWRvJ107XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXJGZWNoYURlc2RlVGV4dG9JU08odGV4dG86IHN0cmluZyk6IERhdGUge1xyXG4gICAgdmFyIHBhcnRlcyA9IHRleHRvLnNwbGl0KC9bLy1dL2cpO1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKE51bWJlcihwYXJ0ZXNbMF0pLCBOdW1iZXIocGFydGVzWzFdKSAtIDEsIE51bWJlcihwYXJ0ZXNbMl0pKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1lc1JlZmVyZW5jaWEoZmVjaGE6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICB2YXIgZCA9IGNyZWFyRmVjaGFEZXNkZVRleHRvSVNPKGZlY2hhKTtcclxuICAgIHJldHVybiBub21icmVNZXNlc1tkLmdldE1vbnRoKCldO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZmVjaGFSZWZlcmVuY2lhKGZlY2hhOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgdmFyIGQgPSBjcmVhckZlY2hhRGVzZGVUZXh0b0lTTyhmZWNoYSk7XHJcbiAgICByZXR1cm4gYCR7bm9tYnJlRGlhc1tkLmdldERheSgpXX0gJHtkLmdldERhdGUoKX0gZGUgJHttZXNSZWZlcmVuY2lhKGZlY2hhKX1gO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgdGV4dG9QYXJlbnRlc2NvID0gWydKZWZlL2EnLCAnQ8Ozbnl1Z2UvcGFyZWphJywgJ0hpam8vYScsICdIaWphc3Ryby9hJywgJ1llcm5vIG8gbnVlcmEnLCAnTmlldG8vYScsICdQYWRyZS9tYWRyZS9zdWVncm8vYScsICdIZXJtYW5vL2EnLCAnQ3XDsWFkby9hJywgJ1NvYnJpbm8vYScsICdBYnVlbG8vYScsICdPdHJvIGZhbWlsaWFyJywgJ090cm8gbm8gZmFtaWxpYXInXTtcclxuZXhwb3J0IGNvbnN0IHRleHRvUGFyZW50ZXNjb1ZjbSA9IFsnUmVzcG9uZGVudGUnLCAnQ8Ozbnl1Z2UvcGFyZWphJywgJ0hpam8vYScsICdIaWphc3Ryby9hJywgJ1llcm5vIG8gbnVlcmEnLCAnTmlldG8vYScsICdQYWRyZS9tYWRyZS9zdWVncm8vYScsICdIZXJtYW5vL2EnLCAnQ3XDsWFkby9hJywgJ1NvYnJpbm8vYScsICdBYnVlbG8vYScsICdPdHJvIGZhbWlsaWFyJywgJ090cm8gbm8gZmFtaWxpYXInXTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBvYnRlbmVyVGV4dG9QYXJlbnRlc2NvKHA0OiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkLCBvcGVyYXRpdm8/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKHA0ID09IG51bGwgfHwgcDQgPCAxKSByZXR1cm4gJy4uLi4uLi4uJztcclxuICAgIGNvbnN0IGVzVmNtID0gb3BlcmF0aXZvID8gb3BlcmF0aXZvLnN0YXJ0c1dpdGgoJ3ZjbScpIDogZmFsc2U7XHJcbiAgICBjb25zdCBsaXN0YSA9IGVzVmNtID8gdGV4dG9QYXJlbnRlc2NvVmNtIDogdGV4dG9QYXJlbnRlc2NvO1xyXG4gICAgcmV0dXJuIGxpc3RhW3A0IC0gMV0gfHwgJy4uLi4uLi4uJztcclxufVxyXG5cclxuXHJcblxyXG4iXX0=
|
|
@@ -40,6 +40,7 @@ export const materialIoIconsSvgPath = {
|
|
|
40
40
|
FormatLineSpacing: "M6 7h2.5L5 3.5 1.5 7H4v10H1.5L5 20.5 8.5 17H6V7zm4-2v2h12V5H10zm0 14h12v-2H10v2zm0-6h12v-2H10v2z",
|
|
41
41
|
Forward: "M12 8V4l8 8-8 8v-4H4V8z",
|
|
42
42
|
ForwardOutlined: "M14 8.83L17.17 12 14 15.17V14H6v-4h8V8.83M12 4v4H4v8h8v4l8-8-8-8z",
|
|
43
|
+
HelpOutline: "M11 18h2v-2h-2v2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4z",
|
|
43
44
|
Info: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z",
|
|
44
45
|
KeyboardArrowUp: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z",
|
|
45
46
|
KeyboardArrowDown: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z",
|
|
@@ -2,6 +2,7 @@ import { createFormRenderer, FormRenderer } from "./render-config";
|
|
|
2
2
|
export declare const GLOVAR_DATOSBYPASS = "datosbypass";
|
|
3
3
|
export declare const GLOVAR_MODOBYPASS = "modobypass";
|
|
4
4
|
export declare const GLOVAR_ESTRUCTURA = "estructura";
|
|
5
|
+
export declare const GLOVAR_AYUDA = "ayuda";
|
|
5
6
|
export declare const SETUP = "setup";
|
|
6
7
|
export declare const LAST_LOGGED_SETUP = "last_logged_setup";
|
|
7
8
|
/**
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.LAST_LOGGED_SETUP = exports.SETUP = exports.GLOVAR_ESTRUCTURA = exports.GLOVAR_MODOBYPASS = exports.GLOVAR_DATOSBYPASS = void 0;
|
|
12
|
+
exports.LAST_LOGGED_SETUP = exports.SETUP = exports.GLOVAR_AYUDA = exports.GLOVAR_ESTRUCTURA = exports.GLOVAR_MODOBYPASS = exports.GLOVAR_DATOSBYPASS = void 0;
|
|
13
13
|
exports.createLocalStorageFormRenderer = createLocalStorageFormRenderer;
|
|
14
14
|
exports.initFormRenderer = initFormRenderer;
|
|
15
15
|
const render_config_1 = require("./render-config");
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
exports.GLOVAR_DATOSBYPASS = 'datosbypass';
|
|
21
21
|
exports.GLOVAR_MODOBYPASS = 'modobypass';
|
|
22
22
|
exports.GLOVAR_ESTRUCTURA = 'estructura';
|
|
23
|
+
exports.GLOVAR_AYUDA = 'ayuda';
|
|
23
24
|
exports.SETUP = 'setup';
|
|
24
25
|
exports.LAST_LOGGED_SETUP = 'last_logged_setup';
|
|
25
26
|
// Configuración de almacenamiento local (localStorage/sessionStorage).
|
|
@@ -80,6 +81,12 @@
|
|
|
80
81
|
myOwn.setLocalVar(exports.GLOVAR_ESTRUCTURA, estructura);
|
|
81
82
|
return Promise.resolve();
|
|
82
83
|
},
|
|
84
|
+
leerAyuda() {
|
|
85
|
+
return myOwn.getLocalVar(exports.GLOVAR_AYUDA);
|
|
86
|
+
},
|
|
87
|
+
persistirAyuda(ayuda) {
|
|
88
|
+
myOwn.setLocalVar(exports.GLOVAR_AYUDA, ayuda);
|
|
89
|
+
},
|
|
83
90
|
leerDatos() {
|
|
84
91
|
var modoAlmacenamiento = myOwn.getLocalVar(exports.GLOVAR_MODOBYPASS);
|
|
85
92
|
if (modoAlmacenamiento == 'local') {
|
|
@@ -124,4 +131,4 @@
|
|
|
124
131
|
return createLocalStorageFormRenderer({});
|
|
125
132
|
}
|
|
126
133
|
});
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWluaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvcmVuZGVyLWluaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBNEhBLHdFQUlDO0lBTUQsNENBRUM7SUF2SUQsbURBQW1FO0lBSW5FLE1BQU0sd0JBQXdCLEdBQUcsV0FBVyxDQUFDO0lBQzdDLE1BQU0sdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7SUFDeEQsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztJQUM5QyxNQUFNLHdCQUF3QixHQUFHLFNBQVMsQ0FBQztJQUM5QixRQUFBLGtCQUFrQixHQUFHLGFBQWEsQ0FBQztJQUNuQyxRQUFBLGlCQUFpQixHQUFHLFlBQVksQ0FBQztJQUNqQyxRQUFBLGlCQUFpQixHQUFHLFlBQVksQ0FBQztJQUNqQyxRQUFBLEtBQUssR0FBRyxPQUFPLENBQUM7SUFDaEIsUUFBQSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztJQUVyRCx1RUFBdUU7SUFDdkUsd0VBQXdFO0lBQ3hFLE1BQU0sa0JBQWtCLEdBQUc7UUFDdkIsWUFBWTtZQUNSLE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxZQUFZLENBQUMsS0FBVTtZQUNuQixLQUFLLENBQUMsV0FBVyxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxvQkFBb0I7WUFDaEIsT0FBTyxLQUFLLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELG9CQUFvQixDQUFDLEtBQWE7WUFDOUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBRUQsa0JBQWtCO1lBQ2QsT0FBTyxLQUFLLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVELGtCQUFrQixDQUFDLE9BQWU7WUFDOUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBRUQsU0FBUztZQUNMLE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxTQUFTLENBQUMsSUFBWTtZQUNsQixLQUFLLENBQUMsV0FBVyxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFFRCxnQkFBZ0I7WUFDWixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM3QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLHlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO1lBRTFELElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNkLDBFQUEwRTtnQkFDMUUsSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDL0IsS0FBSyxDQUFDLFdBQVcsQ0FBQyx5QkFBaUIsa0NBQU8sTUFBTSxLQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFHLENBQUM7Z0JBQzVFLENBQUM7Z0JBQ0QsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLENBQUM7WUFFRCxnRUFBZ0U7WUFDaEUsT0FBTyxNQUFNLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQztRQUNoQyxDQUFDO1FBRUQsbUJBQW1CO1lBQ2YsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDN0MsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyx5QkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUUxRCxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDckMsS0FBSyxDQUFDLFdBQVcsQ0FBQyx5QkFBaUIsa0NBQU8sTUFBTSxLQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxJQUFHLENBQUM7Z0JBQ2xGLENBQUM7Z0JBQ0QsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDO1lBQzFCLENBQUM7WUFFRCxPQUFPLE1BQU0sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDO1FBQ25DLENBQUM7UUFFRCxjQUFjO1lBQ1YsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMseUJBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxtQkFBbUIsQ0FBQyxVQUFzQjtZQUN0QyxLQUFLLENBQUMsV0FBVyxDQUFDLHlCQUFpQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzdCLENBQUM7UUFFRCxTQUFTO1lBQ0wsSUFBSSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLHlCQUFpQixDQUF1QixDQUFDO1lBRXBGLElBQUksa0JBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLDBCQUFrQixDQUFDLENBQUMsQ0FBQztZQUNsRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsMEJBQWtCLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7UUFDTCxDQUFDO1FBRUQsY0FBYyxDQUFDLEtBQThCO1lBQ3pDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxHQUFHLEtBQUssQ0FBQztZQUNuQyxJQUFJLGtCQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNoQyxLQUFLLENBQUMsV0FBVyxDQUFDLDBCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2pELENBQUM7aUJBQU0sQ0FBQztnQkFDSixLQUFLLENBQUMsYUFBYSxDQUFDLDBCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ25ELENBQUM7WUFDRCxLQUFLLENBQUMsV0FBVyxDQUFDLHlCQUFpQixFQUFFLGtCQUFrQixDQUFDLENBQUM7WUFDekQsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0IsQ0FBQztRQUNELFFBQVE7WUFDSixVQUFVLENBQUMsR0FBRSxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsWUFBWSxDQUFDLENBQUM7Z0JBQ25GLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QixDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUE7WUFDTixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QixDQUFDO0tBRUosQ0FBQztJQUVGOzs7O09BSUc7SUFDSCxTQUFnQiw4QkFBOEIsQ0FDMUMsYUFBdUQ7UUFFdkQsT0FBTyxJQUFBLGtDQUFrQixrQ0FBTSxrQkFBa0IsR0FBSyxhQUFhLEVBQUcsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBZ0IsZ0JBQWdCO1FBQzVCLE9BQU8sOEJBQThCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdvdG9Db25zaXN0aXIgfSBmcm9tIFwiLi9yZWR1eC1mb3JtdWxhcmlvXCI7XG5pbXBvcnQgeyBjcmVhdGVGb3JtUmVuZGVyZXIsIEZvcm1SZW5kZXJlciB9IGZyb20gXCIuL3JlbmRlci1jb25maWdcIjtcbmltcG9ydCB7IERhdG9zQnlQYXNzUGVyc2lzdGlibGVzLCBNb2RvRE0sIEVzdHJ1Y3R1cmEsIE1vZG9BbG1hY2VuYW1pZW50byB9IGZyb20gXCIuL3RpcG9zXCI7XG5cblxuY29uc3QgTE9DQUxfU1RPUkFHRV9TVEFURV9OQU1FID0gJ2hkci1zdGF0ZSc7XG5jb25zdCBMQVNUX0FVVE9fVkFMVUVfUEtfUkFJWiA9ICdwcm94aW1vX3ZhbG9yX3BrX3JhaXonO1xuY29uc3QgQVBQX0NBQ0hFX1ZFUlNJT04gPSAnYXBwLWNhY2hlLXZlcnNpb24nO1xuY29uc3QgTU9ET19ETV9MT0NBTFNUT1JBR0VfS0VZID0gJ21vZG9fZG0nO1xuZXhwb3J0IGNvbnN0IEdMT1ZBUl9EQVRPU0JZUEFTUyA9ICdkYXRvc2J5cGFzcyc7XG5leHBvcnQgY29uc3QgR0xPVkFSX01PRE9CWVBBU1MgPSAnbW9kb2J5cGFzcyc7XG5leHBvcnQgY29uc3QgR0xPVkFSX0VTVFJVQ1RVUkEgPSAnZXN0cnVjdHVyYSc7XG5leHBvcnQgY29uc3QgU0VUVVAgPSAnc2V0dXAnO1xuZXhwb3J0IGNvbnN0IExBU1RfTE9HR0VEX1NFVFVQID0gJ2xhc3RfbG9nZ2VkX3NldHVwJztcblxuLy8gQ29uZmlndXJhY2nDs24gZGUgYWxtYWNlbmFtaWVudG8gbG9jYWwgKGxvY2FsU3RvcmFnZS9zZXNzaW9uU3RvcmFnZSkuXG4vLyBFcyBsYSBjb25maWd1cmFjacOzbiByZWNvbWVuZGFkYSBwb3IgZGVmZWN0byBwYXJhIGVsIHJlbmRlcmVyIG9mZmxpbmUuXG5jb25zdCBsb2NhbFN0b3JhZ2VDb25maWcgPSB7XG4gICAgZ2V0Q2Fzb1N0YXRlKCkge1xuICAgICAgICByZXR1cm4gbXlPd24uZ2V0TG9jYWxWYXIoTE9DQUxfU1RPUkFHRV9TVEFURV9OQU1FKTtcbiAgICB9LFxuXG4gICAgc2V0Q2Fzb1N0YXRlKHN0YXRlOiBhbnkpIHtcbiAgICAgICAgbXlPd24uc2V0TG9jYWxWYXIoTE9DQUxfU1RPUkFHRV9TVEFURV9OQU1FLCBzdGF0ZSk7XG4gICAgfSxcblxuICAgIGdldFVsdGltb1ZhbG9yUGtSYWl6KCkge1xuICAgICAgICByZXR1cm4gbXlPd24uZ2V0TG9jYWxWYXIoTEFTVF9BVVRPX1ZBTFVFX1BLX1JBSVopO1xuICAgIH0sXG5cbiAgICBzZXRVbHRpbW9WYWxvclBrUmFpeih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIG15T3duLnNldExvY2FsVmFyKExBU1RfQVVUT19WQUxVRV9QS19SQUlaLCB2YWx1ZSk7XG4gICAgfSxcblxuICAgIGdldEFwcENhY2hlVmVyc2lvbigpIHtcbiAgICAgICAgcmV0dXJuIG15T3duLmdldExvY2FsVmFyKEFQUF9DQUNIRV9WRVJTSU9OKTtcbiAgICB9LFxuXG4gICAgc2V0QXBwQ2FjaGVWZXJzaW9uKHZlcnNpb246IHN0cmluZykge1xuICAgICAgICBteU93bi5zZXRMb2NhbFZhcihBUFBfQ0FDSEVfVkVSU0lPTiwgdmVyc2lvbik7XG4gICAgfSxcbiAgICBcbiAgICBnZXRNb2RvRE0oKSB7XG4gICAgICAgIHJldHVybiBteU93bi5nZXRMb2NhbFZhcihNT0RPX0RNX0xPQ0FMU1RPUkFHRV9LRVkpO1xuICAgIH0sXG4gICAgXG4gICAgc2V0TW9kb0RNKG1vZG86IE1vZG9ETSkge1xuICAgICAgICBteU93bi5zZXRMb2NhbFZhcihNT0RPX0RNX0xPQ0FMU1RPUkFHRV9LRVksIG1vZG8pO1xuICAgIH0sXG5cbiAgICBnZXRJZHBlckxvZ3VlYWRvKCkge1xuICAgICAgICBjb25zdCBzZXR1cCA9IG15T3duLmdldExvY2FsVmFyKFNFVFVQKSB8fCB7fTtcbiAgICAgICAgY29uc3QgYmFja3VwID0gbXlPd24uZ2V0TG9jYWxWYXIoTEFTVF9MT0dHRURfU0VUVVApIHx8IHt9O1xuXG4gICAgICAgIGlmIChzZXR1cC5pZHBlcikge1xuICAgICAgICAgICAgLy8gU2kgZWwgc2V0dXAgZXN0w6Egc2Fubywgbm9zIGFzZWd1cmFtb3MgZGUgcXVlIGVsIGJhY2t1cCBlc3TDqSBhY3R1YWxpemFkb1xuICAgICAgICAgICAgaWYgKGJhY2t1cC5pZHBlciAhPT0gc2V0dXAuaWRwZXIpIHtcbiAgICAgICAgICAgICAgICBteU93bi5zZXRMb2NhbFZhcihMQVNUX0xPR0dFRF9TRVRVUCwgeyAuLi5iYWNrdXAsIGlkcGVyOiBzZXR1cC5pZHBlciB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzZXR1cC5pZHBlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNpIHBlcmRpbW9zIGxhIGNvb2tpZSB5IGVsIHNldHVwIHZpbm8gdmFjw61vLCB1c2Ftb3MgZWwgYmFja3VwXG4gICAgICAgIHJldHVybiBiYWNrdXAuaWRwZXIgfHwgbnVsbDtcbiAgICB9LFxuXG4gICAgZ2V0VXNlcm5hbWVMb2d1ZWFkbygpIHtcbiAgICAgICAgY29uc3Qgc2V0dXAgPSBteU93bi5nZXRMb2NhbFZhcihTRVRVUCkgfHwge307XG4gICAgICAgIGNvbnN0IGJhY2t1cCA9IG15T3duLmdldExvY2FsVmFyKExBU1RfTE9HR0VEX1NFVFVQKSB8fCB7fTtcblxuICAgICAgICBpZiAoc2V0dXAudXNlcm5hbWUpIHtcbiAgICAgICAgICAgIGlmIChiYWNrdXAudXNlcm5hbWUgIT09IHNldHVwLnVzZXJuYW1lKSB7XG4gICAgICAgICAgICAgICAgbXlPd24uc2V0TG9jYWxWYXIoTEFTVF9MT0dHRURfU0VUVVAsIHsgLi4uYmFja3VwLCB1c2VybmFtZTogc2V0dXAudXNlcm5hbWUgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc2V0dXAudXNlcm5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYmFja3VwLnVzZXJuYW1lIHx8IG51bGw7XG4gICAgfSxcblxuICAgIGxlZXJFc3RydWN0dXJhKCk6IFByb21pc2U8RXN0cnVjdHVyYSB8IG51bGw+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShteU93bi5nZXRMb2NhbFZhcihHTE9WQVJfRVNUUlVDVFVSQSkpO1xuICAgIH0sXG4gICAgXG4gICAgcGVyc2lzdGlyRXN0cnVjdHVyYShlc3RydWN0dXJhOiBFc3RydWN0dXJhKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIG15T3duLnNldExvY2FsVmFyKEdMT1ZBUl9FU1RSVUNUVVJBLCBlc3RydWN0dXJhKTtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH0sXG5cbiAgICBsZWVyRGF0b3MoKTogUHJvbWlzZTxEYXRvc0J5UGFzc1BlcnNpc3RpYmxlcyB8IG51bGw+IHtcbiAgICAgICAgdmFyIG1vZG9BbG1hY2VuYW1pZW50byA9IG15T3duLmdldExvY2FsVmFyKEdMT1ZBUl9NT0RPQllQQVNTKSBhcyBNb2RvQWxtYWNlbmFtaWVudG87XG4gICAgICAgIFxuICAgICAgICBpZiAobW9kb0FsbWFjZW5hbWllbnRvID09ICdsb2NhbCcpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobXlPd24uZ2V0TG9jYWxWYXIoR0xPVkFSX0RBVE9TQllQQVNTKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG15T3duLmdldFNlc3Npb25WYXIoR0xPVkFSX0RBVE9TQllQQVNTKSk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgcGVyc2lzdGlyRGF0b3MoZGF0b3M6IERhdG9zQnlQYXNzUGVyc2lzdGlibGVzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHZhciB7IG1vZG9BbG1hY2VuYW1pZW50byB9ID0gZGF0b3M7XG4gICAgICAgIGlmIChtb2RvQWxtYWNlbmFtaWVudG8gPT0gJ2xvY2FsJykge1xuICAgICAgICAgICAgbXlPd24uc2V0TG9jYWxWYXIoR0xPVkFSX0RBVE9TQllQQVNTLCBkYXRvcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBteU93bi5zZXRTZXNzaW9uVmFyKEdMT1ZBUl9EQVRPU0JZUEFTUywgZGF0b3MpO1xuICAgICAgICB9XG4gICAgICAgIG15T3duLnNldExvY2FsVmFyKEdMT1ZBUl9NT0RPQllQQVNTLCBtb2RvQWxtYWNlbmFtaWVudG8pO1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfSxcbiAgICBvbkxvZ291dCgpOiBQcm9taXNlPHZvaWQ+e1xuICAgICAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICAgICBoaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLCAnJywgYCR7bG9jYXRpb24ub3JpZ2luICsgbG9jYXRpb24ucGF0aG5hbWV9Ly4uL2xvZ291dGApO1xuICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgIH0sMTAwKVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuICAgIFxufTtcblxuLyoqXG4gKiBDcmVhIHVuIEZvcm1SZW5kZXJlciBjb24gYWxtYWNlbmFtaWVudG8gZW4gbG9jYWxTdG9yYWdlL3Nlc3Npb25TdG9yYWdlLlxuICogRXMgbGEgY29uZmlndXJhY2nDs24gcmVjb21lbmRhZGEgcG9yIGRlZmVjdG8gcGFyYSBlbCBtb2RvIG9mZmxpbmUuXG4gKiBTZSBwdWVkZSBzb2JyZWVzY3JpYmlyIGN1YWxxdWllciBtw6l0b2RvIG1lZGlhbnRlIHBhcnRpYWxDb25maWcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb2NhbFN0b3JhZ2VGb3JtUmVuZGVyZXIoXG4gICAgcGFydGlhbENvbmZpZzogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlRm9ybVJlbmRlcmVyPlswXVxuKTogRm9ybVJlbmRlcmVyIHtcbiAgICByZXR1cm4gY3JlYXRlRm9ybVJlbmRlcmVyKHsgLi4ubG9jYWxTdG9yYWdlQ29uZmlnLCAuLi5wYXJ0aWFsQ29uZmlnIH0pO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzYXIgY3JlYXRlTG9jYWxTdG9yYWdlRm9ybVJlbmRlcmVyIGVuIHN1IGx1Z2FyLlxuICogU2UgbWFudGllbmUgcG9yIGNvbXBhdGliaWxpZGFkIG1pZW50cmFzIHNlIG1pZ3JhbiBsb3MgY29uc3VtaWRvcmVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdEZvcm1SZW5kZXJlcigpIHtcbiAgICByZXR1cm4gY3JlYXRlTG9jYWxTdG9yYWdlRm9ybVJlbmRlcmVyKHt9KTtcbn0iXX0=
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWluaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvcmVuZGVyLWluaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBcUlBLHdFQUlDO0lBTUQsNENBRUM7SUFoSkQsbURBQW1FO0lBSW5FLE1BQU0sd0JBQXdCLEdBQUcsV0FBVyxDQUFDO0lBQzdDLE1BQU0sdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7SUFDeEQsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztJQUM5QyxNQUFNLHdCQUF3QixHQUFHLFNBQVMsQ0FBQztJQUM5QixRQUFBLGtCQUFrQixHQUFHLGFBQWEsQ0FBQztJQUNuQyxRQUFBLGlCQUFpQixHQUFHLFlBQVksQ0FBQztJQUNqQyxRQUFBLGlCQUFpQixHQUFHLFlBQVksQ0FBQztJQUNqQyxRQUFBLFlBQVksR0FBRyxPQUFPLENBQUM7SUFDdkIsUUFBQSxLQUFLLEdBQUcsT0FBTyxDQUFDO0lBQ2hCLFFBQUEsaUJBQWlCLEdBQUcsbUJBQW1CLENBQUM7SUFFckQsdUVBQXVFO0lBQ3ZFLHdFQUF3RTtJQUN4RSxNQUFNLGtCQUFrQixHQUFHO1FBQ3ZCLFlBQVk7WUFDUixPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBRUQsWUFBWSxDQUFDLEtBQVU7WUFDbkIsS0FBSyxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBRUQsb0JBQW9CO1lBQ2hCLE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFFRCxvQkFBb0IsQ0FBQyxLQUFhO1lBQzlCLEtBQUssQ0FBQyxXQUFXLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELGtCQUFrQjtZQUNkLE9BQU8sS0FBSyxDQUFDLFdB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WUFDcEUsQ0FBQztRQUNMLENBQUM7UUFFRCxjQUFjLENBQUMsS0FBOEI7WUFDekMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLEdBQUcsS0FBSyxDQUFDO1lBQ25DLElBQUksa0JBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ2hDLEtBQUssQ0FBQyxXQUFXLENBQUMsMEJBQWtCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDakQsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLEtBQUssQ0FBQyxhQUFhLENBQUMsMEJBQWtCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbkQsQ0FBQztZQUNELEtBQUssQ0FBQyxXQUFXLENBQUMseUJBQWlCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztZQUN6RCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QixDQUFDO1FBQ0QsUUFBUTtZQUNKLFVBQVUsQ0FBQyxHQUFFLEVBQUU7Z0JBQ1gsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsUUFBUSxZQUFZLENBQUMsQ0FBQztnQkFDbkYsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3RCLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQTtZQUNOLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzdCLENBQUM7S0FFSixDQUFDO0lBRUY7Ozs7T0FJRztJQUNILFNBQWdCLDhCQUE4QixDQUMxQyxhQUF1RDtRQUV2RCxPQUFPLElBQUEsa0NBQWtCLGtDQUFNLGtCQUFrQixHQUFLLGFBQWEsRUFBRyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFnQixnQkFBZ0I7UUFDNUIsT0FBTyw4QkFBOEIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ290b0NvbnNpc3RpciB9IGZyb20gXCIuL3JlZHV4LWZvcm11bGFyaW9cIjtcbmltcG9ydCB7IGNyZWF0ZUZvcm1SZW5kZXJlciwgRm9ybVJlbmRlcmVyIH0gZnJvbSBcIi4vcmVuZGVyLWNvbmZpZ1wiO1xuaW1wb3J0IHsgRGF0b3NCeVBhc3NQZXJzaXN0aWJsZXMsIE1vZG9ETSwgRXN0cnVjdHVyYSwgTW9kb0FsbWFjZW5hbWllbnRvLCBBeXVkYVBhcmFVc3VhcmlvIH0gZnJvbSBcIi4vdGlwb3NcIjtcblxuXG5jb25zdCBMT0NBTF9TVE9SQUdFX1NUQVRFX05BTUUgPSAnaGRyLXN0YXRlJztcbmNvbnN0IExBU1RfQVVUT19WQUxVRV9QS19SQUlaID0gJ3Byb3hpbW9fdmFsb3JfcGtfcmFpeic7XG5jb25zdCBBUFBfQ0FDSEVfVkVSU0lPTiA9ICdhcHAtY2FjaGUtdmVyc2lvbic7XG5jb25zdCBNT0RPX0RNX0xPQ0FMU1RPUkFHRV9LRVkgPSAnbW9kb19kbSc7XG5leHBvcnQgY29uc3QgR0xPVkFSX0RBVE9TQllQQVNTID0gJ2RhdG9zYnlwYXNzJztcbmV4cG9ydCBjb25zdCBHTE9WQVJfTU9ET0JZUEFTUyA9ICdtb2RvYnlwYXNzJztcbmV4cG9ydCBjb25zdCBHTE9WQVJfRVNUUlVDVFVSQSA9ICdlc3RydWN0dXJhJztcbmV4cG9ydCBjb25zdCBHTE9WQVJfQVlVREEgPSAnYXl1ZGEnO1xuZXhwb3J0IGNvbnN0IFNFVFVQID0gJ3NldHVwJztcbmV4cG9ydCBjb25zdCBMQVNUX0xPR0dFRF9TRVRVUCA9ICdsYXN0X2xvZ2dlZF9zZXR1cCc7XG5cbi8vIENvbmZpZ3VyYWNpw7NuIGRlIGFsbWFjZW5hbWllbnRvIGxvY2FsIChsb2NhbFN0b3JhZ2Uvc2Vzc2lvblN0b3JhZ2UpLlxuLy8gRXMgbGEgY29uZmlndXJhY2nDs24gcmVjb21lbmRhZGEgcG9yIGRlZmVjdG8gcGFyYSBlbCByZW5kZXJlciBvZmZsaW5lLlxuY29uc3QgbG9jYWxTdG9yYWdlQ29uZmlnID0ge1xuICAgIGdldENhc29TdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIG15T3duLmdldExvY2FsVmFyKExPQ0FMX1NUT1JBR0VfU1RBVEVfTkFNRSk7XG4gICAgfSxcblxuICAgIHNldENhc29TdGF0ZShzdGF0ZTogYW55KSB7XG4gICAgICAgIG15T3duLnNldExvY2FsVmFyKExPQ0FMX1NUT1JBR0VfU1RBVEVfTkFNRSwgc3RhdGUpO1xuICAgIH0sXG5cbiAgICBnZXRVbHRpbW9WYWxvclBrUmFpeigpIHtcbiAgICAgICAgcmV0dXJuIG15T3duLmdldExvY2FsVmFyKExBU1RfQVVUT19WQUxVRV9QS19SQUlaKTtcbiAgICB9LFxuXG4gICAgc2V0VWx0aW1vVmFsb3JQa1JhaXoodmFsdWU6IHN0cmluZykge1xuICAgICAgICBteU93bi5zZXRMb2NhbFZhcihMQVNUX0FVVE9fVkFMVUVfUEtfUkFJWiwgdmFsdWUpO1xuICAgIH0sXG5cbiAgICBnZXRBcHBDYWNoZVZlcnNpb24oKSB7XG4gICAgICAgIHJldHVybiBteU93bi5nZXRMb2NhbFZhcihBUFBfQ0FDSEVfVkVSU0lPTik7XG4gICAgfSxcblxuICAgIHNldEFwcENhY2hlVmVyc2lvbih2ZXJzaW9uOiBzdHJpbmcpIHtcbiAgICAgICAgbXlPd24uc2V0TG9jYWxWYXIoQVBQX0NBQ0hFX1ZFUlNJT04sIHZlcnNpb24pO1xuICAgIH0sXG4gICAgXG4gICAgZ2V0TW9kb0RNKCkge1xuICAgICAgICByZXR1cm4gbXlPd24uZ2V0TG9jYWxWYXIoTU9ET19ETV9MT0NBTFNUT1JBR0VfS0VZKTtcbiAgICB9LFxuICAgIFxuICAgIHNldE1vZG9ETShtb2RvOiBNb2RvRE0pIHtcbiAgICAgICAgbXlPd24uc2V0TG9jYWxWYXIoTU9ET19ETV9MT0NBTFNUT1JBR0VfS0VZLCBtb2RvKTtcbiAgICB9LFxuXG4gICAgZ2V0SWRwZXJMb2d1ZWFkbygpIHtcbiAgICAgICAgY29uc3Qgc2V0dXAgPSBteU93bi5nZXRMb2NhbFZhcihTRVRVUCkgfHwge307XG4gICAgICAgIGNvbnN0IGJhY2t1cCA9IG15T3duLmdldExvY2FsVmFyKExBU1RfTE9HR0VEX1NFVFVQKSB8fCB7fTtcblxuICAgICAgICBpZiAoc2V0dXAuaWRwZXIpIHtcbiAgICAgICAgICAgIC8vIFNpIGVsIHNldHVwIGVzdMOhIHNhbm8sIG5vcyBhc2VndXJhbW9zIGRlIHF1ZSBlbCBiYWNrdXAgZXN0w6kgYWN0dWFsaXphZG9cbiAgICAgICAgICAgIGlmIChiYWNrdXAuaWRwZXIgIT09IHNldHVwLmlkcGVyKSB7XG4gICAgICAgICAgICAgICAgbXlPd24uc2V0TG9jYWxWYXIoTEFTVF9MT0dHRURfU0VUVVAsIHsgLi4uYmFja3VwLCBpZHBlcjogc2V0dXAuaWRwZXIgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc2V0dXAuaWRwZXI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTaSBwZXJkaW1vcyBsYSBjb29raWUgeSBlbCBzZXR1cCB2aW5vIHZhY8OtbywgdXNhbW9zIGVsIGJhY2t1cFxuICAgICAgICByZXR1cm4gYmFja3VwLmlkcGVyIHx8IG51bGw7XG4gICAgfSxcblxuICAgIGdldFVzZXJuYW1lTG9ndWVhZG8oKSB7XG4gICAgICAgIGNvbnN0IHNldHVwID0gbXlPd24uZ2V0TG9jYWxWYXIoU0VUVVApIHx8IHt9O1xuICAgICAgICBjb25zdCBiYWNrdXAgPSBteU93bi5nZXRMb2NhbFZhcihMQVNUX0xPR0dFRF9TRVRVUCkgfHwge307XG5cbiAgICAgICAgaWYgKHNldHVwLnVzZXJuYW1lKSB7XG4gICAgICAgICAgICBpZiAoYmFja3VwLnVzZXJuYW1lICE9PSBzZXR1cC51c2VybmFtZSkge1xuICAgICAgICAgICAgICAgIG15T3duLnNldExvY2FsVmFyKExBU1RfTE9HR0VEX1NFVFVQLCB7IC4uLmJhY2t1cCwgdXNlcm5hbWU6IHNldHVwLnVzZXJuYW1lIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHNldHVwLnVzZXJuYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGJhY2t1cC51c2VybmFtZSB8fCBudWxsO1xuICAgIH0sXG5cbiAgICBsZWVyRXN0cnVjdHVyYSgpOiBQcm9taXNlPEVzdHJ1Y3R1cmEgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobXlPd24uZ2V0TG9jYWxWYXIoR0xPVkFSX0VTVFJVQ1RVUkEpKTtcbiAgICB9LFxuICAgIFxuICAgIHBlcnNpc3RpckVzdHJ1Y3R1cmEoZXN0cnVjdHVyYTogRXN0cnVjdHVyYSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBteU93bi5zZXRMb2NhbFZhcihHTE9WQVJfRVNUUlVDVFVSQSwgZXN0cnVjdHVyYSk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9LFxuXG4gICAgbGVlckF5dWRhKCk6IEF5dWRhUGFyYVVzdWFyaW8gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIG15T3duLmdldExvY2FsVmFyKEdMT1ZBUl9BWVVEQSk7XG4gICAgfSxcblxuICAgIHBlcnNpc3RpckF5dWRhKGF5dWRhOiBBeXVkYVBhcmFVc3VhcmlvKTogdm9pZCB7XG4gICAgICAgIG15T3duLnNldExvY2FsVmFyKEdMT1ZBUl9BWVVEQSwgYXl1ZGEpO1xuICAgIH0sXG5cbiAgICBsZWVyRGF0b3MoKTogUHJvbWlzZTxEYXRvc0J5UGFzc1BlcnNpc3RpYmxlcyB8IG51bGw+IHtcbiAgICAgICAgdmFyIG1vZG9BbG1hY2VuYW1pZW50byA9IG15T3duLmdldExvY2FsVmFyKEdMT1ZBUl9NT0RPQllQQVNTKSBhcyBNb2RvQWxtYWNlbmFtaWVudG87XG4gICAgICAgIFxuICAgICAgICBpZiAobW9kb0FsbWFjZW5hbWllbnRvID09ICdsb2NhbCcpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobXlPd24uZ2V0TG9jYWxWYXIoR0xPVkFSX0RBVE9TQllQQVNTKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG15T3duLmdldFNlc3Npb25WYXIoR0xPVkFSX0RBVE9TQllQQVNTKSk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgcGVyc2lzdGlyRGF0b3MoZGF0b3M6IERhdG9zQnlQYXNzUGVyc2lzdGlibGVzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHZhciB7IG1vZG9BbG1hY2VuYW1pZW50byB9ID0gZGF0b3M7XG4gICAgICAgIGlmIChtb2RvQWxtYWNlbmFtaWVudG8gPT0gJ2xvY2FsJykge1xuICAgICAgICAgICAgbXlPd24uc2V0TG9jYWxWYXIoR0xPVkFSX0RBVE9TQllQQVNTLCBkYXRvcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBteU93bi5zZXRTZXNzaW9uVmFyKEdMT1ZBUl9EQVRPU0JZUEFTUywgZGF0b3MpO1xuICAgICAgICB9XG4gICAgICAgIG15T3duLnNldExvY2FsVmFyKEdMT1ZBUl9NT0RPQllQQVNTLCBtb2RvQWxtYWNlbmFtaWVudG8pO1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfSxcbiAgICBvbkxvZ291dCgpOiBQcm9taXNlPHZvaWQ+e1xuICAgICAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICAgICBoaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLCAnJywgYCR7bG9jYXRpb24ub3JpZ2luICsgbG9jYXRpb24ucGF0aG5hbWV9Ly4uL2xvZ291dGApO1xuICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgIH0sMTAwKVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuICAgIFxufTtcblxuLyoqXG4gKiBDcmVhIHVuIEZvcm1SZW5kZXJlciBjb24gYWxtYWNlbmFtaWVudG8gZW4gbG9jYWxTdG9yYWdlL3Nlc3Npb25TdG9yYWdlLlxuICogRXMgbGEgY29uZmlndXJhY2nDs24gcmVjb21lbmRhZGEgcG9yIGRlZmVjdG8gcGFyYSBlbCBtb2RvIG9mZmxpbmUuXG4gKiBTZSBwdWVkZSBzb2JyZWVzY3JpYmlyIGN1YWxxdWllciBtw6l0b2RvIG1lZGlhbnRlIHBhcnRpYWxDb25maWcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb2NhbFN0b3JhZ2VGb3JtUmVuZGVyZXIoXG4gICAgcGFydGlhbENvbmZpZzogUGFyYW1ldGVyczx0eXBlb2YgY3JlYXRlRm9ybVJlbmRlcmVyPlswXVxuKTogRm9ybVJlbmRlcmVyIHtcbiAgICByZXR1cm4gY3JlYXRlRm9ybVJlbmRlcmVyKHsgLi4ubG9jYWxTdG9yYWdlQ29uZmlnLCAuLi5wYXJ0aWFsQ29uZmlnIH0pO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzYXIgY3JlYXRlTG9jYWxTdG9yYWdlRm9ybVJlbmRlcmVyIGVuIHN1IGx1Z2FyLlxuICogU2UgbWFudGllbmUgcG9yIGNvbXBhdGliaWxpZGFkIG1pZW50cmFzIHNlIG1pZ3JhbiBsb3MgY29uc3VtaWRvcmVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdEZvcm1SZW5kZXJlcigpIHtcbiAgICByZXR1cm4gY3JlYXRlTG9jYWxTdG9yYWdlRm9ybVJlbmRlcmVyKHt9KTtcbn0iXX0=
|
|
@@ -299,7 +299,7 @@ export type Cargas = {
|
|
|
299
299
|
};
|
|
300
300
|
export type EstructuraRowValidator = Structure<IdVariable, Valor, IdFin>;
|
|
301
301
|
export type ModoDespliegue = 'metadatos' | 'relevamiento' | 'PDF';
|
|
302
|
-
export type PantallaNavegacion = 'hdr' | 'sincronizacion' | 'sincronizacion_requerida' | 'modo';
|
|
302
|
+
export type PantallaNavegacion = 'hdr' | 'sincronizacion' | 'sincronizacion_requerida' | 'modo' | 'ayuda';
|
|
303
303
|
export type InfoFormulario = {
|
|
304
304
|
casilleros: Formulario;
|
|
305
305
|
estructuraRowValidator: EstructuraRowValidator;
|
|
@@ -572,4 +572,22 @@ export type EstadoAccion = {
|
|
|
572
572
|
confirma: boolean;
|
|
573
573
|
};
|
|
574
574
|
export type ModoDM = 'produc' | 'capa';
|
|
575
|
+
export type ModoApp = 'RELEVAMIENTO' | 'GABINETE';
|
|
576
|
+
export type AyudaTemaParaUsuario = {
|
|
577
|
+
id: string;
|
|
578
|
+
titulo: string;
|
|
579
|
+
html: string;
|
|
580
|
+
};
|
|
581
|
+
export type AyudaOpcionMenu = {
|
|
582
|
+
ruta: string;
|
|
583
|
+
label: string;
|
|
584
|
+
tema: string | null;
|
|
585
|
+
opciones: AyudaOpcionMenu[];
|
|
586
|
+
};
|
|
587
|
+
export type AyudaParaUsuario = {
|
|
588
|
+
rol: string | null;
|
|
589
|
+
modo: ModoApp;
|
|
590
|
+
temas: AyudaTemaParaUsuario[];
|
|
591
|
+
menu: AyudaOpcionMenu[];
|
|
592
|
+
};
|
|
575
593
|
export {};
|
|
@@ -18,4 +18,4 @@
|
|
|
18
18
|
exports.iterator = LikeAr.iterator;
|
|
19
19
|
exports.empty = LikeAr.empty;
|
|
20
20
|
});
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvdGlwb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFxbEJiLG9DQUVDO0lBcmxCRCxrQ0FBa0M7SUFtbEJsQyxTQUFnQixZQUFZLENBQUMsS0FBWTtRQUNyQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFlLENBQUM7SUFDL0MsQ0FBQztJQUVVLFFBQUEsUUFBUSxHQUFtRCxNQUFNLENBQUMsUUFBUSxDQUFBO0lBQzFFLFFBQUEsS0FBSyxHQUFrRSxNQUFNLENBQUMsS0FBSyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcbmltcG9ydCB7IFN0cnVjdHVyZSwgRmVlZGJhY2sgfSBmcm9tIFwicm93LXZhbGlkYXRvclwiO1xyXG5pbXBvcnQgKiBhcyBMaWtlQXIgZnJvbSBcImxpa2UtYXJcIjtcclxuXHJcbmV4cG9ydCB0eXBlIE1vZG9BbG1hY2VuYW1pZW50byA9ICdzZXNzaW9uJyB8IC8vIGN1YW5kbyBzZWEgcGFyYSB1bmEgc29sYSBwZXN0YcOxYSwgc2UgdXNhIGVuIG1vZG8gZGlyZWN0byxcclxuICAgICdsb2NhbCcgICAgLy8gcGFyYSB0b2RvIGVsIGRpc3Bvc2l0aXZvLCBzZSB1c2EgYWwgY2FyZ2FyIGhvamFzIGRlIHJ1dGEgZW50cmVzXHJcblxyXG5leHBvcnQgdHlwZSBJZE9wY2lvbiA9IG51bWJlclxyXG5leHBvcnQgdHlwZSBJZE9wZXJhdGl2byA9ICdldG9pMjExJyB8ICdlYWgyMDIyJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkVmFyaWFibGUgPSAndjEnIHwgJ3YyJyB8ICd2MycgfCAnZXRjLi4uJyB8ICd2ZG9taW5pbycgfCAnJHAwJ1xyXG5leHBvcnQgdHlwZSBJZFByZWd1bnRhID0gJ1AxJyB8ICdQMicgfCAnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZEJsb3F1ZSA9ICdCMScgfCAnQjInIHwgJ2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRGb3JtdWxhcmlvID0gJ0YxJyB8ICdGMicgfCAnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZFVuaWRhZEFuYWxpc2lzID0gJ3ZpdmllbmRhcycgfCAnaG9nYXJlcycgfCAncGVyc29uYXMnXHJcbmV4cG9ydCB0eXBlIElkQm90b25Gb3JtdWxhcmlvID0gJ0JGOkYxJyB8ICdCRjpGMicgfCAnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZENvbnNpc3RlbmNpYSA9ICdDT05TMScgfCAnQ09OUzInIHwgJ2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRUZXh0byA9ICdEMzBfUkVGJyB8ICdNRVNfUkVGJyB8ICdTRU1fUkVGJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkQ29tb2RpbiA9ICdEMzBfUkVGJyB8ICdNRVNfUkVGJyB8ICdTRU1fUkVGJyB8ICdTRU1fTlVNJyB8ICdyZXNwczEnIHwgJ3BhcmVudHMxJyB8ICdyZXNwaTEnIHwgJ3BhcmVudGkxJyB8ICduamVmZScgfCAnZnJlYWxpeicgfCAnY2FudF9ob2dhcmVzJ1xyXG5leHBvcnQgdHlwZSBJZEZpbHRybyA9ICdGSUxUUk8xJyB8ICdGSUxUUk8yJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkQ2FzaWxsZXJvID0gSWRWYXJpYWJsZSB8IElkUHJlZ3VudGEgfCBJZEJsb3F1ZSB8IElkRm9ybXVsYXJpbyB8IElkRmlsdHJvIHwgSWRPcGNpb25cclxuZXhwb3J0IHR5cGUgSWRGaW4gPSAnZmluJzsgLy8gbmV2ZXIgLy8gVE9ETzogcG9kZXIgcG9uZXIgJ0ZJTidcclxuZXhwb3J0IHR5cGUgSWREZXN0aW5vID0gSWRQcmVndW50YSB8IElkQmxvcXVlIHwgSWRGaW4gfCBJZEZpbHRyb1xyXG5leHBvcnQgdHlwZSBWYWxvciA9IHN0cmluZyB8IG51bWJlciB8IG51bGw7XHJcbmV4cG9ydCB0eXBlIFRpcG9jRGVzdGlub3MgPSAnUCcgfCAnQ1AnIHwgJ0InIHwgJ0ZJTFRSTycgfCAnQkYnXHJcbmV4cG9ydCB0eXBlIFRpcG9jID0gVGlwb2NEZXN0aW5vcyB8ICdGJyB8ICdPJyB8ICdPTScgfCAnQ09OUycgfCAnVEVYVE8nIHwgJ0xJQlJFJyB8ICdQTUFUUklaJ1xyXG5cclxuZXhwb3J0IHR5cGUgRXNwZWNpYWwgPSB7XHJcbiAgICBncHM/OiBib29sZWFuXHJcbiAgICBub1Njcm9sbD86IGJvb2xlYW5cclxuICAgIHNjcm9sbFRvPzogSWRWYXJpYWJsZSB8IElkRmluXHJcbiAgICBhdXRvaW5nPzogc3RyaW5nXHJcbiAgICBmbGV4RGlyZWN0aW9uPzogJ3JvdycgfCAnY29sdW1uJyB8ICdyb3ctcmV2ZXJzZScgfCAnY29sdW1uLXJldmVyc2UnXHJcbiAgICBjYW1wb3NSZXN1bWVuPzogc3RyaW5nW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWRUYXJlYSA9ICdlbmN1JyB8ICdyZWN1JyB8ICdzdXBlJyB8ICdpbmdyJztcclxuXHJcbmV4cG9ydCB0eXBlIEZlZWRiYWNrVmFyaWFibGUgPSBGZWVkYmFjazxJZFZhcmlhYmxlLCBJZEZpbj5cclxuXHJcbmV4cG9ydCB0eXBlIFRpcG9WYXJpYWJsZXMgPSAndGV4dG8nIHwgJ251bWVybycgfCAnZmVjaGEnIHwgJ2hvcmFzJyB8ICdob3JhJ1xyXG5cclxuZXhwb3J0IHR5cGUgRGVzcGxpZWd1ZSA9ICdob3Jpem9udGFsJyB8ICdvY3VsdGEnXHJcblxyXG5leHBvcnQgdHlwZSBDYXNpbGxlcm9CYXNlID0ge1xyXG4gICAgaWRfY2FzaWxsZXJvPzogc3RyaW5nXHJcbiAgICB0aXBvYzogVGlwb2NcclxuICAgIGNhc2lsbGVybzogSWRDYXNpbGxlcm9cclxuICAgIG5vbWJyZTogc3RyaW5nXHJcbiAgICBzYWx0bzogSWREZXN0aW5vIHwgSWRGaW4gfCBudWxsXHJcbiAgICBzYWx0b19uc19uYz86IElkRGVzdGlubyB8IElkRmluIHwgbnVsbFxyXG4gICAgdmVyX2lkOiBzdHJpbmcgfCBudWxsXHJcbiAgICBkZXNwbGllZ3VlRW5jYWJlemFkbzogJ2xhdGVyYWwnIHwgJ3N1cGVyaW9yJyB8IG51bGxcclxuICAgIGRlc3BsaWVndWVDb250ZW5pZG86ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgfCBudWxsXHJcbiAgICBkZXNwbGllZ3VlVGlwb0lucHV0OiAndGVsJyB8IG51bGxcclxuICAgIGRlc3BsaWVndWVPY3VsdGE6IGJvb2xlYW4gfCBudWxsXHJcbiAgICBsZWVyOiBib29sZWFuIHwgbnVsbFxyXG4gICAgYWNsYXJhY2lvbjogc3RyaW5nIHwgbnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86IElkVmFyaWFibGUgfCBudWxsXHJcbiAgICB2YXJfbmFtZT86IElkVmFyaWFibGUgfCBudWxsXHJcbiAgICB2YXJfbmFtZV9lc3BlY2lhbD86IHN0cmluZyB8IG51bGxcclxuICAgIHRpcG92YXI/OiBUaXBvVmFyaWFibGVzIHwgJ29wY2lvbmVzJyB8ICdzaV9ubycgfCBudWxsXHJcbiAgICBjYXNpbGxlcm9zPzogQ2FzaWxsZXJvc0ltcGxlbWVudGFkb3NbXSB8IG51bGxcclxuICAgIGV4cHJlc2lvbl9oYWJpbGl0YXI/OiBzdHJpbmdcclxuICAgIGV4cHJlc2lvbl9oYWJpbGl0YXJfanM/OiBzdHJpbmdcclxuICAgIGV4cHJlc2lvbl9hdXRvaW5ncmVzYXI/OiBzdHJpbmdcclxuICAgIGV4cHJlc2lvbl9hdXRvaW5ncmVzYXJfanM/OiBzdHJpbmdcclxuICAgIGVzcGVjaWFsPzogRXNwZWNpYWxcclxuICAgIGNhbGN1bGFkYT86IGJvb2xlYW4gfCBudWxsXHJcbiAgICBvcHRhdGl2bz86IGJvb2xlYW4gfCBudWxsXHJcbiAgICBsaWJyZT86IGJvb2xlYW4gfCBudWxsXHJcbiAgICB2YWxvcl9uc19uYz86IGFueVxyXG4gICAgZGVzcGxpZWd1ZT86IHN0cmluZyB8IG51bGxcclxuICAgIGxvbmdpdHVkPzogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9wY2lvbiA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ08nXHJcbiAgICBjYXNpbGxlcm86IElkT3BjaW9uXHJcbiAgICBjYXNpbGxlcm9zOiBQcmVndW50YVNpbXBsZVtdXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzogbnVsbFxyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9wY2lvblNpID0gT3BjaW9uICYge1xyXG4gICAgY2FzaWxsZXJvOiAxXHJcbiAgICBub21icmU6ICdTw60nXHJcbiAgICBjYXNpbGxlcm9zOiBQcmVndW50YVNpbXBsZVtdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9wY2lvbk5vID0gT3BjaW9uICYge1xyXG4gICAgY2FzaWxsZXJvOiAyXHJcbiAgICBub21icmU6ICdObydcclxuICAgIGNhc2lsbGVyb3M6IFByZWd1bnRhU2ltcGxlW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3BjaW9uTXVsdGlwbGUgPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdPTSdcclxuICAgIHRpcG92YXI6ICdvcGNpb25lcydcclxuICAgIHZhcl9uYW1lOiBJZFZhcmlhYmxlXHJcbiAgICBjYXNpbGxlcm9zOiBbT3BjaW9uU2ksIE9wY2lvbk5vXVxyXG4gICAgY2FsY3VsYWRhPzogYm9vbGVhblxyXG4gICAgbGlicmU/OiBib29sZWFuXHJcbiAgICB2YWxvcl9uc19uYzogYW55XHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJlZ3VudGFCYXNlID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnUCdcclxuICAgIG9wdGF0aXZvOiBib29sZWFuIHwgbnVsbFxyXG4gICAgY2FzaWxsZXJvOiBJZFByZWd1bnRhXHJcbiAgICBjYWxjdWxhZGE6IGJvb2xlYW4gfCBudWxsXHJcbiAgICBsaWJyZTogYm9vbGVhbiB8IG51bGxcclxuICAgIHZhbG9yX25zX25jOiBhbnlcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJlZ3VudGFTaW1wbGUgPSBQcmVndW50YUJhc2UgJiB7XHJcbiAgICB0aXBvdmFyOiBUaXBvVmFyaWFibGVzXHJcbiAgICB2YXJfbmFtZTogSWRWYXJpYWJsZVxyXG4gICAgbG9uZ2l0dWQ6IHN0cmluZ1xyXG4gICAgc2FsdG9fbnNfbmM6IElkRGVzdGlubyB8IElkRmluIHwgbnVsbFxyXG4gICAgY2FzaWxsZXJvczogUHJlZ3VudGFTaW1wbGVbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YUNvblNpTm8gPSBQcmVndW50YUJhc2UgJiB7XHJcbiAgICB0aXBvdmFyOiAnc2lfbm8nXHJcbiAgICB2YXJfbmFtZTogSWRWYXJpYWJsZVxyXG4gICAgc2FsdG9fbnNfbmM6IElkRGVzdGlubyB8IElkRmluIHwgbnVsbFxyXG4gICAgY2FzaWxsZXJvczogW09wY2lvblNpLCBPcGNpb25Ob11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJlZ3VudGFDb25PcGNpb25lcyA9IFByZWd1bnRhQmFzZSAmIHtcclxuICAgIHRpcG92YXI6ICdvcGNpb25lcydcclxuICAgIHZhcl9uYW1lOiBJZFZhcmlhYmxlXHJcbiAgICBzYWx0b19uc19uYzogSWREZXN0aW5vIHwgSWRGaW4gfCBudWxsXHJcbiAgICBjYXNpbGxlcm9zOiBPcGNpb25bXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YUNvbk9wY2lvbmVzTXVsdGlwbGVzID0gUHJlZ3VudGFCYXNlICYge1xyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgY2FzaWxsZXJvczogT3BjaW9uTXVsdGlwbGVbXVxyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByZWd1bnRhID0gUHJlZ3VudGFTaW1wbGUgfCBQcmVndW50YUNvblNpTm8gfCBQcmVndW50YUNvbk9wY2lvbmVzIHwgUHJlZ3VudGFDb25PcGNpb25lc011bHRpcGxlc1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uanVudG9QcmVndW50YXMgPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdDUCdcclxuICAgIGNhc2lsbGVybzogSWRQcmVndW50YVxyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgY2FzaWxsZXJvczogUHJlZ3VudGFbXVxyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuXHJcbi8qXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnRlbmlkbyBleHRlbmRzIENhc2lsbGVyb0Jhc2Uge1xyXG4gICAgY2FzaWxsZXJvczpJQ29udGVuaWRvW11cclxufVxyXG4qL1xyXG5cclxuZXhwb3J0IHR5cGUgRmlsdHJvID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnRklMVFJPJ1xyXG4gICAgY2FzaWxsZXJvOiBJZEZpbHRyb1xyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86IG51bGxcclxuICAgIGNhbGN1bGFkYT86IG51bGxcclxuICAgIGxpYnJlPzogbnVsbFxyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbnRlbmlkb0Zvcm11bGFyaW8gPSBCbG9xdWUgfCBQcmVndW50YSB8IENvbmp1bnRvUHJlZ3VudGFzIHwgRmlsdHJvIHwgQm90b25Gb3JtdWxhcmlvIHwgQ29uc2lzdGVuY2lhIHwgVGV4dG9cclxuXHJcbmV4cG9ydCB0eXBlIEJsb3F1ZSA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ0InXHJcbiAgICBjYXNpbGxlcm86IElkQmxvcXVlXHJcbiAgICBjYXNpbGxlcm9zOiBDb250ZW5pZG9Gb3JtdWxhcmlvW11cclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIHVuaWRhZF9hbmFsaXNpcz86IElkVW5pZGFkQW5hbGlzaXNcclxuICAgIHNhbHRvX25zX25jPzogbnVsbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDb25zaXN0ZW5jaWEgPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdDT05TJ1xyXG4gICAgY2FzaWxsZXJvOiBJZENvbnNpc3RlbmNpYVxyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86IG51bGxcclxuICAgIHNhbHRvX25zX25jPzogbnVsbFxyXG59XHJcbmV4cG9ydCB0eXBlIFRleHRvID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnVEVYVE8nXHJcbiAgICBjYXNpbGxlcm86IElkVGV4dG9cclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIHByaW1lcmFfdmFyaWFibGU/OiBudWxsXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5leHBvcnQgdHlwZSBMaWJyZSA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ0xJQlJFJ1xyXG4gICAgY2FzaWxsZXJvOiBJZFRleHRvXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzogbnVsbFxyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuZXhwb3J0IHR5cGUgQm90b25Gb3JtdWxhcmlvID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnQkYnXHJcbiAgICBjYXNpbGxlcm86IElkQm90b25Gb3JtdWxhcmlvXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzogSWRWYXJpYWJsZSB8IG51bGxcclxuICAgIHZhcl9uYW1lc19CRj86IElkVmFyaWFibGVbXVxyXG4gICAgbG9uZ2l0dWQ/OiBzdHJpbmdcclxuICAgIHVuaWRhZF9hbmFsaXNpcz86IElkVW5pZGFkQW5hbGlzaXNcclxuICAgIHNhbHRvX25zX25jPzogbnVsbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGb3JtdWxhcmlvID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnRidcclxuICAgIGNhc2lsbGVybzogSWRGb3JtdWxhcmlvXHJcbiAgICBmb3JtdWxhcmlvX3ByaW5jaXBhbDogYm9vbGVhblxyXG4gICAgY2FzaWxsZXJvczogQ29udGVuaWRvRm9ybXVsYXJpb1tdXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBoZXJtYW5vPzogdHJ1ZVxyXG4gICAgdW5pZGFkX2FuYWxpc2lzOiBJZFVuaWRhZEFuYWxpc2lzXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUE1hdHJpeiA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ1BNQVRSSVonXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ2FzaWxsZXJvc0ltcGxlbWVudGFkb3MgPSBGb3JtdWxhcmlvIHwgQmxvcXVlIHwgRmlsdHJvIHwgQ29uanVudG9QcmVndW50YXMgfCBQcmVndW50YSB8IE9wY2lvbk11bHRpcGxlIHwgT3BjaW9uIHwgQm90b25Gb3JtdWxhcmlvIHwgQ29uc2lzdGVuY2lhIHwgVGV4dG8gfCBMaWJyZSB8IFBNYXRyaXpcclxuXHJcbmV4cG9ydCB0eXBlIENhbXBvUGtSYWl6ID0gJ3ZpdmllbmRhJyB8ICdldGMuLi4nO1xyXG5cclxuZXhwb3J0IHR5cGUgVmFsdWVQa1JhaXogPSBJZEVuY1xyXG5cclxuZXhwb3J0IHR5cGUgRm9yUGtSYWl6ID0ge1xyXG4gICAgZm9ybXVsYXJpbzogSWRGb3JtdWxhcmlvXHJcbn0gJiB7XHJcbiAgICBbY2FtcG8gaW4gQ2FtcG9Qa1JhaXpdOiBWYWx1ZVBrUmFpelxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDYW1wb1BrID0gJ3ZpdmllbmRhJyB8ICdob2dhcicgfCAncGVyc29uYScgfCAnZXRjLi4uJztcclxuZXhwb3J0IHR5cGUgRm9yUGsgPSBGb3JQa1JhaXogJiB7XHJcbiAgICBbY2FtcG8gaW4gQ2FtcG9Qa10/OiBudW1iZXJcclxufVxyXG5leHBvcnQgdHlwZSBQbGFpbkZvclBrID0gJ3tcImZvcm11bGFyaW9cIjpcIkY6RjFcIixcInZpdmllbmRhXCI6XCIxMDIwMlwiLFwicGVyc29uYVwiOm51bGx9JyB8ICdldGMuLi4nO1xyXG5cclxuZXhwb3J0IHR5cGUgT2JqZXRvTnVtZXJhZG9PQXJyYXk8VD4gPSBUW10gfCB7IFtuIGluIG51bWJlcl06IFQgfVxyXG5cclxuZXhwb3J0IHR5cGUgUmVzcHVlc3Rhc1VuYVVBID0ge1xyXG4gICAgW3ByZWd1bnRhIGluIElkVmFyaWFibGVdOiBWYWxvclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBSZXNwdWVzdGFMYXNVQSA9IHtcclxuICAgIFt1YSBpbiBJZFVuaWRhZEFuYWxpc2lzXTogT2JqZXRvTnVtZXJhZG9PQXJyYXk8UmVzcHVlc3Rhcz5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ29kUmVhTm9SZWEgPSB7XHJcbiAgICBjb2RSZWE6IG51bWJlciB8IG51bGwsXHJcbiAgICBjb2ROb1JlYTogbnVtYmVyIHwgbnVsbCxcclxuICAgIGNvZFJlYVN1cDogbnVtYmVyIHwgbnVsbCxcclxuICAgIGNvZE5vUmVhU3VwOiBudW1iZXIgfCBudWxsLFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBSZXN1bHRhZG9SZXN1bWVuID0gQ29kUmVhTm9SZWEgJiB7XHJcbiAgICByZXN1bWVuRXN0YWRvOiBSZXN1bWVuRXN0YWRvLFxyXG4gICAgcmVzdW1lbkVzdGFkb1N1cDogUmVzdW1lbkVzdGFkbyxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUmVzcHVlc3RhcyA9IFJlc3B1ZXN0YXNVbmFVQSAmIFJlc3B1ZXN0YUxhc1VBXHJcblxyXG5leHBvcnQgdHlwZSBSZXNwdWVzdGFzUmFpeiA9IFJlc3B1ZXN0YXMgJiBSZXN1bHRhZG9SZXN1bWVuICYge1xyXG4gICAgJGRpcnR5OiBib29sZWFuXHJcbn1cclxuXHJcbi8qXHJcbiAgICBhY2xhcmFjacOzbjpcclxuICAgIHt2MToneCcsIHYyOid4JywgcGVyc29uYXM6W3twMToxLCBwMjoneH0se3AxOjIsIHAyOnh9XSwgbWFzY290YXM6W10gfVxyXG4gICAgZXN0w6EgYW5pZGFkbyBwb3IgdW5pZGFkIGRlIGFuw6FsaXNpc1xyXG4qL1xyXG5cclxuZXhwb3J0IHR5cGUgVW5pZGFkQW5hbGlzaXMgPSB7XHJcbiAgICB1bmlkYWRfYW5hbGlzaXM6IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICBwYWRyZT86IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICBwa19hZ3JlZ2FkYTogQ2FtcG9QayxcclxuICAgIHByaW5jaXBhbD86IGJvb2xlYW4sXHJcbiAgICBoaWphczogeyBbayBpbiBJZFVuaWRhZEFuYWxpc2lzXT86IFVuaWRhZEFuYWxpc2lzIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVEVNID0ge1xyXG4gICAgbm9tY2FsbGU6IHN0cmluZ1xyXG4gICAgZG9taW5pbzogbnVtYmVyXHJcbiAgICBzZWN0b3I6IHN0cmluZ1xyXG4gICAgZWRpZmljaW86IHN0cmluZ1xyXG4gICAgZW50cmFkYTogc3RyaW5nXHJcbiAgICBucm9jYXRhc3RyYWw6IHN0cmluZ1xyXG4gICAgcGlzbzogc3RyaW5nXHJcbiAgICBkZXBhcnRhbWVudG86IHN0cmluZ1xyXG4gICAgaGFiaXRhY2lvbjogc3RyaW5nXHJcbiAgICBjYXNhOiBzdHJpbmdcclxuICAgIHByaW9yaWRhZDogMSB8IDIgfCAzXHJcbiAgICBvYnNlcnZhY2lvbmVzOiBzdHJpbmdcclxuICAgIHNlbGVjY2lvbmFkbzogbnVtYmVyLFxyXG4gICAgY2l0YT86IHN0cmluZyxcclxuICAgIGNhcmdhOiBzdHJpbmcsXHJcbiAgICBzZW1hbmE/OiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUmVzdW1lbkVzdGFkbyA9ICd2YWNpbycgfCAnY29uIHByb2JsZW1hcycgfCAnaW5jb21wbGV0bycgfCAnb2snIHwgJ25vIHJlYScgfCAnY2l0YSBwYWN0YWRhJztcclxuXHJcbmV4cG9ydCB0eXBlIEluZm9UYXJlYSA9IHtcclxuICAgIHRhcmVhOiBJZFRhcmVhXHJcbiAgICBub3Rhcz86IHN0cmluZ1xyXG4gICAgZmVjaGFfYXNpZ25hY2lvbj86IERhdGVcclxuICAgIGFzaWduYWRvPzogc3RyaW5nXHJcbiAgICBtYWluX2Zvcm06IElkRm9ybXVsYXJpb1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBWaXNpdGEgPSB7XHJcbiAgICBmZWNoYTogc3RyaW5nIHwgbnVsbFxyXG4gICAgaG9yYTogc3RyaW5nIHwgbnVsbFxyXG4gICAgaWRwZXI6IHN0cmluZyB8IG51bGxcclxuICAgIG9ic2VydmFjaW9uZXM6IHN0cmluZyB8IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRGF0b3NIZHJVYVBwYWwgPSB7XHJcbiAgICB0YXJlYTogSW5mb1RhcmVhXHJcbiAgICB0ZW06IFRFTVxyXG5cclxuICAgIC8qXHJcbiAgICAgICAgYWNsYXJhY2nDs246XHJcbiAgICAgICAge3YxOid4JywgdjI6J3gnLCBwZXJzb25hczpbe3AxOjEsIHAyOid4fSx7cDE6MiwgcDI6eH1dLCBtYXNjb3RhczpbXSB9XHJcbiAgICAgICAgZXN0w6EgYW5pZGFkbyBwb3IgdW5pZGFkIGRlIGFuw6FsaXNpc1xyXG4gICAgKi9cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWRDYXJnYSA9IFwiMVwiIHwgXCIyXCIgfCBcImV0Y1wiXHJcblxyXG5leHBvcnQgdHlwZSBFc3RhZG9DYXJnYSA9ICdyZXN1bWVuJyB8ICdyZWxldmFtaWVudG8nIHwgJ3JlY2libydcclxuXHJcbmV4cG9ydCB0eXBlIENhcmdhID0ge1xyXG4gICAgZmVjaGE6IERhdGVcclxuICAgIGVzdGFkb19jYXJnYTogRXN0YWRvQ2FyZ2FcclxuICAgIG5lY2VzYXJpYXM6IG51bWJlclxyXG4gICAgb2JzZXJ2YWNpb25lczogc3RyaW5nXHJcbiAgICByZWNlcGNpb25pc3RhOiBzdHJpbmdcclxuICAgIHB1ZWRlX2F1dG9nZW5lcmFyOiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENhcmdhcyA9IHtcclxuICAgIFtpZENhcmdhIGluIElkQ2FyZ2FdOiBDYXJnYVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBFc3RydWN0dXJhUm93VmFsaWRhdG9yID0gU3RydWN0dXJlPElkVmFyaWFibGUsIFZhbG9yLCBJZEZpbj47XHJcblxyXG5leHBvcnQgdHlwZSBNb2RvRGVzcGxpZWd1ZSA9ICdtZXRhZGF0b3MnIHwgJ3JlbGV2YW1pZW50bycgfCAnUERGJ1xyXG5cclxuZXhwb3J0IHR5cGUgUGFudGFsbGFOYXZlZ2FjaW9uID0gJ2hkcicgfCAnc2luY3Jvbml6YWNpb24nIHwgJ3NpbmNyb25pemFjaW9uX3JlcXVlcmlkYScgfCAnbW9kbyc7XHJcblxyXG5leHBvcnQgdHlwZSBJbmZvRm9ybXVsYXJpbyA9IHtcclxuICAgIGNhc2lsbGVyb3M6IEZvcm11bGFyaW8sIC8vIGNhc2lsbGVyb3MgYXBsYW5hZG9zXHJcbiAgICBlc3RydWN0dXJhUm93VmFsaWRhdG9yOiBFc3RydWN0dXJhUm93VmFsaWRhdG9yIC8vIGVzdHJ1Y3R1cmEgZGUgdmFyaWFibGVzIHBhcmEgZWwgUm93VmFsaWRhdG9yXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIElkUmVzdWx0YWRvID0gJ0FWRVJJR1VBUicgfCAnVE9ETyc7XHJcbmV4cG9ydCB0eXBlIElkU2VtYW5hID0gMSB8IDIgfCAnZXRjJ1xyXG5cclxuZXhwb3J0IHR5cGUgU2VtYW5hID0ge1xyXG4gICAgb3BlcmF0aXZvOiBJZE9wZXJhdGl2bztcclxuICAgIHNlbWFuYTogbnVtYmVyO1xyXG4gICAgc2VtYW5hX3JlZmVyZW5jaWFfZGVzZGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgc2VtYW5hX3JlZmVyZW5jaWFfaGFzdGE/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgJzMwZGlhc19yZWZlcmVuY2lhX2Rlc2RlJz86IHN0cmluZyB8IG51bGw7XHJcbiAgICAnMzBkaWFzX3JlZmVyZW5jaWFfaGFzdGEnPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIG1lc19yZWZlcmVuY2lhPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIGNhcmdhX2VuY19kZXNkZT86IHN0cmluZyB8IG51bGw7XHJcbiAgICBjYXJnYV9lbmNfaGFzdGE/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgY2FyZ2FfcmVjdV9kZXNkZT86IHN0cmluZyB8IG51bGw7XHJcbiAgICBjYXJnYV9yZWN1X2hhc3RhPzogc3RyaW5nIHwgbnVsbDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFRhcmVhc0VzdHJ1Y3R1cmEgPSB7XHJcbiAgICBbaWRUYXJlYSBpbiBJZFRhcmVhXToge1xyXG4gICAgICAgIHJlc3VsdGFkb3M6IHtcclxuICAgICAgICAgICAgW2lkUmVzdWx0YWRvIGluIElkUmVzdWx0YWRvXToge1xyXG4gICAgICAgICAgICAgICAgZGVzY3JpcGNpb246IHN0cmluZ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBUaXBvQ29uZGljaW9uID0gJ25vX3JlYScgfCAnbm9fcmVhX3N1cCcgfCAncmVhJyB8ICdyZWFfc3VwJztcclxuXHJcbmV4cG9ydCB0eXBlIE5vUmVhID0ge1xyXG4gICAgb3BlcmF0aXZvOiBzdHJpbmdcclxuICAgIG5vX3JlYTogbnVtYmVyO1xyXG4gICAgZGVzY3JpcGNpb246IHN0cmluZztcclxuICAgIGdydXBvOiBzdHJpbmc7XHJcbiAgICB2YXJpYWJsZTogc3RyaW5nO1xyXG4gICAgdmFsb3I6IHN0cmluZztcclxuICAgIGdydXBvMDogc3RyaW5nO1xyXG4gICAgb3JkZW46IG51bWJlcjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE5vUmVhU3VwID0ge1xyXG4gICAgb3BlcmF0aXZvOiBzdHJpbmdcclxuICAgIG5vX3JlYV9zdXA6IG51bWJlcjtcclxuICAgIGRlc2Nfbm9yZWFfc3VwOiBzdHJpbmc7XHJcbiAgICBncnVwb19zdXA6IHN0cmluZztcclxuICAgIHZhcmlhYmxlX3N1cDogc3RyaW5nO1xyXG4gICAgdmFsb3Jfc3VwOiBzdHJpbmc7XHJcbiAgICBncnVwbzBfc3VwOiBzdHJpbmc7XHJcbiAgICBvcmRlbjogbnVtYmVyO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVhID0ge1xyXG4gICAgb3BlcmF0aXZvOiBzdHJpbmdcclxuICAgIHJlYTogbnVtYmVyO1xyXG4gICAgZGVzY3JpcGNpb246IHN0cmluZztcclxuICAgIGNvbmRpY2lvbjogc3RyaW5nO1xyXG4gICAgY29uZGljaW9uX2pzOiBzdHJpbmc7XHJcbiAgICBvcmRlbjogbnVtYmVyO1xyXG4gICAgZXNfcG9zaXRpdmE6IGJvb2xlYW47XHJcbiAgICB0YXJlYTogc3RyaW5nIHwgbnVsbDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlYVN1cCA9IHtcclxuICAgIG9wZXJhdGl2bzogc3RyaW5nXHJcbiAgICByZWFfc3VwOiBudW1iZXI7XHJcbiAgICBkZXNjcmlwY2lvbjogc3RyaW5nO1xyXG4gICAgY29uZGljaW9uOiBzdHJpbmc7XHJcbiAgICBjb25kaWNpb25fanM6IHN0cmluZztcclxuICAgIG9yZGVuOiBudW1iZXI7XHJcbiAgICBlc19wb3NpdGl2YTogYm9vbGVhbjtcclxuICAgIHRhcmVhOiBzdHJpbmcgfCBudWxsO1xyXG59O1xyXG5cclxuLy8gTWFwZW8gZGUgdGlwb3MgcGFyYSBhc29jaWFyIGVsIHN0cmluZyBkZSBsYSBjb25kaWNpw7NuIGNvbiBzdSBpbnRlcmZheiBjb3JyZXNwb25kaWVudGVcclxuZXhwb3J0IHR5cGUgTWFwZW9UaXBvSXRlbSA9IHtcclxuICAgICdyZWEnOiBSZWE7XHJcbiAgICAnbm9fcmVhJzogTm9SZWE7XHJcbiAgICAncmVhX3N1cCc6IFJlYVN1cDtcclxuICAgICdub19yZWFfc3VwJzogTm9SZWFTdXA7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBFc3RydWN0dXJhID0ge1xyXG4gICAgZm9ybXVsYXJpb3M6IHtcclxuICAgICAgICBbbm9tYnJlRm9ybXVsYXJpbyBpbiBJZEZvcm11bGFyaW9dOiBJbmZvRm9ybXVsYXJpb1xyXG4gICAgfTtcclxuICAgIHVuaWRhZGVzX2FuYWxpc2lzOiB7XHJcbiAgICAgICAgW2lkVW5pZGFkQW5hbGlzaXMgaW4gSWRVbmlkYWRBbmFsaXNpc106IFVuaWRhZEFuYWxpc2lzXHJcbiAgICB9O1xyXG4gICAgdGFyZWFzOiBUYXJlYXNFc3RydWN0dXJhO1xyXG4gICAgdWFQcGFsOiBJZFVuaWRhZEFuYWxpc2lzO1xyXG4gICAgcGtBZ3JlZ2FkYVVhUHBhbDogQ2FtcG9Qa1JhaXo7XHJcbiAgICB0aW1lc3RhbXA6IG51bWJlcjtcclxuICAgIG9wZXJhdGl2bzogSWRPcGVyYXRpdm87XHJcbiAgICBjb25maWdTb3J0ZW86IENvbmZpZ3VyYWNpb25Tb3J0ZW87XHJcbiAgICBoYWJpbGl0YWNpb25Cb3RvbkZvcm11bGFyaW86IENvbmZpZ3VyYWNpb25IYWJpbGl0YXJCb3RvbkZvcm11bGFyaW87XHJcbiAgICBjb25SZWFIb2dhcjogYm9vbGVhbjtcclxuICAgIG5vUmVhczogTm9SZWFbXTtcclxuICAgIG5vUmVhc1N1cDogTm9SZWFTdXBbXTtcclxuICAgIHJlYXM6IFJlYVtdO1xyXG4gICAgcmVhc1N1cDogUmVhU3VwW107XHJcbiAgICBzZW1hbmFzOiB7IFtpZFNlbWFuYSBpbiBJZFNlbWFuYV06IFNlbWFuYSB9O1xyXG4gICAgZGVmYXVsdEluZm9ybWFjaW9uSGRyOiBEYXRvc0hkclVhUHBhbDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIElkRW5jID0gMTMwMDMxIHwgMTMwMDMyO1xyXG5leHBvcnQgdHlwZSBJbmZvcm1hY2lvbkhkciA9IHsgW2VuYyBpbiBJZEVuY106IERhdG9zSGRyVWFQcGFsIH1cclxuXHJcbmV4cG9ydCB0eXBlIENhc29TdGF0ZSA9IHtcclxuICAgIG9wY2lvbmVzOiB7IC8vIGRhdG9zIGRlIG5hdmVnYWNpw7NuIHF1ZSBlbGlqZSBlbCB1c3VhcmlvXHJcbiAgICAgICAgZm9yUGs6IEZvclBrIHwgbnVsbCAvLyDDrW5kaWNlIGRlbnRybyBkZSBsYXMgdW5pZGFkZXMgZGUgYW7DoWxpc2lzLiBOdWxsID0gZW4gaG9qYSBkZSBydXRhXHJcbiAgICAgICAgcGlsYUZvclBrOiBGb3JQa1tdXHJcbiAgICAgICAgbW9kb0Rlc3BsaWVndWU6IE1vZG9EZXNwbGllZ3VlXHJcbiAgICAgICAgbW9kb0RpcmVjdG86IGJvb2xlYW5cclxuICAgICAgICBtb2RvQm9ycmFyUmVzcHVlc3RhOiBJZFZhcmlhYmxlIHwgbnVsbFxyXG4gICAgICAgIGNvbkNhbXBvT3BjaW9uZXM6IGJvb2xlYW5cclxuICAgICAgICBzYWx0b0F1dG9tYXRpY286IGJvb2xlYW5cclxuICAgICAgICBwYW50YWxsYUFjdHVhbDogUGFudGFsbGFOYXZlZ2FjaW9uXHJcbiAgICAgICAgYXZpc29QZXJzaXN0ZW50ZTogeyB0aXBvOiAnaW5mbycgfCAnc3VjY2VzcycgfCAnZXJyb3InLCBtZW5zYWplOiBzdHJpbmd9IHwgbnVsbFxyXG4gICAgICAgIGNvbW9kaW5lczoge1tpZENvbW9kaW4gaW4gSWRDb21vZGluXT86IHN0cmluZ31cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUmVzdWx0YWRvUmVhTm9SZWE8SyBleHRlbmRzIGtleW9mIENvZFJlYU5vUmVhLCBCIGV4dGVuZHMgc3RyaW5nPiA9IHtcclxuICAgIFtQIGluIEtdOiBDb2RSZWFOb1JlYVtLXTtcclxufSAmIHtcclxuICAgIFtQIGluIEJdOiBib29sZWFuO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRnVuY2lvbmVzQ2FsY3Vsb1JlYU5vUmVhID0ge1xyXG4gIGVzTm9SZWE6IChyZXNwdWVzdGFzOiBSZXNwdWVzdGFzLCB0YXJlYTogc3RyaW5nKSA9PiBSZXN1bHRhZG9SZWFOb1JlYTwnY29kTm9SZWEnLCAnZXNOb1JlYSc+O1xyXG4gIGVzTm9SZWFTdXA6IChyZXNwdWVzdGFzOiBSZXNwdWVzdGFzLCB0YXJlYTogc3RyaW5nKSA9PiBSZXN1bHRhZG9SZWFOb1JlYTwnY29kTm9SZWFTdXAnLCAnZXNOb1JlYVN1cCc+O1xyXG4gIGVzUmVhbGl6YWRhOiAocmVzcHVlc3RhczogUmVzcHVlc3RhcywgdGFyZWE6IHN0cmluZykgPT4gUmVzdWx0YWRvUmVhTm9SZWE8J2NvZFJlYScsICdlc1JlYSc+O1xyXG4gIGVzUmVhbGl6YWRhU3VwOiAocmVzcHVlc3RhczogUmVzcHVlc3RhcywgdGFyZWE6IHN0cmluZykgPT4gUmVzdWx0YWRvUmVhTm9SZWE8J2NvZFJlYVN1cCcsICdlc1JlYVN1cCc+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVmT3BlcmF0aXZvID0gRnVuY2lvbmVzQ2FsY3Vsb1JlYU5vUmVhICYge1xyXG4gICAgVUFwcmluY2lwYWw6IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICBkZWZVQTogeyBbaSBpbiBJZFVuaWRhZEFuYWxpc2lzXTogeyBwazogSWRWYXJpYWJsZSwgaW5jbHVpZGFzOiBJZFVuaWRhZEFuYWxpc2lzW10sIGlkc0ZvcjogSWRGb3JtdWxhcmlvW10gfSB9LFxyXG4gICAgZGVmRm9yOiB7IFtmIGluIElkRm9ybXVsYXJpb106IHsvKmFyYm9sVUE6SWRVbmlkYWRBbmFsaXNpc1tdLCAqLyBoZXJtYW5vPzogdHJ1ZSB9IH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRGF0b3NCeVBhc3NQZXJzaXN0aWJsZXMgPSB7XHJcbiAgICByZXNwdWVzdGFzOiB7IFt1YSBpbiBJZFVuaWRhZEFuYWxpc2lzXTogUmVzcHVlc3Rhc1JhaXpbXSB9XHJcbiAgICBtb2RvQWxtYWNlbmFtaWVudG86IE1vZG9BbG1hY2VuYW1pZW50b1xyXG4gICAgcGVyc29uYTogc3RyaW5nXHJcbiAgICB0YXJlYTogSWRUYXJlYVxyXG4gICAgaWRwZXI6IHN0cmluZ1xyXG4gICAgY2FyZ2FzOiBDYXJnYXNcclxuICAgIGluZm9ybWFjaW9uSGRyOiBJbmZvcm1hY2lvbkhkclxyXG4gICAgc29sb0xlY3R1cmE6IGJvb2xlYW5cclxuICAgIHRva2VuPzogc3RyaW5nXHJcbiAgICBudW1fc2luY3JvPzogbnVtYmVyXHJcbiAgICB0aW1lc3RhbXBFc3RydWN0dXJhPzogbnVtYmVyXHJcbiAgICBwZXJtaXRlQm9ycmFyRWxlbWVudG9zVUE/OiBib29sZWFuXHJcbn1cclxuXHJcbnR5cGUgQ29uZmlndXJhY2lvblNvcnRlb1RhYmxhID0ge1xyXG4gICAgbWV0b2RvOiBcInRhYmxhXCIsXHJcbiAgICBwYXJhbV9tZXRvZG86IHtcclxuICAgICAgICB0YWJsYTogc3RyaW5nW10sXHJcbiAgICAgICAgdmFyX2xldHJhOiBJZFZhcmlhYmxlLFxyXG4gICAgfVxyXG59XHJcblxyXG50eXBlIENvbmZpZ3VyYWNpb25Tb3J0ZW9IYXNoID0ge1xyXG4gICAgbWV0b2RvOiBcImhhc2hcIixcclxuICAgIHBhcmFtX21ldG9kbzoge1xyXG4gICAgICAgIHZhcl9jb2VmOiBbXHJcbiAgICAgICAgICAgIHsgdmFyOiBJZFZhcmlhYmxlLCBjb2VmOiBudW1iZXIgfSxcclxuICAgICAgICAgICAgeyB2YXI6IElkVmFyaWFibGUsIGNvZWY6IG51bWJlciB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgZGl2aXNvcjogbnVtYmVyXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWNpb25Tb3J0ZW8gPSB7IFtrZXkgaW4gSWRGb3JtdWxhcmlvXTogQ29uZmlndXJhY2lvblNvcnRlb0Zvcm11bGFyaW8gfVxyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlndXJhY2lvbkhhYmlsaXRhckJvdG9uRm9ybXVsYXJpbyA9IHsgW2tleSBpbiBJZEZvcm11bGFyaW9dOiBDb25maWd1cmFjaW9uSGFiaWxpdGFyQm90b25Gb3JtdWxhcmlvRm9ybSB9XHJcblxyXG5leHBvcnQgdHlwZSBDb25maWd1cmFjaW9uU29ydGVvRm9ybXVsYXJpbyA9IHtcclxuICAgIHVuaWRhZF9hbmFsaXNpczogSWRVbmlkYWRBbmFsaXNpcyxcclxuICAgIHVuaWRhZF9hbmFsaXNpc19wYWRyZTogSWRVbmlkYWRBbmFsaXNpcyxcclxuICAgIC8vZXhwcl9pbmNvbXBsZXRpdHVkOiBzdHJpbmcgLy9cIm5vdCAocDEpIG9yIG5vIHQgKHAyKSBvciBub3QocDMpXCJcclxuICAgIGV4cHJfaW5jb21wbGV0aXR1ZDoge1xyXG4gICAgICAgIFtrZXkgaW4gbnVtYmVyXTogeyBkb21pbmlvOiBudW1iZXIsIGV4cHI6IHN0cmluZyB9XHJcbiAgICB9XHJcbiAgICAvL2V4cHJfaW5jb21wbGV0aXR1ZF9qczogc3RyaW5nIC8vc2UgY3JlYSBhbCBjb21waWxhclxyXG4gICAgZXhwcl9pbmNvbXBsZXRpdHVkX2pzOiB7XHJcbiAgICAgICAgW2tleSBpbiBudW1iZXJdOiB7IGRvbWluaW86IG51bWJlciwgZXhwcjogc3RyaW5nIH1cclxuICAgIH1cclxuICAgIGRpc3BhcmFkb3I6IElkVmFyaWFibGUgLy9cInA5XCJcclxuICAgIC8vZmlsdHJvOiBzdHJpbmcgLy9cInAzPj0xOFwiXHJcbiAgICBmaWx0cm86IHtcclxuICAgICAgICBba2V5IGluIG51bWJlcl06IHsgZG9taW5pbzogbnVtYmVyLCBleHByOiBzdHJpbmcgfVxyXG4gICAgfVxyXG4gICAgLy9maWx0cm9fanM6IHN0cmluZyAvL3NlIGNyZWEgYWwgY29tcGlsYXJcclxuICAgIGZpbHRyb19qczoge1xyXG4gICAgICAgIFtrZXkgaW4gbnVtYmVyXTogeyBkb21pbmlvOiBudW1iZXIsIGV4cHI6IHN0cmluZyB9XHJcbiAgICB9XHJcbiAgICBvcmRlbjoge1xyXG4gICAgICAgIHZhcmlhYmxlOiBJZFZhcmlhYmxlXHJcbiAgICAgICAgb3JkZW46IDEgfCAtMVxyXG4gICAgfVtdIC8vW1wicDNcIiwgXCJwMlwiLCBcInAxXCIsIFwicDBcIl0sIC8vIHAwIGVzIGNvbnN0cnVpZGEsIG5vIHZhIGVuIHBhcsOhbWV0cm9zLCBzZSBwb25lIHBhcmEgcXVlIGVsIG9yZGVuIHNlYSBkZXRlcm1pbsOtc3RpY29cclxuICAgIHBhcmFtZXRyb3M6IElkVmFyaWFibGVbXS8vIFtcInAxXCIsXCJwMlwiLFwicDNcIiwgXCJwNFwiLCBcInA1XCIsIFwicDZcIl0sIC8vIHZhcmlhYmxlcyBxdWUgYW51bGFuIGFsIGRpc3BhcmFkb3JcclxuICAgIGNhbnRpZGFkX3NvcnRlYWJsZXM6IElkVmFyaWFibGVcclxuICAgIGNhbnRpZGFkX3RvdGFsOiBJZFZhcmlhYmxlXHJcbiAgICByZXN1bHRhZG86IElkVmFyaWFibGUgLy9cInAxMVwiXHJcbiAgICByZXN1bHRhZG9fbWFudWFsOiBJZFZhcmlhYmxlIC8vXCJwMTFcIlxyXG4gICAgc29ydGVhZG9fbW9zdHJhcj86IHsgc291cmNlOiBJZFZhcmlhYmxlLCB0YXJnZXQ6IElkVmFyaWFibGUgfVtdLFxyXG4gICAgaW5jb21wbGV0YXM6IElkVmFyaWFibGVcclxuICAgIHZhcmlhYmxlQm90b25Gb3JtdWxhcmlvVUE6IElkVmFyaWFibGUvLyckQi5GOlMxX1AnXHJcbiAgICB2YXJpYWJsZUJvdG9uRm9ybXVsYXJpb1VBSW5kaXZpZHVhbD86IElkVmFyaWFibGUgLy8nJEIuRjpJMSdcclxuICAgIGlkX2Zvcm11bGFyaW9faW5kaXZpZHVhbD86IElkRm9ybXVsYXJpbyAvLyAnRjpJMSdcclxuICAgIGlkX2Zvcm11bGFyaW9fcGFkcmU/OiBJZEZvcm11bGFyaW8gLy8gJ0Y6UzEnXHJcbn0gJiAoQ29uZmlndXJhY2lvblNvcnRlb0hhc2ggfCBDb25maWd1cmFjaW9uU29ydGVvVGFibGEpXHJcblxyXG5leHBvcnQgdHlwZSBDb25maWd1cmFjaW9uSGFiaWxpdGFyQm90b25Gb3JtdWxhcmlvRm9ybSA9IHtcclxuICAgIHVuaWRhZF9hbmFsaXNpczogSWRVbmlkYWRBbmFsaXNpcyxcclxuICAgIGV4cHJfaGFiaWxpdGFyX2JvdG9uOiBzdHJpbmcsXHJcbiAgICBleHByX2hhYmlsaXRhcl9ib3Rvbl9qczogc3RyaW5nLFxyXG4gICAgaGFiaWxpdGFyX2FncmVnYXJfbGlzdG86IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRvUGxhaW5Gb3JQayhmb3JQazogRm9yUGspOiBQbGFpbkZvclBrIHtcclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShmb3JQaykgYXMgUGxhaW5Gb3JQaztcclxufVxyXG5cclxuZXhwb3J0IHZhciBpdGVyYXRvcjogPFQ+KG86IE9iamV0b051bWVyYWRvT0FycmF5PFQ+KSA9PiBJdGVyYWJsZTxUPiA9IExpa2VBci5pdGVyYXRvclxyXG5leHBvcnQgdmFyIGVtcHR5OiA8VD4obzogT2JqZXRvTnVtZXJhZG9PQXJyYXk8VD4gfCBudWxsIHwgdW5kZWZpbmVkKSA9PiBib29sZWFuID0gTGlrZUFyLmVtcHR5XHJcblxyXG5kZWNsYXJlIGdsb2JhbCB7XHJcbiAgICBuYW1lc3BhY2UgbXlPd24ge1xyXG4gICAgICAgIGludGVyZmFjZSBBZGRyUGFyYW1zIHtcclxuICAgICAgICAgICAgc3RhdGVfZm9yUGs6IHN0cmluZ1xyXG4gICAgICAgICAgICBzdGF0ZV9waWxhRm9yUGs6IHN0cmluZ1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRGlyZWNjaW9uQWNjaW9uID0gJ2F2YW5jZScgfCAncmV0cm9jZXNvJyB8ICdibGFucXVlbydcclxuXHJcbmV4cG9ydCB0eXBlIEVzdGFkb0FjY2lvbiA9IHtcclxuICAgIG9wZXJhdGl2bzogc3RyaW5nXHJcbiAgICBlc3RhZG86IHN0cmluZ1xyXG4gICAgZWFjY2lvbjogc3RyaW5nXHJcbiAgICBjb25kaWNpb246IHN0cmluZ1xyXG4gICAgZXN0YWRvX2Rlc3Rpbm86IHN0cmluZ1xyXG4gICAgZWFjY2lvbl9kaXJlY2Npb246IERpcmVjY2lvbkFjY2lvblxyXG4gICAgcGF0aF9pY29ub19zdmc6IHN0cmluZ1xyXG4gICAgbm9tYnJlX3Byb2NlZHVyZTogc3RyaW5nXHJcbiAgICBub21icmVfd3NjcmVlbjogc3RyaW5nXHJcbiAgICBkZXNhY3RpdmFfYm90b246IGJvb2xlYW5cclxuICAgIGNvbmZpcm1hOiBib29sZWFuXHJcbn1cclxuZXhwb3J0IHR5cGUgTW9kb0RNID0gJ3Byb2R1YycgfCAnY2FwYSc7Il19
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvdGlwb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFxbEJiLG9DQUVDO0lBcmxCRCxrQ0FBa0M7SUFtbEJsQyxTQUFnQixZQUFZLENBQUMsS0FBWTtRQUNyQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFlLENBQUM7SUFDL0MsQ0FBQztJQUVVLFFBQUEsUUFBUSxHQUFtRCxNQUFNLENBQUMsUUFBUSxDQUFBO0lBQzFFLFFBQUEsS0FBSyxHQUFrRSxNQUFNLENBQUMsS0FBSyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcbmltcG9ydCB7IFN0cnVjdHVyZSwgRmVlZGJhY2sgfSBmcm9tIFwicm93LXZhbGlkYXRvclwiO1xyXG5pbXBvcnQgKiBhcyBMaWtlQXIgZnJvbSBcImxpa2UtYXJcIjtcclxuXHJcbmV4cG9ydCB0eXBlIE1vZG9BbG1hY2VuYW1pZW50byA9ICdzZXNzaW9uJyB8IC8vIGN1YW5kbyBzZWEgcGFyYSB1bmEgc29sYSBwZXN0YcOxYSwgc2UgdXNhIGVuIG1vZG8gZGlyZWN0byxcclxuICAgICdsb2NhbCcgICAgLy8gcGFyYSB0b2RvIGVsIGRpc3Bvc2l0aXZvLCBzZSB1c2EgYWwgY2FyZ2FyIGhvamFzIGRlIHJ1dGEgZW50cmVzXHJcblxyXG5leHBvcnQgdHlwZSBJZE9wY2lvbiA9IG51bWJlclxyXG5leHBvcnQgdHlwZSBJZE9wZXJhdGl2byA9ICdldG9pMjExJyB8ICdlYWgyMDIyJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkVmFyaWFibGUgPSAndjEnIHwgJ3YyJyB8ICd2MycgfCAnZXRjLi4uJyB8ICd2ZG9taW5pbycgfCAnJHAwJ1xyXG5leHBvcnQgdHlwZSBJZFByZWd1bnRhID0gJ1AxJyB8ICdQMicgfCAnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZEJsb3F1ZSA9ICdCMScgfCAnQjInIHwgJ2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRGb3JtdWxhcmlvID0gJ0YxJyB8ICdGMicgfCAnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZFVuaWRhZEFuYWxpc2lzID0gJ3ZpdmllbmRhcycgfCAnaG9nYXJlcycgfCAncGVyc29uYXMnXHJcbmV4cG9ydCB0eXBlIElkQm90b25Gb3JtdWxhcmlvID0gJ0JGOkYxJyB8ICdCRjpGMicgfCAnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZENvbnNpc3RlbmNpYSA9ICdDT05TMScgfCAnQ09OUzInIHwgJ2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRUZXh0byA9ICdEMzBfUkVGJyB8ICdNRVNfUkVGJyB8ICdTRU1fUkVGJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkQ29tb2RpbiA9ICdEMzBfUkVGJyB8ICdNRVNfUkVGJyB8ICdTRU1fUkVGJyB8ICdTRU1fTlVNJyB8ICdyZXNwczEnIHwgJ3BhcmVudHMxJyB8ICdyZXNwaTEnIHwgJ3BhcmVudGkxJyB8ICduamVmZScgfCAnZnJlYWxpeicgfCAnY2FudF9ob2dhcmVzJ1xyXG5leHBvcnQgdHlwZSBJZEZpbHRybyA9ICdGSUxUUk8xJyB8ICdGSUxUUk8yJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkQ2FzaWxsZXJvID0gSWRWYXJpYWJsZSB8IElkUHJlZ3VudGEgfCBJZEJsb3F1ZSB8IElkRm9ybXVsYXJpbyB8IElkRmlsdHJvIHwgSWRPcGNpb25cclxuZXhwb3J0IHR5cGUgSWRGaW4gPSAnZmluJzsgLy8gbmV2ZXIgLy8gVE9ETzogcG9kZXIgcG9uZXIgJ0ZJTidcclxuZXhwb3J0IHR5cGUgSWREZXN0aW5vID0gSWRQcmVndW50YSB8IElkQmxvcXVlIHwgSWRGaW4gfCBJZEZpbHRyb1xyXG5leHBvcnQgdHlwZSBWYWxvciA9IHN0cmluZyB8IG51bWJlciB8IG51bGw7XHJcbmV4cG9ydCB0eXBlIFRpcG9jRGVzdGlub3MgPSAnUCcgfCAnQ1AnIHwgJ0InIHwgJ0ZJTFRSTycgfCAnQkYnXHJcbmV4cG9ydCB0eXBlIFRpcG9jID0gVGlwb2NEZXN0aW5vcyB8ICdGJyB8ICdPJyB8ICdPTScgfCAnQ09OUycgfCAnVEVYVE8nIHwgJ0xJQlJFJyB8ICdQTUFUUklaJ1xyXG5cclxuZXhwb3J0IHR5cGUgRXNwZWNpYWwgPSB7XHJcbiAgICBncHM/OiBib29sZWFuXHJcbiAgICBub1Njcm9sbD86IGJvb2xlYW5cclxuICAgIHNjcm9sbFRvPzogSWRWYXJpYWJsZSB8IElkRmluXHJcbiAgICBhdXRvaW5nPzogc3RyaW5nXHJcbiAgICBmbGV4RGlyZWN0aW9uPzogJ3JvdycgfCAnY29sdW1uJyB8ICdyb3ctcmV2ZXJzZScgfCAnY29sdW1uLXJldmVyc2UnXHJcbiAgICBjYW1wb3NSZXN1bWVuPzogc3RyaW5nW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWRUYXJlYSA9ICdlbmN1JyB8ICdyZWN1JyB8ICdzdXBlJyB8ICdpbmdyJztcclxuXHJcbmV4cG9ydCB0eXBlIEZlZWRiYWNrVmFyaWFibGUgPSBGZWVkYmFjazxJZFZhcmlhYmxlLCBJZEZpbj5cclxuXHJcbmV4cG9ydCB0eXBlIFRpcG9WYXJpYWJsZXMgPSAndGV4dG8nIHwgJ251bWVybycgfCAnZmVjaGEnIHwgJ2hvcmFzJyB8ICdob3JhJ1xyXG5cclxuZXhwb3J0IHR5cGUgRGVzcGxpZWd1ZSA9ICdob3Jpem9udGFsJyB8ICdvY3VsdGEnXHJcblxyXG5leHBvcnQgdHlwZSBDYXNpbGxlcm9CYXNlID0ge1xyXG4gICAgaWRfY2FzaWxsZXJvPzogc3RyaW5nXHJcbiAgICB0aXBvYzogVGlwb2NcclxuICAgIGNhc2lsbGVybzogSWRDYXNpbGxlcm9cclxuICAgIG5vbWJyZTogc3RyaW5nXHJcbiAgICBzYWx0bzogSWREZXN0aW5vIHwgSWRGaW4gfCBudWxsXHJcbiAgICBzYWx0b19uc19uYz86IElkRGVzdGlubyB8IElkRmluIHwgbnVsbFxyXG4gICAgdmVyX2lkOiBzdHJpbmcgfCBudWxsXHJcbiAgICBkZXNwbGllZ3VlRW5jYWJlemFkbzogJ2xhdGVyYWwnIHwgJ3N1cGVyaW9yJyB8IG51bGxcclxuICAgIGRlc3BsaWVndWVDb250ZW5pZG86ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgfCBudWxsXHJcbiAgICBkZXNwbGllZ3VlVGlwb0lucHV0OiAndGVsJyB8IG51bGxcclxuICAgIGRlc3BsaWVndWVPY3VsdGE6IGJvb2xlYW4gfCBudWxsXHJcbiAgICBsZWVyOiBib29sZWFuIHwgbnVsbFxyXG4gICAgYWNsYXJhY2lvbjogc3RyaW5nIHwgbnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86IElkVmFyaWFibGUgfCBudWxsXHJcbiAgICB2YXJfbmFtZT86IElkVmFyaWFibGUgfCBudWxsXHJcbiAgICB2YXJfbmFtZV9lc3BlY2lhbD86IHN0cmluZyB8IG51bGxcclxuICAgIHRpcG92YXI/OiBUaXBvVmFyaWFibGVzIHwgJ29wY2lvbmVzJyB8ICdzaV9ubycgfCBudWxsXHJcbiAgICBjYXNpbGxlcm9zPzogQ2FzaWxsZXJvc0ltcGxlbWVudGFkb3NbXSB8IG51bGxcclxuICAgIGV4cHJlc2lvbl9oYWJpbGl0YXI/OiBzdHJpbmdcclxuICAgIGV4cHJlc2lvbl9oYWJpbGl0YXJfanM/OiBzdHJpbmdcclxuICAgIGV4cHJlc2lvbl9hdXRvaW5ncmVzYXI/OiBzdHJpbmdcclxuICAgIGV4cHJlc2lvbl9hdXRvaW5ncmVzYXJfanM/OiBzdHJpbmdcclxuICAgIGVzcGVjaWFsPzogRXNwZWNpYWxcclxuICAgIGNhbGN1bGFkYT86IGJvb2xlYW4gfCBudWxsXHJcbiAgICBvcHRhdGl2bz86IGJvb2xlYW4gfCBudWxsXHJcbiAgICBsaWJyZT86IGJvb2xlYW4gfCBudWxsXHJcbiAgICB2YWxvcl9uc19uYz86IGFueVxyXG4gICAgZGVzcGxpZWd1ZT86IHN0cmluZyB8IG51bGxcclxuICAgIGxvbmdpdHVkPzogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9wY2lvbiA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ08nXHJcbiAgICBjYXNpbGxlcm86IElkT3BjaW9uXHJcbiAgICBjYXNpbGxlcm9zOiBQcmVndW50YVNpbXBsZVtdXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzogbnVsbFxyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9wY2lvblNpID0gT3BjaW9uICYge1xyXG4gICAgY2FzaWxsZXJvOiAxXHJcbiAgICBub21icmU6ICdTw60nXHJcbiAgICBjYXNpbGxlcm9zOiBQcmVndW50YVNpbXBsZVtdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE9wY2lvbk5vID0gT3BjaW9uICYge1xyXG4gICAgY2FzaWxsZXJvOiAyXHJcbiAgICBub21icmU6ICdObydcclxuICAgIGNhc2lsbGVyb3M6IFByZWd1bnRhU2ltcGxlW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3BjaW9uTXVsdGlwbGUgPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdPTSdcclxuICAgIHRpcG92YXI6ICdvcGNpb25lcydcclxuICAgIHZhcl9uYW1lOiBJZFZhcmlhYmxlXHJcbiAgICBjYXNpbGxlcm9zOiBbT3BjaW9uU2ksIE9wY2lvbk5vXVxyXG4gICAgY2FsY3VsYWRhPzogYm9vbGVhblxyXG4gICAgbGlicmU/OiBib29sZWFuXHJcbiAgICB2YWxvcl9uc19uYzogYW55XHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJlZ3VudGFCYXNlID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnUCdcclxuICAgIG9wdGF0aXZvOiBib29sZWFuIHwgbnVsbFxyXG4gICAgY2FzaWxsZXJvOiBJZFByZWd1bnRhXHJcbiAgICBjYWxjdWxhZGE6IGJvb2xlYW4gfCBudWxsXHJcbiAgICBsaWJyZTogYm9vbGVhbiB8IG51bGxcclxuICAgIHZhbG9yX25zX25jOiBhbnlcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJlZ3VudGFTaW1wbGUgPSBQcmVndW50YUJhc2UgJiB7XHJcbiAgICB0aXBvdmFyOiBUaXBvVmFyaWFibGVzXHJcbiAgICB2YXJfbmFtZTogSWRWYXJpYWJsZVxyXG4gICAgbG9uZ2l0dWQ6IHN0cmluZ1xyXG4gICAgc2FsdG9fbnNfbmM6IElkRGVzdGlubyB8IElkRmluIHwgbnVsbFxyXG4gICAgY2FzaWxsZXJvczogUHJlZ3VudGFTaW1wbGVbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YUNvblNpTm8gPSBQcmVndW50YUJhc2UgJiB7XHJcbiAgICB0aXBvdmFyOiAnc2lfbm8nXHJcbiAgICB2YXJfbmFtZTogSWRWYXJpYWJsZVxyXG4gICAgc2FsdG9fbnNfbmM6IElkRGVzdGlubyB8IElkRmluIHwgbnVsbFxyXG4gICAgY2FzaWxsZXJvczogW09wY2lvblNpLCBPcGNpb25Ob11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJlZ3VudGFDb25PcGNpb25lcyA9IFByZWd1bnRhQmFzZSAmIHtcclxuICAgIHRpcG92YXI6ICdvcGNpb25lcydcclxuICAgIHZhcl9uYW1lOiBJZFZhcmlhYmxlXHJcbiAgICBzYWx0b19uc19uYzogSWREZXN0aW5vIHwgSWRGaW4gfCBudWxsXHJcbiAgICBjYXNpbGxlcm9zOiBPcGNpb25bXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YUNvbk9wY2lvbmVzTXVsdGlwbGVzID0gUHJlZ3VudGFCYXNlICYge1xyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgY2FzaWxsZXJvczogT3BjaW9uTXVsdGlwbGVbXVxyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByZWd1bnRhID0gUHJlZ3VudGFTaW1wbGUgfCBQcmVndW50YUNvblNpTm8gfCBQcmVndW50YUNvbk9wY2lvbmVzIHwgUHJlZ3VudGFDb25PcGNpb25lc011bHRpcGxlc1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uanVudG9QcmVndW50YXMgPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdDUCdcclxuICAgIGNhc2lsbGVybzogSWRQcmVndW50YVxyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgY2FzaWxsZXJvczogUHJlZ3VudGFbXVxyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuXHJcbi8qXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnRlbmlkbyBleHRlbmRzIENhc2lsbGVyb0Jhc2Uge1xyXG4gICAgY2FzaWxsZXJvczpJQ29udGVuaWRvW11cclxufVxyXG4qL1xyXG5cclxuZXhwb3J0IHR5cGUgRmlsdHJvID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnRklMVFJPJ1xyXG4gICAgY2FzaWxsZXJvOiBJZEZpbHRyb1xyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86IG51bGxcclxuICAgIGNhbGN1bGFkYT86IG51bGxcclxuICAgIGxpYnJlPzogbnVsbFxyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbnRlbmlkb0Zvcm11bGFyaW8gPSBCbG9xdWUgfCBQcmVndW50YSB8IENvbmp1bnRvUHJlZ3VudGFzIHwgRmlsdHJvIHwgQm90b25Gb3JtdWxhcmlvIHwgQ29uc2lzdGVuY2lhIHwgVGV4dG9cclxuXHJcbmV4cG9ydCB0eXBlIEJsb3F1ZSA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ0InXHJcbiAgICBjYXNpbGxlcm86IElkQmxvcXVlXHJcbiAgICBjYXNpbGxlcm9zOiBDb250ZW5pZG9Gb3JtdWxhcmlvW11cclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIHVuaWRhZF9hbmFsaXNpcz86IElkVW5pZGFkQW5hbGlzaXNcclxuICAgIHNhbHRvX25zX25jPzogbnVsbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDb25zaXN0ZW5jaWEgPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdDT05TJ1xyXG4gICAgY2FzaWxsZXJvOiBJZENvbnNpc3RlbmNpYVxyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86IG51bGxcclxuICAgIHNhbHRvX25zX25jPzogbnVsbFxyXG59XHJcbmV4cG9ydCB0eXBlIFRleHRvID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnVEVYVE8nXHJcbiAgICBjYXNpbGxlcm86IElkVGV4dG9cclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIHByaW1lcmFfdmFyaWFibGU/OiBudWxsXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5leHBvcnQgdHlwZSBMaWJyZSA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ0xJQlJFJ1xyXG4gICAgY2FzaWxsZXJvOiBJZFRleHRvXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzogbnVsbFxyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuZXhwb3J0IHR5cGUgQm90b25Gb3JtdWxhcmlvID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnQkYnXHJcbiAgICBjYXNpbGxlcm86IElkQm90b25Gb3JtdWxhcmlvXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzogSWRWYXJpYWJsZSB8IG51bGxcclxuICAgIHZhcl9uYW1lc19CRj86IElkVmFyaWFibGVbXVxyXG4gICAgbG9uZ2l0dWQ/OiBzdHJpbmdcclxuICAgIHVuaWRhZF9hbmFsaXNpcz86IElkVW5pZGFkQW5hbGlzaXNcclxuICAgIHNhbHRvX25zX25jPzogbnVsbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGb3JtdWxhcmlvID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnRidcclxuICAgIGNhc2lsbGVybzogSWRGb3JtdWxhcmlvXHJcbiAgICBmb3JtdWxhcmlvX3ByaW5jaXBhbDogYm9vbGVhblxyXG4gICAgY2FzaWxsZXJvczogQ29udGVuaWRvRm9ybXVsYXJpb1tdXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBoZXJtYW5vPzogdHJ1ZVxyXG4gICAgdW5pZGFkX2FuYWxpc2lzOiBJZFVuaWRhZEFuYWxpc2lzXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUE1hdHJpeiA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ1BNQVRSSVonXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ2FzaWxsZXJvc0ltcGxlbWVudGFkb3MgPSBGb3JtdWxhcmlvIHwgQmxvcXVlIHwgRmlsdHJvIHwgQ29uanVudG9QcmVndW50YXMgfCBQcmVndW50YSB8IE9wY2lvbk11bHRpcGxlIHwgT3BjaW9uIHwgQm90b25Gb3JtdWxhcmlvIHwgQ29uc2lzdGVuY2lhIHwgVGV4dG8gfCBMaWJyZSB8IFBNYXRyaXpcclxuXHJcbmV4cG9ydCB0eXBlIENhbXBvUGtSYWl6ID0gJ3ZpdmllbmRhJyB8ICdldGMuLi4nO1xyXG5cclxuZXhwb3J0IHR5cGUgVmFsdWVQa1JhaXogPSBJZEVuY1xyXG5cclxuZXhwb3J0IHR5cGUgRm9yUGtSYWl6ID0ge1xyXG4gICAgZm9ybXVsYXJpbzogSWRGb3JtdWxhcmlvXHJcbn0gJiB7XHJcbiAgICBbY2FtcG8gaW4gQ2FtcG9Qa1JhaXpdOiBWYWx1ZVBrUmFpelxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDYW1wb1BrID0gJ3ZpdmllbmRhJyB8ICdob2dhcicgfCAncGVyc29uYScgfCAnZXRjLi4uJztcclxuZXhwb3J0IHR5cGUgRm9yUGsgPSBGb3JQa1JhaXogJiB7XHJcbiAgICBbY2FtcG8gaW4gQ2FtcG9Qa10/OiBudW1iZXJcclxufVxyXG5leHBvcnQgdHlwZSBQbGFpbkZvclBrID0gJ3tcImZvcm11bGFyaW9cIjpcIkY6RjFcIixcInZpdmllbmRhXCI6XCIxMDIwMlwiLFwicGVyc29uYVwiOm51bGx9JyB8ICdldGMuLi4nO1xyXG5cclxuZXhwb3J0IHR5cGUgT2JqZXRvTnVtZXJhZG9PQXJyYXk8VD4gPSBUW10gfCB7IFtuIGluIG51bWJlcl06IFQgfVxyXG5cclxuZXhwb3J0IHR5cGUgUmVzcHVlc3Rhc1VuYVVBID0ge1xyXG4gICAgW3ByZWd1bnRhIGluIElkVmFyaWFibGVdOiBWYWxvclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBSZXNwdWVzdGFMYXNVQSA9IHtcclxuICAgIFt1YSBpbiBJZFVuaWRhZEFuYWxpc2lzXTogT2JqZXRvTnVtZXJhZG9PQXJyYXk8UmVzcHVlc3Rhcz5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ29kUmVhTm9SZWEgPSB7XHJcbiAgICBjb2RSZWE6IG51bWJlciB8IG51bGwsXHJcbiAgICBjb2ROb1JlYTogbnVtYmVyIHwgbnVsbCxcclxuICAgIGNvZFJlYVN1cDogbnVtYmVyIHwgbnVsbCxcclxuICAgIGNvZE5vUmVhU3VwOiBudW1iZXIgfCBudWxsLFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBSZXN1bHRhZG9SZXN1bWVuID0gQ29kUmVhTm9SZWEgJiB7XHJcbiAgICByZXN1bWVuRXN0YWRvOiBSZXN1bWVuRXN0YWRvLFxyXG4gICAgcmVzdW1lbkVzdGFkb1N1cDogUmVzdW1lbkVzdGFkbyxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUmVzcHVlc3RhcyA9IFJlc3B1ZXN0YXNVbmFVQSAmIFJlc3B1ZXN0YUxhc1VBXHJcblxyXG5leHBvcnQgdHlwZSBSZXNwdWVzdGFzUmFpeiA9IFJlc3B1ZXN0YXMgJiBSZXN1bHRhZG9SZXN1bWVuICYge1xyXG4gICAgJGRpcnR5OiBib29sZWFuXHJcbn1cclxuXHJcbi8qXHJcbiAgICBhY2xhcmFjacOzbjpcclxuICAgIHt2MToneCcsIHYyOid4JywgcGVyc29uYXM6W3twMToxLCBwMjoneH0se3AxOjIsIHAyOnh9XSwgbWFzY290YXM6W10gfVxyXG4gICAgZXN0w6EgYW5pZGFkbyBwb3IgdW5pZGFkIGRlIGFuw6FsaXNpc1xyXG4qL1xyXG5cclxuZXhwb3J0IHR5cGUgVW5pZGFkQW5hbGlzaXMgPSB7XHJcbiAgICB1bmlkYWRfYW5hbGlzaXM6IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICBwYWRyZT86IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICBwa19hZ3JlZ2FkYTogQ2FtcG9QayxcclxuICAgIHByaW5jaXBhbD86IGJvb2xlYW4sXHJcbiAgICBoaWphczogeyBbayBpbiBJZFVuaWRhZEFuYWxpc2lzXT86IFVuaWRhZEFuYWxpc2lzIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVEVNID0ge1xyXG4gICAgbm9tY2FsbGU6IHN0cmluZ1xyXG4gICAgZG9taW5pbzogbnVtYmVyXHJcbiAgICBzZWN0b3I6IHN0cmluZ1xyXG4gICAgZWRpZmljaW86IHN0cmluZ1xyXG4gICAgZW50cmFkYTogc3RyaW5nXHJcbiAgICBucm9jYXRhc3RyYWw6IHN0cmluZ1xyXG4gICAgcGlzbzogc3RyaW5nXHJcbiAgICBkZXBhcnRhbWVudG86IHN0cmluZ1xyXG4gICAgaGFiaXRhY2lvbjogc3RyaW5nXHJcbiAgICBjYXNhOiBzdHJpbmdcclxuICAgIHByaW9yaWRhZDogMSB8IDIgfCAzXHJcbiAgICBvYnNlcnZhY2lvbmVzOiBzdHJpbmdcclxuICAgIHNlbGVjY2lvbmFkbzogbnVtYmVyLFxyXG4gICAgY2l0YT86IHN0cmluZyxcclxuICAgIGNhcmdhOiBzdHJpbmcsXHJcbiAgICBzZW1hbmE/OiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUmVzdW1lbkVzdGFkbyA9ICd2YWNpbycgfCAnY29uIHByb2JsZW1hcycgfCAnaW5jb21wbGV0bycgfCAnb2snIHwgJ25vIHJlYScgfCAnY2l0YSBwYWN0YWRhJztcclxuXHJcbmV4cG9ydCB0eXBlIEluZm9UYXJlYSA9IHtcclxuICAgIHRhcmVhOiBJZFRhcmVhXHJcbiAgICBub3Rhcz86IHN0cmluZ1xyXG4gICAgZmVjaGFfYXNpZ25hY2lvbj86IERhdGVcclxuICAgIGFzaWduYWRvPzogc3RyaW5nXHJcbiAgICBtYWluX2Zvcm06IElkRm9ybXVsYXJpb1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBWaXNpdGEgPSB7XHJcbiAgICBmZWNoYTogc3RyaW5nIHwgbnVsbFxyXG4gICAgaG9yYTogc3RyaW5nIHwgbnVsbFxyXG4gICAgaWRwZXI6IHN0cmluZyB8IG51bGxcclxuICAgIG9ic2VydmFjaW9uZXM6IHN0cmluZyB8IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRGF0b3NIZHJVYVBwYWwgPSB7XHJcbiAgICB0YXJlYTogSW5mb1RhcmVhXHJcbiAgICB0ZW06IFRFTVxyXG5cclxuICAgIC8qXHJcbiAgICAgICAgYWNsYXJhY2nDs246XHJcbiAgICAgICAge3YxOid4JywgdjI6J3gnLCBwZXJzb25hczpbe3AxOjEsIHAyOid4fSx7cDE6MiwgcDI6eH1dLCBtYXNjb3RhczpbXSB9XHJcbiAgICAgICAgZXN0w6EgYW5pZGFkbyBwb3IgdW5pZGFkIGRlIGFuw6FsaXNpc1xyXG4gICAgKi9cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWRDYXJnYSA9IFwiMVwiIHwgXCIyXCIgfCBcImV0Y1wiXHJcblxyXG5leHBvcnQgdHlwZSBFc3RhZG9DYXJnYSA9ICdyZXN1bWVuJyB8ICdyZWxldmFtaWVudG8nIHwgJ3JlY2libydcclxuXHJcbmV4cG9ydCB0eXBlIENhcmdhID0ge1xyXG4gICAgZmVjaGE6IERhdGVcclxuICAgIGVzdGFkb19jYXJnYTogRXN0YWRvQ2FyZ2FcclxuICAgIG5lY2VzYXJpYXM6IG51bWJlclxyXG4gICAgb2JzZXJ2YWNpb25lczogc3RyaW5nXHJcbiAgICByZWNlcGNpb25pc3RhOiBzdHJpbmdcclxuICAgIHB1ZWRlX2F1dG9nZW5lcmFyOiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENhcmdhcyA9IHtcclxuICAgIFtpZENhcmdhIGluIElkQ2FyZ2FdOiBDYXJnYVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBFc3RydWN0dXJhUm93VmFsaWRhdG9yID0gU3RydWN0dXJlPElkVmFyaWFibGUsIFZhbG9yLCBJZEZpbj47XHJcblxyXG5leHBvcnQgdHlwZSBNb2RvRGVzcGxpZWd1ZSA9ICdtZXRhZGF0b3MnIHwgJ3JlbGV2YW1pZW50bycgfCAnUERGJ1xyXG5cclxuZXhwb3J0IHR5cGUgUGFudGFsbGFOYXZlZ2FjaW9uID0gJ2hkcicgfCAnc2luY3Jvbml6YWNpb24nIHwgJ3NpbmNyb25pemFjaW9uX3JlcXVlcmlkYScgfCAnbW9kbycgfCAnYXl1ZGEnO1xyXG5cclxuZXhwb3J0IHR5cGUgSW5mb0Zvcm11bGFyaW8gPSB7XHJcbiAgICBjYXNpbGxlcm9zOiBGb3JtdWxhcmlvLCAvLyBjYXNpbGxlcm9zIGFwbGFuYWRvc1xyXG4gICAgZXN0cnVjdHVyYVJvd1ZhbGlkYXRvcjogRXN0cnVjdHVyYVJvd1ZhbGlkYXRvciAvLyBlc3RydWN0dXJhIGRlIHZhcmlhYmxlcyBwYXJhIGVsIFJvd1ZhbGlkYXRvclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJZFJlc3VsdGFkbyA9ICdBVkVSSUdVQVInIHwgJ1RPRE8nO1xyXG5leHBvcnQgdHlwZSBJZFNlbWFuYSA9IDEgfCAyIHwgJ2V0YydcclxuXHJcbmV4cG9ydCB0eXBlIFNlbWFuYSA9IHtcclxuICAgIG9wZXJhdGl2bzogSWRPcGVyYXRpdm87XHJcbiAgICBzZW1hbmE6IG51bWJlcjtcclxuICAgIHNlbWFuYV9yZWZlcmVuY2lhX2Rlc2RlPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIHNlbWFuYV9yZWZlcmVuY2lhX2hhc3RhPzogc3RyaW5nIHwgbnVsbDtcclxuICAgICczMGRpYXNfcmVmZXJlbmNpYV9kZXNkZSc/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgJzMwZGlhc19yZWZlcmVuY2lhX2hhc3RhJz86IHN0cmluZyB8IG51bGw7XHJcbiAgICBtZXNfcmVmZXJlbmNpYT86IHN0cmluZyB8IG51bGw7XHJcbiAgICBjYXJnYV9lbmNfZGVzZGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgY2FyZ2FfZW5jX2hhc3RhPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIGNhcmdhX3JlY3VfZGVzZGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgY2FyZ2FfcmVjdV9oYXN0YT86IHN0cmluZyB8IG51bGw7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBUYXJlYXNFc3RydWN0dXJhID0ge1xyXG4gICAgW2lkVGFyZWEgaW4gSWRUYXJlYV06IHtcclxuICAgICAgICByZXN1bHRhZG9zOiB7XHJcbiAgICAgICAgICAgIFtpZFJlc3VsdGFkbyBpbiBJZFJlc3VsdGFkb106IHtcclxuICAgICAgICAgICAgICAgIGRlc2NyaXBjaW9uOiBzdHJpbmdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVGlwb0NvbmRpY2lvbiA9ICdub19yZWEnIHwgJ25vX3JlYV9zdXAnIHwgJ3JlYScgfCAncmVhX3N1cCc7XHJcblxyXG5leHBvcnQgdHlwZSBOb1JlYSA9IHtcclxuICAgIG9wZXJhdGl2bzogc3RyaW5nXHJcbiAgICBub19yZWE6IG51bWJlcjtcclxuICAgIGRlc2NyaXBjaW9uOiBzdHJpbmc7XHJcbiAgICBncnVwbzogc3RyaW5nO1xyXG4gICAgdmFyaWFibGU6IHN0cmluZztcclxuICAgIHZhbG9yOiBzdHJpbmc7XHJcbiAgICBncnVwbzA6IHN0cmluZztcclxuICAgIG9yZGVuOiBudW1iZXI7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBOb1JlYVN1cCA9IHtcclxuICAgIG9wZXJhdGl2bzogc3RyaW5nXHJcbiAgICBub19yZWFfc3VwOiBudW1iZXI7XHJcbiAgICBkZXNjX25vcmVhX3N1cDogc3RyaW5nO1xyXG4gICAgZ3J1cG9fc3VwOiBzdHJpbmc7XHJcbiAgICB2YXJpYWJsZV9zdXA6IHN0cmluZztcclxuICAgIHZhbG9yX3N1cDogc3RyaW5nO1xyXG4gICAgZ3J1cG8wX3N1cDogc3RyaW5nO1xyXG4gICAgb3JkZW46IG51bWJlcjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlYSA9IHtcclxuICAgIG9wZXJhdGl2bzogc3RyaW5nXHJcbiAgICByZWE6IG51bWJlcjtcclxuICAgIGRlc2NyaXBjaW9uOiBzdHJpbmc7XHJcbiAgICBjb25kaWNpb246IHN0cmluZztcclxuICAgIGNvbmRpY2lvbl9qczogc3RyaW5nO1xyXG4gICAgb3JkZW46IG51bWJlcjtcclxuICAgIGVzX3Bvc2l0aXZhOiBib29sZWFuO1xyXG4gICAgdGFyZWE6IHN0cmluZyB8IG51bGw7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSZWFTdXAgPSB7XHJcbiAgICBvcGVyYXRpdm86IHN0cmluZ1xyXG4gICAgcmVhX3N1cDogbnVtYmVyO1xyXG4gICAgZGVzY3JpcGNpb246IHN0cmluZztcclxuICAgIGNvbmRpY2lvbjogc3RyaW5nO1xyXG4gICAgY29uZGljaW9uX2pzOiBzdHJpbmc7XHJcbiAgICBvcmRlbjogbnVtYmVyO1xyXG4gICAgZXNfcG9zaXRpdmE6IGJvb2xlYW47XHJcbiAgICB0YXJlYTogc3RyaW5nIHwgbnVsbDtcclxufTtcclxuXHJcbi8vIE1hcGVvIGRlIHRpcG9zIHBhcmEgYXNvY2lhciBlbCBzdHJpbmcgZGUgbGEgY29uZGljacOzbiBjb24gc3UgaW50ZXJmYXogY29ycmVzcG9uZGllbnRlXHJcbmV4cG9ydCB0eXBlIE1hcGVvVGlwb0l0ZW0gPSB7XHJcbiAgICAncmVhJzogUmVhO1xyXG4gICAgJ25vX3JlYSc6IE5vUmVhO1xyXG4gICAgJ3JlYV9zdXAnOiBSZWFTdXA7XHJcbiAgICAnbm9fcmVhX3N1cCc6IE5vUmVhU3VwO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRXN0cnVjdHVyYSA9IHtcclxuICAgIGZvcm11bGFyaW9zOiB7XHJcbiAgICAgICAgW25vbWJyZUZvcm11bGFyaW8gaW4gSWRGb3JtdWxhcmlvXTogSW5mb0Zvcm11bGFyaW9cclxuICAgIH07XHJcbiAgICB1bmlkYWRlc19hbmFsaXNpczoge1xyXG4gICAgICAgIFtpZFVuaWRhZEFuYWxpc2lzIGluIElkVW5pZGFkQW5hbGlzaXNdOiBVbmlkYWRBbmFsaXNpc1xyXG4gICAgfTtcclxuICAgIHRhcmVhczogVGFyZWFzRXN0cnVjdHVyYTtcclxuICAgIHVhUHBhbDogSWRVbmlkYWRBbmFsaXNpcztcclxuICAgIHBrQWdyZWdhZGFVYVBwYWw6IENhbXBvUGtSYWl6O1xyXG4gICAgdGltZXN0YW1wOiBudW1iZXI7XHJcbiAgICBvcGVyYXRpdm86IElkT3BlcmF0aXZvO1xyXG4gICAgY29uZmlnU29ydGVvOiBDb25maWd1cmFjaW9uU29ydGVvO1xyXG4gICAgaGFiaWxpdGFjaW9uQm90b25Gb3JtdWxhcmlvOiBDb25maWd1cmFjaW9uSGFiaWxpdGFyQm90b25Gb3JtdWxhcmlvO1xyXG4gICAgY29uUmVhSG9nYXI6IGJvb2xlYW47XHJcbiAgICBub1JlYXM6IE5vUmVhW107XHJcbiAgICBub1JlYXNTdXA6IE5vUmVhU3VwW107XHJcbiAgICByZWFzOiBSZWFbXTtcclxuICAgIHJlYXNTdXA6IFJlYVN1cFtdO1xyXG4gICAgc2VtYW5hczogeyBbaWRTZW1hbmEgaW4gSWRTZW1hbmFdOiBTZW1hbmEgfTtcclxuICAgIGRlZmF1bHRJbmZvcm1hY2lvbkhkcjogRGF0b3NIZHJVYVBwYWw7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBJZEVuYyA9IDEzMDAzMSB8IDEzMDAzMjtcclxuZXhwb3J0IHR5cGUgSW5mb3JtYWNpb25IZHIgPSB7IFtlbmMgaW4gSWRFbmNdOiBEYXRvc0hkclVhUHBhbCB9XHJcblxyXG5leHBvcnQgdHlwZSBDYXNvU3RhdGUgPSB7XHJcbiAgICBvcGNpb25lczogeyAvLyBkYXRvcyBkZSBuYXZlZ2FjacOzbiBxdWUgZWxpamUgZWwgdXN1YXJpb1xyXG4gICAgICAgIGZvclBrOiBGb3JQayB8IG51bGwgLy8gw61uZGljZSBkZW50cm8gZGUgbGFzIHVuaWRhZGVzIGRlIGFuw6FsaXNpcy4gTnVsbCA9IGVuIGhvamEgZGUgcnV0YVxyXG4gICAgICAgIHBpbGFGb3JQazogRm9yUGtbXVxyXG4gICAgICAgIG1vZG9EZXNwbGllZ3VlOiBNb2RvRGVzcGxpZWd1ZVxyXG4gICAgICAgIG1vZG9EaXJlY3RvOiBib29sZWFuXHJcbiAgICAgICAgbW9kb0JvcnJhclJlc3B1ZXN0YTogSWRWYXJpYWJsZSB8IG51bGxcclxuICAgICAgICBjb25DYW1wb09wY2lvbmVzOiBib29sZWFuXHJcbiAgICAgICAgc2FsdG9BdXRvbWF0aWNvOiBib29sZWFuXHJcbiAgICAgICAgcGFudGFsbGFBY3R1YWw6IFBhbnRhbGxhTmF2ZWdhY2lvblxyXG4gICAgICAgIGF2aXNvUGVyc2lzdGVudGU6IHsgdGlwbzogJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ2Vycm9yJywgbWVuc2FqZTogc3RyaW5nfSB8IG51bGxcclxuICAgICAgICBjb21vZGluZXM6IHtbaWRDb21vZGluIGluIElkQ29tb2Rpbl0/OiBzdHJpbmd9XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFJlc3VsdGFkb1JlYU5vUmVhPEsgZXh0ZW5kcyBrZXlvZiBDb2RSZWFOb1JlYSwgQiBleHRlbmRzIHN0cmluZz4gPSB7XHJcbiAgICBbUCBpbiBLXTogQ29kUmVhTm9SZWFbS107XHJcbn0gJiB7XHJcbiAgICBbUCBpbiBCXTogYm9vbGVhbjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZ1bmNpb25lc0NhbGN1bG9SZWFOb1JlYSA9IHtcclxuICBlc05vUmVhOiAocmVzcHVlc3RhczogUmVzcHVlc3RhcywgdGFyZWE6IHN0cmluZykgPT4gUmVzdWx0YWRvUmVhTm9SZWE8J2NvZE5vUmVhJywgJ2VzTm9SZWEnPjtcclxuICBlc05vUmVhU3VwOiAocmVzcHVlc3RhczogUmVzcHVlc3RhcywgdGFyZWE6IHN0cmluZykgPT4gUmVzdWx0YWRvUmVhTm9SZWE8J2NvZE5vUmVhU3VwJywgJ2VzTm9SZWFTdXAnPjtcclxuICBlc1JlYWxpemFkYTogKHJlc3B1ZXN0YXM6IFJlc3B1ZXN0YXMsIHRhcmVhOiBzdHJpbmcpID0+IFJlc3VsdGFkb1JlYU5vUmVhPCdjb2RSZWEnLCAnZXNSZWEnPjtcclxuICBlc1JlYWxpemFkYVN1cDogKHJlc3B1ZXN0YXM6IFJlc3B1ZXN0YXMsIHRhcmVhOiBzdHJpbmcpID0+IFJlc3VsdGFkb1JlYU5vUmVhPCdjb2RSZWFTdXAnLCAnZXNSZWFTdXAnPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERlZk9wZXJhdGl2byA9IEZ1bmNpb25lc0NhbGN1bG9SZWFOb1JlYSAmIHtcclxuICAgIFVBcHJpbmNpcGFsOiBJZFVuaWRhZEFuYWxpc2lzLFxyXG4gICAgZGVmVUE6IHsgW2kgaW4gSWRVbmlkYWRBbmFsaXNpc106IHsgcGs6IElkVmFyaWFibGUsIGluY2x1aWRhczogSWRVbmlkYWRBbmFsaXNpc1tdLCBpZHNGb3I6IElkRm9ybXVsYXJpb1tdIH0gfSxcclxuICAgIGRlZkZvcjogeyBbZiBpbiBJZEZvcm11bGFyaW9dOiB7LyphcmJvbFVBOklkVW5pZGFkQW5hbGlzaXNbXSwgKi8gaGVybWFubz86IHRydWUgfSB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIERhdG9zQnlQYXNzUGVyc2lzdGlibGVzID0ge1xyXG4gICAgcmVzcHVlc3RhczogeyBbdWEgaW4gSWRVbmlkYWRBbmFsaXNpc106IFJlc3B1ZXN0YXNSYWl6W10gfVxyXG4gICAgbW9kb0FsbWFjZW5hbWllbnRvOiBNb2RvQWxtYWNlbmFtaWVudG9cclxuICAgIHBlcnNvbmE6IHN0cmluZ1xyXG4gICAgdGFyZWE6IElkVGFyZWFcclxuICAgIGlkcGVyOiBzdHJpbmdcclxuICAgIGNhcmdhczogQ2FyZ2FzXHJcbiAgICBpbmZvcm1hY2lvbkhkcjogSW5mb3JtYWNpb25IZHJcclxuICAgIHNvbG9MZWN0dXJhOiBib29sZWFuXHJcbiAgICB0b2tlbj86IHN0cmluZ1xyXG4gICAgbnVtX3NpbmNybz86IG51bWJlclxyXG4gICAgdGltZXN0YW1wRXN0cnVjdHVyYT86IG51bWJlclxyXG4gICAgcGVybWl0ZUJvcnJhckVsZW1lbnRvc1VBPzogYm9vbGVhblxyXG59XHJcblxyXG50eXBlIENvbmZpZ3VyYWNpb25Tb3J0ZW9UYWJsYSA9IHtcclxuICAgIG1ldG9kbzogXCJ0YWJsYVwiLFxyXG4gICAgcGFyYW1fbWV0b2RvOiB7XHJcbiAgICAgICAgdGFibGE6IHN0cmluZ1tdLFxyXG4gICAgICAgIHZhcl9sZXRyYTogSWRWYXJpYWJsZSxcclxuICAgIH1cclxufVxyXG5cclxudHlwZSBDb25maWd1cmFjaW9uU29ydGVvSGFzaCA9IHtcclxuICAgIG1ldG9kbzogXCJoYXNoXCIsXHJcbiAgICBwYXJhbV9tZXRvZG86IHtcclxuICAgICAgICB2YXJfY29lZjogW1xyXG4gICAgICAgICAgICB7IHZhcjogSWRWYXJpYWJsZSwgY29lZjogbnVtYmVyIH0sXHJcbiAgICAgICAgICAgIHsgdmFyOiBJZFZhcmlhYmxlLCBjb2VmOiBudW1iZXIgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIGRpdmlzb3I6IG51bWJlclxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDb25maWd1cmFjaW9uU29ydGVvID0geyBba2V5IGluIElkRm9ybXVsYXJpb106IENvbmZpZ3VyYWNpb25Tb3J0ZW9Gb3JtdWxhcmlvIH1cclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWNpb25IYWJpbGl0YXJCb3RvbkZvcm11bGFyaW8gPSB7IFtrZXkgaW4gSWRGb3JtdWxhcmlvXTogQ29uZmlndXJhY2lvbkhhYmlsaXRhckJvdG9uRm9ybXVsYXJpb0Zvcm0gfVxyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlndXJhY2lvblNvcnRlb0Zvcm11bGFyaW8gPSB7XHJcbiAgICB1bmlkYWRfYW5hbGlzaXM6IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICB1bmlkYWRfYW5hbGlzaXNfcGFkcmU6IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICAvL2V4cHJfaW5jb21wbGV0aXR1ZDogc3RyaW5nIC8vXCJub3QgKHAxKSBvciBubyB0IChwMikgb3Igbm90KHAzKVwiXHJcbiAgICBleHByX2luY29tcGxldGl0dWQ6IHtcclxuICAgICAgICBba2V5IGluIG51bWJlcl06IHsgZG9taW5pbzogbnVtYmVyLCBleHByOiBzdHJpbmcgfVxyXG4gICAgfVxyXG4gICAgLy9leHByX2luY29tcGxldGl0dWRfanM6IHN0cmluZyAvL3NlIGNyZWEgYWwgY29tcGlsYXJcclxuICAgIGV4cHJfaW5jb21wbGV0aXR1ZF9qczoge1xyXG4gICAgICAgIFtrZXkgaW4gbnVtYmVyXTogeyBkb21pbmlvOiBudW1iZXIsIGV4cHI6IHN0cmluZyB9XHJcbiAgICB9XHJcbiAgICBkaXNwYXJhZG9yOiBJZFZhcmlhYmxlIC8vXCJwOVwiXHJcbiAgICAvL2ZpbHRybzogc3RyaW5nIC8vXCJwMz49MThcIlxyXG4gICAgZmlsdHJvOiB7XHJcbiAgICAgICAgW2tleSBpbiBudW1iZXJdOiB7IGRvbWluaW86IG51bWJlciwgZXhwcjogc3RyaW5nIH1cclxuICAgIH1cclxuICAgIC8vZmlsdHJvX2pzOiBzdHJpbmcgLy9zZSBjcmVhIGFsIGNvbXBpbGFyXHJcbiAgICBmaWx0cm9fanM6IHtcclxuICAgICAgICBba2V5IGluIG51bWJlcl06IHsgZG9taW5pbzogbnVtYmVyLCBleHByOiBzdHJpbmcgfVxyXG4gICAgfVxyXG4gICAgb3JkZW46IHtcclxuICAgICAgICB2YXJpYWJsZTogSWRWYXJpYWJsZVxyXG4gICAgICAgIG9yZGVuOiAxIHwgLTFcclxuICAgIH1bXSAvL1tcInAzXCIsIFwicDJcIiwgXCJwMVwiLCBcInAwXCJdLCAvLyBwMCBlcyBjb25zdHJ1aWRhLCBubyB2YSBlbiBwYXLDoW1ldHJvcywgc2UgcG9uZSBwYXJhIHF1ZSBlbCBvcmRlbiBzZWEgZGV0ZXJtaW7DrXN0aWNvXHJcbiAgICBwYXJhbWV0cm9zOiBJZFZhcmlhYmxlW10vLyBbXCJwMVwiLFwicDJcIixcInAzXCIsIFwicDRcIiwgXCJwNVwiLCBcInA2XCJdLCAvLyB2YXJpYWJsZXMgcXVlIGFudWxhbiBhbCBkaXNwYXJhZG9yXHJcbiAgICBjYW50aWRhZF9zb3J0ZWFibGVzOiBJZFZhcmlhYmxlXHJcbiAgICBjYW50aWRhZF90b3RhbDogSWRWYXJpYWJsZVxyXG4gICAgcmVzdWx0YWRvOiBJZFZhcmlhYmxlIC8vXCJwMTFcIlxyXG4gICAgcmVzdWx0YWRvX21hbnVhbDogSWRWYXJpYWJsZSAvL1wicDExXCJcclxuICAgIHNvcnRlYWRvX21vc3RyYXI/OiB7IHNvdXJjZTogSWRWYXJpYWJsZSwgdGFyZ2V0OiBJZFZhcmlhYmxlIH1bXSxcclxuICAgIGluY29tcGxldGFzOiBJZFZhcmlhYmxlXHJcbiAgICB2YXJpYWJsZUJvdG9uRm9ybXVsYXJpb1VBOiBJZFZhcmlhYmxlLy8nJEIuRjpTMV9QJ1xyXG4gICAgdmFyaWFibGVCb3RvbkZvcm11bGFyaW9VQUluZGl2aWR1YWw/OiBJZFZhcmlhYmxlIC8vJyRCLkY6STEnXHJcbiAgICBpZF9mb3JtdWxhcmlvX2luZGl2aWR1YWw/OiBJZEZvcm11bGFyaW8gLy8gJ0Y6STEnXHJcbiAgICBpZF9mb3JtdWxhcmlvX3BhZHJlPzogSWRGb3JtdWxhcmlvIC8vICdGOlMxJ1xyXG59ICYgKENvbmZpZ3VyYWNpb25Tb3J0ZW9IYXNoIHwgQ29uZmlndXJhY2lvblNvcnRlb1RhYmxhKVxyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlndXJhY2lvbkhhYmlsaXRhckJvdG9uRm9ybXVsYXJpb0Zvcm0gPSB7XHJcbiAgICB1bmlkYWRfYW5hbGlzaXM6IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICBleHByX2hhYmlsaXRhcl9ib3Rvbjogc3RyaW5nLFxyXG4gICAgZXhwcl9oYWJpbGl0YXJfYm90b25fanM6IHN0cmluZyxcclxuICAgIGhhYmlsaXRhcl9hZ3JlZ2FyX2xpc3RvOiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0b1BsYWluRm9yUGsoZm9yUGs6IEZvclBrKTogUGxhaW5Gb3JQayB7XHJcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZm9yUGspIGFzIFBsYWluRm9yUGs7XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgaXRlcmF0b3I6IDxUPihvOiBPYmpldG9OdW1lcmFkb09BcnJheTxUPikgPT4gSXRlcmFibGU8VD4gPSBMaWtlQXIuaXRlcmF0b3JcclxuZXhwb3J0IHZhciBlbXB0eTogPFQ+KG86IE9iamV0b051bWVyYWRvT0FycmF5PFQ+IHwgbnVsbCB8IHVuZGVmaW5lZCkgPT4gYm9vbGVhbiA9IExpa2VBci5lbXB0eVxyXG5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gICAgbmFtZXNwYWNlIG15T3duIHtcclxuICAgICAgICBpbnRlcmZhY2UgQWRkclBhcmFtcyB7XHJcbiAgICAgICAgICAgIHN0YXRlX2ZvclBrOiBzdHJpbmdcclxuICAgICAgICAgICAgc3RhdGVfcGlsYUZvclBrOiBzdHJpbmdcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIERpcmVjY2lvbkFjY2lvbiA9ICdhdmFuY2UnIHwgJ3JldHJvY2VzbycgfCAnYmxhbnF1ZW8nXHJcblxyXG5leHBvcnQgdHlwZSBFc3RhZG9BY2Npb24gPSB7XHJcbiAgICBvcGVyYXRpdm86IHN0cmluZ1xyXG4gICAgZXN0YWRvOiBzdHJpbmdcclxuICAgIGVhY2Npb246IHN0cmluZ1xyXG4gICAgY29uZGljaW9uOiBzdHJpbmdcclxuICAgIGVzdGFkb19kZXN0aW5vOiBzdHJpbmdcclxuICAgIGVhY2Npb25fZGlyZWNjaW9uOiBEaXJlY2Npb25BY2Npb25cclxuICAgIHBhdGhfaWNvbm9fc3ZnOiBzdHJpbmdcclxuICAgIG5vbWJyZV9wcm9jZWR1cmU6IHN0cmluZ1xyXG4gICAgbm9tYnJlX3dzY3JlZW46IHN0cmluZ1xyXG4gICAgZGVzYWN0aXZhX2JvdG9uOiBib29sZWFuXHJcbiAgICBjb25maXJtYTogYm9vbGVhblxyXG59XHJcbmV4cG9ydCB0eXBlIE1vZG9ETSA9ICdwcm9kdWMnIHwgJ2NhcGEnO1xyXG4vLyBheXVkYSBlbiBsw61uZWEgcGFyYSB1c3VhcmlvczogbG8gcXVlIGRldnVlbHZlIGVsIHByb2NlZGltaWVudG8gYXl1ZGFfdHJhZXIgKHZlciBkb2NzL2F5dWRhLW9ubGluZS5tZClcclxuZXhwb3J0IHR5cGUgTW9kb0FwcCA9ICdSRUxFVkFNSUVOVE8nIHwgJ0dBQklORVRFJ1xyXG5leHBvcnQgdHlwZSBBeXVkYVRlbWFQYXJhVXN1YXJpbyA9IHtcclxuICAgIGlkOiBzdHJpbmdcclxuICAgIHRpdHVsbzogc3RyaW5nXHJcbiAgICBodG1sOiBzdHJpbmdcclxufVxyXG4vLyB1bmEgb3BjacOzbiBkZWwgbWVuw7ogZGVsIHVzdWFyaW8sIGNvbiBlbCB0ZW1hIGRlIGF5dWRhIHF1ZSBsYSBleHBsaWNhIChzaSBoYXkgYWxndW5vKVxyXG5leHBvcnQgdHlwZSBBeXVkYU9wY2lvbk1lbnUgPSB7XHJcbiAgICBydXRhOiBzdHJpbmcgLy8gbm9tYnJlcyBkZSBsYXMgb3BjaW9uZXMgc2VwYXJhZG9zIHBvciBcIi9cIiwgcG9yIGVqZW1wbG8gXCJhc2lnbmFjaW9uL2VuY3Vlc3RhZG9yXCJcclxuICAgIGxhYmVsOiBzdHJpbmdcclxuICAgIHRlbWE6IHN0cmluZyB8IG51bGxcclxuICAgIG9wY2lvbmVzOiBBeXVkYU9wY2lvbk1lbnVbXVxyXG59XHJcbmV4cG9ydCB0eXBlIEF5dWRhUGFyYVVzdWFyaW8gPSB7XHJcbiAgICByb2w6IHN0cmluZyB8IG51bGxcclxuICAgIG1vZG86IE1vZG9BcHBcclxuICAgIHRlbWFzOiBBeXVkYVRlbWFQYXJhVXN1YXJpb1tdXHJcbiAgICBtZW51OiBBeXVkYU9wY2lvbk1lbnVbXVxyXG59Il19
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import * as procesamiento from "procesamiento";
|
|
2
2
|
import { AppBackend, ClientModuleDefinition, OptsClientPage } from "procesamiento";
|
|
3
|
+
import { QuienConsultaAyuda } from "./ayuda";
|
|
3
4
|
import * as pg from "pg-promise-strict";
|
|
4
|
-
import { Client, Context, MenuInfoBase, Puede, Request, SufijosAmbiente } from "./types-dmencu";
|
|
5
|
+
import { AyudaFuente, Client, Context, MenuInfoBase, Puede, Request, SufijosAmbiente } from "./types-dmencu";
|
|
5
6
|
export * from "./types-dmencu";
|
|
7
|
+
export * from "./ayuda";
|
|
6
8
|
import { ProcedureDef } from "backend-plus";
|
|
7
9
|
import { ProcedureContext } from "backend-plus";
|
|
8
10
|
export declare function getModoByPolicy(be: AppBackend): "RELEVAMIENTO" | "GABINETE";
|
|
@@ -10,6 +12,7 @@ export declare function permisosSegunUsuario(caches: Pick<AppBackend['caches'],
|
|
|
10
12
|
superuser?: true;
|
|
11
13
|
puede?: Puede;
|
|
12
14
|
};
|
|
15
|
+
export declare function quienConsultaAyuda(context: Context): QuienConsultaAyuda;
|
|
13
16
|
export type ConsultaDb = {
|
|
14
17
|
fetchAll(): Promise<pg.ResultRows>;
|
|
15
18
|
fetchUniqueRow(): Promise<pg.ResultOneRow>;
|
|
@@ -46,6 +49,8 @@ export declare function emergeAppDmEncu<T extends procesamiento.Constructor<proc
|
|
|
46
49
|
};
|
|
47
50
|
addLoggedServices(): void;
|
|
48
51
|
postConfig(): Promise<void>;
|
|
52
|
+
getAyudaFuentes(): AyudaFuente[];
|
|
53
|
+
problemasDeAyuda(): string[];
|
|
49
54
|
configStaticConfig(): void;
|
|
50
55
|
clientIncludes(req: Request, opts: OptsClientPage): ClientModuleDefinition[];
|
|
51
56
|
refreshCaches(client?: ClienteDb | null): Promise<void>;
|
|
@@ -496,6 +501,8 @@ export declare var AppDmEncu: {
|
|
|
496
501
|
};
|
|
497
502
|
addLoggedServices(): void;
|
|
498
503
|
postConfig(): Promise<void>;
|
|
504
|
+
getAyudaFuentes(): AyudaFuente[];
|
|
505
|
+
problemasDeAyuda(): string[];
|
|
499
506
|
configStaticConfig(): void;
|
|
500
507
|
clientIncludes(req: Request, opts: OptsClientPage): ClientModuleDefinition[];
|
|
501
508
|
refreshCaches(client?: ClienteDb | null): Promise<void>;
|