dmencu 3.0.7 → 3.0.8

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.
@@ -581,7 +581,7 @@ function EncabezadoDespliegue(props: {
581
581
  variant="outlined"
582
582
  className="boton-pregunta-nsnc"
583
583
  onClick={() => {
584
- var { siguienteVariable } = dispatchByPass(accion_registrar_respuesta, { respuesta: ns_nc, variable: casillero.var_name as IdVariable, forPk: forPk });
584
+ const { siguienteVariable } = dispatchByPass(accion_registrar_respuesta, { respuesta: ns_nc, variable: casillero.var_name as IdVariable, forPk: forPk });
585
585
  if(siguienteVariable) {
586
586
  enfocarElementoDeVariable(casillero.especial?.scrollTo ?? siguienteVariable);
587
587
  }
@@ -705,7 +705,7 @@ function Campo(props: { disabled: boolean, pregunta: PreguntaSimple | PreguntaCo
705
705
  };
706
706
  const handleSubmit = ({ esBotonConfirmar }: { esBotonConfirmar: boolean }) => {
707
707
  debeSaltar = esBotonConfirmar ? true : (saltoAutomatico || conCampoOpciones);
708
-
708
+
709
709
  var isInputFocused = document.activeElement && (document.activeElement.tagName === 'INPUT' || document.activeElement.tagName === 'TEXTAREA');
710
710
  if (isInputFocused) {
711
711
  if (document.activeElement instanceof HTMLElement) {
@@ -724,9 +724,9 @@ function Campo(props: { disabled: boolean, pregunta: PreguntaSimple | PreguntaCo
724
724
  variable={pregunta.var_name}
725
725
  forPk={props.forPk}
726
726
  />}
727
- <form
728
- className="form-campo-wrapper"
729
- style={{ display: 'contents' }}
727
+ <form
728
+ className="form-campo-wrapper"
729
+ style={{ display: 'contents' }}
730
730
  onSubmit={(e) => {
731
731
  e.preventDefault();
732
732
  handleSubmit({ esBotonConfirmar: false });
@@ -737,7 +737,7 @@ function Campo(props: { disabled: boolean, pregunta: PreguntaSimple | PreguntaCo
737
737
  id={`var-${pregunta.var_name || ''}`}
738
738
  disabled={disabled || pregunta.especial?.gps}
739
739
  className="variable"
740
- //var-length={pregunta.longitud}
740
+ //var-length={pregunta.longitud}
741
741
  fullWidth={true}
742
742
  inputProps={inputProps}
743
743
  type={pregunta.despliegueTipoInput ?? adaptarTipoVarCasillero(pregunta.tipovar)}
@@ -1321,14 +1321,14 @@ function BotonFormularioDespliegue(props: { casillero: BotonFormulario, formular
1321
1321
  var sufijoIdElemento = toPlainForPk(forPk);
1322
1322
  /*
1323
1323
  registrarElemento({
1324
- id:`div-boton-formulario-${sufijoIdElemento}`,
1325
- attr:'esta-inhabilitada',
1324
+ id:`div-boton-formulario-${sufijoIdElemento}`,
1325
+ attr:'esta-inhabilitada',
1326
1326
  // fun: (r:Respuestas)=>habilitador(r)?'SI':'NO'
1327
1327
  fun: (_r:Respuestas)=>'NO'
1328
1328
  });
1329
1329
  registrarElemento<HTMLButtonElement>({
1330
- id:`boton-formulario-${sufijoIdElemento}`,
1331
- prop:'disabled',
1330
+ id:`boton-formulario-${sufijoIdElemento}`,
1331
+ prop:'disabled',
1332
1332
  // fun: (r:Respuestas)=>!habilitador(r)
1333
1333
  fun: (_r:Respuestas)=>false
1334
1334
  });
@@ -1517,29 +1517,29 @@ function BotonFormularioDespliegue(props: { casillero: BotonFormulario, formular
1517
1517
  <Button color="primary" variant="contained" onClick={() => setConfirmarForzarIr(null)}>Entendido</Button>
1518
1518
  </Dialog>
1519
1519
  {confirmacionBorrado && (
1520
- <Dialog open={true} onClose={() => {
1521
- setConfirmacionBorrado(null);
1522
- setFraseBorrado('');
1523
- setErrorFraseBorrado(false);
1520
+ <Dialog open={true} onClose={() => {
1521
+ setConfirmacionBorrado(null);
1522
+ setFraseBorrado('');
1523
+ setErrorFraseBorrado(false);
1524
1524
  }}>
1525
1525
  <DialogTitle>Advertencia: Se perderán datos</DialogTitle>
1526
1526
  <DialogContent>
1527
1527
  <DialogContentText>
1528
1528
  {`Está por borrar el formulario ${confirmacionBorrado.defBoton.forPk.formulario} (${estructura.unidades_analisis[estructura.formularios[confirmacionBorrado.defBoton.forPk.formulario].casilleros.unidad_analisis].pk_agregada}: ${confirmacionBorrado.defBoton.num}). Los datos del mismo y todos sus registros asociados se perderán. ¿Desea continuar?`}
1529
1529
  </DialogContentText>
1530
-
1530
+
1531
1531
  <div style={{ marginTop: '20px', marginBottom: '20px' }}>
1532
1532
  <DialogContentText>
1533
1533
  Para confirmar el borrado, escriba la frase <strong>"forzar borrado"</strong> a continuación:
1534
1534
  </DialogContentText>
1535
- <input
1535
+ <input
1536
1536
  id="input-forzar-borrado"
1537
- type="text"
1538
- value={fraseBorrado}
1537
+ type="text"
1538
+ value={fraseBorrado}
1539
1539
  onChange={e => {
1540
1540
  setFraseBorrado(e.target.value);
1541
1541
  setErrorFraseBorrado(false);
1542
- }}
1542
+ }}
1543
1543
  style={{width: '100%', padding: '8px', border: errorFraseBorrado ? '1px solid red' : '1px solid #ccc', borderRadius: '4px'}}
1544
1544
  placeholder="forzar borrado"
1545
1545
  autoComplete="off"
@@ -1553,20 +1553,20 @@ function BotonFormularioDespliegue(props: { casillero: BotonFormulario, formular
1553
1553
  </div>
1554
1554
  </DialogContent>
1555
1555
  <DialogActions>
1556
- <Button
1557
- color="primary"
1558
- variant="outlined"
1559
- onClick={() => {
1560
- setConfirmacionBorrado(null);
1561
- setFraseBorrado('');
1562
- setErrorFraseBorrado(false);
1556
+ <Button
1557
+ color="primary"
1558
+ variant="outlined"
1559
+ onClick={() => {
1560
+ setConfirmacionBorrado(null);
1561
+ setFraseBorrado('');
1562
+ setErrorFraseBorrado(false);
1563
1563
  }}
1564
1564
  >
1565
1565
  Cancelar
1566
1566
  </Button>
1567
1567
  <Button color="secondary" variant="contained" onClick={() => {
1568
1568
  if (!confirmacionBorrado) return;
1569
-
1569
+
1570
1570
  if (fraseBorrado.trim().toLowerCase() !== "forzar borrado") {
1571
1571
  setErrorFraseBorrado(true);
1572
1572
  setTimeout(() => {
@@ -1715,7 +1715,7 @@ function BloqueDespliegue(props: { bloque: Bloque, formulario: Formulario, forPk
1715
1715
  var { modoDespliegue } = useSelectorVivienda(forPk);
1716
1716
  if (multiple) {
1717
1717
  // TODO: GENERALIZAR
1718
- // @ts-ignore
1718
+ // @ts-ignore
1719
1719
  // lista=respuestas.personas.map((_persona, i)=>(
1720
1720
  // {forPk:{...forPk, persona:i+1}, key:i+1, multiple:true}
1721
1721
  // ))
@@ -2081,7 +2081,7 @@ setDesplegarLineaResumenUAPrincipal((props: {
2081
2081
  feedbackAll: { [formulario in PlainForPk]: FormStructureState<IdVariable, Valor, IdFin> },
2082
2082
  _estructura: Estructura
2083
2083
  ) => {
2084
- //pregunto si es la misma vivienda porque la funcion se dispara
2084
+ //pregunto si es la misma vivienda porque la funcion se dispara
2085
2085
  //con todas las combinaciones de respuestas para cada forPk
2086
2086
  //@ts-ignore vivienda existe
2087
2087
  if (r[estructura.pkAgregadaUaPpal] == forPk[estructura.pkAgregadaUaPpal]) {
@@ -2286,8 +2286,8 @@ export function AppBarPrincipal(props: AppBarPrincipalProps): JSX.Element {
2286
2286
  <Toolbar>
2287
2287
  {props.barraNavFormulario}
2288
2288
  {mostrarBotoneraNavegacion ? (
2289
- <BotoneraNavegacion disabled={props.disabled}/>
2290
- ) : null}
2289
+ <BotoneraNavegacion disabled={props.disabled}/>
2290
+ ) : null}
2291
2291
  {props.modoDM === 'capa' && !props.barraNavFormulario ? (
2292
2292
  <Typography><span style={{ marginLeft: '5px' }}> MODO CAPACITACIÓN</span></Typography>
2293
2293
  ) : null}
@@ -2304,7 +2304,7 @@ export function BotoneraNavegacion(props: { disabled?: boolean }): JSX.Element {
2304
2304
  return (
2305
2305
  <ButtonGroup variant="outlined" size="small" color="inherit">
2306
2306
  <Button
2307
- onClick={() =>
2307
+ onClick={() =>
2308
2308
  dispatch(dispatchers.SET_OPCION({ opcion: 'pantallaActual', valor: 'hdr' }))
2309
2309
  }
2310
2310
  disabled={pantallaActual === 'hdr' || props.disabled}
@@ -2312,7 +2312,7 @@ export function BotoneraNavegacion(props: { disabled?: boolean }): JSX.Element {
2312
2312
  >
2313
2313
  <ICON.Assignment /> Hoja de Ruta
2314
2314
  </Button>
2315
-
2315
+
2316
2316
  <Button
2317
2317
  onClick={() =>
2318
2318
  dispatch(dispatchers.SET_OPCION({ opcion: 'pantallaActual', valor: 'sincronizacion' }))
@@ -2326,11 +2326,11 @@ export function BotoneraNavegacion(props: { disabled?: boolean }): JSX.Element {
2326
2326
  );
2327
2327
  }
2328
2328
 
2329
- export function UsuarioLogueadoYConfig(props: {
2329
+ export function UsuarioLogueadoYConfig(props: {
2330
2330
  mostrarSetup?: boolean,
2331
2331
  mostrarLogout?: boolean,
2332
- onLogout?: () => void,
2333
- navigationMenu?: React.ReactNode
2332
+ onLogout?: () => void,
2333
+ navigationMenu?: React.ReactNode
2334
2334
  }): JSX.Element {
2335
2335
  var username: string | null = getFormRenderer().getUsernameLogueado();
2336
2336
  var idper: string | null = getFormRenderer().getIdperLogueado();
@@ -2365,8 +2365,8 @@ export function UsuarioLogueadoYConfig(props: {
2365
2365
  </Typography>
2366
2366
  {props.mostrarSetup ? (
2367
2367
  <FastSetup>
2368
- <MenuItem
2369
- onClick={() =>
2368
+ <MenuItem
2369
+ onClick={() =>
2370
2370
  dispatch(dispatchers.SET_OPCION({ opcion: 'pantallaActual', valor: 'modo' }))}
2371
2371
  >
2372
2372
  <ListItemIcon>{modoDM === 'capa' ? <ICON.BusinessCenter /> : <ICON.SportsEsports />} </ListItemIcon>
@@ -2378,8 +2378,8 @@ export function UsuarioLogueadoYConfig(props: {
2378
2378
  >
2379
2379
  <ListItemText>Soporte técnico</ListItemText>
2380
2380
  </MenuItem>
2381
- <MenuItem
2382
- onClick={() =>
2381
+ <MenuItem
2382
+ onClick={() =>
2383
2383
  dispatch(dispatchers.RESET_OPCIONES({}))}
2384
2384
  >
2385
2385
  <ListItemIcon><ICON.Refresh/></ListItemIcon>
@@ -2389,7 +2389,7 @@ export function UsuarioLogueadoYConfig(props: {
2389
2389
  onClick={() => {
2390
2390
  history.replaceState(null, '', `${location.origin + location.pathname}/../menu#i=sincronizar`);
2391
2391
  location.reload();
2392
- }}
2392
+ }}
2393
2393
  >
2394
2394
  <ListItemIcon><ICON.SyncAlt /></ListItemIcon>
2395
2395
  <ListItemText>Sincronización (link viejo)</ListItemText>
@@ -2528,7 +2528,7 @@ export function LayoutAccionDispositivo(props: LayoutAccionDispositivoProps): JS
2528
2528
  onClick={props.onAccion}
2529
2529
  >
2530
2530
  {props.textoBotonAccion}
2531
- </Button>
2531
+ </Button>
2532
2532
  </div>
2533
2533
  <div style={{ display: 'flex', gap: '10px', alignItems: 'center', flexWrap: 'wrap' }}>
2534
2534
  {!props.online && (
@@ -2598,7 +2598,7 @@ export function PantallaSincronizacion(props: PantallaSincronizacionProps): JSX.
2598
2598
  loading={loading}
2599
2599
  online={online}
2600
2600
  textoBotonAccion={
2601
- loading ?
2601
+ loading ?
2602
2602
  'Sincronizando...'
2603
2603
  :
2604
2604
  <span style={{ display: 'flex', alignItems: 'center', gap: '8px' }}><ICON.CloudSync /> Sincronizar</span>
@@ -36,6 +36,7 @@ export type CasilleroBase = {
36
36
  casillero: IdCasillero;
37
37
  nombre: string;
38
38
  salto: IdDestino | IdFin | null;
39
+ salto_ns_nc?: IdDestino | IdFin | null;
39
40
  ver_id: string | null;
40
41
  despliegueEncabezado: 'lateral' | 'superior' | null;
41
42
  despliegueContenido: 'vertical' | 'horizontal' | null;
@@ -67,6 +68,7 @@ export type Opcion = CasilleroBase & {
67
68
  var_name?: null;
68
69
  tipovar?: null;
69
70
  primera_variable?: null;
71
+ salto_ns_nc?: null;
70
72
  };
71
73
  export type OpcionSi = Opcion & {
72
74
  casillero: 1;
@@ -86,6 +88,7 @@ export type OpcionMultiple = CasilleroBase & {
86
88
  calculada?: boolean;
87
89
  libre?: boolean;
88
90
  valor_ns_nc: any;
91
+ salto_ns_nc?: null;
89
92
  };
90
93
  export type PreguntaBase = CasilleroBase & {
91
94
  tipoc: 'P';
@@ -99,25 +102,26 @@ export type PreguntaSimple = PreguntaBase & {
99
102
  tipovar: TipoVariables;
100
103
  var_name: IdVariable;
101
104
  longitud: string;
102
- salto_ns_nc: IdVariable | null;
105
+ salto_ns_nc: IdDestino | IdFin | null;
103
106
  casilleros: PreguntaSimple[];
104
107
  };
105
108
  export type PreguntaConSiNo = PreguntaBase & {
106
109
  tipovar: 'si_no';
107
110
  var_name: IdVariable;
108
- salto_ns_nc: IdVariable | null;
111
+ salto_ns_nc: IdDestino | IdFin | null;
109
112
  casilleros: [OpcionSi, OpcionNo];
110
113
  };
111
114
  export type PreguntaConOpciones = PreguntaBase & {
112
115
  tipovar: 'opciones';
113
116
  var_name: IdVariable;
114
- salto_ns_nc: IdVariable | null;
117
+ salto_ns_nc: IdDestino | IdFin | null;
115
118
  casilleros: Opcion[];
116
119
  };
117
120
  export type PreguntaConOpcionesMultiples = PreguntaBase & {
118
121
  var_name?: null;
119
122
  tipovar?: null;
120
123
  casilleros: OpcionMultiple[];
124
+ salto_ns_nc?: null;
121
125
  };
122
126
  export type Pregunta = PreguntaSimple | PreguntaConSiNo | PreguntaConOpciones | PreguntaConOpcionesMultiples;
123
127
  export type ConjuntoPreguntas = CasilleroBase & {
@@ -126,6 +130,7 @@ export type ConjuntoPreguntas = CasilleroBase & {
126
130
  var_name?: null;
127
131
  tipovar?: null;
128
132
  casilleros: Pregunta[];
133
+ salto_ns_nc?: null;
129
134
  };
130
135
  export type Filtro = CasilleroBase & {
131
136
  tipoc: 'FILTRO';
@@ -135,6 +140,7 @@ export type Filtro = CasilleroBase & {
135
140
  primera_variable?: null;
136
141
  calculada?: null;
137
142
  libre?: null;
143
+ salto_ns_nc?: null;
138
144
  };
139
145
  export type ContenidoFormulario = Bloque | Pregunta | ConjuntoPreguntas | Filtro | BotonFormulario | Consistencia | Texto;
140
146
  export type Bloque = CasilleroBase & {
@@ -144,6 +150,7 @@ export type Bloque = CasilleroBase & {
144
150
  var_name?: null;
145
151
  tipovar?: null;
146
152
  unidad_analisis?: IdUnidadAnalisis;
153
+ salto_ns_nc?: null;
147
154
  };
148
155
  export type Consistencia = CasilleroBase & {
149
156
  tipoc: 'CONS';
@@ -151,6 +158,7 @@ export type Consistencia = CasilleroBase & {
151
158
  var_name?: null;
152
159
  tipovar?: null;
153
160
  primera_variable?: null;
161
+ salto_ns_nc?: null;
154
162
  };
155
163
  export type Texto = CasilleroBase & {
156
164
  tipoc: 'TEXTO';
@@ -158,6 +166,7 @@ export type Texto = CasilleroBase & {
158
166
  var_name?: null;
159
167
  tipovar?: null;
160
168
  primera_variable?: null;
169
+ salto_ns_nc?: null;
161
170
  };
162
171
  export type Libre = CasilleroBase & {
163
172
  tipoc: 'LIBRE';
@@ -165,6 +174,7 @@ export type Libre = CasilleroBase & {
165
174
  var_name?: null;
166
175
  tipovar?: null;
167
176
  primera_variable?: null;
177
+ salto_ns_nc?: null;
168
178
  };
169
179
  export type BotonFormulario = CasilleroBase & {
170
180
  tipoc: 'BF';
@@ -175,6 +185,7 @@ export type BotonFormulario = CasilleroBase & {
175
185
  var_names_BF?: IdVariable[];
176
186
  longitud?: string;
177
187
  unidad_analisis?: IdUnidadAnalisis;
188
+ salto_ns_nc?: null;
178
189
  };
179
190
  export type Formulario = CasilleroBase & {
180
191
  tipoc: 'F';
@@ -185,9 +196,11 @@ export type Formulario = CasilleroBase & {
185
196
  tipovar?: null;
186
197
  hermano?: true;
187
198
  unidad_analisis: IdUnidadAnalisis;
199
+ salto_ns_nc?: null;
188
200
  };
189
201
  export type PMatriz = CasilleroBase & {
190
202
  tipoc: 'PMATRIZ';
203
+ salto_ns_nc?: null;
191
204
  };
192
205
  export type CasillerosImplementados = Formulario | Bloque | Filtro | ConjuntoPreguntas | Pregunta | OpcionMultiple | Opcion | BotonFormulario | Consistencia | Texto | Libre | PMatriz;
193
206
  export type CampoPkRaiz = 'vivienda' | 'etc...';
@@ -18,4 +18,4 @@
18
18
  exports.iterator = LikeAr.iterator;
19
19
  exports.empty = LikeAr.empty;
20
20
  });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvdGlwb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUE2ZmIsb0NBRUM7SUE3ZkQsa0NBQWtDO0lBMmZsQyxTQUFnQixZQUFZLENBQUMsS0FBWTtRQUNyQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVVLFFBQUEsUUFBUSxHQUFtRCxNQUFNLENBQUMsUUFBUSxDQUFBO0lBQzFFLFFBQUEsS0FBSyxHQUFrRSxNQUFNLENBQUMsS0FBSyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcbmltcG9ydCB7IFN0cnVjdHVyZSwgRmVlZGJhY2sgfSBmcm9tIFwicm93LXZhbGlkYXRvclwiO1xyXG5pbXBvcnQgKiBhcyBMaWtlQXIgZnJvbSBcImxpa2UtYXJcIjtcclxuaW1wb3J0IHsgT3BlcmF0aXZvR2VuZXJhdG9yIH0gZnJvbSBcIm1ldGEtZW5jXCI7XHJcblxyXG5leHBvcnQgdHlwZSBNb2RvQWxtYWNlbmFtaWVudG8gPSAnc2Vzc2lvbicgfCAvLyBjdWFuZG8gc2VhIHBhcmEgdW5hIHNvbGEgcGVzdGHDsWEsIHNlIHVzYSBlbiBtb2RvIGRpcmVjdG8sXHJcbiAgICAnbG9jYWwnICAgIC8vIHBhcmEgdG9kbyBlbCBkaXNwb3NpdGl2bywgc2UgdXNhIGFsIGNhcmdhciBob2phcyBkZSBydXRhIGVudHJlc1xyXG5cclxuZXhwb3J0IHR5cGUgSWRPcGNpb24gPSBudW1iZXJcclxuZXhwb3J0IHR5cGUgSWRPcGVyYXRpdm8gPSAnZXRvaTIxMScgfCAnZWFoMjAyMicgfCAnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZFZhcmlhYmxlID0gJ3YxJyB8ICd2MicgfCAndjMnIHwgJ2V0Yy4uLicgfCAndmRvbWluaW8nIHwgJyRwMCdcclxuZXhwb3J0IHR5cGUgSWRQcmVndW50YSA9ICdQMScgfCAnUDInIHwgJ2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRCbG9xdWUgPSAnQjEnIHwgJ0IyJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkRm9ybXVsYXJpbyA9ICdGMScgfCAnRjInIHwgJ2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRVbmlkYWRBbmFsaXNpcyA9ICd2aXZpZW5kYXMnIHwgJ2hvZ2FyZXMnIHwgJ3BlcnNvbmFzJ1xyXG5leHBvcnQgdHlwZSBJZEJvdG9uRm9ybXVsYXJpbyA9ICdCRjpGMScgfCAnQkY6RjInIHwgJ2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRDb25zaXN0ZW5jaWEgPSAnQ09OUzEnIHwgJ0NPTlMyJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkVGV4dG8gPSAnRDMwX1JFRicgfCAnTUVTX1JFRicgfCAnU0VNX1JFRicgfCAnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZEZpbHRybyA9ICdGSUxUUk8xJyB8ICdGSUxUUk8yJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkQ2FzaWxsZXJvID0gSWRWYXJpYWJsZSB8IElkUHJlZ3VudGEgfCBJZEJsb3F1ZSB8IElkRm9ybXVsYXJpbyB8IElkRmlsdHJvIHwgSWRPcGNpb25cclxuZXhwb3J0IHR5cGUgSWRGaW4gPSAnZmluJzsgLy8gbmV2ZXIgLy8gVE9ETzogcG9kZXIgcG9uZXIgJ0ZJTidcclxuZXhwb3J0IHR5cGUgSWREZXN0aW5vID0gSWRQcmVndW50YSB8IElkQmxvcXVlIHwgSWRGaW4gfCBJZEZpbHRyb1xyXG5leHBvcnQgdHlwZSBWYWxvciA9IHN0cmluZyB8IG51bWJlciB8IG51bGw7XHJcbmV4cG9ydCB0eXBlIFRpcG9jRGVzdGlub3MgPSAnUCcgfCAnQ1AnIHwgJ0InIHwgJ0ZJTFRSTycgfCAnQkYnXHJcbmV4cG9ydCB0eXBlIFRpcG9jID0gVGlwb2NEZXN0aW5vcyB8ICdGJyB8ICdPJyB8ICdPTScgfCAnQ09OUycgfCAnVEVYVE8nIHwgJ0xJQlJFJyB8ICdQTUFUUklaJ1xyXG5cclxuZXhwb3J0IHR5cGUgRXNwZWNpYWwgPSB7XHJcbiAgICBncHM/OiBib29sZWFuXHJcbiAgICBub1Njcm9sbD86IGJvb2xlYW5cclxuICAgIHNjcm9sbFRvPzogSWRWYXJpYWJsZSB8IElkRmluXHJcbiAgICBhdXRvaW5nPzogc3RyaW5nXHJcbiAgICBmbGV4RGlyZWN0aW9uPzogJ3JvdycgfCAnY29sdW1uJyB8ICdyb3ctcmV2ZXJzZScgfCAnY29sdW1uLXJldmVyc2UnXHJcbiAgICBjYW1wb3NSZXN1bWVuPzogc3RyaW5nW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWRUYXJlYSA9ICdlbmN1JyB8ICdyZWN1JyB8ICdzdXBlJyB8ICdpbmdyJztcclxuXHJcbmV4cG9ydCB0eXBlIEZlZWRiYWNrVmFyaWFibGUgPSBGZWVkYmFjazxJZFZhcmlhYmxlLCBJZEZpbj5cclxuXHJcbmV4cG9ydCB0eXBlIFRpcG9WYXJpYWJsZXMgPSAndGV4dG8nIHwgJ251bWVybycgfCAnZmVjaGEnIHwgJ2hvcmFzJyB8ICdob3JhJ1xyXG5cclxuZXhwb3J0IHR5cGUgRGVzcGxpZWd1ZSA9ICdob3Jpem9udGFsJyB8ICdvY3VsdGEnXHJcblxyXG5leHBvcnQgdHlwZSBDYXNpbGxlcm9CYXNlID0ge1xyXG4gICAgaWRfY2FzaWxsZXJvPzogc3RyaW5nXHJcbiAgICB0aXBvYzogVGlwb2NcclxuICAgIGNhc2lsbGVybzogSWRDYXNpbGxlcm9cclxuICAgIG5vbWJyZTogc3RyaW5nXHJcbiAgICBzYWx0bzogSWREZXN0aW5vIHwgSWRGaW4gfCBudWxsXHJcbiAgICB2ZXJfaWQ6IHN0cmluZyB8IG51bGxcclxuICAgIGRlc3BsaWVndWVFbmNhYmV6YWRvOiAnbGF0ZXJhbCcgfCAnc3VwZXJpb3InIHwgbnVsbFxyXG4gICAgZGVzcGxpZWd1ZUNvbnRlbmlkbzogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJyB8IG51bGxcclxuICAgIGRlc3BsaWVndWVUaXBvSW5wdXQ6ICd0ZWwnIHwgbnVsbFxyXG4gICAgZGVzcGxpZWd1ZU9jdWx0YTogYm9vbGVhbiB8IG51bGxcclxuICAgIGxlZXI6IGJvb2xlYW4gfCBudWxsXHJcbiAgICBhY2xhcmFjaW9uOiBzdHJpbmcgfCBudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzogSWRWYXJpYWJsZSB8IG51bGxcclxuICAgIHZhcl9uYW1lPzogSWRWYXJpYWJsZSB8IG51bGxcclxuICAgIHZhcl9uYW1lX2VzcGVjaWFsPzogc3RyaW5nIHwgbnVsbFxyXG4gICAgdGlwb3Zhcj86IFRpcG9WYXJpYWJsZXMgfCAnb3BjaW9uZXMnIHwgJ3NpX25vJyB8IG51bGxcclxuICAgIGNhc2lsbGVyb3M/OiBDYXNpbGxlcm9zSW1wbGVtZW50YWRvc1tdIHwgbnVsbFxyXG4gICAgZXhwcmVzaW9uX2hhYmlsaXRhcj86IHN0cmluZ1xyXG4gICAgZXhwcmVzaW9uX2hhYmlsaXRhcl9qcz86IHN0cmluZ1xyXG4gICAgZXhwcmVzaW9uX2F1dG9pbmdyZXNhcj86IHN0cmluZ1xyXG4gICAgZXhwcmVzaW9uX2F1dG9pbmdyZXNhcl9qcz86IHN0cmluZ1xyXG4gICAgZXNwZWNpYWw/OiBFc3BlY2lhbFxyXG4gICAgY2FsY3VsYWRhPzogYm9vbGVhbiB8IG51bGxcclxuICAgIG9wdGF0aXZvPzogYm9vbGVhbiB8IG51bGxcclxuICAgIGxpYnJlPzogYm9vbGVhbiB8IG51bGxcclxuICAgIHZhbG9yX25zX25jPzogYW55XHJcbiAgICBkZXNwbGllZ3VlPzogc3RyaW5nXHJcbiAgICBsb25naXR1ZD86IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBPcGNpb24gPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdPJ1xyXG4gICAgY2FzaWxsZXJvOiBJZE9wY2lvblxyXG4gICAgY2FzaWxsZXJvczogUHJlZ3VudGFTaW1wbGVbXVxyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3BjaW9uU2kgPSBPcGNpb24gJiB7XHJcbiAgICBjYXNpbGxlcm86IDFcclxuICAgIG5vbWJyZTogJ1PDrSdcclxuICAgIGNhc2lsbGVyb3M6IFByZWd1bnRhU2ltcGxlW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3BjaW9uTm8gPSBPcGNpb24gJiB7XHJcbiAgICBjYXNpbGxlcm86IDJcclxuICAgIG5vbWJyZTogJ05vJ1xyXG4gICAgY2FzaWxsZXJvczogUHJlZ3VudGFTaW1wbGVbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBPcGNpb25NdWx0aXBsZSA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ09NJ1xyXG4gICAgdGlwb3ZhcjogJ29wY2lvbmVzJ1xyXG4gICAgdmFyX25hbWU6IElkVmFyaWFibGVcclxuICAgIGNhc2lsbGVyb3M6IFtPcGNpb25TaSwgT3BjaW9uTm9dXHJcbiAgICBjYWxjdWxhZGE/OiBib29sZWFuXHJcbiAgICBsaWJyZT86IGJvb2xlYW5cclxuICAgIHZhbG9yX25zX25jOiBhbnlcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJlZ3VudGFCYXNlID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnUCdcclxuICAgIG9wdGF0aXZvOiBib29sZWFuIHwgbnVsbFxyXG4gICAgY2FzaWxsZXJvOiBJZFByZWd1bnRhXHJcbiAgICBjYWxjdWxhZGE6IGJvb2xlYW4gfCBudWxsXHJcbiAgICBsaWJyZTogYm9vbGVhbiB8IG51bGxcclxuICAgIHZhbG9yX25zX25jOiBhbnlcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJlZ3VudGFTaW1wbGUgPSBQcmVndW50YUJhc2UgJiB7XHJcbiAgICB0aXBvdmFyOiBUaXBvVmFyaWFibGVzXHJcbiAgICB2YXJfbmFtZTogSWRWYXJpYWJsZVxyXG4gICAgbG9uZ2l0dWQ6IHN0cmluZ1xyXG4gICAgc2FsdG9fbnNfbmM6IElkVmFyaWFibGUgfCBudWxsXHJcbiAgICBjYXNpbGxlcm9zOiBQcmVndW50YVNpbXBsZVtdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByZWd1bnRhQ29uU2lObyA9IFByZWd1bnRhQmFzZSAmIHtcclxuICAgIHRpcG92YXI6ICdzaV9ubydcclxuICAgIHZhcl9uYW1lOiBJZFZhcmlhYmxlXHJcbiAgICBzYWx0b19uc19uYzogSWRWYXJpYWJsZSB8IG51bGxcclxuICAgIGNhc2lsbGVyb3M6IFtPcGNpb25TaSwgT3BjaW9uTm9dXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByZWd1bnRhQ29uT3BjaW9uZXMgPSBQcmVndW50YUJhc2UgJiB7XHJcbiAgICB0aXBvdmFyOiAnb3BjaW9uZXMnXHJcbiAgICB2YXJfbmFtZTogSWRWYXJpYWJsZVxyXG4gICAgc2FsdG9fbnNfbmM6IElkVmFyaWFibGUgfCBudWxsXHJcbiAgICBjYXNpbGxlcm9zOiBPcGNpb25bXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YUNvbk9wY2lvbmVzTXVsdGlwbGVzID0gUHJlZ3VudGFCYXNlICYge1xyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgY2FzaWxsZXJvczogT3BjaW9uTXVsdGlwbGVbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YSA9IFByZWd1bnRhU2ltcGxlIHwgUHJlZ3VudGFDb25TaU5vIHwgUHJlZ3VudGFDb25PcGNpb25lcyB8IFByZWd1bnRhQ29uT3BjaW9uZXNNdWx0aXBsZXNcclxuXHJcbmV4cG9ydCB0eXBlIENvbmp1bnRvUHJlZ3VudGFzID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnQ1AnXHJcbiAgICBjYXNpbGxlcm86IElkUHJlZ3VudGFcclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIGNhc2lsbGVyb3M6IFByZWd1bnRhW11cclxufVxyXG5cclxuLypcclxuZXhwb3J0IGludGVyZmFjZSBJQ29udGVuaWRvIGV4dGVuZHMgQ2FzaWxsZXJvQmFzZSB7XHJcbiAgICBjYXNpbGxlcm9zOklDb250ZW5pZG9bXVxyXG59XHJcbiovXHJcblxyXG5leHBvcnQgdHlwZSBGaWx0cm8gPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdGSUxUUk8nXHJcbiAgICBjYXNpbGxlcm86IElkRmlsdHJvXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzogbnVsbFxyXG4gICAgY2FsY3VsYWRhPzogbnVsbFxyXG4gICAgbGlicmU/OiBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbnRlbmlkb0Zvcm11bGFyaW8gPSBCbG9xdWUgfCBQcmVndW50YSB8IENvbmp1bnRvUHJlZ3VudGFzIHwgRmlsdHJvIHwgQm90b25Gb3JtdWxhcmlvIHwgQ29uc2lzdGVuY2lhIHwgVGV4dG9cclxuXHJcbmV4cG9ydCB0eXBlIEJsb3F1ZSA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ0InXHJcbiAgICBjYXNpbGxlcm86IElkQmxvcXVlXHJcbiAgICBjYXNpbGxlcm9zOiBDb250ZW5pZG9Gb3JtdWxhcmlvW11cclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIHVuaWRhZF9hbmFsaXNpcz86IElkVW5pZGFkQW5hbGlzaXNcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ29uc2lzdGVuY2lhID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnQ09OUydcclxuICAgIGNhc2lsbGVybzogSWRDb25zaXN0ZW5jaWFcclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIHByaW1lcmFfdmFyaWFibGU/OiBudWxsXHJcbn1cclxuZXhwb3J0IHR5cGUgVGV4dG8gPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdURVhUTydcclxuICAgIGNhc2lsbGVybzogSWRUZXh0b1xyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86IG51bGxcclxufVxyXG5leHBvcnQgdHlwZSBMaWJyZSA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ0xJQlJFJ1xyXG4gICAgY2FzaWxsZXJvOiBJZFRleHRvXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzogbnVsbFxyXG59XHJcbmV4cG9ydCB0eXBlIEJvdG9uRm9ybXVsYXJpbyA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ0JGJ1xyXG4gICAgY2FzaWxsZXJvOiBJZEJvdG9uRm9ybXVsYXJpb1xyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86IElkVmFyaWFibGUgfCBudWxsXHJcbiAgICB2YXJfbmFtZXNfQkY/OiBJZFZhcmlhYmxlW11cclxuICAgIGxvbmdpdHVkPzogc3RyaW5nXHJcbiAgICB1bmlkYWRfYW5hbGlzaXM/OiBJZFVuaWRhZEFuYWxpc2lzXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEZvcm11bGFyaW8gPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdGJ1xyXG4gICAgY2FzaWxsZXJvOiBJZEZvcm11bGFyaW9cclxuICAgIGZvcm11bGFyaW9fcHJpbmNpcGFsOiBib29sZWFuXHJcbiAgICBjYXNpbGxlcm9zOiBDb250ZW5pZG9Gb3JtdWxhcmlvW11cclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIGhlcm1hbm8/OiB0cnVlXHJcbiAgICB1bmlkYWRfYW5hbGlzaXM6IElkVW5pZGFkQW5hbGlzaXNcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUE1hdHJpeiA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ1BNQVRSSVonXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENhc2lsbGVyb3NJbXBsZW1lbnRhZG9zID0gRm9ybXVsYXJpbyB8IEJsb3F1ZSB8IEZpbHRybyB8IENvbmp1bnRvUHJlZ3VudGFzIHwgUHJlZ3VudGEgfCBPcGNpb25NdWx0aXBsZSB8IE9wY2lvbiB8IEJvdG9uRm9ybXVsYXJpbyB8IENvbnNpc3RlbmNpYSB8IFRleHRvIHwgTGlicmUgfCBQTWF0cml6XHJcblxyXG5leHBvcnQgdHlwZSBDYW1wb1BrUmFpeiA9ICd2aXZpZW5kYScgfCAnZXRjLi4uJztcclxuXHJcbmV4cG9ydCB0eXBlIFZhbHVlUGtSYWl6ID0gSWRFbmNcclxuXHJcbmV4cG9ydCB0eXBlIEZvclBrUmFpeiA9IHtcclxuICAgIGZvcm11bGFyaW86IElkRm9ybXVsYXJpb1xyXG59ICYge1xyXG4gICAgW2NhbXBvIGluIENhbXBvUGtSYWl6XTogVmFsdWVQa1JhaXpcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ2FtcG9QayA9ICd2aXZpZW5kYScgfCAnaG9nYXInIHwgJ3BlcnNvbmEnIHwgJ2V0Yy4uLic7XHJcbmV4cG9ydCB0eXBlIEZvclBrID0gRm9yUGtSYWl6ICYge1xyXG4gICAgW2NhbXBvIGluIENhbXBvUGtdPzogbnVtYmVyXHJcbn1cclxuZXhwb3J0IHR5cGUgUGxhaW5Gb3JQayA9ICd7XCJmb3JtdWxhcmlvXCI6XCJGOkYxXCIsXCJ2aXZpZW5kYVwiOlwiMTAyMDJcIixcInBlcnNvbmFcIjpudWxsfScgfCAnZXRjLi4uJztcclxuXHJcbmV4cG9ydCB0eXBlIE9iamV0b051bWVyYWRvT0FycmF5PFQ+ID0gVFtdIHwgeyBbbiBpbiBudW1iZXJdOiBUIH1cclxuXHJcbmV4cG9ydCB0eXBlIFJlc3B1ZXN0YXNVbmFVQSA9IHtcclxuICAgIFtwcmVndW50YSBpbiBJZFZhcmlhYmxlXTogVmFsb3JcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUmVzcHVlc3RhTGFzVUEgPSB7XHJcbiAgICBbdWEgaW4gSWRVbmlkYWRBbmFsaXNpc106IE9iamV0b051bWVyYWRvT0FycmF5PFJlc3B1ZXN0YXM+XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFJlc3B1ZXN0YXMgPSBSZXNwdWVzdGFzVW5hVUEgJiBSZXNwdWVzdGFMYXNVQVxyXG5cclxuZXhwb3J0IHR5cGUgUmVzcHVlc3Rhc1JhaXogPSBSZXNwdWVzdGFzICYge1xyXG4gICAgcmVzdW1lbkVzdGFkbzogUmVzdW1lbkVzdGFkb1xyXG4gICAgcmVzdW1lbkVzdGFkb1N1cDogUmVzdW1lbkVzdGFkb1xyXG4gICAgJGRpcnR5OiBib29sZWFuXHJcbiAgICBjb2ROb1JlYTogc3RyaW5nIHwgbnVsbFxyXG4gICAgY29kUmVhOiBudW1iZXIgfCBudWxsXHJcbiAgICBjb2ROb1JlYVN1cDogc3RyaW5nIHwgbnVsbFxyXG4gICAgY29kUmVhU3VwOiBudW1iZXIgfCBudWxsXHJcbn1cclxuXHJcbi8qXHJcbiAgICBhY2xhcmFjacOzbjpcclxuICAgIHt2MToneCcsIHYyOid4JywgcGVyc29uYXM6W3twMToxLCBwMjoneH0se3AxOjIsIHAyOnh9XSwgbWFzY290YXM6W10gfVxyXG4gICAgZXN0w6EgYW5pZGFkbyBwb3IgdW5pZGFkIGRlIGFuw6FsaXNpc1xyXG4qL1xyXG5cclxuZXhwb3J0IHR5cGUgVW5pZGFkQW5hbGlzaXMgPSB7XHJcbiAgICB1bmlkYWRfYW5hbGlzaXM6IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICBwYWRyZT86IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICBwa19hZ3JlZ2FkYTogQ2FtcG9QayxcclxuICAgIHByaW5jaXBhbD86IGJvb2xlYW4sXHJcbiAgICBoaWphczogeyBbayBpbiBJZFVuaWRhZEFuYWxpc2lzXT86IFVuaWRhZEFuYWxpc2lzIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVEVNID0ge1xyXG4gICAgbm9tY2FsbGU6IHN0cmluZ1xyXG4gICAgZG9taW5pbzogbnVtYmVyXHJcbiAgICBzZWN0b3I6IHN0cmluZ1xyXG4gICAgZWRpZmljaW86IHN0cmluZ1xyXG4gICAgZW50cmFkYTogc3RyaW5nXHJcbiAgICBucm9jYXRhc3RyYWw6IHN0cmluZ1xyXG4gICAgcGlzbzogc3RyaW5nXHJcbiAgICBkZXBhcnRhbWVudG86IHN0cmluZ1xyXG4gICAgaGFiaXRhY2lvbjogc3RyaW5nXHJcbiAgICBjYXNhOiBzdHJpbmdcclxuICAgIHByaW9yaWRhZDogMSB8IDIgfCAzXHJcbiAgICBvYnNlcnZhY2lvbmVzOiBzdHJpbmdcclxuICAgIHNlbGVjY2lvbmFkbzogbnVtYmVyLFxyXG4gICAgY2l0YTogc3RyaW5nLFxyXG4gICAgY2FyZ2E6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBSZXN1bWVuRXN0YWRvID0gJ3ZhY2lvJyB8ICdjb24gcHJvYmxlbWFzJyB8ICdpbmNvbXBsZXRvJyB8ICdvaycgfCAnbm8gcmVhJyB8ICdjaXRhIHBhY3RhZGEnO1xyXG5cclxuZXhwb3J0IHR5cGUgSW5mb1RhcmVhID0ge1xyXG4gICAgdGFyZWE6IElkVGFyZWFcclxuICAgIG5vdGFzPzogc3RyaW5nXHJcbiAgICBmZWNoYV9hc2lnbmFjaW9uPzogRGF0ZVxyXG4gICAgYXNpZ25hZG8/OiBzdHJpbmdcclxuICAgIG1haW5fZm9ybTogSWRGb3JtdWxhcmlvXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFZpc2l0YSA9IHtcclxuICAgIGZlY2hhOiBzdHJpbmcgfCBudWxsXHJcbiAgICBob3JhOiBzdHJpbmcgfCBudWxsXHJcbiAgICBpZHBlcjogc3RyaW5nIHwgbnVsbFxyXG4gICAgb2JzZXJ2YWNpb25lczogc3RyaW5nIHwgbnVsbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBEYXRvc0hkclVhUHBhbCA9IHtcclxuICAgIHRhcmVhOiBJbmZvVGFyZWFcclxuICAgIHRlbTogVEVNXHJcblxyXG4gICAgLypcclxuICAgICAgICBhY2xhcmFjacOzbjpcclxuICAgICAgICB7djE6J3gnLCB2MjoneCcsIHBlcnNvbmFzOlt7cDE6MSwgcDI6J3h9LHtwMToyLCBwMjp4fV0sIG1hc2NvdGFzOltdIH1cclxuICAgICAgICBlc3TDoSBhbmlkYWRvIHBvciB1bmlkYWQgZGUgYW7DoWxpc2lzXHJcbiAgICAqL1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJZENhcmdhID0gXCIxXCIgfCBcIjJcIiB8IFwiZXRjXCJcclxuXHJcbmV4cG9ydCB0eXBlIEVzdGFkb0NhcmdhID0gJ3Jlc3VtZW4nIHwgJ3JlbGV2YW1pZW50bycgfCAncmVjaWJvJ1xyXG5cclxuZXhwb3J0IHR5cGUgQ2FyZ2EgPSB7XHJcbiAgICBmZWNoYTogRGF0ZVxyXG4gICAgZXN0YWRvX2NhcmdhOiBFc3RhZG9DYXJnYVxyXG4gICAgbmVjZXNhcmlhczogbnVtYmVyXHJcbiAgICBvYnNlcnZhY2lvbmVzOiBzdHJpbmdcclxuICAgIHJlY2VwY2lvbmlzdGE6IHN0cmluZ1xyXG4gICAgcHVlZGVfYXV0b2dlbmVyYXI6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ2FyZ2FzID0ge1xyXG4gICAgW2lkQ2FyZ2EgaW4gSWRDYXJnYV06IENhcmdhXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEVzdHJ1Y3R1cmFSb3dWYWxpZGF0b3IgPSBTdHJ1Y3R1cmU8SWRWYXJpYWJsZSwgVmFsb3IsIElkRmluPjtcclxuXHJcbmV4cG9ydCB0eXBlIE1vZG9EZXNwbGllZ3VlID0gJ21ldGFkYXRvcycgfCAncmVsZXZhbWllbnRvJyB8ICdQREYnXHJcblxyXG5leHBvcnQgdHlwZSBQYW50YWxsYU5hdmVnYWNpb24gPSAnaGRyJyB8ICdzaW5jcm9uaXphY2lvbicgfCAnc2luY3Jvbml6YWNpb25fcmVxdWVyaWRhJyB8ICdtb2RvJztcclxuXHJcbmV4cG9ydCB0eXBlIEluZm9Gb3JtdWxhcmlvID0ge1xyXG4gICAgY2FzaWxsZXJvczogRm9ybXVsYXJpbywgLy8gY2FzaWxsZXJvcyBhcGxhbmFkb3NcclxuICAgIGVzdHJ1Y3R1cmFSb3dWYWxpZGF0b3I6IEVzdHJ1Y3R1cmFSb3dWYWxpZGF0b3IgLy8gZXN0cnVjdHVyYSBkZSB2YXJpYWJsZXMgcGFyYSBlbCBSb3dWYWxpZGF0b3JcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWRSZXN1bHRhZG8gPSAnQVZFUklHVUFSJyB8ICdUT0RPJztcclxuXHJcbmV4cG9ydCB0eXBlIFRhcmVhc0VzdHJ1Y3R1cmEgPSB7XHJcbiAgICBbaWRUYXJlYSBpbiBJZFRhcmVhXToge1xyXG4gICAgICAgIHJlc3VsdGFkb3M6IHtcclxuICAgICAgICAgICAgW2lkUmVzdWx0YWRvIGluIElkUmVzdWx0YWRvXToge1xyXG4gICAgICAgICAgICAgICAgZGVzY3JpcGNpb246IHN0cmluZ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBFc3RydWN0dXJhID0ge1xyXG4gICAgZm9ybXVsYXJpb3M6IHtcclxuICAgICAgICBbbm9tYnJlRm9ybXVsYXJpbyBpbiBJZEZvcm11bGFyaW9dOiBJbmZvRm9ybXVsYXJpb1xyXG4gICAgfVxyXG4gICAgdW5pZGFkZXNfYW5hbGlzaXM6IHtcclxuICAgICAgICBbaWRVbmlkYWRBbmFsaXNpcyBpbiBJZFVuaWRhZEFuYWxpc2lzXTogVW5pZGFkQW5hbGlzaXNcclxuICAgIH1cclxuICAgIHRhcmVhczogVGFyZWFzRXN0cnVjdHVyYVxyXG4gICAgdWFQcGFsOiBJZFVuaWRhZEFuYWxpc2lzXHJcbiAgICBwa0FncmVnYWRhVWFQcGFsOiBDYW1wb1BrUmFpelxyXG4gICAgdGltZXN0YW1wOiBudW1iZXJcclxuICAgIG9wZXJhdGl2bzogSWRPcGVyYXRpdm9cclxuICAgIGNvbmZpZ1NvcnRlbzogQ29uZmlndXJhY2lvblNvcnRlb1xyXG4gICAgaGFiaWxpdGFjaW9uQm90b25Gb3JtdWxhcmlvOiBDb25maWd1cmFjaW9uSGFiaWxpdGFyQm90b25Gb3JtdWxhcmlvXHJcbiAgICBjb25SZWFIb2dhcjogYm9vbGVhblxyXG4gICAgbm9SZWFzOiB7XHJcbiAgICAgICAgbm9fcmVhOiBzdHJpbmdcclxuICAgICAgICBkZXNjcmlwY2lvbjogc3RyaW5nXHJcbiAgICAgICAgZ3J1cG86IHN0cmluZ1xyXG4gICAgICAgIHZhcmlhYmxlOiBzdHJpbmdcclxuICAgICAgICB2YWxvcjogc3RyaW5nXHJcbiAgICAgICAgZ3J1cG8wOiBzdHJpbmdcclxuICAgIH1bXVxyXG4gICAgbm9SZWFzU3VwOiB7XHJcbiAgICAgICAgbm9fcmVhX3N1cDogc3RyaW5nXHJcbiAgICAgICAgZGVzY19ub3JlYV9zdXA6IHN0cmluZ1xyXG4gICAgICAgIGdydXBvX3N1cDogc3RyaW5nXHJcbiAgICAgICAgdmFyaWFibGVfc3VwOiBzdHJpbmdcclxuICAgICAgICB2YWxvcl9zdXA6IHN0cmluZ1xyXG4gICAgICAgIGdydXBvMF9zdXA6IHN0cmluZ1xyXG4gICAgfVtdXHJcbiAgICBkZWZhdWx0SW5mb3JtYWNpb25IZHI6IERhdG9zSGRyVWFQcGFsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIElkRW5jID0gMTMwMDMxIHwgMTMwMDMyO1xyXG5leHBvcnQgdHlwZSBJbmZvcm1hY2lvbkhkciA9IHsgW2VuYyBpbiBJZEVuY106IERhdG9zSGRyVWFQcGFsIH1cclxuXHJcbmV4cG9ydCB0eXBlIENhc29TdGF0ZSA9IHtcclxuICAgIG9wY2lvbmVzOiB7IC8vIGRhdG9zIGRlIG5hdmVnYWNpw7NuIHF1ZSBlbGlqZSBlbCB1c3VhcmlvXHJcbiAgICAgICAgZm9yUGs6IEZvclBrIHwgbnVsbCAvLyDDrW5kaWNlIGRlbnRybyBkZSBsYXMgdW5pZGFkZXMgZGUgYW7DoWxpc2lzLiBOdWxsID0gZW4gaG9qYSBkZSBydXRhXHJcbiAgICAgICAgcGlsYUZvclBrOiBGb3JQa1tdXHJcbiAgICAgICAgbW9kb0Rlc3BsaWVndWU6IE1vZG9EZXNwbGllZ3VlXHJcbiAgICAgICAgbW9kb0RpcmVjdG86IGJvb2xlYW5cclxuICAgICAgICBtb2RvQm9ycmFyUmVzcHVlc3RhOiBJZFZhcmlhYmxlIHwgbnVsbFxyXG4gICAgICAgIGNvbkNhbXBvT3BjaW9uZXM6IGJvb2xlYW5cclxuICAgICAgICBzYWx0b0F1dG9tYXRpY286IGJvb2xlYW5cclxuICAgICAgICBwYW50YWxsYUFjdHVhbDogUGFudGFsbGFOYXZlZ2FjaW9uXHJcbiAgICAgICAgYXZpc29QZXJzaXN0ZW50ZTogeyB0aXBvOiAnaW5mbycgfCAnc3VjY2VzcycgfCAnZXJyb3InLCBtZW5zYWplOiBzdHJpbmd9IHwgbnVsbFxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBEZWZPcGVyYXRpdm8gPSB7XHJcbiAgICBlc05vUmVhOiAocmVzcHVlc3RhczogUmVzcHVlc3RhcykgPT4geyBjb2ROb1JlYTogc3RyaW5nIHwgbnVsbCwgZXNOb1JlYTogYm9vbGVhbiB9LFxyXG4gICAgZXNOb1JlYVN1cDogKHJlc3B1ZXN0YXM6IFJlc3B1ZXN0YXMpID0+IHsgY29kTm9SZWFTdXA6IHN0cmluZyB8IG51bGwsIGVzTm9SZWFTdXA6IGJvb2xlYW4gfSxcclxuICAgIGVzUmVhbGl6YWRhOiAocmVzcHVlc3RhczogUmVzcHVlc3RhcykgPT4geyBjb2RSZWE6IG51bWJlciB8IG51bGwsIGVzUmVhOiBib29sZWFuIH0sXHJcbiAgICBlc1JlYWxpemFkYVN1cDogKHJlc3B1ZXN0YXM6IFJlc3B1ZXN0YXMpID0+IHsgY29kUmVhU3VwOiBudW1iZXIgfCBudWxsLCBlc1JlYVN1cDogYm9vbGVhbiB9LFxyXG4gICAgVUFwcmluY2lwYWw6IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICBkZWZVQTogeyBbaSBpbiBJZFVuaWRhZEFuYWxpc2lzXTogeyBwazogSWRWYXJpYWJsZSwgaW5jbHVpZGFzOiBJZFVuaWRhZEFuYWxpc2lzW10sIGlkc0ZvcjogSWRGb3JtdWxhcmlvW10gfSB9LFxyXG4gICAgZGVmRm9yOiB7IFtmIGluIElkRm9ybXVsYXJpb106IHsvKmFyYm9sVUE6SWRVbmlkYWRBbmFsaXNpc1tdLCAqLyBoZXJtYW5vPzogdHJ1ZSB9IH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRGF0b3NCeVBhc3NQZXJzaXN0aWJsZXMgPSB7XHJcbiAgICByZXNwdWVzdGFzOiB7IFt1YSBpbiBJZFVuaWRhZEFuYWxpc2lzXTogUmVzcHVlc3Rhc1JhaXpbXSB9XHJcbiAgICBtb2RvQWxtYWNlbmFtaWVudG86IE1vZG9BbG1hY2VuYW1pZW50b1xyXG4gICAgcGVyc29uYTogc3RyaW5nXHJcbiAgICB0YXJlYTogSWRUYXJlYVxyXG4gICAgaWRwZXI6IHN0cmluZ1xyXG4gICAgY2FyZ2FzOiBDYXJnYXNcclxuICAgIGluZm9ybWFjaW9uSGRyOiBJbmZvcm1hY2lvbkhkclxyXG4gICAgc29sb0xlY3R1cmE6IGJvb2xlYW5cclxuICAgIHRva2VuPzogc3RyaW5nXHJcbiAgICBudW1fc2luY3JvPzogbnVtYmVyXHJcbiAgICB0aW1lc3RhbXBFc3RydWN0dXJhPzogbnVtYmVyXHJcbiAgICBwZXJtaXRlQm9ycmFyRWxlbWVudG9zVUE/OiBib29sZWFuXHJcbn1cclxuXHJcbnR5cGUgQ29uZmlndXJhY2lvblNvcnRlb1RhYmxhID0ge1xyXG4gICAgbWV0b2RvOiBcInRhYmxhXCIsXHJcbiAgICBwYXJhbV9tZXRvZG86IHtcclxuICAgICAgICB0YWJsYTogc3RyaW5nW10sXHJcbiAgICAgICAgdmFyX2xldHJhOiBJZFZhcmlhYmxlLFxyXG4gICAgfVxyXG59XHJcblxyXG50eXBlIENvbmZpZ3VyYWNpb25Tb3J0ZW9IYXNoID0ge1xyXG4gICAgbWV0b2RvOiBcImhhc2hcIixcclxuICAgIHBhcmFtX21ldG9kbzoge1xyXG4gICAgICAgIHZhcl9jb2VmOiBbXHJcbiAgICAgICAgICAgIHsgdmFyOiBJZFZhcmlhYmxlLCBjb2VmOiBudW1iZXIgfSxcclxuICAgICAgICAgICAgeyB2YXI6IElkVmFyaWFibGUsIGNvZWY6IG51bWJlciB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgZGl2aXNvcjogbnVtYmVyXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWNpb25Tb3J0ZW8gPSB7IFtrZXkgaW4gSWRGb3JtdWxhcmlvXTogQ29uZmlndXJhY2lvblNvcnRlb0Zvcm11bGFyaW8gfVxyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlndXJhY2lvbkhhYmlsaXRhckJvdG9uRm9ybXVsYXJpbyA9IHsgW2tleSBpbiBJZEZvcm11bGFyaW9dOiBDb25maWd1cmFjaW9uSGFiaWxpdGFyQm90b25Gb3JtdWxhcmlvRm9ybSB9XHJcblxyXG5leHBvcnQgdHlwZSBDb25maWd1cmFjaW9uU29ydGVvRm9ybXVsYXJpbyA9IHtcclxuICAgIHVuaWRhZF9hbmFsaXNpczogSWRVbmlkYWRBbmFsaXNpcyxcclxuICAgIHVuaWRhZF9hbmFsaXNpc19wYWRyZTogSWRVbmlkYWRBbmFsaXNpcyxcclxuICAgIC8vZXhwcl9pbmNvbXBsZXRpdHVkOiBzdHJpbmcgLy9cIm5vdCAocDEpIG9yIG5vIHQgKHAyKSBvciBub3QocDMpXCJcclxuICAgIGV4cHJfaW5jb21wbGV0aXR1ZDoge1xyXG4gICAgICAgIFtrZXkgaW4gbnVtYmVyXTogeyBkb21pbmlvOiBudW1iZXIsIGV4cHI6IHN0cmluZyB9XHJcbiAgICB9XHJcbiAgICAvL2V4cHJfaW5jb21wbGV0aXR1ZF9qczogc3RyaW5nIC8vc2UgY3JlYSBhbCBjb21waWxhclxyXG4gICAgZXhwcl9pbmNvbXBsZXRpdHVkX2pzOiB7XHJcbiAgICAgICAgW2tleSBpbiBudW1iZXJdOiB7IGRvbWluaW86IG51bWJlciwgZXhwcjogc3RyaW5nIH1cclxuICAgIH1cclxuICAgIGRpc3BhcmFkb3I6IElkVmFyaWFibGUgLy9cInA5XCJcclxuICAgIC8vZmlsdHJvOiBzdHJpbmcgLy9cInAzPj0xOFwiXHJcbiAgICBmaWx0cm86IHtcclxuICAgICAgICBba2V5IGluIG51bWJlcl06IHsgZG9taW5pbzogbnVtYmVyLCBleHByOiBzdHJpbmcgfVxyXG4gICAgfVxyXG4gICAgLy9maWx0cm9fanM6IHN0cmluZyAvL3NlIGNyZWEgYWwgY29tcGlsYXJcclxuICAgIGZpbHRyb19qczoge1xyXG4gICAgICAgIFtrZXkgaW4gbnVtYmVyXTogeyBkb21pbmlvOiBudW1iZXIsIGV4cHI6IHN0cmluZyB9XHJcbiAgICB9XHJcbiAgICBvcmRlbjoge1xyXG4gICAgICAgIHZhcmlhYmxlOiBJZFZhcmlhYmxlXHJcbiAgICAgICAgb3JkZW46IDEgfCAtMVxyXG4gICAgfVtdIC8vW1wicDNcIiwgXCJwMlwiLCBcInAxXCIsIFwicDBcIl0sIC8vIHAwIGVzIGNvbnN0cnVpZGEsIG5vIHZhIGVuIHBhcsOhbWV0cm9zLCBzZSBwb25lIHBhcmEgcXVlIGVsIG9yZGVuIHNlYSBkZXRlcm1pbsOtc3RpY29cclxuICAgIHBhcmFtZXRyb3M6IElkVmFyaWFibGVbXS8vIFtcInAxXCIsXCJwMlwiLFwicDNcIiwgXCJwNFwiLCBcInA1XCIsIFwicDZcIl0sIC8vIHZhcmlhYmxlcyBxdWUgYW51bGFuIGFsIGRpc3BhcmFkb3JcclxuICAgIGNhbnRpZGFkX3NvcnRlYWJsZXM6IElkVmFyaWFibGVcclxuICAgIGNhbnRpZGFkX3RvdGFsOiBJZFZhcmlhYmxlXHJcbiAgICByZXN1bHRhZG86IElkVmFyaWFibGUgLy9cInAxMVwiXHJcbiAgICByZXN1bHRhZG9fbWFudWFsOiBJZFZhcmlhYmxlIC8vXCJwMTFcIlxyXG4gICAgc29ydGVhZG9fbW9zdHJhcj86IHsgc291cmNlOiBJZFZhcmlhYmxlLCB0YXJnZXQ6IElkVmFyaWFibGUgfVtdLFxyXG4gICAgaW5jb21wbGV0YXM6IElkVmFyaWFibGVcclxuICAgIHZhcmlhYmxlQm90b25Gb3JtdWxhcmlvVUE6IElkVmFyaWFibGUvLyckQi5GOlMxX1AnXHJcbiAgICB2YXJpYWJsZUJvdG9uRm9ybXVsYXJpb1VBSW5kaXZpZHVhbD86IElkVmFyaWFibGUgLy8nJEIuRjpJMSdcclxuICAgIGlkX2Zvcm11bGFyaW9faW5kaXZpZHVhbD86IElkRm9ybXVsYXJpbyAvLyAnRjpJMSdcclxuICAgIGlkX2Zvcm11bGFyaW9fcGFkcmU/OiBJZEZvcm11bGFyaW8gLy8gJ0Y6UzEnXHJcbn0gJiAoQ29uZmlndXJhY2lvblNvcnRlb0hhc2ggfCBDb25maWd1cmFjaW9uU29ydGVvVGFibGEpXHJcblxyXG5leHBvcnQgdHlwZSBDb25maWd1cmFjaW9uSGFiaWxpdGFyQm90b25Gb3JtdWxhcmlvRm9ybSA9IHtcclxuICAgIHVuaWRhZF9hbmFsaXNpczogSWRVbmlkYWRBbmFsaXNpcyxcclxuICAgIGV4cHJfaGFiaWxpdGFyX2JvdG9uOiBzdHJpbmcsXHJcbiAgICBleHByX2hhYmlsaXRhcl9ib3Rvbl9qczogc3RyaW5nLFxyXG4gICAgaGFiaWxpdGFyX2FncmVnYXJfbGlzdG86IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRvUGxhaW5Gb3JQayhmb3JQazogRm9yUGspOiBQbGFpbkZvclBrIHtcclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShmb3JQayk7XHJcbn1cclxuXHJcbmV4cG9ydCB2YXIgaXRlcmF0b3I6IDxUPihvOiBPYmpldG9OdW1lcmFkb09BcnJheTxUPikgPT4gSXRlcmFibGU8VD4gPSBMaWtlQXIuaXRlcmF0b3JcclxuZXhwb3J0IHZhciBlbXB0eTogPFQ+KG86IE9iamV0b051bWVyYWRvT0FycmF5PFQ+IHwgbnVsbCB8IHVuZGVmaW5lZCkgPT4gYm9vbGVhbiA9IExpa2VBci5lbXB0eVxyXG5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gICAgbmFtZXNwYWNlIG15T3duIHtcclxuICAgICAgICBpbnRlcmZhY2UgQWRkclBhcmFtcyB7XHJcbiAgICAgICAgICAgIHN0YXRlX2ZvclBrOiBzdHJpbmdcclxuICAgICAgICAgICAgc3RhdGVfcGlsYUZvclBrOiBzdHJpbmdcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIERpcmVjY2lvbkFjY2lvbiA9ICdhdmFuY2UnIHwgJ3JldHJvY2VzbycgfCAnYmxhbnF1ZW8nXHJcblxyXG5leHBvcnQgdHlwZSBFc3RhZG9BY2Npb24gPSB7XHJcbiAgICBvcGVyYXRpdm86IHN0cmluZ1xyXG4gICAgZXN0YWRvOiBzdHJpbmdcclxuICAgIGVhY2Npb246IHN0cmluZ1xyXG4gICAgY29uZGljaW9uOiBzdHJpbmdcclxuICAgIGVzdGFkb19kZXN0aW5vOiBzdHJpbmdcclxuICAgIGVhY2Npb25fZGlyZWNjaW9uOiBEaXJlY2Npb25BY2Npb25cclxuICAgIHBhdGhfaWNvbm9fc3ZnOiBzdHJpbmdcclxuICAgIG5vbWJyZV9wcm9jZWR1cmU6IHN0cmluZ1xyXG4gICAgbm9tYnJlX3dzY3JlZW46IHN0cmluZ1xyXG4gICAgZGVzYWN0aXZhX2JvdG9uOiBib29sZWFuXHJcbiAgICBjb25maXJtYTogYm9vbGVhblxyXG59XHJcbmV4cG9ydCB0eXBlIE1vZG9ETSA9ICdwcm9kdWMnIHwgJ2NhcGEnOyJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwb3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvdGlwb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUEwZ0JiLG9DQUVDO0lBMWdCRCxrQ0FBa0M7SUF3Z0JsQyxTQUFnQixZQUFZLENBQUMsS0FBWTtRQUNyQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVVLFFBQUEsUUFBUSxHQUFtRCxNQUFNLENBQUMsUUFBUSxDQUFBO0lBQzFFLFFBQUEsS0FBSyxHQUFrRSxNQUFNLENBQUMsS0FBSyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcbmltcG9ydCB7IFN0cnVjdHVyZSwgRmVlZGJhY2sgfSBmcm9tIFwicm93LXZhbGlkYXRvclwiO1xyXG5pbXBvcnQgKiBhcyBMaWtlQXIgZnJvbSBcImxpa2UtYXJcIjtcclxuaW1wb3J0IHsgT3BlcmF0aXZvR2VuZXJhdG9yIH0gZnJvbSBcIm1ldGEtZW5jXCI7XHJcblxyXG5leHBvcnQgdHlwZSBNb2RvQWxtYWNlbmFtaWVudG8gPSAnc2Vzc2lvbicgfCAvLyBjdWFuZG8gc2VhIHBhcmEgdW5hIHNvbGEgcGVzdGHDsWEsIHNlIHVzYSBlbiBtb2RvIGRpcmVjdG8sXHJcbiAgICAnbG9jYWwnICAgIC8vIHBhcmEgdG9kbyBlbCBkaXNwb3NpdGl2bywgc2UgdXNhIGFsIGNhcmdhciBob2phcyBkZSBydXRhIGVudHJlc1xyXG5cclxuZXhwb3J0IHR5cGUgSWRPcGNpb24gPSBudW1iZXJcclxuZXhwb3J0IHR5cGUgSWRPcGVyYXRpdm8gPSAnZXRvaTIxMScgfCAnZWFoMjAyMicgfCAnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZFZhcmlhYmxlID0gJ3YxJyB8ICd2MicgfCAndjMnIHwgJ2V0Yy4uLicgfCAndmRvbWluaW8nIHwgJyRwMCdcclxuZXhwb3J0IHR5cGUgSWRQcmVndW50YSA9ICdQMScgfCAnUDInIHwgJ2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRCbG9xdWUgPSAnQjEnIHwgJ0IyJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkRm9ybXVsYXJpbyA9ICdGMScgfCAnRjInIHwgJ2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRVbmlkYWRBbmFsaXNpcyA9ICd2aXZpZW5kYXMnIHwgJ2hvZ2FyZXMnIHwgJ3BlcnNvbmFzJ1xyXG5leHBvcnQgdHlwZSBJZEJvdG9uRm9ybXVsYXJpbyA9ICdCRjpGMScgfCAnQkY6RjInIHwgJ2V0Yy4uLidcclxuZXhwb3J0IHR5cGUgSWRDb25zaXN0ZW5jaWEgPSAnQ09OUzEnIHwgJ0NPTlMyJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkVGV4dG8gPSAnRDMwX1JFRicgfCAnTUVTX1JFRicgfCAnU0VNX1JFRicgfCAnZXRjLi4uJ1xyXG5leHBvcnQgdHlwZSBJZEZpbHRybyA9ICdGSUxUUk8xJyB8ICdGSUxUUk8yJyB8ICdldGMuLi4nXHJcbmV4cG9ydCB0eXBlIElkQ2FzaWxsZXJvID0gSWRWYXJpYWJsZSB8IElkUHJlZ3VudGEgfCBJZEJsb3F1ZSB8IElkRm9ybXVsYXJpbyB8IElkRmlsdHJvIHwgSWRPcGNpb25cclxuZXhwb3J0IHR5cGUgSWRGaW4gPSAnZmluJzsgLy8gbmV2ZXIgLy8gVE9ETzogcG9kZXIgcG9uZXIgJ0ZJTidcclxuZXhwb3J0IHR5cGUgSWREZXN0aW5vID0gSWRQcmVndW50YSB8IElkQmxvcXVlIHwgSWRGaW4gfCBJZEZpbHRyb1xyXG5leHBvcnQgdHlwZSBWYWxvciA9IHN0cmluZyB8IG51bWJlciB8IG51bGw7XHJcbmV4cG9ydCB0eXBlIFRpcG9jRGVzdGlub3MgPSAnUCcgfCAnQ1AnIHwgJ0InIHwgJ0ZJTFRSTycgfCAnQkYnXHJcbmV4cG9ydCB0eXBlIFRpcG9jID0gVGlwb2NEZXN0aW5vcyB8ICdGJyB8ICdPJyB8ICdPTScgfCAnQ09OUycgfCAnVEVYVE8nIHwgJ0xJQlJFJyB8ICdQTUFUUklaJ1xyXG5cclxuZXhwb3J0IHR5cGUgRXNwZWNpYWwgPSB7XHJcbiAgICBncHM/OiBib29sZWFuXHJcbiAgICBub1Njcm9sbD86IGJvb2xlYW5cclxuICAgIHNjcm9sbFRvPzogSWRWYXJpYWJsZSB8IElkRmluXHJcbiAgICBhdXRvaW5nPzogc3RyaW5nXHJcbiAgICBmbGV4RGlyZWN0aW9uPzogJ3JvdycgfCAnY29sdW1uJyB8ICdyb3ctcmV2ZXJzZScgfCAnY29sdW1uLXJldmVyc2UnXHJcbiAgICBjYW1wb3NSZXN1bWVuPzogc3RyaW5nW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWRUYXJlYSA9ICdlbmN1JyB8ICdyZWN1JyB8ICdzdXBlJyB8ICdpbmdyJztcclxuXHJcbmV4cG9ydCB0eXBlIEZlZWRiYWNrVmFyaWFibGUgPSBGZWVkYmFjazxJZFZhcmlhYmxlLCBJZEZpbj5cclxuXHJcbmV4cG9ydCB0eXBlIFRpcG9WYXJpYWJsZXMgPSAndGV4dG8nIHwgJ251bWVybycgfCAnZmVjaGEnIHwgJ2hvcmFzJyB8ICdob3JhJ1xyXG5cclxuZXhwb3J0IHR5cGUgRGVzcGxpZWd1ZSA9ICdob3Jpem9udGFsJyB8ICdvY3VsdGEnXHJcblxyXG5leHBvcnQgdHlwZSBDYXNpbGxlcm9CYXNlID0ge1xyXG4gICAgaWRfY2FzaWxsZXJvPzogc3RyaW5nXHJcbiAgICB0aXBvYzogVGlwb2NcclxuICAgIGNhc2lsbGVybzogSWRDYXNpbGxlcm9cclxuICAgIG5vbWJyZTogc3RyaW5nXHJcbiAgICBzYWx0bzogSWREZXN0aW5vIHwgSWRGaW4gfCBudWxsXHJcbiAgICBzYWx0b19uc19uYz86IElkRGVzdGlubyB8IElkRmluIHwgbnVsbFxyXG4gICAgdmVyX2lkOiBzdHJpbmcgfCBudWxsXHJcbiAgICBkZXNwbGllZ3VlRW5jYWJlemFkbzogJ2xhdGVyYWwnIHwgJ3N1cGVyaW9yJyB8IG51bGxcclxuICAgIGRlc3BsaWVndWVDb250ZW5pZG86ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgfCBudWxsXHJcbiAgICBkZXNwbGllZ3VlVGlwb0lucHV0OiAndGVsJyB8IG51bGxcclxuICAgIGRlc3BsaWVndWVPY3VsdGE6IGJvb2xlYW4gfCBudWxsXHJcbiAgICBsZWVyOiBib29sZWFuIHwgbnVsbFxyXG4gICAgYWNsYXJhY2lvbjogc3RyaW5nIHwgbnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86IElkVmFyaWFibGUgfCBudWxsXHJcbiAgICB2YXJfbmFtZT86IElkVmFyaWFibGUgfCBudWxsXHJcbiAgICB2YXJfbmFtZV9lc3BlY2lhbD86IHN0cmluZyB8IG51bGxcclxuICAgIHRpcG92YXI/OiBUaXBvVmFyaWFibGVzIHwgJ29wY2lvbmVzJyB8ICdzaV9ubycgfCBudWxsXHJcbiAgICBjYXNpbGxlcm9zPzogQ2FzaWxsZXJvc0ltcGxlbWVudGFkb3NbXSB8IG51bGxcclxuICAgIGV4cHJlc2lvbl9oYWJpbGl0YXI/OiBzdHJpbmdcclxuICAgIGV4cHJlc2lvbl9oYWJpbGl0YXJfanM/OiBzdHJpbmdcclxuICAgIGV4cHJlc2lvbl9hdXRvaW5ncmVzYXI/OiBzdHJpbmdcclxuICAgIGV4cHJlc2lvbl9hdXRvaW5ncmVzYXJfanM/OiBzdHJpbmdcclxuICAgIGVzcGVjaWFsPzogRXNwZWNpYWxcclxuICAgIGNhbGN1bGFkYT86IGJvb2xlYW4gfCBudWxsXHJcbiAgICBvcHRhdGl2bz86IGJvb2xlYW4gfCBudWxsXHJcbiAgICBsaWJyZT86IGJvb2xlYW4gfCBudWxsXHJcbiAgICB2YWxvcl9uc19uYz86IGFueVxyXG4gICAgZGVzcGxpZWd1ZT86IHN0cmluZ1xyXG4gICAgbG9uZ2l0dWQ/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3BjaW9uID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnTydcclxuICAgIGNhc2lsbGVybzogSWRPcGNpb25cclxuICAgIGNhc2lsbGVyb3M6IFByZWd1bnRhU2ltcGxlW11cclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIHByaW1lcmFfdmFyaWFibGU/OiBudWxsXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3BjaW9uU2kgPSBPcGNpb24gJiB7XHJcbiAgICBjYXNpbGxlcm86IDFcclxuICAgIG5vbWJyZTogJ1PDrSdcclxuICAgIGNhc2lsbGVyb3M6IFByZWd1bnRhU2ltcGxlW11cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgT3BjaW9uTm8gPSBPcGNpb24gJiB7XHJcbiAgICBjYXNpbGxlcm86IDJcclxuICAgIG5vbWJyZTogJ05vJ1xyXG4gICAgY2FzaWxsZXJvczogUHJlZ3VudGFTaW1wbGVbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBPcGNpb25NdWx0aXBsZSA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ09NJ1xyXG4gICAgdGlwb3ZhcjogJ29wY2lvbmVzJ1xyXG4gICAgdmFyX25hbWU6IElkVmFyaWFibGVcclxuICAgIGNhc2lsbGVyb3M6IFtPcGNpb25TaSwgT3BjaW9uTm9dXHJcbiAgICBjYWxjdWxhZGE/OiBib29sZWFuXHJcbiAgICBsaWJyZT86IGJvb2xlYW5cclxuICAgIHZhbG9yX25zX25jOiBhbnlcclxuICAgIHNhbHRvX25zX25jPzogbnVsbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YUJhc2UgPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdQJ1xyXG4gICAgb3B0YXRpdm86IGJvb2xlYW4gfCBudWxsXHJcbiAgICBjYXNpbGxlcm86IElkUHJlZ3VudGFcclxuICAgIGNhbGN1bGFkYTogYm9vbGVhbiB8IG51bGxcclxuICAgIGxpYnJlOiBib29sZWFuIHwgbnVsbFxyXG4gICAgdmFsb3JfbnNfbmM6IGFueVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YVNpbXBsZSA9IFByZWd1bnRhQmFzZSAmIHtcclxuICAgIHRpcG92YXI6IFRpcG9WYXJpYWJsZXNcclxuICAgIHZhcl9uYW1lOiBJZFZhcmlhYmxlXHJcbiAgICBsb25naXR1ZDogc3RyaW5nXHJcbiAgICBzYWx0b19uc19uYzogSWREZXN0aW5vIHwgSWRGaW4gfCBudWxsXHJcbiAgICBjYXNpbGxlcm9zOiBQcmVndW50YVNpbXBsZVtdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByZWd1bnRhQ29uU2lObyA9IFByZWd1bnRhQmFzZSAmIHtcclxuICAgIHRpcG92YXI6ICdzaV9ubydcclxuICAgIHZhcl9uYW1lOiBJZFZhcmlhYmxlXHJcbiAgICBzYWx0b19uc19uYzogSWREZXN0aW5vIHwgSWRGaW4gfCBudWxsXHJcbiAgICBjYXNpbGxlcm9zOiBbT3BjaW9uU2ksIE9wY2lvbk5vXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmVndW50YUNvbk9wY2lvbmVzID0gUHJlZ3VudGFCYXNlICYge1xyXG4gICAgdGlwb3ZhcjogJ29wY2lvbmVzJ1xyXG4gICAgdmFyX25hbWU6IElkVmFyaWFibGVcclxuICAgIHNhbHRvX25zX25jOiBJZERlc3Rpbm8gfCBJZEZpbiB8IG51bGxcclxuICAgIGNhc2lsbGVyb3M6IE9wY2lvbltdXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByZWd1bnRhQ29uT3BjaW9uZXNNdWx0aXBsZXMgPSBQcmVndW50YUJhc2UgJiB7XHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBjYXNpbGxlcm9zOiBPcGNpb25NdWx0aXBsZVtdXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJlZ3VudGEgPSBQcmVndW50YVNpbXBsZSB8IFByZWd1bnRhQ29uU2lObyB8IFByZWd1bnRhQ29uT3BjaW9uZXMgfCBQcmVndW50YUNvbk9wY2lvbmVzTXVsdGlwbGVzXHJcblxyXG5leHBvcnQgdHlwZSBDb25qdW50b1ByZWd1bnRhcyA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ0NQJ1xyXG4gICAgY2FzaWxsZXJvOiBJZFByZWd1bnRhXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBjYXNpbGxlcm9zOiBQcmVndW50YVtdXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5cclxuLypcclxuZXhwb3J0IGludGVyZmFjZSBJQ29udGVuaWRvIGV4dGVuZHMgQ2FzaWxsZXJvQmFzZSB7XHJcbiAgICBjYXNpbGxlcm9zOklDb250ZW5pZG9bXVxyXG59XHJcbiovXHJcblxyXG5leHBvcnQgdHlwZSBGaWx0cm8gPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdGSUxUUk8nXHJcbiAgICBjYXNpbGxlcm86IElkRmlsdHJvXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzogbnVsbFxyXG4gICAgY2FsY3VsYWRhPzogbnVsbFxyXG4gICAgbGlicmU/OiBudWxsXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ29udGVuaWRvRm9ybXVsYXJpbyA9IEJsb3F1ZSB8IFByZWd1bnRhIHwgQ29uanVudG9QcmVndW50YXMgfCBGaWx0cm8gfCBCb3RvbkZvcm11bGFyaW8gfCBDb25zaXN0ZW5jaWEgfCBUZXh0b1xyXG5cclxuZXhwb3J0IHR5cGUgQmxvcXVlID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnQidcclxuICAgIGNhc2lsbGVybzogSWRCbG9xdWVcclxuICAgIGNhc2lsbGVyb3M6IENvbnRlbmlkb0Zvcm11bGFyaW9bXVxyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgdW5pZGFkX2FuYWxpc2lzPzogSWRVbmlkYWRBbmFsaXNpc1xyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbnNpc3RlbmNpYSA9IENhc2lsbGVyb0Jhc2UgJiB7XHJcbiAgICB0aXBvYzogJ0NPTlMnXHJcbiAgICBjYXNpbGxlcm86IElkQ29uc2lzdGVuY2lhXHJcbiAgICB2YXJfbmFtZT86IG51bGxcclxuICAgIHRpcG92YXI/OiBudWxsXHJcbiAgICBwcmltZXJhX3ZhcmlhYmxlPzogbnVsbFxyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuZXhwb3J0IHR5cGUgVGV4dG8gPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdURVhUTydcclxuICAgIGNhc2lsbGVybzogSWRUZXh0b1xyXG4gICAgdmFyX25hbWU/OiBudWxsXHJcbiAgICB0aXBvdmFyPzogbnVsbFxyXG4gICAgcHJpbWVyYV92YXJpYWJsZT86IG51bGxcclxuICAgIHNhbHRvX25zX25jPzogbnVsbFxyXG59XHJcbmV4cG9ydCB0eXBlIExpYnJlID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnTElCUkUnXHJcbiAgICBjYXNpbGxlcm86IElkVGV4dG9cclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIHByaW1lcmFfdmFyaWFibGU/OiBudWxsXHJcbiAgICBzYWx0b19uc19uYz86IG51bGxcclxufVxyXG5leHBvcnQgdHlwZSBCb3RvbkZvcm11bGFyaW8gPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdCRidcclxuICAgIGNhc2lsbGVybzogSWRCb3RvbkZvcm11bGFyaW9cclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIHByaW1lcmFfdmFyaWFibGU/OiBJZFZhcmlhYmxlIHwgbnVsbFxyXG4gICAgdmFyX25hbWVzX0JGPzogSWRWYXJpYWJsZVtdXHJcbiAgICBsb25naXR1ZD86IHN0cmluZ1xyXG4gICAgdW5pZGFkX2FuYWxpc2lzPzogSWRVbmlkYWRBbmFsaXNpc1xyXG4gICAgc2FsdG9fbnNfbmM/OiBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEZvcm11bGFyaW8gPSBDYXNpbGxlcm9CYXNlICYge1xyXG4gICAgdGlwb2M6ICdGJ1xyXG4gICAgY2FzaWxsZXJvOiBJZEZvcm11bGFyaW9cclxuICAgIGZvcm11bGFyaW9fcHJpbmNpcGFsOiBib29sZWFuXHJcbiAgICBjYXNpbGxlcm9zOiBDb250ZW5pZG9Gb3JtdWxhcmlvW11cclxuICAgIHZhcl9uYW1lPzogbnVsbFxyXG4gICAgdGlwb3Zhcj86IG51bGxcclxuICAgIGhlcm1hbm8/OiB0cnVlXHJcbiAgICB1bmlkYWRfYW5hbGlzaXM6IElkVW5pZGFkQW5hbGlzaXNcclxuICAgIHNhbHRvX25zX25jPzogbnVsbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQTWF0cml6ID0gQ2FzaWxsZXJvQmFzZSAmIHtcclxuICAgIHRpcG9jOiAnUE1BVFJJWidcclxuICAgIHNhbHRvX25zX25jPzogbnVsbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDYXNpbGxlcm9zSW1wbGVtZW50YWRvcyA9IEZvcm11bGFyaW8gfCBCbG9xdWUgfCBGaWx0cm8gfCBDb25qdW50b1ByZWd1bnRhcyB8IFByZWd1bnRhIHwgT3BjaW9uTXVsdGlwbGUgfCBPcGNpb24gfCBCb3RvbkZvcm11bGFyaW8gfCBDb25zaXN0ZW5jaWEgfCBUZXh0byB8IExpYnJlIHwgUE1hdHJpelxyXG5cclxuZXhwb3J0IHR5cGUgQ2FtcG9Qa1JhaXogPSAndml2aWVuZGEnIHwgJ2V0Yy4uLic7XHJcblxyXG5leHBvcnQgdHlwZSBWYWx1ZVBrUmFpeiA9IElkRW5jXHJcblxyXG5leHBvcnQgdHlwZSBGb3JQa1JhaXogPSB7XHJcbiAgICBmb3JtdWxhcmlvOiBJZEZvcm11bGFyaW9cclxufSAmIHtcclxuICAgIFtjYW1wbyBpbiBDYW1wb1BrUmFpel06IFZhbHVlUGtSYWl6XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENhbXBvUGsgPSAndml2aWVuZGEnIHwgJ2hvZ2FyJyB8ICdwZXJzb25hJyB8ICdldGMuLi4nO1xyXG5leHBvcnQgdHlwZSBGb3JQayA9IEZvclBrUmFpeiAmIHtcclxuICAgIFtjYW1wbyBpbiBDYW1wb1BrXT86IG51bWJlclxyXG59XHJcbmV4cG9ydCB0eXBlIFBsYWluRm9yUGsgPSAne1wiZm9ybXVsYXJpb1wiOlwiRjpGMVwiLFwidml2aWVuZGFcIjpcIjEwMjAyXCIsXCJwZXJzb25hXCI6bnVsbH0nIHwgJ2V0Yy4uLic7XHJcblxyXG5leHBvcnQgdHlwZSBPYmpldG9OdW1lcmFkb09BcnJheTxUPiA9IFRbXSB8IHsgW24gaW4gbnVtYmVyXTogVCB9XHJcblxyXG5leHBvcnQgdHlwZSBSZXNwdWVzdGFzVW5hVUEgPSB7XHJcbiAgICBbcHJlZ3VudGEgaW4gSWRWYXJpYWJsZV06IFZhbG9yXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFJlc3B1ZXN0YUxhc1VBID0ge1xyXG4gICAgW3VhIGluIElkVW5pZGFkQW5hbGlzaXNdOiBPYmpldG9OdW1lcmFkb09BcnJheTxSZXNwdWVzdGFzPlxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBSZXNwdWVzdGFzID0gUmVzcHVlc3Rhc1VuYVVBICYgUmVzcHVlc3RhTGFzVUFcclxuXHJcbmV4cG9ydCB0eXBlIFJlc3B1ZXN0YXNSYWl6ID0gUmVzcHVlc3RhcyAmIHtcclxuICAgIHJlc3VtZW5Fc3RhZG86IFJlc3VtZW5Fc3RhZG9cclxuICAgIHJlc3VtZW5Fc3RhZG9TdXA6IFJlc3VtZW5Fc3RhZG9cclxuICAgICRkaXJ0eTogYm9vbGVhblxyXG4gICAgY29kTm9SZWE6IHN0cmluZyB8IG51bGxcclxuICAgIGNvZFJlYTogbnVtYmVyIHwgbnVsbFxyXG4gICAgY29kTm9SZWFTdXA6IHN0cmluZyB8IG51bGxcclxuICAgIGNvZFJlYVN1cDogbnVtYmVyIHwgbnVsbFxyXG59XHJcblxyXG4vKlxyXG4gICAgYWNsYXJhY2nDs246XHJcbiAgICB7djE6J3gnLCB2MjoneCcsIHBlcnNvbmFzOlt7cDE6MSwgcDI6J3h9LHtwMToyLCBwMjp4fV0sIG1hc2NvdGFzOltdIH1cclxuICAgIGVzdMOhIGFuaWRhZG8gcG9yIHVuaWRhZCBkZSBhbsOhbGlzaXNcclxuKi9cclxuXHJcbmV4cG9ydCB0eXBlIFVuaWRhZEFuYWxpc2lzID0ge1xyXG4gICAgdW5pZGFkX2FuYWxpc2lzOiBJZFVuaWRhZEFuYWxpc2lzLFxyXG4gICAgcGFkcmU/OiBJZFVuaWRhZEFuYWxpc2lzLFxyXG4gICAgcGtfYWdyZWdhZGE6IENhbXBvUGssXHJcbiAgICBwcmluY2lwYWw/OiBib29sZWFuLFxyXG4gICAgaGlqYXM6IHsgW2sgaW4gSWRVbmlkYWRBbmFsaXNpc10/OiBVbmlkYWRBbmFsaXNpcyB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFRFTSA9IHtcclxuICAgIG5vbWNhbGxlOiBzdHJpbmdcclxuICAgIGRvbWluaW86IG51bWJlclxyXG4gICAgc2VjdG9yOiBzdHJpbmdcclxuICAgIGVkaWZpY2lvOiBzdHJpbmdcclxuICAgIGVudHJhZGE6IHN0cmluZ1xyXG4gICAgbnJvY2F0YXN0cmFsOiBzdHJpbmdcclxuICAgIHBpc286IHN0cmluZ1xyXG4gICAgZGVwYXJ0YW1lbnRvOiBzdHJpbmdcclxuICAgIGhhYml0YWNpb246IHN0cmluZ1xyXG4gICAgY2FzYTogc3RyaW5nXHJcbiAgICBwcmlvcmlkYWQ6IDEgfCAyIHwgM1xyXG4gICAgb2JzZXJ2YWNpb25lczogc3RyaW5nXHJcbiAgICBzZWxlY2Npb25hZG86IG51bWJlcixcclxuICAgIGNpdGE6IHN0cmluZyxcclxuICAgIGNhcmdhOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUmVzdW1lbkVzdGFkbyA9ICd2YWNpbycgfCAnY29uIHByb2JsZW1hcycgfCAnaW5jb21wbGV0bycgfCAnb2snIHwgJ25vIHJlYScgfCAnY2l0YSBwYWN0YWRhJztcclxuXHJcbmV4cG9ydCB0eXBlIEluZm9UYXJlYSA9IHtcclxuICAgIHRhcmVhOiBJZFRhcmVhXHJcbiAgICBub3Rhcz86IHN0cmluZ1xyXG4gICAgZmVjaGFfYXNpZ25hY2lvbj86IERhdGVcclxuICAgIGFzaWduYWRvPzogc3RyaW5nXHJcbiAgICBtYWluX2Zvcm06IElkRm9ybXVsYXJpb1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBWaXNpdGEgPSB7XHJcbiAgICBmZWNoYTogc3RyaW5nIHwgbnVsbFxyXG4gICAgaG9yYTogc3RyaW5nIHwgbnVsbFxyXG4gICAgaWRwZXI6IHN0cmluZyB8IG51bGxcclxuICAgIG9ic2VydmFjaW9uZXM6IHN0cmluZyB8IG51bGxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRGF0b3NIZHJVYVBwYWwgPSB7XHJcbiAgICB0YXJlYTogSW5mb1RhcmVhXHJcbiAgICB0ZW06IFRFTVxyXG5cclxuICAgIC8qXHJcbiAgICAgICAgYWNsYXJhY2nDs246XHJcbiAgICAgICAge3YxOid4JywgdjI6J3gnLCBwZXJzb25hczpbe3AxOjEsIHAyOid4fSx7cDE6MiwgcDI6eH1dLCBtYXNjb3RhczpbXSB9XHJcbiAgICAgICAgZXN0w6EgYW5pZGFkbyBwb3IgdW5pZGFkIGRlIGFuw6FsaXNpc1xyXG4gICAgKi9cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWRDYXJnYSA9IFwiMVwiIHwgXCIyXCIgfCBcImV0Y1wiXHJcblxyXG5leHBvcnQgdHlwZSBFc3RhZG9DYXJnYSA9ICdyZXN1bWVuJyB8ICdyZWxldmFtaWVudG8nIHwgJ3JlY2libydcclxuXHJcbmV4cG9ydCB0eXBlIENhcmdhID0ge1xyXG4gICAgZmVjaGE6IERhdGVcclxuICAgIGVzdGFkb19jYXJnYTogRXN0YWRvQ2FyZ2FcclxuICAgIG5lY2VzYXJpYXM6IG51bWJlclxyXG4gICAgb2JzZXJ2YWNpb25lczogc3RyaW5nXHJcbiAgICByZWNlcGNpb25pc3RhOiBzdHJpbmdcclxuICAgIHB1ZWRlX2F1dG9nZW5lcmFyOiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENhcmdhcyA9IHtcclxuICAgIFtpZENhcmdhIGluIElkQ2FyZ2FdOiBDYXJnYVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBFc3RydWN0dXJhUm93VmFsaWRhdG9yID0gU3RydWN0dXJlPElkVmFyaWFibGUsIFZhbG9yLCBJZEZpbj47XHJcblxyXG5leHBvcnQgdHlwZSBNb2RvRGVzcGxpZWd1ZSA9ICdtZXRhZGF0b3MnIHwgJ3JlbGV2YW1pZW50bycgfCAnUERGJ1xyXG5cclxuZXhwb3J0IHR5cGUgUGFudGFsbGFOYXZlZ2FjaW9uID0gJ2hkcicgfCAnc2luY3Jvbml6YWNpb24nIHwgJ3NpbmNyb25pemFjaW9uX3JlcXVlcmlkYScgfCAnbW9kbyc7XHJcblxyXG5leHBvcnQgdHlwZSBJbmZvRm9ybXVsYXJpbyA9IHtcclxuICAgIGNhc2lsbGVyb3M6IEZvcm11bGFyaW8sIC8vIGNhc2lsbGVyb3MgYXBsYW5hZG9zXHJcbiAgICBlc3RydWN0dXJhUm93VmFsaWRhdG9yOiBFc3RydWN0dXJhUm93VmFsaWRhdG9yIC8vIGVzdHJ1Y3R1cmEgZGUgdmFyaWFibGVzIHBhcmEgZWwgUm93VmFsaWRhdG9yXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIElkUmVzdWx0YWRvID0gJ0FWRVJJR1VBUicgfCAnVE9ETyc7XHJcblxyXG5leHBvcnQgdHlwZSBUYXJlYXNFc3RydWN0dXJhID0ge1xyXG4gICAgW2lkVGFyZWEgaW4gSWRUYXJlYV06IHtcclxuICAgICAgICByZXN1bHRhZG9zOiB7XHJcbiAgICAgICAgICAgIFtpZFJlc3VsdGFkbyBpbiBJZFJlc3VsdGFkb106IHtcclxuICAgICAgICAgICAgICAgIGRlc2NyaXBjaW9uOiBzdHJpbmdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRXN0cnVjdHVyYSA9IHtcclxuICAgIGZvcm11bGFyaW9zOiB7XHJcbiAgICAgICAgW25vbWJyZUZvcm11bGFyaW8gaW4gSWRGb3JtdWxhcmlvXTogSW5mb0Zvcm11bGFyaW9cclxuICAgIH1cclxuICAgIHVuaWRhZGVzX2FuYWxpc2lzOiB7XHJcbiAgICAgICAgW2lkVW5pZGFkQW5hbGlzaXMgaW4gSWRVbmlkYWRBbmFsaXNpc106IFVuaWRhZEFuYWxpc2lzXHJcbiAgICB9XHJcbiAgICB0YXJlYXM6IFRhcmVhc0VzdHJ1Y3R1cmFcclxuICAgIHVhUHBhbDogSWRVbmlkYWRBbmFsaXNpc1xyXG4gICAgcGtBZ3JlZ2FkYVVhUHBhbDogQ2FtcG9Qa1JhaXpcclxuICAgIHRpbWVzdGFtcDogbnVtYmVyXHJcbiAgICBvcGVyYXRpdm86IElkT3BlcmF0aXZvXHJcbiAgICBjb25maWdTb3J0ZW86IENvbmZpZ3VyYWNpb25Tb3J0ZW9cclxuICAgIGhhYmlsaXRhY2lvbkJvdG9uRm9ybXVsYXJpbzogQ29uZmlndXJhY2lvbkhhYmlsaXRhckJvdG9uRm9ybXVsYXJpb1xyXG4gICAgY29uUmVhSG9nYXI6IGJvb2xlYW5cclxuICAgIG5vUmVhczoge1xyXG4gICAgICAgIG5vX3JlYTogc3RyaW5nXHJcbiAgICAgICAgZGVzY3JpcGNpb246IHN0cmluZ1xyXG4gICAgICAgIGdydXBvOiBzdHJpbmdcclxuICAgICAgICB2YXJpYWJsZTogc3RyaW5nXHJcbiAgICAgICAgdmFsb3I6IHN0cmluZ1xyXG4gICAgICAgIGdydXBvMDogc3RyaW5nXHJcbiAgICB9W11cclxuICAgIG5vUmVhc1N1cDoge1xyXG4gICAgICAgIG5vX3JlYV9zdXA6IHN0cmluZ1xyXG4gICAgICAgIGRlc2Nfbm9yZWFfc3VwOiBzdHJpbmdcclxuICAgICAgICBncnVwb19zdXA6IHN0cmluZ1xyXG4gICAgICAgIHZhcmlhYmxlX3N1cDogc3RyaW5nXHJcbiAgICAgICAgdmFsb3Jfc3VwOiBzdHJpbmdcclxuICAgICAgICBncnVwbzBfc3VwOiBzdHJpbmdcclxuICAgIH1bXVxyXG4gICAgZGVmYXVsdEluZm9ybWFjaW9uSGRyOiBEYXRvc0hkclVhUHBhbFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJZEVuYyA9IDEzMDAzMSB8IDEzMDAzMjtcclxuZXhwb3J0IHR5cGUgSW5mb3JtYWNpb25IZHIgPSB7IFtlbmMgaW4gSWRFbmNdOiBEYXRvc0hkclVhUHBhbCB9XHJcblxyXG5leHBvcnQgdHlwZSBDYXNvU3RhdGUgPSB7XHJcbiAgICBvcGNpb25lczogeyAvLyBkYXRvcyBkZSBuYXZlZ2FjacOzbiBxdWUgZWxpamUgZWwgdXN1YXJpb1xyXG4gICAgICAgIGZvclBrOiBGb3JQayB8IG51bGwgLy8gw61uZGljZSBkZW50cm8gZGUgbGFzIHVuaWRhZGVzIGRlIGFuw6FsaXNpcy4gTnVsbCA9IGVuIGhvamEgZGUgcnV0YVxyXG4gICAgICAgIHBpbGFGb3JQazogRm9yUGtbXVxyXG4gICAgICAgIG1vZG9EZXNwbGllZ3VlOiBNb2RvRGVzcGxpZWd1ZVxyXG4gICAgICAgIG1vZG9EaXJlY3RvOiBib29sZWFuXHJcbiAgICAgICAgbW9kb0JvcnJhclJlc3B1ZXN0YTogSWRWYXJpYWJsZSB8IG51bGxcclxuICAgICAgICBjb25DYW1wb09wY2lvbmVzOiBib29sZWFuXHJcbiAgICAgICAgc2FsdG9BdXRvbWF0aWNvOiBib29sZWFuXHJcbiAgICAgICAgcGFudGFsbGFBY3R1YWw6IFBhbnRhbGxhTmF2ZWdhY2lvblxyXG4gICAgICAgIGF2aXNvUGVyc2lzdGVudGU6IHsgdGlwbzogJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ2Vycm9yJywgbWVuc2FqZTogc3RyaW5nfSB8IG51bGxcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRGVmT3BlcmF0aXZvID0ge1xyXG4gICAgZXNOb1JlYTogKHJlc3B1ZXN0YXM6IFJlc3B1ZXN0YXMpID0+IHsgY29kTm9SZWE6IHN0cmluZyB8IG51bGwsIGVzTm9SZWE6IGJvb2xlYW4gfSxcclxuICAgIGVzTm9SZWFTdXA6IChyZXNwdWVzdGFzOiBSZXNwdWVzdGFzKSA9PiB7IGNvZE5vUmVhU3VwOiBzdHJpbmcgfCBudWxsLCBlc05vUmVhU3VwOiBib29sZWFuIH0sXHJcbiAgICBlc1JlYWxpemFkYTogKHJlc3B1ZXN0YXM6IFJlc3B1ZXN0YXMpID0+IHsgY29kUmVhOiBudW1iZXIgfCBudWxsLCBlc1JlYTogYm9vbGVhbiB9LFxyXG4gICAgZXNSZWFsaXphZGFTdXA6IChyZXNwdWVzdGFzOiBSZXNwdWVzdGFzKSA9PiB7IGNvZFJlYVN1cDogbnVtYmVyIHwgbnVsbCwgZXNSZWFTdXA6IGJvb2xlYW4gfSxcclxuICAgIFVBcHJpbmNpcGFsOiBJZFVuaWRhZEFuYWxpc2lzLFxyXG4gICAgZGVmVUE6IHsgW2kgaW4gSWRVbmlkYWRBbmFsaXNpc106IHsgcGs6IElkVmFyaWFibGUsIGluY2x1aWRhczogSWRVbmlkYWRBbmFsaXNpc1tdLCBpZHNGb3I6IElkRm9ybXVsYXJpb1tdIH0gfSxcclxuICAgIGRlZkZvcjogeyBbZiBpbiBJZEZvcm11bGFyaW9dOiB7LyphcmJvbFVBOklkVW5pZGFkQW5hbGlzaXNbXSwgKi8gaGVybWFubz86IHRydWUgfSB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIERhdG9zQnlQYXNzUGVyc2lzdGlibGVzID0ge1xyXG4gICAgcmVzcHVlc3RhczogeyBbdWEgaW4gSWRVbmlkYWRBbmFsaXNpc106IFJlc3B1ZXN0YXNSYWl6W10gfVxyXG4gICAgbW9kb0FsbWFjZW5hbWllbnRvOiBNb2RvQWxtYWNlbmFtaWVudG9cclxuICAgIHBlcnNvbmE6IHN0cmluZ1xyXG4gICAgdGFyZWE6IElkVGFyZWFcclxuICAgIGlkcGVyOiBzdHJpbmdcclxuICAgIGNhcmdhczogQ2FyZ2FzXHJcbiAgICBpbmZvcm1hY2lvbkhkcjogSW5mb3JtYWNpb25IZHJcclxuICAgIHNvbG9MZWN0dXJhOiBib29sZWFuXHJcbiAgICB0b2tlbj86IHN0cmluZ1xyXG4gICAgbnVtX3NpbmNybz86IG51bWJlclxyXG4gICAgdGltZXN0YW1wRXN0cnVjdHVyYT86IG51bWJlclxyXG4gICAgcGVybWl0ZUJvcnJhckVsZW1lbnRvc1VBPzogYm9vbGVhblxyXG59XHJcblxyXG50eXBlIENvbmZpZ3VyYWNpb25Tb3J0ZW9UYWJsYSA9IHtcclxuICAgIG1ldG9kbzogXCJ0YWJsYVwiLFxyXG4gICAgcGFyYW1fbWV0b2RvOiB7XHJcbiAgICAgICAgdGFibGE6IHN0cmluZ1tdLFxyXG4gICAgICAgIHZhcl9sZXRyYTogSWRWYXJpYWJsZSxcclxuICAgIH1cclxufVxyXG5cclxudHlwZSBDb25maWd1cmFjaW9uU29ydGVvSGFzaCA9IHtcclxuICAgIG1ldG9kbzogXCJoYXNoXCIsXHJcbiAgICBwYXJhbV9tZXRvZG86IHtcclxuICAgICAgICB2YXJfY29lZjogW1xyXG4gICAgICAgICAgICB7IHZhcjogSWRWYXJpYWJsZSwgY29lZjogbnVtYmVyIH0sXHJcbiAgICAgICAgICAgIHsgdmFyOiBJZFZhcmlhYmxlLCBjb2VmOiBudW1iZXIgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIGRpdmlzb3I6IG51bWJlclxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDb25maWd1cmFjaW9uU29ydGVvID0geyBba2V5IGluIElkRm9ybXVsYXJpb106IENvbmZpZ3VyYWNpb25Tb3J0ZW9Gb3JtdWxhcmlvIH1cclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWNpb25IYWJpbGl0YXJCb3RvbkZvcm11bGFyaW8gPSB7IFtrZXkgaW4gSWRGb3JtdWxhcmlvXTogQ29uZmlndXJhY2lvbkhhYmlsaXRhckJvdG9uRm9ybXVsYXJpb0Zvcm0gfVxyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlndXJhY2lvblNvcnRlb0Zvcm11bGFyaW8gPSB7XHJcbiAgICB1bmlkYWRfYW5hbGlzaXM6IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICB1bmlkYWRfYW5hbGlzaXNfcGFkcmU6IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICAvL2V4cHJfaW5jb21wbGV0aXR1ZDogc3RyaW5nIC8vXCJub3QgKHAxKSBvciBubyB0IChwMikgb3Igbm90KHAzKVwiXHJcbiAgICBleHByX2luY29tcGxldGl0dWQ6IHtcclxuICAgICAgICBba2V5IGluIG51bWJlcl06IHsgZG9taW5pbzogbnVtYmVyLCBleHByOiBzdHJpbmcgfVxyXG4gICAgfVxyXG4gICAgLy9leHByX2luY29tcGxldGl0dWRfanM6IHN0cmluZyAvL3NlIGNyZWEgYWwgY29tcGlsYXJcclxuICAgIGV4cHJfaW5jb21wbGV0aXR1ZF9qczoge1xyXG4gICAgICAgIFtrZXkgaW4gbnVtYmVyXTogeyBkb21pbmlvOiBudW1iZXIsIGV4cHI6IHN0cmluZyB9XHJcbiAgICB9XHJcbiAgICBkaXNwYXJhZG9yOiBJZFZhcmlhYmxlIC8vXCJwOVwiXHJcbiAgICAvL2ZpbHRybzogc3RyaW5nIC8vXCJwMz49MThcIlxyXG4gICAgZmlsdHJvOiB7XHJcbiAgICAgICAgW2tleSBpbiBudW1iZXJdOiB7IGRvbWluaW86IG51bWJlciwgZXhwcjogc3RyaW5nIH1cclxuICAgIH1cclxuICAgIC8vZmlsdHJvX2pzOiBzdHJpbmcgLy9zZSBjcmVhIGFsIGNvbXBpbGFyXHJcbiAgICBmaWx0cm9fanM6IHtcclxuICAgICAgICBba2V5IGluIG51bWJlcl06IHsgZG9taW5pbzogbnVtYmVyLCBleHByOiBzdHJpbmcgfVxyXG4gICAgfVxyXG4gICAgb3JkZW46IHtcclxuICAgICAgICB2YXJpYWJsZTogSWRWYXJpYWJsZVxyXG4gICAgICAgIG9yZGVuOiAxIHwgLTFcclxuICAgIH1bXSAvL1tcInAzXCIsIFwicDJcIiwgXCJwMVwiLCBcInAwXCJdLCAvLyBwMCBlcyBjb25zdHJ1aWRhLCBubyB2YSBlbiBwYXLDoW1ldHJvcywgc2UgcG9uZSBwYXJhIHF1ZSBlbCBvcmRlbiBzZWEgZGV0ZXJtaW7DrXN0aWNvXHJcbiAgICBwYXJhbWV0cm9zOiBJZFZhcmlhYmxlW10vLyBbXCJwMVwiLFwicDJcIixcInAzXCIsIFwicDRcIiwgXCJwNVwiLCBcInA2XCJdLCAvLyB2YXJpYWJsZXMgcXVlIGFudWxhbiBhbCBkaXNwYXJhZG9yXHJcbiAgICBjYW50aWRhZF9zb3J0ZWFibGVzOiBJZFZhcmlhYmxlXHJcbiAgICBjYW50aWRhZF90b3RhbDogSWRWYXJpYWJsZVxyXG4gICAgcmVzdWx0YWRvOiBJZFZhcmlhYmxlIC8vXCJwMTFcIlxyXG4gICAgcmVzdWx0YWRvX21hbnVhbDogSWRWYXJpYWJsZSAvL1wicDExXCJcclxuICAgIHNvcnRlYWRvX21vc3RyYXI/OiB7IHNvdXJjZTogSWRWYXJpYWJsZSwgdGFyZ2V0OiBJZFZhcmlhYmxlIH1bXSxcclxuICAgIGluY29tcGxldGFzOiBJZFZhcmlhYmxlXHJcbiAgICB2YXJpYWJsZUJvdG9uRm9ybXVsYXJpb1VBOiBJZFZhcmlhYmxlLy8nJEIuRjpTMV9QJ1xyXG4gICAgdmFyaWFibGVCb3RvbkZvcm11bGFyaW9VQUluZGl2aWR1YWw/OiBJZFZhcmlhYmxlIC8vJyRCLkY6STEnXHJcbiAgICBpZF9mb3JtdWxhcmlvX2luZGl2aWR1YWw/OiBJZEZvcm11bGFyaW8gLy8gJ0Y6STEnXHJcbiAgICBpZF9mb3JtdWxhcmlvX3BhZHJlPzogSWRGb3JtdWxhcmlvIC8vICdGOlMxJ1xyXG59ICYgKENvbmZpZ3VyYWNpb25Tb3J0ZW9IYXNoIHwgQ29uZmlndXJhY2lvblNvcnRlb1RhYmxhKVxyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlndXJhY2lvbkhhYmlsaXRhckJvdG9uRm9ybXVsYXJpb0Zvcm0gPSB7XHJcbiAgICB1bmlkYWRfYW5hbGlzaXM6IElkVW5pZGFkQW5hbGlzaXMsXHJcbiAgICBleHByX2hhYmlsaXRhcl9ib3Rvbjogc3RyaW5nLFxyXG4gICAgZXhwcl9oYWJpbGl0YXJfYm90b25fanM6IHN0cmluZyxcclxuICAgIGhhYmlsaXRhcl9hZ3JlZ2FyX2xpc3RvOiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0b1BsYWluRm9yUGsoZm9yUGs6IEZvclBrKTogUGxhaW5Gb3JQayB7XHJcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZm9yUGspO1xyXG59XHJcblxyXG5leHBvcnQgdmFyIGl0ZXJhdG9yOiA8VD4obzogT2JqZXRvTnVtZXJhZG9PQXJyYXk8VD4pID0+IEl0ZXJhYmxlPFQ+ID0gTGlrZUFyLml0ZXJhdG9yXHJcbmV4cG9ydCB2YXIgZW1wdHk6IDxUPihvOiBPYmpldG9OdW1lcmFkb09BcnJheTxUPiB8IG51bGwgfCB1bmRlZmluZWQpID0+IGJvb2xlYW4gPSBMaWtlQXIuZW1wdHlcclxuXHJcbmRlY2xhcmUgZ2xvYmFsIHtcclxuICAgIG5hbWVzcGFjZSBteU93biB7XHJcbiAgICAgICAgaW50ZXJmYWNlIEFkZHJQYXJhbXMge1xyXG4gICAgICAgICAgICBzdGF0ZV9mb3JQazogc3RyaW5nXHJcbiAgICAgICAgICAgIHN0YXRlX3BpbGFGb3JQazogc3RyaW5nXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBEaXJlY2Npb25BY2Npb24gPSAnYXZhbmNlJyB8ICdyZXRyb2Nlc28nIHwgJ2JsYW5xdWVvJ1xyXG5cclxuZXhwb3J0IHR5cGUgRXN0YWRvQWNjaW9uID0ge1xyXG4gICAgb3BlcmF0aXZvOiBzdHJpbmdcclxuICAgIGVzdGFkbzogc3RyaW5nXHJcbiAgICBlYWNjaW9uOiBzdHJpbmdcclxuICAgIGNvbmRpY2lvbjogc3RyaW5nXHJcbiAgICBlc3RhZG9fZGVzdGlubzogc3RyaW5nXHJcbiAgICBlYWNjaW9uX2RpcmVjY2lvbjogRGlyZWNjaW9uQWNjaW9uXHJcbiAgICBwYXRoX2ljb25vX3N2Zzogc3RyaW5nXHJcbiAgICBub21icmVfcHJvY2VkdXJlOiBzdHJpbmdcclxuICAgIG5vbWJyZV93c2NyZWVuOiBzdHJpbmdcclxuICAgIGRlc2FjdGl2YV9ib3RvbjogYm9vbGVhblxyXG4gICAgY29uZmlybWE6IGJvb2xlYW5cclxufVxyXG5leHBvcnQgdHlwZSBNb2RvRE0gPSAncHJvZHVjJyB8ICdjYXBhJzsiXX0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dmencu",
3
3
  "description": "DM Encu - Encuestas en dispositivo móvil",
4
- "version": "3.0.7",
4
+ "version": "3.0.8",
5
5
  "author": "Codenautas <codenautas@googlegroups.com>",
6
6
  "license": "MIT",
7
7
  "main": "dist/server/server/app-dmencu.js",