/*
  Incluye:
    - Variables de bootstrap
    - Variables propias
*/
/*
  Variables de bootstrap
*/
/*
  Variables propias
*/
.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
}
.clearfix:after {
  clear: both;
}
.hide-text {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.input-block-level {
  display: block;
  width: 100%;
  min-height: 28px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
/*doc
---
title: Sprites
category: Mixins
---

Para trabajar comodamente con sprites hay definidos una serie de mixins creados a partir de los ejemplos de [este post](http://www.smashingmagazine.com/2012/04/11/css-sprites-revisited/).

Los sprites de imágenes los guardamos en la carpeta `images/sprites/` y los nombramos de la siguiente forma: `sprite1` , `sprite2` , `sprite3` . Cada sprite consta de una cuadrícula donde se colocan las imágenes y cuyas dimensiones de celda pueden variar. El nombre del sprite, su ruta, y las dimensiones de su cuadrícula las vamos definiendo en el archivo `less/mixins/sprites.less`: 

```
.sprite(@image, @x, @y)  when (@image = sprite1) {
	@spriteX: 32px;
	@spriteY: 32px;
   	.spriteHelper (@x, @y, @spriteX, @spriteY);
   	background-image: url("../images/sprites/@{image}.png");
}
```

Tenemos tres mixins para hacer aplicar los sprites de tres formas diferentes.

##spriteReplace##

```
.spriteReplace (@image, @x, @y, @width, @height);
```

Sirve para reemplazar un texto por una imagen, por ejemplo:

```
.sharing .twitter a {
   .spriteReplace(sprite1, 0, 0, 32px, 32px); display:block;
}
```

##spriteInline##

```
.spriteInline(@image, @x, @y, @width, @height);
```

Sirve para añadir una imagen en línea a un lado de un texto de una sola línea, por ejemplo:

```
.affiliates .amazon a:before {
   .spriteInline(sprite1, 4, 1, 22px, 16px);
}
```

##spritePadded##

```
.spritePadded(@image, @x, @y, @width, @height);
```
Sirve para añadir una imagen a un lado de un texto de más de una línea, por ejemplo:

```
.translated p {
   padding-left: 22px;
   position: relative;
}
.translated p:before {
   .spritePadded(sprite1, 5, 5, 16px, 14px);
   left: 0;
   top: 0;
}
```

*/
.hideText {
  text-indent: -999em;
  letter-spacing: -999em;
  overflow: hidden;
}
.font-size-large {
  font-size: 18px;
}
.font-size-base {
  font-size: 14px;
}
.font-size-small {
  font-size: 12px;
}
.font-size-big1 {
  font-size: 60px;
}
@media (max-width: 767px) {
  .font-size-big1 {
    font-size: 34px;
  }
}
.font-size-h1 {
  font-size: 34px;
}
@media (min-width: 1281px) {
  .font-size-h1 {
    font-size: 44px;
  }
}
.font-size-h2 {
  font-size: 21px;
}
.font-size-h3 {
  font-size: 20px;
}
.font-size-h4 {
  font-size: 18px;
}
.font-size-h5 {
  font-size: 20px;
}
.font-size-h6 {
  font-size: 14px;
}
.font-size-lead {
  font-size: 21px;
}
@media (min-width: 768px) and (max-width: 979px) {
  .font-size-lead {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .font-size-lead {
    font-size: 18px;
  }
}
.font-size-seccion__cabecera__titulo {
  font-size: 24px;
}
@media (min-width: 1281px) {
  .font-size-seccion__cabecera__titulo {
    font-size: 30px;
  }
}
.font-size-seccion__cabecera__subtitulo {
  font-size: 21px;
}
@media (min-width: 1281px) {
  .font-size-seccion__cabecera__subtitulo {
    font-size: 24px;
  }
}
.font-size-miniatura__antetitulo {
  font-size: 14px;
}
@media (min-width: 1281px) {
  .font-size-miniatura__antetitulo {
    font-size: 18px;
  }
}
.font-size-miniatura-destacada-antetitulo {
  font-size: 20px;
}
.font-size-miniatura-destacada-titulo {
  font-size: 24px;
}
@media (min-width: 1281px) {
  .font-size-miniatura-destacada-titulo {
    font-size: 34px;
  }
}
.font-size-miniatura-destacada-subtitulo {
  font-size: 20px;
}
@media (min-width: 1281px) {
  .font-size-miniatura-destacada-subtitulo {
    font-size: 30px;
  }
}
.font-size-titulo-pagina__titulos__titulo {
  font-size: 34px;
}
@media (min-width: 1281px) {
  .font-size-titulo-pagina__titulos__titulo {
    font-size: 44px;
  }
}
.font-size-titulo-pagina__titulos__subtitulo {
  font-size: 30px;
}
@media (min-width: 1281px) {
  .font-size-titulo-pagina__titulos__subtitulo {
    font-size: 40px;
  }
}
.font-size-titulo-pagina-entradilla {
  font-size: 21px;
}
.font-size-titulo-pagina__texto {
  font-size: 20px;
}
/*doc
---
title: Espacios en blanco
category: Mixins
---

Son una serie muy extensa de mixins para aplicar las propiedades de margin y padding en función de una escala de valores definida previamente. La escala esta disponible en el archivo `less/variables.less`.

```
@space-unit-xs: 			15px;
@space-unit-sm:  			(@space-unit-xs * 2); // 30px;
@space-unit-md:  			(@space-unit-xs * 3); // 45px;
@space-unit-lg:  			(@space-unit-xs * 4); // 60px;
@space-unit-xl:  			(@space-unit-xs * 5); // 75px;
```

Se pueden modificar estos valores pero no es recomendable ya que la rejilla de Bootstrap se compone de calles cuya anchura es de 30px, una medida proporcional a nuestra unidad base de 15px.

Los mixins se definen añadiendo a cada propiedad (`margin`, `margin-top`, `padding-bottom`, etc) el sufijo que especifica su tamaño (son cinco: `-xs` , `-sm` , `-md` , `-lg` , `-xl` ).

```
.margin-xs {
	margin: @space-unit-xs;
}

.margin-top-xs {
	margin-top: @space-unit-xs;
}

.margin-top-sm {
	margin-top: @space-unit-sm;
}

.margin-top-md {
	margin-top: @space-unit-md;
}

.margin-top-lg {
	margin-top: @space-unit-lg;
}

.margin-top-xl {
	margin-top: @space-unit-xl;
}

...
```

Disponemos también de otros mixins que sirven para elminar los espacios en blanco del elemento.

```
.no-margin-top {
	margin-top: 0;
}
...
```

Además, tenemos otros mixins que combinan dos propiedades en función de si el espacio que crean es vertical u horizontal.

```
.margin-vertical-xs {
	.margin-top-xs ();
	.margin-bottom-xs ();
}

.margin-vertical-sm {
	.margin-top-sm ();
	.margin-bottom-sm ();
}

.margin-vertical-md {
	.margin-top-md ();
	.margin-bottom-md ();
}

.margin-vertical-lg {
	.margin-top-lg ();
	.margin-bottom-lg ();
}

.margin-vertical-xl {
	.margin-top-xl ();
	.margin-bottom-xl ();
}

.no-margin-vertical {
	margin-top: 0;
	margin-bottom: 0;
}
...
```


*/
.margin-xs {
  margin: 15px;
}
.margin-sm {
  margin: 30px;
}
.margin-md {
  margin: 45px;
}
.margin-lg {
  margin: 60px;
}
.margin-xl {
  margin: 75px;
}
.margin-top-xs {
  margin-top: 15px;
}
.margin-top-sm {
  margin-top: 30px;
}
@media (min-width: 768px) and (max-width: 979px) {
  .margin-top-sm\@only-tablet {
    margin-top: 30px;
  }
}
.margin-top-md {
  margin-top: 45px;
}
@media (min-width: 768px) and (max-width: 979px) {
  .margin-top-md\@only-tablet {
    margin-top: 45px;
  }
}
.margin-top-lg {
  margin-top: 60px;
}
.margin-top-xl {
  margin-top: 75px;
}
.no-margin-top {
  margin-top: 0;
}
.margin-right-xxs {
  margin-right: 10px;
}
.margin-right-xs {
  margin-right: 15px;
}
.margin-right-sm {
  margin-right: 30px;
}
.margin-right-md {
  margin-right: 45px;
}
.margin-right-lg {
  margin-right: 60px;
}
.margin-right-xl {
  margin-right: 75px;
}
.no-margin-right {
  margin-right: 0;
}
.margin-bottom-xxs {
  margin-bottom: 10px;
}
.margin-bottom-xsm {
  margin-bottom: 25px;
}
.margin-bottom-sm {
  margin-bottom: 30px;
}
.margin-bottom-md {
  margin-bottom: 45px;
}
.margin-bottom-lg {
  margin-bottom: 60px;
}
.margin-bottom-xl {
  margin-bottom: 75px;
}
.margin-bottom-xxl {
  margin-bottom: 90px;
}
.no-margin-bottom {
  margin-bottom: 0;
}
.margin-left-xxs {
  margin-left: 10px;
}
.margin-left-xs {
  margin-left: 15px;
}
.margin-left-sm {
  margin-left: 30px;
}
.margin-left-md {
  margin-left: 45px;
}
.margin-left-lg {
  margin-left: 60px;
}
.margin-left-xl {
  margin-left: 75px;
}
.no-margin-left {
  margin-left: 0;
}
.margin-vertical-xs {
  margin-top: 15px;
  margin-bottom: 15px;
}
.margin-vertical-sm {
  margin-top: 30px;
  margin-bottom: 30px;
}
.margin-vertical-md {
  margin-top: 45px;
  margin-bottom: 45px;
}
.margin-vertical-lg {
  margin-top: 60px;
  margin-bottom: 60px;
}
.margin-vertical-xl {
  margin-top: 75px;
  margin-bottom: 75px;
}
.no-margin-vertical {
  margin-top: 0;
  margin-bottom: 0;
}
.margin-horizontal-xs {
  margin-left: 15px;
  margin-right: 15px;
}
.margin-horizontal-sm {
  margin-left: 30px;
  margin-right: 30px;
}
.margin-horizontal-md {
  margin-left: 45px;
  margin-right: 45px;
}
.margin-horizontal-lg {
  margin-left: 60px;
  margin-right: 60px;
}
.margin-horizontal-xl {
  margin-left: 75px;
  margin-right: 75px;
}
.no-margin-horizontal {
  margin-left: 0;
  margin-right: 0;
}
.padding-xxs {
  padding: 10px;
}
.padding-xs {
  padding: 15px;
}
.padding-sm {
  padding: 30px;
}
.padding-md {
  padding: 45px;
}
.padding-lg {
  padding: 60px;
}
.padding-xl {
  padding: 75px;
}
.padding-top-xxxs {
  padding-top: 5px;
}
.padding-top-xxs {
  padding-top: 10px;
}
.padding-top-xs {
  padding-top: 15px;
}
.padding-top-sm {
  padding-top: 30px;
}
.padding-top-md {
  padding-top: 45px;
}
.padding-top-lg {
  padding-top: 60px;
}
.padding-top-xl {
  padding-top: 75px;
}
.padding-top-xxl {
  padding-top: 90px;
}
@media (min-width: 768px) {
  .padding-top-xxl\@tablet {
    padding-top: 90px;
  }
}
.no-padding-top {
  padding-top: 0;
}
.padding-right-xs {
  padding-right: 15px;
}
.padding-right-sm {
  padding-right: 30px;
}
.padding-right-md {
  padding-right: 45px;
}
.padding-right-lg {
  padding-right: 60px;
}
.padding-right-xl {
  padding-right: 75px;
}
.no-padding-right {
  padding-right: 0;
}
.padding-bottom-xxxs {
  padding-bottom: 5px;
}
.padding-bottom-xxs {
  padding-bottom: 10px;
}
.padding-bottom-xs {
  padding-bottom: 15px;
}
.padding-bottom-sm {
  padding-bottom: 30px;
}
.padding-bottom-md {
  padding-bottom: 45px;
}
.padding-bottom-lg {
  padding-bottom: 60px;
}
.padding-bottom-xl {
  padding-bottom: 75px;
}
.no-padding-bottom {
  padding-bottom: 0;
}
.padding-left-xs {
  padding-left: 15px;
}
.padding-left-sm {
  padding-left: 30px;
}
.padding-left-md {
  padding-left: 45px;
}
.padding-left-lg {
  padding-left: 60px;
}
.padding-left-xl {
  padding-left: 75px;
}
.no-padding-left {
  padding-left: 0;
}
.padding-vertical-xxxs {
  padding-top: 5px;
  padding-bottom: 5px;
}
.padding-vertical-xxs {
  padding-top: 10px;
  padding-bottom: 10px;
}
.padding-vertical-xs {
  padding-top: 15px;
  padding-bottom: 15px;
}
@media (min-width: 768px) {
  .padding-vertical-xs\@tablet {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.padding-vertical-sm {
  padding-top: 30px;
  padding-bottom: 30px;
}
.padding-vertical-md {
  padding-top: 45px;
  padding-bottom: 45px;
}
.padding-vertical-lg {
  padding-top: 60px;
  padding-bottom: 60px;
}
.padding-vertical-xl {
  padding-top: 75px;
  padding-bottom: 75px;
}
.no-padding-vertical {
  padding-top: 0;
  padding-bottom: 0;
}
.padding-horizontal-xs {
  padding-left: 15px;
  padding-right: 15px;
}
.padding-horizontal-sm {
  padding-left: 30px;
  padding-right: 30px;
}
.padding-horizontal-md {
  padding-left: 45px;
  padding-right: 45px;
}
.padding-horizontal-lg {
  padding-left: 60px;
  padding-right: 60px;
}
.padding-horizontal-xl {
  padding-left: 75px;
  padding-right: 75px;
}
.no-padding-horizontal {
  padding-left: 0;
  padding-right: 0;
}
/*doc
---
title: Centrar
category: Mixins
---

*/
/**
 * Para centrar correctamente el elemento es necesario añadirle a su padre 
 * la regla 'position: relative;'.
 */
.center {
  width: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  bottom: auto;
  right: auto;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
/*doc
---
title: Submenú
category: Mixins
---

*/
/**
 * Con este mixin generamos las variantes de color de un submenú, como por 
 * ejemplo el de la sección de Educación.
 */
/*doc
---
title: Submenú
category: Mixins
---

*/
/**
 * Con este mixin generamos las variantes de los fondos de color, como por 
 * ejemplo los de la sección de Educación.
 */
/*doc
---
title: Flechas
category: Mixins
---

*/
.borrar-flecha:before {
  content: none;
}
/*doc
---
title: Miniaturas
category: Mixins
---

Con este mixin generamos las variantes de color de una miniatura, como por ejemplo el de la sección de Educación.

*/
/*doc
---
title: Etiquetas
category: Mixins
---

Con este mixin generamos las variantes de color de una etiqueta, como por ejemplo el de la sección de Educación.

*/
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}
.page-header {
  margin: 0;
  padding: 0 0 5px 0;
  line-height: 100%;
  border-bottom: 4px solid #333333;
}
.page-header__wrapper {
  margin-bottom: 30px;
}
.buscador-abajo .page-header {
  margin: 0;
}
@media (max-width: 767px) {
  .ancho-completo-xs {
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 767px) {
  .ancho-completo-without-padding-xs {
    margin-left: -20px;
    margin-right: -20px;
  }
}
.splash-button {
  font-family: 'Arial';
  font-size: 24px;
  font-weight: normal;
  line-height: 0;
  background-color: #eee5d5;
  transition: all 0.2s ease-in-out;
  text-shadow: none;
  border: none;
}
.splash-button:hover,
.splash-button:focus {
  background-color: #dfcfb1;
}
.splash-button:focus {
  outline: none;
}
/*doc
---
title: Home Buscador
category: Modulos
---

Documentación...

<div class="alert alert-error">Revisar que elementos se pueden convertir en componentes.</div>

*/
.node-type-portada-general .form-buscar {
  margin-bottom: 20px;
}
/*doc
---
title: Avisos en la Home
category: Modulos
---

Documentación...

<div class="alert alert-error">Revisar que elementos se pueden convertir en componentes.</div>

*/
#home-deepbanner + .alert {
  margin-top: -15px;
}
@media (max-width: 767px) {
  #home-deepbanner + .alert {
    margin-top: 30px;
  }
}
/*doc
---
title: Home Hoy en el Museo
category: Modulos
---

Estilos del bloque "Hoy en el Museo" que aparece en la portada general.

*/
#bloque-con-hoy-museo ul.bloque1 .thumbnail {
  background-color: #ffffff;
}
#bloque-con-hoy-museo .caja {
  background: #eee5d5;
}
#hoy-en-el-museo {
  margin: 0;
  padding: 20px 10px;
  border-top: none;
}
#hoy-en-el-museo .titulo-bloque {
  padding-left: 0;
  padding-right: 0;
  font-size: 16px;
  line-height: 18px;
  border-top: none;
}
#hoy-en-el-museo .calendario {
  margin-bottom: 0;
  margin-left: 5px;
  margin-right: 5px;
}
#hoy-en-el-museo .ui-datepicker tbody {
  background: #DFD7C7;
  border-left: 1px solid #DFD7C7;
  border-top: 1px solid #DFD7C7;
}
#hoy-en-el-museo .ui-datepicker td span,
#hoy-en-el-museo .ui-datepicker td a,
#hoy-en-el-museo .ui-datepicker td .ui-state-default {
  border-color: #dfd7c7;
}
#hoy-en-el-museo .ui-datepicker .ui-state-default {
  background: #fff;
}
#hoy-en-el-museo .ui-datepicker .ui-state-default:hover {
  background: #f2f2f2;
}
#hoy-en-el-museo .ui-datepicker .ui-state-highlight {
  background: #e7d800;
}
#hoy-en-el-museo .ui-datepicker .ui-state-highlight:hover {
  background: #e7d800;
}
#hoy-en-el-museo .ui-datepicker .ui-state-active {
  background: #373737;
}
#hoy-en-el-museo .ui-datepicker .ui-state-active:hover {
  background: #373737;
}
.logo-rrs {
  display: inline-block;
  width: 62px;
  height: 17px;
  background: url(../images/ico.radio.museo.png) top left no-repeat;
}
.logo-rrs__text {
  display: none;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2Jvb3RzdHJhcC9sZXNzL21peGlucy5sZXNzIiwibWl4aW5zL3Nwcml0ZXMubGVzcyIsIm1peGlucy9mb250LXNpemUubGVzcyIsIm1peGlucy9zcGFjZXMubGVzcyIsIm1peGlucy9jZW50ZXIubGVzcyIsIm1peGlucy9mbGVjaGFzLmxlc3MiLCJtaXhpbnMvc2NyZWVucmVhZGVycy5sZXNzIiwibWl4aW5zL3BhZ2UtaGVhZGVyLmxlc3MiLCJtaXhpbnMvZ3JpZC5sZXNzIiwibWl4aW5zL3NwbGFzaC1idXR0b24ubGVzcyIsInZhcmlhYmxlcy5sZXNzIiwibW9kdWxvcy9ob21lLWJ1c2NhZG9yLmxlc3MiLCJtb2R1bG9zL2hvbWUtYXZpc29zLmxlc3MiLCJtb2R1bG9zL2hvbWUtaG95LW11c2VvLmxlc3MiLCJtb2R1bG9zL2hvbWUtbXVsdGltZWRpYS5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBV0E7RUFDRSxRQUFBOztBQUNBLFNBQUM7QUFDRCxTQUFDO0VBQ0MsY0FBQTtFQUNBLFNBQVMsRUFBVDs7QUFFRixTQUFDO0VBQ0MsV0FBQTs7QUFvRko7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDZCQUFBO0VBQ0EsU0FBQTs7QUEyQ0Y7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBZ0lBLDhCQUFBO0VBQ0csMkJBQUE7RUFDQywwQkFBQTtFQUNJLHNCQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzVMVjtFQUNHLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSxnQkFBQTs7QUM3Rkg7RUFDQyxlQUFBOztBQUdEO0VBQ0MsZUFBQTs7QUFHRDtFQUNDLGVBQUE7O0FBR0Q7RUFDQyxlQUFBOztBQUlELFFBSGtDO0VBR2xDO0lBRlEsZUFBQTs7O0FBZ0NSO0VBQ0MsZUFBQTs7QUFJRCxRQUhvQztFQUdwQztJ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QkFFRSxHQUFFLFFBQVM7RUFDVCx5QkFBQTs7QUFISixxQkFNQztFQUNDLG1CQUFBOztBQUtGO0VBQ0MsU0FBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7O0FBSEQsZ0JBSUM7RUFDQyxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTs7QUFURixnQkFXQztFQUNDLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTs7QUFkRixnQkFnQkMsZUFDQztFQUNDLG1CQUFBO0VBQ0EsOEJBQUE7RUFDQSw2QkFBQTs7QUFwQkgsZ0JBZ0JDLGVBTUMsR0FDQztBQXZCSCxnQkFnQkMsZUFNQyxHQUVDO0FBeEJILGdCQWdCQyxlQU1DLEdBR0M7RUFDQyxxQkFBQTs7QUExQkosZ0JBZ0JDLGVBYUM7RUFDQyxnQkFBQTs7QUFDQSxnQkFmRixlQWFDLGtCQUVFO0VBQ0EsbUJBQUE7O0FBaENKLGdCQWdCQyxlQW1CQztFQUNDLG1CQUFBOztBQUNBLGdCQXJCRixlQW1CQyxvQkFFRTtFQUNBLG1CQUFBOztBQXRDSixnQkFnQkMsZUF5QkM7RUFDQyxtQkFBQTs7QUFDQSxnQkEzQkYsZUF5QkMsaUJBRUU7RUFDQSxtQkFBQTs7QUNsRUo7RUFDQyxxQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUVBQUE7O0FBR0Q7RUFDQyxhQUFBIiwiZmlsZSI6ImhvbWUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTWl4aW5zLmxlc3Ncbi8vIFNuaXBwZXRzIG9mIHJldXNhYmxlIENTUyB0byBkZXZlbG9wIGZhc3RlciBhbmQga2VlcCBjb2RlIHJlYWRhYmxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFVUSUxJVFkgTUlYSU5TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDbGVhcmZpeFxuLy8gLS0tLS0tLS1cbi8vIEZvciBjbGVhcmluZyBmbG9hdHMgbGlrZSBhIGJvc3MgaDVicC5jb20vcVxuLmNsZWFyZml4IHtcbiAgKnpvb206IDE7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vIFdlYmtpdC1zdHlsZSBmb2N1c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4udGFiLWZvY3VzKCkge1xuICAvLyBEZWZhdWx0XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkICMzMzM7XG4gIC8vIFdlYmtpdFxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG4vLyBDZW50ZXItYWxpZ24gYSBibG9jayBsZXZlbCBlbGVtZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8gSUU3IGlubGluZS1ibG9ja1xuLy8gLS0tLS0tLS0tLS0tLS0tLVxuLmllNy1pbmxpbmUtYmxvY2soKSB7XG4gICpkaXNwbGF5OiBpbmxpbmU7IC8qIElFNyBpbmxpbmUtYmxvY2sgaGFjayAqL1xuICAqem9vbTogMTtcbn1cblxuLy8gSUU3IGxpa2VzIHRvIGNvbGxhcHNlIHdoaXRlc3BhY2Ugb24gZWl0aGVyIHNpZGUgb2YgdGhlIGlubGluZS1ibG9jayBlbGVtZW50cy5cbi8vIEVtcyBiZWNhdXNlIHdlJ3JlIGF0dGVtcHRpbmcgdG8gbWF0Y2ggdGhlIHdpZHRoIG9mIGEgc3BhY2UgY2hhcmFjdGVyLiBMZWZ0XG4vLyB2ZXJzaW9uIGlzIGZvciBmb3JtIGJ1dHRvbnMsIHdoaWNoIHR5cGljYWxseSBjb21lIGFmdGVyIG90aGVyIGVsZW1lbnRzLCBhbmRcbi8vIHJpZ2h0IHZlcnNpb24gaXMgZm9yIGljb25zLCB3aGljaCBjb21lIGJlZm9yZS4gQXBwbHlpbmcgYm90aCBpcyBvaywgYnV0IGl0IHdpbGxcbi8vIG1lYW4gdGhhdCBzcGFjZSBiZXR3ZWVuIHRob3NlIGVsZW1lbnRzIHdpbGwgYmUgLjZlbSAofjIgc3BhY2UgY2hhcmFjdGVycykgaW4gSUU3LFxuLy8gaW5zdGVhZCBvZiB0aGUgMSBzcGFjZSBpbiBvdGhlciBicm93c2Vycy5cbi5pZTctcmVzdG9yZS1sZWZ0LXdoaXRlc3BhY2UoKSB7XG4gICptYXJnaW4tbGVmdDogLjNlbTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAqbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmllNy1yZXN0b3JlLXJpZ2h0LXdoaXRlc3BhY2UoKSB7XG4gICptYXJnaW4tcmlnaHQ6IC4zZW07XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAqbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gU2l6aW5nIHNob3J0Y3V0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnNpemUoQGhlaWdodCwgQHdpZHRoKSB7XG4gIHdpZHRoOiBAd2lkdGg7XG4gIGhlaWdodDogQGhlaWdodDtcbn1cbi5zcXVhcmUoQHNpemUpIHtcbiAgLnNpemUoQHNpemUsIEBzaXplKTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBsYWNlaG9sZGVyKEBjb2xvcjogQHBsYWNlaG9sZGVyVGV4dCkge1xuICA6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgfVxuICA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gIH1cbn1cblxuLy8gVGV4dCBvdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuLnRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xuLmhpZGUtdGV4dCB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG5cbi8vIEZPTlRTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4jZm9udCB7XG4gICNmYW1pbHkge1xuICAgIC5zZXJpZigpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBAc2VyaWZGb250RmFtaWx5O1xuICAgIH1cbiAgICAuc2Fucy1zZXJpZigpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBAc2Fuc0ZvbnRGYW1pbHk7XG4gICAgfVxuICAgIC5tb25vc3BhY2UoKSB7XG4gICAgICBmb250LWZhbWlseTogQG1vbm9Gb250RmFtaWx5O1xuICAgIH1cbiAgfVxuICAuc2hvcnRoYW5kKEBzaXplOiBAYmFzZUZvbnRTaXplLCBAd2VpZ2h0OiBub3JtYWwsIEBsaW5lSGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQpIHtcbiAgICBmb250LXNpemU6IEBzaXplO1xuICAgIGZvbnQtd2VpZ2h0OiBAd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZUhlaWdodDtcbiAgfVxuICAuc2VyaWYoQHNpemU6IEBiYXNlRm9udFNpemUsIEB3ZWlnaHQ6IG5vcm1hbCwgQGxpbmVIZWlnaHQ6IEBiYXNlTGluZUhlaWdodCkge1xuICAgICNmb250ID4gI2ZhbWlseSA+IC5zZXJpZjtcbiAgICAjZm9udCA+IC5zaG9ydGhhbmQoQHNpemUsIEB3ZWlnaHQsIEBsaW5lSGVpZ2h0KTtcbiAgfVxuICAuc2Fucy1zZXJpZihAc2l6ZTogQGJhc2VGb250U2l6ZSwgQHdlaWdodDogbm9ybWFsLCBAbGluZUhlaWdodDogQGJhc2VMaW5lSGVpZ2h0KSB7XG4gICAgI2ZvbnQgPiAjZmFtaWx5ID4gLnNhbnMtc2VyaWY7XG4gICAgI2ZvbnQgPiAuc2hvcnRoYW5kKEBzaXplLCBAd2VpZ2h0LCBAbGluZUhlaWdodCk7XG4gIH1cbiAgLm1vbm9zcGFjZShAc2l6ZTogQGJhc2VGb250U2l6ZSwgQHdlaWdodDogbm9ybWFsLCBAbGluZUhlaWdodDogQGJhc2VMaW5lSGVpZ2h0KSB7XG4gICAgI2ZvbnQgPiAjZmFtaWx5ID4gLm1vbm9zcGFjZTtcbiAgICAjZm9udCA+IC5zaG9ydGhhbmQoQHNpemUsIEB3ZWlnaHQsIEBsaW5lSGVpZ2h0KTtcbiAgfVxufVxuXG5cbi8vIEZPUk1TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBCbG9jayBsZXZlbCBpbnB1dHNcbi5pbnB1dC1ibG9jay1sZXZlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMjhweDsgICAgICAgIC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0XG4gIC5ib3gtc2l6aW5nKGJvcmRlci1ib3gpOyAvLyBNYWtlcyBpbnB1dHMgYmVoYXZlIGxpa2UgdHJ1ZSBibG9jay1sZXZlbCBlbGVtZW50c1xufVxuXG5cbi8vIE1peGluIGZvciBmb3JtIGZpZWxkIHN0YXRlc1xuLmZvcm1GaWVsZFN0YXRlKEB0ZXh0Q29sb3I6ICM1NTUsIEBib3JkZXJDb2xvcjogI2NjYywgQGJhY2tncm91bmRDb2xvcjogI2Y1ZjVmNSkge1xuICAvLyBTZXQgdGhlIHRleHQgY29sb3JcbiAgPiBsYWJlbCxcbiAgLmhlbHAtYmxvY2ssXG4gIC5oZWxwLWlubGluZSB7XG4gICAgY29sb3I6IEB0ZXh0Q29sb3I7XG4gIH1cbiAgLy8gU3R5bGUgaW5wdXRzIGFjY29yZGluZ2x5XG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBjb2xvcjogQHRleHRDb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEBib3JkZXJDb2xvcjtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBib3JkZXJDb2xvciwgMTAlKTtcbiAgICAgIC5ib3gtc2hhZG93KDAgMCA2cHggbGlnaHRlbihAYm9yZGVyQ29sb3IsIDIwJSkpO1xuICAgIH1cbiAgfVxuICAvLyBHaXZlIGEgc21hbGwgYmFja2dyb3VuZCBjb2xvciBmb3IgaW5wdXQtcHJlcGVuZC8tYXBwZW5kXG4gIC5pbnB1dC1wcmVwZW5kIC5hZGQtb24sXG4gIC5pbnB1dC1hcHBlbmQgLmFkZC1vbiB7XG4gICAgY29sb3I6IEB0ZXh0Q29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmRDb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEB0ZXh0Q29sb3I7XG4gIH1cbn1cblxuXG5cbi8vIENTUzMgUFJPUEVSVElFU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQm9yZGVyIFJhZGl1c1xuLmJvcmRlci1yYWRpdXMoQHJhZGl1cykge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogQHJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi5ib3gtc2hhZG93KEBzaGFkb3cpIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBAc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6IEBzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogQHNoYWRvdztcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi50cmFuc2l0aW9uKEB0cmFuc2l0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgIC1tb3otdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgICAtbXMtdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgICAgLW8tdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuLnJvdGF0ZShAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG59XG4uc2NhbGUoQHJhdGlvKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xuICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcbn1cbi50cmFuc2xhdGUoQHgsIEB5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xufVxuLnNrZXcoQHgsIEB5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KEB4LCBAeSk7XG4gICAgIC1tb3otdHJhbnNmb3JtOiBza2V3KEB4LCBAeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3KEB4LCBAeSk7XG4gICAgICAgLW8tdHJhbnNmb3JtOiBza2V3KEB4LCBAeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBza2V3KEB4LCBAeSk7XG59XG4udHJhbnNsYXRlM2QoQHgsIEB5LCBAeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSwgQHopO1xuICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSwgQHopO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSwgQHopO1xuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSwgQHopO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSwgQHopO1xufVxuXG4vLyBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyBQcmV2ZW50IGJyb3dzZXJzIGZyb20gZmxpY2tlcmluZyB3aGVuIHVzaW5nIENTUyAzRCB0cmFuc2Zvcm1zLlxuLy8gRGVmYXVsdCB2YWx1ZSBpcyBgdmlzaWJsZWAsIGJ1dCBjYW4gYmUgY2hhbmdlZCB0byBgaGlkZGVuXG4vLyBTZWUgZ2l0IHB1bGwgaHR0cHM6Ly9naXRodWIuY29tL2Rhbm55a2VhbmUvYm9vdHN0cmFwLmdpdCBiYWNrZmFjZS12aXNpYmlsaXR5IGZvciBleGFtcGxlc1xuLmJhY2tmYWNlLXZpc2liaWxpdHkoQHZpc2liaWxpdHkpe1xuXHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xuXHQgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xuXHQgICAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xuXHQgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xufVxuXG4vLyBCYWNrZ3JvdW5kIGNsaXBwaW5nXG4vLyBIZWFkcyB1cDogRkYgMy42IGFuZCB1bmRlciBuZWVkIFwicGFkZGluZ1wiIGluc3RlYWQgb2YgXCJwYWRkaW5nLWJveFwiXG4uYmFja2dyb3VuZC1jbGlwKEBjbGlwKSB7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBAY2xpcDtcbiAgICAgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IEBjbGlwO1xuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogQGNsaXA7XG59XG5cbi8vIEJhY2tncm91bmQgc2l6aW5nXG4uYmFja2dyb3VuZC1zaXplKEBzaXplKXtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IEBzaXplO1xuICAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogQHNpemU7XG4gICAgICAgLW8tYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IEBzaXplO1xufVxuXG5cbi8vIEJveCBzaXppbmdcbi5ib3gtc2l6aW5nKEBib3htb2RlbCkge1xuICAtd2Via2l0LWJveC1zaXppbmc6IEBib3htb2RlbDtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiBAYm94bW9kZWw7XG4gICAgICAtbXMtYm94LXNpemluZzogQGJveG1vZGVsO1xuICAgICAgICAgIGJveC1zaXppbmc6IEBib3htb2RlbDtcbn1cblxuLy8gVXNlciBzZWxlY3Rcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxuLnVzZXItc2VsZWN0KEBzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgICAtby11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogQHNlbGVjdDtcbn1cblxuLy8gUmVzaXplIGFueXRoaW5nXG4ucmVzaXphYmxlKEBkaXJlY3Rpb24pIHtcbiAgcmVzaXplOiBAZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxuICBvdmVyZmxvdzogYXV0bzsgLy8gU2FmYXJpIGZpeFxufVxuXG4vLyBDU1MzIENvbnRlbnQgQ29sdW1uc1xuLmNvbnRlbnQtY29sdW1ucyhAY29sdW1uQ291bnQsIEBjb2x1bW5HYXA6IEBncmlkR3V0dGVyV2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IEBjb2x1bW5Db3VudDtcbiAgICAgLW1vei1jb2x1bW4tY291bnQ6IEBjb2x1bW5Db3VudDtcbiAgICAgICAgICBjb2x1bW4tY291bnQ6IEBjb2x1bW5Db3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiBAY29sdW1uR2FwO1xuICAgICAtbW96LWNvbHVtbi1nYXA6IEBjb2x1bW5HYXA7XG4gICAgICAgICAgY29sdW1uLWdhcDogQGNvbHVtbkdhcDtcbn1cblxuLy8gT3BhY2l0eVxuLm9wYWNpdHkoQG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogQG9wYWNpdHkgLyAxMDA7XG4gIGZpbHRlcjogflwiYWxwaGEob3BhY2l0eT1Ae29wYWNpdHl9KVwiO1xufVxuXG5cblxuLy8gQkFDS0dST1VORFNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEFkZCBhbiBhbHBoYXRyYW5zcGFyZW5jeSB2YWx1ZSB0byBhbnkgYmFja2dyb3VuZCBvciBib3JkZXIgY29sb3IgKHZpYSBFbHlzZSBIb2xsYWRheSlcbiN0cmFuc2x1Y2VudCB7XG4gIC5iYWNrZ3JvdW5kKEBjb2xvcjogQHdoaXRlLCBAYWxwaGE6IDEpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKGh1ZShAY29sb3IpLCBzYXR1cmF0aW9uKEBjb2xvciksIGxpZ2h0bmVzcyhAY29sb3IpLCBAYWxwaGEpO1xuICB9XG4gIC5ib3JkZXIoQGNvbG9yOiBAd2hpdGUsIEBhbHBoYTogMSkge1xuICAgIGJvcmRlci1jb2xvcjogaHNsYShodWUoQGNvbG9yKSwgc2F0dXJhdGlvbihAY29sb3IpLCBsaWdodG5lc3MoQGNvbG9yKSwgQGFscGhhKTtcbiAgICAuYmFja2dyb3VuZC1jbGlwKHBhZGRpbmctYm94KTtcbiAgfVxufVxuXG4vLyBHcmFkaWVudCBCYXIgQ29sb3JzIGZvciBidXR0b25zIGFuZCBhbGVydHNcbi5ncmFkaWVudEJhcihAcHJpbWFyeUNvbG9yLCBAc2Vjb25kYXJ5Q29sb3IpIHtcbiAgI2dyYWRpZW50ID4gLnZlcnRpY2FsKEBwcmltYXJ5Q29sb3IsIEBzZWNvbmRhcnlDb2xvcik7XG4gIGJvcmRlci1jb2xvcjogQHNlY29uZGFyeUNvbG9yIEBzZWNvbmRhcnlDb2xvciBkYXJrZW4oQHNlY29uZGFyeUNvbG9yLCAxNSUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjEpIGZhZGVpbihyZ2JhKDAsMCwwLC4xKSwgMTUlKTtcbn1cblxuLy8gR3JhZGllbnRzXG4jZ3JhZGllbnQge1xuICAuaG9yaXpvbnRhbChAc3RhcnRDb2xvcjogIzU1NSwgQGVuZENvbG9yOiAjMzMzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGVuZENvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBGRiAzLjYrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gSUUxMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDEwMCUgMCwgZnJvbShAc3RhcnRDb2xvciksIHRvKEBlbmRDb2xvcikpOyAvLyBTYWZhcmkgNCssIENocm9tZSAyK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gT3BlcmEgMTEuMTBcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIExlIHN0YW5kYXJkXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTEpXCIsQHN0YXJ0Q29sb3IsQGVuZENvbG9yKSk7IC8vIElFOSBhbmQgZG93blxuICB9XG4gIC52ZXJ0aWNhbChAc3RhcnRDb2xvcjogIzU1NSwgQGVuZENvbG9yOiAjMzMzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KEBzdGFydENvbG9yLCBAZW5kQ29sb3IsIDYwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gRkYgMy42K1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gSUUxMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbShAc3RhcnRDb2xvciksIHRvKEBlbmRDb2xvcikpOyAvLyBTYWZhcmkgNCssIENocm9tZSAyK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIE9wZXJhIDExLjEwXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFRoZSBzdGFuZGFyZFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLEBzdGFydENvbG9yLEBlbmRDb2xvcikpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxuICAuZGlyZWN0aW9uYWwoQHN0YXJ0Q29sb3I6ICM1NTUsIEBlbmRDb2xvcjogIzMzMywgQGRlZzogNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZW5kQ29sb3I7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBGRiAzLjYrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gSUUxMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gT3BlcmEgMTEuMTBcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFRoZSBzdGFuZGFyZFxuICB9XG4gIC52ZXJ0aWNhbC10aHJlZS1jb2xvcnMoQHN0YXJ0Q29sb3I6ICMwMGIzZWUsIEBtaWRDb2xvcjogIzdhNDNiNiwgQGNvbG9yU3RvcDogNTAlLCBAZW5kQ29sb3I6ICNjMzMyNWYpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoQG1pZENvbG9yLCBAZW5kQ29sb3IsIDgwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKEBzdGFydENvbG9yKSwgY29sb3Itc3RvcChAY29sb3JTdG9wLCBAbWlkQ29sb3IpLCB0byhAZW5kQ29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQHN0YXJ0Q29sb3IsIEBtaWRDb2xvciBAY29sb3JTdG9wLCBAZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MClcIixAc3RhcnRDb2xvcixAZW5kQ29sb3IpKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbiAgfVxuICAucmFkaWFsKEBpbm5lckNvbG9yOiAjNTU1LCBAb3V0ZXJDb2xvcjogIzMzMykgIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAb3V0ZXJDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgY2VudGVyIGNlbnRlciwgMCwgY2VudGVyIGNlbnRlciwgNDYwLCBmcm9tKEBpbm5lckNvbG9yKSwgdG8oQG91dGVyQ29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lckNvbG9yLCBAb3V0ZXJDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXJDb2xvciwgQG91dGVyQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXJDb2xvciwgQG91dGVyQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lckNvbG9yLCBAb3V0ZXJDb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxuICAuc3RyaXBlZChAY29sb3IsIEBhbmdsZTogLTQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCguMjUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSksIGNvbG9yLXN0b3AoLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoLjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguNSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpKSwgY29sb3Itc3RvcCguNzUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSksIGNvbG9yLXN0b3AoLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChAYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICB9XG59XG4vLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLnJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKVwiKSk7XG59XG5cblxuXG4vLyBDT01QT05FTlQgTUlYSU5TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcbi5uYXYtZGl2aWRlcigpIHtcbiAgLy8gSUU3IG5lZWRzIGEgc2V0IHdpZHRoIHNpbmNlIHdlIGdhdmUgYSBoZWlnaHQuIFJlc3RyaWN0aW5nIGp1c3RcbiAgLy8gdG8gSUU3IHRvIGtlZXAgdGhlIDFweCBsZWZ0L3JpZ2h0IHNwYWNlIGluIG90aGVyIGJyb3dzZXJzLlxuICAvLyBJdCBpcyB1bmNsZWFyIHdoZXJlIElFIGlzIGdldHRpbmcgdGhlIGV4dHJhIHNwYWNlIHRoYXQgd2UgbmVlZFxuICAvLyB0byBuZWdhdGl2ZS1tYXJnaW4gYXdheSwgYnV0IHNvIGl0IGdvZXMuXG4gICp3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogKChAYmFzZUxpbmVIZWlnaHQgLyAyKSAtIDEpIDFweDsgLy8gOHB4IDFweFxuICAqbWFyZ2luOiAtNXB4IDAgNXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQHdoaXRlO1xufVxuXG4vLyBCdXR0b24gYmFja2dyb3VuZHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuLmJ1dHRvbkJhY2tncm91bmQoQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcikge1xuICAvLyBncmFkaWVudEJhciB3aWxsIHNldCB0aGUgYmFja2dyb3VuZCB0byBhIHBsZWFzaW5nIGJsZW5kIG9mIHRoZXNlLCB0byBzdXBwb3J0IElFPD05XG4gIC5ncmFkaWVudEJhcihAc3RhcnRDb2xvciwgQGVuZENvbG9yKTtcbiAgKmJhY2tncm91bmQtY29sb3I6IEBlbmRDb2xvcjsgLyogRGFya2VuIElFNyBidXR0b25zIGJ5IGRlZmF1bHQgc28gdGhleSBzdGFuZCBvdXQgbW9yZSBnaXZlbiB0aGV5IHdvbid0IGhhdmUgYm9yZGVycyAqL1xuICAucmVzZXQtZmlsdGVyKCk7XG5cbiAgLy8gaW4gdGhlc2UgY2FzZXMgdGhlIGdyYWRpZW50IHdvbid0IGNvdmVyIHRoZSBiYWNrZ3JvdW5kLCBzbyB3ZSBvdmVycmlkZVxuICAmOmhvdmVyLCAmOmFjdGl2ZSwgJi5hY3RpdmUsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZW5kQ29sb3I7XG4gICAgKmJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAZW5kQ29sb3IsIDUlKTtcbiAgfVxuXG4gIC8vIElFIDcgKyA4IGNhbid0IGhhbmRsZSBib3gtc2hhZG93IHRvIHNob3cgYWN0aXZlLCBzbyB3ZSBkYXJrZW4gYSBiaXQgb3Vyc2VsdmVzXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBlbmRDb2xvciwgMTAlKSBlKFwiXFw5XCIpO1xuICB9XG59XG5cbi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmVydGljYWxseSBjZW50ZXIgZWxlbWVudHMgaW4gdGhlIG5hdmJhci5cbi8vIEV4YW1wbGU6IGFuIGVsZW1lbnQgaGFzIGEgaGVpZ2h0IG9mIDMwcHgsIHNvIHdyaXRlIG91dCBgLm5hdmJhclZlcnRpY2FsQWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG4ubmF2YmFyVmVydGljYWxBbGlnbihAZWxlbWVudEhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoQG5hdmJhckhlaWdodCAtIEBlbGVtZW50SGVpZ2h0KSAvIDI7XG59XG5cbi8vIFBvcG92ZXIgYXJyb3dzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGb3IgdGlwc2llcyBhbmQgcG9wb3ZlcnNcbiNwb3BvdmVyQXJyb3cge1xuICAudG9wKEBhcnJvd1dpZHRoOiA1cHgsIEBjb2xvcjogQGJsYWNrKSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUBhcnJvd1dpZHRoO1xuICAgIGJvcmRlci1sZWZ0OiBAYXJyb3dXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IEBhcnJvd1dpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IEBhcnJvd1dpZHRoIHNvbGlkIEBjb2xvcjtcbiAgfVxuICAubGVmdChAYXJyb3dXaWR0aDogNXB4LCBAY29sb3I6IEBibGFjaykge1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IC1AYXJyb3dXaWR0aDtcbiAgICBib3JkZXItdG9wOiBAYXJyb3dXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiBAYXJyb3dXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogQGFycm93V2lkdGggc29saWQgQGNvbG9yO1xuICB9XG4gIC5ib3R0b20oQGFycm93V2lkdGg6IDVweCwgQGNvbG9yOiBAYmxhY2spIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtQGFycm93V2lkdGg7XG4gICAgYm9yZGVyLWxlZnQ6IEBhcnJvd1dpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogQGFycm93V2lkdGggc29saWQgQGNvbG9yO1xuICB9XG4gIC5yaWdodChAYXJyb3dXaWR0aDogNXB4LCBAY29sb3I6IEBibGFjaykge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLUBhcnJvd1dpZHRoO1xuICAgIGJvcmRlci10b3A6IEBhcnJvd1dpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IEBhcnJvd1dpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogQGFycm93V2lkdGggc29saWQgQGNvbG9yO1xuICB9XG59XG5cbi8vIEdyaWQgU3lzdGVtXG4vLyAtLS0tLS0tLS0tLVxuXG4vLyBDZW50ZXJlZCBjb250YWluZXIgZWxlbWVudFxuLmNvbnRhaW5lci1maXhlZCgpIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgLmNsZWFyZml4KCk7XG59XG5cbi8vIFRhYmxlIGNvbHVtbnNcbi50YWJsZUNvbHVtbnMoQGNvbHVtblNwYW46IDEpIHtcbiAgZmxvYXQ6IG5vbmU7IC8vIHVuZG8gZGVmYXVsdCBncmlkIGNvbHVtbiBzdHlsZXNcbiAgd2lkdGg6ICgoQGdyaWRDb2x1bW5XaWR0aCkgKiBAY29sdW1uU3BhbikgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1uU3BhbiAtIDEpKSAtIDE2OyAvLyAxNiBpcyB0b3RhbCBwYWRkaW5nIG9uIGxlZnQgYW5kIHJpZ2h0IG9mIHRhYmxlIGNlbGxzXG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyB1bmRvIGRlZmF1bHQgZ3JpZCBjb2x1bW4gc3R5bGVzXG59XG5cbi8vIE1ha2UgYSBHcmlkXG4vLyBVc2UgLm1ha2VSb3cgYW5kIC5tYWtlQ29sdW1uIHRvIGFzc2lnbiBzZW1hbnRpYyBsYXlvdXRzIGdyaWQgc3lzdGVtIGJlaGF2aW9yXG4ubWFrZVJvdygpIHtcbiAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGggKiAtMTtcbiAgLmNsZWFyZml4KCk7XG59XG4ubWFrZUNvbHVtbihAY29sdW1uczogMSwgQG9mZnNldDogMCkge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IChAZ3JpZENvbHVtbldpZHRoICogQG9mZnNldCkgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIChAb2Zmc2V0IC0gMSkpICsgKEBncmlkR3V0dGVyV2lkdGggKiAyKTtcbiAgd2lkdGg6IChAZ3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSk7XG59XG5cbi8vIFRoZSBHcmlkXG4jZ3JpZCB7XG5cbiAgLmNvcmUgKEBncmlkQ29sdW1uV2lkdGgsIEBncmlkR3V0dGVyV2lkdGgpIHtcblxuICAgIC5zcGFuWCAoQGluZGV4KSB3aGVuIChAaW5kZXggPiAwKSB7XG4gICAgICAvLyh+XCIuc3BhbkB7aW5kZXh9XCIpIHsgLnNwYW4oQGluZGV4KTsgfVxuICAgICAgLnNwYW5Ae2luZGV4fSB7IC5zcGFuKEBpbmRleCk7IH1cbiAgICAgIC5zcGFuWChAaW5kZXggLSAxKTtcbiAgICB9XG4gICAgLnNwYW5YICgwKSB7fVxuXG4gICAgLm9mZnNldFggKEBpbmRleCkgd2hlbiAoQGluZGV4ID4gMCkge1xuICAgICAgLy8oflwiLm9mZnNldEB7aW5kZXh9XCIpIHsgLm9mZnNldChAaW5kZXgpOyB9XG4gICAgICAub2Zmc2V0QHtpbmRleH0geyAub2Zmc2V0KEBpbmRleCk7IH1cbiAgICAgIC5vZmZzZXRYKEBpbmRleCAtIDEpO1xuICAgIH1cbiAgICAub2Zmc2V0WCAoMCkge31cblxuICAgIC5vZmZzZXQgKEBjb2x1bW5zKSB7XG4gICAgICBtYXJnaW4tbGVmdDogKEBncmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1ucyArIDEpKTtcbiAgICB9XG5cbiAgICAuc3BhbiAoQGNvbHVtbnMpIHtcbiAgICAgIHdpZHRoOiAoQGdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpO1xuICAgIH1cblxuICAgIC5yb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGggKiAtMTtcbiAgICAgIC5jbGVhcmZpeCgpO1xuICAgIH1cblxuICAgIFtjbGFzcyo9XCJzcGFuXCJdIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGg7XG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzXG4gICAgLmNvbnRhaW5lcixcbiAgICAubmF2YmFyLWZpeGVkLXRvcCAuY29udGFpbmVyLFxuICAgIC5uYXZiYXItZml4ZWQtYm90dG9tIC5jb250YWluZXIgeyAuc3BhbihAZ3JpZENvbHVtbnMpOyB9XG5cbiAgICAvLyBnZW5lcmF0ZSAuc3BhblggYW5kIC5vZmZzZXRYXG4gICAgLnNwYW5YIChAZ3JpZENvbHVtbnMpO1xuICAgIC5vZmZzZXRYIChAZ3JpZENvbHVtbnMpO1xuXG4gIH1cblxuICAuZmx1aWQgKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCwgQGZsdWlkR3JpZEd1dHRlcldpZHRoKSB7XG5cbiAgICAuc3BhblggKEBpbmRleCkgd2hlbiAoQGluZGV4ID4gMCkge1xuICAgICAgLy8oflwiLnNwYW5Ae2luZGV4fVwiKSB7IC5zcGFuKEBpbmRleCk7IH1cbiAgICAgIC5zcGFuQHtpbmRleH0geyAuc3BhbihAaW5kZXgpOyB9XG4gICAgICAuc3BhblgoQGluZGV4IC0gMSk7XG4gICAgfVxuICAgIC5zcGFuWCAoMCkge31cblxuICAgIC5zcGFuIChAY29sdW1ucykge1xuICAgICAgd2lkdGg6IChAZmx1aWRHcmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpO1xuICAgICAgKndpZHRoOiAoQGZsdWlkR3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1ucyAtIDEpKSAtICguNSAvIEBncmlkUm93V2lkdGggKiAxMDAgKiAxJSk7XG4gICAgfVxuXG4gICAgLnJvdy1mbHVpZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC5jbGVhcmZpeCgpO1xuICAgICAgW2NsYXNzKj1cInNwYW5cIl0ge1xuICAgICAgICAuaW5wdXQtYmxvY2stbGV2ZWwoKTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAZmx1aWRHcmlkR3V0dGVyV2lkdGg7XG4gICAgICAgICptYXJnaW4tbGVmdDogQGZsdWlkR3JpZEd1dHRlcldpZHRoIC0gKC41IC8gQGdyaWRSb3dXaWR0aCAqIDEwMCAqIDElKTtcbiAgICAgIH1cbiAgICAgIFtjbGFzcyo9XCJzcGFuXCJdOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIGdlbmVyYXRlIC5zcGFuWFxuICAgICAgLnNwYW5YIChAZ3JpZENvbHVtbnMpO1xuICAgIH1cblxuICB9XG5cbiAgLmlucHV0KEBncmlkQ29sdW1uV2lkdGgsIEBncmlkR3V0dGVyV2lkdGgpIHtcblxuICAgIC5zcGFuWCAoQGluZGV4KSB3aGVuIChAaW5kZXggPiAwKSB7XG4gICAgICAvLyh+XCJpbnB1dC5zcGFuQHtpbmRleH0sIHRleHRhcmVhLnNwYW5Ae2luZGV4fSwgLnVuZWRpdGFibGUtaW5wdXQuc3BhbkB7aW5kZXh9XCIpIHsgLnNwYW4oQGluZGV4KTsgfVxuICAgICAgaW5wdXQuc3BhbkB7aW5kZXh9LCB0ZXh0YXJlYS5zcGFuQHtpbmRleH0sIC51bmVkaXRhYmxlLWlucHV0LnNwYW5Ae2luZGV4fSB7IC5zcGFuKEBpbmRleCk7IH1cbiAgICAgIC5zcGFuWChAaW5kZXggLSAxKTtcbiAgICB9XG4gICAgLnNwYW5YICgwKSB7fVxuXG4gICAgLnNwYW4oQGNvbHVtbnMpIHtcbiAgICAgIHdpZHRoOiAoKEBncmlkQ29sdW1uV2lkdGgpICogQGNvbHVtbnMpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSkgLSAxMDtcbiAgICB9XG5cbiAgICBpbnB1dCxcbiAgICB0ZXh0YXJlYSxcbiAgICAudW5lZGl0YWJsZS1pbnB1dCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgLy8gb3ZlcnJpZGUgbWFyZ2luLWxlZnQgZnJvbSBjb3JlIGdyaWQgc3lzdGVtXG4gICAgfVxuXG4gICAgLy8gZ2VuZXJhdGUgLnNwYW5YXG4gICAgLnNwYW5YIChAZ3JpZENvbHVtbnMpO1xuXG4gIH1cblxufVxuIiwiLypkb2Ncbi0tLVxudGl0bGU6IFNwcml0ZXNcbmNhdGVnb3J5OiBNaXhpbnNcbi0tLVxuXG5QYXJhIHRyYWJhamFyIGNvbW9kYW1lbnRlIGNvbiBzcHJpdGVzIGhheSBkZWZpbmlkb3MgdW5hIHNlcmllIGRlIG1peGlucyBjcmVhZG9zIGEgcGFydGlyIGRlIGxvcyBlamVtcGxvcyBkZSBbZXN0ZSBwb3N0XShodHRwOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTIvMDQvMTEvY3NzLXNwcml0ZXMtcmV2aXNpdGVkLykuXG5cbkxvcyBzcHJpdGVzIGRlIGltw6FnZW5lcyBsb3MgZ3VhcmRhbW9zIGVuIGxhIGNhcnBldGEgYGltYWdlcy9zcHJpdGVzL2AgeSBsb3Mgbm9tYnJhbW9zIGRlIGxhIHNpZ3VpZW50ZSBmb3JtYTogYHNwcml0ZTFgICwgYHNwcml0ZTJgICwgYHNwcml0ZTNgIC4gQ2FkYSBzcHJpdGUgY29uc3RhIGRlIHVuYSBjdWFkcsOtY3VsYSBkb25kZSBzZSBjb2xvY2FuIGxhcyBpbcOhZ2VuZXMgeSBjdXlhcyBkaW1lbnNpb25lcyBkZSBjZWxkYSBwdWVkZW4gdmFyaWFyLiBFbCBub21icmUgZGVsIHNwcml0ZSwgc3UgcnV0YSwgeSBsYXMgZGltZW5zaW9uZXMgZGUgc3UgY3VhZHLDrWN1bGEgbGFzIHZhbW9zIGRlZmluaWVuZG8gZW4gZWwgYXJjaGl2byBgbGVzcy9taXhpbnMvc3ByaXRlcy5sZXNzYDogXG5cbmBgYFxuLnNwcml0ZShAaW1hZ2UsIEB4LCBAeSkgIHdoZW4gKEBpbWFnZSA9IHNwcml0ZTEpIHtcblx0QHNwcml0ZVg6IDMycHg7XG5cdEBzcHJpdGVZOiAzMnB4O1xuICAgXHQuc3ByaXRlSGVscGVyIChAeCwgQHksIEBzcHJpdGVYLCBAc3ByaXRlWSk7XG4gICBcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zcHJpdGVzL0B7aW1hZ2V9LnBuZ1wiKTtcbn1cbmBgYFxuXG5UZW5lbW9zIHRyZXMgbWl4aW5zIHBhcmEgaGFjZXIgYXBsaWNhciBsb3Mgc3ByaXRlcyBkZSB0cmVzIGZvcm1hcyBkaWZlcmVudGVzLlxuXG4jI3Nwcml0ZVJlcGxhY2UjI1xuXG5gYGBcbi5zcHJpdGVSZXBsYWNlIChAaW1hZ2UsIEB4LCBAeSwgQHdpZHRoLCBAaGVpZ2h0KTtcbmBgYFxuXG5TaXJ2ZSBwYXJhIHJlZW1wbGF6YXIgdW4gdGV4dG8gcG9yIHVuYSBpbWFnZW4sIHBvciBlamVtcGxvOlxuXG5gYGBcbi5zaGFyaW5nIC50d2l0dGVyIGEge1xuICAgLnNwcml0ZVJlcGxhY2Uoc3ByaXRlMSwgMCwgMCwgMzJweCwgMzJweCk7IGRpc3BsYXk6YmxvY2s7XG59XG5gYGBcblxuIyNzcHJpdGVJbmxpbmUjI1xuXG5gYGBcbi5zcHJpdGVJbmxpbmUoQGltYWdlLCBAeCwgQHksIEB3aWR0aCwgQGhlaWdodCk7XG5gYGBcblxuU2lydmUgcGFyYSBhw7FhZGlyIHVuYSBpbWFnZW4gZW4gbMOtbmVhIGEgdW4gbGFkbyBkZSB1biB0ZXh0byBkZSB1bmEgc29sYSBsw61uZWEsIHBvciBlamVtcGxvOlxuXG5gYGBcbi5hZmZpbGlhdGVzIC5hbWF6b24gYTpiZWZvcmUge1xuICAgLnNwcml0ZUlubGluZShzcHJpdGUxLCA0LCAxLCAyMnB4LCAxNnB4KTtcbn1cbmBgYFxuXG4jI3Nwcml0ZVBhZGRlZCMjXG5cbmBgYFxuLnNwcml0ZVBhZGRlZChAaW1hZ2UsIEB4LCBAeSwgQHdpZHRoLCBAaGVpZ2h0KTtcbmBgYFxuU2lydmUgcGFyYSBhw7FhZGlyIHVuYSBpbWFnZW4gYSB1biBsYWRvIGRlIHVuIHRleHRvIGRlIG3DoXMgZGUgdW5hIGzDrW5lYSwgcG9yIGVqZW1wbG86XG5cbmBgYFxuLnRyYW5zbGF0ZWQgcCB7XG4gICBwYWRkaW5nLWxlZnQ6IDIycHg7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udHJhbnNsYXRlZCBwOmJlZm9yZSB7XG4gICAuc3ByaXRlUGFkZGVkKHNwcml0ZTEsIDUsIDUsIDE2cHgsIDE0cHgpO1xuICAgbGVmdDogMDtcbiAgIHRvcDogMDtcbn1cbmBgYFxuXG4qL1xuXG4uc3ByaXRlSGVscGVyKEB4LCBAeSwgQHNwcml0ZVgsIEBzcHJpdGVZKSB7XG4gICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtKEB4ICogQHNwcml0ZVgpIC0oQHkgKiBAc3ByaXRlWSk7XG4gICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4vLyBEZWZpbmltb3MgbG9zIG5vbWJyZXMgZGUgc3ByaXRlcywgc3VzIHJ1dGFzIHkgc3VzIHRhbWHDsW9zIGRlIGN1YWRyw61jdWxhXG5cbi5zcHJpdGUoQGltYWdlLCBAeCwgQHkpICB3aGVuIChAaW1hZ2UgPSBzcHJpdGUxKSB7XG5cdEBzcHJpdGVYOiAzMnB4O1xuXHRAc3ByaXRlWTogMzJweDtcbiAgIFx0LnNwcml0ZUhlbHBlciAoQHgsIEB5LCBAc3ByaXRlWCwgQHNwcml0ZVkpO1xuICAgXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ByaXRlcy9Ae2ltYWdlfS5wbmc/dD0yMDA2MjAxOVwiKTtcbn1cblxuLnNwcml0ZShAaW1hZ2UsIEB4LCBAeSkgIHdoZW4gKEBpbWFnZSA9IHNwcml0ZTIpIHtcbiAgIEBzcHJpdGVYOiA1MHB4O1xuICAgQHNwcml0ZVk6IDUwcHg7XG4gICAgICAuc3ByaXRlSGVscGVyIChAeCwgQHksIEBzcHJpdGVYLCBAc3ByaXRlWSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ByaXRlcy9Ae2ltYWdlfS5zdmdcIik7XG59XG5cbi5zcHJpdGUtc3ZnLWllOCAoQGltYWdlKSB7IC8vIE1peGluIHBhcmEgc3VzdGl0dWlyIGVsIHN2ZyBwb3IgdW4gcG5nIHBhcmEgaWU4XG4gICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ByaXRlcy9Ae2ltYWdlfS5wbmdcIik7XG59XG5cbi8vIFNwcml0ZTogUmVlbXBsYXphciB0ZXh0b1xuXG4uaGlkZVRleHQge1xuICAgdGV4dC1pbmRlbnQ6IC05OTllbTtcbiAgIGxldHRlci1zcGFjaW5nOiAtOTk5ZW07XG4gICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc3ByaXRlUmVwbGFjZSAoQGltYWdlLCBAeCwgQHksIEB3aWR0aCwgQGhlaWdodCkge1xuICAgLnNwcml0ZShAaW1hZ2UsIEB4LCBAeSk7XG4gICAuaGlkZVRleHQ7XG4gICB3aWR0aDogQHdpZHRoO1xuICAgaGVpZ2h0OiBAaGVpZ2h0O1xufVxuXG4vLyBTcHJpdGU6IElubGluZSBpbWFnZXNcblxuLnNwcml0ZUlubGluZSAoQGltYWdlLCBAeCwgQHksIEB3aWR0aCwgQGhlaWdodCkge1xuICAgLnNwcml0ZShAaW1hZ2UsIEB4LCBAeSk7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICBjb250ZW50OiBcIlwiO1xuICAgd2lkdGg6IEB3aWR0aDtcbiAgIGhlaWdodDogQGhlaWdodDtcbn1cblxuLy8gU3ByaXRlOiBQYWRkZWQgaW1hZ2VzXG5cbi5zcHJpdGVQYWRkZWQgKEBpbWFnZSwgQHgsIEB5LCBAd2lkdGgsIEBoZWlnaHQpIHtcbiAgIC5zcHJpdGUoQGltYWdlLCBAeCwgQHkpO1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgY29udGVudDogXCJcIjtcbiAgIHdpZHRoOiBAd2lkdGg7XG4gICBoZWlnaHQ6IEBoZWlnaHQ7XG59IiwiLmJvZHktZm9udC1zaXplKCkge1xuXHRmb250LXNpemU6IEBiYXNlRm9udFNpemU7XG5cdEBtZWRpYSAobWluLXdpZHRoOiBAZGVza3RvcC1sYXJnZSkge1xuXHRcdGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZSArIDE7XG5cdH1cbn1cblxuLmZvbnQtc2l6ZS1sYXJnZSB7XG5cdGZvbnQtc2l6ZTogQGxhcmdlRm9udFNpemU7XG59XG5cbi5mb250LXNpemUtYmFzZSB7XG5cdGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZTtcbn1cblxuLmZvbnQtc2l6ZS1zbWFsbCB7XG5cdGZvbnQtc2l6ZTogQHNtYWxsRm9udFNpemU7XG59XG5cbi5mb250LXNpemUtYmlnMSB7XG5cdGZvbnQtc2l6ZTogQGZvbnRTaXplQmlnMTtcblx0QG1lZGlhIChtYXgtd2lkdGg6IEBtb2JpbGUtZG93bikge1xuICAgICAgICBmb250LXNpemU6IEBmb250U2l6ZUJpZzEteHM7XG4gICAgfVxufVxuXG4uZm9udC1zaXplLXRpdGxlMSgpIHsgICAgXG4gICAgZm9udC1zaXplOiBAZm9udFNpemVUaXRsZTE7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBkZXNrdG9wLWxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogQGZvbnRTaXplVGl0bGUxLWxnO1xuICAgIH1cbn1cblxuLmZvbnQtc2l6ZS10aXRsZTIoKSB7ICAgIFxuICAgIGZvbnQtc2l6ZTogQGZvbnRTaXplVGl0bGUyO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAbW9iaWxlLWRvd24pIHtcbiAgICAgICAgZm9udC1zaXplOiBAZm9udFNpemVUaXRsZTIteHM7XG4gICAgfVxufVxuXG4uZm9udC1zaXplLXRpdGxlMygpIHtcblx0Zm9udC1zaXplOiBAZm9udFNpemVUaXRsZTM7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IEBtb2JpbGUtZG93bikge1xuICAgICAgICBmb250LXNpemU6IEBmb250U2l6ZVRpdGxlMy14cztcbiAgICB9XG59XG5cbi5mb250LXNpemUtdGl0bGU0KCkge1xuXHRmb250LXNpemU6IEBmb250U2l6ZVRpdGxlNDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogQG1vYmlsZS1kb3duKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogQGZvbnRTaXplVGl0bGU0LXhzO1xuICAgIH1cbn1cblxuLmZvbnQtc2l6ZS1oMSB7XG5cdGZvbnQtc2l6ZTogQGZvbnRTaXplSDE7XG5cdEBtZWRpYSAobWluLXdpZHRoOiBAZGVza3RvcC1sYXJnZSkge1xuXHRcdGZvbnQtc2l6ZTogQGZvbnRTaXplSDEtbGc7XG5cdH1cbn1cblxuLmZvbnQtc2l6ZS1oMiB7XG5cdGZvbnQtc2l6ZTogQGZvbnRTaXplSDI7XG59XG5cbi5mb250LXNpemUtaDMge1xuXHRmb250LXNpemU6IEBmb250U2l6ZUgzO1xufVxuXG4uZm9udC1zaXplLWg0IHtcblx0Zm9udC1zaXplOiBAZm9udFNpemVINDtcbn1cblxuLmZvbnQtc2l6ZS1oNSB7XG5cdGZvbnQtc2l6ZTogQGZvbnRTaXplSDU7XG59XG5cbi5mb250LXNpemUtaDYge1xuXHRmb250LXNpemU6IEBmb250U2l6ZUg2O1xufVxuXG4uZm9udC1zaXplLWxlYWQge1xuXHRmb250LXNpemU6IEBmb250U2l6ZUxlYWQ7XG5cdEBtZWRpYSAobWluLXdpZHRoOiBAdGFibGV0KSBhbmQgKG1heC13aWR0aDogQHRhYmxldC1kb3duKSB7XG5cdFx0Zm9udC1zaXplOiBAZm9udFNpemVMZWFkLW1kO1xuXHR9XG5cdEBtZWRpYSAobWF4LXdpZHRoOiBAbW9iaWxlLWRvd24pIHtcblx0XHRmb250LXNpemU6IEBmb250U2l6ZUxlYWQteHM7XG5cdH1cbn1cblxuLmZvbnQtc2l6ZS1zZWNjaW9uX19jYWJlY2VyYV9fdGl0dWxvIHtcblx0Zm9udC1zaXplOiBARm9udFNpemVTZWNjaW9uQ2FiZWNlcmFUaXR1bG87XG5cdEBtZWRpYSAobWluLXdpZHRoOiBAZGVza3RvcC1sYXJnZSkge1xuXHRcdGZvbnQtc2l6ZTogQEZvbnRTaXplU2VjY2lvbkNhYmVjZXJhVGl0dWxvLWxnO1xuXHR9XHRcbn1cblxuLmZvbnQtc2l6ZS1zZWNjaW9uX19jYWJlY2VyYV9fc3VidGl0dWxvIHtcblx0Zm9udC1zaXplOiBARm9udFNpemVTZWNjaW9uQ2FiZWNlcmFTdWJ0aXR1bG87XG5cdEBtZWRpYSAobWluLXdpZHRoOiBAZGVza3RvcC1sYXJnZSkge1xuXHRcdGZvbnQtc2l6ZTogQEZvbnRTaXplU2VjY2lvbkNhYmVjZXJhU3VidGl0dWxvLWxnO1xuXHR9XG59XG5cbi5mb250LXNpemUtbWluaWF0dXJhX19hbnRldGl0dWxvIHtcblx0Zm9udC1zaXplOiBARm9udFNpemVNaW5pYXR1cmFBbnRldGl0dWxvO1xuXHRAbWVkaWEgKG1pbi13aWR0aDogQGRlc2t0b3AtbGFyZ2UpIHtcblx0XHRmb250LXNpemU6IEBGb250U2l6ZU1pbmlhdHVyYUFudGV0aXR1bG8tbGc7XG5cdH1cdFxufVxuXG4uZm9udC1zaXplLW1pbmlhdHVyYS1kZXN0YWNhZGEtYW50ZXRpdHVsbyB7XG5cdGZvbnQtc2l6ZTogQEZvbnRTaXplTWluaWF0dXJhRGVzdGFjYWRhQW50ZXRpdHVsbztcbn1cblxuLmZvbnQtc2l6ZS1taW5pYXR1cmEtZGVzdGFjYWRhLXRpdHVsbyB7XG5cdGZvbnQtc2l6ZTogQEZvbnRTaXplTWluaWF0dXJhRGVzdGFjYWRhVGl0dWxvO1xuXHRAbWVkaWEgKG1pbi13aWR0aDogQGRlc2t0b3AtbGFyZ2UpIHtcblx0XHRmb250LXNpemU6IEBGb250U2l6ZU1pbmlhdHVyYURlc3RhY2FkYVRpdHVsby1sZztcblx0fVx0XG59XG5cbi5mb250LXNpemUtbWluaWF0dXJhLWRlc3RhY2FkYS1zdWJ0aXR1bG8ge1xuXHRmb250LXNpemU6IEBGb250U2l6ZU1pbmlhdHVyYURlc3RhY2FkYVN1YnRpdHVsbztcblx0QG1lZGlhIChtaW4td2lkdGg6IEBkZXNrdG9wLWxhcmdlKSB7XG5cdFx0Zm9udC1zaXplOiBARm9udFNpemVNaW5pYXR1cmFEZXN0YWNhZGFTdWJ0aXR1bG8tbGc7XG5cdH1cbn1cblxuLmZvbnQtc2l6ZS10aXR1bG8tcGFnaW5hX190aXR1bG9zX190aXR1bG8ge1xuXHRmb250LXNpemU6IEBGb250U2l6ZVRpdHVsb1BhZ2luYVRpdHVsb3NUaXR1bG87XG5cdEBtZWRpYSAobWluLXdpZHRoOiBAZGVza3RvcC1sYXJnZSkge1xuXHRcdGZvbnQtc2l6ZTogQEZvbnRTaXplVGl0dWxvUGFnaW5hVGl0dWxvc1RpdHVsby1sZztcblx0fVxufVxuXG4uZm9udC1zaXplLXRpdHVsby1wYWdpbmFfX3RpdHVsb3NfX3N1YnRpdHVsbyB7XG5cdGZvbnQtc2l6ZTogQEZvbnRTaXplVGl0dWxvUGFnaW5hVGl0dWxvc1N1YnRpdHVsbztcblx0QG1lZGlhIChtaW4td2lkdGg6IEBkZXNrdG9wLWxhcmdlKSB7XG5cdFx0Zm9udC1zaXplOiBARm9udFNpemVUaXR1bG9QYWdpbmFUaXR1bG9zU3VidGl0dWxvLWxnO1xuXHR9XHRcbn1cblxuLmZvbnQtc2l6ZS10aXR1bG8tcGFnaW5hLWVudHJhZGlsbGEge1xuXHRmb250LXNpemU6IEBGb250U2l6ZVRpdHVsb1BhZ2luYUVudHJhZGlsbGE7XHRcbn1cblxuLmZvbnQtc2l6ZS10aXR1bG8tcGFnaW5hX190ZXh0byB7XG5cdGZvbnQtc2l6ZTogQEZvbnRTaXplVGl0dWxvUGFnaW5hVGV4dG87XHRcbn0iLCIvKmRvY1xuLS0tXG50aXRsZTogRXNwYWNpb3MgZW4gYmxhbmNvXG5jYXRlZ29yeTogTWl4aW5zXG4tLS1cblxuU29uIHVuYSBzZXJpZSBtdXkgZXh0ZW5zYSBkZSBtaXhpbnMgcGFyYSBhcGxpY2FyIGxhcyBwcm9waWVkYWRlcyBkZSBtYXJnaW4geSBwYWRkaW5nIGVuIGZ1bmNpw7NuIGRlIHVuYSBlc2NhbGEgZGUgdmFsb3JlcyBkZWZpbmlkYSBwcmV2aWFtZW50ZS4gTGEgZXNjYWxhIGVzdGEgZGlzcG9uaWJsZSBlbiBlbCBhcmNoaXZvIGBsZXNzL3ZhcmlhYmxlcy5sZXNzYC5cblxuYGBgXG5Ac3BhY2UtdW5pdC14czogXHRcdFx0MTVweDtcbkBzcGFjZS11bml0LXNtOiAgXHRcdFx0KEBzcGFjZS11bml0LXhzICogMik7IC8vIDMwcHg7XG5Ac3BhY2UtdW5pdC1tZDogIFx0XHRcdChAc3BhY2UtdW5pdC14cyAqIDMpOyAvLyA0NXB4O1xuQHNwYWNlLXVuaXQtbGc6ICBcdFx0XHQoQHNwYWNlLXVuaXQteHMgKiA0KTsgLy8gNjBweDtcbkBzcGFjZS11bml0LXhsOiAgXHRcdFx0KEBzcGFjZS11bml0LXhzICogNSk7IC8vIDc1cHg7XG5gYGBcblxuU2UgcHVlZGVuIG1vZGlmaWNhciBlc3RvcyB2YWxvcmVzIHBlcm8gbm8gZXMgcmVjb21lbmRhYmxlIHlhIHF1ZSBsYSByZWppbGxhIGRlIEJvb3RzdHJhcCBzZSBjb21wb25lIGRlIGNhbGxlcyBjdXlhIGFuY2h1cmEgZXMgZGUgMzBweCwgdW5hIG1lZGlkYSBwcm9wb3JjaW9uYWwgYSBudWVzdHJhIHVuaWRhZCBiYXNlIGRlIDE1cHguXG5cbkxvcyBtaXhpbnMgc2UgZGVmaW5lbiBhw7FhZGllbmRvIGEgY2FkYSBwcm9waWVkYWQgKGBtYXJnaW5gLCBgbWFyZ2luLXRvcGAsIGBwYWRkaW5nLWJvdHRvbWAsIGV0YykgZWwgc3VmaWpvIHF1ZSBlc3BlY2lmaWNhIHN1IHRhbWHDsW8gKHNvbiBjaW5jbzogYC14c2AgLCBgLXNtYCAsIGAtbWRgICwgYC1sZ2AgLCBgLXhsYCApLlxuXG5gYGBcbi5tYXJnaW4teHMge1xuXHRtYXJnaW46IEBzcGFjZS11bml0LXhzO1xufVxuXG4ubWFyZ2luLXRvcC14cyB7XG5cdG1hcmdpbi10b3A6IEBzcGFjZS11bml0LXhzO1xufVxuXG4ubWFyZ2luLXRvcC1zbSB7XG5cdG1hcmdpbi10b3A6IEBzcGFjZS11bml0LXNtO1xufVxuXG4ubWFyZ2luLXRvcC1tZCB7XG5cdG1hcmdpbi10b3A6IEBzcGFjZS11bml0LW1kO1xufVxuXG4ubWFyZ2luLXRvcC1sZyB7XG5cdG1hcmdpbi10b3A6IEBzcGFjZS11bml0LWxnO1xufVxuXG4ubWFyZ2luLXRvcC14bCB7XG5cdG1hcmdpbi10b3A6IEBzcGFjZS11bml0LXhsO1xufVxuXG4uLi5cbmBgYFxuXG5EaXNwb25lbW9zIHRhbWJpw6luIGRlIG90cm9zIG1peGlucyBxdWUgc2lydmVuIHBhcmEgZWxtaW5hciBsb3MgZXNwYWNpb3MgZW4gYmxhbmNvIGRlbCBlbGVtZW50by5cblxuYGBgXG4ubm8tbWFyZ2luLXRvcCB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG4uLi5cbmBgYFxuXG5BZGVtw6FzLCB0ZW5lbW9zIG90cm9zIG1peGlucyBxdWUgY29tYmluYW4gZG9zIHByb3BpZWRhZGVzIGVuIGZ1bmNpw7NuIGRlIHNpIGVsIGVzcGFjaW8gcXVlIGNyZWFuIGVzIHZlcnRpY2FsIHUgaG9yaXpvbnRhbC5cblxuYGBgXG4ubWFyZ2luLXZlcnRpY2FsLXhzIHtcblx0Lm1hcmdpbi10b3AteHMgKCk7XG5cdC5tYXJnaW4tYm90dG9tLXhzICgpO1xufVxuXG4ubWFyZ2luLXZlcnRpY2FsLXNtIHtcblx0Lm1hcmdpbi10b3Atc20gKCk7XG5cdC5tYXJnaW4tYm90dG9tLXNtICgpO1xufVxuXG4ubWFyZ2luLXZlcnRpY2FsLW1kIHtcblx0Lm1hcmdpbi10b3AtbWQgKCk7XG5cdC5tYXJnaW4tYm90dG9tLW1kICgpO1xufVxuXG4ubWFyZ2luLXZlcnRpY2FsLWxnIHtcblx0Lm1hcmdpbi10b3AtbGcgKCk7XG5cdC5tYXJnaW4tYm90dG9tLWxnICgpO1xufVxuXG4ubWFyZ2luLXZlcnRpY2FsLXhsIHtcblx0Lm1hcmdpbi10b3AteGwgKCk7XG5cdC5tYXJnaW4tYm90dG9tLXhsICgpO1xufVxuXG4ubm8tbWFyZ2luLXZlcnRpY2FsIHtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cbi4uLlxuYGBgXG5cblxuKi9cblxuLm1hcmdpbi14cyB7XG5cdG1hcmdpbjogQHNwYWNlLXVuaXQteHM7XG59XG5cbi5tYXJnaW4tc20ge1xuXHRtYXJnaW46IEBzcGFjZS11bml0LXNtO1xufVxuXG4ubWFyZ2luLW1kIHtcblx0bWFyZ2luOiBAc3BhY2UtdW5pdC1tZDtcbn1cblxuLm1hcmdpbi1sZyB7XG5cdG1hcmdpbjogQHNwYWNlLXVuaXQtbGc7XG59XG5cbi5tYXJnaW4teGwge1xuXHRtYXJnaW46IEBzcGFjZS11bml0LXhsO1xufVxuXG4ubWFyZ2luLXRvcC14cyB7XG5cdG1hcmdpbi10b3A6IEBzcGFjZS11bml0LXhzO1xufVxuXG4ubWFyZ2luLXRvcC1zbSB7XG5cdG1hcmdpbi10b3A6IEBzcGFjZS11bml0LXNtO1xufVxuXG4ubWFyZ2luLXRvcC1zbVxcQG9ubHktdGFibGV0IHtcblx0QG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcblx0XHRtYXJnaW4tdG9wOiBAc3BhY2UtdW5pdC1zbTtcblx0fVxufVxuXG4ubWFyZ2luLXRvcC1tZCB7XG5cdG1hcmdpbi10b3A6IEBzcGFjZS11bml0LW1kO1xufVxuXG4ubWFyZ2luLXRvcC1tZFxcQG9ubHktdGFibGV0IHtcblx0QG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcblx0XHRtYXJnaW4tdG9wOiBAc3BhY2UtdW5pdC1tZDtcblx0fVxufVxuXG4ubWFyZ2luLXRvcC1sZyB7XG5cdG1hcmdpbi10b3A6IEBzcGFjZS11bml0LWxnO1xufVxuXG4ubWFyZ2luLXRvcC14bCB7XG5cdG1hcmdpbi10b3A6IEBzcGFjZS11bml0LXhsO1xufVxuXG4ubm8tbWFyZ2luLXRvcCB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi5tYXJnaW4tcmlnaHQteHhzIHtcblx0bWFyZ2luLXJpZ2h0OiBAc3BhY2UtdW5pdC14eHM7XG59XG5cbi5tYXJnaW4tcmlnaHQteHMge1xuXHRtYXJnaW4tcmlnaHQ6IEBzcGFjZS11bml0LXhzO1xufVxuXG4ubWFyZ2luLXJpZ2h0LXNtIHtcblx0bWFyZ2luLXJpZ2h0OiBAc3BhY2UtdW5pdC1zbTtcbn1cblxuLm1hcmdpbi1yaWdodC1tZCB7XG5cdG1hcmdpbi1yaWdodDogQHNwYWNlLXVuaXQtbWQ7XG59XG5cbi5tYXJnaW4tcmlnaHQtbGcge1xuXHRtYXJnaW4tcmlnaHQ6IEBzcGFjZS11bml0LWxnO1xufVxuXG4ubWFyZ2luLXJpZ2h0LXhsIHtcblx0bWFyZ2luLXJpZ2h0OiBAc3BhY2UtdW5pdC14bDtcbn1cblxuLm5vLW1hcmdpbi1yaWdodCB7XG5cdG1hcmdpbi1yaWdodDogMDtcbn1cblxuLm1hcmdpbi1ib3R0b20teHh4cygpIHtcblx0bWFyZ2luLWJvdHRvbTogQHNwYWNlLXVuaXQteHh4cztcbn1cblxuLm1hcmdpbi1ib3R0b20teHhzIHtcbiAgbWFyZ2luLWJvdHRvbTogQHNwYWNlLXVuaXQteHhzO1xufVxuXG4ubWFyZ2luLWJvdHRvbS14cygpIHtcblx0bWFyZ2luLWJvdHRvbTogQHNwYWNlLXVuaXQteHM7XG59XG5cbi5tYXJnaW4tYm90dG9tLXhzbSB7XG5cdG1hcmdpbi1ib3R0b206IEBzcGFjZS11bml0LXhzbTtcbn1cblxuLm1hcmdpbi1ib3R0b20tc20ge1xuXHRtYXJnaW4tYm90dG9tOiBAc3BhY2UtdW5pdC1zbTtcbn1cblxuLm1hcmdpbi1ib3R0b20tbWQge1xuXHRtYXJnaW4tYm90dG9tOiBAc3BhY2UtdW5pdC1tZDtcbn1cblxuLm1hcmdpbi1ib3R0b20tbGcge1xuXHRtYXJnaW4tYm90dG9tOiBAc3BhY2UtdW5pdC1sZztcbn1cblxuLm1hcmdpbi1ib3R0b20teGwge1xuXHRtYXJnaW4tYm90dG9tOiBAc3BhY2UtdW5pdC14bDtcbn1cblxuLm1hcmdpbi1ib3R0b20teHhsIHtcblx0bWFyZ2luLWJvdHRvbTogQHNwYWNlLXVuaXQteHhsO1xufVxuXG4ubm8tbWFyZ2luLWJvdHRvbSB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tYXJnaW4tbGVmdC14eHMge1xuXHRtYXJnaW4tbGVmdDogQHNwYWNlLXVuaXQteHhzO1xufVxuXG4ubWFyZ2luLWxlZnQteHMge1xuXHRtYXJnaW4tbGVmdDogQHNwYWNlLXVuaXQteHM7XG59XG5cbi5tYXJnaW4tbGVmdC1zbSB7XG5cdG1hcmdpbi1sZWZ0OiBAc3BhY2UtdW5pdC1zbTtcbn1cblxuLm1hcmdpbi1sZWZ0LW1kIHtcblx0bWFyZ2luLWxlZnQ6IEBzcGFjZS11bml0LW1kO1xufVxuXG4ubWFyZ2luLWxlZnQtbGcge1xuXHRtYXJnaW4tbGVmdDogQHNwYWNlLXVuaXQtbGc7XG59XG5cbi5tYXJnaW4tbGVmdC14bCB7XG5cdG1hcmdpbi1sZWZ0OiBAc3BhY2UtdW5pdC14bDtcbn1cblxuLm5vLW1hcmdpbi1sZWZ0IHtcblx0bWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5tYXJnaW4tdmVydGljYWwteHMge1xuXHQubWFyZ2luLXRvcC14cyAoKTtcblx0Lm1hcmdpbi1ib3R0b20teHMgKCk7XG59XG5cbi5tYXJnaW4tdmVydGljYWwtc20ge1xuXHQubWFyZ2luLXRvcC1zbSAoKTtcblx0Lm1hcmdpbi1ib3R0b20tc20gKCk7XG59XG5cbi5tYXJnaW4tdmVydGljYWwtbWQge1xuXHQubWFyZ2luLXRvcC1tZCAoKTtcblx0Lm1hcmdpbi1ib3R0b20tbWQgKCk7XG59XG5cbi5tYXJnaW4tdmVydGljYWwtbGcge1xuXHQubWFyZ2luLXRvcC1sZyAoKTtcblx0Lm1hcmdpbi1ib3R0b20tbGcgKCk7XG59XG5cbi5tYXJnaW4tdmVydGljYWwteGwge1xuXHQubWFyZ2luLXRvcC14bCAoKTtcblx0Lm1hcmdpbi1ib3R0b20teGwgKCk7XG59XG5cbi5uby1tYXJnaW4tdmVydGljYWwge1xuXHQubm8tbWFyZ2luLXRvcCAoKTtcblx0Lm5vLW1hcmdpbi1ib3R0b20gKCk7XG59XG5cbi5tYXJnaW4taG9yaXpvbnRhbC14cyB7XG5cdC5tYXJnaW4tbGVmdC14cyAoKTtcblx0Lm1hcmdpbi1yaWdodC14cyAoKTtcbn1cblxuLm1hcmdpbi1ob3Jpem9udGFsLXNtIHtcblx0Lm1hcmdpbi1sZWZ0LXNtICgpO1xuXHQubWFyZ2luLXJpZ2h0LXNtICgpO1xufVxuXG4ubWFyZ2luLWhvcml6b250YWwtbWQge1xuXHQubWFyZ2luLWxlZnQtbWQgKCk7XG5cdC5tYXJnaW4tcmlnaHQtbWQgKCk7XG59XG5cbi5tYXJnaW4taG9yaXpvbnRhbC1sZyB7XG5cdC5tYXJnaW4tbGVmdC1sZyAoKTtcblx0Lm1hcmdpbi1yaWdodC1sZyAoKTtcbn1cblxuLm1hcmdpbi1ob3Jpem9udGFsLXhsIHtcblx0Lm1hcmdpbi1sZWZ0LXhsICgpO1xuXHQubWFyZ2luLXJpZ2h0LXhsICgpO1xufVxuXG4ubm8tbWFyZ2luLWhvcml6b250YWwge1xuXHQubm8tbWFyZ2luLWxlZnQgKCk7XG5cdC5uby1tYXJnaW4tcmlnaHQgKCk7XG59XG5cbi5wYWRkaW5nLXh4cyB7XG5cdHBhZGRpbmc6IEBzcGFjZS11bml0LXh4cztcbn1cblxuLnBhZGRpbmcteHMge1xuXHRwYWRkaW5nOiBAc3BhY2UtdW5pdC14cztcbn1cblxuLnBhZGRpbmctc20ge1xuXHRwYWRkaW5nOiBAc3BhY2UtdW5pdC1zbTtcbn1cblxuLnBhZGRpbmctbWQge1xuXHRwYWRkaW5nOiBAc3BhY2UtdW5pdC1tZDtcbn1cblxuLnBhZGRpbmctbGcge1xuXHRwYWRkaW5nOiBAc3BhY2UtdW5pdC1sZztcbn1cblxuLnBhZGRpbmcteGwge1xuXHRwYWRkaW5nOiBAc3BhY2UtdW5pdC14bDtcbn1cblxuLnBhZGRpbmctdG9wLXh4eHMge1xuXHRwYWRkaW5nLXRvcDogQHNwYWNlLXVuaXQteHh4cztcbn1cblxuLnBhZGRpbmctdG9wLXh4cyB7XG4gIFx0cGFkZGluZy10b3A6IEBzcGFjZS11bml0LXh4cztcbn1cblxuLnBhZGRpbmctdG9wLXhzIHtcblx0cGFkZGluZy10b3A6IEBzcGFjZS11bml0LXhzO1xufVxuXG4ucGFkZGluZy10b3Atc20ge1xuXHRwYWRkaW5nLXRvcDogQHNwYWNlLXVuaXQtc207XG59XG5cbi5wYWRkaW5nLXRvcC1tZCB7XG5cdHBhZGRpbmctdG9wOiBAc3BhY2UtdW5pdC1tZDtcbn1cblxuLnBhZGRpbmctdG9wLWxnIHtcblx0cGFkZGluZy10b3A6IEBzcGFjZS11bml0LWxnO1xufVxuXG4ucGFkZGluZy10b3AteGwge1xuXHRwYWRkaW5nLXRvcDogQHNwYWNlLXVuaXQteGw7XG59XG5cbi5wYWRkaW5nLXRvcC14eGwge1xuXHRwYWRkaW5nLXRvcDogQHNwYWNlLXVuaXQteHhsO1xufVxuXG4ucGFkZGluZy10b3AteHhsXFxAdGFibGV0IHtcblx0QG1lZGlhIChtaW4td2lkdGg6IEB0YWJsZXQpIHtcblx0XHRwYWRkaW5nLXRvcDogQHNwYWNlLXVuaXQteHhsO1xuXHR9XG59XG5cbi5uby1wYWRkaW5nLXRvcCB7XG5cdHBhZGRpbmctdG9wOiAwO1xufVxuXG4ucGFkZGluZy1yaWdodC14cyB7XG5cdHBhZGRpbmctcmlnaHQ6IEBzcGFjZS11bml0LXhzO1xufVxuXG4ucGFkZGluZy1yaWdodC1zbSB7XG5cdHBhZGRpbmctcmlnaHQ6IEBzcGFjZS11bml0LXNtO1xufVxuXG4ucGFkZGluZy1yaWdodC1tZCB7XG5cdHBhZGRpbmctcmlnaHQ6IEBzcGFjZS11bml0LW1kO1xufVxuXG4ucGFkZGluZy1yaWdodC1sZyB7XG5cdHBhZGRpbmctcmlnaHQ6IEBzcGFjZS11bml0LWxnO1xufVxuXG4ucGFkZGluZy1yaWdodC14bCB7XG5cdHBhZGRpbmctcmlnaHQ6IEBzcGFjZS11bml0LXhsO1xufVxuXG4ubm8tcGFkZGluZy1yaWdodCB7XG5cdHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5wYWRkaW5nLWJvdHRvbS14eHhzIHtcblx0cGFkZGluZy1ib3R0b206IEBzcGFjZS11bml0LXh4eHM7XG59XG5cbi5wYWRkaW5nLWJvdHRvbS14eHMge1xuXHRwYWRkaW5nLWJvdHRvbTogQHNwYWNlLXVuaXQteHhzO1xufVxuXG4ucGFkZGluZy1ib3R0b20teHMge1xuXHRwYWRkaW5nLWJvdHRvbTogQHNwYWNlLXVuaXQteHM7XG59XG5cbi5wYWRkaW5nLWJvdHRvbS1zbSB7XG5cdHBhZGRpbmctYm90dG9tOiBAc3BhY2UtdW5pdC1zbTtcbn1cblxuLnBhZGRpbmctYm90dG9tLW1kIHtcblx0cGFkZGluZy1ib3R0b206IEBzcGFjZS11bml0LW1kO1xufVxuXG4ucGFkZGluZy1ib3R0b20tbGcge1xuXHRwYWRkaW5nLWJvdHRvbTogQHNwYWNlLXVuaXQtbGc7XG59XG5cbi5wYWRkaW5nLWJvdHRvbS14bCB7XG5cdHBhZGRpbmctYm90dG9tOiBAc3BhY2UtdW5pdC14bDtcbn1cblxuLm5vLXBhZGRpbmctYm90dG9tIHtcblx0cGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5wYWRkaW5nLWxlZnQteHMge1xuXHRwYWRkaW5nLWxlZnQ6IEBzcGFjZS11bml0LXhzO1xufVxuXG4ucGFkZGluZy1sZWZ0LXNtIHtcblx0cGFkZGluZy1sZWZ0OiBAc3BhY2UtdW5pdC1zbTtcbn1cblxuLnBhZGRpbmctbGVmdC1tZCB7XG5cdHBhZGRpbmctbGVmdDogQHNwYWNlLXVuaXQtbWQ7XG59XG5cbi5wYWRkaW5nLWxlZnQtbGcge1xuXHRwYWRkaW5nLWxlZnQ6IEBzcGFjZS11bml0LWxnO1xufVxuXG4ucGFkZGluZy1sZWZ0LXhsIHtcblx0cGFkZGluZy1sZWZ0OiBAc3BhY2UtdW5pdC14bDtcbn1cblxuLm5vLXBhZGRpbmctbGVmdCB7XG5cdHBhZGRpbmctbGVmdDogMDtcbn1cblxuLnBhZGRpbmctdmVydGljYWwteHh4cyB7XG5cdC5wYWRkaW5nLXRvcC14eHhzICgpO1xuXHQucGFkZGluZy1ib3R0b20teHh4cyAoKTtcbn1cblxuLnBhZGRpbmctdmVydGljYWwteHhzIHtcblx0LnBhZGRpbmctdG9wLXh4cyAoKTtcblx0LnBhZGRpbmctYm90dG9tLXh4cyAoKTtcbn1cblxuLnBhZGRpbmctdmVydGljYWwteHMge1xuXHQucGFkZGluZy10b3AteHMgKCk7XG5cdC5wYWRkaW5nLWJvdHRvbS14cyAoKTtcbn1cblxuLnBhZGRpbmctdmVydGljYWwteHNcXEB0YWJsZXQge1xuXHRAbWVkaWEgKG1pbi13aWR0aDogQHRhYmxldCkge1xuXHRcdC5wYWRkaW5nLXRvcC14cyAoKTtcblx0XHQucGFkZGluZy1ib3R0b20teHMgKCk7XG5cdH1cbn1cblxuLnBhZGRpbmctdmVydGljYWwtc20ge1xuXHQucGFkZGluZy10b3Atc20gKCk7XG5cdC5wYWRkaW5nLWJvdHRvbS1zbSAoKTtcbn1cblxuLnBhZGRpbmctdmVydGljYWwtbWQge1xuXHQucGFkZGluZy10b3AtbWQgKCk7XG5cdC5wYWRkaW5nLWJvdHRvbS1tZCAoKTtcbn1cblxuLnBhZGRpbmctdmVydGljYWwtbGcge1xuXHQucGFkZGluZy10b3AtbGcgKCk7XG5cdC5wYWRkaW5nLWJvdHRvbS1sZyAoKTtcbn1cblxuLnBhZGRpbmctdmVydGljYWwteGwge1xuXHQucGFkZGluZy10b3AteGwgKCk7XG5cdC5wYWRkaW5nLWJvdHRvbS14bCAoKTtcbn1cblxuLm5vLXBhZGRpbmctdmVydGljYWwge1xuXHQubm8tcGFkZGluZy10b3AgKCk7XG5cdC5uby1wYWRkaW5nLWJvdHRvbSAoKTtcbn1cblxuLnBhZGRpbmctaG9yaXpvbnRhbC14cyB7XG5cdC5wYWRkaW5nLWxlZnQteHMgKCk7XG5cdC5wYWRkaW5nLXJpZ2h0LXhzICgpO1xufVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLXNtIHtcblx0LnBhZGRpbmctbGVmdC1zbSAoKTtcblx0LnBhZGRpbmctcmlnaHQtc20gKCk7XG59XG5cbi5wYWRkaW5nLWhvcml6b250YWwtbWQge1xuXHQucGFkZGluZy1sZWZ0LW1kICgpO1xuXHQucGFkZGluZy1yaWdodC1tZCAoKTtcbn1cblxuLnBhZGRpbmctaG9yaXpvbnRhbC1sZyB7XG5cdC5wYWRkaW5nLWxlZnQtbGcgKCk7XG5cdC5wYWRkaW5nLXJpZ2h0LWxnICgpO1xufVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLXhsIHtcblx0LnBhZGRpbmctbGVmdC14bCAoKTtcblx0LnBhZGRpbmctcmlnaHQteGwgKCk7XG59XG5cbi5uby1wYWRkaW5nLWhvcml6b250YWwge1xuXHQubm8tcGFkZGluZy1sZWZ0ICgpO1xuXHQubm8tcGFkZGluZy1yaWdodCAoKTtcbn1cbiIsIi8qZG9jXG4tLS1cbnRpdGxlOiBDZW50cmFyXG5jYXRlZ29yeTogTWl4aW5zXG4tLS1cblxuKi9cblxuLyoqXG4gKiBQYXJhIGNlbnRyYXIgY29ycmVjdGFtZW50ZSBlbCBlbGVtZW50byBlcyBuZWNlc2FyaW8gYcOxYWRpcmxlIGEgc3UgcGFkcmUgXG4gKiBsYSByZWdsYSAncG9zaXRpb246IHJlbGF0aXZlOycuXG4gKi9cblxuLmNlbnRlciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDUwJTtcblx0dG9wOiA1MCU7XG5cdGJvdHRvbTogYXV0bztcblx0cmlnaHQ6IGF1dG87XG5cdC50cmFuc2xhdGUgKC01MCUsIC01MCUpO1xufSIsIi8qZG9jXG4tLS1cbnRpdGxlOiBGbGVjaGFzXG5jYXRlZ29yeTogTWl4aW5zXG4tLS1cblxuKi9cblxuLmZsZWNoYS1kZXJlY2hhIChAYXJyb3ctY29sb3IsIEBhcnJvdy1zaXplKXtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQmOmJlZm9yZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlOyAgXG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBAYXJyb3ctY29sb3I7XG5cdFx0Ym9yZGVyLXdpZHRoOiBAYXJyb3ctc2l6ZSAwIEBhcnJvdy1zaXplIEBhcnJvdy1zaXplO1xuXHRcdG1hcmdpbi10b3A6IC1AYXJyb3ctc2l6ZTtcblx0XHR0b3A6IDUwJTtcblx0XHRyaWdodDogLUBhcnJvdy1zaXplO1xuXHRcdGJvdHRvbTogYXV0bztcblx0XHRsZWZ0OiBhdXRvO1xuXHR9XG59XG5cbi5ib3JyYXItZmxlY2hhIHtcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IG5vbmU7XG5cdH1cbn0iLCIuc3Itb25seSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3JkZXI6IDA7XG59XG4gIFxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIGNsaXA6IGF1dG87XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxufVxuIiwiLnBhZ2UtaGVhZGVyLXN0eWxlcygpIHtcblxuICBcdGgxLnBhZ2UtaGVhZGVyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdH1cblxuXHQucGFnZS1oZWFkZXJfX3dyYXBwZXIge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHRoMi5zdWJ0aXR1bG8ge1xuXHRcdG1hcmdpbi1ib3R0b206IDVweDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGZvbnQ6IDQwMCAzNHB4LzM0cHggQHRoaW5TY291dDtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogMTI4MXB4KSB7XG5cdFx0XHRmb250OiA0MDAgNDRweC80NHB4IEB0aGluU2NvdXQ7XG5cdFx0fVxuXHR9XG5cdFxuICBkaXYjY3VlcnBvLWZpY2hhLFxuICAuY3VlcnBvLWZpY2hhIHtcblx0XHRib3JkZXItdG9wOiA0cHggc29saWQgQGdyYXlEYXJrO1xuICB9XG4gICAgXG59XG5cbi8vIFRpdHVsbyBkZSBwYWdpbmFcblxuLnBhZ2UtaGVhZGVyIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwIDAgNXB4IDA7XG5cdGxpbmUtaGVpZ2h0OiAxMDAlO1xuXHRib3JkZXItYm90dG9tOiA0cHggc29saWQgIzMzMzMzMztcbn1cblxuLnBhZ2UtaGVhZGVyX193cmFwcGVyIHtcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLmJ1c2NhZG9yLWFiYWpvIHtcblx0LnBhZ2UtaGVhZGVyIHtcblx0XHRtYXJnaW46MDtcblx0fVxufSIsIi5hbmNoby1jb21wbGV0by14cyB7XG5cdEBtZWRpYSAobWF4LXdpZHRoOiBAbW9iaWxlLWRvd24pIHtcblx0XHRtYXJnaW4tbGVmdDogLUBncmlkR3V0dGVyV2lkdGg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAtQGdyaWRHdXR0ZXJXaWR0aDtcblx0XHRwYWRkaW5nLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGg7XG5cdFx0cGFkZGluZy1yaWdodDogQGdyaWRHdXR0ZXJXaWR0aDtcblx0fVxufVxuXG4uYW5jaG8tY29tcGxldG8td2l0aG91dC1wYWRkaW5nLXhzIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IEBtb2JpbGUtZG93bikge1xuICAgIG1hcmdpbi1sZWZ0OiAtQGdyaWRHdXR0ZXJXaWR0aDtcbiAgICBtYXJnaW4tcmlnaHQ6IC1AZ3JpZEd1dHRlcldpZHRoO1xuICB9XG59XG4iLCIuc3BsYXNoLWJ1dHRvbiB7XG5cdGZvbnQtZmFtaWx5OiBAc3BsYXNoLWJ1dHRvbi1mYW1pbHk7XG5cdGZvbnQtc2l6ZTogQHNwbGFzaC1idXR0b24tZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IEBiZWlnZTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgICY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAYmVpZ2UsIDEwJSk7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cbn1cbiIsIi8qXG4gIEluY2x1eWU6XG4gICAgLSBWYXJpYWJsZXMgZGUgYm9vdHN0cmFwXG4gICAgLSBWYXJpYWJsZXMgcHJvcGlhc1xuKi9cblxuXG4vKlxuICBWYXJpYWJsZXMgZGUgYm9vdHN0cmFwXG4qL1xuXG5cbi8vIEdMT0JBTCBWQUxVRVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gR3JheXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBibGFjazogICAgICAgICAgICAgICAgICMwMDA7XG5AZ3JheURhcmtlcjogICAgICAgICAgICAjMjIyO1xuQGdyYXlEYXJrOiAgICAgICAgICAgICAgbGlnaHRlbigjMzMzLCAxLjUlKTtcbkBncmF5OiAgICAgICAgICAgICAgICAgICM1NTU7XG5AZ3JheUxpZ2h0OiAgICAgICAgICAgICAjNzc3O1xuQGdyaXNDbGFybzogICAgICAgICAgICAgIzk5OTtcbkBncmF5TGlnaHRlcjogICAgICAgICAgICNiYmI7XG5AYm9yZGVyRGFyazogICAgICAgICAgICBAZ3JheUxpZ2h0ZXI7XG5AYm9yZGVyTGlnaHQ6ICAgICAgICAgICAjZGRkO1xuQGJvcmRlckxpZ2h0ZXI6ICAgICAgICAgI2ViZWJlYjtcbkBncmF5SG92ZXI6ICAgICAgICAgICAgICNmNWY1ZjU7XG5Ad2hpdGVEYXJrZXI6ICAgICAgICAgICAjZjVmNWY1O1xuQHdoaXRlRGFyazogICAgICAgICAgICAgI2ZhZmFmYTtcbkB3aGl0ZTogICAgICAgICAgICAgICAgICNmZmY7XG5cblxuLy8gQWNjZW50IGNvbG9yc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGJlaWdlOiAgICAgICAgICAgICAgICAgI2VlZTVkNTtcbkBtb3N0YXphOiAgICAgICAgICAgICAgICNlN2Q4MDA7XG5AYmx1ZTogICAgICAgICAgICAgICAgICAjMDQ5Y2RiO1xuQGJsdWVEYXJrOiAgICAgICAgICAgICAgIzAwNjRjZDtcbkBncmVlbjogICAgICAgICAgICAgICAgICM0NmE1NDY7XG5AcmVkOiAgICAgICAgICAgICAgICAgICAjYmMwMDAwO1xuQGdyYW5hdGU6ICAgICAgICAgICAgICAgIzhhMDAwMDtcbkBvY3JlOiAgICAgICAgICAgICAgICAgICNiY2E0NzQ7XG5AeWVsbG93OiAgICAgICAgICAgICAgICAjZmZjNDBkO1xuQG9yYW5nZTogICAgICAgICAgICAgICAgI2Y4OTQwNjtcbkBwaW5rOiAgICAgICAgICAgICAgICAgICNjMzMyNWY7XG5AcHVycGxlOiAgICAgICAgICAgICAgICAjN2E0M2I2O1xuXG5cbi8vIENvbG9yZXMgdmlzaXRhcyBsaWJyZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBhcnF1aXRlY3R1cmE6ICAgICAgICAgICNlOTJlMjQ7XG5AZmVtaW5pc21vOiAgICAgICAgICAgICAjN2ExMzdkO1xuQHRlYXRybzogICAgICAgICAgICAgICAgIzAwNzg2MztcbkBlc2N1bHR1cmE6ICAgICAgICAgICAgICMwNzY4N2Q7XG5AaW5kaXNwZW5zYWJsZXM6ICAgICAgICAjYjFjNTI2O1xuQGV4cG9zaWNpb25lczogICAgICAgICAgI2NjY2NlNTtcbkBhcnRpc3RhLWNyaXNpczogICAgICAgICNFNjg2NEY7XG5AY3VlcnBvOiAgICAgICAgICAgICAgICAjQ0ZBRjlEO1xuQGxvLXBvZXRpY286ICAgICAgICAgICAgIzJFN0NBMztcblxuXG4vLyBTZWRlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHNhYmF0aW5pOiAgICAgICAgICAgICAgIzMzMzMzMztcbkByZXRpcm86ICAgICAgICAgICAgICAgICMyOTk5MjY7XG5Ac2lsb3M6ICAgICAgICAgICAgICAgICAjODk2NTM1O1xuXG5cbi8vIFBlZGFnb2dpYXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBhY3RpdmlkYWRlczogICAgICAgICAgICM5ZGFiMzE7XG5AdmlzaXRhczogICAgICAgICAgICAgICAjZWM0YjAxO1xuQHByb3llY3Rvcy1wZWRhZ29naWFzOiAgI2M4YjgwMjtcbkBwdWJsaWNhY2lvbmVzVmlkZW9zOiAgICMxZDc2ODY7XG5AZWR1Y2FjaW9uOiAgICAgICAgICAgICAjMDA1Nzc2O1xuQHJvc2FFZHVjYWNpb246ICAgICAgICAgI2U5OGI5MjtcblxuLy9jZW50cm8gZXN0dWRpb3NcbkB0ZXh0by1jZW50cm8tZXN0dWRpb3M6ICM3MDhEODU7XG5cbi8vIE1pY3Jvc2l0ZXNcbkBnaWdhcGl4ZWw6ICMyYmM1ZDE7XG5AZ2lnYXBpeGVsLWRhcms6IGRhcmtlbihAZ2lnYXBpeGVsLCA4JSk7XG5AcmVwZW5zYXItZ3Vlcm5pY2E6ICNmOGRmOWU7XG5AcmVwZW5zYXItZ3Vlcm5pY2EtZGFyazogZGFya2VuKEByZXBlbnNhci1ndWVybmljYSwgOCUpO1xuQGl0aW5lcmFuY2lhczogI2QxZWNmMDtcbkBpdGluZXJhbmNpYXMtZGFyazogZGFya2VuKEBpdGluZXJhbmNpYXMsIDglKTtcblxuXG4vLyBTY2FmZm9sZGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGJvZHlCYWNrZ3JvdW5kOiAgICAgICAgQHdoaXRlO1xuQHRleHRDb2xvcjogICAgICAgICAgICAgQGdyYXlEYXJrO1xuXG4vLyBDYXJ0YVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHJvam9jYXJ0YTogICAgICAgICAgICAgI2JmMjczMDtcblxuLy8gTGlua3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBsaW5rQ29sb3I6ICAgICAgICAgICAgICM5YTdmNGE7XG5AbGlua0NvbG9ySG92ZXI6ICAgICAgICBkYXJrZW4oQGxpbmtDb2xvciwgMTUlKTtcblxuQGJlaWdlSG92ZXI6ICAgICAgICAgICAgZGFya2VuKEBiZWlnZSwgMTUlKTtcbkBtb3N0YXphSG92ZXI6ICAgICAgICAgIGRhcmtlbihAbW9zdGF6YSwgNCUpO1xuXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Ac2Fuc0ZvbnRGYW1pbHk6ICAgICAgICBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5Ac2VyaWZGb250RmFtaWx5OiAgICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWY7XG5AbW9ub0ZvbnRGYW1pbHk6ICAgICAgICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG5cbkBibGFja1Njb3V0OiAgICAgICAgICAgICdQRkRpblRleHRQcm8tRXh0cmFCbGFjaycsIHNhbnMtc2VyaWY7XG5AYmxhY2tTY291dEl0YWxpYzogICAgICAnUEZEaW5UZXh0UHJvLUV4dHJhQmxhY2tJdGFsaWMnLCBzYW5zLXNlcmlmO1xuQGJvbGRTY291dDogICAgICAgICAgICAgJ1BGRGluVGV4dFByby1Cb2xkJywgc2Fucy1zZXJpZjtcbkBib2xkU2NvdXRJdGFsaWM6ICAgICAgICdQRkRpblRleHRQcm8tQm9sZEl0YWxpYycsIHNhbnMtc2VyaWY7XG5AcmVndWxhclNjb3V0OiAgICAgICAgICAnUEZEaW5UZXh0UHJvLVJlZ3VsYXInLCBzYW5zLXNlcmlmO1xuQHJlZ3VsYXJTY291dEl0YWxpYzogICAgJ1BGRGluVGV4dFByby1JdGFsaWMnLCBzYW5zLXNlcmlmO1xuQGxpZ2h0U2NvdXQ6ICAgICAgICAgICAgJ1BGRGluVGV4dFByby1UaGluJywgc2Fucy1zZXJpZjtcbkBsaWdodFNjb3V0SXRhbGljOiAgICAgICdQRkRpblRleHRQcm8tVGhpbkl0YWxpYycsIHNhbnMtc2VyaWY7XG5AdGhpblNjb3V0OiAgICAgICAgICAgICAnUEZEaW5UZXh0UHJvLVRoaW4nLCBzYW5zLXNlcmlmO1xuQHRoaW5TY291dEl0YWxpYzogICAgICAgJ1BGRGluVGV4dFByby1UaGluSXRhbGljJywgc2Fucy1zZXJpZjtcblxuQGJhc2VMaW5lSGVpZ2h0OiAgICAgICAgMS42O1xuQGJhc2VGb250RmFtaWx5OiAgICAgICAgQHNhbnNGb250RmFtaWx5O1xuQGFsdEZvbnRGYW1pbHk6ICAgICAgICAgQHNlcmlmRm9udEZhbWlseTtcblxuQGhlYWRpbmdzRm9udEZhbWlseTogICAgaW5oZXJpdDsgLy8gZW1wdHkgdG8gdXNlIEJTIGRlZmF1bHQsIEBiYXNlRm9udEZhbWlseVxuQGhlYWRpbmdzRm9udFdlaWdodDogICAgbm9ybWFsOyAgICAvLyBpbnN0ZWFkIG9mIGJyb3dzZXIgZGVmYXVsdCwgYm9sZFxuQGhlYWRpbmdzQ29sb3I6ICAgICAgICAgaW5oZXJpdDsgLy8gZW1wdHkgdG8gdXNlIEJTIGRlZmF1bHQsIEB0ZXh0Q29sb3JcblxuXG4vLyBUYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkB0YWJsZUJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50OyAvLyBvdmVyYWxsIGJhY2tncm91bmQtY29sb3JcbkB0YWJsZUJhY2tncm91bmRBY2NlbnQ6ICAgICAgICAgICAgICNmOWY5Zjk7IC8vIGZvciBzdHJpcGluZ1xuQHRhYmxlQmFja2dyb3VuZEhvdmVyOiAgICAgICAgICAgICAgI2Y1ZjVmNTsgLy8gZm9yIGhvdmVyXG5AdGFibGVCb3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAjZGRkOyAvLyB0YWJsZSBhbmQgY2VsbCBib3JkZXJcblxuXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AYnRuQmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICBAd2hpdGU7XG5AYnRuQmFja2dyb3VuZEhpZ2hsaWdodDogICAgICAgICAgICBkYXJrZW4oQHdoaXRlLCAxMCUpO1xuQGJ0bkJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgI2NjYztcblxuQGJ0blByaW1hcnlCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgQGxpbmtDb2xvcjtcbkBidG5QcmltYXJ5QmFja2dyb3VuZEhpZ2hsaWdodDogICAgIHNwaW4oQGJ0blByaW1hcnlCYWNrZ3JvdW5kLCAxNSUpO1xuXG5AYnRuSW5mb0JhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAjNWJjMGRlO1xuQGJ0bkluZm9CYWNrZ3JvdW5kSGlnaGxpZ2h0OiAgICAgICAgIzJmOTZiNDtcblxuQGJ0blN1Y2Nlc3NCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIzYyYzQ2MjtcbkBidG5TdWNjZXNzQmFja2dyb3VuZEhpZ2hsaWdodDogICAgICM1MWEzNTE7XG5cbkBidG5XYXJuaW5nQmFja2dyb3VuZDogICAgICAgICAgICAgIGxpZ2h0ZW4oQG9yYW5nZSwgMTUlKTtcbkBidG5XYXJuaW5nQmFja2dyb3VuZEhpZ2hsaWdodDogICAgIEBvcmFuZ2U7XG5cbkBidG5EYW5nZXJCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICNlZTVmNWI7XG5AYnRuRGFuZ2VyQmFja2dyb3VuZEhpZ2hsaWdodDogICAgICAjYmQzNjJmO1xuXG5AYnRuSW52ZXJzZUJhY2tncm91bmQ6ICAgICAgICAgICAgICBAZ3JheTtcbkBidG5JbnZlcnNlQmFja2dyb3VuZEhpZ2hsaWdodDogICAgIEBncmF5RGFya2VyO1xuXG5cbi8vIEZvcm1zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5wdXRCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIEB3aGl0ZTtcbkBpbnB1dEJvcmRlcjogICAgICAgICAgICAgICAgICAgQGdyYXlMaWdodGVyO1xuQGlucHV0Qm9yZGVyUmFkaXVzOiAgICAgICAgICAgICAwcHg7XG5AaW5wdXREaXNhYmxlZEJhY2tncm91bmQ6ICAgICAgIEBncmF5TGlnaHRlcjtcbkBmb3JtQWN0aW9uc0JhY2tncm91bmQ6ICAgICAgICAgI2Y1ZjVmNTtcblxuLy8gRHJvcGRvd25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AZHJvcGRvd25CYWNrZ3JvdW5kOiAgICAgICAgICAgIEB3aGl0ZTtcbkBkcm9wZG93bkJvcmRlcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMik7XG5AZHJvcGRvd25MaW5rQ29sb3I6ICAgICAgICAgICAgIEBncmF5RGFyaztcbkBkcm9wZG93bkxpbmtDb2xvckhvdmVyOiAgICAgICAgQHdoaXRlO1xuQGRyb3Bkb3duTGlua0JhY2tncm91bmRIb3ZlcjogICBAbGlua0NvbG9yO1xuXG5cblxuXG4vLyBDT01QT05FTlQgVkFSSUFCTEVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBVc2VkIGZvciBhIGJpcmQncyBleWUgdmlldyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzXG4vLyBUcnkgdG8gYXZvaWQgY3VzdG9taXppbmcgdGhlc2UgOilcbkB6aW5kZXhEcm9wZG93bjogICAgICAgICAgMTAwMDtcbkB6aW5kZXhQb3BvdmVyOiAgICAgICAgICAgMTAxMDtcbkB6aW5kZXhUb29sdGlwOiAgICAgICAgICAgMTAyMDtcbkB6aW5kZXhGaXhlZE5hdmJhcjogICAgICAgMTAzMDtcbkB6aW5kZXhNb2RhbEJhY2tkcm9wOiAgICAgMTA0MDtcbkB6aW5kZXhNb2RhbDogICAgICAgICAgICAgMTA1MDtcbkB6aW5kZXhNZW51U3BsYXNoOiAgICAgICAgMTA2MDtcbkB6aW5kZXhIYW1idXJnZXI6ICAgICAgICAgMTA3MDtcbkB6aW5kZXhDbG9zZUZ1bGxTY3JlZW46ICAgMTA4MDtcblxuXG4vLyBTcHJpdGUgaWNvbnMgcGF0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGljb25TcHJpdGVQYXRoOiAgICAgICAgICBcIi4uL2Jvb3RzdHJhcC9pbWcvZ2x5cGhpY29ucy1oYWxmbGluZ3MucG5nXCI7XG5AaWNvbldoaXRlU3ByaXRlUGF0aDogICAgIFwiLi4vYm9vdHN0cmFwL2ltZy9nbHlwaGljb25zLWhhbGZsaW5ncy13aGl0ZS5wbmdcIjtcblxuXG4vLyBJbnB1dCBwbGFjZWhvbGRlciB0ZXh0IGNvbG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcGxhY2Vob2xkZXJUZXh0OiAgICAgICAgIEBncmF5TGlnaHQ7XG5cblxuLy8gSHIgYm9yZGVyIGNvbG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaHJCb3JkZXI6ICAgICAgICAgICAgICAgIEBncmF5TGlnaHRlcjtcblxuXG4vLyBOYXZiYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBuYXZiYXJIZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA0MHB4O1xuQG5hdmJhckJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIEBncmF5RGFya2VyO1xuQG5hdmJhckJhY2tncm91bmRIaWdobGlnaHQ6ICAgICAgIEBncmF5RGFyaztcblxuQG5hdmJhclRleHQ6ICAgICAgICAgICAgICAgICAgICAgIEBncmF5TGlnaHQ7XG5AbmF2YmFyTGlua0NvbG9yOiAgICAgICAgICAgICAgICAgQGdyYXlMaWdodDtcbkBuYXZiYXJMaW5rQ29sb3JIb3ZlcjogICAgICAgICAgICBAd2hpdGU7XG5AbmF2YmFyTGlua0NvbG9yQWN0aXZlOiAgICAgICAgICAgQG5hdmJhckxpbmtDb2xvckhvdmVyO1xuQG5hdmJhckxpbmtCYWNrZ3JvdW5kSG92ZXI6ICAgICAgIHRyYW5zcGFyZW50O1xuQG5hdmJhckxpbmtCYWNrZ3JvdW5kQWN0aXZlOiAgICAgIEBuYXZiYXJCYWNrZ3JvdW5kO1xuXG5AbmF2YmFyU2VhcmNoQmFja2dyb3VuZDogICAgICAgICAgbGlnaHRlbihAbmF2YmFyQmFja2dyb3VuZCwgMjUlKTtcbkBuYXZiYXJTZWFyY2hCYWNrZ3JvdW5kRm9jdXM6ICAgICBAd2hpdGU7XG5AbmF2YmFyU2VhcmNoQm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKEBuYXZiYXJTZWFyY2hCYWNrZ3JvdW5kLCAzMCUpO1xuQG5hdmJhclNlYXJjaFBsYWNlaG9sZGVyQ29sb3I6ICAgICNjY2M7XG5AbmF2YmFyQnJhbmRDb2xvcjogICAgICAgICAgICAgICAgQG5hdmJhckxpbmtDb2xvcjtcblxuXG4vLyBIZXJvIHVuaXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBoZXJvVW5pdEJhY2tncm91bmQ6ICAgICAgICAgICAgICBAZ3JheUxpZ2h0ZXI7XG5AaGVyb1VuaXRIZWFkaW5nQ29sb3I6ICAgICAgICAgICAgaW5oZXJpdDtcbkBoZXJvVW5pdExlYWRDb2xvcjogICAgICAgICAgICAgICBpbmhlcml0O1xuXG5cbi8vIEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkB3YXJuaW5nVGV4dDogICAgICAgICAgICAgI2MwOTg1MztcbkB3YXJuaW5nQmFja2dyb3VuZDogICAgICAgI2ZjZjhlMztcbkB3YXJuaW5nQm9yZGVyOiAgICAgICAgICAgZGFya2VuKHNwaW4oQHdhcm5pbmdCYWNrZ3JvdW5kLCAtMTApLCAzJSk7XG5cbkBlcnJvclRleHQ6ICAgICAgICAgICAgICAgI2I5NGE0ODtcbkBlcnJvckJhY2tncm91bmQ6ICAgICAgICAgI2YyZGVkZTtcbkBlcnJvckJvcmRlcjogICAgICAgICAgICAgZGFya2VuKHNwaW4oQGVycm9yQmFja2dyb3VuZCwgLTEwKSwgMyUpO1xuXG5Ac3VjY2Vzc1RleHQ6ICAgICAgICAgICAgICM0Njg4NDc7XG5Ac3VjY2Vzc0JhY2tncm91bmQ6ICAgICAgICNkZmYwZDg7XG5Ac3VjY2Vzc0JvcmRlcjogICAgICAgICAgIGRhcmtlbihzcGluKEBzdWNjZXNzQmFja2dyb3VuZCwgLTEwKSwgNSUpO1xuXG5AaW5mb1RleHQ6ICAgICAgICAgICAgICAgIGRhcmtlbihAYmVpZ2UsIDU1JSk7XG5AaW5mb0JhY2tncm91bmQ6ICAgICAgICAgIEBiZWlnZTtcbkBpbmZvQm9yZGVyOiAgICAgICAgICAgICAgQGluZm9CYWNrZ3JvdW5kO1xuXG5cblxuLy8gR1JJRFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRGVmYXVsdCA5NDBweCBncmlkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AZ3JpZENvbHVtbnM6ICAgICAgICAgICAgIDEyO1xuQGdyaWRDb2x1bW5XaWR0aDogICAgICAgICA2MHB4O1xuQGdyaWRHdXR0ZXJXaWR0aDogICAgICAgICAyMHB4O1xuQGdyaWRSb3dXaWR0aDogICAgICAgICAgICAoQGdyaWRDb2x1bW5zICogQGdyaWRDb2x1bW5XaWR0aCkgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIChAZ3JpZENvbHVtbnMgLSAxKSk7XG5cbi8vIEZsdWlkIGdyaWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBmbHVpZEdyaWRDb2x1bW5XaWR0aDogICAgNi4zODI5Nzg3MjMlO1xuQGZsdWlkR3JpZEd1dHRlcldpZHRoOiAgICAyLjEyNzY1OTU3NCU7XG5cblxuLypcbiAgVmFyaWFibGVzIHByb3BpYXNcbiovXG5cbi8vIEJyZWFrcG9pbnRzXG5cbkBtb2JpbGUtZG93bjogNzY3cHg7XG5AdGFibGV0OiA3NjhweDtcbkB0YWJsZXQtZG93bjogOTc5cHg7XG5AZGVza3RvcDogOTgwcHg7XG5AZGVza3RvcC1kb3duOiAxMjgwcHg7XG5AZGVza3RvcC1sYXJnZTogMTI4MXB4O1xuXG4vLyBHcmlkXG5cbkBncmlkR3V0dGVyV2lkdGgtZGVza3RvcC1sYXJnZTogMzBweDtcblxuLy8gVGV4dG9zXG5cbkBleHRyYWxhcmdlRm9udFNpemU6IDIwcHg7XG5Ac21hbGxMaW5lSGVpZ2h0OiAxLjM7XG5AdGhpbldlaWdodDogMzAwO1xuQGhlYWRpbmdzTGluZUhlaWdodDogMS4xNTtcblxuLy8gVGFtYcOxb3MgZGUgdGV4dG9cblxuQGZvbnRTY2FsZTg6ICA2MHB4O1xuQGZvbnRTY2FsZTc6ICA0NHB4O1xuQGZvbnRTY2FsZTY6ICAzNHB4O1xuQGZvbnRTY2FsZTU6ICAzMHB4O1xuQGZvbnRTY2FsZTQ6ICAyNHB4O1xuQGZvbnRTY2FsZTM6ICAyMXB4O1xuQGZvbnRTY2FsZTI6ICAyMHB4O1xuQGZvbnRTY2FsZTE6ICAxOHB4O1xuQGZvbnRTY2FsZTA6ICAxNHB4O1xuQGZvbnRTY2FsZS0xOiAxMnB4O1xuQGZvbnRTY2FsZS0yOiAxMXB4O1xuQGZvbnRTY2FsZS0zOiAxMHB4O1xuXG5AYmFzZUZvbnRTaXplOiAgICAgICAgQGZvbnRTY2FsZTA7XG5cbkBsYXJnZUZvbnRTaXplOiAgICAgICBAZm9udFNjYWxlMTtcblxuQHNtYWxsRm9udFNpemU6ICAgICAgIEBmb250U2NhbGUtMTtcblxuQHhzbWFsbEZvbnRTaXplOiAgICAgIEBmb250U2NhbGUtMjtcblxuQGZvbnRTaXplQmlnMTogICAgICAgIEBmb250U2NhbGU4O1xuQGZvbnRTaXplQmlnMS14czogICAgIEBmb250U2NhbGU2O1xuXG5AZm9udFNpemVUaXRsZTE6ICAgICAgQGZvbnRTY2FsZTY7XG5AZm9udFNpemVUaXRsZTEtbGc6ICAgQGZvbnRTY2FsZTc7XG5cbkBmb250U2l6ZVRpdGxlMjogICAgICBAZm9udFNjYWxlNTtcbkBmb250U2l6ZVRpdGxlMi14czogICBAZm9udFNjYWxlNDtcblxuQGZvbnRTaXplVGl0bGUzOiAgICAgIEBmb250U2NhbGU0O1xuQGZvbnRTaXplVGl0bGUzLXhzOiAgIEBmb250U2NhbGUyO1xuXG5AZm9udFNpemVUaXRsZTQ6ICAgICAgQGZvbnRTY2FsZTI7XG5AZm9udFNpemVUaXRsZTQteHM6ICAgQGZvbnRTY2FsZTE7XG5cbkBmb250U2l6ZUgxOiAgICAgICAgICBAZm9udFNjYWxlNjtcbkBmb250U2l6ZUgxLWxnOiAgICAgICBAZm9udFNjYWxlNztcblxuQGZvbnRTaXplSDI6ICAgICAgICAgIEBmb250U2NhbGUzO1xuQGZvbnRTaXplSDM6ICAgICAgICAgIEBmb250U2NhbGUyO1xuQGZvbnRTaXplSDQ6ICAgICAgICAgIEBmb250U2NhbGUxO1xuQGZvbnRTaXplSDU6ICAgICAgICAgIEBmb250U2NhbGUyO1xuQGZvbnRTaXplSDY6ICAgICAgICAgIEBmb250U2NhbGUwO1xuXG5AZm9udFNpemVMZWFkOiAgICAgICAgQGZvbnRTY2FsZTM7XG5AZm9udFNpemVMZWFkLW1kOiAgICAgQGZvbnRTY2FsZTI7XG5AZm9udFNpemVMZWFkLXhzOiAgICAgQGZvbnRTY2FsZTE7XG5cbi8vIEVzcGFjaW8gZW4gYmxhbmNvXG5cbkBzcGFjZS11bml0LXh4eHM6ICAgICAgICAgICA1cHg7XG5Ac3BhY2UtdW5pdC14eHM6ICAgICAgICAgICAgMTBweDtcbkBzcGFjZS11bml0LXhzOiAgICAgICAgICAgICAxNXB4O1xuQHNwYWNlLXVuaXQteHNtOiAgICAgICAgICAgIDI1cHg7XG5Ac3BhY2UtdW5pdC1zbTogICAgICAgICAgICAgKEBzcGFjZS11bml0LXhzICogMik7IC8vIDMwcHg7XG5Ac3BhY2UtdW5pdC1tZDogICAgICAgICAgICAgKEBzcGFjZS11bml0LXhzICogMyk7IC8vIDQ1cHg7XG5Ac3BhY2UtdW5pdC1sZzogICAgICAgICAgICAgKEBzcGFjZS11bml0LXhzICogNCk7IC8vIDYwcHg7XG5Ac3BhY2UtdW5pdC14bDogICAgICAgICAgICAgKEBzcGFjZS11bml0LXhzICogNSk7IC8vIDc1cHg7XG5Ac3BhY2UtdW5pdC14eGw6ICAgICAgICAgICAgOTBweDsgICAgICAgICAgICAgICAgIC8vIDkwcHg7XG5cbi8vIFNlY2Npw7NuXG5cbkBGb250U2l6ZVNlY2Npb25DYWJlY2VyYVRpdHVsbzogICAgIEBmb250U2NhbGU0O1xuQEZvbnRTaXplU2VjY2lvbkNhYmVjZXJhVGl0dWxvLWxnOiAgQGZvbnRTY2FsZTU7XG5cbkBGb250U2l6ZVNlY2Npb25DYWJlY2VyYVN1YnRpdHVsbzogICAgIEBmb250U2NhbGUzO1xuQEZvbnRTaXplU2VjY2lvbkNhYmVjZXJhU3VidGl0dWxvLWxnOiAgQGZvbnRTY2FsZTQ7XG5cbi8vIENvbXBvbmVudGVzXG5cbkBjb21wb25lbnQtYWN0aXZlLWNvbG9yOiBAbGlua0NvbG9yO1xuQGNvbXBvbmVudC1hY3RpdmUtYmc6IEBjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuXG4vLyBDb21wb25lbnRlc1xuXG5AY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogQGxpbmtDb2xvcjtcbkBjb21wb25lbnQtYWN0aXZlLWJnOiBAY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcblxuLy8gTWluaWF0dXJhXG5cbkBGb250U2l6ZU1pbmlhdHVyYUFudGV0aXR1bG86ICAgICBAZm9udFNjYWxlMDtcbkBGb250U2l6ZU1pbmlhdHVyYUFudGV0aXR1bG8tbGc6ICBAZm9udFNjYWxlMTtcblxuQG1pbmlhdHVyYVRpdHVsb0ZvbnRTaXplOiAgICAgICBAZm9udFNjYWxlMjtcbkBtaW5pYXR1cmFTdWJ0aXR1bG9Gb250U2l6ZTogICAgQGZvbnRTY2FsZTI7XG5cbkBtaW5pYXR1cmFDYWphQWx0b01pbmltbzogXHRcdDM0MHB4O1xuXG4vLyBFdGlxdWV0YXNcblxuQGV0aXF1ZXRhQ29sb3I6ICAgICAgICAgICAgIGRhcmtlbihAYmVpZ2UsIDQ4JSk7XG5AZXRpcXVldGFCYWNrZ3JvdW5kQ29sb3I6ICAgQGJlaWdlO1xuQGV0aXF1ZXRhRm9udFNpemU6ICAgICAgICAgIDE0cHg7XG5cbi8vIFJlZGVzIHNvY2lhbGVzXG5cbkBmYWNlYm9vazogICAgICAgICAgICAgICAgICAjM0I1OTk4O1xuQHR3aXR0ZXI6ICAgICAgICAgICAgICAgICAgICM1OThEQ0E7XG5AaW5zdGFncmFtOiAgICAgICAgICAgICAgICAgI2Q4MmQ3YjtcbkB2aW1lbzogICAgICAgICAgICAgICAgICAgICAjNjNCNEU0O1xuQHlvdXR1YmU6ICAgICAgICAgICAgICAgICAgICNDRjM0Mjc7XG5AZ29vZ2xlLXBsdXM6ICAgICAgICAgICAgICAgI0Q2NDkyRjtcbkByc3M6ICAgICAgICAgICAgICAgICAgICAgICAjRTE5MTI2O1xuXG4vLyBUaXR1bG8gcMOhZ2luYVxuXG5ARm9udFNpemVUaXR1bG9QYWdpbmFUaXR1bG9zVGl0dWxvOiBcdFx0ICAgIEBmb250U2NhbGU2O1xuQEZvbnRTaXplVGl0dWxvUGFnaW5hVGl0dWxvc1RpdHVsby1sZzogICAgICBAZm9udFNjYWxlNztcblxuQEZvbnRTaXplVGl0dWxvUGFnaW5hVGl0dWxvc1N1YnRpdHVsbzogICAgICBAZm9udFNjYWxlNTtcbkBGb250U2l6ZVRpdHVsb1BhZ2luYVRpdHVsb3NTdWJ0aXR1bG8tbGc6ICAgNDBweDtcblxuQEZvbnRTaXplVGl0dWxvUGFnaW5hRW50cmFkaWxsYTogICAgICAgICAgICBAZm9udFNjYWxlMztcblxuQEZvbnRTaXplVGl0dWxvUGFnaW5hVGV4dG86ICAgICAgICAgICAgICAgICBAZm9udFNjYWxlMjtcblxuLy8gQ29sb3JlcyBkZSBsYSBzZWNjacOzbiBlZHVjYWNpw7NuXG5cbkBjb2xvci1lZHVjYWNpb24tMTogICAgI2ZhODhjNTsgLy8gUm9zYSAtPiBDT05WT0NBVE9SSUFTIFRSQU5TRk9STUFcbkBjb2xvci1lZHVjYWNpb24tMjogICAgIzhlZDA2YTsgLy8gVmVyZGUgLT4gUkVDVVJTT1MgRURVQ0FUSVZPU1xuQGNvbG9yLWVkdWNhY2lvbi0zOiAgICAjZmFiZDQxOyAvLyBOYXJhbmphIC0+IEpPVkVORVNcbkBjb2xvci1lZHVjYWNpb24tNDogICAgI2ZkNzI1ZTsgLy8gUm9qbyAtPiBNRURJQUNJw5NOIENPTiBBRFVMVE9TXG5AY29sb3ItZWR1Y2FjaW9uLTU6ICAgICNkNjVkODM7IC8vIE5PIFNFIFVTQVxuQGNvbG9yLWVkdWNhY2lvbi02OiAgICAjMzliNGUzOyAvLyBBenVsIC0+IEVTQ09MQVJFU1xuQGNvbG9yLWVkdWNhY2lvbi03OiAgICAjMDBjZmI4OyAvLyBUdXJxdWVzYSAtPiBOScORT1NcbkBjb2xvci1lZHVjYWNpb24tODogICAgI2I1NjdiZjsgLy8gTW9yYWRvIC0+IEFDQ0VTSUJJTElEQURcbkBjb2xvci1lZHVjYWNpb24tOTogICAgI2ZmNTYxNzsgLy8gTmFyYW5qYSAtPiBQUk9ZRUNUT1NcbkBjb2xvci1lZHVjYWNpb24tMTA6ICAgIzkwODE0NTsgLy8gTWFycsOzbiAtPiBQUk9HUkFNQSBFRFVDQVRJVk9cbkBjb2xvci1lZHVjYWNpb24tMTE6ICAgIzZmODVjNzsgLy8gTk8gU0UgVVNBXG5cbkBjb2xvci1lZHVjYWNpb24tMS1jbGFybzogICAgI2U3YzFkODsgLy8gUm9zYSAtPiBDT05WT0NBVE9SSUFTIFRSQU5TRk9STUFcbkBjb2xvci1lZHVjYWNpb24tMi1jbGFybzogICAgI2QxZTdiNzsgLy8gVmVyZGUgLT4gUkVDVVJTT1MgRURVQ0FUSVZPU1xuQGNvbG9yLWVkdWNhY2lvbi0zLWNsYXJvOiAgICAjZjRkZGE2OyAvLyBOYXJhbmphIC0+IEpPVkVORVNcbkBjb2xvci1lZHVjYWNpb24tNC1jbGFybzogICAgI2VmYjhhZjsgLy8gUm9qbyAtPiBNRURJQUNJw5NOIENPTiBBRFVMVE9TXG5AY29sb3ItZWR1Y2FjaW9uLTUtY2xhcm86ICAgIG1peChAY29sb3ItZWR1Y2FjaW9uLTUsICNmZmYsIDUwJSk7IC8vIE5PIFNFIFVTQVxuQGNvbG9yLWVkdWNhY2lvbi02LWNsYXJvOiAgICAjYjdkOWVmOyAvLyBBenVsIC0+IEVTQ09MQVJFU1xuQGNvbG9yLWVkdWNhY2lvbi03LWNsYXJvOiAgICAjYWJlNmRiOyAvLyBUdXJxdWVzYSAtPiBOScORT1NcbkBjb2xvci1lZHVjYWNpb24tOC1jbGFybzogICAgI2QwYjNkZDsgLy8gTW9yYWRvIC0+IEFDQ0VTSUJJTElEQURcbkBjb2xvci1lZHVjYWNpb24tOS1jbGFybzogICAgI2ZmYWI5MDsgLy8gTmFyYW5qYSAtPiBQUk9ZRUNUT1NcbkBjb2xvci1lZHVjYWNpb24tMTAtY2xhcm86ICAgI2M1YmZhNDsgLy8gTWFycsOzbiAtPiBQUk9HUkFNQSBFRFVDQVRJVk9cbkBjb2xvci1lZHVjYWNpb24tMTEtY2xhcm86ICAgbWl4KEBjb2xvci1lZHVjYWNpb24tMTEsICNmZmYsIDUwJSk7IC8vIE5PIFNFIFVTQVxuXG4vLyBJY29ub3NcblxuQHNpemUtaWNvbi1zbTogICAyNXB4O1xuQHNpemUtaWNvbi1tZDogICAyOHB4O1xuXG4vLyBNaW5pYXR1cmEgZGVzdGFjYWRhXG5cbkBGb250U2l6ZU1pbmlhdHVyYURlc3RhY2FkYUFudGV0aXR1bG86ICAgIEBmb250U2NhbGUyO1xuXG5ARm9udFNpemVNaW5pYXR1cmFEZXN0YWNhZGFUaXR1bG86ICAgICAgICBAZm9udFNjYWxlNDtcbkBGb250U2l6ZU1pbmlhdHVyYURlc3RhY2FkYVRpdHVsby1sZzogICAgIEBmb250U2NhbGU2O1xuXG5ARm9udFNpemVNaW5pYXR1cmFEZXN0YWNhZGFTdWJ0aXR1bG86ICAgICBAZm9udFNjYWxlMjtcbkBGb250U2l6ZU1pbmlhdHVyYURlc3RhY2FkYVN1YnRpdHVsby1sZzogIEBmb250U2NhbGU1O1xuXG4vLyBNYXNvbnJ5XG5cbkBtYXNvbnJ5R3V0dGVyMkNvbHVtbmFzOiA1JTtcbkBtYXNvbnJ5R3V0dGVyM0NvbHVtbmFzOiAyLjUlO1xuXG4vLyBUcmFuc2l0aW9uc1xuXG5AdHJhbnNpdGlvbi1iYXNlOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuXG5AYnV0dG9uLXNoYXJlLWZhY2Vib29rLWJnOiAjM2I1OTk4O1xuQGJ1dHRvbi1zaGFyZS10d2l0dGVyLWJnOiAjMDBhY2VlO1xuQGJ1dHRvbi1zaGFyZS13aGF0c2FwcC1iZzogIzZGRTc3ODtcblxuLy8gU3BsYXNoXG5cbkBzcGxhc2gtYnV0dG9uLWZhbWlseTogJ0FyaWFsJztcbkBzcGxhc2gtYnV0dG9uLWZvbnQtc2l6ZTogMjRweDtcblxuLy8gU3RpY2tldFxuQHN0aWNrZXItc2l6ZTogODBweDsiLCIvKmRvY1xuLS0tXG50aXRsZTogSG9tZSBCdXNjYWRvclxuY2F0ZWdvcnk6IE1vZHVsb3Ncbi0tLVxuXG5Eb2N1bWVudGFjacOzbi4uLlxuXG48ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtZXJyb3JcIj5SZXZpc2FyIHF1ZSBlbGVtZW50b3Mgc2UgcHVlZGVuIGNvbnZlcnRpciBlbiBjb21wb25lbnRlcy48L2Rpdj5cblxuKi9cblxuLm5vZGUtdHlwZS1wb3J0YWRhLWdlbmVyYWwgLmZvcm0tYnVzY2FyIHtcblx0bWFyZ2luLWJvdHRvbToyMHB4O1xufSIsIi8qZG9jXG4tLS1cbnRpdGxlOiBBdmlzb3MgZW4gbGEgSG9tZVxuY2F0ZWdvcnk6IE1vZHVsb3Ncbi0tLVxuXG5Eb2N1bWVudGFjacOzbi4uLlxuXG48ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtZXJyb3JcIj5SZXZpc2FyIHF1ZSBlbGVtZW50b3Mgc2UgcHVlZGVuIGNvbnZlcnRpciBlbiBjb21wb25lbnRlcy48L2Rpdj5cblxuKi9cblxuI2hvbWUtZGVlcGJhbm5lciB7XG5cdCsgLmFsZXJ0IHtcblx0XHRtYXJnaW4tdG9wOiAtMTVweDtcblx0XHRAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcblx0XHRcdG1hcmdpbi10b3A6IDMwcHg7XG5cdFx0fVxuXHR9XG59IiwiLypkb2Ncbi0tLVxudGl0bGU6IEhvbWUgSG95IGVuIGVsIE11c2VvXG5jYXRlZ29yeTogTW9kdWxvc1xuLS0tXG5cbkVzdGlsb3MgZGVsIGJsb3F1ZSBcIkhveSBlbiBlbCBNdXNlb1wiIHF1ZSBhcGFyZWNlIGVuIGxhIHBvcnRhZGEgZ2VuZXJhbC5cblxuKi9cblxuI2Jsb3F1ZS1jb24taG95LW11c2VvIHtcblxuICB1bC5ibG9xdWUxIC50aHVtYm5haWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEB3aGl0ZTtcbiAgfVxuXG5cdC5jYWphIHtcblx0XHRiYWNrZ3JvdW5kOkBiZWlnZTtcblx0fVxuXG59XG5cbiNob3ktZW4tZWwtbXVzZW8ge1xuXHRtYXJnaW46MDtcblx0cGFkZGluZzoyMHB4IDEwcHg7XG5cdGJvcmRlci10b3A6bm9uZTtcblx0LnRpdHVsby1ibG9xdWUge1xuXHRcdHBhZGRpbmctbGVmdDowO1xuXHRcdHBhZGRpbmctcmlnaHQ6MDtcblx0XHRmb250LXNpemU6MTZweDtcblx0XHRsaW5lLWhlaWdodDoxOHB4O1xuXHRcdGJvcmRlci10b3A6bm9uZTtcblx0fVxuXHQuY2FsZW5kYXJpbyB7XG5cdFx0bWFyZ2luLWJvdHRvbTowO1xuXHRcdG1hcmdpbi1sZWZ0OjVweDtcblx0XHRtYXJnaW4tcmlnaHQ6NXB4O1xuXHR9XG5cdC51aS1kYXRlcGlja2VyIHtcblx0XHR0Ym9keSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjREZEN0M3O1xuXHRcdFx0Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNERkQ3Qzc7XG5cdFx0XHRib3JkZXItdG9wOjFweCBzb2xpZCAjREZEN0M3O1xuXHRcdH1cblx0XHR0ZCB7XG5cdFx0XHRzcGFuLFxuXHRcdFx0YSxcblx0XHRcdC51aS1zdGF0ZS1kZWZhdWx0IHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiNkZmQ3Yzc7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC51aS1zdGF0ZS1kZWZhdWx0IHtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogZGFya2VuKCNmZmYsIDUlKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnVpLXN0YXRlLWhpZ2hsaWdodCB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBAbW9zdGF6YTtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBAbW9zdGF6YTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnVpLXN0YXRlLWFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBAZ3JheURhcms7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogQGdyYXlEYXJrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLmxvZ28tcnJzIHtcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdHdpZHRoOjYycHg7XG5cdGhlaWdodDoxN3B4O1xuXHRiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvaWNvLnJhZGlvLm11c2VvLnBuZykgdG9wIGxlZnQgbm8tcmVwZWF0O1xufVxuXG4ubG9nby1ycnNfX3RleHQge1xuXHRkaXNwbGF5OiBub25lO1xufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
