HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/base.komma.pro/wwwroot/css/style.css
@charset "UTF-8";
/*  1 - SETTINGS
 *  Global variables, site-wide settings,
 *  config switches etc.
 *
 *  The order in which these Sass files
 *  are loaded is critical!
 *  So please be careful when editing
  =========================================================== */
/* =========================================================
   Organize color variables in a Sass Map.
   This way, the colors can be iterated, are more organized,
   and are more intuitive to reference.
   ========================================================= */
/**
 *	A simple function for accessing the colors from our mapping
 *	To access colors in our palette, we use a very simple custom Sass function
 *  This function is placed here, (and not in the toolbox)
 *  so we can use it in our other setting files if we need

	USAGE:

	.demo {
		color: palette(neutral, 900);
	}

 */
/* ========================================
   Config settings
   ======================================== */
/* ==========================================================
 	 Defines the typographic baseline.
   We define every size in pixels, the underlying system
   converts the respective units to the responsive REM value.
 	 ========================================================== */
/**
 * Our base font-size and line-height
 */
/**
 *	Here we assign short names for the font families
 */
/* ============================================
   Define breakpoints for given formats
   ============================================ */
/*  2 - TOOLS
 *  Site wide mixins and functions
 =========================================================== */
/* ==========================================================================
  Functions used in grid calculation
  ========================================================================== */
/**
  * Return percentage based on amount of columns
  * Use parent column size to adjust the origin
  */
/**
  * Default function for columns
  * Return as percentage
  */
/**
  * Return as viewport width
  */
/* ==========================================================================
 * Font related functions
 * ========================================================================== */
/**
 *  Mixin for setting font-size in REM through a Sass Map with all available sizes

    USAGE:

    .myClass {
        @include font-size(xl);
    }

 */
/* Media query mixin for writing Mobile First
 * ========================================== */
/* =============================================
   Toolbox functions
   ================================================ */
/**
 *  Maths helpers.
 *  Halve and double numbers, returning rounded integers.

    USAGE:

    .foo {
        padding: halve(30px);
    }

 */
/**
 *  Remove the unit of a length
 *  @param {Number} $number - Number to remove unit from
 *  @return {Number} - Unitless number
 */
/* Check if value is number */
/* Value to Em */
/* Value to Rem */
/*
 * Set vertical spacing for viewport larger than mobile
 * In flexible units (vw) and on max viewport in a fixed amount (px)

 USAGE:

 .example {
	 @include vspacing(
		'padding-top' 0.33,
		'margin-bottom' 0.5
	);
  }

 */
/**
 *	A simple function for setting a consistent border-radius

	USAGE:

	.card {
		@include border-radius;
	}

	.card--alt {
		@include border-radius(l);
	}

 */
/**
 * Lobotomized Owl Selector mixin:
 * - Set spacing for consecutive items with margin-top on all but the first item

	USAGE:

	.box {
		@include owl-children;
	}

	.card__item {
		@include owl;
	}

 */
/*
 * Lobotomized owl selector.
 * - Gives the children of the element spacing
 * - https://alistapart.com/article/axiomatic-css-and-lobotomized-owls
 */
/**
 *  Show hyphens for every browser supporting it
 *  and will break lines in every other browser
 */
/*
 *  Restrict an element to a max-width for creating gutters on the side
 */
/*
 *  Restrict an element to a max-width for creating gutters on the side
 */
/*
 *	A mixin to set elements to its own named grid-area
 */
/** =================================================================================================
 *  The 'z-index-map' is used for managing the elements stacking order in the 'root' stacking context
 *  This way we have a overview of all the z-index values that are used across the project.
 ==================================================================================================== */
/**
    USAGE:

    @include z(z-modal);

 */
/*  3 - ELEMENTS
 *  Plain old simple HTML elements without a class (type selectors)
 =========================================================== */
/* ==========================================================================
 * Basic elements (no class selectors allowed)
 * ========================================================================== */
/**
 * Set up the html
 *
 * 1. Makes sure that some fonts are better rendered
 * 2. Set font to lining figures
 *
 */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "lnum";
  box-sizing: border-box;
  height: 100%;
}

body {
  font-size: 1rem;
  line-height: 1.5;
  position: relative;
  line-height: 1.5;
  font-family: "Roboto", sans-serif;
  margin: 0;
  color: #4a4a4a;
  background: #FFFFFF;
  overflow-x: hidden;
}

/**
 * [1] Make sure elements like input and textarea inherit some base properties
 *     https://www.smashingmagazine.com/2016/11/css-inheritance-cascade-global-scope-new-old-worst-best-friends/
 *
 * [2] Setting box-sizing the best way per:
 *     https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
* {
  font-family: inherit;
  line-height: inherit;
  color: inherit;
}
*, *:before, *:after {
  box-sizing: inherit;
}

/**
 * [1] Turn off text-shadow when selecting text for better readability
 */
::selection {
  background: #13cfce;
  color: #FFFFFF;
  text-shadow: none;
  /* [1] */
}

/* Remove default margin around figure
 */
figure {
  margin: 0;
}

/**
 * [1] Setting 'vertical-align' removes the whitespace that appears under 'img'
 *	   elements when they are dropped into a page as-is. Safer alternative to
 *	   using 'display: block;'.
 * [2] Remove border / especially on older browsers
 */
img, svg {
  vertical-align: middle;
  /*[1]*/
  border: none;
  /*[2]*/
  max-width: 100%;
}

/**
 *  Needed for iOS to prevent input zooming
 *  https://uxcellence.com/2014/01/15/quick-fix-increase-font-size-to-16px-to-fix-input-zoom
 */
input,
select,
textarea {
  font-size: 16px;
}

a:not([class]) {
  position: relative;
  color: #000000;
  font-weight: bold;
  text-decoration: none;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}
a:not([class]):hover::after {
  height: 2px;
  opacity: 1;
  transform: translateY(0px);
}
a:not([class]):focus {
  outline-color: #13cfce;
}
a:not([class])::after {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000000;
  content: "";
  opacity: 0;
  transition: height 300ms, opacity 300ms, transform 300ms;
  transform: translateY(-5px);
}

h1, h2, h3, h4, h5, h6, hgroup,
ul, ol, dd,
p, figure,
pre, table, fieldset, hr {
  margin-top: 0;
  margin-bottom: 0;
}

h1 {
  font-size: 2.5rem;
  line-height: 1;
}

h2 {
  font-size: 2rem;
  line-height: 1.25;
  font-weight: normal;
}

h3 {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  font-weight: 500;
}

h4 {
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: 500;
}

h5, h6 {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: bold;
}

/** =====================================================================================
 *  Lists
 ===================================================================================== */
/**
 *	Default indentation value for lists
 */
ul,
ol {
  padding: 0;
  margin: 0;
  margin-left: 1.125em;
}

dd {
  margin-left: 0;
}

/**
 *	Remove extra vertical spacing when nesting lists.
 */
li > ul,
li > ol {
  margin-bottom: 0;
}

/*  4 - Layout elements
 *  Design patterns (e.g. grids or media object)
 =========================================================== */
@media screen and (max-width: 1343px) {
  .l-block + .l-block {
    margin-top: 6.25vw;
  }
}
@media screen and (min-width: 1344px) {
  .l-block + .l-block {
    margin-top: 96px;
  }
}

/*==========================================================================
 * Contain
 * ========================================================================== */
.l-contain {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc((100% / 14) * 12);
}

@media screen and (min-width: 840px) {
  .l-divide {
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 839px) {
  .l-divide__item + .l-divide__item {
    margin-top: 24px;
  }
}
@media screen and (min-width: 840px) {
  .l-divide__item:nth-child(2) {
    margin-left: auto;
  }
}

.l-form__body {
  margin-top: 40px;
}

.l-form__row + .l-form__row {
  margin-top: 24px;
}

.l-form__footer {
  margin-top: 40px;
}

.l-form__pot {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 0;
  z-index: -1;
}

/*
* Wrapper of the main body
* (between the header and the footer)

* [1] Avoid the IE 10-11 `min-height` bug.
*/
.l-page {
  display: flex;
  flex-direction: column;
  height: 100%;
  /* [1] */
}

.l-page__header {
  position: relative;
}

.l-page__body {
  z-index: 40;
  position: relative;
  flex: 1 0 auto;
}

.l-page__footer {
  position: relative;
  flex-shrink: 0;
  padding-bottom: 64px;
  transition: padding 600ms ease-in-out;
}
body.is-cookies-accepted .l-page__footer {
  padding-bottom: 0;
}

/*  5 - COMPONENTS
 *  Discrete complete chunks of UI.
 *  Designed components
 =========================================================== */
/** ==========================================================================
 * Components
 * =========================================================================*/
.c-breadcrumb {
  padding-bottom: 4px;
}

.c-breadcrumb__list {
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.c-breadcrumb__item {
  display: flex;
  align-items: center;
}
.c-breadcrumb__item:nth-child(n+2) .c-breadcrumb__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-left: 8px;
  margin-right: 8px;
  transform: rotate(0.75turn);
  color: #1D1D1D;
}

.c-breadcrumb__link {
  color: #656565;
  text-decoration: none;
}
.c-breadcrumb__item--last .c-breadcrumb__link {
  font-weight: bold;
}

.c-button {
  border-radius: 4px;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 0;
  color: #FFFFFF;
  background-color: #3b3b3b;
  background-image: linear-gradient(-7deg, #000000 50%, transparent 50%);
  background-position: 0 0;
  background-size: 100% 400%;
  transition: background 250ms ease-in-out;
  border: none;
  font-weight: bold;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
}
.c-button:focus {
  outline: none;
  box-shadow: 0 0 4px 2px #13cfce;
}
.c-button:active:not(:disabled) {
  outline: none;
  box-shadow: none !important;
}
.c-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.c-button:hover:not(:disabled) {
  background-position: 0 100%;
}

.c-button__text {
  position: relative;
  z-index: 2;
  padding: 0 24px;
  text-align: center;
}
.c-button--icon .c-button__text {
  padding-right: 16px;
}

.c-button__icon {
  display: none;
  position: relative;
  z-index: 2;
  top: -1px;
  margin-right: 16px;
  transition: transform 300ms;
}
.c-button:hover:not(:disabled) .c-button__icon {
  transform: translateX(3px);
}
.c-button__icon:first-child {
  margin-right: 0;
  margin-left: 16px;
}
.c-button--icon .c-button__icon {
  display: block;
  width: 16px;
}

.c-button--ghost {
  padding: calc(10px) 0;
  border: 2px solid #1D1D1D;
  color: #1D1D1D;
  background-color: transparent;
  background-image: linear-gradient(-7deg, #cdcdcd 50%, transparent 50%);
}

.c-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  cursor: pointer;
}

.c-card__picture {
  width: 100%;
  flex: auto;
  display: block;
}

.c-card__img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  background-color: #efefef;
}

.c-card__label {
  position: relative;
  overflow: hidden;
  padding: 14px 10px 15px;
  text-align: center;
  font-weight: bold;
  color: #FFFFFF;
  background-color: #2C2C2C;
  transition-property: background;
  transition-duration: 250ms;
}
.c-card:hover .c-card__label {
  background-color: #000000;
}

.c-close {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  position: relative;
  width: 40px;
  height: 40px;
  padding: 0;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
  transition: transform 180ms ease-out;
}
.c-close:focus {
  box-shadow: 0 0 3px 2px #cdcdcd;
}
.c-close:after, .c-close:before {
  content: "";
  position: absolute;
  top: 20px;
  right: 20%;
  left: 20%;
  height: 3px;
  margin-top: -2px;
  pointer-events: none;
  background: #cdcdcd;
  border-radius: 3px;
}
.c-close:before {
  transform: rotate(45deg);
}
.c-close:after {
  transform: rotate(-45deg);
}
.c-close:hover {
  transform: scale(1.2);
}

.c-form-group__label {
  font-size: 0.9375rem;
  line-height: 1.6;
  display: block;
  padding: 4px 0;
}

.c-form-group__error {
  display: none;
}
.has-error .c-form-group__error:not(:empty) {
  font-size: 0.875rem;
  line-height: 1.1428571429;
  display: block;
  padding: 8px;
  color: #ffd33a;
  background-color: rgba(255, 211, 58, 0.1);
  border: 1px solid #ffd33a;
  border-top: none;
  border-radius: 0 0 4px 4px;
}

.c-form-feedback {
  font-size: 0.9375rem;
  line-height: 1.6;
  border-radius: 4px;
  margin: 16px 0 0;
  padding: 24px 32px;
  border: 2px solid #ffd33a;
  background-color: rgba(255, 211, 58, 0.1);
}
.c-form-feedback:before {
  content: attr(data-feedback);
  display: inline-block;
  margin-left: -16px;
  margin-bottom: 8px;
}
.c-form-feedback:not(:empty) {
  display: block;
}

.c-hamburger {
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: center;
  position: relative;
  width: 40px;
  height: 40px;
  padding: 0;
  color: #2C2C2C;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
}
.c-hamburger:focus {
  box-shadow: 0 0 3px 2px #13cfce;
}
.c-hamburger > span, .c-hamburger:after, .c-hamburger:before {
  content: "";
  position: absolute;
  top: 20px;
  right: 20%;
  left: 20%;
  height: 3px;
  margin-top: -2px;
  pointer-events: none;
  background: currentColor;
  border-radius: 3px;
  transform-origin: right;
  transition-property: transform;
  transition-duration: 150ms;
  transition-timing-function: ease-out;
  transition-delay: 100ms;
}
.c-hamburger:before {
  top: 12px;
  transform: scaleX(0.8);
}
.c-hamburger:after {
  top: 28px;
  transform: scaleX(0.5);
}
.c-hamburger:hover > span {
  transform: scaleX(0.8);
}
.c-hamburger:hover:after, .c-hamburger:hover:before {
  transform: scaleX(1);
}
.is-overlay-menu-active .c-hamburger > span {
  transform: scaleX(1) !important;
}
.is-overlay-menu-active .c-hamburger:before {
  transform: translateY(3px) scaleX(1) !important;
  transition-delay: 0ms;
}
.is-overlay-menu-active .c-hamburger:after {
  transform: translateY(-3px) scaleX(1) !important;
  transition-delay: 0ms;
}

.c-heading {
  font-size: 2rem;
  line-height: 1.25;
  color: #2C2C2C;
}

.c-input {
  font-size: 0.9375rem;
  line-height: 1.6;
  border-radius: 4px;
  width: 100%;
  padding: 6px 16px;
  color: #2C2C2C;
  background-color: #FFFFFF;
  border: 2px solid #1D1D1D;
  outline: none;
}
.has-error .c-input {
  box-shadow: 0 0 7px -3px #ffd33a;
  border-color: #ffd33a;
}
.c-input:focus {
  box-shadow: 0 0 7px -3px #13cfce;
  border-color: #13cfce;
}
textarea.c-input {
  display: block;
  padding: 16px;
  min-height: 156px;
  line-height: 24px;
  resize: vertical;
}

.c-language {
  position: relative;
}

.c-language__button {
  font-size: 0.9375rem;
  line-height: 1.6;
  border-radius: 4px;
  display: flex;
  position: relative;
  width: 100%;
  padding: 8px;
  text-align: left;
  background: transparent;
  color: #2C2C2C;
  border: none;
  -webkit-appearance: none;
          appearance: none;
  transition: background-color 150ms, box-shadow 150ms;
}
.c-language__button:focus {
  outline: none;
}

.c-language__icon {
  flex: none;
  pointer-events: none;
}

.c-language__label {
  margin-left: 4px;
  font-weight: bold;
}

.c-language__dropdown {
  position: absolute;
  right: 0;
  top: 100%;
  min-width: 100%;
  margin: 0;
  opacity: 0;
  list-style: none;
  border-radius: 4px;
  box-shadow: 0 0 12px 1px rgba(0, 0, 0, 0.15);
  pointer-events: none;
  transform: translate3d(0, -5px, 0);
  transition: opacity 300ms, transform 300ms;
}
.c-language:hover .c-language__dropdown {
  opacity: 1;
  pointer-events: all;
  transform: translate3d(0, 0, 0);
}

.c-language__item {
  overflow: hidden;
  background-color: #FFFFFF;
}
.c-language__item:nth-child(even) {
  background-color: #efefef;
}
.c-language__item:first-child {
  border-radius: 4px 4px 0 0;
}
.c-language__item:last-child {
  border-radius: 0 0 4px 4px;
}
.c-language__item:first-child:last-child {
  border-radius: 4px;
}

.c-language__link {
  display: block;
  padding: 4px 8px;
  text-align: center;
  font-weight: bold;
  text-decoration: none;
  color: #1D1D1D;
  transition: background-color 300ms;
}
.c-language__link:hover {
  color: #FFFFFF;
  background-color: #656565;
}

.c-nav {
  height: 100%;
  padding: 0;
}

.c-nav__list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-left: 0;
  padding: 0;
  list-style: none;
}

.c-nav__item {
  font-size: 1rem;
  line-height: 1.5;
  white-space: nowrap;
  margin-right: 2%;
}
.c-nav__item:last-child {
  margin-right: 0;
}

.c-nav__link {
  position: relative;
  padding: 4px;
  color: #2C2C2C;
  text-decoration: none;
  transition: color 150ms linear;
}
.c-nav__link::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  left: 4px;
  bottom: 1px;
  width: calc(100% - 8px);
  height: 2px;
  border-radius: 1px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: bottom right;
  transition: transform 300ms cubic-bezier(0.86, 0, 0.07, 1);
}
.c-nav__link:hover {
  color: #1D1D1D;
}
.c-nav__link:hover::before {
  transform: scaleX(1);
  transform-origin: bottom left;
}
.is-active.c-nav__item .c-nav__link {
  font-weight: bold;
  color: #000000;
}
.is-active.c-nav__item .c-nav__link::before {
  transform: scaleX(1);
  transform-origin: bottom left;
  background-color: #000000;
}
.c-nav__link:focus {
  outline-color: #13cfce;
}

/*
 * Page title
 */
.c-page-title {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  padding-top: 32px;
  padding-bottom: 32px;
  color: #2C2C2C;
}

@media screen and (min-width: 840px) {
  .c-page-title__lead {
    margin-top: -16px;
    margin-bottom: 16px;
  }
}

.c-page-title__heading {
  font-size: 2.5rem;
  line-height: 1;
  line-height: 1.3;
}

.c-pagination {
  border-radius: 8px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-left: 0;
  list-style: none;
  overflow: hidden;
  border: 1px solid #1D1D1D;
}

.c-pagination__item {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 839px) {
  .c-pagination__item {
    display: none;
  }
  .c-pagination__item:first-child, .c-pagination__item:last-child, .c-pagination__item.is-last-page, .c-pagination__item.is-active {
    display: flex;
  }
  .c-pagination__item.is-last-page {
    pointer-events: none;
  }
}
.c-pagination__item + .c-pagination__item {
  border-left: 1px solid;
  border-color: inherit;
}

.c-pagination__text,
.c-pagination__link,
.c-pagination__prev,
.c-pagination__next {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 48px;
  min-height: 48px;
  padding: 8px;
}

.c-pagination__text {
  color: #1D1D1D;
  opacity: 0.35;
}

.c-pagination__link {
  color: #1D1D1D;
  text-decoration: none;
  transition: color 200ms, background-color 200ms;
}
.c-pagination__link:hover {
  color: #000000;
  background: #F8F8F8;
}
.is-active > .c-pagination__link {
  box-shadow: inset 0 0 10px -5px #1D1D1D;
  font-weight: bold;
  color: #1D1D1D;
  cursor: default;
}

.c-pagination__prev,
.c-pagination__next {
  transition: background 200ms;
  transform: rotate(0.75turn);
}
.c-pagination__prev.is-inactive,
.c-pagination__next.is-inactive {
  color: #cdcdcd;
  background: transparent;
}

.c-pagination__prev {
  transform: rotate(0.25turn);
}

.c-person__picture {
  width: 100%;
  flex: auto;
  display: block;
}

.c-person__img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  background-color: #efefef;
}

.c-person__info {
  padding: 16px;
  background-color: #cdcdcd;
}

.c-person__title {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  color: #4a4a4a;
}

.c-person__subtitle {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #656565;
}

.c-projector {
  position: relative;
  height: 100%;
  max-width: 576px;
  margin: 0 auto;
}

.c-projector__figure {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  height: 100%;
}

.c-projector__caption {
  font-size: 0.9375rem;
  line-height: 1.6;
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
  -webkit-user-select: text;
      -ms-user-select: text;
          user-select: text;
  margin-top: 8px;
  color: #999999;
}

.c-projector__picture {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
  -ms-grid-row-align: end;
      align-self: end;
  height: 100%;
  display: block;
  background-color: #F8F8F8;
  opacity: 0;
  transition: opacity 500ms;
}
.c-projector__picture.is-active {
  opacity: 1;
}

.c-projector__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-color: #efefef;
}
@media screen and (max-width: 839px) {
  .c-projector__img {
    max-height: 78vh;
  }
}

.c-projector__control {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
  -ms-grid-row-align: end;
      align-self: end;
  margin-bottom: 8px;
  margin-right: 8px;
}

.c-servicepoint {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  margin-top: -16px;
}

.c-servicepoint__image {
  max-width: 176px;
  flex: 0;
  margin-top: 16px;
  margin-right: 16px;
  border-radius: 50%;
}
@media screen and (max-width: 539px) {
  .c-servicepoint__image {
    width: 96px;
  }
}

.c-servicepoint__content {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  flex-grow: 1;
  flex-basis: 165px;
  margin-top: 16px;
}

.c-servicepoint__body {
  margin-top: 8px;
}

.c-servicepoint__data {
  font-size: 1.25rem;
  line-height: 1.6;
}

.c-servicepoint__footer {
  margin-top: 8px;
}

.c-servicepoint__heading {
  font-size: 1rem;
  line-height: 1.5;
  color: #656565;
  border-radius: 100%;
}

.c-sitemap__item {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  color: #656565;
}

.c-sitemap__link {
  display: block;
  padding: 4px 0;
  text-decoration: none;
}
.c-sitemap__link:hover {
  color: #1D1D1D;
  text-decoration: underline;
}

/*
 * Skip Link
 */
.c-skip-link {
  font-size: 0.9375rem;
  line-height: 1.6;
  position: fixed;
  top: -100vh;
  left: 50%;
  transform: translateX(-50%);
  color: #656565;
  text-decoration: none;
}
.c-skip-link:focus {
  outline-color: #13cfce;
  outline-offset: 2px;
  top: 5px;
  /* Now the link will appear */
}

.c-slide-indicator {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.c-slide-indicator__dot {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 30px;
  background-color: transparent;
  border: none;
  cursor: pointer;
  transition-property: background-color, opacity;
  transition-duration: 250ms;
}
.c-slide-indicator__dot:focus {
  outline: none;
}
.c-slide-indicator__dot:hover:not(.is-active), .c-slide-indicator__dot:focus:not(.is-active) {
  opacity: 0.5;
}
.c-slide-indicator__dot:before, .c-slide-indicator__dot:after {
  content: "";
  position: absolute;
  background-clip: content-box;
  transition-property: transform, background-color, opacity;
  transition-duration: 300ms;
  transition-timing-function: ease-in-out;
  border-radius: 100%;
}
.c-slide-indicator__dot:before {
  top: calc((30px - 8px) / 2);
  right: calc((30px - 8px) / 2);
  bottom: calc((30px - 8px) / 2);
  left: calc((30px - 8px) / 2);
  background-color: #FFFFFF;
}
.c-slide-indicator__dot:after {
  top: calc((30px - 12px) / 2);
  right: calc((30px - 12px) / 2);
  bottom: calc((30px - 12px) / 2);
  left: calc((30px - 12px) / 2);
  border: 1px solid #FFFFFF;
  transform: scale(1.4);
  opacity: 0;
}
.c-slide-indicator__dot.is-active:before {
  background-color: #000000;
  border-color: rgba(255, 255, 255, 0.9);
  transform: scale(0.75);
}
.c-slide-indicator__dot.is-active:after {
  opacity: 0.9;
  transform: scale(1);
}
.c-slide-indicator__dot:focus {
  opacity: 1 !important;
}
.c-slide-indicator__dot:focus:before {
  box-shadow: 0 0 0 2px black, 0 0 10px 1px white;
}
.c-slide-indicator__dot:focus:after {
  box-shadow: 0 0 0 2px black, 0 0 10px 1px white;
}

.c-slide-indicator__button {
  position: relative;
  border: none;
  background-color: #656565;
  color: #FFFFFF;
  height: 40px;
  width: 40px;
}
.c-slide-indicator__button + .c-slide-indicator__button {
  margin-left: 8px;
}
.c-slide-indicator__button[aria-label=previous] > svg {
  transform: rotate(90deg);
}
.c-slide-indicator__button[aria-label=next] > svg {
  transform: rotate(-90deg);
}
.c-slide-indicator__button:hover {
  cursor: pointer;
  background-color: #5b5b5b;
}
.c-slide-indicator__button:focus {
  outline: none;
  background-color: #5b5b5b;
}

.c-subnav {
  background-color: #F8F8F8;
  padding: 8.3333333333%;
}

.c-subnav__header {
  margin: 0;
}

.c-subnav__list {
  margin-top: 40px;
  list-style-type: none;
  margin-left: 0;
}

.c-subnav__link {
  position: relative;
  display: flex;
  padding: 8px 0;
  color: #656565;
  text-decoration: none;
  cursor: pointer;
  transition: color 250ms;
}
.c-subnav__link:hover {
  color: #1D1D1D;
}
.c-subnav__link:focus {
  outline-color: #13cfce;
}
.c-subnav__link::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-bottom: 1px solid #cdcdcd;
}

.c-subnav__icon {
  opacity: 0;
  align-items: center;
  margin-left: 16px;
  color: #cdcdcd;
  transform: translateX(-16px);
  transition: all 250ms ease-out;
}
.c-subnav__link:hover .c-subnav__icon {
  opacity: 1;
  transform: none;
  color: #1D1D1D;
}

.c-subnav__item.is-active .c-subnav__link {
  color: #000000;
  font-weight: bold;
}
.c-subnav__item.is-active .c-subnav__link::before {
  border-color: #1D1D1D;
  border-width: 2px;
}
.c-subnav__item.is-active .c-subnav__icon {
  opacity: 0;
}

.c-text-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #1D1D1D;
  padding: 0;
  /* 2 */
  background-color: transparent;
  /* 2 */
  border: none;
  /* 2 */
  cursor: pointer;
  text-decoration: none;
  transition: color 300ms;
}
.c-text-button:hover:not(:disabled) {
  color: #000000;
}
.c-text-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.c-text-button:focus {
  outline-color: #13cfce;
}

.c-text-button__text {
  font-size: 1rem;
  line-height: 1.5;
}

.c-text-button__icon {
  display: none;
  position: relative;
  margin-left: 8px;
  transition: transform 300ms;
}
.c-text-button:hover:not(:disabled) .c-text-button__icon {
  transform: translateX(3px);
}
.c-text-button--icon .c-text-button__icon {
  display: block;
}

.c-text-button--is-reversed .c-text-button__text {
  order: 2;
}
.c-text-button--is-reversed .c-text-button__icon {
  order: 1;
  top: 1px;
  margin-left: 0;
  margin-right: 8px;
  transform: rotate(0.5turn);
}
.c-text-button--is-reversed:hover:not(:disabled) .c-text-button__icon {
  transform: rotate(0.5turn) translateX(3px);
}

.c-trademark {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: color 150ms linear;
}

.c-trademark__text {
  display: flex;
  align-items: center;
  margin-right: 7px;
}

.c-trademark__love {
  display: inline-flex;
  background-image: url(/img/heart-sprite.png);
  background-position: right 1px;
  background-repeat: no-repeat;
  background-size: 2900%;
  cursor: pointer;
  width: 56px;
  height: 56px;
  margin: 0 -12px;
}

.c-trademark:hover {
  color: #E2264D;
}
.c-trademark:hover .komma-emblem {
  transform-origin: 12px 12px;
  animation: logo-spin 1.8s linear infinite;
}
.c-trademark:hover .c-trademark__love {
  animation: heartAnim 1.1s steps(28) forwards;
}

@keyframes heartAnim {
  from {
    background-position: left 1px;
  }
  to {
    background-position: right 1px;
  }
}
@keyframes logo-spin {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(-1turn);
  }
}
.c-video {
  position: relative;
  height: 0;
  width: 100%;
  padding-bottom: 56.25%;
  background-color: #efefef;
}

.c-video__iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  6 - ORGANISMS
 *  Large blocks composed of multiple components.
 =========================================================== */
/** ==========================================================================
 * Organisms
 * =========================================================================*/
.o-blog__heading {
  font-size: 2rem;
  line-height: 1.25;
  color: #2C2C2C;
}

.o-blog__article {
  position: relative;
}
.o-blog__article + .o-blog__article {
  margin-top: 32px;
}

.o-blog__link {
  display: block;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 150ms linear;
}
.o-blog__link::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: 2px solid #1D1D1D;
  transition: border 150ms linear;
}
.o-blog__link:hover {
  background-color: #F8F8F8;
}
.o-blog__link:hover::before {
  border-color: #cdcdcd;
}
.o-blog__link:focus {
  outline-color: #13cfce;
}
@media screen and (min-width: 840px) {
  .o-blog__link {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
}

.o-blog__body {
  flex-grow: 1;
  padding: 8.3333333333%;
}
@media screen and (min-width: 840px) {
  .o-blog__body {
    order: 1;
    padding: 48px 8.3333333333%;
  }
}

.o-blog__image {
  position: relative;
  width: 100%;
  padding-bottom: 55%;
}
@media screen and (min-width: 840px) {
  .o-blog__image {
    flex: none;
    order: 2;
    width: 25%;
    padding-bottom: 25%;
  }
}

.o-blog__bg-image {
  position: absolute;
  background-size: cover;
  background-position: center;
  top: 8.3333333333%;
  right: 8.3333333333%;
  width: calc(100% - 16.6666666667%);
  height: calc(100% - 8.3333333333%);
}
@media screen and (min-width: 840px) {
  .o-blog__bg-image {
    top: 8px;
    right: 8px;
    width: calc(100% - 16px);
    height: calc(100% - 16px);
  }
}

.o-blog__intro {
  margin-top: 24px;
}

.o-blog__timestamp {
  display: block;
  margin-top: 16px;
  color: #999999;
}

.o-blog__action {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 8px;
  color: #000000;
}

.o-blog__readmore {
  margin-right: 8px;
}

.o-blog__footer {
  margin-top: 32px;
  text-align: center;
}

.o-callout-bar {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  color: #2C2C2C;
  background-color: #F8F8F8;
  text-align: center;
}

.o-callout-bar__main {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc((100% / 14) * 12);
}
@media screen and (max-width: 1343px) {
  .o-callout-bar__main {
    padding-top: 6.25vw;
    padding-bottom: 6.25vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-callout-bar__main {
    padding-top: 96px;
    padding-bottom: 96px;
  }
}
@media screen and (max-width: 1343px) {
  .o-callout-bar__main > * + * {
    margin-top: 3.125vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-callout-bar__main > * + * {
    margin-top: 48px;
  }
}

.o-callout-bar__heading {
  font-size: 2rem;
  line-height: 1.25;
}

/* In the [$o-card-grid] map we define some settings:
 *
 * 'columns'.key 	=	number of items in a row
 * 'columns'.value 	= 	breakpoint size from which we want that number of items
 */
@media screen and (min-width: 740px) {
  .o-card-grid__main {
    display: flex;
    flex-wrap: wrap;
    margin: -16px;
  }
}
.o-card-grid__item {
  max-width: 444px;
  margin: 16px auto;
}
@media screen and (min-width: 740px) {
  .o-card-grid__item {
    flex: none;
    margin: 16px;
    flex-basis: calc(50% - (16px * 2));
  }
}
@media screen and (min-width: 1060px) {
  .o-card-grid__item {
    flex-basis: calc(33.3333333333% - (16px * 2));
  }
}

.o-content-personal {
  position: relative;
  background-color: #FFFFFF;
}
@media screen and (min-width: 840px) {
  .o-content-personal {
    display: flex;
  }
}

@media screen and (min-width: 840px) {
  .o-content-personal__description {
    width: 50%;
    padding-right: 8.3333333333%;
  }
}

@media screen and (max-width: 839px) {
  .o-content-personal__info {
    margin-top: 40px;
  }
}
@media screen and (min-width: 840px) {
  .o-content-personal__info {
    width: 50%;
  }
}

.o-cookie-bar {
  z-index: -1;
  position: fixed;
  bottom: 0;
  left: 0;
  justify-content: flex-start;
  align-items: center;
  height: 64px;
  width: 100%;
  background-color: #1D1D1D;
  box-shadow: 0 -4px 6px 0 rgba(0, 0, 0, 0.25);
  transition: transform 600ms ease-in-out;
}
body:not(.is-cookies-accepted) .o-cookie-bar {
  z-index: 9999;
  display: flex;
}
.o-cookie-bar.is-transitioning-out {
  display: flex;
  z-index: -1;
  pointer-events: none;
  transform: translateY(100%);
}

.o-cookie-bar__main {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 374px) {
  .o-cookie-bar__main {
    transform: scale(0.9);
  }
}

.o-cookie-bar__text {
  margin: 0;
  color: #FFFFFF;
}
@media screen and (max-width: 374px) {
  .o-cookie-bar__text {
    font-size: 0.875rem;
    line-height: 1.1428571429;
  }
}

.o-cookie-bar__link {
  color: inherit;
  transition: color 300ms;
}
.o-cookie-bar__link:hover {
  color: #efefef;
}

.o-cookie-bar__button {
  flex: none;
  margin-left: 40px;
}
@media screen and (max-width: 839px) {
  .o-cookie-bar__button {
    margin-left: 16px;
  }
}

.o-double-image {
  margin: -1px;
  text-align: center;
}
@media screen and (min-width: 1100px) {
  .o-double-image {
    display: flex;
  }
}

.o-double-image__picture {
  display: block;
  margin: 1px;
  order: 1;
}
@media screen and (min-width: 1100px) {
  .o-double-image__picture {
    width: 50%;
    display: flex;
    justify-content: flex-end;
  }
  .o-double-image__picture:last-child {
    justify-content: flex-start;
  }
}

.o-double-image__img {
  object-fit: cover;
  max-height: 85vh;
}

.o-double-image--is-reversed .o-double-image__picture {
  justify-content: flex-start;
}
.o-double-image--is-reversed .o-double-image__picture:last-child {
  order: 0;
  justify-content: flex-end;
}

.o-double-text {
  position: relative;
}
@media screen and (min-width: 840px) {
  .o-double-text {
    display: flex;
  }
}

.o-double-text__column + .o-double-text__column {
  margin-top: 40px;
}
@media screen and (min-width: 840px) {
  .o-double-text__column {
    margin-top: 0 !important;
    width: 50%;
    padding-right: 8.3333333333%;
  }
}

.o-footer {
  z-index: 20;
  background-color: #3b3b3b;
  color: #FFFFFF;
}

.o-footer__main {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc((100% / 14) * 12);
}
@media screen and (max-width: 1343px) {
  .o-footer__main {
    padding-top: 3.125vw;
    padding-bottom: 3.125vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-footer__main {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

.o-footer__brand {
  display: inline-block;
  transition: opacity 200ms linear;
}
.o-footer__brand:hover {
  opacity: 0.5;
}

@media screen and (max-width: 1343px) {
  .o-footer__columns {
    margin-top: 3.125vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-footer__columns {
    margin-top: 48px;
  }
}
@media screen and (min-width: 840px) {
  .o-footer__columns {
    display: flex;
  }
}

.o-footer__logo {
  width: 152px;
}

.o-footer__info > * + * {
  margin-top: 32px;
}
@media screen and (min-width: 840px) {
  .o-footer__info {
    width: 33.3333333333%;
  }
}

.o-footer__contact {
  list-style: none;
  margin: 24px 0 0 0;
}

@media screen and (min-width: 840px) {
  .o-footer__nav {
    display: flex;
    margin-left: 8.3333333333%;
    width: 58.3333333333%;
  }
}

.o-footer__list {
  list-style: none;
  margin: 0;
}
@media screen and (min-width: 840px) {
  .o-footer__list {
    width: 42.8571428571%;
  }
}
.o-footer__list:nth-child(n+2) {
  margin-top: 32px;
}
@media screen and (min-width: 840px) {
  .o-footer__list:nth-child(n+2) {
    margin-top: 0;
    margin-left: 14.2857142857%;
  }
}

.o-footer__link {
  display: inline-block;
  position: relative;
  z-index: 0;
  text-decoration: none;
  cursor: pointer;
  color: #FFFFFF;
}
.o-footer__link::before {
  pointer-events: none;
  border-radius: 2px;
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: -8px;
  right: -8px;
  transform: scaleX(0);
  transform-origin: bottom left;
  background-color: rgba(255, 255, 255, 0.05);
  transition: all 250ms ease-out;
}
.o-footer__link:hover::before {
  transform-origin: bottom right;
  transform: scaleX(1);
}
.o-footer__link:focus {
  outline-color: #13cfce;
}

.o-footer__social {
  display: flex;
  list-style: none;
  margin: 32px 0 0;
}

.o-footer__channel {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  margin-right: 16px;
}

.o-footer__icon {
  flex: auto;
  display: block;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  transition-property: opacity;
  transition-duration: 300ms;
}
.facebook .o-footer__icon {
  background-image: url("/img/social/facebook.svg");
  height: 21px;
}
.instagram .o-footer__icon {
  background-image: url("/img/social/instagram.svg");
}
.twitter .o-footer__icon {
  background-image: url("/img/social/twitter.svg");
  height: 20px;
}
.linkedin .o-footer__icon {
  background-image: url("/img/social/linkedin.svg");
  height: 18px;
}
.o-footer__icon:hover {
  opacity: 0.5;
}
.o-footer__icon:focus {
  outline-color: #13cfce;
}

.o-header {
  z-index: 50;
  background-color: #cdcdcd;
  position: relative;
  padding: 32px 0;
}
.o-header.is-sticky {
  opacity: 0;
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 32px;
  padding-bottom: 32px;
  box-shadow: 0 -5px 30px black;
  transform: translateY(-100%);
  transition-property: transform, opacity;
  transition-duration: 300ms;
  transition-delay: 0ms, 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
}
@media screen and (min-width: 1100px) {
  .o-header.is-sticky {
    display: none;
  }
}
.is-sticky-header-visible .o-header.is-sticky {
  opacity: 1;
  transform: none;
  transition-delay: 0ms;
}

.o-header__main {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc((100% / 14) * 12);
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.o-header__logo {
  flex: none;
}
.o-header__logo:focus {
  outline-offset: 2px;
  outline-color: #13cfce;
}

.o-header__img {
  height: 48px;
}

.o-header__nav {
  width: 100%;
  margin-left: 48px;
}
@media screen and (max-width: 1099px) {
  .o-header__nav {
    display: none;
  }
}

.o-header__language {
  margin-left: 16px;
}
@media screen and (max-width: 1099px) {
  .o-header__language {
    margin-left: auto;
  }
}

@media screen and (min-width: 1100px) {
  .o-header__toggle {
    display: none;
  }
}

.o-map {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 55%;
}

.o-map__inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.o-overlay-menu {
  z-index: 100;
  display: flex;
  flex-direction: column;
  position: fixed;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  background-color: #1D1D1D;
  opacity: 0;
  transform: translateX(120vw);
  transition-property: transform, opacity;
  transition-duration: 450ms;
  transition-timing-function: cubic-bezier(0.8, 0.2, 0.2, 0.8);
  transition-delay: 0ms, 450ms;
}
.is-overlay-menu-active .o-overlay-menu {
  opacity: 1;
  transform: none;
  transition-delay: 100ms, 0ms;
}
.o-overlay-menu::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: -120vw;
  width: 120vw;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  pointer-events: none;
  opacity: 0;
  transition-property: opacity;
  transition-duration: 100ms;
  transition-delay: 450ms;
  transition-timing-function: linear;
}
.is-overlay-menu-active .o-overlay-menu::before {
  opacity: 1;
  transition-delay: 0ms;
}
@media screen and (min-width: 1100px) {
  .o-overlay-menu {
    display: none;
  }
}

.o-overlay-menu__bar {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc((100% / 14) * 12);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 32px;
  padding-bottom: 32px;
}

.o-overlay-menu__img {
  height: 48px;
}

.o-overlay-menu__toggle {
  transform: rotate(-0.5turn);
  transition: transform 600ms ease-out;
  transition-delay: 200ms;
}
.is-overlay-menu-active .o-overlay-menu__toggle {
  transform: none;
}

.o-overlay-menu__nav {
  margin-top: 8px;
}

.o-overlay-menu__list {
  margin-left: 0;
  list-style: none;
}

.o-overlay-menu__item + .o-overlay-menu__item {
  border-top: 1px solid #656565;
}

.o-overlay-menu__link {
  font-size: 1.25rem;
  line-height: 1.6;
  display: block;
  padding: 12px 7.1428571429%;
  color: #FFFFFF;
  text-decoration: none;
  opacity: 0;
  transform: translateX(-8.3333333333%) scale(1.2);
  transform-origin: top left;
  transition: all 300ms ease-in;
  transition-delay: 0ms;
}
.o-overlay-menu__link:hover {
  background-color: #171717;
}
.o-overlay-menu__link:focus {
  outline-offset: 2px;
  outline-color: #FFFFFF;
}
.is-overlay-menu-active .o-overlay-menu__link {
  opacity: 1;
  transform: none;
  transition: all 200ms ease-out;
}
.is-overlay-menu-active .o-overlay-menu__item:nth-child(1) .o-overlay-menu__link {
  transition-delay: 495ms;
}

.is-overlay-menu-active .o-overlay-menu__item:nth-child(2) .o-overlay-menu__link {
  transition-delay: 540ms;
}

.is-overlay-menu-active .o-overlay-menu__item:nth-child(3) .o-overlay-menu__link {
  transition-delay: 585ms;
}

.is-overlay-menu-active .o-overlay-menu__item:nth-child(4) .o-overlay-menu__link {
  transition-delay: 630ms;
}

.is-overlay-menu-active .o-overlay-menu__item:nth-child(5) .o-overlay-menu__link {
  transition-delay: 675ms;
}

.is-overlay-menu-active .o-overlay-menu__item:nth-child(6) .o-overlay-menu__link {
  transition-delay: 720ms;
}

.is-overlay-menu-active .o-overlay-menu__item:nth-child(7) .o-overlay-menu__link {
  transition-delay: 765ms;
}

.is-overlay-menu-active .o-overlay-menu__item:nth-child(8) .o-overlay-menu__link {
  transition-delay: 810ms;
}

.is-overlay-menu-active .o-overlay-menu__item:nth-child(9) .o-overlay-menu__link {
  transition-delay: 855ms;
}

.is-overlay-menu-active .o-overlay-menu__item:nth-child(10) .o-overlay-menu__link {
  transition-delay: 900ms;
}

/* In the [$o-partners] map we define some settings:
 *
 * 'columns'.key 	=	number of items in a row
 * 'columns'.value 	= 	breakpoint size from which we want that number of items
 */
@media screen and (min-width: 320px) {
  .o-partners__list {
    display: flex;
    flex-wrap: wrap;
    margin: -4%;
  }
}

.o-partners__item {
  max-width: 444px;
  margin: 4% auto;
  list-style-type: none;
}
@media screen and (min-width: 320px) {
  .o-partners__item {
    flex: none;
    margin: 4%;
    flex-basis: calc(50% - (4% * 2));
  }
}
@media screen and (min-width: 620px) {
  .o-partners__item {
    flex-basis: calc(33.3333333333% - (4% * 2));
  }
}
@media screen and (min-width: 860px) {
  .o-partners__item {
    flex-basis: calc(25% - (4% * 2));
  }
}
@media screen and (min-width: 1080px) {
  .o-partners__item {
    flex-basis: calc(20% - (4% * 2));
  }
}

.o-partners__logo {
  display: flex;
  align-items: center;
  height: 100%;
  transition: opacity 150ms linear;
}
.o-partners__logo:hover {
  opacity: 0.75;
}

.o-partners__figure {
  display: flex;
  align-items: center;
}

.o-partners__img {
  display: block;
  width: 100%;
  object-fit: contain;
}

.o-quote {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc((100% / 14) * 12);
}

@media screen and (min-width: 840px) {
  .o-quote {
    display: flex;
  }
}

.o-quote__body > * + * {
  margin-top: 24px;
}
@media screen and (min-width: 840px) {
  .o-quote__body {
    width: 41.6666666667%;
    margin-left: 8.3333333333%;
  }
}

.o-quote__picture {
  display: block;
}
@media screen and (max-width: 839px) {
  .o-quote__picture {
    margin-top: 32px;
  }
}
@media screen and (min-width: 840px) {
  .o-quote__picture {
    width: 33.3333333333%;
    margin-left: 8.3333333333%;
    margin-right: 8.3333333333%;
  }
}

.o-quote__img {
  display: block;
  margin: 0 auto;
}

.o-quote__text {
  font-size: 1.25rem;
  line-height: 1.6;
  quotes: "\201C" "\201D";
}
.o-quote__text::before {
  content: open-quote;
}
.o-quote__text::after {
  content: close-quote;
}

.o-quote__heading {
  font-size: 1rem;
  line-height: 1.5;
  color: #000000;
}
.o-quote__heading::before {
  content: "- ";
}

.o-quote__subheading {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #656565;
}

.o-testimonials__matrix {
  display: flex;
  flex-wrap: wrap;
  margin: -24px;
}

.o-testimonials__item {
  border-radius: 4px;
  flex: 0 1 100%;
  margin: 24px;
  padding-top: 40px;
  padding-bottom: 40px;
  background-color: #F8F8F8;
  box-shadow: 0 12.5px 10px rgba(0, 0, 0, 0.035), 0 100px 80px rgba(0, 0, 0, 0.07);
}
@media screen and (min-width: 800px) {
  .o-testimonials__item {
    flex-basis: calc(50% - 48px);
  }
}

.o-testimonials__body {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-top: 0;
  padding-right: 40px;
}

.o-testimonials__picture {
  display: block;
  flex-grow: 1;
  flex-basis: 25%;
  margin-bottom: 24px;
  margin-left: 40px;
}

.o-testimonials__content {
  flex-grow: 9999;
  flex-basis: 12em;
  margin-left: 24px;
}

.o-testimonials__author {
  margin-top: 24px;
}

.o-subfooter {
  z-index: 10;
  background-color: #2C2C2C;
  color: #FFFFFF;
}

.o-subfooter__main {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc((100% / 14) * 12);
  font-size: 0.9375rem;
  line-height: 1.6;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  padding-top: 8px;
  padding-bottom: 8px;
}

.o-subfooter__copyright {
  display: flex;
  flex-wrap: wrap;
  margin-top: 8px;
  margin-bottom: 8px;
  margin-right: 32px;
}

.o-subfooter__nav {
  margin-right: auto;
  margin-top: 8px;
  margin-bottom: 8px;
}

.o-subfooter__list {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  margin: 0;
}

.o-subfooter__item {
  margin-right: 32px;
  white-space: nowrap;
}

.o-subfooter__link {
  color: #FFFFFF;
  text-decoration: none;
  transition: color 200ms;
}
.o-subfooter__link:hover {
  color: #cdcdcd;
}
.o-subfooter__link:focus {
  outline-color: #13cfce;
}

.o-subfooter__trademark {
  margin-top: 8px;
  margin-bottom: 8px;
}

/*
 * On small screens the content is stacked, without controls
 * When the screen is wide enough we add the controls
 * and show only the chosen 'slide content'
 */
.o-tabs {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc((100% / 14) * 12);
}

@media screen and (max-width: 839px) {
  .o-tabs__controls {
    display: none;
  }
}
@media screen and (min-width: 840px) {
  .o-tabs__controls {
    display: flex;
    align-items: center;
  }
}

.o-tabs__button {
  font-size: 1rem;
  line-height: 1.5;
  border: none;
  padding: 16px 32px;
  min-height: 48px;
  color: #3b3b3b;
  cursor: pointer;
  transition: all 200ms linear;
}
.o-tabs__button:hover {
  color: #000000;
  background-color: #F8F8F8;
}
.o-tabs__button.is-active {
  color: #000000;
  background-color: #efefef;
}
.o-tabs__button:focus {
  outline: none;
  border-color: #13cfce;
}
.o-tabs__button:focus:not(.is-active):not(:active) {
  box-shadow: 0 0 5px 3px rgba(19, 207, 206, 0.1);
}

@media screen and (min-width: 840px) {
  .o-tabs__container {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr;
    grid-template-rows: 1fr;
    padding: 48px 32px;
    background-color: #efefef;
  }
}

@media screen and (max-width: 839px) {
  .o-tabs__content + .o-tabs__content {
    margin-top: 40px;
  }
}
@media screen and (min-width: 840px) {
  .o-tabs__content {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
    opacity: 0;
    z-index: 0;
    pointer-events: none;
    transition: opacity 200ms linear;
  }
  .o-tabs__content.is-active {
    opacity: 1;
    z-index: 1;
    pointer-events: all;
  }
}

.o-tabs__label {
  font-size: 0.875rem;
  line-height: 1.1428571429;
  display: block;
  padding-bottom: 8px;
  text-transform: uppercase;
  color: #000000;
}
@media screen and (min-width: 840px) {
  .o-tabs__label {
    display: none;
  }
}

/* In the [$o-team] map we define some settings:
 *
 * 'columns'.key 	=	number of items in a row
 * 'columns'.value 	= 	breakpoint size from which we want that number of items
 */
.o-team {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc((100% / 14) * 12);
}

@media screen and (min-width: 524px) {
  .o-team__matrix {
    display: flex;
    flex-wrap: wrap;
    margin: -16px;
  }
}
.o-team__item {
  max-width: 320px;
  margin: 16px auto;
}
@media screen and (min-width: 524px) {
  .o-team__item {
    flex: none;
    margin: 16px;
    flex-basis: calc(50% - (16px * 2));
  }
}
@media screen and (min-width: 784px) {
  .o-team__item {
    flex-basis: calc(33.3333333333% - (16px * 2));
  }
}
@media screen and (min-width: 1190px) {
  .o-team__item {
    flex-basis: calc(25% - (16px * 2));
  }
}

.o-text-image {
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc((100% / 14) * 12);
  position: relative;
}
@media screen and (min-width: 840px) {
  .o-text-image {
    display: flex;
  }
}

.o-text-image__description {
  margin-bottom: 40px;
}
@media screen and (min-width: 840px) {
  .o-text-image__description {
    width: 50%;
    margin-bottom: 0;
  }
}

@media screen and (min-width: 840px) {
  .o-text-image__visual {
    width: 41.6666666667%;
    margin-left: 8.3333333333%;
  }
}

@media screen and (min-width: 840px) {
  .o-text-image--is-reversed {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 840px) {
  .o-text-image--is-reversed .o-text-image__visual {
    margin-left: 0;
    margin-right: 8.3333333333%;
  }
}

.o-vacancies {
  margin: 0;
  list-style: none;
}

.o-vacancies__item + .o-vacancies__item {
  margin-top: 16px;
}

.o-vacancies__link {
  font-size: 1.25rem;
  line-height: 1.6;
  display: block;
  padding: 32px;
  border: 2px solid #1D1D1D;
  color: #1D1D1D;
  text-decoration: none;
  transition: all 200ms;
}
.o-vacancies__link:hover {
  border-color: #cdcdcd;
  background-color: #efefef;
}

/*  7 - Templates
 *  Override styling for a specific template
 =========================================================== */
/** ==========================================================================
 * Templates
 * =========================================================================*/
/*  8 - SCOPES
 *  Elements and classes that are scoped by a parent class
 =========================================================== */
/**
 * All text elements that can be added by the user through a CMS
 */
.s-text h2, .s-text h3, .s-text h4 {
  color: #2C2C2C;
}
.s-text > * + * {
  margin-top: 32px;
}
.s-text > :first-child {
  margin-top: 0 !important;
}
.s-text > * + [class*=c-] {
  margin-top: 40px;
}
.s-text > ul:not([class]) {
  list-style: none;
}
.s-text > ul:not([class]) > li {
  position: relative;
  margin-left: -1.125em;
  padding-left: 1.125em;
}
.s-text > ul:not([class]) > li::before {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  content: "\2022";
  position: absolute;
  top: -4px;
  left: 0;
}
.s-text > ol:not([class]) {
  list-style: none;
  counter-reset: ol-counter;
}
.s-text > ol:not([class]) > li {
  counter-increment: ol-counter;
  position: relative;
  margin-left: -1.125em;
  padding-left: 1.8em;
}
.s-text > ol:not([class]) > li::before {
  content: counter(ol-counter) ". ";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.275em;
  text-align: right;
}

/*  9 - LIBRARIES
 *  Styling we implement from third parties
 =========================================================== */
/*  10 - UTILITIES
 *  High-specificity, very explicit selectors.
 *  Overrides and helper classes.
 =========================================================== */
/** =====================================================================================
 *  Color
 ===================================================================================== */
/**
 * Here we print out all our helper classes for our defined colors
 * Based on these articles:
 * - http://erskinedesign.com/blog/friendlier-colour-names-sass-maps/
 * - https://blog.atechmedia.com/css-for-multiple-themes/
 * Output is in the form of:

   .u-color-primary {
      color: #bada55;
   }

  .u-bg-neutral--900 {
    background-color: #decaff;
  }
 */
.u-color-neutral--0 {
  color: #FFFFFF;
}

.u-bg-neutral--0 {
  background-color: #FFFFFF;
}

.u-color-neutral--100 {
  color: #F8F8F8;
}

.u-bg-neutral--100 {
  background-color: #F8F8F8;
}

.u-color-neutral--200 {
  color: #efefef;
}

.u-bg-neutral--200 {
  background-color: #efefef;
}

.u-color-neutral--300 {
  color: #cdcdcd;
}

.u-bg-neutral--300 {
  background-color: #cdcdcd;
}

.u-color-neutral--400 {
  color: #999999;
}

.u-bg-neutral--400 {
  background-color: #999999;
}

.u-color-neutral--500 {
  color: #656565;
}

.u-bg-neutral--500 {
  background-color: #656565;
}

.u-color-neutral--600 {
  color: #4a4a4a;
}

.u-bg-neutral--600 {
  background-color: #4a4a4a;
}

.u-color-neutral--700 {
  color: #3b3b3b;
}

.u-bg-neutral--700 {
  background-color: #3b3b3b;
}

.u-color-neutral--800 {
  color: #2C2C2C;
}

.u-bg-neutral--800 {
  background-color: #2C2C2C;
}

.u-color-neutral--900 {
  color: #1D1D1D;
}

.u-bg-neutral--900 {
  background-color: #1D1D1D;
}

.u-color-neutral--1000 {
  color: #000000;
}

.u-bg-neutral--1000 {
  background-color: #000000;
}

.u-color-feedback--focus {
  color: #13cfce;
}

.u-bg-feedback--focus {
  background-color: #13cfce;
}

.u-color-feedback--action {
  color: #4079B8;
}

.u-bg-feedback--action {
  background-color: #4079B8;
}

.u-color-feedback--warning {
  color: #ffd33a;
}

.u-bg-feedback--warning {
  background-color: #ffd33a;
}

.u-placeholder-image {
  height: 100% !important;
  width: 100% !important;
  object-fit: cover !important;
}

.u-text-align-center {
  text-align: center !important;
}

.u-list {
  list-style: none;
  margin-left: 0;
}

.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  overflow: hidden;
}

.u-hidden {
  display: none !important;
}

@media screen and (max-width: 839px) {
  .u-hidden\@s-down {
    display: none !important;
  }
}
@media screen and (min-width: 840px) {
  .u-hidden\@m-up {
    display: none !important;
  }
}
@media screen and (max-width: 1151px) {
  .u-hidden\@m-down {
    display: none !important;
  }
}
@media screen and (min-width: 1152px) {
  .u-hidden\@l-up {
    display: none !important;
  }
}
@media screen and (max-width: 1343px) {
  .u-hidden\@l-down {
    display: none !important;
  }
}
/*
* If you need to make a quick fix, you can do it here.
* Later when you have the time, you can move the fix into the correct place in the structure
*/
.u-spacing-m0 {
  margin: 0px !important;
}

.u-spacing-mt0 {
  margin-top: 0px !important;
}

.u-spacing-mr0 {
  margin-right: 0px !important;
}

.u-spacing-mb0 {
  margin-bottom: 0px !important;
}

.u-spacing-ml0 {
  margin-left: 0px !important;
}

.u-spacing-p0 {
  padding: 0px !important;
}

.u-spacing-pt0 {
  padding-top: 0px !important;
}

.u-spacing-pr0 {
  padding-right: 0px !important;
}

.u-spacing-pb0 {
  padding-bottom: 0px !important;
}

.u-spacing-pl0 {
  padding-left: 0px !important;
}

.u-spacing-m1 {
  margin: 8px !important;
}

.u-spacing-mt1 {
  margin-top: 8px !important;
}

.u-spacing-mr1 {
  margin-right: 8px !important;
}

.u-spacing-mb1 {
  margin-bottom: 8px !important;
}

.u-spacing-ml1 {
  margin-left: 8px !important;
}

.u-spacing-p1 {
  padding: 8px !important;
}

.u-spacing-pt1 {
  padding-top: 8px !important;
}

.u-spacing-pr1 {
  padding-right: 8px !important;
}

.u-spacing-pb1 {
  padding-bottom: 8px !important;
}

.u-spacing-pl1 {
  padding-left: 8px !important;
}

.u-spacing-m2 {
  margin: 16px !important;
}

.u-spacing-mt2 {
  margin-top: 16px !important;
}

.u-spacing-mr2 {
  margin-right: 16px !important;
}

.u-spacing-mb2 {
  margin-bottom: 16px !important;
}

.u-spacing-ml2 {
  margin-left: 16px !important;
}

.u-spacing-p2 {
  padding: 16px !important;
}

.u-spacing-pt2 {
  padding-top: 16px !important;
}

.u-spacing-pr2 {
  padding-right: 16px !important;
}

.u-spacing-pb2 {
  padding-bottom: 16px !important;
}

.u-spacing-pl2 {
  padding-left: 16px !important;
}

.u-spacing-m3 {
  margin: 24px !important;
}

.u-spacing-mt3 {
  margin-top: 24px !important;
}

.u-spacing-mr3 {
  margin-right: 24px !important;
}

.u-spacing-mb3 {
  margin-bottom: 24px !important;
}

.u-spacing-ml3 {
  margin-left: 24px !important;
}

.u-spacing-p3 {
  padding: 24px !important;
}

.u-spacing-pt3 {
  padding-top: 24px !important;
}

.u-spacing-pr3 {
  padding-right: 24px !important;
}

.u-spacing-pb3 {
  padding-bottom: 24px !important;
}

.u-spacing-pl3 {
  padding-left: 24px !important;
}

.u-spacing-m4 {
  margin: 32px !important;
}

.u-spacing-mt4 {
  margin-top: 32px !important;
}

.u-spacing-mr4 {
  margin-right: 32px !important;
}

.u-spacing-mb4 {
  margin-bottom: 32px !important;
}

.u-spacing-ml4 {
  margin-left: 32px !important;
}

.u-spacing-p4 {
  padding: 32px !important;
}

.u-spacing-pt4 {
  padding-top: 32px !important;
}

.u-spacing-pr4 {
  padding-right: 32px !important;
}

.u-spacing-pb4 {
  padding-bottom: 32px !important;
}

.u-spacing-pl4 {
  padding-left: 32px !important;
}

.u-spacing-m5 {
  margin: 40px !important;
}

.u-spacing-mt5 {
  margin-top: 40px !important;
}

.u-spacing-mr5 {
  margin-right: 40px !important;
}

.u-spacing-mb5 {
  margin-bottom: 40px !important;
}

.u-spacing-ml5 {
  margin-left: 40px !important;
}

.u-spacing-p5 {
  padding: 40px !important;
}

.u-spacing-pt5 {
  padding-top: 40px !important;
}

.u-spacing-pr5 {
  padding-right: 40px !important;
}

.u-spacing-pb5 {
  padding-bottom: 40px !important;
}

.u-spacing-pl5 {
  padding-left: 40px !important;
}

.u-spacing-m6 {
  margin: 48px !important;
}

.u-spacing-mt6 {
  margin-top: 48px !important;
}

.u-spacing-mr6 {
  margin-right: 48px !important;
}

.u-spacing-mb6 {
  margin-bottom: 48px !important;
}

.u-spacing-ml6 {
  margin-left: 48px !important;
}

.u-spacing-p6 {
  padding: 48px !important;
}

.u-spacing-pt6 {
  padding-top: 48px !important;
}

.u-spacing-pr6 {
  padding-right: 48px !important;
}

.u-spacing-pb6 {
  padding-bottom: 48px !important;
}

.u-spacing-pl6 {
  padding-left: 48px !important;
}

.u-spacing-m7 {
  margin: 56px !important;
}

.u-spacing-mt7 {
  margin-top: 56px !important;
}

.u-spacing-mr7 {
  margin-right: 56px !important;
}

.u-spacing-mb7 {
  margin-bottom: 56px !important;
}

.u-spacing-ml7 {
  margin-left: 56px !important;
}

.u-spacing-p7 {
  padding: 56px !important;
}

.u-spacing-pt7 {
  padding-top: 56px !important;
}

.u-spacing-pr7 {
  padding-right: 56px !important;
}

.u-spacing-pb7 {
  padding-bottom: 56px !important;
}

.u-spacing-pl7 {
  padding-left: 56px !important;
}

.u-spacing-m8 {
  margin: 64px !important;
}

.u-spacing-mt8 {
  margin-top: 64px !important;
}

.u-spacing-mr8 {
  margin-right: 64px !important;
}

.u-spacing-mb8 {
  margin-bottom: 64px !important;
}

.u-spacing-ml8 {
  margin-left: 64px !important;
}

.u-spacing-p8 {
  padding: 64px !important;
}

.u-spacing-pt8 {
  padding-top: 64px !important;
}

.u-spacing-pr8 {
  padding-right: 64px !important;
}

.u-spacing-pb8 {
  padding-bottom: 64px !important;
}

.u-spacing-pl8 {
  padding-left: 64px !important;
}

/* ==========================================================================
 * This grid can be turned on and off when you want to check
 * if everything is nice in place.
 * Set flag 'show_grid' to true in site.php
 * ========================================================================== */
.u-visible-grid {
  z-index: 10000;
  margin-left: auto;
  margin-right: auto;
  max-width: 1152px;
  width: calc((100% / 14) * 12);
  position: fixed;
  left: 0;
  right: 0;
  pointer-events: none;
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .u-visible-grid {
    padding: 0;
  }
}

.u-visible-grid__main {
  height: 100vh;
  background: repeating-linear-gradient(to right, rgba(38, 77, 217, 0.2), rgba(38, 77, 217, 0.2) 1px, transparent 1px, transparent 8.3333333333%), repeating-linear-gradient(to left, rgba(38, 77, 217, 0.2), rgba(38, 77, 217, 0.2) 1px, transparent 1px, transparent 100vw);
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zdHlsZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLmNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLmNvbmZpZy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLnR5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8xLVNldHRpbmdzL19zZXR0aW5ncy5icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLmNvbHVtbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLmZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvMi1Ub29scy9fdG9vbHMubWVkaWFRdWVyaWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvMi1Ub29scy9fdG9vbHMudG9vbGJveC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLnppbmRleC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzMtRWxlbWVudHMvX2VsZW1lbnRzLmJhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8zLUVsZW1lbnRzL19lbGVtZW50cy5oZWFkaW5ncy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzMtRWxlbWVudHMvX2VsZW1lbnRzLmxpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNC1MYXlvdXRzL19sYXlvdXRzLmJsb2NrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNC1MYXlvdXRzL19sYXlvdXRzLmNvbnRhaW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy80LUxheW91dHMvX2xheW91dHMuZGl2aWRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNC1MYXlvdXRzL19sYXlvdXRzLmZvcm0uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy80LUxheW91dHMvX2xheW91dHMucGFnZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5icmVhZGNydW1iLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmJ1dHRvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmNsb3NlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmZvcm1Hcm91cC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5mb3JtRmVlZGJhY2suc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuaGFtYnVyZ2VyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmhlYWRpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuaW5wdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMubGFuZ3VhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMubmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnBhZ2VUaXRsZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnBlcnNvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5wcm9qZWN0b3Iuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2VydmljZVBvaW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnNpdGVtYXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2tpcExpbmsuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2xpZGVJbmRpY2F0b3Iuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc3VibmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnRleHRCdXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMudHJhZGVtYXJrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnZpZGVvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuYmxvZy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuY2FsbG91dEJhci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuY2FyZEdyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmNvbnRlbnRQZXJzb25hbC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuY29va2llQmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5kb3VibGVJbWFnZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuZG91YmxlVGV4dC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLm1hcC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMub3ZlcmxheU1lbnUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnBhcnRuZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5xdW90ZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMudGVzdGltb25pYWxzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5zdWJmb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnRhYnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnRlYW0uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnRleHRJbWFnZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMudmFjYW5jaWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNy1UZW1wbGF0ZXMvX3RlbXBsYXRlcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzgtU2NvcGVzL19zY29wZXMudGV4dC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEwLVV0aWxpdGllcy9fdXRpbGl0aWVzLmNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEwLVV0aWxpdGllcy9fdXRpbGl0aWVzLmhlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8xMC1VdGlsaXRpZXMvX3V0aWxpdGllcy5oaWRkZW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8xMC1VdGlsaXRpZXMvX3V0aWxpdGllcy5zaGFtZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEwLVV0aWxpdGllcy9fdXRpbGl0aWVzLnNwYWNpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8xMC1VdGlsaXRpZXMvX3V0aWxpdGllcy52aXNpYmxlR3JpZC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFnQjtBQUNoQjs7Ozs7OztnRUFBQTtBQ0RBOzs7OytEQUFBO0FBcUNBOzs7Ozs7Ozs7Ozs7R0FBQTtBQ3JDQTs7OENBQUE7QUNBQTs7OztnRUFBQTtBQU1BOztHQUFBO0FBK0NBOztHQUFBO0FDckRBOztrREFBQTtBSmNBOzsrREFBQTtBS2RBOzsrRUFBQTtBQUlBOzs7SUFBQTtBQWtCQTs7O0lBQUE7QUFRQTs7SUFBQTtBQzlCQTs7Z0ZBQUE7QUFLQTs7Ozs7Ozs7O0dBQUE7QUNMQTtnREFBQTtBQ0FBOztzREFBQTtBQUtBOzs7Ozs7Ozs7O0dBQUE7QUFpQ0E7Ozs7R0FBQTtBQWVBO0FBT0E7QUFPQTtBQWtCQTs7Ozs7Ozs7Ozs7OztHQUFBO0FBK0JBOzs7Ozs7Ozs7Ozs7O0dBQUE7QUEwQkE7Ozs7Ozs7Ozs7Ozs7O0dBQUE7QUFnQkE7Ozs7R0FBQTtBQTBCQTs7O0dBQUE7QUFnQkE7O0dBQUE7QUFHQTs7R0FBQTtBQTRCQTs7R0FBQTtBQ3ZPQTs7O3dHQUFBO0FBaUJBOzs7OztHQUFBO0FUS0E7OytEQUFBO0FVdEJBOztnRkFBQTtBQUlBOzs7Ozs7R0FBQTtBQVFBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NWMktEOztBVXZLQTtFSlVNO0VBUkE7RUlBTDtFQUNBLGlCUGRtQjtFT2VuQixrQ1BnQ2M7RU8vQmQ7RUFDQTtFQUNBO0VBQ0E7Q1YyS0Q7O0FVdktBOzs7Ozs7R0FBQTtBQU9BO0VBQ0M7RUFDQTtFQUNBO0NWMEtEO0FVeEtDO0VBR0M7Q1Z3S0Y7O0FVbktBOztHQUFBO0FBR0E7RUFDQztFQUNBO0VBQ0E7RUFBbUI7Q1Z1S3BCOztBVW5LQTtHQUFBO0FBRUE7RUFDQztDVnNLRDs7QVVsS0E7Ozs7O0dBQUE7QUFNQTtFQUNDO0VBQXdCO0VBQ3hCO0VBQWM7RUFDZDtDVnVLRDs7QVVuS0E7OztHQUFBO0FBSUE7OztFQUdDO0NWc0tEOztBVWpLQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtDVm9LRDtBVWpLRTtFQUNDO0VBQ0E7RUFDQTtDVm1LSDtBVS9KQztFQUNDO0NWaUtGO0FVOUpDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q1ZnS0Y7O0FVekpBOzs7O0VBSUM7RUFDQTtDVjRKRDs7QVdyU0E7RUxnQ007RUFSQTtDTmtSTjs7QVd0U0E7RUw0Qk07RUFSQTtFS2xCTDtDWDBTRDs7QVd2U0E7RUx1Qk07RUFSQTtFS2JMO0NYMlNEOztBV3hTQTtFTGtCTTtFQVJBO0VLUkw7Q1g0U0Q7O0FXelNBO0VMYU07RUFSQTtFS0hMO0NYNlNEOztBWWxVQTs7eUZBQUE7QUFLQTs7R0FBQTtBQUlBOztFQUVDO0VBQ0E7RUFDQTtDWmtVRDs7QVkvVEE7RUFDQztDWmtVRDs7QVk3VEE7O0dBQUE7QUFLQzs7RUFFQztDWjhURjs7QUE3VEE7OytEQUFBO0FPU0M7RU1yQ0M7SUxxR0M7R1I0UEQ7Q0FDRjtBTzdUQztFTXJDQztJTDRHQztHUjBQRDtDQUNGOztBY3pXQTs7Z0ZBQUE7QUFLQTtFTjBNQztFQUNBO0VBR0M7RUFJQztDUjRKSDs7QU81VUM7RVF0Q0E7SUFDQztJQUNBO0dmc1hBO0NBQ0Y7QU9uVkM7RUMwSUU7SUFDQyxpQk96S1U7R2ZxWFo7Q0FDRjtBT3hWQztFUTNCQztJQUNDO0dmc1hEO0NBQ0Y7O0FnQnBZQTtFQUNDO0NoQnVZRDs7QWdCbFlDO0VBQ0M7Q2hCcVlGOztBZ0JoWUE7RUFDQztDaEJtWUQ7O0FnQjlYQTtFQUNDO0VBQ0E7RUFDQTtFQUFRO0VBQVM7RUFBVztFQUM1QjtDaEJvWUQ7O0FpQjFaQzs7Ozs7RUFBQTtBQVNEO0VBQ0M7RUFDQTtFQUNBO0VBQWM7Q2pCMlpmOztBaUJ2WkE7RUFDRTtDakIwWkY7O0FpQnRaQTtFUklDO0VRRkE7RUFDQTtDakJ5WkQ7O0FpQnJaQTtFQUNFO0VBQ0Q7RUFHQSxxQmZQNkI7RWVRN0I7Q2pCc1pEO0FpQnBaQztFQUNDO0NqQnNaRjs7QUFyWkE7OzsrREFBQTtBa0J0Q0E7OzhFQUFBO0FDQUE7RUFDQztDbkJxY0Q7O0FtQmxjQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NuQnFjRDs7QW1CamNBO0VBQ0M7RUFDQTtDbkJvY0Q7QW1CamNFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0NuQmtjSDs7QW1CN2JBO0VBQ0M7RUFDQTtDbkJnY0Q7QW1COWJDO0VBQ0M7Q25CZ2NGOztBb0JyZUE7RVpvSUU7RUZwR0k7RUFSQTtFY3JCTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQnllRDtBb0J2ZUM7RUFDQztFQUNBO0NwQnllRjtBb0J2ZUM7RUFDQztFQUNBO0NwQnllRjtBb0J2ZUM7RUFDQztFQUNBO0NwQnllRjtBb0J0ZUM7RUFDQztDcEJ3ZUY7O0FvQnBlQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NwQnVlRDtBb0JyZUM7RUFDQztDcEJ1ZUY7O0FvQmxlQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEJxZUQ7QW9CbmVDO0VBQ0M7Q3BCcWVGO0FvQmplQztFQUNDO0VBQ0E7Q3BCbWVGO0FvQmhlQztFQUNDO0VBQ0E7Q3BCa2VGOztBb0I3ZEE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQitkRDs7QXFCampCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JCb2pCRDs7QXFCaGpCQTtFQUNDO0VBQ0E7RUFDQTtDckJtakJEOztBcUIvaUJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3JCa2pCRDs7QXFCOWlCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckJpakJEO0FxQi9pQkM7RUFDQztDckJpakJGOztBc0JybEJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3RCd2xCRDtBc0J0bEJDO0VBQ0M7Q3RCd2xCRjtBc0JybEJDO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3RCc2xCRjtBc0JwbEJDO0VBQ0M7Q3RCc2xCRjtBc0JwbEJDO0VBQ0M7Q3RCc2xCRjtBc0JubEJDO0VBQ0M7Q3RCcWxCRjs7QXVCN25CQTtFakJnQ007RUFSQTtFaUJ0Qkw7RUFDQTtDdkJpb0JEOztBdUI3bkJBO0VBQ0M7Q3ZCZ29CRDtBdUI5bkJDO0VqQnNCSztFQVJBO0VpQlpKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2QmlvQkY7O0F3Qm5wQkE7RWxCZ0NNO0VBUkE7RUU0R0o7RWdCaklEO0VBQ0E7RUFDQTtFQUNBO0N4QnVwQkQ7QXdCcnBCQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0N4QnVwQkY7QXdCbnBCQztFQUNDO0N4QnFwQkY7O0F5QnRxQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekJ5cUJEO0F5QnZxQkM7RUFDQztDekJ5cUJGO0F5QnRxQkM7RUFHQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pCc3FCRjtBeUJucUJDO0VBQ0M7RUFDQTtDekJxcUJGO0F5QmxxQkM7RUFDQztFQUNBO0N6Qm9xQkY7QXlCaHFCRTtFQUNDO0N6QmtxQkg7QXlCaHFCRTtFQUVDO0N6QmlxQkg7QXlCNXBCRTtFQUNDO0N6QjhwQkg7QXlCNXBCRTtFQUNDO0VBQ0E7Q3pCOHBCSDtBeUI1cEJFO0VBQ0M7RUFDQTtDekI4cEJIOztBMEJudUJBO0VwQmdDTTtFQVJBO0VvQnRCTDtDMUJ1dUJEOztBMkJ0dUJBO0VyQjZCTTtFQVJBO0VFNEdKO0VtQjlIRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNCMHVCRDtBMkJ4dUJDO0VBQ0M7RUFDQTtDM0IwdUJGO0EyQnZ1QkM7RUFDQztFQUNBO0MzQnl1QkY7QTJCdHVCVTtFQUNSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNCd3VCRjs7QTRCcHdCQTtFQUNDO0M1QnV3QkQ7O0E0Qm53QkE7RXRCMkJNO0VBUkE7RUU0R0o7RW9CNUhEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7QzVCdXdCRDtBNEJyd0JDO0VBQ0M7QzVCdXdCRjs7QTRCbHdCQTtFQUNDO0VBQ0E7QzVCcXdCRDs7QTRCandCQTtFQUNDO0VBQ0E7QzVCb3dCRDs7QTRCaHdCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDNUJtd0JEO0E0Qmp3QkM7RUFDQztFQUNBO0VBQ0E7QzVCbXdCRjs7QTRCOXZCQTtFQUNDO0VBQ0E7QzVCaXdCRDtBNEIvdkJDO0VBQ0M7QzVCaXdCRjtBNEI5dkJDO0VBQ0M7QzVCZ3dCRjtBNEI3dkJDO0VBQ0M7QzVCK3ZCRjtBNEI1dkJDO0VBQ0M7QzVCOHZCRjs7QTRCenZCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M1QjR2QkQ7QTRCMXZCQztFQUNDO0VBQ0E7QzVCNHZCRjs7QTZCcjFCQTtFQUNDO0VBQ0E7QzdCdzFCRDs7QTZCcDFCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0J1MUJEOztBNkJuMUJBO0V2QmFNO0VBUkE7RXVCSEw7RUFDQTtDN0J1MUJEO0E2QnIxQkM7RUFDQztDN0J1MUJGOztBNkJsMUJBO0VBQ0M7RUFDQSxhQWhDb0I7RUFpQ3BCO0VBQ0E7RUFDQTtDN0JxMUJEO0E2Qm4xQkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLFVBMUNtQjtFQTJDbkI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0JxMUJGO0E2QmwxQkM7RUFDQztDN0JvMUJGO0E2QmwxQkU7RUFDQztFQUNBO0M3Qm8xQkg7QTZCLzBCQztFQUNDO0VBQ0E7QzdCaTFCRjtBNkIvMEJFO0VBQ0M7RUFDQTtFQUNBO0M3QmkxQkg7QTZCNzBCQztFQUNDO0M3QiswQkY7O0E4QjE1QkE7O0dBQUE7QUFLQTtFdEJ5TEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFc0IzTEE7RUFDQTtFQUNBO0M5Qis1QkQ7O0FPajRCQztFdUIxQkQ7SUFFRTtJQUNBO0c5Qjg1QkE7Q0FDRjs7QThCMTVCQTtFeEJXTTtFQVJBO0V3QkRMO0M5Qjg1QkQ7O0ErQnI3QkE7RXZCdUlFO0V1QnJJRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDL0J3N0JEOztBK0JwN0JBO0VBQ0M7RUFDQTtFQUNBO0MvQnU3QkQ7QU8vNUJDO0V3QjNCRDtJQU9FO0cvQnU3QkE7RStCcjdCQTtJQUlDO0cvQm83QkQ7RStCajdCQTtJQUNDO0cvQm03QkQ7Q0FDRjtBK0JoN0JDO0VBQ0M7RUFDQTtDL0JrN0JGOztBK0I3NkJBOzs7O0VBSUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MvQmc3QkQ7O0ErQjU2QkE7RUFDQztFQUNBO0MvQis2QkQ7O0ErQjM2QkE7RUFDQztFQUNBO0VBQ0E7Qy9CODZCRDtBK0I1NkJDO0VBQ0M7RUFDQTtDL0I4NkJGO0ErQjM2QkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDL0I2NkJGOztBK0J4NkJBOztFQUVDO0VBQ0E7Qy9CMjZCRDtBK0J6NkJDOztFQUNDO0VBQ0E7Qy9CNDZCRjs7QStCdjZCQTtFQUNDO0MvQjA2QkQ7O0FnQ3JnQ0E7RUFDQztFQUNBO0VBQ0E7Q2hDd2dDRDs7QWdDcGdDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NoQ3VnQ0Q7O0FnQ25nQ0E7RUFDQztFQUNBO0NoQ3NnQ0Q7O0FnQ2xnQ0E7RTFCV007RUFSQTtFMEJETDtDaENzZ0NEOztBZ0NsZ0NBO0UxQktNO0VBUkE7RTBCS0w7Q2hDc2dDRDs7QWlDbmlDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NqQ3NpQ0Q7O0FpQ2xpQ0E7RUFDQztFQUFBO0VBQ0E7RUFBQTtFQUNBO0VBQUE7RUFDQTtDakNxaUNEOztBaUNqaUNBO0UzQmdCTTtFQVJBO0UyQk5MO0VBQUE7RUFDQTtFQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtDakNxaUNEOztBaUNqaUNBO0VBQ0M7RUFBQTtFQUNBO0VBQUE7RUFDQTtNQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakNvaUNEO0FpQ2xpQ0M7RUFDQztDakNvaUNGOztBaUMvaENBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7Q2pDaWlDRDtBT3ppQ0M7RTBCR0Q7SUFRRTtHakNraUNBO0NBQ0Y7O0FpQzloQ0E7RUFDQztFQUFBO0VBQ0E7RUFBQTtFQUNBO01BQUE7RUFDQTtFQUNBO0NqQ2lpQ0Q7O0FrQzFsQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xDNmxDRDs7QWtDemxDQTtFQUtDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xDd2xDRDtBT3ZrQ0M7RTJCMUJEO0lBRUU7R2xDbW1DQTtDQUNGOztBa0N6bENBO0UxQm9LQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0UwQnRLQTtFQUNBO0VBQ0E7Q2xDZ21DRDs7QWtDNWxDQTtFQUNDO0NsQytsQ0Q7O0FrQzNsQ0E7RTVCUE07RUFSQTtDTittQ047O0FrQzNsQ0E7RUFDQztDbEM4bENEOztBa0MxbENBO0U1QmpCTTtFQVJBO0U0QjJCTDtFQUNBO0NsQzhsQ0Q7O0FtQ2xwQ0E7RTdCZ0NNO0VBUkE7RTZCdEJMO0NuQ3NwQ0Q7O0FtQ25wQ0E7RUFDQztFQUNBO0VBQ0E7Q25Dc3BDRDtBbUNwcENDO0VBQ0M7RUFDQTtDbkNzcENGOztBb0NscUNBOztHQUFBO0FBSUE7RTlCNEJNO0VBUkE7RThCbEJMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcENxcUNEO0FvQ25xQ0M7RUFDQztFQUNBO0VBQ0E7RUFBVTtDcENzcUNaOztBcUNqcUNBO0VBQ0M7RUFDQTtFQUNBO0NyQ29xQ0Q7O0FxQzlwQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JDaXFDRDtBcUMvcENDO0VBQ0M7Q3JDaXFDRjtBcUM5cENDO0VBRUM7Q3JDK3BDRjtBcUM1cENDO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUM7Q3JDNHBDSDtBcUN4cENDO0VBRUMsNEJBRFM7RUFFVCw4QkFGUztFQUdULCtCQUhTO0VBSVQsNkJBSlM7RUFLVDtDckN5cENGO0FxQ3RwQ0M7RUFFQyw2QkFEUztFQUVULCtCQUZTO0VBR1QsZ0NBSFM7RUFJVCw4QkFKUztFQUtUO0VBQ0E7RUFDQTtDckN1cENGO0FxQ25wQ0U7RUFDQztFQUNBO0VBQ0E7Q3JDcXBDSDtBcUNscENFO0VBQ0M7RUFDQTtDckNvcENIO0FxQ2hwQ0M7RUFDQztDckNrcENGO0FxQ2hwQ0U7RUFFQztDckNpcENIO0FxQzlvQ0U7RUFFQztDckMrb0NIOztBcUN2b0NBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyQzBvQ0Q7QXFDeG9DQztFQUNDO0NyQzBvQ0Y7QXFDdm9DQztFQUNDO0NyQ3lvQ0Y7QXFDdG9DQztFQUNDO0NyQ3dvQ0Y7QXFDcm9DQztFQUNDO0VBQ0E7Q3JDdW9DRjtBcUNwb0NDO0VBQ0M7RUFDQTtDckNzb0NGOztBc0NueENBO0VBQ0M7RUFDQTtDdENzeENEOztBc0NseENBO0VBQ0M7Q3RDcXhDRDs7QXNDanhDQTtFQUNDO0VBQ0E7RUFDQTtDdENveENEOztBc0NoeENBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3RDbXhDRDtBc0NqeENDO0VBQ0M7Q3RDbXhDRjtBc0NoeENDO0VBQ0M7Q3RDa3hDRjtBc0Mvd0NDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdENpeENGOztBc0M1d0NBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N0Qyt3Q0Q7QXNDN3dDQztFQUNDO0VBQ0E7RUFDQTtDdEMrd0NGOztBc0N4d0NDO0VBQ0M7RUFDQTtDdEMyd0NGO0FzQ3p3Q0U7RUFDQztFQUNBO0N0QzJ3Q0g7QXNDdndDQztFQUNDO0N0Q3l3Q0Y7O0F1Q3QxQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQVk7RUFDWjtFQUErQjtFQUMvQjtFQUFjO0VBQ2Q7RUFDQTtFQUNBO0N2QzQxQ0Q7QXVDMTFDQztFQUNDO0N2QzQxQ0Y7QXVDMTFDQztFQUNDO0VBQ0E7Q3ZDNDFDRjtBdUMxMUNDO0VBQ0M7Q3ZDNDFDRjs7QXVDdjFDQTtFakNPTTtFQVJBO0NONjFDTjs7QXVDdjFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0N2QzAxQ0Q7QXVDeDFDQztFQUNDO0N2QzAxQ0Y7QXVDdjFDQztFQUNDO0N2Q3kxQ0Y7O0F1Q2wxQ0M7RUFBdUI7Q3ZDczFDeEI7QXVDcjFDQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZDdTFDRjtBdUNyMUNDO0VBQ0M7Q3ZDdTFDRjs7QXdDaDVDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0N4Q201Q0Q7O0F3Qy80Q0E7RUFDQztFQUNBO0VBQ0E7Q3hDazVDRDs7QXdDOTRDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeENpNUNEOztBd0M1NENBO0VBQ0M7Q3hDKzRDRDtBd0M3NENDO0VBQ0M7RUFDQTtDeEMrNENGO0F3QzU0Q0M7RUFDQztDeEM4NENGOztBd0N6NENBO0VBQ0M7SUFDQztHeEM0NENBO0V3QzE0Q0Q7SUFDQztHeEM0NENBO0NBQ0Y7QXdDeDRDQTtFQUNDO0lBQU87R3hDMjRDTjtFd0MxNENEO0lBQUs7R3hDNjRDSjtDQUNGO0F5Q3I4Q0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6Q3U4Q0Y7O0F5Q244Q0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6Q3M4Q0Y7O0FBcjZDQTs7K0RBQUE7QTBDL0NBOzs4RUFBQTtBQ0FBO0VyQ2dDTTtFQVJBO0VxQ3RCTDtDM0M4OUNEOztBMkMxOUNBO0VBRUM7QzNDNDlDRDtBUXh6Q0U7RUFDQyxpQm1DdEtXO0MzQ2crQ2Q7O0EyQzM5Q0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtDM0M4OUNEO0EyQzU5Q0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUFRO0VBQVU7RUFBVztFQUM3QjtFQUNBO0MzQ2krQ0Y7QTJDOTlDQztFQUNDO0MzQ2crQ0Y7QTJDOTlDRTtFQUNDO0MzQ2crQ0g7QTJDNTlDQztFQUNDO0MzQzg5Q0Y7QU8zOUNDO0VvQzNCRDtJQTRCRTtJQUNBO0lBQ0E7RzNDODlDQTtDQUNGOztBMkMxOUNBO0VBQ0M7RUFDQTtDM0M2OUNEO0FPditDQztFb0NRRDtJQUtFO0lBQ0E7RzNDODlDQTtDQUNGOztBMkMxOUNBO0VBQ0M7RUFDQTtFQUNBO0MzQzY5Q0Q7QU9uL0NDO0VvQ21CRDtJQU1FO0lBQ0E7SUFDQTtJQUNBO0czQzg5Q0E7Q0FDRjs7QTJDMTlDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzQzY5Q0Q7QU9yZ0RDO0VvQ2lDRDtJQVVFO0lBQ0E7SUFDQTtJQUNBO0czQzg5Q0E7Q0FDRjs7QTJDejlDQTtFQUNDO0MzQzQ5Q0Q7O0EyQ3g5Q0E7RUFDQztFQUNBO0VBQ0E7QzNDMjlDRDs7QTJDdjlDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNDMDlDRDs7QTJDdDlDQTtFQUNDO0MzQ3k5Q0Q7O0EyQ3I5Q0E7RUFDQztFQUNBO0MzQ3c5Q0Q7O0E0Qy9rREE7RXBDOExDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RW9DaE1BO0VBQ0E7RUFDRTtDNUNzbERIOztBNENsbERBO0VwQ3VNQztFQUNBO0VBR0M7RUFJQztDUjA0Q0g7QU8xakRDO0VxQy9CRDtJcEMrRkc7SUFBQTtHUisvQ0Q7Q0FDRjtBT2hrREM7RXFDL0JEO0lwQ3NHRztJQUFBO0dSOC9DRDtDQUNGO0FPdGtEQztFcUN2QkE7SXBDdUZFO0dSMGdERDtDQUNGO0FPM2tEQztFcUN2QkE7SXBDOEZFO0dSd2dERDtDQUNGOztBNEMvbERBO0V0Q1FNO0VBUkE7Q05vbUROOztBNkM1bkRBOzs7O0dBQUE7QXRDdUNDO0VzQ2pCQTtJQUNDO0lBQ0E7SUFDQTtHN0MrbURBO0NBQ0Y7QTZDM21EQTtFQUNDO0VBQ0E7QzdDNm1ERDtBT3RtREM7RXNDVEQ7SUFZSTtJQUNBO0lBSUQ7RzdDb21ERDtDQUNGO0FPN21EQztFc0NURDtJQWlCRztHN0N5bUREO0NBQ0Y7O0E4Q3pwREE7RUFDQztFQUNBO0M5QzRwREQ7QU92bkRDO0V1Q3ZDRDtJQU1FO0c5QzRwREE7Q0FDRjs7QU81bkRDO0V1QzVCRDtJQUVFO0lBQ0E7RzlDMnBEQTtDQUNGOztBT25vREM7RXVDcEJEO0lBRUU7RzlDMHBEQTtDQUNGO0FPem9EQztFdUNwQkQ7SUFLRTtHOUM0cERBO0NBQ0Y7O0ErQ3JyREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhN0NtQjZCO0U2Q2xCN0I7RUFDQTtFQUVBO0VBQ0E7Qy9DdXJERDtBK0NuckRDO0V0Q1NBO0VzQ1BDO0MvQ3FyREY7QStDanJEQztFQUNDO0VBQ0E7RUFDQTtFQUVBO0MvQ2tyREY7O0ErQzdxREE7RUFDQztFQUNBO0VBQ0E7Qy9DZ3JERDtBTzVxREM7RXdDUEQ7SUFNRTtHL0NpckRBO0NBQ0Y7O0ErQzdxREE7RUFDQztFQUNBO0MvQ2dyREQ7QU90ckRDO0V3Q0lEO0l6Q1hNO0lBUkE7R04wc0RKO0NBQ0Y7O0ErQzlxREE7RUFDQztFQUNBO0MvQ2lyREQ7QStDL3FEQztFQUNDO0MvQ2lyREY7O0ErQzVxREE7RUFDQztFQUNBO0MvQytxREQ7QU96c0RDO0V3Q3dCRDtJQUtFO0cvQ2dyREE7Q0FDRjs7QWdEbHZEQTtFQUNDO0VBQ0E7Q2hEcXZERDtBT250REM7RXlDcENEO0lBTUU7R2hEcXZEQTtDQUNGOztBZ0RqdkRBO0VBQ0M7RUFDQTtFQUNBO0NoRG92REQ7QU85dERDO0V5Q3pCRDtJQU1FO0lBQ0E7SUFDQTtHaERxdkRBO0VnRG52REE7SUFDQztHaERxdkREO0NBQ0Y7O0FnRGh2REE7RUFDQztFQUNBO0NoRG12REQ7O0FnRDl1REM7RUFDQztDaERpdkRGO0FnRC91REU7RUFDQztFQUNBO0NoRGl2REg7O0FpRHp4REE7RUFDQztDakQ0eEREO0FPenZEQztFMENwQ0Q7SUFJRTtHakQ2eERBO0NBQ0Y7O0FRem5ERTtFQUNDLGlCeUNoS1c7Q2pENHhEZDtBT2x3REM7RTBDM0JEO0lBSUU7SUFDQTtJQUNBO0dqRDZ4REE7Q0FDRjs7QWtEN3lEQTtFekNzQkM7RXlDcEJBO0VBQ0E7Q2xEZ3pERDs7QWtENXlEQTtFMUNxTUM7RUFDQTtFQUdDO0VBSUM7Q1JzbURIO0FPdHhEQztFMkM3QkQ7STFDNkZHO0lBQUE7R1IydEREO0NBQ0Y7QU81eERDO0UyQzdCRDtJMUNvR0c7SUFBQTtHUjB0REQ7Q0FDRjs7QWtEdHpEQTtFQUNDO0VBQ0E7Q2xEeXpERDtBa0R2ekRDO0VBQ0M7Q2xEeXpERjs7QU8xeURDO0UyQ1ZEO0kxQzBFRztHUit1REQ7Q0FDRjtBT2h6REM7RTJDVkQ7STFDaUZHO0dSNnVERDtDQUNGO0FPcnpEQztFMkNWRDtJQUtFO0dsRDh6REE7Q0FDRjs7QWtEMXpEQTtFQUNDO0NsRDZ6REQ7O0FRanNEQztFQUNDLGlCMEN2SHFCO0NsRDJ6RHZCO0FPbDBEQztFMkNNRDtJQUlFO0dsRDR6REE7Q0FDRjs7QWtEeHpEQTtFQUNDO0VBQ0E7Q2xEMnpERDs7QU81MERDO0UyQ3NCRDtJQUVFO0lBQ0E7SUFDQTtHbER5ekRBO0NBQ0Y7O0FrRHJ6REE7RUFDQztFQUNBO0NsRHd6REQ7QU96MURDO0UyQytCRDtJQUtFO0dsRHl6REE7Q0FDRjtBa0R0ekRDO0VBQ0M7Q2xEd3pERjtBT2oyREM7RTJDd0NBO0lBSUU7SUFDQTtHbER5ekREO0NBQ0Y7O0FrRHB6REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xEdXpERDtBa0RyekRDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbER1ekRGO0FrRG56REU7RUFDQztFQUNBO0NsRHF6REg7QWtEanpEQztFQUNDO0NsRG16REY7O0FrRDl5REE7RUFDQztFQUNBO0VBQ0E7Q2xEaXpERDs7QWtEN3lEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbERnekREOztBa0Q1eURBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xEK3lERDtBa0Q3eURDO0VBQ0M7RUFDQTtDbEQreURGO0FrRDd5REM7RUFDQztDbEQreURGO0FrRDd5REM7RUFDQztFQUNBO0NsRCt5REY7QWtEN3lEQztFQUNDO0VBQ0E7Q2xEK3lERjtBa0Q1eURDO0VBQ0M7Q2xEOHlERjtBa0QzeURDO0VBQ0M7Q2xENnlERjs7QW1ENTlEQTtFMUN5QkM7RTBDdkJBO0VBQ0E7RUFDQTtDbkQrOUREO0FtRDc5REM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuRCs5REY7QU81OERDO0U0Q2pDQTtJQWlCRTtHbkRnK0REO0NBQ0Y7QW1EOTlERTtFQUNDO0VBQ0E7RUFDQTtDbkRnK0RIOztBbUQxOURBO0UzQzRLQztFQUNBO0VBR0M7RUFJQztFMkNsTEY7RUFDQTtFQUNBO0VBQ0E7Q25EZytERDs7QW1ENTlEQTtFQUNDO0NuRCs5REQ7QW1ENzlEQztFQUNDO0VBQ0E7Q25EKzlERjs7QW1EMTlEQTtFQUNDO0NuRDY5REQ7O0FtRHo5REE7RUFDQztFQUNBO0NuRDQ5REQ7QU9sL0RDO0U0Q29CRDtJQUtFO0duRDY5REE7Q0FDRjs7QW1EejlEQTtFQUNDO0NuRDQ5REQ7QU8zL0RDO0U0QzhCRDtJQUlFO0duRDY5REE7Q0FDRjs7QU9oZ0VDO0U0Q3VDRDtJQUVFO0duRDQ5REE7Q0FDRjs7QW9EN2lFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NwRGdqRUQ7O0FvRDVpRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwRCtpRUQ7O0FxRGpqRUE7RTVDY0M7RTRDWkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckRrakVEO0FxRC9pRUM7RUFDQztFQUNBO0VBQ0E7Q3JEaWpFRjtBcUQ3aUVDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckQ2aUVGO0FxRDFpRUU7RUFDQztFQUNBO0NyRDRpRUg7QU9oa0VDO0U4QzVCRDtJQXNERTtHckQwaUVBO0NBQ0Y7O0FxRHRpRUE7RTdDeUlDO0VBQ0E7RUFHQztFQUlDO0U2Qy9JRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyRDRpRUQ7O0FxRHhpRUE7RUFDQztDckQyaUVEOztBcUR2aUVBO0VBQ0M7RUFDQTtFQUNBO0NyRDBpRUQ7QXFEeGlFQztFQUNDO0NyRDBpRUY7O0FxRHJpRUE7RUFDQztDckR3aUVEOztBcURwaUVBO0VBQ0M7RUFDQTtDckR1aUVEOztBcURsaUVDO0VBQ0M7Q3JEcWlFRjs7QXFEaGlFQTtFL0NsRk07RUFSQTtFK0M0Rkw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyRG9pRUQ7QXFEbGlFQztFQUNDO0NyRG9pRUY7QXFEamlFQztFQUNDO0VBQ0E7Q3JEbWlFRjtBcURoaUVDO0VBQ0M7RUFDQTtFQUNBO0NyRGtpRUY7QXFENWhFRztFQUdDO0NyRDRoRUo7O0FxRC9oRUc7RUFHQztDckRnaUVKOztBcURuaUVHO0VBR0M7Q3JEb2lFSjs7QXFEdmlFRztFQUdDO0NyRHdpRUo7O0FxRDNpRUc7RUFHQztDckQ0aUVKOztBcUQvaUVHO0VBR0M7Q3JEZ2pFSjs7QXFEbmpFRztFQUdDO0NyRG9qRUo7O0FxRHZqRUc7RUFHQztDckR3akVKOztBcUQzakVHO0VBR0M7Q3JENGpFSjs7QXFEL2pFRztFQUdDO0NyRGdrRUo7O0FzRG50RUE7Ozs7R0FBQTtBL0N1Q0M7RStDaEJEO0lBRUU7SUFDQTtJQUNBO0d0RG9zRUE7Q0FDRjs7QXNEaHNFQTtFQUNDO0VBQ0E7RUFDQTtDdERtc0VEO0FPL3JFQztFK0NQRDtJQWFJO0lBQ0E7SUFJRDtHdEQwckVEO0NBQ0Y7QU90c0VDO0UrQ1BEO0lBa0JHO0d0RCtyRUQ7Q0FDRjtBTzNzRUM7RStDUEQ7SUFrQkc7R3REb3NFRDtDQUNGO0FPaHRFQztFK0NQRDtJQWtCRztHdER5c0VEO0NBQ0Y7O0FzRHBzRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDdER1c0VEO0FzRHJzRUM7RUFDQztDdER1c0VGOztBc0Rsc0VBO0VBQ0M7RUFDQTtDdERxc0VEOztBc0Roc0VBO0VBQ0M7RUFDQTtFQUNBO0N0RG1zRUQ7O0F1RGp4RUE7RS9DK01DO0VBQ0E7RUFHQztFQUlDO0NSaWtFSDs7QU9qdkVDO0VnRGxDRDtJQUVFO0d2RHN4RUE7Q0FDRjs7QVExbkVDO0VBQ0MsaUIrQ3hKcUI7Q3ZEcXhFdkI7QU8zdkVDO0VnRDNCRDtJQUlFO0lBQ0E7R3ZEc3hFQTtDQUNGOztBdURseEVBO0VBQ0M7Q3ZEcXhFRDtBT3J3RUM7RWdEakJEO0lBSUU7R3ZEc3hFQTtDQUNGO0FPMXdFQztFZ0RqQkQ7SUFRRTtJQUNBO0lBQ0E7R3ZEdXhFQTtDQUNGOztBdURueEVBO0VBQ0M7RUFDQTtDdkRzeEVEOztBdURseEVBO0VqRFhNO0VBUkE7RWlEcUJMO0N2RHN4RUQ7QXVEcHhFQztFQUFZO0N2RHV4RWI7QXVEdHhFQztFQUFZO0N2RHl4RWI7O0F1RHJ4RUE7RWpEcEJNO0VBUkE7RWlEOEJMO0N2RHl4RUQ7QXVEdnhFQztFQUNDO0N2RHl4RUY7O0F1RHB4RUE7RWpEOUJNO0VBUkE7RWlEd0NMO0N2RHd4RUQ7O0F3RDkwRUE7RUFDQztFQUNBO0VBQ0E7Q3hEaTFFRDs7QXdENzBFQTtFaERtSEU7RWdEakhEO0VBQ0E7RUFDQSxrQkFwQnlCO0VBcUJ6QixxQkFyQnlCO0VBc0J6QjtFQUNBO0N4RGcxRUQ7QU9qMEVDO0VpRHRCRDtJQVdFO0d4RGcxRUE7Q0FDRjs7QXdENTBFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esb0JBckN5QjtDeERvM0UxQjs7QXdEMzBFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JBOUN5QjtDeEQ0M0UxQjs7QXdEMTBFQTtFQUNDO0VBQ0E7RUFDQSxrQkFwRHlCO0N4RGk0RTFCOztBd0R6MEVBO0VBQ0MsaUJBekR5QjtDeERxNEUxQjs7QXlEcDRFQTtFaERzQkM7RWdEcEJBO0VBQ0E7Q3pEdTRFRDs7QXlEbjRFQTtFakRxTUM7RUFDQTtFQUdDO0VBSUM7RUZ2TEc7RUFSQTtFbURYTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pEMDRFRDs7QXlEdDRFQTtFQUNDO0VBQ0E7RUFDRTtFQUNBO0VBQ0YsbUJBM0J1QjtDekRvNkV4Qjs7QXlEcjRFQTtFQUNDO0VBQ0E7RUFDQTtDekR3NEVEOztBeURwNEVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3pEdTRFRDs7QXlEbjRFQTtFQUNDLG1CQS9DdUI7RUFnRHZCO0N6RHM0RUQ7O0F5RGw0RUE7RUFDQztFQUNBO0VBQ0E7Q3pEcTRFRDtBeURuNEVDO0VBQ0M7Q3pEcTRFRjtBeURsNEVDO0VBQ0M7Q3pEbzRFRjs7QXlELzNFQTtFQUNDO0VBQ0E7Q3pEazRFRDs7QTBEcjhFQTs7OztHQUFBO0FBT0E7RWxEc01DO0VBQ0E7RUFHQztFQUlDO0NSNHZFSDs7QU81NkVDO0VtRHpCRDtJQUVFO0cxRHc4RUE7Q0FDRjtBT2w3RUM7RW1EekJEO0lBTUU7SUFDQTtHMUR5OEVBO0NBQ0Y7O0EwRHA4RUE7RXBES007RUFSQTtFb0RLTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFEdzhFRDtBMER0OEVDO0VBQ0M7RUFDQTtDMUR3OEVGO0EwRHI4RUM7RUFDQztFQUNBO0MxRHU4RUY7QTBEcDhFQztFQUNDO0VBQ0E7QzFEczhFRjtBMERwOEVFO0VBQ0M7QzFEczhFSDs7QU9sOUVDO0VtRGtCRDtJQUVFO0lBQUE7SUFDQTtJQUFBO0lBQ0E7SUFBQTtJQUNBO0lBQ0E7RzFEbThFQTtDQUNGOztBTzU5RUM7RW1EK0JDO0lBQ0M7RzFEaThFRDtDQUNGO0FPbCtFQztFbUQ2QkQ7SUFRRTtJQUFBO0lBQ0E7SUFBQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0cxRGk4RUE7RTBELzdFQTtJQUNDO0lBQ0E7SUFDQTtHMURpOEVEO0NBQ0Y7O0EwRDU3RUE7RXBENURNO0VBUkE7RW9Ec0VMO0VBQ0E7RUFDQTtFQUNBO0MxRGc4RUQ7QU8xL0VDO0VtRHFERDtJQVFFO0cxRGk4RUE7Q0FDRjs7QTJEdGlGQTs7OztHQUFBO0FBc0JBO0VuRHlMQztFQUNBO0VBR0M7RUFJQztDUjIxRUg7O0FPM2dGQztFb0RYQTtJQUNDO0lBQ0E7SUFDQTtHM0QwaEZBO0NBQ0Y7QTJEdGhGQTtFQUNDO0VBQ0E7QzNEd2hGRDtBT3ZoRkM7RW9ESEQ7SUFZSTtJQUNBO0lBSUQ7RzNEK2dGRDtDQUNGO0FPOWhGQztFb0RIRDtJQWlCRztHM0RvaEZEO0NBQ0Y7QU9uaUZDO0VvREhEO0lBaUJHO0czRHloRkQ7Q0FDRjs7QTREM2tGQTtFcEQyTUM7RUFDQTtFQUdDO0VBSUM7RW9Eak5GO0M1RGlsRkQ7QU9oakZDO0VxRG5DRDtJQUtFO0c1RGtsRkE7Q0FDRjs7QTREOWtGQTtFQUNDO0M1RGlsRkQ7QU96akZDO0VxRHpCRDtJQUlFO0lBQ0E7RzVEa2xGQTtDQUNGOztBTy9qRkM7RXFEZkQ7SUFFRTtJQUNBO0c1RGlsRkE7Q0FDRjs7QU90a0ZDO0VxRE5EO0lBRUU7RzVEK2tGQTtDQUNGO0FPNWtGQztFcUREQTtJQUVFO0lBQ0E7RzVEK2tGRDtDQUNGOztBNkR6bkZBO0VBQ0M7RUFDQTtDN0Q0bkZEOztBUWw5RUU7RUFDQyxpQnFEdktXO0M3RDRuRmQ7O0E2RHhuRkE7RXZEc0JNO0VBUkE7RXVEWkw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3RDRuRkQ7QTZEMW5GQztFQUNDO0VBQ0E7QzdENG5GRjs7QUExbEZBOzsrREFBQTtBOER2REE7OzhFQUFBO0E5RCtEQTs7K0RBQUE7QStEL0RBOztHQUFBO0FBT0M7RUFDQztDL0R5cEZGO0ErRHJwRkM7RUFDQztDL0R1cEZGO0ErRG5wRkM7RUFDQztDL0RxcEZGO0ErRGpwRkM7RUFDQztDL0RtcEZGO0ErRGhwRkM7RUFDQztDL0RrcEZGO0ErRGhwRkU7RUFDQztFQUNBO0VBQ0E7Qy9Ea3BGSDtBK0RocEZHO0V6REZHO0VBUkE7RXlEWUY7RUFDQTtFQUNBO0VBQ0E7Qy9EbXBGSjtBK0Q5b0ZDO0VBQ0M7RUFDQTtDL0RncEZGO0ErRDlvRkU7RUFDQztFQUNBO0VBQ0E7RUFDQTtDL0RncEZIO0ErRDlvRkc7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9EZ3BGSjs7QUFyb0ZBOzsrREFBQTtBQU9BOzs7K0RBQUE7QWdFOUVBOzt5RkFBQTtBQUtBOzs7Ozs7Ozs7Ozs7OztHQUFBO0FBMEJHO0VBQ0M7Q2hFeXNGSjs7QWdFdnNGRztFQUNDO0NoRTBzRko7O0FnRTlzRkc7RUFDQztDaEVpdEZKOztBZ0Uvc0ZHO0VBQ0M7Q2hFa3RGSjs7QWdFdHRGRztFQUNDO0NoRXl0Rko7O0FnRXZ0Rkc7RUFDQztDaEUwdEZKOztBZ0U5dEZHO0VBQ0M7Q2hFaXVGSjs7QWdFL3RGRztFQUNDO0NoRWt1Rko7O0FnRXR1Rkc7RUFDQztDaEV5dUZKOztBZ0V2dUZHO0VBQ0M7Q2hFMHVGSjs7QWdFOXVGRztFQUNDO0NoRWl2Rko7O0FnRS91Rkc7RUFDQztDaEVrdkZKOztBZ0V0dkZHO0VBQ0M7Q2hFeXZGSjs7QWdFdnZGRztFQUNDO0NoRTB2Rko7O0FnRTl2Rkc7RUFDQztDaEVpd0ZKOztBZ0UvdkZHO0VBQ0M7Q2hFa3dGSjs7QWdFdHdGRztFQUNDO0NoRXl3Rko7O0FnRXZ3Rkc7RUFDQztDaEUwd0ZKOztBZ0U5d0ZHO0VBQ0M7Q2hFaXhGSjs7QWdFL3dGRztFQUNDO0NoRWt4Rko7O0FnRXR4Rkc7RUFDQztDaEV5eEZKOztBZ0V2eEZHO0VBQ0M7Q2hFMHhGSjs7QWdFOXhGRztFQUNDO0NoRWl5Rko7O0FnRS94Rkc7RUFDQztDaEVreUZKOztBZ0V0eUZHO0VBQ0M7Q2hFeXlGSjs7QWdFdnlGRztFQUNDO0NoRTB5Rko7O0FnRTl5Rkc7RUFDQztDaEVpekZKOztBZ0UveUZHO0VBQ0M7Q2hFa3pGSjs7QWlFcjFGQTtFQUNDO0VBQ0E7RUFDQTtDakV3MUZEOztBaUVyMUZBO0VBQ0M7Q2pFdzFGRDs7QWlFcjFGQTtFQUNDO0VBQ0E7Q2pFdzFGRDs7QWtFcDJGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0NsRXUyRkQ7O0FrRXAyRkE7RUFDQztDbEV1MkZEOztBTzcwRkM7RTJEdEJBO0lBQ0M7R2xFdTJGQTtDQUNGO0FPbjFGQztFMkRoQkE7SUFDQztHbEVzMkZBO0NBQ0Y7QU94MUZDO0UyRFZBO0lBQ0M7R2xFcTJGQTtDQUNGO0FPNzFGQztFMkRKQTtJQUNDO0dsRW8yRkE7Q0FDRjtBT2wyRkM7RTJERUE7SUFDQztHbEVtMkZBO0NBQ0Y7QW1FOTRGQTs7O0VBQUE7QUNFQztFQUF5QjtDcEVtNUYxQjs7QW9FbDVGQztFQUF5QjtDcEVzNUYxQjs7QW9FcjVGQztFQUF5QjtDcEV5NUYxQjs7QW9FeDVGQztFQUF5QjtDcEU0NUYxQjs7QW9FMzVGQztFQUF5QjtDcEUrNUYxQjs7QW9FNTVGQztFQUF5QjtDcEVnNkYxQjs7QW9FLzVGQztFQUF5QjtDcEVtNkYxQjs7QW9FbDZGQztFQUF5QjtDcEVzNkYxQjs7QW9FcjZGQztFQUF5QjtDcEV5NkYxQjs7QW9FeDZGQztFQUF5QjtDcEU0NkYxQjs7QW9FdjdGQztFQUF5QjtDcEUyN0YxQjs7QW9FMTdGQztFQUF5QjtDcEU4N0YxQjs7QW9FNzdGQztFQUF5QjtDcEVpOEYxQjs7QW9FaDhGQztFQUF5QjtDcEVvOEYxQjs7QW9FbjhGQztFQUF5QjtDcEV1OEYxQjs7QW9FcDhGQztFQUF5QjtDcEV3OEYxQjs7QW9FdjhGQztFQUF5QjtDcEUyOEYxQjs7QW9FMThGQztFQUF5QjtDcEU4OEYxQjs7QW9FNzhGQztFQUF5QjtDcEVpOUYxQjs7QW9FaDlGQztFQUF5QjtDcEVvOUYxQjs7QW9FLzlGQztFQUF5QjtDcEVtK0YxQjs7QW9FbCtGQztFQUF5QjtDcEVzK0YxQjs7QW9FcitGQztFQUF5QjtDcEV5K0YxQjs7QW9FeCtGQztFQUF5QjtDcEU0K0YxQjs7QW9FMytGQztFQUF5QjtDcEUrK0YxQjs7QW9FNStGQztFQUF5QjtDcEVnL0YxQjs7QW9FLytGQztFQUF5QjtDcEVtL0YxQjs7QW9FbC9GQztFQUF5QjtDcEVzL0YxQjs7QW9Fci9GQztFQUF5QjtDcEV5L0YxQjs7QW9FeC9GQztFQUF5QjtDcEU0L0YxQjs7QW9FdmdHQztFQUF5QjtDcEUyZ0cxQjs7QW9FMWdHQztFQUF5QjtDcEU4Z0cxQjs7QW9FN2dHQztFQUF5QjtDcEVpaEcxQjs7QW9FaGhHQztFQUF5QjtDcEVvaEcxQjs7QW9FbmhHQztFQUF5QjtDcEV1aEcxQjs7QW9FcGhHQztFQUF5QjtDcEV3aEcxQjs7QW9FdmhHQztFQUF5QjtDcEUyaEcxQjs7QW9FMWhHQztFQUF5QjtDcEU4aEcxQjs7QW9FN2hHQztFQUF5QjtDcEVpaUcxQjs7QW9FaGlHQztFQUF5QjtDcEVvaUcxQjs7QW9FL2lHQztFQUF5QjtDcEVtakcxQjs7QW9FbGpHQztFQUF5QjtDcEVzakcxQjs7QW9FcmpHQztFQUF5QjtDcEV5akcxQjs7QW9FeGpHQztFQUF5QjtDcEU0akcxQjs7QW9FM2pHQztFQUF5QjtDcEUrakcxQjs7QW9FNWpHQztFQUF5QjtDcEVna0cxQjs7QW9FL2pHQztFQUF5QjtDcEVta0cxQjs7QW9FbGtHQztFQUF5QjtDcEVza0cxQjs7QW9FcmtHQztFQUF5QjtDcEV5a0cxQjs7QW9FeGtHQztFQUF5QjtDcEU0a0cxQjs7QW9FdmxHQztFQUF5QjtDcEUybEcxQjs7QW9FMWxHQztFQUF5QjtDcEU4bEcxQjs7QW9FN2xHQztFQUF5QjtDcEVpbUcxQjs7QW9FaG1HQztFQUF5QjtDcEVvbUcxQjs7QW9Fbm1HQztFQUF5QjtDcEV1bUcxQjs7QW9FcG1HQztFQUF5QjtDcEV3bUcxQjs7QW9Fdm1HQztFQUF5QjtDcEUybUcxQjs7QW9FMW1HQztFQUF5QjtDcEU4bUcxQjs7QW9FN21HQztFQUF5QjtDcEVpbkcxQjs7QW9FaG5HQztFQUF5QjtDcEVvbkcxQjs7QW9FL25HQztFQUF5QjtDcEVtb0cxQjs7QW9FbG9HQztFQUF5QjtDcEVzb0cxQjs7QW9Fcm9HQztFQUF5QjtDcEV5b0cxQjs7QW9FeG9HQztFQUF5QjtDcEU0b0cxQjs7QW9FM29HQztFQUF5QjtDcEUrb0cxQjs7QW9FNW9HQztFQUF5QjtDcEVncEcxQjs7QW9FL29HQztFQUF5QjtDcEVtcEcxQjs7QW9FbHBHQztFQUF5QjtDcEVzcEcxQjs7QW9FcnBHQztFQUF5QjtDcEV5cEcxQjs7QW9FeHBHQztFQUF5QjtDcEU0cEcxQjs7QW9FdnFHQztFQUF5QjtDcEUycUcxQjs7QW9FMXFHQztFQUF5QjtDcEU4cUcxQjs7QW9FN3FHQztFQUF5QjtDcEVpckcxQjs7QW9FaHJHQztFQUF5QjtDcEVvckcxQjs7QW9FbnJHQztFQUF5QjtDcEV1ckcxQjs7QW9FcHJHQztFQUF5QjtDcEV3ckcxQjs7QW9FdnJHQztFQUF5QjtDcEUyckcxQjs7QW9FMXJHQztFQUF5QjtDcEU4ckcxQjs7QW9FN3JHQztFQUF5QjtDcEVpc0cxQjs7QW9FaHNHQztFQUF5QjtDcEVvc0cxQjs7QW9FL3NHQztFQUF5QjtDcEVtdEcxQjs7QW9FbHRHQztFQUF5QjtDcEVzdEcxQjs7QW9FcnRHQztFQUF5QjtDcEV5dEcxQjs7QW9FeHRHQztFQUF5QjtDcEU0dEcxQjs7QW9FM3RHQztFQUF5QjtDcEUrdEcxQjs7QW9FNXRHQztFQUF5QjtDcEVndUcxQjs7QW9FL3RHQztFQUF5QjtDcEVtdUcxQjs7QW9FbHVHQztFQUF5QjtDcEVzdUcxQjs7QW9FcnVHQztFQUF5QjtDcEV5dUcxQjs7QW9FeHVHQztFQUF5QjtDcEU0dUcxQjs7QXFFenZHQTs7OztnRkFBQTtBQWNBO0U1RFdDO0VEc0xBO0VBQ0E7RUFHQztFQUlDO0U2RHRNRjtFQUNBO0VBQ0E7RUFDQTtDckVzdkdEO0FPbnVHQztFOER6QkQ7SUFTRTtHckV1dkdBO0NBQ0Y7O0FxRW52R0E7RUFDQztFQUNBLDRRQUNDIiwiZmlsZSI6ImNzcy9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiAgMSAtIFNFVFRJTkdTXG4gKiAgR2xvYmFsIHZhcmlhYmxlcywgc2l0ZS13aWRlIHNldHRpbmdzLFxuICogIGNvbmZpZyBzd2l0Y2hlcyBldGMuXG4gKlxuICogIFRoZSBvcmRlciBpbiB3aGljaCB0aGVzZSBTYXNzIGZpbGVzXG4gKiAgYXJlIGxvYWRlZCBpcyBjcml0aWNhbCFcbiAqICBTbyBwbGVhc2UgYmUgY2FyZWZ1bCB3aGVuIGVkaXRpbmdcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT3JnYW5pemUgY29sb3IgdmFyaWFibGVzIGluIGEgU2FzcyBNYXAuXG4gICBUaGlzIHdheSwgdGhlIGNvbG9ycyBjYW4gYmUgaXRlcmF0ZWQsIGFyZSBtb3JlIG9yZ2FuaXplZCxcbiAgIGFuZCBhcmUgbW9yZSBpbnR1aXRpdmUgdG8gcmVmZXJlbmNlLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3IgYWNjZXNzaW5nIHRoZSBjb2xvcnMgZnJvbSBvdXIgbWFwcGluZ1xuICpcdFRvIGFjY2VzcyBjb2xvcnMgaW4gb3VyIHBhbGV0dGUsIHdlIHVzZSBhIHZlcnkgc2ltcGxlIGN1c3RvbSBTYXNzIGZ1bmN0aW9uXG4gKiAgVGhpcyBmdW5jdGlvbiBpcyBwbGFjZWQgaGVyZSwgKGFuZCBub3QgaW4gdGhlIHRvb2xib3gpXG4gKiAgc28gd2UgY2FuIHVzZSBpdCBpbiBvdXIgb3RoZXIgc2V0dGluZyBmaWxlcyBpZiB3ZSBuZWVkXG5cblx0VVNBR0U6XG5cblx0LmRlbW8ge1xuXHRcdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDkwMCk7XG5cdH1cblxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb25maWcgc2V0dGluZ3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBcdCBEZWZpbmVzIHRoZSB0eXBvZ3JhcGhpYyBiYXNlbGluZS5cbiAgIFdlIGRlZmluZSBldmVyeSBzaXplIGluIHBpeGVscywgdGhlIHVuZGVybHlpbmcgc3lzdGVtXG4gICBjb252ZXJ0cyB0aGUgcmVzcGVjdGl2ZSB1bml0cyB0byB0aGUgcmVzcG9uc2l2ZSBSRU0gdmFsdWUuXG4gXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBPdXIgYmFzZSBmb250LXNpemUgYW5kIGxpbmUtaGVpZ2h0XG4gKi9cbi8qKlxuICpcdEhlcmUgd2UgYXNzaWduIHNob3J0IG5hbWVzIGZvciB0aGUgZm9udCBmYW1pbGllc1xuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGVmaW5lIGJyZWFrcG9pbnRzIGZvciBnaXZlbiBmb3JtYXRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogIDIgLSBUT09MU1xuICogIFNpdGUgd2lkZSBtaXhpbnMgYW5kIGZ1bmN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBGdW5jdGlvbnMgdXNlZCBpbiBncmlkIGNhbGN1bGF0aW9uXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgKiBSZXR1cm4gcGVyY2VudGFnZSBiYXNlZCBvbiBhbW91bnQgb2YgY29sdW1uc1xuICAqIFVzZSBwYXJlbnQgY29sdW1uIHNpemUgdG8gYWRqdXN0IHRoZSBvcmlnaW5cbiAgKi9cbi8qKlxuICAqIERlZmF1bHQgZnVuY3Rpb24gZm9yIGNvbHVtbnNcbiAgKiBSZXR1cm4gYXMgcGVyY2VudGFnZVxuICAqL1xuLyoqXG4gICogUmV0dXJuIGFzIHZpZXdwb3J0IHdpZHRoXG4gICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRm9udCByZWxhdGVkIGZ1bmN0aW9uc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogIE1peGluIGZvciBzZXR0aW5nIGZvbnQtc2l6ZSBpbiBSRU0gdGhyb3VnaCBhIFNhc3MgTWFwIHdpdGggYWxsIGF2YWlsYWJsZSBzaXplc1xuXG4gICAgVVNBR0U6XG5cbiAgICAubXlDbGFzcyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7XG4gICAgfVxuXG4gKi9cbi8qIE1lZGlhIHF1ZXJ5IG1peGluIGZvciB3cml0aW5nIE1vYmlsZSBGaXJzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRvb2xib3ggZnVuY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogIE1hdGhzIGhlbHBlcnMuXG4gKiAgSGFsdmUgYW5kIGRvdWJsZSBudW1iZXJzLCByZXR1cm5pbmcgcm91bmRlZCBpbnRlZ2Vycy5cblxuICAgIFVTQUdFOlxuXG4gICAgLmZvbyB7XG4gICAgICAgIHBhZGRpbmc6IGhhbHZlKDMwcHgpO1xuICAgIH1cblxuICovXG4vKipcbiAqICBSZW1vdmUgdGhlIHVuaXQgb2YgYSBsZW5ndGhcbiAqICBAcGFyYW0ge051bWJlcn0gJG51bWJlciAtIE51bWJlciB0byByZW1vdmUgdW5pdCBmcm9tXG4gKiAgQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuICovXG4vKiBDaGVjayBpZiB2YWx1ZSBpcyBudW1iZXIgKi9cbi8qIFZhbHVlIHRvIEVtICovXG4vKiBWYWx1ZSB0byBSZW0gKi9cbi8qXG4gKiBTZXQgdmVydGljYWwgc3BhY2luZyBmb3Igdmlld3BvcnQgbGFyZ2VyIHRoYW4gbW9iaWxlXG4gKiBJbiBmbGV4aWJsZSB1bml0cyAodncpIGFuZCBvbiBtYXggdmlld3BvcnQgaW4gYSBmaXhlZCBhbW91bnQgKHB4KVxuXG4gVVNBR0U6XG5cbiAuZXhhbXBsZSB7XG5cdCBAaW5jbHVkZSB2c3BhY2luZyhcblx0XHQncGFkZGluZy10b3AnIDAuMzMsXG5cdFx0J21hcmdpbi1ib3R0b20nIDAuNVxuXHQpO1xuICB9XG5cbiAqL1xuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIHNldHRpbmcgYSBjb25zaXN0ZW50IGJvcmRlci1yYWRpdXNcblxuXHRVU0FHRTpcblxuXHQuY2FyZCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0fVxuXG5cdC5jYXJkLS1hbHQge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobCk7XG5cdH1cblxuICovXG4vKipcbiAqIExvYm90b21pemVkIE93bCBTZWxlY3RvciBtaXhpbjpcbiAqIC0gU2V0IHNwYWNpbmcgZm9yIGNvbnNlY3V0aXZlIGl0ZW1zIHdpdGggbWFyZ2luLXRvcCBvbiBhbGwgYnV0IHRoZSBmaXJzdCBpdGVtXG5cblx0VVNBR0U6XG5cblx0LmJveCB7XG5cdFx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuO1xuXHR9XG5cblx0LmNhcmRfX2l0ZW0ge1xuXHRcdEBpbmNsdWRlIG93bDtcblx0fVxuXG4gKi9cbi8qXG4gKiBMb2JvdG9taXplZCBvd2wgc2VsZWN0b3IuXG4gKiAtIEdpdmVzIHRoZSBjaGlsZHJlbiBvZiB0aGUgZWxlbWVudCBzcGFjaW5nXG4gKiAtIGh0dHBzOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9heGlvbWF0aWMtY3NzLWFuZC1sb2JvdG9taXplZC1vd2xzXG4gKi9cbi8qKlxuICogIFNob3cgaHlwaGVucyBmb3IgZXZlcnkgYnJvd3NlciBzdXBwb3J0aW5nIGl0XG4gKiAgYW5kIHdpbGwgYnJlYWsgbGluZXMgaW4gZXZlcnkgb3RoZXIgYnJvd3NlclxuICovXG4vKlxuICogIFJlc3RyaWN0IGFuIGVsZW1lbnQgdG8gYSBtYXgtd2lkdGggZm9yIGNyZWF0aW5nIGd1dHRlcnMgb24gdGhlIHNpZGVcbiAqL1xuLypcbiAqICBSZXN0cmljdCBhbiBlbGVtZW50IHRvIGEgbWF4LXdpZHRoIGZvciBjcmVhdGluZyBndXR0ZXJzIG9uIHRoZSBzaWRlXG4gKi9cbi8qXG4gKlx0QSBtaXhpbiB0byBzZXQgZWxlbWVudHMgdG8gaXRzIG93biBuYW1lZCBncmlkLWFyZWFcbiAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBUaGUgJ3otaW5kZXgtbWFwJyBpcyB1c2VkIGZvciBtYW5hZ2luZyB0aGUgZWxlbWVudHMgc3RhY2tpbmcgb3JkZXIgaW4gdGhlICdyb290JyBzdGFja2luZyBjb250ZXh0XG4gKiAgVGhpcyB3YXkgd2UgaGF2ZSBhIG92ZXJ2aWV3IG9mIGFsbCB0aGUgei1pbmRleCB2YWx1ZXMgdGhhdCBhcmUgdXNlZCBhY3Jvc3MgdGhlIHByb2plY3QuXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgVVNBR0U6XG5cbiAgICBAaW5jbHVkZSB6KHotbW9kYWwpO1xuXG4gKi9cbi8qICAzIC0gRUxFTUVOVFNcbiAqICBQbGFpbiBvbGQgc2ltcGxlIEhUTUwgZWxlbWVudHMgd2l0aG91dCBhIGNsYXNzICh0eXBlIHNlbGVjdG9ycylcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEJhc2ljIGVsZW1lbnRzIChubyBjbGFzcyBzZWxlY3RvcnMgYWxsb3dlZClcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFNldCB1cCB0aGUgaHRtbFxuICpcbiAqIDEuIE1ha2VzIHN1cmUgdGhhdCBzb21lIGZvbnRzIGFyZSBiZXR0ZXIgcmVuZGVyZWRcbiAqIDIuIFNldCBmb250IHRvIGxpbmluZyBmaWd1cmVzXG4gKlxuICovXG5odG1sIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJsbnVtXCI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuYm9keSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzRhNGE0YTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4vKipcbiAqIFsxXSBNYWtlIHN1cmUgZWxlbWVudHMgbGlrZSBpbnB1dCBhbmQgdGV4dGFyZWEgaW5oZXJpdCBzb21lIGJhc2UgcHJvcGVydGllc1xuICogICAgIGh0dHBzOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTYvMTEvY3NzLWluaGVyaXRhbmNlLWNhc2NhZGUtZ2xvYmFsLXNjb3BlLW5ldy1vbGQtd29yc3QtYmVzdC1mcmllbmRzL1xuICpcbiAqIFsyXSBTZXR0aW5nIGJveC1zaXppbmcgdGhlIGJlc3Qgd2F5IHBlcjpcbiAqICAgICBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cbiAqL1xuKiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogWzFdIFR1cm4gb2ZmIHRleHQtc2hhZG93IHdoZW4gc2VsZWN0aW5nIHRleHQgZm9yIGJldHRlciByZWFkYWJpbGl0eVxuICovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMxM2NmY2U7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgLyogWzFdICovXG59XG5cbi8qIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBhcm91bmQgZmlndXJlXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBbMV0gU2V0dGluZyAndmVydGljYWwtYWxpZ24nIHJlbW92ZXMgdGhlIHdoaXRlc3BhY2UgdGhhdCBhcHBlYXJzIHVuZGVyICdpbWcnXG4gKlx0ICAgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBkcm9wcGVkIGludG8gYSBwYWdlIGFzLWlzLiBTYWZlciBhbHRlcm5hdGl2ZSB0b1xuICpcdCAgIHVzaW5nICdkaXNwbGF5OiBibG9jazsnLlxuICogWzJdIFJlbW92ZSBib3JkZXIgLyBlc3BlY2lhbGx5IG9uIG9sZGVyIGJyb3dzZXJzXG4gKi9cbmltZywgc3ZnIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLypbMV0qL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qWzJdKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqICBOZWVkZWQgZm9yIGlPUyB0byBwcmV2ZW50IGlucHV0IHpvb21pbmdcbiAqICBodHRwczovL3V4Y2VsbGVuY2UuY29tLzIwMTQvMDEvMTUvcXVpY2stZml4LWluY3JlYXNlLWZvbnQtc2l6ZS10by0xNnB4LXRvLWZpeC1pbnB1dC16b29tXG4gKi9cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbmE6bm90KFtjbGFzc10pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBhdXRvO1xufVxuYTpub3QoW2NsYXNzXSk6aG92ZXI6OmFmdGVyIHtcbiAgaGVpZ2h0OiAycHg7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xufVxuYTpub3QoW2NsYXNzXSk6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjMTNjZmNlO1xufVxuYTpub3QoW2NsYXNzXSk6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgY29udGVudDogXCJcIjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDMwMG1zLCBvcGFjaXR5IDMwMG1zLCB0cmFuc2Zvcm0gMzAwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgaGdyb3VwLFxudWwsIG9sLCBkZCxcbnAsIGZpZ3VyZSxcbnByZSwgdGFibGUsIGZpZWxkc2V0LCBociB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG5oNSwgaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIExpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKlx0RGVmYXVsdCBpbmRlbnRhdGlvbiB2YWx1ZSBmb3IgbGlzdHNcbiAqL1xudWwsXG5vbCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IDEuMTI1ZW07XG59XG5cbmRkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8qKlxuICpcdFJlbW92ZSBleHRyYSB2ZXJ0aWNhbCBzcGFjaW5nIHdoZW4gbmVzdGluZyBsaXN0cy5cbiAqL1xubGkgPiB1bCxcbmxpID4gb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiAgNCAtIExheW91dCBlbGVtZW50c1xuICogIERlc2lnbiBwYXR0ZXJucyAoZS5nLiBncmlkcyBvciBtZWRpYSBvYmplY3QpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAubC1ibG9jayArIC5sLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiA2LjI1dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAubC1ibG9jayArIC5sLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiA5NnB4O1xuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIENvbnRhaW5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubC1jb250YWluIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1kaXZpZGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmwtZGl2aWRlX19pdGVtICsgLmwtZGl2aWRlX19pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1kaXZpZGVfX2l0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuXG4ubC1mb3JtX19ib2R5IHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLmwtZm9ybV9fcm93ICsgLmwtZm9ybV9fcm93IHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLmwtZm9ybV9fZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLmwtZm9ybV9fcG90IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4vKlxuKiBXcmFwcGVyIG9mIHRoZSBtYWluIGJvZHlcbiogKGJldHdlZW4gdGhlIGhlYWRlciBhbmQgdGhlIGZvb3RlcilcblxuKiBbMV0gQXZvaWQgdGhlIElFIDEwLTExIGBtaW4taGVpZ2h0YCBidWcuXG4qL1xuLmwtcGFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgLyogWzFdICovXG59XG5cbi5sLXBhZ2VfX2hlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmwtcGFnZV9fYm9keSB7XG4gIHotaW5kZXg6IDQwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDEgMCBhdXRvO1xufVxuXG4ubC1wYWdlX19mb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyA2MDBtcyBlYXNlLWluLW91dDtcbn1cbmJvZHkuaXMtY29va2llcy1hY2NlcHRlZCAubC1wYWdlX19mb290ZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLyogIDUgLSBDT01QT05FTlRTXG4gKiAgRGlzY3JldGUgY29tcGxldGUgY2h1bmtzIG9mIFVJLlxuICogIERlc2lnbmVkIGNvbXBvbmVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBDb21wb25lbnRzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5jLWJyZWFkY3J1bWIge1xuICBwYWRkaW5nLWJvdHRvbTogNHB4O1xufVxuXG4uYy1icmVhZGNydW1iX19saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5jLWJyZWFkY3J1bWJfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmMtYnJlYWRjcnVtYl9faXRlbTpudGgtY2hpbGQobisyKSAuYy1icmVhZGNydW1iX19pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIGNvbG9yOiAjMUQxRDFEO1xufVxuXG4uYy1icmVhZGNydW1iX19saW5rIHtcbiAgY29sb3I6ICM2NTY1NjU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLWJyZWFkY3J1bWJfX2l0ZW0tLWxhc3QgLmMtYnJlYWRjcnVtYl9fbGluayB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYy1idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAxMnB4IDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2IzYjNiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTdkZWcsICMwMDAwMDAgNTAlLCB0cmFuc3BhcmVudCA1MCUpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSA0MDAlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDI1MG1zIGVhc2UtaW4tb3V0O1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5jLWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCA0cHggMnB4ICMxM2NmY2U7XG59XG4uYy1idXR0b246YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuLmMtYnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmMtYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xufVxuXG4uYy1idXR0b25fX3RleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHBhZGRpbmc6IDAgMjRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmMtYnV0dG9uLS1pY29uIC5jLWJ1dHRvbl9fdGV4dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5jLWJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgdG9wOiAtMXB4O1xuICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcztcbn1cbi5jLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy1idXR0b25fX2ljb24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cbi5jLWJ1dHRvbl9faWNvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG59XG4uYy1idXR0b24tLWljb24gLmMtYnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xufVxuXG4uYy1idXR0b24tLWdob3N0IHtcbiAgcGFkZGluZzogY2FsYygxMHB4KSAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMUQxRDFEO1xuICBjb2xvcjogIzFEMUQxRDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtN2RlZywgI2NkY2RjZCA1MCUsIHRyYW5zcGFyZW50IDUwJSk7XG59XG5cbi5jLWNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYy1jYXJkX19waWN0dXJlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXg6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1jYXJkX19pbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbn1cblxuLmMtY2FyZF9fbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDE0cHggMTBweCAxNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJDMkMyQztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG59XG4uYy1jYXJkOmhvdmVyIC5jLWNhcmRfX2xhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cblxuLmMtY2xvc2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTgwbXMgZWFzZS1vdXQ7XG59XG4uYy1jbG9zZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAzcHggMnB4ICNjZGNkY2Q7XG59XG4uYy1jbG9zZTphZnRlciwgLmMtY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAyMCU7XG4gIGxlZnQ6IDIwJTtcbiAgaGVpZ2h0OiAzcHg7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjY2RjZGNkO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG4uYy1jbG9zZTpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4uYy1jbG9zZTphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG4uYy1jbG9zZTpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbn1cblxuLmMtZm9ybS1ncm91cF9fbGFiZWwge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweCAwO1xufVxuXG4uYy1mb3JtLWdyb3VwX19lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uaGFzLWVycm9yIC5jLWZvcm0tZ3JvdXBfX2Vycm9yOm5vdCg6ZW1wdHkpIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDhweDtcbiAgY29sb3I6ICNmZmQzM2E7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyMTEsIDU4LCAwLjEpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZkMzNhO1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcbn1cblxuLmMtZm9ybS1mZWVkYmFjayB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG1hcmdpbjogMTZweCAwIDA7XG4gIHBhZGRpbmc6IDI0cHggMzJweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZDMzYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDIxMSwgNTgsIDAuMSk7XG59XG4uYy1mb3JtLWZlZWRiYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1mZWVkYmFjayk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4uYy1mb3JtLWZlZWRiYWNrOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLWhhbWJ1cmdlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMyQzJDMkM7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmMtaGFtYnVyZ2VyOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDNweCAycHggIzEzY2ZjZTtcbn1cbi5jLWhhbWJ1cmdlciA+IHNwYW4sIC5jLWhhbWJ1cmdlcjphZnRlciwgLmMtaGFtYnVyZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMHB4O1xuICByaWdodDogMjAlO1xuICBsZWZ0OiAyMCU7XG4gIGhlaWdodDogM3B4O1xuICBtYXJnaW4tdG9wOiAtMnB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zO1xufVxuLmMtaGFtYnVyZ2VyOmJlZm9yZSB7XG4gIHRvcDogMTJweDtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcbn1cbi5jLWhhbWJ1cmdlcjphZnRlciB7XG4gIHRvcDogMjhweDtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMC41KTtcbn1cbi5jLWhhbWJ1cmdlcjpob3ZlciA+IHNwYW4ge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xufVxuLmMtaGFtYnVyZ2VyOmhvdmVyOmFmdGVyLCAuYy1oYW1idXJnZXI6aG92ZXI6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuYy1oYW1idXJnZXIgPiBzcGFuIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgIWltcG9ydGFudDtcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5jLWhhbWJ1cmdlcjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KSBzY2FsZVgoMSkgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMG1zO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLmMtaGFtYnVyZ2VyOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpIHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XG59XG5cbi5jLWhlYWRpbmcge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBjb2xvcjogIzJDMkMyQztcbn1cblxuLmMtaW5wdXQge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNnB4IDE2cHg7XG4gIGNvbG9yOiAjMkMyQzJDO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMUQxRDFEO1xuICBvdXRsaW5lOiBub25lO1xufVxuLmhhcy1lcnJvciAuYy1pbnB1dCB7XG4gIGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCAjZmZkMzNhO1xuICBib3JkZXItY29sb3I6ICNmZmQzM2E7XG59XG4uYy1pbnB1dDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCAjMTNjZmNlO1xuICBib3JkZXItY29sb3I6ICMxM2NmY2U7XG59XG50ZXh0YXJlYS5jLWlucHV0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIG1pbi1oZWlnaHQ6IDE1NnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmMtbGFuZ3VhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWxhbmd1YWdlX19idXR0b24ge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA4cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzJDMkMyQztcbiAgYm9yZGVyOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zLCBib3gtc2hhZG93IDE1MG1zO1xufVxuLmMtbGFuZ3VhZ2VfX2J1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5jLWxhbmd1YWdlX19pY29uIHtcbiAgZmxleDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jLWxhbmd1YWdlX19sYWJlbCB7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYy1sYW5ndWFnZV9fZHJvcGRvd24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDEwMCU7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcywgdHJhbnNmb3JtIDMwMG1zO1xufVxuLmMtbGFuZ3VhZ2U6aG92ZXIgLmMtbGFuZ3VhZ2VfX2Ryb3Bkb3duIHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2l0ZW0ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuLmMtbGFuZ3VhZ2VfX2l0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbn1cbi5jLWxhbmd1YWdlX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG59XG4uYy1sYW5ndWFnZV9faXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG59XG4uYy1sYW5ndWFnZV9faXRlbTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uYy1sYW5ndWFnZV9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMUQxRDFEO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zO1xufVxuLmMtbGFuZ3VhZ2VfX2xpbms6aG92ZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1NjU2NTtcbn1cblxuLmMtbmF2IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uYy1uYXZfX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtbmF2X19pdGVtIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXJnaW4tcmlnaHQ6IDIlO1xufVxuLmMtbmF2X19pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5jLW5hdl9fbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNHB4O1xuICBjb2xvcjogIzJDMkMyQztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAxNTBtcyBsaW5lYXI7XG59XG4uYy1uYXZfX2xpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICBsZWZ0OiA0cHg7XG4gIGJvdHRvbTogMXB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gOHB4KTtcbiAgaGVpZ2h0OiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpO1xufVxuLmMtbmF2X19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICMxRDFEMUQ7XG59XG4uYy1uYXZfX2xpbms6aG92ZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbn1cbi5pcy1hY3RpdmUuYy1uYXZfX2l0ZW0gLmMtbmF2X19saW5rIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmlzLWFjdGl2ZS5jLW5hdl9faXRlbSAuYy1uYXZfX2xpbms6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cbi5jLW5hdl9fbGluazpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICMxM2NmY2U7XG59XG5cbi8qXG4gKiBQYWdlIHRpdGxlXG4gKi9cbi5jLXBhZ2UtdGl0bGUge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgY29sb3I6ICMyQzJDMkM7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5jLXBhZ2UtdGl0bGVfX2xlYWQge1xuICAgIG1hcmdpbi10b3A6IC0xNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIH1cbn1cblxuLmMtcGFnZS10aXRsZV9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLmMtcGFnaW5hdGlvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzFEMUQxRDtcbn1cblxuLmMtcGFnaW5hdGlvbl9faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmMtcGFnaW5hdGlvbl9faXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYy1wYWdpbmF0aW9uX19pdGVtOmZpcnN0LWNoaWxkLCAuYy1wYWdpbmF0aW9uX19pdGVtOmxhc3QtY2hpbGQsIC5jLXBhZ2luYXRpb25fX2l0ZW0uaXMtbGFzdC1wYWdlLCAuYy1wYWdpbmF0aW9uX19pdGVtLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAuYy1wYWdpbmF0aW9uX19pdGVtLmlzLWxhc3QtcGFnZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cbi5jLXBhZ2luYXRpb25fX2l0ZW0gKyAuYy1wYWdpbmF0aW9uX19pdGVtIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xufVxuXG4uYy1wYWdpbmF0aW9uX190ZXh0LFxuLmMtcGFnaW5hdGlvbl9fbGluayxcbi5jLXBhZ2luYXRpb25fX3ByZXYsXG4uYy1wYWdpbmF0aW9uX19uZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi13aWR0aDogNDhweDtcbiAgbWluLWhlaWdodDogNDhweDtcbiAgcGFkZGluZzogOHB4O1xufVxuXG4uYy1wYWdpbmF0aW9uX190ZXh0IHtcbiAgY29sb3I6ICMxRDFEMUQ7XG4gIG9wYWNpdHk6IDAuMzU7XG59XG5cbi5jLXBhZ2luYXRpb25fX2xpbmsge1xuICBjb2xvcjogIzFEMUQxRDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcywgYmFja2dyb3VuZC1jb2xvciAyMDBtcztcbn1cbi5jLXBhZ2luYXRpb25fX2xpbms6aG92ZXIge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZDogI0Y4RjhGODtcbn1cbi5pcy1hY3RpdmUgPiAuYy1wYWdpbmF0aW9uX19saW5rIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggLTVweCAjMUQxRDFEO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMxRDFEMUQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fcHJldixcbi5jLXBhZ2luYXRpb25fX25leHQge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG59XG4uYy1wYWdpbmF0aW9uX19wcmV2LmlzLWluYWN0aXZlLFxuLmMtcGFnaW5hdGlvbl9fbmV4dC5pcy1pbmFjdGl2ZSB7XG4gIGNvbG9yOiAjY2RjZGNkO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fcHJldiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuMjV0dXJuKTtcbn1cblxuLmMtcGVyc29uX19waWN0dXJlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXg6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1wZXJzb25fX2ltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xufVxuXG4uYy1wZXJzb25fX2luZm8ge1xuICBwYWRkaW5nOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RjZGNkO1xufVxuXG4uYy1wZXJzb25fX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGNvbG9yOiAjNGE0YTRhO1xufVxuXG4uYy1wZXJzb25fX3N1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4uYy1wcm9qZWN0b3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1NzZweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5jLXByb2plY3Rvcl9fZmlndXJlIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLXByb2plY3Rvcl9fY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBncmlkLWNvbHVtbjogMTtcbiAgZ3JpZC1yb3c6IDI7XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4uYy1wcm9qZWN0b3JfX3BpY3R1cmUge1xuICBncmlkLWNvbHVtbjogMTtcbiAgZ3JpZC1yb3c6IDE7XG4gIGFsaWduLXNlbGY6IGVuZDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcztcbn1cbi5jLXByb2plY3Rvcl9fcGljdHVyZS5pcy1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uYy1wcm9qZWN0b3JfX2ltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmMtcHJvamVjdG9yX19pbWcge1xuICAgIG1heC1oZWlnaHQ6IDc4dmg7XG4gIH1cbn1cblxuLmMtcHJvamVjdG9yX19jb250cm9sIHtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGdyaWQtcm93OiAxO1xuICBhbGlnbi1zZWxmOiBlbmQ7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5jLXNlcnZpY2Vwb2ludCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLXRvcDogLTE2cHg7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9faW1hZ2Uge1xuICBtYXgtd2lkdGg6IDE3NnB4O1xuICBmbGV4OiAwO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUzOXB4KSB7XG4gIC5jLXNlcnZpY2Vwb2ludF9faW1hZ2Uge1xuICAgIHdpZHRoOiA5NnB4O1xuICB9XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9fY29udGVudCB7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bztcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LWJhc2lzOiAxNjVweDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLmMtc2VydmljZXBvaW50X19ib2R5IHtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2RhdGEge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9fZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4uYy1zaXRlbWFwX19pdGVtIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4uYy1zaXRlbWFwX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweCAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1zaXRlbWFwX19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICMxRDFEMUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKlxuICogU2tpcCBMaW5rXG4gKi9cbi5jLXNraXAtbGluayB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTEwMHZoO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgY29sb3I6ICM2NTY1NjU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLXNraXAtbGluazpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICMxM2NmY2U7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIHRvcDogNXB4O1xuICAvKiBOb3cgdGhlIGxpbmsgd2lsbCBhcHBlYXIgKi9cbn1cblxuLmMtc2xpZGUtaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmhvdmVyOm5vdCguaXMtYWN0aXZlKSwgLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6Zm9jdXM6bm90KC5pcy1hY3RpdmUpIHtcbiAgb3BhY2l0eTogMC41O1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6YmVmb3JlLCAuYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6YmVmb3JlIHtcbiAgdG9wOiBjYWxjKCgzMHB4IC0gOHB4KSAvIDIpO1xuICByaWdodDogY2FsYygoMzBweCAtIDhweCkgLyAyKTtcbiAgYm90dG9tOiBjYWxjKCgzMHB4IC0gOHB4KSAvIDIpO1xuICBsZWZ0OiBjYWxjKCgzMHB4IC0gOHB4KSAvIDIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6YWZ0ZXIge1xuICB0b3A6IGNhbGMoKDMwcHggLSAxMnB4KSAvIDIpO1xuICByaWdodDogY2FsYygoMzBweCAtIDEycHgpIC8gMik7XG4gIGJvdHRvbTogY2FsYygoMzBweCAtIDEycHgpIC8gMik7XG4gIGxlZnQ6IGNhbGMoKDMwcHggLSAxMnB4KSAvIDIpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNCk7XG4gIG9wYWNpdHk6IDA7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdC5pcy1hY3RpdmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdC5pcy1hY3RpdmU6YWZ0ZXIge1xuICBvcGFjaXR5OiAwLjk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpmb2N1cyB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmZvY3VzOmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCBibGFjaywgMCAwIDEwcHggMXB4IHdoaXRlO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6Zm9jdXM6YWZ0ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggYmxhY2ssIDAgMCAxMHB4IDFweCB3aGl0ZTtcbn1cblxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1NjU2NTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGhlaWdodDogNDBweDtcbiAgd2lkdGg6IDQwcHg7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbiArIC5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uW2FyaWEtbGFiZWw9cHJldmlvdXNdID4gc3ZnIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b25bYXJpYS1sYWJlbD1uZXh0XSA+IHN2ZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzViNWI1Yjtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzViNWI1Yjtcbn1cblxuLmMtc3VibmF2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgcGFkZGluZzogOC4zMzMzMzMzMzMzJTtcbn1cblxuLmMtc3VibmF2X19oZWFkZXIge1xuICBtYXJnaW46IDA7XG59XG5cbi5jLXN1Ym5hdl9fbGlzdCB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jLXN1Ym5hdl9fbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMjUwbXM7XG59XG4uYy1zdWJuYXZfX2xpbms6aG92ZXIge1xuICBjb2xvcjogIzFEMUQxRDtcbn1cbi5jLXN1Ym5hdl9fbGluazpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICMxM2NmY2U7XG59XG4uYy1zdWJuYXZfX2xpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjZGNkY2Q7XG59XG5cbi5jLXN1Ym5hdl9faWNvbiB7XG4gIG9wYWNpdHk6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICBjb2xvcjogI2NkY2RjZDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNnB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2Utb3V0O1xufVxuLmMtc3VibmF2X19saW5rOmhvdmVyIC5jLXN1Ym5hdl9faWNvbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgY29sb3I6ICMxRDFEMUQ7XG59XG5cbi5jLXN1Ym5hdl9faXRlbS5pcy1hY3RpdmUgLmMtc3VibmF2X19saW5rIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAuYy1zdWJuYXZfX2xpbms6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzFEMUQxRDtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG59XG4uYy1zdWJuYXZfX2l0ZW0uaXMtYWN0aXZlIC5jLXN1Ym5hdl9faWNvbiB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5jLXRleHQtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogIzFEMUQxRDtcbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMiAqL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDMwMG1zO1xufVxuLmMtdGV4dC1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5jLXRleHQtYnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmMtdGV4dC1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjMTNjZmNlO1xufVxuXG4uYy10ZXh0LWJ1dHRvbl9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmMtdGV4dC1idXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcztcbn1cbi5jLXRleHQtYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIC5jLXRleHQtYnV0dG9uX19pY29uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG59XG4uYy10ZXh0LWJ1dHRvbi0taWNvbiAuYy10ZXh0LWJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy10ZXh0LWJ1dHRvbi0taXMtcmV2ZXJzZWQgLmMtdGV4dC1idXR0b25fX3RleHQge1xuICBvcmRlcjogMjtcbn1cbi5jLXRleHQtYnV0dG9uLS1pcy1yZXZlcnNlZCAuYy10ZXh0LWJ1dHRvbl9faWNvbiB7XG4gIG9yZGVyOiAxO1xuICB0b3A6IDFweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcbn1cbi5jLXRleHQtYnV0dG9uLS1pcy1yZXZlcnNlZDpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy10ZXh0LWJ1dHRvbl9faWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pIHRyYW5zbGF0ZVgoM3B4KTtcbn1cblxuLmMtdHJhZGVtYXJrIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMTUwbXMgbGluZWFyO1xufVxuXG4uYy10cmFkZW1hcmtfX3RleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tcmlnaHQ6IDdweDtcbn1cblxuLmMtdHJhZGVtYXJrX19sb3ZlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2hlYXJ0LXNwcml0ZS5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjkwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDU2cHg7XG4gIGhlaWdodDogNTZweDtcbiAgbWFyZ2luOiAwIC0xMnB4O1xufVxuXG4uYy10cmFkZW1hcms6aG92ZXIge1xuICBjb2xvcjogI0UyMjY0RDtcbn1cbi5jLXRyYWRlbWFyazpob3ZlciAua29tbWEtZW1ibGVtIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTJweCAxMnB4O1xuICBhbmltYXRpb246IGxvZ28tc3BpbiAxLjhzIGxpbmVhciBpbmZpbml0ZTtcbn1cbi5jLXRyYWRlbWFyazpob3ZlciAuYy10cmFkZW1hcmtfX2xvdmUge1xuICBhbmltYXRpb246IGhlYXJ0QW5pbSAxLjFzIHN0ZXBzKDI4KSBmb3J3YXJkcztcbn1cblxuQGtleWZyYW1lcyBoZWFydEFuaW0ge1xuICBmcm9tIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDFweDtcbiAgfVxuICB0byB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMXB4O1xuICB9XG59XG5Aa2V5ZnJhbWVzIGxvZ28tc3BpbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pO1xuICB9XG59XG4uYy12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbn1cblxuLmMtdmlkZW9fX2lmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vKiAgNiAtIE9SR0FOSVNNU1xuICogIExhcmdlIGJsb2NrcyBjb21wb3NlZCBvZiBtdWx0aXBsZSBjb21wb25lbnRzLlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIE9yZ2FuaXNtc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uby1ibG9nX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgY29sb3I6ICMyQzJDMkM7XG59XG5cbi5vLWJsb2dfX2FydGljbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uby1ibG9nX19hcnRpY2xlICsgLm8tYmxvZ19fYXJ0aWNsZSB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG5cbi5vLWJsb2dfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgbGluZWFyO1xufVxuLm8tYmxvZ19fbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMUQxRDFEO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgMTUwbXMgbGluZWFyO1xufVxuLm8tYmxvZ19fbGluazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG59XG4uby1ibG9nX19saW5rOmhvdmVyOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNjZGNkY2Q7XG59XG4uby1ibG9nX19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzEzY2ZjZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWJsb2dfX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG59XG5cbi5vLWJsb2dfX2JvZHkge1xuICBmbGV4LWdyb3c6IDE7XG4gIHBhZGRpbmc6IDguMzMzMzMzMzMzMyU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1ibG9nX19ib2R5IHtcbiAgICBvcmRlcjogMTtcbiAgICBwYWRkaW5nOiA0OHB4IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuLm8tYmxvZ19faW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogNTUlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tYmxvZ19faW1hZ2Uge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgb3JkZXI6IDI7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjUlO1xuICB9XG59XG5cbi5vLWJsb2dfX2JnLWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHRvcDogOC4zMzMzMzMzMzMzJTtcbiAgcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxNi42NjY2NjY2NjY3JSk7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gOC4zMzMzMzMzMzMzJSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1ibG9nX19iZy1pbWFnZSB7XG4gICAgdG9wOiA4cHg7XG4gICAgcmlnaHQ6IDhweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgfVxufVxuXG4uby1ibG9nX19pbnRybyB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi5vLWJsb2dfX3RpbWVzdGFtcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBjb2xvcjogIzk5OTk5OTtcbn1cblxuLm8tYmxvZ19fYWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4uby1ibG9nX19yZWFkbW9yZSB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4uby1ibG9nX19mb290ZXIge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5vLWNhbGxvdXQtYmFyIHtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvO1xuICBjb2xvcjogIzJDMkMyQztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTE1MnB4O1xuICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDYuMjV2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogNi4yNXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiA5NnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA5NnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4gPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMy4xMjV2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDQ4cHg7XG4gIH1cbn1cblxuLm8tY2FsbG91dC1iYXJfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuXG4vKiBJbiB0aGUgWyRvLWNhcmQtZ3JpZF0gbWFwIHdlIGRlZmluZSBzb21lIHNldHRpbmdzOlxuICpcbiAqICdjb2x1bW5zJy5rZXkgXHQ9XHRudW1iZXIgb2YgaXRlbXMgaW4gYSByb3dcbiAqICdjb2x1bW5zJy52YWx1ZSBcdD0gXHRicmVha3BvaW50IHNpemUgZnJvbSB3aGljaCB3ZSB3YW50IHRoYXQgbnVtYmVyIG9mIGl0ZW1zXG4gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc0MHB4KSB7XG4gIC5vLWNhcmQtZ3JpZF9fbWFpbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAtMTZweDtcbiAgfVxufVxuLm8tY2FyZC1ncmlkX19pdGVtIHtcbiAgbWF4LXdpZHRoOiA0NDRweDtcbiAgbWFyZ2luOiAxNnB4IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NDBweCkge1xuICAuby1jYXJkLWdyaWRfX2l0ZW0ge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgbWFyZ2luOiAxNnB4O1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gKDE2cHggKiAyKSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNjBweCkge1xuICAuby1jYXJkLWdyaWRfX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAoMTZweCAqIDIpKTtcbiAgfVxufVxuXG4uby1jb250ZW50LXBlcnNvbmFsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tY29udGVudC1wZXJzb25hbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1jb250ZW50LXBlcnNvbmFsX19kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWNvbnRlbnQtcGVyc29uYWxfX2luZm8ge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWNvbnRlbnQtcGVyc29uYWxfX2luZm8ge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLm8tY29va2llLWJhciB7XG4gIHotaW5kZXg6IC0xO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDY0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUQxRDFEO1xuICBib3gtc2hhZG93OiAwIC00cHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDYwMG1zIGVhc2UtaW4tb3V0O1xufVxuYm9keTpub3QoLmlzLWNvb2tpZXMtYWNjZXB0ZWQpIC5vLWNvb2tpZS1iYXIge1xuICB6LWluZGV4OiA5OTk5O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLm8tY29va2llLWJhci5pcy10cmFuc2l0aW9uaW5nLW91dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHotaW5kZXg6IC0xO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xufVxuXG4uby1jb29raWUtYmFyX19tYWluIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNzRweCkge1xuICAuby1jb29raWUtYmFyX19tYWluIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gIH1cbn1cblxuLm8tY29va2llLWJhcl9fdGV4dCB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNzRweCkge1xuICAuby1jb29raWUtYmFyX190ZXh0IHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIH1cbn1cblxuLm8tY29va2llLWJhcl9fbGluayB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcztcbn1cbi5vLWNvb2tpZS1iYXJfX2xpbms6aG92ZXIge1xuICBjb2xvcjogI2VmZWZlZjtcbn1cblxuLm8tY29va2llLWJhcl9fYnV0dG9uIHtcbiAgZmxleDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1jb29raWUtYmFyX19idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICB9XG59XG5cbi5vLWRvdWJsZS1pbWFnZSB7XG4gIG1hcmdpbjogLTFweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIC5vLWRvdWJsZS1pbWFnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4uby1kb3VibGUtaW1hZ2VfX3BpY3R1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxcHg7XG4gIG9yZGVyOiAxO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIC5vLWRvdWJsZS1pbWFnZV9fcGljdHVyZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgLm8tZG91YmxlLWltYWdlX19waWN0dXJlOmxhc3QtY2hpbGQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxufVxuXG4uby1kb3VibGUtaW1hZ2VfX2ltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBtYXgtaGVpZ2h0OiA4NXZoO1xufVxuXG4uby1kb3VibGUtaW1hZ2UtLWlzLXJldmVyc2VkIC5vLWRvdWJsZS1pbWFnZV9fcGljdHVyZSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5vLWRvdWJsZS1pbWFnZS0taXMtcmV2ZXJzZWQgLm8tZG91YmxlLWltYWdlX19waWN0dXJlOmxhc3QtY2hpbGQge1xuICBvcmRlcjogMDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLm8tZG91YmxlLXRleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1kb3VibGUtdGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4uby1kb3VibGUtdGV4dF9fY29sdW1uICsgLm8tZG91YmxlLXRleHRfX2NvbHVtbiB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1kb3VibGUtdGV4dF9fY29sdW1uIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLWZvb3RlciB7XG4gIHotaW5kZXg6IDIwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2IzYjNiO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLm8tZm9vdGVyX19tYWluIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDMuMTI1dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDMuMTI1dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1mb290ZXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiA0OHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0OHB4O1xuICB9XG59XG5cbi5vLWZvb3Rlcl9fYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgbGluZWFyO1xufVxuLm8tZm9vdGVyX19icmFuZDpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWZvb3Rlcl9fY29sdW1ucyB7XG4gICAgbWFyZ2luLXRvcDogMy4xMjV2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWZvb3Rlcl9fY29sdW1ucyB7XG4gICAgbWFyZ2luLXRvcDogNDhweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZm9vdGVyX19jb2x1bW5zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbi5vLWZvb3Rlcl9fbG9nbyB7XG4gIHdpZHRoOiAxNTJweDtcbn1cblxuLm8tZm9vdGVyX19pbmZvID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZm9vdGVyX19pbmZvIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuLm8tZm9vdGVyX19jb250YWN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAyNHB4IDAgMCAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1mb290ZXJfX25hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuLm8tZm9vdGVyX19saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZm9vdGVyX19saXN0IHtcbiAgICB3aWR0aDogNDIuODU3MTQyODU3MSU7XG4gIH1cbn1cbi5vLWZvb3Rlcl9fbGlzdDpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1mb290ZXJfX2xpc3Q6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDE0LjI4NTcxNDI4NTclO1xuICB9XG59XG5cbi5vLWZvb3Rlcl9fbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uby1mb290ZXJfX2xpbms6OmJlZm9yZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogLThweDtcbiAgcmlnaHQ6IC04cHg7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2Utb3V0O1xufVxuLm8tZm9vdGVyX19saW5rOmhvdmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xufVxuLm8tZm9vdGVyX19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzEzY2ZjZTtcbn1cblxuLm8tZm9vdGVyX19zb2NpYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDMycHggMCAwO1xufVxuXG4uby1mb290ZXJfX2NoYW5uZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xufVxuXG4uby1mb290ZXJfX2ljb24ge1xuICBmbGV4OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xufVxuLmZhY2Vib29rIC5vLWZvb3Rlcl9faWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL2ZhY2Vib29rLnN2Z1wiKTtcbiAgaGVpZ2h0OiAyMXB4O1xufVxuLmluc3RhZ3JhbSAuby1mb290ZXJfX2ljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC9pbnN0YWdyYW0uc3ZnXCIpO1xufVxuLnR3aXR0ZXIgLm8tZm9vdGVyX19pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvdHdpdHRlci5zdmdcIik7XG4gIGhlaWdodDogMjBweDtcbn1cbi5saW5rZWRpbiAuby1mb290ZXJfX2ljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC9saW5rZWRpbi5zdmdcIik7XG4gIGhlaWdodDogMThweDtcbn1cbi5vLWZvb3Rlcl9faWNvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5vLWZvb3Rlcl9faWNvbjpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICMxM2NmY2U7XG59XG5cbi5vLWhlYWRlciB7XG4gIHotaW5kZXg6IDUwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RjZGNkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDMycHggMDtcbn1cbi5vLWhlYWRlci5pcy1zdGlja3kge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDUwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMzJweDtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gIGJveC1zaGFkb3c6IDAgLTVweCAzMHB4IGJsYWNrO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMsIDMwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuby1oZWFkZXIuaXMtc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uaXMtc3RpY2t5LWhlYWRlci12aXNpYmxlIC5vLWhlYWRlci5pcy1zdGlja3kge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBtcztcbn1cblxuLm8taGVhZGVyX19tYWluIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm8taGVhZGVyX19sb2dvIHtcbiAgZmxleDogbm9uZTtcbn1cbi5vLWhlYWRlcl9fbG9nbzpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIG91dGxpbmUtY29sb3I6ICMxM2NmY2U7XG59XG5cbi5vLWhlYWRlcl9faW1nIHtcbiAgaGVpZ2h0OiA0OHB4O1xufVxuXG4uby1oZWFkZXJfX25hdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogNDhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwOTlweCkge1xuICAuby1oZWFkZXJfX25hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby1oZWFkZXJfX2xhbmd1YWdlIHtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDk5cHgpIHtcbiAgLm8taGVhZGVyX19sYW5ndWFnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIC5vLWhlYWRlcl9fdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vLW1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDU1JTtcbn1cblxuLm8tbWFwX19pbm5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uby1vdmVybGF5LW1lbnUge1xuICB6LWluZGV4OiAxMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUQxRDFEO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTIwdncpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDQ1MG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuOCwgMC4yLCAwLjIsIDAuOCk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBtcywgNDUwbXM7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zLCAwbXM7XG59XG4uby1vdmVybGF5LW1lbnU6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTEyMHZ3O1xuICB3aWR0aDogMTIwdnc7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDQ1MG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51OjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgLm8tb3ZlcmxheS1tZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vLW92ZXJsYXktbWVudV9fYmFyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbn1cblxuLm8tb3ZlcmxheS1tZW51X19pbWcge1xuICBoZWlnaHQ6IDQ4cHg7XG59XG5cbi5vLW92ZXJsYXktbWVudV9fdG9nZ2xlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNXR1cm4pO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXMgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51X190b2dnbGUge1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5vLW92ZXJsYXktbWVudV9fbmF2IHtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4uby1vdmVybGF5LW1lbnVfX2xpc3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm8tb3ZlcmxheS1tZW51X19pdGVtICsgLm8tb3ZlcmxheS1tZW51X19pdGVtIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM2NTY1NjU7XG59XG5cbi5vLW92ZXJsYXktbWVudV9fbGluayB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEycHggNy4xNDI4NTcxNDI5JTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC04LjMzMzMzMzMzMzMlKSBzY2FsZSgxLjIpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW47XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBtcztcbn1cbi5vLW92ZXJsYXktbWVudV9fbGluazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzE3MTc7XG59XG4uby1vdmVybGF5LW1lbnVfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICBvdXRsaW5lLWNvbG9yOiAjRkZGRkZGO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51X19saW5rIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQ7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnVfX2l0ZW06bnRoLWNoaWxkKDEpIC5vLW92ZXJsYXktbWVudV9fbGluayB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDQ5NW1zO1xufVxuXG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnVfX2l0ZW06bnRoLWNoaWxkKDIpIC5vLW92ZXJsYXktbWVudV9fbGluayB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDU0MG1zO1xufVxuXG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnVfX2l0ZW06bnRoLWNoaWxkKDMpIC5vLW92ZXJsYXktbWVudV9fbGluayB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDU4NW1zO1xufVxuXG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnVfX2l0ZW06bnRoLWNoaWxkKDQpIC5vLW92ZXJsYXktbWVudV9fbGluayB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDYzMG1zO1xufVxuXG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnVfX2l0ZW06bnRoLWNoaWxkKDUpIC5vLW92ZXJsYXktbWVudV9fbGluayB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDY3NW1zO1xufVxuXG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnVfX2l0ZW06bnRoLWNoaWxkKDYpIC5vLW92ZXJsYXktbWVudV9fbGluayB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcyMG1zO1xufVxuXG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnVfX2l0ZW06bnRoLWNoaWxkKDcpIC5vLW92ZXJsYXktbWVudV9fbGluayB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDc2NW1zO1xufVxuXG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnVfX2l0ZW06bnRoLWNoaWxkKDgpIC5vLW92ZXJsYXktbWVudV9fbGluayB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDgxMG1zO1xufVxuXG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnVfX2l0ZW06bnRoLWNoaWxkKDkpIC5vLW92ZXJsYXktbWVudV9fbGluayB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDg1NW1zO1xufVxuXG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnVfX2l0ZW06bnRoLWNoaWxkKDEwKSAuby1vdmVybGF5LW1lbnVfX2xpbmsge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA5MDBtcztcbn1cblxuLyogSW4gdGhlIFskby1wYXJ0bmVyc10gbWFwIHdlIGRlZmluZSBzb21lIHNldHRpbmdzOlxuICpcbiAqICdjb2x1bW5zJy5rZXkgXHQ9XHRudW1iZXIgb2YgaXRlbXMgaW4gYSByb3dcbiAqICdjb2x1bW5zJy52YWx1ZSBcdD0gXHRicmVha3BvaW50IHNpemUgZnJvbSB3aGljaCB3ZSB3YW50IHRoYXQgbnVtYmVyIG9mIGl0ZW1zXG4gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC5vLXBhcnRuZXJzX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IC00JTtcbiAgfVxufVxuXG4uby1wYXJ0bmVyc19faXRlbSB7XG4gIG1heC13aWR0aDogNDQ0cHg7XG4gIG1hcmdpbjogNCUgYXV0bztcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIHtcbiAgLm8tcGFydG5lcnNfX2l0ZW0ge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgbWFyZ2luOiA0JTtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtICg0JSAqIDIpKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjIwcHgpIHtcbiAgLm8tcGFydG5lcnNfX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAoNCUgKiAyKSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg2MHB4KSB7XG4gIC5vLXBhcnRuZXJzX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDI1JSAtICg0JSAqIDIpKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4MHB4KSB7XG4gIC5vLXBhcnRuZXJzX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDIwJSAtICg0JSAqIDIpKTtcbiAgfVxufVxuXG4uby1wYXJ0bmVyc19fbG9nbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG4uby1wYXJ0bmVyc19fbG9nbzpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNzU7XG59XG5cbi5vLXBhcnRuZXJzX19maWd1cmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uby1wYXJ0bmVyc19faW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4uby1xdW90ZSB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTE1MnB4O1xuICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tcXVvdGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLm8tcXVvdGVfX2JvZHkgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1xdW90ZV9fYm9keSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLXF1b3RlX19waWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1xdW90ZV9fcGljdHVyZSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tcXVvdGVfX3BpY3R1cmUge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuLm8tcXVvdGVfX2ltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLm8tcXVvdGVfX3RleHQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHF1b3RlczogXCLigJxcIiBcIuKAnVwiO1xufVxuLm8tcXVvdGVfX3RleHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG59XG4uby1xdW90ZV9fdGV4dDo6YWZ0ZXIge1xuICBjb250ZW50OiBjbG9zZS1xdW90ZTtcbn1cblxuLm8tcXVvdGVfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLm8tcXVvdGVfX2hlYWRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiLSBcIjtcbn1cblxuLm8tcXVvdGVfX3N1YmhlYWRpbmcge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5cbi5vLXRlc3RpbW9uaWFsc19fbWF0cml4IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IC0yNHB4O1xufVxuXG4uby10ZXN0aW1vbmlhbHNfX2l0ZW0ge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZsZXg6IDAgMSAxMDAlO1xuICBtYXJnaW46IDI0cHg7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgYm94LXNoYWRvdzogMCAxMi41cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDM1KSwgMCAxMDBweCA4MHB4IHJnYmEoMCwgMCwgMCwgMC4wNyk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuby10ZXN0aW1vbmlhbHNfX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gNDhweCk7XG4gIH1cbn1cblxuLm8tdGVzdGltb25pYWxzX19ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy1yaWdodDogNDBweDtcbn1cblxuLm8tdGVzdGltb25pYWxzX19waWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1iYXNpczogMjUlO1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBtYXJnaW4tbGVmdDogNDBweDtcbn1cblxuLm8tdGVzdGltb25pYWxzX19jb250ZW50IHtcbiAgZmxleC1ncm93OiA5OTk5O1xuICBmbGV4LWJhc2lzOiAxMmVtO1xuICBtYXJnaW4tbGVmdDogMjRweDtcbn1cblxuLm8tdGVzdGltb25pYWxzX19hdXRob3Ige1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuXG4uby1zdWJmb290ZXIge1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJDMkMyQztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5vLXN1YmZvb3Rlcl9fbWFpbiB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTE1MnB4O1xuICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xufVxuXG4uby1zdWJmb290ZXJfX2NvcHlyaWdodCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIG1hcmdpbi1yaWdodDogMzJweDtcbn1cblxuLm8tc3ViZm9vdGVyX19uYXYge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uby1zdWJmb290ZXJfX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uby1zdWJmb290ZXJfX2l0ZW0ge1xuICBtYXJnaW4tcmlnaHQ6IDMycHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5vLXN1YmZvb3Rlcl9fbGluayB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xufVxuLm8tc3ViZm9vdGVyX19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICNjZGNkY2Q7XG59XG4uby1zdWJmb290ZXJfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjMTNjZmNlO1xufVxuXG4uby1zdWJmb290ZXJfX3RyYWRlbWFyayB7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4vKlxuICogT24gc21hbGwgc2NyZWVucyB0aGUgY29udGVudCBpcyBzdGFja2VkLCB3aXRob3V0IGNvbnRyb2xzXG4gKiBXaGVuIHRoZSBzY3JlZW4gaXMgd2lkZSBlbm91Z2ggd2UgYWRkIHRoZSBjb250cm9sc1xuICogYW5kIHNob3cgb25seSB0aGUgY2hvc2VuICdzbGlkZSBjb250ZW50J1xuICovXG4uby10YWJzIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby10YWJzX19jb250cm9scyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic19fY29udHJvbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuXG4uby10YWJzX19idXR0b24ge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMTZweCAzMnB4O1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICBjb2xvcjogIzNiM2IzYjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyO1xufVxuLm8tdGFic19fYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG59XG4uby10YWJzX19idXR0b24uaXMtYWN0aXZlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG59XG4uby10YWJzX19idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6ICMxM2NmY2U7XG59XG4uby10YWJzX19idXR0b246Zm9jdXM6bm90KC5pcy1hY3RpdmUpOm5vdCg6YWN0aXZlKSB7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggM3B4IHJnYmEoMTksIDIwNywgMjA2LCAwLjEpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10YWJzX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgcGFkZGluZzogNDhweCAzMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tdGFic19fY29udGVudCArIC5vLXRhYnNfX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXRhYnNfX2NvbnRlbnQge1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGxpbmVhcjtcbiAgfVxuICAuby10YWJzX19jb250ZW50LmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbn1cblxuLm8tdGFic19fbGFiZWwge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10YWJzX19sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vKiBJbiB0aGUgWyRvLXRlYW1dIG1hcCB3ZSBkZWZpbmUgc29tZSBzZXR0aW5nczpcbiAqXG4gKiAnY29sdW1ucycua2V5IFx0PVx0bnVtYmVyIG9mIGl0ZW1zIGluIGEgcm93XG4gKiAnY29sdW1ucycudmFsdWUgXHQ9IFx0YnJlYWtwb2ludCBzaXplIGZyb20gd2hpY2ggd2Ugd2FudCB0aGF0IG51bWJlciBvZiBpdGVtc1xuICovXG4uby10ZWFtIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MjRweCkge1xuICAuby10ZWFtX19tYXRyaXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogLTE2cHg7XG4gIH1cbn1cbi5vLXRlYW1fX2l0ZW0ge1xuICBtYXgtd2lkdGg6IDMyMHB4O1xuICBtYXJnaW46IDE2cHggYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUyNHB4KSB7XG4gIC5vLXRlYW1fX2l0ZW0ge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgbWFyZ2luOiAxNnB4O1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gKDE2cHggKiAyKSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc4NHB4KSB7XG4gIC5vLXRlYW1fX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAoMTZweCAqIDIpKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5MHB4KSB7XG4gIC5vLXRlYW1fX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMjUlIC0gKDE2cHggKiAyKSk7XG4gIH1cbn1cblxuLm8tdGV4dC1pbWFnZSB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTE1MnB4O1xuICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGV4dC1pbWFnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4uby10ZXh0LWltYWdlX19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10ZXh0LWltYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXRleHQtaW1hZ2VfX3Zpc3VhbCB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXRleHQtaW1hZ2UtLWlzLXJldmVyc2VkIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXRleHQtaW1hZ2UtLWlzLXJldmVyc2VkIC5vLXRleHQtaW1hZ2VfX3Zpc3VhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLXZhY2FuY2llcyB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm8tdmFjYW5jaWVzX19pdGVtICsgLm8tdmFjYW5jaWVzX19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLm8tdmFjYW5jaWVzX19saW5rIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMzJweDtcbiAgYm9yZGVyOiAycHggc29saWQgIzFEMUQxRDtcbiAgY29sb3I6ICMxRDFEMUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xufVxuLm8tdmFjYW5jaWVzX19saW5rOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2RjZGNkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xufVxuXG4vKiAgNyAtIFRlbXBsYXRlc1xuICogIE92ZXJyaWRlIHN0eWxpbmcgZm9yIGEgc3BlY2lmaWMgdGVtcGxhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUZW1wbGF0ZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogIDggLSBTQ09QRVNcbiAqICBFbGVtZW50cyBhbmQgY2xhc3NlcyB0aGF0IGFyZSBzY29wZWQgYnkgYSBwYXJlbnQgY2xhc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBbGwgdGV4dCBlbGVtZW50cyB0aGF0IGNhbiBiZSBhZGRlZCBieSB0aGUgdXNlciB0aHJvdWdoIGEgQ01TXG4gKi9cbi5zLXRleHQgaDIsIC5zLXRleHQgaDMsIC5zLXRleHQgaDQge1xuICBjb2xvcjogIzJDMkMyQztcbn1cbi5zLXRleHQgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG4ucy10ZXh0ID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLnMtdGV4dCA+ICogKyBbY2xhc3MqPWMtXSB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG4ucy10ZXh0ID4gdWw6bm90KFtjbGFzc10pIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5zLXRleHQgPiB1bDpub3QoW2NsYXNzXSkgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjEyNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuMTI1ZW07XG59XG4ucy10ZXh0ID4gdWw6bm90KFtjbGFzc10pID4gbGk6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xuICBjb250ZW50OiBcIuKAolwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTRweDtcbiAgbGVmdDogMDtcbn1cbi5zLXRleHQgPiBvbDpub3QoW2NsYXNzXSkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBvbC1jb3VudGVyO1xufVxuLnMtdGV4dCA+IG9sOm5vdChbY2xhc3NdKSA+IGxpIHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IG9sLWNvdW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjEyNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuOGVtO1xufVxuLnMtdGV4dCA+IG9sOm5vdChbY2xhc3NdKSA+IGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKG9sLWNvdW50ZXIpIFwiLiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxLjI3NWVtO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyogIDkgLSBMSUJSQVJJRVNcbiAqICBTdHlsaW5nIHdlIGltcGxlbWVudCBmcm9tIHRoaXJkIHBhcnRpZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogIDEwIC0gVVRJTElUSUVTXG4gKiAgSGlnaC1zcGVjaWZpY2l0eSwgdmVyeSBleHBsaWNpdCBzZWxlY3RvcnMuXG4gKiAgT3ZlcnJpZGVzIGFuZCBoZWxwZXIgY2xhc3Nlcy5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBDb2xvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogSGVyZSB3ZSBwcmludCBvdXQgYWxsIG91ciBoZWxwZXIgY2xhc3NlcyBmb3Igb3VyIGRlZmluZWQgY29sb3JzXG4gKiBCYXNlZCBvbiB0aGVzZSBhcnRpY2xlczpcbiAqIC0gaHR0cDovL2Vyc2tpbmVkZXNpZ24uY29tL2Jsb2cvZnJpZW5kbGllci1jb2xvdXItbmFtZXMtc2Fzcy1tYXBzL1xuICogLSBodHRwczovL2Jsb2cuYXRlY2htZWRpYS5jb20vY3NzLWZvci1tdWx0aXBsZS10aGVtZXMvXG4gKiBPdXRwdXQgaXMgaW4gdGhlIGZvcm0gb2Y6XG5cbiAgIC51LWNvbG9yLXByaW1hcnkge1xuICAgICAgY29sb3I6ICNiYWRhNTU7XG4gICB9XG5cbiAgLnUtYmctbmV1dHJhbC0tOTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVjYWZmO1xuICB9XG4gKi9cbi51LWNvbG9yLW5ldXRyYWwtLTAge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnUtYmctbmV1dHJhbC0tMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTEwMCB7XG4gIGNvbG9yOiAjRjhGOEY4O1xufVxuXG4udS1iZy1uZXV0cmFsLS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS0yMDAge1xuICBjb2xvcjogI2VmZWZlZjtcbn1cblxuLnUtYmctbmV1dHJhbC0tMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tMzAwIHtcbiAgY29sb3I6ICNjZGNkY2Q7XG59XG5cbi51LWJnLW5ldXRyYWwtLTMwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZGNkY2Q7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTQwMCB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4udS1iZy1uZXV0cmFsLS00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5OTk5O1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS01MDAge1xuICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLnUtYmctbmV1dHJhbC0tNTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1NjU2NTtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tNjAwIHtcbiAgY29sb3I6ICM0YTRhNGE7XG59XG5cbi51LWJnLW5ldXRyYWwtLTYwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0YTRhNGE7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTcwMCB7XG4gIGNvbG9yOiAjM2IzYjNiO1xufVxuXG4udS1iZy1uZXV0cmFsLS03MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2IzYjNiO1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS04MDAge1xuICBjb2xvcjogIzJDMkMyQztcbn1cblxuLnUtYmctbmV1dHJhbC0tODAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJDMkMyQztcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tOTAwIHtcbiAgY29sb3I6ICMxRDFEMUQ7XG59XG5cbi51LWJnLW5ldXRyYWwtLTkwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRDFEMUQ7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTEwMDAge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLnUtYmctbmV1dHJhbC0tMTAwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG5cbi51LWNvbG9yLWZlZWRiYWNrLS1mb2N1cyB7XG4gIGNvbG9yOiAjMTNjZmNlO1xufVxuXG4udS1iZy1mZWVkYmFjay0tZm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTNjZmNlO1xufVxuXG4udS1jb2xvci1mZWVkYmFjay0tYWN0aW9uIHtcbiAgY29sb3I6ICM0MDc5Qjg7XG59XG5cbi51LWJnLWZlZWRiYWNrLS1hY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA3OUI4O1xufVxuXG4udS1jb2xvci1mZWVkYmFjay0td2FybmluZyB7XG4gIGNvbG9yOiAjZmZkMzNhO1xufVxuXG4udS1iZy1mZWVkYmFjay0td2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmQzM2E7XG59XG5cbi51LXBsYWNlaG9sZGVyLWltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi51LXRleHQtYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi51LWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLnUtdmlzdWFsbHktaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoMTAwJSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi51LWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLnUtaGlkZGVuXFxAcy1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC51LWhpZGRlblxcQG0tdXAge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC51LWhpZGRlblxcQG0tZG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLnUtaGlkZGVuXFxAbC11cCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLnUtaGlkZGVuXFxAbC1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qXG4qIElmIHlvdSBuZWVkIHRvIG1ha2UgYSBxdWljayBmaXgsIHlvdSBjYW4gZG8gaXQgaGVyZS5cbiogTGF0ZXIgd2hlbiB5b3UgaGF2ZSB0aGUgdGltZSwgeW91IGNhbiBtb3ZlIHRoZSBmaXggaW50byB0aGUgY29ycmVjdCBwbGFjZSBpbiB0aGUgc3RydWN0dXJlXG4qL1xuLnUtc3BhY2luZy1tMCB7XG4gIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXQwIHtcbiAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXIwIHtcbiAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjAge1xuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDAge1xuICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcDAge1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDAge1xuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHIwIHtcbiAgcGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGIwIHtcbiAgcGFkZGluZy1ib3R0b206IDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsMCB7XG4gIHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbTEge1xuICBtYXJnaW46IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10MSB7XG4gIG1hcmdpbi10b3A6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yMSB7XG4gIG1hcmdpbi1yaWdodDogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWIxIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWwxIHtcbiAgbWFyZ2luLWxlZnQ6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXAxIHtcbiAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQxIHtcbiAgcGFkZGluZy10b3A6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiMSB7XG4gIHBhZGRpbmctYm90dG9tOiA4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDEge1xuICBwYWRkaW5nLWxlZnQ6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW0yIHtcbiAgbWFyZ2luOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXQyIHtcbiAgbWFyZ2luLXRvcDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yMiB7XG4gIG1hcmdpbi1yaWdodDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1iMiB7XG4gIG1hcmdpbi1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDIge1xuICBtYXJnaW4tbGVmdDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXAyIHtcbiAgcGFkZGluZzogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXB0MiB7XG4gIHBhZGRpbmctdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHIyIHtcbiAgcGFkZGluZy1yaWdodDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiMiB7XG4gIHBhZGRpbmctYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGwyIHtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbTMge1xuICBtYXJnaW46IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDMge1xuICBtYXJnaW4tdG9wOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXIzIHtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWIzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcDMge1xuICBwYWRkaW5nOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQzIHtcbiAgcGFkZGluZy10b3A6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjMge1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGIzIHtcbiAgcGFkZGluZy1ib3R0b206IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDMge1xuICBwYWRkaW5nLWxlZnQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tNCB7XG4gIG1hcmdpbjogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10NCB7XG4gIG1hcmdpbi10b3A6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjQge1xuICBtYXJnaW4tcmlnaHQ6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjQge1xuICBtYXJnaW4tYm90dG9tOiAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWw0IHtcbiAgbWFyZ2luLWxlZnQ6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wNCB7XG4gIHBhZGRpbmc6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDQge1xuICBwYWRkaW5nLXRvcDogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByNCB7XG4gIHBhZGRpbmctcmlnaHQ6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjQge1xuICBwYWRkaW5nLWJvdHRvbTogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsNCB7XG4gIHBhZGRpbmctbGVmdDogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW01IHtcbiAgbWFyZ2luOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXQ1IHtcbiAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yNSB7XG4gIG1hcmdpbi1yaWdodDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1iNSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDUge1xuICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXA1IHtcbiAgcGFkZGluZzogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXB0NSB7XG4gIHBhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHI1IHtcbiAgcGFkZGluZy1yaWdodDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiNSB7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGw1IHtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbTYge1xuICBtYXJnaW46IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDYge1xuICBtYXJnaW4tdG9wOiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXI2IHtcbiAgbWFyZ2luLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWI2IHtcbiAgbWFyZ2luLWJvdHRvbTogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sNiB7XG4gIG1hcmdpbi1sZWZ0OiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcDYge1xuICBwYWRkaW5nOiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQ2IHtcbiAgcGFkZGluZy10b3A6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjYge1xuICBwYWRkaW5nLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGI2IHtcbiAgcGFkZGluZy1ib3R0b206IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDYge1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tNyB7XG4gIG1hcmdpbjogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10NyB7XG4gIG1hcmdpbi10b3A6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjcge1xuICBtYXJnaW4tcmlnaHQ6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjcge1xuICBtYXJnaW4tYm90dG9tOiA1NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWw3IHtcbiAgbWFyZ2luLWxlZnQ6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wNyB7XG4gIHBhZGRpbmc6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDcge1xuICBwYWRkaW5nLXRvcDogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByNyB7XG4gIHBhZGRpbmctcmlnaHQ6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjcge1xuICBwYWRkaW5nLWJvdHRvbTogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsNyB7XG4gIHBhZGRpbmctbGVmdDogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW04IHtcbiAgbWFyZ2luOiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXQ4IHtcbiAgbWFyZ2luLXRvcDogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yOCB7XG4gIG1hcmdpbi1yaWdodDogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1iOCB7XG4gIG1hcmdpbi1ib3R0b206IDY0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDgge1xuICBtYXJnaW4tbGVmdDogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXA4IHtcbiAgcGFkZGluZzogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXB0OCB7XG4gIHBhZGRpbmctdG9wOiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHI4IHtcbiAgcGFkZGluZy1yaWdodDogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiOCB7XG4gIHBhZGRpbmctYm90dG9tOiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGw4IHtcbiAgcGFkZGluZy1sZWZ0OiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUaGlzIGdyaWQgY2FuIGJlIHR1cm5lZCBvbiBhbmQgb2ZmIHdoZW4geW91IHdhbnQgdG8gY2hlY2tcbiAqIGlmIGV2ZXJ5dGhpbmcgaXMgbmljZSBpbiBwbGFjZS5cbiAqIFNldCBmbGFnICdzaG93X2dyaWQnIHRvIHRydWUgaW4gc2l0ZS5waHBcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udS12aXNpYmxlLWdyaWQge1xuICB6LWluZGV4OiAxMDAwMDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC51LXZpc2libGUtZ3JpZCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4udS12aXNpYmxlLWdyaWRfX21haW4ge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDM4LCA3NywgMjE3LCAwLjIpLCByZ2JhKDM4LCA3NywgMjE3LCAwLjIpIDFweCwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCA4LjMzMzMzMzMzMzMlKSwgcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDM4LCA3NywgMjE3LCAwLjIpLCByZ2JhKDM4LCA3NywgMjE3LCAwLjIpIDFweCwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCAxMDB2dyk7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPcmdhbml6ZSBjb2xvciB2YXJpYWJsZXMgaW4gYSBTYXNzIE1hcC5cbiAgIFRoaXMgd2F5LCB0aGUgY29sb3JzIGNhbiBiZSBpdGVyYXRlZCwgYXJlIG1vcmUgb3JnYW5pemVkLFxuICAgYW5kIGFyZSBtb3JlIGludHVpdGl2ZSB0byByZWZlcmVuY2UuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4kcGFsZXR0ZXM6IChcbiAgLy8ncHJpbWFyeSc6IChcbiAgLy8gIDUwMDogIzc5OGM4YyxcbiAgLy8gIDcwMDogIzVkNzM3MyxcbiAgLy8pLFxuXG4gICduZXV0cmFsJzogKFxuICAgIDA6ICAgI0ZGRkZGRixcbiAgICAxMDA6ICNGOEY4RjgsXG4gICAgMjAwOiAjZWZlZmVmLFxuICAgIDMwMDogI2NkY2RjZCxcbiAgICA0MDA6ICM5OTk5OTksXG4gICAgNTAwOiAjNjU2NTY1LFxuICAgIDYwMDogIzRhNGE0YSxcbiAgICA3MDA6ICMzYjNiM2IsXG4gICAgODAwOiAjMkMyQzJDLFxuICAgIDkwMDogIzFEMUQxRCxcbiAgICAxMDAwOiAjMDAwMDAwLFxuICApLFxuXG4gICdmZWVkYmFjayc6IChcbiAgICBmb2N1czogIzEzY2ZjZSxcbiAgICBhY3Rpb246ICAgIzQwNzlCOCxcbiAgICB3YXJuaW5nOiAgI2ZmZDMzYSxcbiAgICAvL25lZ2F0aXZlOiAjY2YzZTNlLFxuICAgIC8vcG9zaXRpdmU6ICMzZWNmOGUsXG4gICksXG4pO1xuXG5cbi8qKlxuICpcdEEgc2ltcGxlIGZ1bmN0aW9uIGZvciBhY2Nlc3NpbmcgdGhlIGNvbG9ycyBmcm9tIG91ciBtYXBwaW5nXG4gKlx0VG8gYWNjZXNzIGNvbG9ycyBpbiBvdXIgcGFsZXR0ZSwgd2UgdXNlIGEgdmVyeSBzaW1wbGUgY3VzdG9tIFNhc3MgZnVuY3Rpb25cbiAqICBUaGlzIGZ1bmN0aW9uIGlzIHBsYWNlZCBoZXJlLCAoYW5kIG5vdCBpbiB0aGUgdG9vbGJveClcbiAqICBzbyB3ZSBjYW4gdXNlIGl0IGluIG91ciBvdGhlciBzZXR0aW5nIGZpbGVzIGlmIHdlIG5lZWRcblxuXHRVU0FHRTpcblxuXHQuZGVtbyB7XG5cdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0fVxuXG4gKi9cblxuQGZ1bmN0aW9uIHBhbGV0dGUoJHBhbGV0dGUsICRsZXZlbDogMSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJHBhbGV0dGVzLCAkcGFsZXR0ZSkge1xuICAgIEBpZiBtYXAtaGFzLWtleShtYXAtZ2V0KCRwYWxldHRlcywgJHBhbGV0dGUpLCAkbGV2ZWwpIHtcbiAgICAgIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRwYWxldHRlcywgJHBhbGV0dGUpLCAkbGV2ZWwpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gSWYgbGV2ZWwgZG9lc24ndCBleGlzdCBpbiBtYXAsIGdpdmUgdGhlIGZpcnN0IHZhbHVlIG9mIHRoZSBwYWxldHRlXG4gICAgICBAcmV0dXJuIG50aChudGgobWFwLWdldCgkcGFsZXR0ZXMsICRwYWxldHRlKSwgMSksIDIpO1xuICAgIH1cbiAgfVxuXG4gIEB3YXJuIFwiVW5rbm93biBjb2xvcjogYCN7JHBhbGV0dGV9YCBpbiAkcGFsZXR0ZS4gXCI7XG4gIEByZXR1cm4gZGVlcHBpbms7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uZmlnIHNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhlIGRlZmF1bHQgYm9yZGVyLXJhZGl1cyB2YWx1ZXMgdXNlZCBpbiB0aGUgYm9yZGVyIG1peGluXG5cbiRib3JkZXItcmFkaXVzOiAoXG5cdHM6IDRweCxcblx0bTogOHB4LFxuXHRsOiAxNnB4XG4pO1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbHVtbiBzZXR0aW5nc1xuXG4kc2l0ZS1jb2x1bW5zOiAxNDtcbiRzaXRlLWNvbHVtbi1zaXplOlx0XHQgICAgOTY7IC8vIFNpemUgb2YgYSBzaW5nbGUgY29sdW1uIHdoZW4gdmlld3BvcnQgaXMgYXQgaXRzIG1heCB3aWR0aCAodXNlZCBmb3IgY2FsY3VsYXRpbmcgbWF4LXdpZHRoKS5cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBPdGhlciBzZXR0aW5nc1xuXG4kc2l0ZS1jb29raWVCYXItaGVpZ2h0OiAgICAgXHRcdDY0cHg7IC8vIEZpeGVkIHNpemUgc28gd2UgY2FuIG9mZnNldCBwYWRkaW5nLWJvdHRvbSBvbiB0aGUgYm9keVxuJHNpdGUtY29va2llQmFyLXRyYW5zaXRpb24tc3BlZWQ6IFx0NjAwbXM7IC8vIFNwZWVkIG9mIHRoZSBkaXNhcHBlYXIgYW5pbWF0aW9uXG4kc2l0ZS1jb29raWVCYXItdHJhbnNpdGlvbi1lYXNlOiBcdGVhc2UtaW4tb3V0OyAvLyBFYXNpbmcgb2YgdGhlIGRpc2FwcGVhciBhbmltYXRpb25cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRpb25zIHRoYXQgYXJlIGRvbmUgd2l0aCBzb21lIG9mIHRoZSBnaXZlbiB2YWx1ZXMgYWJvdmUgdGhpcyBsaW5lXG5cbiRzaXRlLW1heC13aWR0aDogJHNpdGUtY29sdW1uLXNpemUgKiAoJHNpdGUtY29sdW1ucyAtIDIpOyAvLyBNYWluIGNvbnRhaW5lciBtYXgtd2lkdGggKHdpdGhvdXQgZ3V0dGVyKVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIFx0IERlZmluZXMgdGhlIHR5cG9ncmFwaGljIGJhc2VsaW5lLlxuICAgV2UgZGVmaW5lIGV2ZXJ5IHNpemUgaW4gcGl4ZWxzLCB0aGUgdW5kZXJseWluZyBzeXN0ZW1cbiAgIGNvbnZlcnRzIHRoZSByZXNwZWN0aXZlIHVuaXRzIHRvIHRoZSByZXNwb25zaXZlIFJFTSB2YWx1ZS5cbiBcdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogT3VyIGJhc2UgZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodFxuICovXG4kYmFzZS1mb250LXNpemU6ICAgXHQxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHQhZGVmYXVsdDtcbiRiYXNlLWxpbmUtaGVpZ2h0OiBcdDI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdCFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXJhdGlvOlx0JGJhc2UtbGluZS1oZWlnaHQvJGJhc2UtZm9udC1zaXplICAgIWRlZmF1bHQ7XG5cbiRmb250LXNpemVzOiAoXG5cdCd4cyc6IFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQxNCxcblx0XHRsaW5lLWhlaWdodDogXHQxNlxuXHQpLFxuXHQncyc6IFx0XHRcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDE1LFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDI0XG5cdCksXG5cdCdiYXNlJzogXHRcdChcblx0XHRmb250LXNpemU6IFx0XHQkYmFzZS1mb250LXNpemUsXG5cdFx0bGluZS1oZWlnaHQ6IFx0JGJhc2UtbGluZS1oZWlnaHRcblx0KSxcblx0J20nOiBcdFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQyMCxcblx0XHRsaW5lLWhlaWdodDogXHQzMlxuXHQpLFxuXHQnbCc6IFx0XHRcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDI0LFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDMyXG5cdCksXG5cdCd4bCc6IFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQzMixcblx0XHRsaW5lLWhlaWdodDogXHQ0MFxuXHQpLFxuXHQneHhsJzogXHRcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDQwLFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDQwXG5cdCksXG5cdCd4eHhsJzogXHRcdChcblx0XHRmb250LXNpemU6IFx0XHQ0OCxcblx0XHRsaW5lLWhlaWdodDogXHQ0OFxuXHQpLFxuXHQneHh4eGwnOiBcdFx0KFxuXHRcdGZvbnQtc2l6ZTogXHRcdDU2LFxuXHRcdGxpbmUtaGVpZ2h0OiBcdDU2XG5cdCksXG4pO1xuXG5cbi8qKlxuICpcdEhlcmUgd2UgYXNzaWduIHNob3J0IG5hbWVzIGZvciB0aGUgZm9udCBmYW1pbGllc1xuICovXG5cbiRmb250LXN5c3RlbTpcdFx0LWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4kZm9udC1yb2JvdG86IFx0J1JvYm90bycsIHNhbnMtc2VyaWY7IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERlZmluZSBicmVha3BvaW50cyBmb3IgZ2l2ZW4gZm9ybWF0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vLyBEZWZhdWx0IGJyZWFrcG9pbnRzXG4kYnJlYWtwb2ludHM6IChcblx0czogMzg0LFxuXHRtOiA4NDAsXG5cdGw6IDExNTIsXG4pO1xuXG4vLyBEZXRlcm1pbmUgYXQgd2hpY2ggdmlld3BvcnQgc2l6ZSB3ZSBjYW4gZml0IGluIGEgaG9yaXpvbnRhbCBtZW51IGluc3RlYWQgb2YgdGhlIGhhbWJ1cmdlciBtZW51IHRvZ2dsZVxuJGJwLWhlYWRlci1sYXJnZTogMTEwMDtcblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHZpZXdwb3J0IHNpemUgd2hlbiBjb250YWluZXIgY2FuJ3QgZ3JvdyBhbnltb3JlXG4kYnAtbWF4OiAkc2l0ZS1jb2x1bW5zICogJHNpdGUtY29sdW1uLXNpemU7IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRnVuY3Rpb25zIHVzZWQgaW4gZ3JpZCBjYWxjdWxhdGlvblxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgKiBSZXR1cm4gcGVyY2VudGFnZSBiYXNlZCBvbiBhbW91bnQgb2YgY29sdW1uc1xuICAqIFVzZSBwYXJlbnQgY29sdW1uIHNpemUgdG8gYWRqdXN0IHRoZSBvcmlnaW5cbiAgKi9cbkBmdW5jdGlvbiBjYWxjdWxhdGVDb2x1bW5TaXplKCRjb2x1bW5Db3VudCA6IDEsICRvcmlnaW4gOiAkc2l0ZS1jb2x1bW5zKSB7XG5cdC8vIENhbGN1bGF0ZSB0aGUgd2lkdGggZm9yIGEgc2luZ2xlIGNvbHVtbiBvbiBhIGZ1bGwgZ3JpZFxuXHQkc2luZ2xlQ29sdW1uU2l6ZTogMTAwIC8gJHNpdGUtY29sdW1ucztcblxuXHQvLyBHZXQgdGhlIG9yaWdpbiBzaXplIGluIHBlcmNlbnRhZ2UgZnJvbSB0aGUgZnVsbCBncmlkXG5cdCRvcmlnaW5QZXJjZW50YWdlOiAkb3JpZ2luIC8gJHNpdGUtY29sdW1ucyAqIDEwMDtcblxuXHQvLyBDYWxjdWxhdGUgc2luZ2xlIGNvbHVtbiBmcm9tIG5ldyBvcmlnaW5cblx0JG5ld1NpbmdsZUNvbHVtblNpemU6ICRzaW5nbGVDb2x1bW5TaXplIC8gJG9yaWdpblBlcmNlbnRhZ2UgKiAxMDA7XG5cblx0Ly8gUmV0dXJuIGFtb3VudCBvZiBjb2x1bW5zIGFzIHBlcmNlbnRhZ2Vcblx0QHJldHVybiAoJG5ld1NpbmdsZUNvbHVtblNpemUgKiAkY29sdW1uQ291bnQpO1xufVxuXG4vKipcbiAgKiBEZWZhdWx0IGZ1bmN0aW9uIGZvciBjb2x1bW5zXG4gICogUmV0dXJuIGFzIHBlcmNlbnRhZ2VcbiAgKi9cbkBmdW5jdGlvbiBjb2x1bW4oJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICgkc2l0ZS1jb2x1bW5zIC0gMikpIHtcblx0QHJldHVybiBjYWxjdWxhdGVDb2x1bW5TaXplKCRjb2x1bW5Db3VudCwgJG9yaWdpbikgKiAxJTtcbn1cblxuLyoqXG4gICogUmV0dXJuIGFzIHZpZXdwb3J0IHdpZHRoXG4gICovXG5AZnVuY3Rpb24gY29sdW1uVncoJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICgkc2l0ZS1jb2x1bW5zIC0gMikpIHtcblx0QHJldHVybiBjYWxjdWxhdGVDb2x1bW5TaXplKCRjb2x1bW5Db3VudCwgJG9yaWdpbikgKiAxdnc7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEZvbnQgcmVsYXRlZCBmdW5jdGlvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKiAgTWl4aW4gZm9yIHNldHRpbmcgZm9udC1zaXplIGluIFJFTSB0aHJvdWdoIGEgU2FzcyBNYXAgd2l0aCBhbGwgYXZhaWxhYmxlIHNpemVzXG5cbiAgICBVU0FHRTpcblxuICAgIC5teUNsYXNzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKHhsKTtcbiAgICB9XG5cbiAqL1xuXG5cbkBtaXhpbiBmb250LXNpemUoJGZzLCAkbGg6IG51bGwpIHtcbiAgLy8gR2V0IGNvcnJlY3Qga2V5IHdpdGggZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodCBweCB2YWx1ZVxuICAkZm9udC1zaXplLXByb3BlcnRpZXM6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsICRmcyk7XG4gIEBpZiAkZm9udC1zaXplLXByb3BlcnRpZXMge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShtYXAtZ2V0KCRmb250LXNpemUtcHJvcGVydGllcywgZm9udC1zaXplKSk7XG5cbiAgICBAaWYoJGxoID09IG51bGwpe1xuICAgICAgbGluZS1oZWlnaHQ6IG1hcC1nZXQoJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzLCBsaW5lLWhlaWdodCkgLyBtYXAtZ2V0KCRmb250LXNpemUtcHJvcGVydGllcywgZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGggLyBtYXAtZ2V0KCRmb250LXNpemUtcHJvcGVydGllcywgZm9udC1zaXplKTtcbiAgICB9XG4gIH1cbiAgLy8gV2hlbiBtYXBwaW5nIGlzbid0IGZvdW5kIGNhbGN1bGF0ZSBhcyBpZiBQWC12YWx1ZSB3YXMgZ2l2ZW4gYW5kIHJldHVybiBSRU0gdmFsdWVcbiAgQGVsc2Uge1xuICAgIEBpZiBpcy1udW1iZXIoJGZzKSB7XG4gICAgICBmb250LXNpemU6IHZhbHVlVG9SZW0oJGZzKTtcblxuICAgICAgQGlmKCRsaCAhPSBudWxsKXtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaCAvICRmcztcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gXCIgYCN7JGZzfWAgaXMgbm90IGEgdmFsaWQgdmFsdWUuIEl0IG11c3QgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6IGAjeyRmb250LXNpemVzfWBcIjtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1RPRE86IHJlbW92ZSBmdW5jdGlvbiBhbmQgdXNlc1xuQG1peGluIGZvbnQoJHNpemUsICRsaDogbnVsbCwgJHdlaWdodDogbnVsbCkge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNpemUsICRsaCk7XG59IiwiLyogTWVkaWEgcXVlcnkgbWl4aW4gZm9yIHdyaXRpbmcgTW9iaWxlIEZpcnN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGZ1bmN0aW9uIGNvbnZlcnRCcmVha3BvaW50S2V5VG9WYWx1ZSgkYnJlYWtwb2ludCkge1xuXG5cdEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSB7XG5cdFx0QHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpO1xuXHR9XG5cblx0QHdhcm4gXCJVbmtub3duIGJyZWFrcG9pbnQ6IGAjeyRicmVha3BvaW50fWAgaW4gJGJyZWFrcG9pbnRzLlwiO1xuXHRAcmV0dXJuIG51bGw7XG59XG5cbkBtaXhpbiBtcSgkbWluOiBudWxsLCAkbWF4OiBudWxsKSB7XG5cdCRxdWVyeTogXCJhbGxcIiAhZGVmYXVsdDtcblxuXHQvLyBUcnkgdG8gY29udmVydCAkbWluIHZhbHVlIGlmIG5vdCBudW1iZXIgb3IgbnVsbFxuXHRAaWYodHlwZS1vZigkbWluKSAhPSBudW1iZXIgYW5kICRtaW4gIT0gbnVsbCl7XG5cdFx0JG1pbjogY29udmVydEJyZWFrcG9pbnRLZXlUb1ZhbHVlKCRtaW4pO1xuXHR9XG5cblx0Ly8gVHJ5IHRvIGNvbnZlcnQgJG1heCB2YWx1ZSBpZiBub3QgbnVtYmVyIG9yIG51bGxcblx0QGlmKHR5cGUtb2YoJG1heCkgIT0gbnVtYmVyIGFuZCAkbWF4ICE9IG51bGwpe1xuXHRcdCRtYXg6IGNvbnZlcnRCcmVha3BvaW50S2V5VG9WYWx1ZSgkbWF4KTtcblx0fVxuXG5cdC8vIHNldCBib3RoIG1pbiBhbmQgbWF4XG5cdEBpZiAoJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwpIHtcblx0XHQkcXVlcnk6IFwiKG1pbi13aWR0aDogI3skbWlufXB4KSBhbmQgKG1heC13aWR0aDogI3skbWF4IC0gMX1weClcIjtcblx0fVxuXHQvLyBzZXQganVzdCBtaW5cblx0QGVsc2UgaWYgKCRtaW4gIT0gbnVsbCBhbmQgJG1heCA9PSBudWxsKSB7XG5cdFx0JHF1ZXJ5OiBcIihtaW4td2lkdGg6ICN7JG1pbn1weClcIjtcblx0fVxuXHQvLyBzZXQganVzdCBtYXhcblx0QGVsc2UgaWYgKCRtaW4gPT0gbnVsbCBhbmQgJG1heCAhPSBudWxsKSB7XG5cdFx0JHF1ZXJ5OiBcIihtYXgtd2lkdGg6ICN7JG1heCAtIDF9cHgpXCI7XG5cdH1cblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAjeyRxdWVyeX0ge1xuXHRcdEBjb250ZW50O1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUb29sYm94IGZ1bmN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKiAgTWF0aHMgaGVscGVycy5cbiAqICBIYWx2ZSBhbmQgZG91YmxlIG51bWJlcnMsIHJldHVybmluZyByb3VuZGVkIGludGVnZXJzLlxuXG4gICAgVVNBR0U6XG5cbiAgICAuZm9vIHtcbiAgICAgICAgcGFkZGluZzogaGFsdmUoMzBweCk7XG4gICAgfVxuXG4gKi9cblxuQGZ1bmN0aW9uIHF1YXJ0ZXIoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgLyA0KTtcbn1cblxuQGZ1bmN0aW9uIGhhbHZlKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyIC8gMik7XG59XG5cbkBmdW5jdGlvbiBkb3VibGUoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgKiAyKTtcbn1cblxuQGZ1bmN0aW9uIHRyaXBsZSgkbnVtYmVyKSB7XG5cdEByZXR1cm4gcm91bmQoJG51bWJlciAqIDMpO1xufVxuXG5AZnVuY3Rpb24gcXVhZHJ1cGxlKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyICogNCk7XG59XG5cblxuLyoqXG4gKiAgUmVtb3ZlIHRoZSB1bml0IG9mIGEgbGVuZ3RoXG4gKiAgQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxuICogIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbiAqL1xuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XG5cdEBpZiB0eXBlLW9mKCRudW1iZXIpID09ICdudW1iZXInIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlcikge1xuXHRcdEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xuXHR9XG5cblx0QHJldHVybiAkbnVtYmVyO1xufVxuXG5cbi8qIENoZWNrIGlmIHZhbHVlIGlzIG51bWJlciAqL1xuXG5AZnVuY3Rpb24gaXMtbnVtYmVyKCR2YWx1ZSkge1xuXHRAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJztcbn1cblxuXG4vKiBWYWx1ZSB0byBFbSAqL1xuXG5AZnVuY3Rpb24gdmFsdWVUb1JlbSgkdmFsdWUpIHtcblx0JG5vVW5pdHM6IHN0cmlwLXVuaXQoJHZhbHVlKTtcblx0QHJldHVybiAjeyRub1VuaXRzIC8gMTYgKiAxcmVtfTtcbn1cblxuLyogVmFsdWUgdG8gUmVtICovXG5cbkBmdW5jdGlvbiB2YWx1ZVRvRW0oJHZhbHVlKSB7XG5cdCRub1VuaXRzOiBzdHJpcC11bml0KCR2YWx1ZSk7XG5cdEByZXR1cm4gI3skbm9Vbml0cyAvIDE2ICogMWVtfTtcbn1cblxuXG5cblxuLy8gU2V0IGEgZml4ZWQgc3BhY2UgYmFzZWQgb24gdGhlIDhwdCBncmlkXG4vLyBKdXN0IHBhc3MgdGhlIGZ1bmN0aW9uIGEgbnVtYmVyIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgKDgpcG9pbnRzIHlvdSBuZWVkXG5AZnVuY3Rpb24gc3BhY2UoJHNpemU6ICcxJykge1xuICBAcmV0dXJuIDhweCAqICRzaXplO1xufVxuXG5cblxuLypcbiAqIFNldCB2ZXJ0aWNhbCBzcGFjaW5nIGZvciB2aWV3cG9ydCBsYXJnZXIgdGhhbiBtb2JpbGVcbiAqIEluIGZsZXhpYmxlIHVuaXRzICh2dykgYW5kIG9uIG1heCB2aWV3cG9ydCBpbiBhIGZpeGVkIGFtb3VudCAocHgpXG5cbiBVU0FHRTpcblxuIC5leGFtcGxlIHtcblx0IEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdCdwYWRkaW5nLXRvcCcgMC4zMyxcblx0XHQnbWFyZ2luLWJvdHRvbScgMC41XG5cdCk7XG4gIH1cblxuICovXG5cbkBtaXhpbiB2c3BhY2luZygkdmFsdWVzLi4uKSB7XG5cdEBpbmNsdWRlIG1xKCRtYXg6ICRicC1tYXgpIHtcblx0XHRAZWFjaCAkaSBpbiAkdmFsdWVzIHtcblx0XHRcdCN7bnRoKCRpLCAxKX06ICN7KDEgLyAoJHNpdGUtY29sdW1ucyArIDIpICogMTAwKSAqIG50aCgkaSwgMil9dnc7XG5cdFx0fVxuXHR9XG5cdC8vIGxvY2sgaXQgaW4gcHggdmFsdWVzIHNvIGl0IHdvbid0IGtlZXAgZ3Jvd2luZ1xuXHRAaW5jbHVkZSBtcSgkYnAtbWF4KSB7XG5cdFx0QGVhY2ggJGkgaW4gJHZhbHVlcyB7XG5cdFx0XHQvLyN7bnRoKCRpLCAxKX06ICN7KCRzaXRlLW1heC13aWR0aCAvICRzaXRlLWNvbHVtbnMpICogbnRoKCRpLCAyKX1weDtcblx0XHRcdCN7bnRoKCRpLCAxKX06ICN7JHNpdGUtY29sdW1uLXNpemUgKiBudGgoJGksIDIpfXB4O1xuXHRcdH1cblx0fVxufVxuXG5cbi8qKlxuICpcdEEgc2ltcGxlIGZ1bmN0aW9uIGZvciBzZXR0aW5nIGEgY29uc2lzdGVudCBib3JkZXItcmFkaXVzXG5cblx0VVNBR0U6XG5cblx0LmNhcmQge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG5cdH1cblxuXHQuY2FyZC0tYWx0IHtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKGwpO1xuXHR9XG5cbiAqL1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHR5cGU6IHMpIHtcblx0QGlmICgkdHlwZSA9PSAncycpIHtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKTtcblx0fVxuXHRAaWYgKCR0eXBlID09ICdtJykge1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIG0pO1xuXHR9XG5cdEBpZiAoJHR5cGUgPT0gJ2wnKSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgbCk7XG5cdH1cbn1cblxuLyoqXG4gKiBMb2JvdG9taXplZCBPd2wgU2VsZWN0b3IgbWl4aW46XG4gKiAtIFNldCBzcGFjaW5nIGZvciBjb25zZWN1dGl2ZSBpdGVtcyB3aXRoIG1hcmdpbi10b3Agb24gYWxsIGJ1dCB0aGUgZmlyc3QgaXRlbVxuXG5cdFVTQUdFOlxuXG5cdC5ib3gge1xuXHRcdEBpbmNsdWRlIG93bC1jaGlsZHJlbjtcblx0fVxuXG5cdC5jYXJkX19pdGVtIHtcblx0XHRAaW5jbHVkZSBvd2w7XG5cdH1cblxuICovXG5cbi8qXG4gKiBMb2JvdG9taXplZCBvd2wgc2VsZWN0b3IuXG4gKiAtIEdpdmVzIHRoZSBjaGlsZHJlbiBvZiB0aGUgZWxlbWVudCBzcGFjaW5nXG4gKiAtIGh0dHBzOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9heGlvbWF0aWMtY3NzLWFuZC1sb2JvdG9taXplZC1vd2xzXG4gKi9cbkBtaXhpbiBvd2wtY2hpbGRyZW4oJG1hcmdpbjogI3skbGluZS1oZWlnaHQtcmF0aW99cmVtKSB7XG5cdCYgPiAqICsgKiB7XG5cdFx0bWFyZ2luLXRvcDogJG1hcmdpbjtcblx0fVxufVxuXG4vLyBHaXZlcyB0aGUgZWxlbWVudCBpdHNlbGYgc3BhY2luZ1xuQG1peGluIG93bCgkbWFyZ2luOiAjeyRsaW5lLWhlaWdodC1yYXRpb31yZW0sICRtcTogbnVsbCkge1xuXHRAaWYoJG1xID09IG51bGwpIHtcblx0XHQmICsgJiB7XG5cdFx0XHRtYXJnaW4tdG9wOiAkbWFyZ2luO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0QGluY2x1ZGUgbXEoJG1heDogJG1xKXtcblx0XHRcdCYgKyAmIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogJG1hcmdpbjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiAgU2hvdyBoeXBoZW5zIGZvciBldmVyeSBicm93c2VyIHN1cHBvcnRpbmcgaXRcbiAqICBhbmQgd2lsbCBicmVhayBsaW5lcyBpbiBldmVyeSBvdGhlciBicm93c2VyXG4gKi9cblxuQG1peGluIGh5cGhlbmF0ZSB7XG5cdG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0LXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuXHQtbXMtaHlwaGVuczogYXV0bztcblx0aHlwaGVuczogYXV0bztcbn1cblxuXG5cblxuLypcbiAqICBSZXN0cmljdCBhbiBlbGVtZW50IHRvIGEgbWF4LXdpZHRoIGZvciBjcmVhdGluZyBndXR0ZXJzIG9uIHRoZSBzaWRlXG4gKi9cbi8qXG4gKiAgUmVzdHJpY3QgYW4gZWxlbWVudCB0byBhIG1heC13aWR0aCBmb3IgY3JlYXRpbmcgZ3V0dGVycyBvbiB0aGUgc2lkZVxuICovXG5AbWl4aW4gY29udGFpbigkbXE6IG51bGwsICRtYXg6IG51bGwpIHtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblxuXHRAaWYgKCRtYXggPT0gbnVsbCkge1xuXHRcdG1heC13aWR0aDogI3skc2l0ZS1tYXgtd2lkdGh9cHg7XG5cblx0XHQvLyBpZiBubyBhcmd1bWVudCBpcyBwYXNzZWQgY29udGFpbiBvbiBhbGwgdmlld3BvcnRzXG5cdFx0QGlmICgkbXEgPT0gbnVsbCkge1xuXHRcdFx0d2lkdGg6IGNhbGMoKDEwMCUgLyAjeyRzaXRlLWNvbHVtbnN9KSAqICN7JHNpdGUtY29sdW1ucyAtIDJ9KTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdC8vIGlmIG1lZGlhIHF1ZXJ5IGlzIHBhc3NlZCB1c2UgdGhhdCBpbiBvdXIgbWl4aW5cblx0XHRcdEBpbmNsdWRlIG1xKCRtcSkge1xuXHRcdFx0XHR3aWR0aDogY2FsYygoMTAwJSAvICN7JHNpdGUtY29sdW1uc30pICogI3skc2l0ZS1jb2x1bW5zIC0gMn0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAZWxzZSB7XG5cdFx0QGluY2x1ZGUgbXEoJG1heDogJG1heCkge1xuXHRcdFx0d2lkdGg6IGNhbGMoKDEwMCUgLyAjeyRzaXRlLWNvbHVtbnN9KSAqICN7JHNpdGUtY29sdW1ucyAtIDJ9KTtcblx0XHR9XG5cdH1cbn1cblxuXG4vKlxuICpcdEEgbWl4aW4gdG8gc2V0IGVsZW1lbnRzIHRvIGl0cyBvd24gbmFtZWQgZ3JpZC1hcmVhXG4gKi9cblxuQG1peGluIHRlbXBsYXRlKCRlbGVtZW50cy4uLikge1xuXHRAZWFjaCAkZWxlbWVudCBpbiAkZWxlbWVudHMge1xuXHRcdCZfXyN7JGVsZW1lbnR9IHtcblx0XHRcdGdyaWQtYXJlYTogJGVsZW1lbnQ7XG5cdFx0XHRkaXNwbGF5OiBibG9jazsgLy8gSW4gSUUgZ3JpZCBpdGVtcyBjYW4ndCBiZSBpbmxpbmVcblx0XHR9XG5cdH1cbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIFRoZSAnei1pbmRleC1tYXAnIGlzIHVzZWQgZm9yIG1hbmFnaW5nIHRoZSBlbGVtZW50cyBzdGFja2luZyBvcmRlciBpbiB0aGUgJ3Jvb3QnIHN0YWNraW5nIGNvbnRleHRcbiAqICBUaGlzIHdheSB3ZSBoYXZlIGEgb3ZlcnZpZXcgb2YgYWxsIHRoZSB6LWluZGV4IHZhbHVlcyB0aGF0IGFyZSB1c2VkIGFjcm9zcyB0aGUgcHJvamVjdC5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuJHotaW5kZXg6IChcblx0ei12aXNpYmxlLWdyaWQ6XHRcdFx0MTAwMDAsXG5cdHotY29va2llOlx0XHQgXHRcdFx0XHQ5OTk5LFxuXHR6LW92ZXJsYXktbWVudTpcdFx0XHQxMDAsXG5cdHotaGVhZGVyOiBcdFx0XHRcdFx0NTAsXG5cdHotYm9keTpcdFx0XHRcdFx0XHRcdDQwLFxuXHR6LWZvb3RlcjpcdFx0XHRcdCBcdFx0MjAsXG5cdHotc3ViZm9vdGVyOlx0XHRcdFx0MTAsXG4pO1xuXG5cbi8qKlxuICAgIFVTQUdFOlxuXG4gICAgQGluY2x1ZGUgeih6LW1vZGFsKTtcblxuICovXG5cbkBtaXhpbiB6KCRsYWJlbCkge1xuXHR6LWluZGV4OiBtYXAtZ2V0KCR6LWluZGV4LCRsYWJlbCk7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEJhc2ljIGVsZW1lbnRzIChubyBjbGFzcyBzZWxlY3RvcnMgYWxsb3dlZClcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogU2V0IHVwIHRoZSBodG1sXG4gKlxuICogMS4gTWFrZXMgc3VyZSB0aGF0IHNvbWUgZm9udHMgYXJlIGJldHRlciByZW5kZXJlZFxuICogMi4gU2V0IGZvbnQgdG8gbGluaW5nIGZpZ3VyZXNcbiAqXG4gKi9cblxuaHRtbCB7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXHRmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibG51bVwiO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cblxuYm9keSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXJhdGlvO1xuXHRmb250LWZhbWlseTogJGZvbnQtcm9ib3RvO1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDYwMCk7XG5cdGJhY2tncm91bmQ6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuXG4vKipcbiAqIFsxXSBNYWtlIHN1cmUgZWxlbWVudHMgbGlrZSBpbnB1dCBhbmQgdGV4dGFyZWEgaW5oZXJpdCBzb21lIGJhc2UgcHJvcGVydGllc1xuICogICAgIGh0dHBzOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTYvMTEvY3NzLWluaGVyaXRhbmNlLWNhc2NhZGUtZ2xvYmFsLXNjb3BlLW5ldy1vbGQtd29yc3QtYmVzdC1mcmllbmRzL1xuICpcbiAqIFsyXSBTZXR0aW5nIGJveC1zaXppbmcgdGhlIGJlc3Qgd2F5IHBlcjpcbiAqICAgICBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cbiAqL1xuKiB7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRsaW5lLWhlaWdodDogaW5oZXJpdDtcblx0Y29sb3I6IGluaGVyaXQ7XG5cblx0Jixcblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGJveC1zaXppbmc6IGluaGVyaXQ7XG5cdH1cbn1cblxuXG4vKipcbiAqIFsxXSBUdXJuIG9mZiB0ZXh0LXNoYWRvdyB3aGVuIHNlbGVjdGluZyB0ZXh0IGZvciBiZXR0ZXIgcmVhZGFiaWxpdHlcbiAqL1xuOjpzZWxlY3Rpb24ge1xuXHRiYWNrZ3JvdW5kOiBwYWxldHRlKGZlZWRiYWNrLCBmb2N1cyk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHR0ZXh0LXNoYWRvdzogbm9uZTsgLyogWzFdICovXG59XG5cblxuLyogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGFyb3VuZCBmaWd1cmVcbiAqL1xuZmlndXJlIHtcblx0bWFyZ2luOiAwO1xufVxuXG5cbi8qKlxuICogWzFdIFNldHRpbmcgJ3ZlcnRpY2FsLWFsaWduJyByZW1vdmVzIHRoZSB3aGl0ZXNwYWNlIHRoYXQgYXBwZWFycyB1bmRlciAnaW1nJ1xuICpcdCAgIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgZHJvcHBlZCBpbnRvIGEgcGFnZSBhcy1pcy4gU2FmZXIgYWx0ZXJuYXRpdmUgdG9cbiAqXHQgICB1c2luZyAnZGlzcGxheTogYmxvY2s7Jy5cbiAqIFsyXSBSZW1vdmUgYm9yZGVyIC8gZXNwZWNpYWxseSBvbiBvbGRlciBicm93c2Vyc1xuICovXG5pbWcsIHN2ZyB7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qWzFdKi9cblx0Ym9yZGVyOiBub25lOyAvKlsyXSovXG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuXG4vKipcbiAqICBOZWVkZWQgZm9yIGlPUyB0byBwcmV2ZW50IGlucHV0IHpvb21pbmdcbiAqICBodHRwczovL3V4Y2VsbGVuY2UuY29tLzIwMTQvMDEvMTUvcXVpY2stZml4LWluY3JlYXNlLWZvbnQtc2l6ZS10by0xNnB4LXRvLWZpeC1pbnB1dC16b29tXG4gKi9cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRmb250LXNpemU6IDE2cHg7XG59XG5cblxuLy8gTGlua3Mgd2l0aCBubyBjbGFzcyBnZXQgYSBkZWZhdWx0IGhvdmVyXG5hOm5vdChbY2xhc3NdKSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwMCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bzsgLy8gcHJldHR5IHVuZGVybGluaW5nIGxpbmtzXG5cblx0Jjpob3ZlciB7XG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0aGVpZ2h0OiAycHg7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG5cdFx0fVxuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgZm9jdXMpO1xuXHR9XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDEwMCU7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDFweDtcblx0XHRiYWNrZ3JvdW5kOiBwYWxldHRlKG5ldXRyYWwsIDEwMDApO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNpdGlvbjogaGVpZ2h0IDMwMG1zLCBvcGFjaXR5IDMwMG1zLCB0cmFuc2Zvcm0gMzAwbXM7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuXHR9XG59XG5cblxuLy8gVE9ETzogSXMgdGhpcyB0aGUgcmlnaHQgd2F5IHRvIHJlc2V0IGFsbCBtYXJnaW4/P1xuLy8gUmVzZXQgYWxsIHRvcCBtYXJnaW5zXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBoZ3JvdXAsXG51bCwgb2wsIGRkLFxucCwgZmlndXJlLFxucHJlLCB0YWJsZSwgZmllbGRzZXQsIGhyIHtcblx0bWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn0iLCJoMSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4eGwpO1xufVxuXG5oMiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmgzIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGwpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG5oNCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShtKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuaDUsIGg2IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIExpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICpcdERlZmF1bHQgaW5kZW50YXRpb24gdmFsdWUgZm9yIGxpc3RzXG4gKi9cblxudWwsXG5vbHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRtYXJnaW4tbGVmdDogMS4xMjVlbTtcbn1cblxuZGR7XG5cdG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5cblxuLyoqXG4gKlx0UmVtb3ZlIGV4dHJhIHZlcnRpY2FsIHNwYWNpbmcgd2hlbiBuZXN0aW5nIGxpc3RzLlxuICovXG5cbmxpIHtcblx0PiB1bCxcblx0PiBvbCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufSIsIi5sLWJsb2NrIHtcbiAgLy8gVG9wIG1hcmdpbiBvbmx5IG9uIGNvbnNlY3V0aXZlIGJsb2Nrc1xuICAmICsgJiB7XG4gICAgQGluY2x1ZGUgdnNwYWNpbmcoXG4gICAgICAgICdtYXJnaW4tdG9wJyAxXG4gICAgKTtcbiAgfVxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIENvbnRhaW5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmwtY29udGFpbiB7XG4gIEBpbmNsdWRlIGNvbnRhaW47XG59IiwiQGluY2x1ZGUgbXEobSkge1xuXHQubC1kaXZpZGUge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxufVxuXG5cbi5sLWRpdmlkZV9faXRlbSB7XG5cdEBpbmNsdWRlIG93bChzcGFjZSgzKSwgbSk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdCY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdH1cblx0fVxufSIsIi5sLWZvcm1fX2JvZHkge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg1KTtcbn1cblxuXG4ubC1mb3JtX19yb3cge1xuXHQmICsgJiB7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoMyk7XG5cdH1cbn1cblxuXG4ubC1mb3JtX19mb290ZXIge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg1KTtcbn1cblxuXG4vLyBBIGhpZGRlbiB3cmFwcGVyIGZvciBob25leSBwb3Qgc3R1ZmZcbi5sLWZvcm1fX3BvdCB7XG5cdG9wYWNpdHk6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1x0bGVmdDogMDsgaGVpZ2h0OiAwOyB3aWR0aDogMDtcblx0ei1pbmRleDogLTE7XG59IiwiIC8qXG4gKiBXcmFwcGVyIG9mIHRoZSBtYWluIGJvZHlcbiAqIChiZXR3ZWVuIHRoZSBoZWFkZXIgYW5kIHRoZSBmb290ZXIpXG5cbiAqIFsxXSBBdm9pZCB0aGUgSUUgMTAtMTEgYG1pbi1oZWlnaHRgIGJ1Zy5cbiAqL1xuXG5cbiAvLyAubC1wYWdlIG5lZWRzIHRvIGJlIG9uIHRoZSBib2R5IGVsZW1lbnRcbi5sLXBhZ2Uge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7IC8qIFsxXSAqL1xufVxuXG5cbi5sLXBhZ2VfX2hlYWRlciB7XG4gXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLmwtcGFnZV9fYm9keSB7XG5cdEBpbmNsdWRlIHooei1ib2R5KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRmbGV4OiAxIDAgYXV0bztcbn1cblxuXG4ubC1wYWdlX19mb290ZXIge1xuIFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRmbGV4LXNocmluazogMDtcblxuXHQvLyBTb21lIHNldHRpbmdzIGZvciBtYWtpbmcgc3VyZSB0aGUgY29va2llLWJhciBkb2Vzbid0IGNvdmVyIHRoZSBjb250ZW50XG5cdHBhZGRpbmctYm90dG9tOiAkc2l0ZS1jb29raWVCYXItaGVpZ2h0O1xuXHR0cmFuc2l0aW9uOiBwYWRkaW5nICRzaXRlLWNvb2tpZUJhci10cmFuc2l0aW9uLXNwZWVkICRzaXRlLWNvb2tpZUJhci10cmFuc2l0aW9uLWVhc2U7XG5cblx0Ym9keS5pcy1jb29raWVzLWFjY2VwdGVkICYge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG59XG5cblxuLy8gV3JhcHBlciBmb3IgaW5pdGlhbGx5IGhpZGRlbiBlbGVtZW50c1xuLmwtcGFnZV9fY29uY2VhbGVkIHtcbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIENvbXBvbmVudHNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy5icmVhZGNydW1iXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5idXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmNhcmRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmNsb3NlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5mb3JtR3JvdXBcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmZvcm1GZWVkYmFja1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuaGFtYnVyZ2VyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5oZWFkaW5nXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5pbnB1dFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMubGFuZ3VhZ2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLm5hdlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMucGFnZVRpdGxlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5wZXJzb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnByb2plY3RvclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2VydmljZVBvaW50XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zaXRlbWFwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5za2lwTGlua1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2xpZGVJbmRpY2F0b3JcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnN1Ym5hdlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMudGV4dEJ1dHRvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMudHJhZGVtYXJrXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy52aWRlb1wiOyIsIi5jLWJyZWFkY3J1bWIge1xuXHRwYWRkaW5nLWJvdHRvbTogNHB4OyAvLyBtYWtlIHN1cmUgdG90YWwgaGVpZ2h0IHdpbGwgYmUgZGl2aXNpYmxlIGJ5IDhcbiB9XG5cbi5jLWJyZWFkY3J1bWJfX2xpc3Qge1xuXHRtYXJnaW46IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcbn1cblxuXG4uYy1icmVhZGNydW1iX19pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHQmOm50aC1jaGlsZChuKzIpIHtcblx0XHQmIC5jLWJyZWFkY3J1bWJfX2ljb24ge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdHdpZHRoOiBzcGFjZSgzKTtcblx0XHRcdGhlaWdodDogc3BhY2UoMyk7XG5cdFx0XHRtYXJnaW4tbGVmdDogc3BhY2UoMSk7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDEpO1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuXHRcdFx0Ly9jb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA1MDApO1xuXHRcdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0XHR9XG5cdH1cbn1cblxuLmMtYnJlYWRjcnVtYl9fbGluayB7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQuYy1icmVhZGNydW1iX19pdGVtLS1sYXN0ICYge1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR9XG59IiwiLmMtYnV0dG9uIHtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhzKTtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhzKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IHNwYWNlKDEuNSkgMDtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNzAwKTtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC03ZGVnLCBwYWxldHRlKG5ldXRyYWwsIDEwMDApIDUwJSwgdHJhbnNwYXJlbnQgNTAlKTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgNDAwJTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAyNTBtcyBlYXNlLWluLW91dDtcblx0Ym9yZGVyOiBub25lO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3gtc2hhZG93OiAwIDAgNHB4IDJweCBwYWxldHRlKGZlZWRiYWNrLCBmb2N1cyk7XG5cdH1cblx0JjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHR9XG5cblx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuXHR9XG59XG5cbi5jLWJ1dHRvbl9fdGV4dCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0cGFkZGluZzogMCBzcGFjZSgzKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC5jLWJ1dHRvbi0taWNvbiAmIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgyKTtcblx0fVxufVxuXG5cbi5jLWJ1dHRvbl9faWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7IC8vIEJ5IGRlZmF1bHQgaWNvbiBpcyBoaWRkZW5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xuXHR0b3A6IC0xcHg7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMik7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcztcblxuXHQuYy1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgJiB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG5cdH1cblxuXHQvLyBXaGVuIGljb24gY29tZXMgYmVmb3JlIHRoZSB0ZXh0IChpbiB0aGUgRE9NKSBzd2l0Y2ggdGhlIG1hcmdpblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IHNwYWNlKDIpO1xuXHR9XG5cblx0LmMtYnV0dG9uLS1pY29uICYge1xuXHRcdGRpc3BsYXk6IGJsb2NrOyAvLyBTaG93IHdoZW4gaGFzIGljb24gbW9kaWZpZXJcblx0XHR3aWR0aDogc3BhY2UoMik7XG5cdH1cbn1cblxuXG4uYy1idXR0b24tLWdob3N0IHtcblx0JGMtYnV0dG9uLWJvcmRlci1zaXplOiAycHg7XG5cdHBhZGRpbmc6IGNhbGMoI3tzcGFjZSgxLjUpIC0gJGMtYnV0dG9uLWJvcmRlci1zaXplfSkgMDtcblx0Ym9yZGVyOiAkYy1idXR0b24tYm9yZGVyLXNpemUgc29saWQgcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC03ZGVnLCBwYWxldHRlKG5ldXRyYWwsIDMwMCkgNTAlLCB0cmFuc3BhcmVudCA1MCUpO1xufSIsIi5jLWNhcmQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi5jLWNhcmRfX3BpY3R1cmUge1xuXHR3aWR0aDogMTAwJTtcblx0ZmxleDogYXV0bztcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cblxuLmMtY2FyZF9faW1nIHtcblx0b2JqZWN0LWZpdDogY292ZXI7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMjAwKTtcbn1cblxuXG4uYy1jYXJkX19sYWJlbCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZzogMTRweCAxMHB4IDE1cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDgwMCk7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQ7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuXG5cdC5jLWNhcmQ6aG92ZXIgJiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDAwKTtcblx0fVxufSIsIi5jLWNsb3NlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogc3BhY2UoNSk7XG5cdGhlaWdodDogc3BhY2UoNSk7XG5cdHBhZGRpbmc6IDA7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTgwbXMgZWFzZS1vdXQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDNweCAycHggcGFsZXR0ZShuZXV0cmFsLCAzMDApO1xuXHR9XG5cblx0JjphZnRlcixcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDIwcHg7XG5cdFx0cmlnaHQ6IDIwJTtcblx0XHRsZWZ0OiAyMCU7XG5cdFx0aGVpZ2h0OiAzcHg7XG5cdFx0bWFyZ2luLXRvcDogLTJweDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiBwYWxldHRlKG5ldXRyYWwsIDMwMCk7XG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHR9XG5cdCY6YmVmb3JlIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdH1cblx0JjphZnRlciB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcblx0fVxufSIsIi5jLWZvcm0tZ3JvdXBfX2xhYmVsIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHMpO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogc3BhY2UoMC41KSAwO1xufVxuXG5cbi5jLWZvcm0tZ3JvdXBfX2Vycm9yIHtcblx0ZGlzcGxheTogbm9uZTtcblxuXHQuaGFzLWVycm9yICY6bm90KDplbXB0eSkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZzogc3BhY2UoMSk7XG5cdFx0Y29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIHdhcm5pbmcpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEocGFsZXR0ZShmZWVkYmFjaywgd2FybmluZyksIDAuMSk7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgcGFsZXR0ZShmZWVkYmFjaywgd2FybmluZyk7XG5cdFx0Ym9yZGVyLXRvcDogbm9uZTtcblx0XHRib3JkZXItcmFkaXVzOiAwIDAgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdH1cbn0iLCIuYy1mb3JtLWZlZWRiYWNrIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHMpO1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKHMpO1xuXHRtYXJnaW46IHNwYWNlKDIpIDAgMDtcblx0cGFkZGluZzogc3BhY2UoMykgc3BhY2UoNCk7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHBhbGV0dGUoZmVlZGJhY2ssIHdhcm5pbmcpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHBhbGV0dGUoZmVlZGJhY2ssIHdhcm5pbmcpLCAwLjEpO1xuXG5cdCY6YmVmb3Jle1xuXHRcdGNvbnRlbnQ6IGF0dHIoZGF0YS1mZWVkYmFjayk7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1sZWZ0OiBzcGFjZSgtMik7XG5cdFx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMSk7XG5cdH1cblxuXHQvLyBNYWtlIHN1cmUgZGl2IGJlY29tZXMgdmlzaWJsZSB3aGVuIGl0IGlzIHBvcHVsYXRlZCB3aXRoIGl0ZW1zIHZpYSBKU1xuXHQmOm5vdCg6ZW1wdHkpIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufSIsIi5jLWhhbWJ1cmdlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRhbGlnbi1zZWxmOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IHNwYWNlKDUpO1xuXHRoZWlnaHQ6IHNwYWNlKDUpO1xuXHRwYWRkaW5nOiAwO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA4MDApO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgM3B4IDJweCBwYWxldHRlKGZlZWRiYWNrLCBmb2N1cyk7XG5cdH1cblxuXHQmID4gc3Bhbixcblx0JjphZnRlcixcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDIwcHg7XG5cdFx0cmlnaHQ6IDIwJTtcblx0XHRsZWZ0OiAyMCU7XG5cdFx0aGVpZ2h0OiAzcHg7XG5cdFx0bWFyZ2luLXRvcDogLTJweDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogMTAwbXM7XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0dG9wOiAxMnB4O1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHR0b3A6IDI4cHg7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoMC41KTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdCYgPiBzcGFuIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG5cdFx0fVxuXHRcdCY6YWZ0ZXIsXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMSk7XG5cdFx0fVxuXHR9XG5cblx0LmlzLW92ZXJsYXktbWVudS1hY3RpdmUgJiB7XG5cdFx0JiA+IHNwYW4ge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMSkgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCkgc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XG5cdFx0fVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpIHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMG1zO1xuXHRcdH1cblx0fVxufSIsIi5jLWhlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250KHhsKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgODAwKTtcbn0iLCIkYy1pbnB1dC1ib3JkZXItc2l6ZTogMnB4O1xuXG5cbi5jLWlucHV0IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHMpO1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKHMpO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogKHNwYWNlKDEpIC0gJGMtaW5wdXQtYm9yZGVyLXNpemUpIHNwYWNlKDIpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA4MDApO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRib3JkZXI6ICRjLWlucHV0LWJvcmRlci1zaXplIHNvbGlkIHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0b3V0bGluZTogbm9uZTtcblxuXHQuaGFzLWVycm9yICYge1xuXHRcdGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCBwYWxldHRlKGZlZWRiYWNrLCB3YXJuaW5nKTtcblx0XHRib3JkZXItY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIHdhcm5pbmcpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDdweCAtM3B4IHBhbGV0dGUoZmVlZGJhY2ssIGZvY3VzKTtcblx0XHRib3JkZXItY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGZvY3VzKTtcblx0fVxuXG5cdEBhdC1yb290IHRleHRhcmVhI3smfSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZzogc3BhY2UoMik7XG5cdFx0bWluLWhlaWdodDogc3BhY2UoMjApIC0gZG91YmxlKCRjLWlucHV0LWJvcmRlci1zaXplKTtcblx0XHRsaW5lLWhlaWdodDogc3BhY2UoMyk7XG5cdFx0cmVzaXplOiB2ZXJ0aWNhbDtcblx0fVxufSIsIi5jLWxhbmd1YWdlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi5jLWxhbmd1YWdlX19idXR0b24ge1xuXHRAaW5jbHVkZSBmb250KHMpO1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiBzcGFjZSgxKTtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDgwMCk7XG5cdGJvcmRlcjogbm9uZTtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcywgYm94LXNoYWRvdyAxNTBtcztcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG59XG5cblxuLmMtbGFuZ3VhZ2VfX2ljb24ge1xuXHRmbGV4OiBub25lO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4uYy1sYW5ndWFnZV9fbGFiZWwge1xuXHRtYXJnaW4tbGVmdDogc3BhY2UoMC41KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cblxuLmMtbGFuZ3VhZ2VfX2Ryb3Bkb3duIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiAxMDAlO1xuXHRtaW4td2lkdGg6IDEwMCU7XG5cdG1hcmdpbjogMDtcblx0b3BhY2l0eTogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdGJveC1zaGFkb3c6IDAgMCAxMnB4IDFweCByZ2JhKHBhbGV0dGUobmV1dHJhbCwgMTAwMCksIDAuMTUpO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcywgdHJhbnNmb3JtIDMwMG1zO1xuXG5cdC5jLWxhbmd1YWdlOmhvdmVyICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0fVxufVxuXG5cbi5jLWxhbmd1YWdlX19pdGVtIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblxuXHQmOm50aC1jaGlsZChldmVuKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAyMDApO1xuXHR9XG5cblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgMCAwO1xuXHR9XG5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHRib3JkZXItcmFkaXVzOiAwIDAgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdH1cblxuXHQmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIHMpO1xuXHR9XG59XG5cblxuLmMtbGFuZ3VhZ2VfX2xpbmsge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogc3BhY2UoMC41KSBzcGFjZSgxKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNTAwKTtcblx0fVxufVxuXG4iLCIkYy1uYXYtbGluay1wYWRkaW5nOiA0cHg7XG5cblxuLmMtbmF2IHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwYWRkaW5nOiAwO1xufVxuXG5cbi5jLW5hdl9fbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG5cbi5jLW5hdl9faXRlbSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0bWFyZ2luLXJpZ2h0OiAyJTtcblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxufVxuXG5cbi5jLW5hdl9fbGluayB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogJGMtbmF2LWxpbmstcGFkZGluZztcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgODAwKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAxNTBtcyBsaW5lYXI7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0bGVmdDogJGMtbmF2LWxpbmstcGFkZGluZztcblx0XHRib3R0b206IDFweDtcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gI3tkb3VibGUoJGMtbmF2LWxpbmstcGFkZGluZyl9KTtcblx0XHRoZWlnaHQ6IDJweDtcblx0XHRib3JkZXItcmFkaXVzOiAxcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDApO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuXHRcdH1cblx0fVxuXG5cdC8vIFdoZW4gaXRlbSBpcyBhY3RpdmVcblx0LmlzLWFjdGl2ZS5jLW5hdl9faXRlbSAmIHtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDAwKTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDAwKTtcblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBmb2N1cyk7XG5cdH1cbn0iLCIvKlxuICogUGFnZSB0aXRsZVxuICovXG5cblxuLmMtcGFnZS10aXRsZSB7XG5cdEBpbmNsdWRlIGh5cGhlbmF0ZTtcblx0cGFkZGluZy10b3A6IHNwYWNlKDQpO1xuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoNCk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDgwMCk7XG59XG5cblxuLmMtcGFnZS10aXRsZV9fbGVhZCB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRtYXJnaW4tdG9wOiBzcGFjZSgtMik7XG5cdFx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMik7XG5cdH1cbn1cblxuXG4uYy1wYWdlLXRpdGxlX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHh4bCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG59IiwiLmMtcGFnaW5hdGlvbiB7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobSk7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWxlZnQ6IDA7IC8vIHJlc2V0XG5cdGxpc3Qtc3R5bGU6IG5vbmU7IC8vIHJlc2V0XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJvcmRlcjogMXB4IHNvbGlkIHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcbn1cblxuXG4uYy1wYWdpbmF0aW9uX19pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0Ly8gT24gc21hbGwgc2NyZWVucyBoaWRlIGFsbCBpdGVtcyBidXQgdGhlIGFycm93cywgZmlyc3QgcGFnZSwgbGFzdCBwYWdlIGFuZCBhY3RpdmVcblx0QGluY2x1ZGUgbXEoJG1heDogbSl7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdCY6Zmlyc3QtY2hpbGQsXG5cdFx0JjpsYXN0LWNoaWxkLFxuXHRcdCYuaXMtbGFzdC1wYWdlLFxuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0fVxuXG5cdFx0Ji5pcy1sYXN0LXBhZ2Uge1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0JiArICYge1xuXHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG5cdFx0Ym9yZGVyLWNvbG9yOiBpbmhlcml0O1xuXHR9XG59XG5cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCxcbi5jLXBhZ2luYXRpb25fX2xpbmssXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1pbi13aWR0aDogc3BhY2UoNik7XG5cdG1pbi1oZWlnaHQ6IHNwYWNlKDYpO1xuXHRwYWRkaW5nOiBzcGFjZSgxKTtcbn1cblxuXG4uYy1wYWdpbmF0aW9uX190ZXh0IHtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0b3BhY2l0eTogMC4zNTtcbn1cblxuXG4uYy1wYWdpbmF0aW9uX19saW5rIHtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAyMDBtcywgYmFja2dyb3VuZC1jb2xvciAyMDBtcztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDAwKTtcblx0XHRiYWNrZ3JvdW5kOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdH1cblxuXHQuaXMtYWN0aXZlID4gJiB7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggLTVweCBwYWxldHRlKG5ldXRyYWwsIDkwMCk7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdH1cbn1cblxuXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dCB7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgMjAwbXM7XG5cdHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcblxuXHQmLmlzLWluYWN0aXZlIHtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAzMDApO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHR9XG59XG5cblxuLmMtcGFnaW5hdGlvbl9fcHJldiB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDAuMjV0dXJuKTtcbn0iLCIuYy1wZXJzb25fX3BpY3R1cmUge1xuXHR3aWR0aDogMTAwJTtcblx0ZmxleDogYXV0bztcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cblxuLmMtcGVyc29uX19pbWcge1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAyMDApO1xufVxuXG5cbi5jLXBlcnNvbl9faW5mbyB7XG5cdHBhZGRpbmc6IHNwYWNlKDIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDMwMCk7XG59XG5cblxuLmMtcGVyc29uX190aXRsZSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShsKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNjAwKTtcbn1cblxuXG4uYy1wZXJzb25fX3N1YnRpdGxlIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHMpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xufSIsIi5jLXByb2plY3RvciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRtYXgtd2lkdGg6IDU3NnB4O1xuXHRtYXJnaW46IDAgYXV0bztcbn1cblxuXG4uYy1wcm9qZWN0b3JfX2ZpZ3VyZSB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi5jLXByb2plY3Rvcl9fY2FwdGlvbiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcblx0Z3JpZC1jb2x1bW46IDE7XG5cdGdyaWQtcm93OiAyO1xuXHR1c2VyLXNlbGVjdDogdGV4dDtcblx0bWFyZ2luLXRvcDogc3BhY2UoMSk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDQwMCk7XG59XG5cblxuLmMtcHJvamVjdG9yX19waWN0dXJlIHtcblx0Z3JpZC1jb2x1bW46IDE7XG5cdGdyaWQtcm93OiAxO1xuXHRhbGlnbi1zZWxmOiBlbmQ7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogYmxvY2s7IC8vIE5lZWRlZCBmb3IgSUVcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDApO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zO1xuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cblxuLmMtcHJvamVjdG9yX19pbWcge1xuXHQvLyBtYWtlIHN1cmUgaXQgc3RyZXRjaGVzIHRoZSBjb250YWluZXJcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b2JqZWN0LWZpdDogY292ZXI7IC8vIEZhbGxiYWNrIGZvciBJRSB2aWEgSlMgcG9seWZpbGxcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAyMDApO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRtYXgtaGVpZ2h0OiA3OHZoOyAvLyBNYWtlIHN1cmUgaW1hZ2VzIGFyZSB2aXNpYmxlIGVudGlyZWx5IG9uIHNtYWxsIGRldmljZXMgaW4gbGFuZHNjYXBlKVxuXHR9XG59XG5cblxuLmMtcHJvamVjdG9yX19jb250cm9sIHtcblx0Z3JpZC1jb2x1bW46IDE7XG5cdGdyaWQtcm93OiAxO1xuXHRhbGlnbi1zZWxmOiBlbmQ7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDEpO1xuXHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDEpO1xufSIsIiRjLXNlcnZpY2Vwb2ludC1icDE6IDU0MDtcblxuXG4uYy1zZXJ2aWNlcG9pbnQge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdG1hcmdpbi10b3A6IHNwYWNlKC0yKTtcbn1cblxuXG4uYy1zZXJ2aWNlcG9pbnRfX2ltYWdlIHtcblx0QGluY2x1ZGUgbXEoJG1heDogJGMtc2VydmljZXBvaW50LWJwMSkge1xuXHRcdHdpZHRoOiA5NnB4O1xuXHR9XG5cblx0bWF4LXdpZHRoOiAxNzZweDtcblx0ZmxleDogMDtcblx0bWFyZ2luLXRvcDogc3BhY2UoMik7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMik7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuXG4uYy1zZXJ2aWNlcG9pbnRfX2NvbnRlbnQge1xuXHRAaW5jbHVkZSBoeXBoZW5hdGU7XG5cdGZsZXgtZ3JvdzogMTtcblx0ZmxleC1iYXNpczogMTY1cHg7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDIpO1xufVxuXG5cbi5jLXNlcnZpY2Vwb2ludF9fYm9keSB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xufVxuXG5cbi5jLXNlcnZpY2Vwb2ludF9fZGF0YSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShtKTtcbn1cblxuXG4uYy1zZXJ2aWNlcG9pbnRfX2Zvb3RlciB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xufVxuXG5cbi5jLXNlcnZpY2Vwb2ludF9faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQoYmFzZSk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG59IiwiLmMtc2l0ZW1hcF9faXRlbSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShsKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNTAwKTtcbn1cblxuLmMtc2l0ZW1hcF9fbGluayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiBzcGFjZSgwLjUpIDA7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG59IiwiLypcbiAqIFNraXAgTGlua1xuICovXG5cbi5jLXNraXAtbGluayB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IC0xMDB2aDtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBmb2N1cyk7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDJweDtcblx0XHR0b3A6IDVweDsgLyogTm93IHRoZSBsaW5rIHdpbGwgYXBwZWFyICovXG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFNsaWRlIGluZGljYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLXNsaWRlLWluZGljYXRvcjogKFxuXHQnZG90LWNvbG9yJzpcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdkb3QtY29sb3ItYWN0aXZlJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDEwMDApLFxuXHQnZG90LXJpbmctY29sb3ItYWN0aXZlJzpcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdkb3Qtc2l6ZSc6XHRcdFx0XHRcdDhweCxcblx0J2RvdC1zaXplLWFjdGl2ZSc6XHRcdFx0NnB4LFxuXHQnZG90LXJpbmctc2l6ZS1hY3RpdmUnOlx0XHQxMnB4LFxuXHQnZG90LXNpemUtdGFyZ2V0Ym94JzpcdFx0MzBweCxcblx0J2RvdC1pcy1yb3VuZGVkJzpcdFx0XHR0cnVlLFxuXHQnYnV0dG9uLWljb24tY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnYnV0dG9uLWJnLWNvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDUwMCksXG5cdCdidXR0b24tYmctY29sb3ItaG92ZXInOlx0c2NhbGVfY29sb3IocGFsZXR0ZShuZXV0cmFsLCA1MDApLCAkbGlnaHRuZXNzOiAtMTAlKSxcblx0J2J1dHRvbi1zaXplJzpcdFx0XHRcdDQwcHgsXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1zbGlkZS1pbmRpY2F0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5cbi8vIERvdHMgY2FuIGJlIHVzZWQgaW5zdGVhZCBvZiBhcnJvdyBidXR0b25zXG4vLyBZb3UgaGF2ZSB0byBzZXQgdGhlICRpbWFnZU5hdmlnYXRpb25NZXRob2QgdG8gWzBdIG9uIHRoZSBpbWFnZSBjb21wb25lbnRcbi5jLXNsaWRlLWluZGljYXRvcl9fZG90IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplLXRhcmdldGJveCcpO1xuXHRoZWlnaHQ6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXNpemUtdGFyZ2V0Ym94Jyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eTtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5cdCY6aG92ZXI6bm90KC5pcy1hY3RpdmUpLFxuXHQmOmZvY3VzOm5vdCguaXMtYWN0aXZlKSB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG5cblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cdFx0QGlmIChtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1pcy1yb3VuZGVkJykgPT0gdHJ1ZSkge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0JG9mZnNldDogY2FsYygoI3ttYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplLXRhcmdldGJveCcpfSAtICN7bWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZScpfSkgLyAyKTtcblx0XHR0b3A6ICRvZmZzZXQ7XG5cdFx0cmlnaHQ6ICRvZmZzZXQ7XG5cdFx0Ym90dG9tOiAkb2Zmc2V0O1xuXHRcdGxlZnQ6ICRvZmZzZXQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtY29sb3InKTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdCRvZmZzZXQ6IGNhbGMoKCN7bWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZS10YXJnZXRib3gnKX0gLSAje21hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXJpbmctc2l6ZS1hY3RpdmUnKX0pIC8gMik7XG5cdFx0dG9wOiAkb2Zmc2V0O1xuXHRcdHJpZ2h0OiAkb2Zmc2V0O1xuXHRcdGJvdHRvbTogJG9mZnNldDtcblx0XHRsZWZ0OiAkb2Zmc2V0O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXJpbmctY29sb3ItYWN0aXZlJyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjQpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtY29sb3ItYWN0aXZlJyk7XG5cdFx0XHRib3JkZXItY29sb3I6IHJnYmEobWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtcmluZy1jb2xvci1hY3RpdmUnKSwgMC45KTtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoc3RyaXAtdW5pdChtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplLWFjdGl2ZScpKSAvIHN0cmlwLXVuaXQobWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZScpKSk7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRvcGFjaXR5OiAwLjk7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdH1cblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG9wYWNpdHk6IDEgIWltcG9ydGFudDtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdC8vYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IGJsYWNrLCAwIDAgMTBweCAxcHggd2hpdGU7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHQvL2JhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNTAwKTtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCBibGFjaywgMCAwIDEwcHggMXB4IHdoaXRlO1xuXHRcdH1cblx0fVxufVxuXG5cbi8vIEFycm93IGJ1dHRvbnMgY2FuIGJlIHVzZWQgaW5zdGVhZCBvZiBkb3RzXG4vLyBZb3UgaGF2ZSB0byBzZXQgdGhlICRpbWFnZU5hdmlnYXRpb25NZXRob2QgdG8gWzFdIG9uIHRoZSBpbWFnZSBjb21wb25lbnRcbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnYnV0dG9uLWJnLWNvbG9yJyk7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2J1dHRvbi1pY29uLWNvbG9yJyk7XG5cdGhlaWdodDogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdidXR0b24tc2l6ZScpO1xuXHR3aWR0aDogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdidXR0b24tc2l6ZScpO1xuXG5cdCYgKyAmIHtcblx0XHRtYXJnaW4tbGVmdDogOHB4O1xuXHR9XG5cblx0JlthcmlhLWxhYmVsPSdwcmV2aW91cyddID4gc3ZnIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cdH1cblxuXHQmW2FyaWEtbGFiZWw9J25leHQnXSA+IHN2ZyB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2J1dHRvbi1iZy1jb2xvci1ob3ZlcicpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2J1dHRvbi1iZy1jb2xvci1ob3ZlcicpO1xuXHR9XG59IiwiLmMtc3VibmF2IHtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDApO1xuXHRwYWRkaW5nOiBjb2x1bW4oMSk7XG59XG5cblxuLmMtc3VibmF2X19oZWFkZXIge1xuXHRtYXJnaW46IDA7XG59XG5cblxuLmMtc3VibmF2X19saXN0IHtcblx0bWFyZ2luLXRvcDogc3BhY2UoNSk7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDA7XG59XG5cblxuLmMtc3VibmF2X19saW5rIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwYWRkaW5nOiBzcGFjZSgxKSAwO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogY29sb3IgMjUwbXM7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGZvY3VzKTtcblx0fVxuXG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgcGFsZXR0ZShuZXV0cmFsLCAzMDApO1xuXHR9XG59XG5cblxuLmMtc3VibmF2X19pY29uIHtcblx0b3BhY2l0eTogMDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWxlZnQ6IHNwYWNlKDIpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAzMDApO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoI3tzcGFjZSgtMil9KTtcblx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2Utb3V0O1xuXG5cdC5jLXN1Ym5hdl9fbGluazpob3ZlciAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXHR9XG59XG5cblxuLy8gQWN0aXZlIHN0YXRlIG9mIHRoZSBzdWJuYXYgaXRlbVxuLmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSB7XG5cdC5jLXN1Ym5hdl9fbGluayB7XG5cdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwMCk7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDkwMCk7XG5cdFx0XHRib3JkZXItd2lkdGg6IDJweDtcblx0XHR9XG5cdH1cblxuXHQuYy1zdWJuYXZfX2ljb24ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn0iLCIuYy10ZXh0LWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0cGFkZGluZzogMDsgLyogMiAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMiAqL1xuXHRib3JkZXI6IG5vbmU7IC8qIDIgKi9cblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDMwMG1zO1xuXG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMDApXG5cdH1cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdH1cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgZm9jdXMpO1xuXHR9XG59XG5cblxuLmMtdGV4dC1idXR0b25fX3RleHQge1xuXHRAaW5jbHVkZSBmb250LXNpemUoYmFzZSk7XG59XG5cblxuLmMtdGV4dC1idXR0b25fX2ljb24ge1xuXHRkaXNwbGF5OiBub25lOyAvLyBCeSBkZWZhdWx0IGljb24gaXMgaGlkZGVuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWxlZnQ6IHNwYWNlKDEpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXM7XG5cblx0LmMtdGV4dC1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgJiB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG5cdH1cblxuXHQuYy10ZXh0LWJ1dHRvbi0taWNvbiAme1xuXHRcdGRpc3BsYXk6IGJsb2NrOyAvLyBTaG93IHdoZW4gaGFzIGljb24gbW9kaWZpZXJcblx0fVxufVxuXG5cbi8vIENoYW5nZSBkaXJlY3Rpb24gb2YgaWNvbiAoYXJyb3cpXG4uYy10ZXh0LWJ1dHRvbi0taXMtcmV2ZXJzZWQge1xuXHQuYy10ZXh0LWJ1dHRvbl9fdGV4dCB7IG9yZGVyOiAyO1x0fVxuXHQuYy10ZXh0LWJ1dHRvbl9faWNvbiB7XG5cdFx0b3JkZXI6IDE7XG5cdFx0dG9wOiAxcHg7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0bWFyZ2luLXJpZ2h0OiBzcGFjZSgxKTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcblx0fVxuXHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIC5jLXRleHQtYnV0dG9uX19pY29uIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKSB0cmFuc2xhdGVYKDNweCk7XG5cdH1cbn0iLCIuYy10cmFkZW1hcmsge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAxNTBtcyBsaW5lYXI7XG59XG5cblxuLmMtdHJhZGVtYXJrX190ZXh0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLXJpZ2h0OiA3cHg7XG59XG5cblxuLmMtdHJhZGVtYXJrX19sb3ZlIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2hlYXJ0LXNwcml0ZS5wbmcpO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxcHg7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogMjkwMCU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0d2lkdGg6IHNwYWNlKDcpO1xuXHRoZWlnaHQ6IHNwYWNlKDcpO1xuXHRtYXJnaW46IDAgc3BhY2UoLTEuNSk7XG59XG5cblxuLy8gT24gaG92ZXIgZG8gc29tZSBhbmltYXRpbmcgOy0pXG4uYy10cmFkZW1hcms6aG92ZXIge1xuXHRjb2xvcjogI0UyMjY0RDsgLy8gc2FtZSBjb2xvciBhcyBoZWFydCBpbWFnZVxuXG5cdCYgLmtvbW1hLWVtYmxlbSB7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogMTJweCAxMnB4O1xuXHRcdGFuaW1hdGlvbjogbG9nby1zcGluIDEuOHMgbGluZWFyIGluZmluaXRlO1xuXHR9XG5cblx0JiAuYy10cmFkZW1hcmtfX2xvdmUge1xuXHRcdGFuaW1hdGlvbjogaGVhcnRBbmltIDEuMXMgc3RlcHMoMjgpIGZvcndhcmRzO1xuXHR9XG59XG5cblxuQGtleWZyYW1lcyBoZWFydEFuaW0ge1xuXHRmcm9tIHtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDFweDtcblx0fVxuXHR0byB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMXB4O1xuXHR9XG59XG5cblxuQGtleWZyYW1lcyBsb2dvLXNwaW4ge1xuXHRmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cblx0dG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG59IiwiLmMtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IC8vIEFzcGVjdCBSYXRpbzogMTY6OVxuICBiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDIwMCk7XG59XG5cblxuLmMtdmlkZW9fX2lmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogT3JnYW5pc21zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuQGltcG9ydCBcIm9yZ2FuaXNtcy5ibG9nXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmNhbGxvdXRCYXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuY2FyZEdyaWRcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuY29udGVudFBlcnNvbmFsXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmNvb2tpZUJhclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5kb3VibGVJbWFnZVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5kb3VibGVUZXh0XCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmZvb3RlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5oZWFkZXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMubWFwXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLm92ZXJsYXlNZW51XCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnBhcnRuZXJzXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnF1b3RlXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnRlc3RpbW9uaWFsc1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5zdWJmb290ZXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMudGFic1wiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy50ZWFtXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnRleHRJbWFnZVwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy52YWNhbmNpZXNcIjsiLCIuby1ibG9nX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgODAwKTtcbn1cblxuXG4uby1ibG9nX19hcnRpY2xlIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDQpKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi5vLWJsb2dfX2xpbmsge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgbGluZWFyO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgbGVmdDogMDtcblx0XHRib3JkZXI6IDJweCBzb2xpZCBwYWxldHRlKG5ldXRyYWwsIDkwMCk7XG5cdFx0dHJhbnNpdGlvbjogYm9yZGVyIDE1MG1zIGxpbmVhcjtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRib3JkZXItY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMzAwKTtcblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBmb2N1cyk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdH1cbn1cblxuXG4uby1ibG9nX19ib2R5IHtcblx0ZmxleC1ncm93OiAxO1xuXHRwYWRkaW5nOiBjb2x1bW4oMSk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdG9yZGVyOiAxO1xuXHRcdHBhZGRpbmc6IHNwYWNlKDYpIGNvbHVtbigxKTtcblx0fVxufVxuXG5cbi5vLWJsb2dfX2ltYWdlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZy1ib3R0b206IDU1JTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZmxleDogbm9uZTtcblx0XHRvcmRlcjogMjtcblx0XHR3aWR0aDogY29sdW1uKDIsOCk7XG5cdFx0cGFkZGluZy1ib3R0b206IGNvbHVtbigyLDgpO1xuXHR9XG59XG5cblxuLm8tYmxvZ19fYmctaW1hZ2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0dG9wOiBjb2x1bW4oMSk7XG5cdHJpZ2h0OiBjb2x1bW4oMSk7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSAje2NvbHVtbigyKX0pO1xuXHRoZWlnaHQ6IGNhbGMoMTAwJSAtICN7Y29sdW1uKDEpfSk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHRvcDogc3BhY2UoMSk7XG5cdFx0cmlnaHQ6IHNwYWNlKDEpO1xuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAje3NwYWNlKDIpfSk7XG5cdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSAje3NwYWNlKDIpfSk7XG5cdH1cbn1cblxuXG4vLyBCb2R5IGNvbnRlbnQ6XG4uby1ibG9nX19pbnRybyB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDMpO1xufVxuXG5cbi5vLWJsb2dfX3RpbWVzdGFtcCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgyKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNDAwKTtcbn1cblxuXG4uby1ibG9nX19hY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDAwKTtcbn1cblxuXG4uby1ibG9nX19yZWFkbW9yZSB7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMSk7XG59XG5cblxuLm8tYmxvZ19fZm9vdGVyIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoNCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn0iLCIuby1jYWxsb3V0LWJhciB7XG5cdEBpbmNsdWRlIGh5cGhlbmF0ZTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgODAwKTtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDApO1xuICBcdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG4uby1jYWxsb3V0LWJhcl9fbWFpbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdCdwYWRkaW5nLXRvcCcgMSxcblx0XHQncGFkZGluZy1ib3R0b20nIDFcblx0KTtcblxuXHQvLyBWZXJ0aWNhbCBzcGFjaW5nIGZvciBlbGVtZW50cyB0aGF0IHByb2NlZWQgYW5vdGhlciBlbGVtZW50XG5cdCYgPiAqICsgKiB7XG5cdFx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0XHQnbWFyZ2luLXRvcCcgMC41XG5cdFx0KTtcblx0fVxufVxuXG5cbi5vLWNhbGxvdXQtYmFyX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcbn0iLCIvKiBJbiB0aGUgWyRvLWNhcmQtZ3JpZF0gbWFwIHdlIGRlZmluZSBzb21lIHNldHRpbmdzOlxuICpcbiAqICdjb2x1bW5zJy5rZXkgXHQ9XHRudW1iZXIgb2YgaXRlbXMgaW4gYSByb3dcbiAqICdjb2x1bW5zJy52YWx1ZSBcdD0gXHRicmVha3BvaW50IHNpemUgZnJvbSB3aGljaCB3ZSB3YW50IHRoYXQgbnVtYmVyIG9mIGl0ZW1zXG4gKi9cblxuXG4kby1jYXJkLWdyaWQ6IChcblx0J2dhcCcgOiBzcGFjZSgyKSxcblx0J2NvbHVtbnMnOiAoXG5cdFx0MjogNzQwLFxuXHRcdDM6IDEwNjAsXG5cdCksXG4pO1xuXG4vLyBHZXQgdmFsdWVzIGZyb20gdGhlIG1hcCBhbmQgcGxhY2UgdGhlbSBpbiBhbiBlYXN5IHRvIGFjY2VzcyB2YXJpYWJsZVxuJG8tY2FyZC1ncmlkLWNvbHVtbnM6IFx0XHRcdFx0bWFwLWdldCgkby1jYXJkLWdyaWQsICdjb2x1bW5zJyk7IC8vIGdldCB0aGUgJ2NvbHVtbnMnIGxpc3RcbiRvLWNhcmQtZ3JpZC1jb2x1bW4ta2V5czogXHRcdFx0bWFwLWtleXMoJG8tY2FyZC1ncmlkLWNvbHVtbnMpOyAvLyBnZXQgYSBsaXN0IG9mIHRoZSBrZXlzIGZyb20gdGhlICdjb2x1bW5zJ1xuJG8tY2FyZC1ncmlkLWNvbHVtbi1zbWFsbGVzdC1icDogXHRtYXAtZ2V0KCRvLWNhcmQtZ3JpZC1jb2x1bW5zLCBudGgoJG8tY2FyZC1ncmlkLWNvbHVtbi1rZXlzLCAxKSk7IC8vIGdldCBicmVha3BvaW50IHZhbHVlIG9mIHRoZSBmaXJzdCBjb2x1bW5cblxuXG5AaW5jbHVkZSBtcSgkby1jYXJkLWdyaWQtY29sdW1uLXNtYWxsZXN0LWJwKSB7XG5cdC5vLWNhcmQtZ3JpZF9fbWFpbiB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0bWFyZ2luOiBtYXAtZ2V0KCRvLWNhcmQtZ3JpZCwgJ2dhcCcpICogLTE7XG5cdH1cbn1cblxuXG4uby1jYXJkLWdyaWRfX2l0ZW0ge1xuXHRtYXgtd2lkdGg6IDQ0NHB4OyAvLyBjb25zdHJhaW4gdGhlIHdpZHRoIG9mIHRoZSBlbGVtZW50IGluc2lkZVxuXHRtYXJnaW46IG1hcC1nZXQoJG8tY2FyZC1ncmlkLCAnZ2FwJykgYXV0bztcblxuXG5cdC8vIExvb3AgdGhyb3VnaCBhbGwgZGVmaW5lZCBjb2x1bW5zXG5cdEBlYWNoICRjb3VudCwgJGJyZWFrcG9pbnQgaW4gJG8tY2FyZC1ncmlkLWNvbHVtbnMge1xuXHRcdCRpOiBpbmRleCgkby1jYXJkLWdyaWQtY29sdW1ucywgKCRjb3VudCAkYnJlYWtwb2ludCkpO1xuXG5cdFx0QGluY2x1ZGUgbXEobWFwLWdldCgkby1jYXJkLWdyaWQtY29sdW1ucywgJGNvdW50KSkge1xuXHRcdFx0QGlmKCRpID09IDEpIHtcblx0XHRcdFx0Ly8gT25seSBzZXQgdGhlc2UgdmFsdWVzIGZvciB0aGUgZmlyc3QgbWVkaWEgcXVlcnksIG5vIG5lZWQgdG8gc2V0IHRoZW0gZXZlcnkgdGltZVxuXHRcdFx0XHRmbGV4OiBub25lO1xuXHRcdFx0XHRtYXJnaW46IG1hcC1nZXQoJG8tY2FyZC1ncmlkLCAnZ2FwJyk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIGluIGNhc2Ugb2YgYSBidWcgaW4gSUUgd2UgbmVlZCB0byBzcGVjaWZ5IGZsZXgtYmFzaXMgbG9uZ2hhbmQgcHJvcGVydHk6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy04XG5cdFx0XHRmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGNvdW50KX0gLSAoI3ttYXAtZ2V0KCRvLWNhcmQtZ3JpZCwgJ2dhcCcpfSAqIDIpKTtcblx0XHR9XG5cdH1cbn0iLCIuby1jb250ZW50LXBlcnNvbmFsIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXG5cdC8vIFNldCBzaWRlIGJ5IHNpZGUgZnJvbSBtZWRpdW0gdmlld3BvcnRzIGFuZCB1cFxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG5cbi5vLWNvbnRlbnQtcGVyc29uYWxfX2Rlc2NyaXB0aW9uIHtcblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNik7XG5cdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEpO1xuXHR9XG59XG5cblxuLm8tY29udGVudC1wZXJzb25hbF9faW5mbyB7XG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRtYXJnaW4tdG9wOiBzcGFjZSg1KTtcblx0fVxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2KTtcblx0fVxufSIsIi5vLWNvb2tpZS1iYXIge1xuXHR6LWluZGV4OiAtMTsgLy8gbm90IHNlbGVjdGFibGVcblx0cG9zaXRpb246IGZpeGVkO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0aGVpZ2h0OiAkc2l0ZS1jb29raWVCYXItaGVpZ2h0O1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXHQvL29wYWNpdHk6IDE7XG5cdGJveC1zaGFkb3c6IDAgLTRweCA2cHggMCByZ2JhKHBhbGV0dGUobmV1dHJhbCwgMTAwMCksIDAuMjUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHNpdGUtY29va2llQmFyLXRyYW5zaXRpb24tc3BlZWQgJHNpdGUtY29va2llQmFyLXRyYW5zaXRpb24tZWFzZTtcblx0Ly90cmFuc2Zvcm06IG5vbmU7XG5cblx0Ly8gV2hlbiBjb29raWVzIGFyZSBub3QgeWV0IGFjY2VwdGVkLCBzaG93IGNvb2tpZWJhclxuXHRib2R5Om5vdCguaXMtY29va2llcy1hY2NlcHRlZCkgJiB7XG5cdFx0QGluY2x1ZGUgeih6LWNvb2tpZSk7XG5cdFx0ZGlzcGxheTogZmxleDtcblxuXHR9XG5cblx0Ji5pcy10cmFuc2l0aW9uaW5nLW91dCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHR6LWluZGV4OiAtMTsgLy8gbm90IHNlbGVjdGFibGVcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHQvL29wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuXHR9XG59XG5cblxuLm8tY29va2llLWJhcl9fbWFpbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IDM3NSkge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC45KTtcblx0fVxufVxuXG5cbi5vLWNvb2tpZS1iYXJfX3RleHQge1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IDM3NSkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdH1cbn1cblxuXG4uby1jb29raWUtYmFyX19saW5rIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdHRyYW5zaXRpb246IGNvbG9yIDMwMG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDIwMCk7XG5cdH1cbn1cblxuXG4uby1jb29raWUtYmFyX19idXR0b24ge1xuXHRmbGV4OiBub25lO1xuXHRtYXJnaW4tbGVmdDogc3BhY2UoNSk7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdG1hcmdpbi1sZWZ0OiBzcGFjZSgyKTtcblx0fVxufSIsIiRvLWRvdWJsZS1pbWFnZS1icDE6IDExMDA7XG5cblxuLm8tZG91YmxlLWltYWdlIHtcblx0bWFyZ2luOiAtMXB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0Ly8gU2V0IHNpZGUgYnkgc2lkZSBmcm9tIG1lZGl1bSB2aWV3cG9ydHMgYW5kIHVwXG5cdEBpbmNsdWRlIG1xKCRvLWRvdWJsZS1pbWFnZS1icDEpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cblxuLm8tZG91YmxlLWltYWdlX19waWN0dXJlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogMXB4O1xuXHRvcmRlcjogMTtcblxuXHRAaW5jbHVkZSBtcSgkby1kb3VibGUtaW1hZ2UtYnAxKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2KTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdH1cblx0fVxufVxuXG5cbi5vLWRvdWJsZS1pbWFnZV9faW1nIHtcblx0b2JqZWN0LWZpdDogY292ZXI7XG5cdG1heC1oZWlnaHQ6IDg1dmg7XG59XG5cblxuLm8tZG91YmxlLWltYWdlLS1pcy1yZXZlcnNlZCB7XG5cdCYgLm8tZG91YmxlLWltYWdlX19waWN0dXJlIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0b3JkZXI6IDA7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdH1cblx0fVxufSIsIiRvLWRvdWJsZS10ZXh0LWJwMTogbTtcblxuXG4uby1kb3VibGUtdGV4dCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBtcSgkby1kb3VibGUtdGV4dC1icDEpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cblxuLm8tZG91YmxlLXRleHRfX2NvbHVtbiB7XG5cdEBpbmNsdWRlIG93bChzcGFjZSg1KSk7XG5cblx0QGluY2x1ZGUgbXEoJG8tZG91YmxlLXRleHQtYnAxKSB7XG5cdFx0bWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyAvLyByZXNldCBvd2xcblx0XHR3aWR0aDogY29sdW1uKDYpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxKTtcblx0fVxufSIsIiRvLWZvb3Rlci1icDE6IG07XG5cblxuLm8tZm9vdGVyIHtcblx0QGluY2x1ZGUgeih6LWZvb3Rlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNzAwKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG59XG5cblxuLm8tZm9vdGVyX19tYWluIHtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0J3BhZGRpbmctdG9wJyAwLjUsXG5cdFx0J3BhZGRpbmctYm90dG9tJyAwLjVcblx0KTtcbn1cblxuXG4uby1mb290ZXJfX2JyYW5kIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGxpbmVhcjtcblxuXHQmOmhvdmVyIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cbn1cblxuXG4uby1mb290ZXJfX2NvbHVtbnMge1xuXHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHQnbWFyZ2luLXRvcCcgMC41XG5cdCk7XG5cdEBpbmNsdWRlIG1xKCRvLWZvb3Rlci1icDEpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cblxuLm8tZm9vdGVyX19sb2dvIHtcblx0d2lkdGg6IDE1MnB4O1xufVxuXG5cbi8vIExlZnQgY29sdW1uXG4uby1mb290ZXJfX2luZm8ge1xuXHRAaW5jbHVkZSBvd2wtY2hpbGRyZW4oc3BhY2UoNCkpO1xuXG5cdEBpbmNsdWRlIG1xKCRvLWZvb3Rlci1icDEpIHtcblx0XHR3aWR0aDogY29sdW1uKDQpO1xuXHR9XG59XG5cblxuLm8tZm9vdGVyX19jb250YWN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiBzcGFjZSgzKSAwIDAgMDtcbn1cblxuXG4vLyBSaWdodCBjb2x1bW5cbi5vLWZvb3Rlcl9fbmF2IHtcblx0QGluY2x1ZGUgbXEoJG8tZm9vdGVyLWJwMSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxKTtcblx0XHR3aWR0aDogY29sdW1uKDcpO1xuXHR9XG59XG5cblxuLm8tZm9vdGVyX19saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXG5cdEBpbmNsdWRlIG1xKCRvLWZvb3Rlci1icDEpIHtcblx0XHR3aWR0aDogY29sdW1uKDMsIDcpO1xuXHR9XG5cblx0Ly8gQWxsIHN1YnNlcXVlbnQgbGlzdHMgbmVlZCBzcGFjaW5nXG5cdCY6bnRoLWNoaWxkKG4rMil7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNCk7XG5cblx0XHRAaW5jbHVkZSBtcSgkby1mb290ZXItYnAxKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwOyAvLyByZXNldFxuXHRcdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxLCA3KTtcblx0XHR9XG5cdH1cbn1cblxuXG4uby1mb290ZXJfX2xpbmsge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAtMTtcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IHNwYWNlKC0xKTtcblx0XHRyaWdodDogc3BhY2UoLTEpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDApO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEocGFsZXR0ZShuZXV0cmFsLCAwKSwgMC4wNSk7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2Utb3V0O1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdH1cblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGZvY3VzKTtcblx0fVxufVxuXG5cbi5vLWZvb3Rlcl9fc29jaWFsIHtcblx0ZGlzcGxheTogZmxleDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiBzcGFjZSg0KSAwIDA7XG59XG5cblxuLm8tZm9vdGVyX19jaGFubmVsIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMik7XG59XG5cblxuLm8tZm9vdGVyX19pY29uIHtcblx0ZmxleDogYXV0bztcblx0ZGlzcGxheTogYmxvY2s7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcblxuXHQuZmFjZWJvb2sgJiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvZmFjZWJvb2suc3ZnXCIpO1xuXHRcdGhlaWdodDogMjFweDtcblx0fVxuXHQuaW5zdGFncmFtICYge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL2luc3RhZ3JhbS5zdmdcIik7XG5cdH1cblx0LnR3aXR0ZXIgJiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvdHdpdHRlci5zdmdcIik7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHR9XG5cdC5saW5rZWRpbiAmIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC9saW5rZWRpbi5zdmdcIik7XG5cdFx0aGVpZ2h0OiAxOHB4O1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgZm9jdXMpO1xuXHR9XG59IiwiLm8taGVhZGVyIHtcblx0QGluY2x1ZGUgeih6LWhlYWRlcik7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMzAwKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiBzcGFjZSg0KSAwO1xuXG5cdCYuaXMtc3RpY2t5IHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR6LWluZGV4OiA1MDtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoNCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDQpO1xuXHRcdGJveC1zaGFkb3c6IDAgLTVweCAzMHB4IGJsYWNrO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDBtcywgMzAwbXM7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG5cblx0XHRAaW5jbHVkZSBtcSgkYnAtaGVhZGVyLWxhcmdlKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdC5pcy1zdGlja3ktaGVhZGVyLXZpc2libGUgJiB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMG1zO1xuXHRcdH1cblx0fVxufVxuXG5cbi5vLWhlYWRlcl9fbWFpbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi5vLWhlYWRlcl9fbG9nbyB7XG5cdGZsZXg6IG5vbmU7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDJweDtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBmb2N1cyk7XG5cdH1cbn1cblxuXG4uby1oZWFkZXJfX2ltZyB7XG5cdGhlaWdodDogNDhweDtcbn1cblxuXG4uby1oZWFkZXJfX25hdiB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW4tbGVmdDogc3BhY2UoNik7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogJGJwLWhlYWRlci1sYXJnZSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuXG4uby1oZWFkZXJfX2xhbmd1YWdlIHtcblx0bWFyZ2luLWxlZnQ6IHNwYWNlKDIpO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6ICRicC1oZWFkZXItbGFyZ2UpIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0fVxufVxuXG5cbi5vLWhlYWRlcl9fdG9nZ2xlIHtcblx0QGluY2x1ZGUgbXEoJGJwLWhlYWRlci1sYXJnZSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn0iLCIuby1tYXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDA7XG5cdHBhZGRpbmctYm90dG9tOiA1NSU7XG59XG5cblxuLm8tbWFwX19pbm5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufSIsIiRvLW92ZXJsYXktbWVudTogKFxuXHQnYmdjb2xvcic6ICAgICAgICAgIHBhbGV0dGUobmV1dHJhbCwgOTAwKSxcblx0J2NvbG9yJzogICAgICAgICAgICBwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnc2hhZGVyLWNvbG9yJzogICAgIHJnYmEoMCwgMCwgMCwgMC42KSxcblx0J21vdmUtc3BlZWQnOiAgICAgICA0NTBtcyxcblx0J29wYWNpdHktc3BlZWQnOiAgICAxMDBtcyxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLW92ZXJsYXktbWVudSB7XG5cdEBpbmNsdWRlIHooei1vdmVybGF5LW1lbnUpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdiZ2NvbG9yJyk7XG5cblx0Ly8gV2hlbiBpdCBkaXNhcHBlYXJzIG91dCBvZiB2aWV3XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMjB2dyk7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdtb3ZlLXNwZWVkJyk7XG5cdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC44LCAwLjIsIDAuMiwgMC44KTtcblx0dHJhbnNpdGlvbi1kZWxheTogMG1zLCBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKTtcblxuXHQvLyBXaGVuIGl0IGNvbWVzIGludG8gdmlld1xuXHQuaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ29wYWNpdHktc3BlZWQnKSwgMG1zO1xuXHR9XG5cblx0Ly8gU2hhZGVyXG5cdCY6OmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAtMTIwdnc7XG5cdFx0d2lkdGg6IDEyMHZ3O1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ3NoYWRlci1jb2xvcicpO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdFx0Ly8gd2hlbiBzaGFkZXIgZGlzYXBwZWFycyBvdXQgb2Ygdmlld1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ29wYWNpdHktc3BlZWQnKTtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKTtcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuXG5cdFx0Ly8gd2hlbiBzaGFkZXIgY29tZXMgaW50byB2aWV3XG5cdFx0LmlzLW92ZXJsYXktbWVudS1hY3RpdmUgJiB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMG1zO1xuXHRcdH1cblx0fVxuXG5cdC8vIEhpZGUgb3ZlcmxheSBtZW51IG9uIGxhcmdlciB2aWV3cG9ydHNcblx0QGluY2x1ZGUgbXEoJGJwLWhlYWRlci1sYXJnZSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuXG4uby1vdmVybGF5LW1lbnVfX2JhciB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZy10b3A6IHNwYWNlKDQpO1xuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoNCk7XG59XG5cblxuLm8tb3ZlcmxheS1tZW51X19pbWcge1xuXHRoZWlnaHQ6IHNwYWNlKDYpO1xufVxuXG5cbi5vLW92ZXJsYXktbWVudV9fdG9nZ2xlIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoLTAuNXR1cm4pO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXMgZWFzZS1vdXQ7XG5cdHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuXG5cdC5pcy1vdmVybGF5LW1lbnUtYWN0aXZlICYge1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0fVxufVxuXG5cbi5vLW92ZXJsYXktbWVudV9fbmF2IHtcblx0bWFyZ2luLXRvcDogc3BhY2UoMSk7XG59XG5cblxuLm8tb3ZlcmxheS1tZW51X19saXN0IHtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cblxuLm8tb3ZlcmxheS1tZW51X19pdGVtIHtcblx0JiArICYge1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG5cdH1cbn1cblxuXG4uby1vdmVybGF5LW1lbnVfX2xpbmsge1xuXHRAaW5jbHVkZSBmb250LXNpemUobSk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiBzcGFjZSgxLjUpIGNvbHVtbigxLDE0KTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnY29sb3InKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY29sdW1uKC0xKSkgc2NhbGUoMS4yKTtcblx0dHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG5cdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluO1xuXHR0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XG5cblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IobWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdiZ2NvbG9yJyksICRsaWdodG5lc3M6IC0yMCUpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDJweDtcblx0XHRvdXRsaW5lLWNvbG9yOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ2NvbG9yJyk7XG5cdH1cblxuXHQuaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQ7XG5cdH1cblxuXHQvLyBTZXQgYSBkZWxheSBmb3IgZWFjaCBsaW5rXG5cdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xuXHRcdEBhdC1yb290IC5vLW92ZXJsYXktbWVudV9faXRlbTpudGgtY2hpbGQoI3skaX0pIHtcblx0XHRcdC5pcy1vdmVybGF5LW1lbnUtYWN0aXZlICYgLm8tb3ZlcmxheS1tZW51X19saW5rIHtcblx0XHRcdFx0JGdhcDogNDU7XG5cdFx0XHRcdCRpbml0aWFsZGVsYXk6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnbW92ZS1zcGVlZCcpO1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAjeyRpICogJGdhcCArICRpbml0aWFsZGVsYXl9O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qIEluIHRoZSBbJG8tcGFydG5lcnNdIG1hcCB3ZSBkZWZpbmUgc29tZSBzZXR0aW5nczpcbiAqXG4gKiAnY29sdW1ucycua2V5IFx0PVx0bnVtYmVyIG9mIGl0ZW1zIGluIGEgcm93XG4gKiAnY29sdW1ucycudmFsdWUgXHQ9IFx0YnJlYWtwb2ludCBzaXplIGZyb20gd2hpY2ggd2Ugd2FudCB0aGF0IG51bWJlciBvZiBpdGVtc1xuICovXG5cblxuJG8tcGFydG5lcnM6IChcblx0J2dhcCcgOiA0JSxcblx0J2NvbHVtbnMnOiAoXG5cdFx0MjogMzIwLFxuXHRcdDM6IDYyMCxcblx0XHQ0OiA4NjAsXG5cdFx0NTogMTA4MCxcblx0KSxcbik7XG5cbi8vIEdldCB2YWx1ZXMgZnJvbSB0aGUgbWFwIGFuZCBwbGFjZSB0aGVtIGluIGFuIGVhc3kgdG8gYWNjZXNzIHZhcmlhYmxlXG4kby1wYXJ0bmVycy1jb2x1bW5zOiBcdFx0XHRcdG1hcC1nZXQoJG8tcGFydG5lcnMsICdjb2x1bW5zJyk7IC8vIGdldCB0aGUgJ2NvbHVtbnMnIGxpc3RcbiRvLXBhcnRuZXJzLWNvbHVtbi1rZXlzOiBcdFx0XHRtYXAta2V5cygkby1wYXJ0bmVycy1jb2x1bW5zKTsgLy8gZ2V0IGEgbGlzdCBvZiB0aGUga2V5cyBmcm9tIHRoZSAnY29sdW1ucydcbiRvLXBhcnRuZXJzLWNvbHVtbi1zbWFsbGVzdC1icDogXHRtYXAtZ2V0KCRvLXBhcnRuZXJzLWNvbHVtbnMsIG50aCgkby1wYXJ0bmVycy1jb2x1bW4ta2V5cywgMSkpOyAvLyBnZXQgYnJlYWtwb2ludCB2YWx1ZSBvZiB0aGUgZmlyc3QgY29sdW1uXG5cblxuLm8tcGFydG5lcnNfX2xpc3Qge1xuXHRAaW5jbHVkZSBtcSgkby1wYXJ0bmVycy1jb2x1bW4tc21hbGxlc3QtYnApIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRtYXJnaW46IG1hcC1nZXQoJG8tcGFydG5lcnMsICdnYXAnKSAqIC0xO1xuXHR9XG59XG5cblxuLm8tcGFydG5lcnNfX2l0ZW0ge1xuXHRtYXgtd2lkdGg6IDQ0NHB4OyAvLyBjb25zdHJhaW4gdGhlIHdpZHRoIG9mIHRoZSBlbGVtZW50IGluc2lkZVxuXHRtYXJnaW46IG1hcC1nZXQoJG8tcGFydG5lcnMsICdnYXAnKSBhdXRvO1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cblxuXHQvLyBMb29wIHRocm91Z2ggYWxsIGRlZmluZWQgY29sdW1uc1xuXHRAZWFjaCAkY291bnQsICRicmVha3BvaW50IGluICRvLXBhcnRuZXJzLWNvbHVtbnMge1xuXHRcdCRpOiBpbmRleCgkby1wYXJ0bmVycy1jb2x1bW5zLCAoJGNvdW50ICRicmVha3BvaW50KSk7XG5cblx0XHRAaW5jbHVkZSBtcShtYXAtZ2V0KCRvLXBhcnRuZXJzLWNvbHVtbnMsICRjb3VudCkpIHtcblx0XHRcdEBpZigkaSA9PSAxKSB7XG5cdFx0XHRcdC8vIE9ubHkgc2V0IHRoZXNlIHZhbHVlcyBmb3IgdGhlIGZpcnN0IG1lZGlhIHF1ZXJ5LCBubyBuZWVkIHRvIHNldCB0aGVtIGV2ZXJ5IHRpbWVcblx0XHRcdFx0ZmxleDogbm9uZTtcblx0XHRcdFx0bWFyZ2luOiBtYXAtZ2V0KCRvLXBhcnRuZXJzLCAnZ2FwJyk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIGluIGNhc2Ugb2YgYSBidWcgaW4gSUUgd2UgbmVlZCB0byBzcGVjaWZ5IGZsZXgtYmFzaXMgbG9uZ2hhbmQgcHJvcGVydHk6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy04XG5cdFx0XHRmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGNvdW50KX0gLSAoI3ttYXAtZ2V0KCRvLXBhcnRuZXJzLCAnZ2FwJyl9ICogMikpO1xuXHRcdH1cblx0fVxufVxuXG5cbi5vLXBhcnRuZXJzX19sb2dvIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcblxuXHQmOmhvdmVyIHtcblx0XHRvcGFjaXR5OiAwLjc1O1xuXHR9XG59XG5cblxuLm8tcGFydG5lcnNfX2ZpZ3VyZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbn1cblxuXG4uby1wYXJ0bmVyc19faW1nIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRvYmplY3QtZml0OiBjb250YWluO1xufSIsIi5vLXF1b3RlIHtcblx0QGluY2x1ZGUgY29udGFpbjtcbn1cblxuXG4uby1xdW90ZSB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cblxuLm8tcXVvdGVfX2JvZHkge1xuXHRAaW5jbHVkZSBvd2wtY2hpbGRyZW4oc3BhY2UoMykpO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHR3aWR0aDogY29sdW1uKDUpO1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSk7XG5cdH1cbn1cblxuXG4uby1xdW90ZV9fcGljdHVyZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRtYXJnaW4tdG9wOiBzcGFjZSg0KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHR3aWR0aDogY29sdW1uKDQpO1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSk7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjb2x1bW4oMSk7XG5cdH1cbn1cblxuXG4uby1xdW90ZV9faW1nIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG5cbi5vLXF1b3RlX190ZXh0IHtcblx0QGluY2x1ZGUgZm9udChtKTtcblx0cXVvdGVzOiAnXFwyMDFjJyAnXFwyMDFkJztcblxuXHQmOjpiZWZvcmUgeyBjb250ZW50OiBvcGVuLXF1b3RlOyB9XG5cdCY6OmFmdGVyICB7IGNvbnRlbnQ6IGNsb3NlLXF1b3RlOyB9XG59XG5cblxuLm8tcXVvdGVfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250KGJhc2UpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDAwKTtcblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICctICc7XG5cdH1cbn1cblxuXG4uby1xdW90ZV9fc3ViaGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQocyk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG59IiwiJG8tdGVzdGltb25pYWxzLWdhcDogXHRcdFx0c3BhY2UoNik7XG4kby10ZXN0aW1vbmlhbHMtZXh0LXBhZDpcdFx0c3BhY2UoNSk7XG4kby10ZXN0aW1vbmlhbHMtaW50LXBhZDpcdFx0c3BhY2UoMyk7XG5cblxuLm8tdGVzdGltb25pYWxzIHtcblxufVxuXG5cbi5vLXRlc3RpbW9uaWFsc19fbWF0cml4IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRtYXJnaW46IGhhbHZlKCRvLXRlc3RpbW9uaWFscy1nYXApICogLTE7XG59XG5cblxuLm8tdGVzdGltb25pYWxzX19pdGVtIHtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhzKTtcblx0ZmxleDogMCAxIDEwMCU7XG5cdG1hcmdpbjogaGFsdmUoJG8tdGVzdGltb25pYWxzLWdhcCk7XG5cdHBhZGRpbmctdG9wOiAkby10ZXN0aW1vbmlhbHMtZXh0LXBhZDtcblx0cGFkZGluZy1ib3R0b206ICRvLXRlc3RpbW9uaWFscy1leHQtcGFkO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdGJveC1zaGFkb3c6IDAgMTIuNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjAzNSksXG5cdFx0XHRcdDAgMTAwcHggODBweCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuXG5cdEBpbmNsdWRlIG1xKDgwMCl7XG5cdFx0ZmxleC1iYXNpczogY2FsYyg1MCUgLSAjeyRvLXRlc3RpbW9uaWFscy1nYXB9KTtcblx0fVxufVxuXG5cbi5vLXRlc3RpbW9uaWFsc19fYm9keSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdG1hcmdpbi10b3A6IDA7XG5cdHBhZGRpbmctcmlnaHQ6ICRvLXRlc3RpbW9uaWFscy1leHQtcGFkO1xufVxuXG5cbi5vLXRlc3RpbW9uaWFsc19fcGljdHVyZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmbGV4LWdyb3c6IDE7XG5cdGZsZXgtYmFzaXM6IDI1JTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMyk7XG5cdG1hcmdpbi1sZWZ0OiAkby10ZXN0aW1vbmlhbHMtZXh0LXBhZDtcbn1cblxuXG4uby10ZXN0aW1vbmlhbHNfX2NvbnRlbnQge1xuXHRmbGV4LWdyb3c6IDk5OTk7XG5cdGZsZXgtYmFzaXM6IDEyZW07XG5cdG1hcmdpbi1sZWZ0OiAkby10ZXN0aW1vbmlhbHMtaW50LXBhZDtcbn1cblxuXG4uby10ZXN0aW1vbmlhbHNfX2F1dGhvciB7XG5cdG1hcmdpbi10b3A6ICRvLXRlc3RpbW9uaWFscy1pbnQtcGFkO1xufSIsIiRvLXN1YmZvb3Rlci1zcGFjaW5nLWg6XHRzcGFjZSg0KTtcblxuXG4uby1zdWJmb290ZXIge1xuXHRAaW5jbHVkZSB6KHotc3ViZm9vdGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA4MDApO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcbn1cblxuXG4uby1zdWJmb290ZXJfX21haW4ge1xuXHRAaW5jbHVkZSBjb250YWluO1xuXHRAaW5jbHVkZSBmb250KHMpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZy10b3A6IHNwYWNlKDEpO1xuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoMSk7XG59XG5cblxuLm8tc3ViZm9vdGVyX19jb3B5cmlnaHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG4gIFx0bWFyZ2luLXRvcDogc3BhY2UoMSk7XG4gIFx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMSk7XG5cdG1hcmdpbi1yaWdodDogJG8tc3ViZm9vdGVyLXNwYWNpbmctaDtcbn1cblxuXG4uby1zdWJmb290ZXJfX25hdiB7XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0bWFyZ2luLXRvcDogc3BhY2UoMSk7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDEpO1xufVxuXG5cbi5vLXN1YmZvb3Rlcl9fbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRtYXJnaW46IDA7XG59XG5cblxuLm8tc3ViZm9vdGVyX19pdGVtIHtcblx0bWFyZ2luLXJpZ2h0OiAkby1zdWJmb290ZXItc3BhY2luZy1oO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5cbi5vLXN1YmZvb3Rlcl9fbGluayB7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDMwMCk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBmb2N1cyk7XG5cdH1cbn1cblxuXG4uby1zdWJmb290ZXJfX3RyYWRlbWFyayB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcbn0iLCIkby10YWJzLXBhZGRpbmctaDogc3BhY2UoNCk7XG5cbi8qXG4gKiBPbiBzbWFsbCBzY3JlZW5zIHRoZSBjb250ZW50IGlzIHN0YWNrZWQsIHdpdGhvdXQgY29udHJvbHNcbiAqIFdoZW4gdGhlIHNjcmVlbiBpcyB3aWRlIGVub3VnaCB3ZSBhZGQgdGhlIGNvbnRyb2xzXG4gKiBhbmQgc2hvdyBvbmx5IHRoZSBjaG9zZW4gJ3NsaWRlIGNvbnRlbnQnXG4gKi9cblxuXG4uby10YWJzIHtcblx0QGluY2x1ZGUgY29udGFpbjtcbn1cblxuXG4uby10YWJzX19jb250cm9scyB7XG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxufVxuXG5cbi8vIFNoYXJlZCBzdHlsaW5nIGZvciB0YWItIGFuZCBzdGVwLWJ1dHRvbnNcbi5vLXRhYnNfX2J1dHRvbiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTsgLy8gbmVlZGVkIGZvciBidXR0b24gcmVzZXRcblx0Ym9yZGVyOiBub25lOyAvLyBuZWVkZWQgZm9yIGJ1dHRvbiByZXNldFxuXHRwYWRkaW5nOiBzcGFjZSgyKSAkby10YWJzLXBhZGRpbmctaDtcblx0bWluLWhlaWdodDogc3BhY2UoNik7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDcwMCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjtcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDAwKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwMCk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAyMDApO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3JkZXItY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGZvY3VzKTtcblxuXHRcdCY6bm90KC5pcy1hY3RpdmUpOm5vdCg6YWN0aXZlKSB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgNXB4IDNweCByZ2JhKHBhbGV0dGUoZmVlZGJhY2ssIGZvY3VzKSwgMC4xKTtcblx0XHR9XG5cdH1cbn1cblxuXG4uby10YWJzX19jb250YWluZXIge1xuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcblx0XHRwYWRkaW5nOiBzcGFjZSg2KSAkby10YWJzLXBhZGRpbmctaDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDIwMCk7XG5cdH1cbn1cblxuXG4uby10YWJzX19jb250ZW50IHtcblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdCYgKyAmIHtcblx0XHRcdG1hcmdpbi10b3A6IHNwYWNlKDUpO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRncmlkLXJvdzogMTtcblx0XHRncmlkLWNvbHVtbjogMTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHotaW5kZXg6IDA7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBsaW5lYXI7XG5cblx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0ei1pbmRleDogMTtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cdFx0fVxuXHR9XG59XG5cblxuLm8tdGFic19fbGFiZWwge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy1ib3R0b206IHNwYWNlKDEpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDAwKTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufSIsIi8qIEluIHRoZSBbJG8tdGVhbV0gbWFwIHdlIGRlZmluZSBzb21lIHNldHRpbmdzOlxuICpcbiAqICdjb2x1bW5zJy5rZXkgXHQ9XHRudW1iZXIgb2YgaXRlbXMgaW4gYSByb3dcbiAqICdjb2x1bW5zJy52YWx1ZSBcdD0gXHRicmVha3BvaW50IHNpemUgZnJvbSB3aGljaCB3ZSB3YW50IHRoYXQgbnVtYmVyIG9mIGl0ZW1zXG4gKi9cblxuXG4kby10ZWFtOiAoXG5cdCdnYXAnIDogc3BhY2UoMiksXG5cdCdjb2x1bW5zJzogKFxuXHRcdDI6IDUyNCxcblx0XHQzOiA3ODQsXG5cdFx0NDogMTE5MFxuXHQpLFxuKTtcblxuLy8gR2V0IHZhbHVlcyBmcm9tIHRoZSBtYXAgYW5kIHBsYWNlIHRoZW0gaW4gYW4gZWFzeSB0byBhY2Nlc3MgdmFyaWFibGVcbiRvLXRlYW0tY29sdW1uczogXHRcdFx0XHRtYXAtZ2V0KCRvLXRlYW0sICdjb2x1bW5zJyk7IC8vIGdldCB0aGUgJ2NvbHVtbnMnIGxpc3RcbiRvLXRlYW0tY29sdW1uLWtleXM6IFx0XHRcdG1hcC1rZXlzKCRvLXRlYW0tY29sdW1ucyk7IC8vIGdldCBhIGxpc3Qgb2YgdGhlIGtleXMgZnJvbSB0aGUgJ2NvbHVtbnMnXG4kby10ZWFtLWNvbHVtbi1zbWFsbGVzdC1icDogXHRtYXAtZ2V0KCRvLXRlYW0tY29sdW1ucywgbnRoKCRvLXRlYW0tY29sdW1uLWtleXMsIDEpKTsgLy8gZ2V0IGJyZWFrcG9pbnQgdmFsdWUgb2YgdGhlIGZpcnN0IGNvbHVtblxuXG5cbi5vLXRlYW0ge1xuXHRAaW5jbHVkZSBjb250YWluO1xufVxuXG5cbkBpbmNsdWRlIG1xKCRvLXRlYW0tY29sdW1uLXNtYWxsZXN0LWJwKSB7XG5cdC5vLXRlYW1fX21hdHJpeCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0bWFyZ2luOiBtYXAtZ2V0KCRvLXRlYW0sICdnYXAnKSAqIC0xO1xuXHR9XG59XG5cblxuLm8tdGVhbV9faXRlbSB7XG5cdG1heC13aWR0aDogMzIwcHg7IC8vIGNvbnN0cmFpbiB0aGUgd2lkdGggb2YgdGhlIGVsZW1lbnQgaW5zaWRlXG5cdG1hcmdpbjogbWFwLWdldCgkby10ZWFtLCAnZ2FwJykgYXV0bztcblxuXG5cdC8vIExvb3AgdGhyb3VnaCBhbGwgZGVmaW5lZCBjb2x1bW5zXG5cdEBlYWNoICRjb3VudCwgJGJyZWFrcG9pbnQgaW4gJG8tdGVhbS1jb2x1bW5zIHtcblx0XHQkaTogaW5kZXgoJG8tdGVhbS1jb2x1bW5zLCAoJGNvdW50ICRicmVha3BvaW50KSk7XG5cblx0XHRAaW5jbHVkZSBtcShtYXAtZ2V0KCRvLXRlYW0tY29sdW1ucywgJGNvdW50KSkge1xuXHRcdFx0QGlmKCRpID09IDEpIHtcblx0XHRcdFx0Ly8gT25seSBzZXQgdGhlc2UgdmFsdWVzIGZvciB0aGUgZmlyc3QgbWVkaWEgcXVlcnksIG5vIG5lZWQgdG8gc2V0IHRoZW0gZXZlcnkgdGltZVxuXHRcdFx0XHRmbGV4OiBub25lO1xuXHRcdFx0XHRtYXJnaW46IG1hcC1nZXQoJG8tdGVhbSwgJ2dhcCcpO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBpbiBjYXNlIG9mIGEgYnVnIGluIElFIHdlIG5lZWQgdG8gc3BlY2lmeSBmbGV4LWJhc2lzIGxvbmdoYW5kIHByb3BlcnR5OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctOFxuXHRcdFx0ZmxleC1iYXNpczogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRjb3VudCl9IC0gKCN7bWFwLWdldCgkby10ZWFtLCAnZ2FwJyl9ICogMikpO1xuXHRcdH1cblx0fVxufSIsIiRvLXRleHQtaW1hZ2UtYnAxOiBtO1xuJG8tdGV4dC1pbWFnZS1icDI6IGw7XG5cblxuLm8tdGV4dC1pbWFnZSB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBtcSgkby10ZXh0LWltYWdlLWJwMSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cbn1cblxuXG4uby10ZXh0LWltYWdlX19kZXNjcmlwdGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDUpO1xuXG5cdEBpbmNsdWRlIG1xKCRvLXRleHQtaW1hZ2UtYnAxKXtcblx0XHR3aWR0aDogY29sdW1uKDYpO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7IC8vIHJlc2V0XG5cdH1cbn1cblxuXG4uby10ZXh0LWltYWdlX192aXN1YWwge1xuXHRAaW5jbHVkZSBtcSgkby10ZXh0LWltYWdlLWJwMSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNSk7XG5cdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxKTtcblx0fVxufVxuXG5cbi8vIE1vZGlmaWVyIGZvciByZXZlcnNpbmc6IEltYWdlIGZpcnN0LCB0aGVuIHRleHRcbi5vLXRleHQtaW1hZ2UtLWlzLXJldmVyc2VkIHtcblx0QGluY2x1ZGUgbXEoJG8tdGV4dC1pbWFnZS1icDEpIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cdH1cblxuXHQuby10ZXh0LWltYWdlX192aXN1YWwge1xuXHRcdEBpbmNsdWRlIG1xKCRvLXRleHQtaW1hZ2UtYnAxKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDsgLy8gcmVzZXRcblx0XHRcdG1hcmdpbi1yaWdodDogY29sdW1uKDEpO1xuXHRcdH1cblx0fVxufSIsIi5vLXZhY2FuY2llcyB7XG5cdG1hcmdpbjogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm8tdmFjYW5jaWVzX19pdGVtIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDIpKTtcbn1cblxuXG4uby12YWNhbmNpZXNfX2xpbmsge1xuXHRAaW5jbHVkZSBmb250LXNpemUobSk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiBzcGFjZSg0KTtcblx0Ym9yZGVyOiAycHggc29saWQgcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAyMDBtcztcblxuXHQmOmhvdmVyIHtcblx0XHRib3JkZXItY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMzAwKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDIwMCk7XG5cdH1cbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRlbXBsYXRlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbiIsIi8qKlxuICogQWxsIHRleHQgZWxlbWVudHMgdGhhdCBjYW4gYmUgYWRkZWQgYnkgdGhlIHVzZXIgdGhyb3VnaCBhIENNU1xuICovXG5cblxuLnMtdGV4dCB7XG5cblx0aDIsIGgzLCBoNCB7XG5cdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgODAwKTtcblx0fVxuXG5cdC8vIEZpcnN0IHRoZSBvd2wgc2VsZWN0b3IgZm9yIHNldHRpbmcgYSBkZWZhdWx0IHZlcnRpY2FsIHJoeXRobVxuXHQmID4gKiArICoge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDQpO1xuXHR9XG5cblx0Ly8gTWFrZSBzdXJlIGZpcnN0IGl0ZW0gaW4gc2NvcGVkIHRleHQgaGFzIG5vIG1hcmdpbiBvbiB0b3Bcblx0JiA+IDpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuXHR9XG5cblx0Ly8gQ2xhc3NlcyB0aGF0IHN0YXJ0IHdpdGggJ2MtJyBhcmUgY29tcG9uZW50cyBhbmQgbmVlZCBhIGxpdHRsZSBleHRyYSBzcGFjZVxuXHQmID4gKiArIFtjbGFzcyo9J2MtJ10ge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDUpO1xuXHR9XG5cblx0JiA+IHVsOm5vdChbY2xhc3NdKSB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblxuXHRcdCYgPiBsaSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRtYXJnaW4tbGVmdDogLTEuMTI1ZW07XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEuMTI1ZW07XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZShsKTtcblx0XHRcdFx0Y29udGVudDogXCJcXDIwMjJcIjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IC00cHg7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0JiA+IG9sOm5vdChbY2xhc3NdKSB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRjb3VudGVyLXJlc2V0OiBvbC1jb3VudGVyO1xuXG5cdFx0JiA+IGxpIHtcblx0XHRcdGNvdW50ZXItaW5jcmVtZW50OiBvbC1jb3VudGVyO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0xLjEyNWVtO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxLjhlbTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogY291bnRlcihvbC1jb3VudGVyKSBcIi4gXCI7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR3aWR0aDogMS4yNzVlbTtcblx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBDb2xvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKipcbiAqIEhlcmUgd2UgcHJpbnQgb3V0IGFsbCBvdXIgaGVscGVyIGNsYXNzZXMgZm9yIG91ciBkZWZpbmVkIGNvbG9yc1xuICogQmFzZWQgb24gdGhlc2UgYXJ0aWNsZXM6XG4gKiAtIGh0dHA6Ly9lcnNraW5lZGVzaWduLmNvbS9ibG9nL2ZyaWVuZGxpZXItY29sb3VyLW5hbWVzLXNhc3MtbWFwcy9cbiAqIC0gaHR0cHM6Ly9ibG9nLmF0ZWNobWVkaWEuY29tL2Nzcy1mb3ItbXVsdGlwbGUtdGhlbWVzL1xuICogT3V0cHV0IGlzIGluIHRoZSBmb3JtIG9mOlxuXG4gICAudS1jb2xvci1wcmltYXJ5IHtcbiAgICAgIGNvbG9yOiAjYmFkYTU1O1xuICAgfVxuXG4gIC51LWJnLW5ldXRyYWwtLTkwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlY2FmZjtcbiAgfVxuICovXG5cbkBlYWNoICRsZXZlbCwgJHBhbGV0dGUgaW4gJHBhbGV0dGVzIHtcblx0QGVhY2ggJHR5cGUsICRjb2xvciBpbiAkcGFsZXR0ZSB7XG5cdFx0QGlmKCR0eXBlID09ICdiYXNlJyl7XG5cdFx0XHQudS1jb2xvci0jeyRsZXZlbH0ge1xuXHRcdFx0XHRjb2xvcjogI3skY29sb3J9O1xuXHRcdFx0fVxuXHRcdFx0LnUtYmctI3skbGV2ZWx9IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI3skY29sb3J9O1xuXHRcdFx0fVxuXHRcdH0gQGVsc2Uge1xuXHRcdFx0LnUtY29sb3ItI3skbGV2ZWx9LS0jeyR0eXBlfSB7XG5cdFx0XHRcdGNvbG9yOiAjeyRjb2xvcn07XG5cdFx0XHR9XG5cdFx0XHQudS1iZy0jeyRsZXZlbH0tLSN7JHR5cGV9IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI3skY29sb3J9O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi51LXBsYWNlaG9sZGVyLWltYWdlIHtcblx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi51LXRleHQtYWxpZ24tY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyIWltcG9ydGFudDtcbn1cblxuLnUtbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiAwO1xufSIsIi51LXZpc3VhbGx5LWhpZGRlbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDFweDtcblx0aGVpZ2h0OiAxcHg7XG5cdG1hcmdpbjogLTFweDtcblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRjbGlwLXBhdGg6IGluc2V0KDEwMCUpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udS1oaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcbn1cblxuQGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHQudS1oaWRkZW5cXEBzLWRvd24ge1xuXHRcdGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50XG5cdH1cbn1cblxuQGluY2x1ZGUgbXEobSkge1xuXHQudS1oaWRkZW5cXEBtLXVwIHtcblx0XHRkaXNwbGF5OiBub25lIWltcG9ydGFudFxuXHR9XG59XG5cbkBpbmNsdWRlIG1xKCRtYXg6IGwpIHtcblx0LnUtaGlkZGVuXFxAbS1kb3duIHtcblx0XHRkaXNwbGF5OiBub25lIWltcG9ydGFudFxuXHR9XG59XG5cbkBpbmNsdWRlIG1xKGwpIHtcblx0LnUtaGlkZGVuXFxAbC11cCB7XG5cdFx0ZGlzcGxheTogbm9uZSFpbXBvcnRhbnRcblx0fVxufVxuXG5AaW5jbHVkZSBtcSgkbWF4OiAkYnAtbWF4KSB7XG5cdC51LWhpZGRlblxcQGwtZG93biB7XG5cdFx0ZGlzcGxheTogbm9uZSFpbXBvcnRhbnRcblx0fVxufSIsIi8qXG4qIElmIHlvdSBuZWVkIHRvIG1ha2UgYSBxdWljayBmaXgsIHlvdSBjYW4gZG8gaXQgaGVyZS5cbiogTGF0ZXIgd2hlbiB5b3UgaGF2ZSB0aGUgdGltZSwgeW91IGNhbiBtb3ZlIHRoZSBmaXggaW50byB0aGUgY29ycmVjdCBwbGFjZSBpbiB0aGUgc3RydWN0dXJlXG4qL1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTm90aGluZyBoZXJlIHlldCwgR29vZCBqb2IhISIsIkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggOCB7XG5cdC8vIE1hcmdpblxuXHQudS1zcGFjaW5nLW0jeyRpfSAgICAgIHsgbWFyZ2luOiBcdFx0c3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblx0LnUtc3BhY2luZy1tdCN7JGl9ICAgICB7IG1hcmdpbi10b3A6IFx0c3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblx0LnUtc3BhY2luZy1tciN7JGl9ICAgICB7IG1hcmdpbi1yaWdodDogXHRzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLW1iI3skaX0gICAgIHsgbWFyZ2luLWJvdHRvbTogc3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblx0LnUtc3BhY2luZy1tbCN7JGl9ICAgICB7IG1hcmdpbi1sZWZ0OiBcdHNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG5cblx0Ly8gUGFkZGluZ1xuXHQudS1zcGFjaW5nLXAjeyRpfSAgICAgIHsgcGFkZGluZzogXHRcdHNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG5cdC51LXNwYWNpbmctcHQjeyRpfSAgICAgeyBwYWRkaW5nLXRvcDogXHRzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLXByI3skaX0gICAgIHsgcGFkZGluZy1yaWdodDogc3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblx0LnUtc3BhY2luZy1wYiN7JGl9ICAgICB7IHBhZGRpbmctYm90dG9tOnNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG5cdC51LXNwYWNpbmctcGwjeyRpfSAgICAgeyBwYWRkaW5nLWxlZnQ6IFx0c3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogVGhpcyBncmlkIGNhbiBiZSB0dXJuZWQgb24gYW5kIG9mZiB3aGVuIHlvdSB3YW50IHRvIGNoZWNrXG4gKiBpZiBldmVyeXRoaW5nIGlzIG5pY2UgaW4gcGxhY2UuXG4gKiBTZXQgZmxhZyAnc2hvd19ncmlkJyB0byB0cnVlIGluIHNpdGUucGhwXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbiR2Zy1saW5lLWNvbG9yOiBoc2xhKDIyNywgNzAsIDUwLCAwLjIpO1xuXG4vLyBEbyBzb21lIGNhbGN1bGF0aW9ucyBhbmQgcHV0IHRoZW0gaW4gdmFyaWFibGVzIGZvciByZXVzZVxuJHZnLWNvbHVtbi1jb3VudDogJHNpdGUtY29sdW1ucyAtIDI7XG4kdmctY29sdW1uLXdpZHRoOiBwZXJjZW50YWdlKDEgLyAkdmctY29sdW1uLWNvdW50KTtcblxuXG4udS12aXNpYmxlLWdyaWQge1xuXHRAaW5jbHVkZSB6KHotdmlzaWJsZS1ncmlkKTtcblx0QGluY2x1ZGUgY29udGFpbigpO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHRAaW5jbHVkZSBtcShtLCBsKSB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxufVxuXG5cbi51LXZpc2libGUtZ3JpZF9fbWFpbiB7XG5cdGhlaWdodDogMTAwdmg7XG5cdGJhY2tncm91bmQ6XG5cdFx0cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0dG8gcmlnaHQsXG5cdFx0XHRcdCR2Zy1saW5lLWNvbG9yLFxuXHRcdFx0XHQkdmctbGluZS1jb2xvciAxcHgsXG5cdFx0XHRcdHRyYW5zcGFyZW50IDFweCxcblx0XHRcdFx0dHJhbnNwYXJlbnQgJHZnLWNvbHVtbi13aWR0aFxuXHRcdCksXG5cdFx0cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0dG8gbGVmdCxcblx0XHRcdFx0JHZnLWxpbmUtY29sb3IsXG5cdFx0XHRcdCR2Zy1saW5lLWNvbG9yIDFweCxcblx0XHRcdFx0dHJhbnNwYXJlbnQgMXB4LFxuXHRcdFx0XHR0cmFuc3BhcmVudCAxMDB2d1xuXHRcdCk7XG5cblxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/