@charset "UTF-8";
/*---------------------------------------*\
		Styles et réglages globaux
\*---------------------------------------*/
/*------------------------------------*\
		Easing
\*------------------------------------*/
/* normalize.css v3.0.1 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
	 ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
	 ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  margin: 0.67em 0;
  font-size: 2em;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  color: #000;
  background: #ff0;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  position: relative;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
	 ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
	 ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  margin: 0;
  /* 3 */
  font: inherit;
  /* 2 */
  color: inherit;
  /* 1 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  /* 2 */
  box-sizing: content-box;
  -webkit-appearance: textfield;
  /* 1 */
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
  border: 1px solid #c0c0c0;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  padding: 0;
  /* 2 */
  border: 0;
  /* 1 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
	 ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/*------------------------------------*\
		CSS Reset

	http://meyerweb.com/eric/tools/css/reset/
  v2.0 | 20110126
  License: none (public domain)
\*------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video,
button, input, select {
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  font: inherit;
  font-size: 100%;
  border: 0;
}

/* HTML5 display-role reset for older browsers */
main,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ol,
ul {
  list-style: none;
}

q,
blockquote {
  quotes: none;
}

q:after, q:before,
blockquote:after,
blockquote:before {
  content: "";
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

button,
input {
  font: inherit;
}

.mac button, .mac
input {
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-osx-font-smoothing: antialiased;
}

button {
  cursor: pointer;
}

/*------------------------------------*\
		Functions
\*------------------------------------*/
/**
 * A function helper to avoid having to type `map-get($z-layers, ...)`
 * Based on http://css-tricks.com/handling-z-index/
 * @param  {string} $layer The name of the z-index
 * @param  {number} $var   The modifier if needed
 * @return {number}        The corresponding z-index based on the $z-layers var
 */
/**
 * Remove units from the given number
 * @param  {number} $number The number with units
 * @return {number}
 */
/**
 * Create variables for the media queries
 * @param  {string} $breakpoint The breakpoint
 * @param  {string} $type       Type of media query (min or max)
 * @param  {string} $unit       The unit for the media queries (em or px)
 * @return {string}             A media query expression
 */
/**
 * Slightly lighten a color
 * @access public
 * @param {Color} $color - color to tint
 * @param {Number} $percentage - percentage of `$color` in returned color
 * @return {Color}
 */
/**
 * Slightly darken a color
 * @access public
 * @param  {color}  $color       color to shade
 * @param  {number} $percentage  percentage of `$color` in returned color
 * @return {Color}
 */
/**
 * Power function
 * @param  {number} $number Number to apply power
 * @param  {number} $exp    The exponant for the power
 * @return {number}         The powered number
 */
/**
 * Factorial function
 * @param  {number} $number The number to factorize
 * @return {number}         The factorised number
 */
/**
 * Pi reference
 * @return {number} Retrun PI with 11 decimals
 */
/**
 * Convert deg to rad
 * @param  {string} $angle The angle to convert
 * @return {number}        The unitless angle converted to rad
 */
/**
 * Calculate the sinus of an angle
 * @param  {string} $angle The angle to compute
 * @return {number}        The sinus of the given angle
 */
/**
 * Calculate the cosinus of an angle
 * @param  {string} $angle The angle to compute
 * @return {number}        The cosinus of the given angle
 */
/**
 * Calculate the tangent of an angle
 * @param  {string} $angle The angle to compute
 * @return {number}        The tangent of the given angle
 */
/*---------------------------------------*\
		Positions & dispositions
\*---------------------------------------*/
/*---------------------------------------*\
		Typographie
\*---------------------------------------*/
/*---------------------------------------*\
		Triangles
\*---------------------------------------*/
/*---------------------------------------*\
		SVG Responsive
\*---------------------------------------*/
/*
Utilitaire pour le padding hack qui permet d'avoir des fichiers `*.svg` responsive.
Plus d'infos ici : http://tympanus.net/codrops/2014/08/19/making-svgs-responsive-with-css/
*/
/*------------------------------------*\
		Gradients
\*------------------------------------*/
/**
 * Mixin printing a linear-gradient
 * as well as a plain color fallback
 * and the `-webkit-` prefixed declaration
 * @param {String | List | Angle} $direction - Linear gradient direction
 * @param {Arglist} $color-stops - List of color-stops composing the gradient
 */
/*------------------------------------*\
		Fluid type
\*------------------------------------*/
/*------------------------------------*/
/*		Fontface declaration
/*------------------------------------*/
@font-face {
  font-family: "Neue";
  src: url("../fonts/neue-haas-grotesk-regular.woff") format("woff"), url("../fonts/neue-haas-grotesk-regular.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "Neue";
  src: url("../fonts/neue-haas-grotesk-bold.woff") format("woff"), url("../fonts/neue-haas-grotesk-bold.otf") format("opentype");
  font-style: normal;
  font-weight: bold;
}

@font-face {
  font-family: "Neue";
  src: url("../fonts/neue-haas-grotesk-medium.woff") format("woff"), url("../fonts/neue-haas-grotesk-medium.otf") format("opentype");
  font-style: normal;
  font-weight: 500;
}

/*---------------------------------------*\
		Debug
\*---------------------------------------*/
/*
Une condition dépendante de la variable `$debug` qui permet d'afficher les contours de tous les élements du DOM.
*/
[debug] {
  display: none;
}

/*------------------------------------*\
		Positionnement & Display
\*------------------------------------*/
.none {
  display: none;
}

.table {
  display: table;
}

.cell {
  display: table-cell;
}

.bl {
  display: block;
}

.inlbl {
  display: inline-block;
}

.inlbl--force {
  display: inline-block !important;
}

.abs {
  position: absolute;
}

.rel {
  position: relative;
}

.cf:after, .publilist__item:after {
  content: "";
  clear: both;
  display: block;
}

.left {
  float: left;
}

.right {
  float: right;
}

/*------------------------------------*\
		Typographie
\*------------------------------------*/
.tac {
  text-align: center;
}

.tal {
  text-align: left;
}

.tar {
  text-align: right;
}

@media (min-width: 62em) {
  .tar-d {
    text-align: right;
  }
}

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

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-osx-font-smoothing: antialiased;
}

.hyphenate {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
     -moz-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
}

/*---------------------------------------*\
		Sélection
\*---------------------------------------*/
::-moz-selection {
  text-shadow: none;
  color: #fefefe;
  background: #1a4175;
}

::selection {
  text-shadow: none;
  color: #fefefe;
  background: #1a4175;
}

/*---------------------------------------*\
		Réglages globaux
\*---------------------------------------*/
*,
*:after,
*:before {
  position: relative;
  box-sizing: inherit;
  outline: none;
}

html {
  box-sizing: border-box;
  font-size: 16px;
}

html.mac {
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-osx-font-smoothing: antialiased;
}

body {
  font-family: "Neue", "Helvetica Neue", Arial, sans-serif;
  font-size: 1em;
  color: #5f5f5f;
}

main {
  width: 100%;
  margin: 0 auto;
}

.main-wrapper {
  width: 100%;
}

.single .main-inner {
  padding-bottom: 0 !important;
}

/*------------------------------------*\
		Sections
\*------------------------------------*/
.section {
  padding-bottom: 10vw;
}

@media (min-width: 1300px) {
  .section {
    padding-bottom: 130px !important;
  }
}

.section--no-spacing-b {
  padding-bottom: 0 !important;
}

.section--cols {
  padding-bottom: 0 !important;
  margin-bottom: 7.69231vw;
}

@media (min-width: 1300px) {
  .section--cols {
    margin-bottom: 100px !important;
  }
}

@media (min-width: 53.75em) {
  .section--cols {
    min-height: 400px;
  }
}

@media (min-width: 62em) {
  .section--cols {
    min-height: 555px;
  }
}

/*------------------------------------*\
		Misc Helpers
\*------------------------------------*/
.f-left {
  float: left;
}

.f-right {
  float: right;
}

.medium {
  font-weight: 500;
}

.sans {
  font-family: "Neue", "Helvetica Neue", Arial, sans-serif;
}

.mb-20 {
  margin-bottom: 20px;
}

.mb-40 {
  margin-bottom: 20px;
}

@media (min-width: 62em) {
  .mb-40 {
    margin-bottom: 40px;
  }
}

.mb-50 {
  margin-bottom: 3.84615vw;
}

@media (min-width: 1300px) {
  .mb-50 {
    margin-bottom: 50px !important;
  }
}

.mb-60 {
  margin-bottom: 30px;
}

@media (min-width: 62em) {
  .mb-60 {
    margin-bottom: 60px;
  }
}

.mb-90 {
  margin-bottom: 0px;
}

@media (min-width: 53.75em) {
  .mb-90 {
    margin-bottom: 40px;
  }
}

@media (min-width: 62em) {
  .mb-90 {
    margin-bottom: 90px;
  }
}

.mb-120 {
  margin-bottom: 9.23077vw;
}

@media (min-width: 1300px) {
  .mb-120 {
    margin-bottom: 120px !important;
  }
}

.mr-20 {
  margin-right: 20px;
}

.mr-40 {
  margin-right: 40px;
}

.pt-20 {
  padding-top: 20px;
}

.pt-40 {
  padding-top: 40px;
}

.full-pic {
  width: 100%;
  height: auto;
  display: block;
}

.shadow {
  box-shadow: 5px 8px 30px rgba(0, 0, 0, 0.15);
}

/*------------------------------------*\
		Base couleurs
\*------------------------------------*/
.blue {
  color: #1a4175;
}

.yellow {
  color: #f9cd00;
}

.abs-pic {
  display: none;
}

.abs-pic img {
  position: absolute;
  top: 0;
  width: 35.763888889%;
  height: auto;
}

.abs-pic.abs-pic--left img {
  left: 0;
}

.abs-pic.abs-pic--right img {
  right: 0;
  left: auto;
}

@media (min-width: 53.75em) {
  .abs-pic {
    display: block;
  }
}

/*
Typographie
===========

Règles de base pour tout le site (h1, h2, blockquote, etc).

-->    http://type-scale.com/    <--

Pratique pour générer des rythmes typographiques rapidement
*/
body {
  line-height: 1.45;
}

p,
ol,
blockquote {
  margin-bottom: 1.3em;
}

ul {
  margin-bottom: 0;
}

h1,
h2,
h3,
h4 {
  margin: 0;
  line-height: 1.2;
  font-weight: 700;
}

.type-title-1, .content h1 {
  margin-bottom: 30px;
  font-size: 3.07692vw;
  line-height: 4.30769vw;
  font-weight: bold;
}

@media (max-width: 780px) {
  .type-title-1, .content h1 {
    font-size: 24px;
    line-height: 36px;
  }
}

@media (min-width: 1300px) {
  .type-title-1, .content h1 {
    font-size: 40px;
    line-height: 56px;
  }
}

.type-title-2, .content h2 {
  margin-bottom: 15px;
  font-size: 2.30769vw;
  line-height: 3.46154vw;
  font-weight: bold;
}

@media (max-width: 953.33333px) {
  .type-title-2, .content h2 {
    font-size: 22px;
    line-height: 33px;
  }
}

@media (min-width: 1300px) {
  .type-title-2, .content h2 {
    font-size: 30px;
    line-height: 45px;
  }
}

.type-title-2--medium {
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.type-title-3, .content h3 {
  margin-bottom: 20px;
  font-size: 1.92308vw;
  line-height: 3.07692vw;
  font-weight: bold;
}

@media (max-width: 832px) {
  .type-title-3, .content h3 {
    font-size: 16px;
    line-height: 24px;
  }
}

@media (min-width: 1300px) {
  .type-title-3, .content h3 {
    font-size: 25px;
    line-height: 40px;
  }
}

.type-normal {
  font-size: 2.15385vw;
  line-height: 3.23077vw;
}

@media (max-width: 835.71429px) {
  .type-normal {
    font-size: 18px;
    line-height: 27px;
  }
}

@media (min-width: 1300px) {
  .type-normal {
    font-size: 28px;
    line-height: 42px;
  }
}

small {
  font-size: 0.75em;
}

sup {
  vertical-align: super;
  font-size: 0.75em;
}

.content {
  color: #5f5f5f;
  font-size: 1.53846vw;
  line-height: 2.61538vw;
}

@media (max-width: 1040px) {
  .content {
    font-size: 16px;
    line-height: 24px;
  }
}

@media (min-width: 1300px) {
  .content {
    font-size: 20px;
    line-height: 34px;
  }
}

.content p {
  font-size: 1.53846vw;
  line-height: 2.61538vw;
  margin-bottom: 30px;
}

@media (max-width: 1040px) {
  .content p {
    font-size: 16px;
    line-height: 24px;
  }
}

@media (min-width: 1300px) {
  .content p {
    font-size: 20px;
    line-height: 34px;
  }
}

.content p strong {
  font-weight: 600;
}

.content p a {
  color: #0072ac;
  transition: 0.2s color cubic-bezier(0.19, 1, 0.22, 1);
}

.content p a:hover {
  color: #f9cd00;
}

.content p em {
  font-style: italic;
}

.content ul {
  margin-bottom: 30px;
}

.content ul li:not(.gfield) {
  font-size: 1.53846vw;
  line-height: 2.61538vw;
}

@media (max-width: 1040px) {
  .content ul li:not(.gfield) {
    font-size: 16px;
    line-height: 24px;
  }
}

@media (min-width: 1300px) {
  .content ul li:not(.gfield) {
    font-size: 20px;
    line-height: 34px;
  }
}

.content ul li:not(.gfield):before {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-color: transparent transparent transparent #f9cd00;
  border-style: solid;
  border-width: 8.5px 0 8.5px 15px;
  margin-left: 20px;
  margin-right: 20px;
}

.content ul li:not(.gfield) a {
  color: #0072ac;
  transition: 0.2s color cubic-bezier(0.19, 1, 0.22, 1);
}

.content ul li:not(.gfield) a:hover {
  color: #f9cd00;
}

.content .inline-list {
  margin-bottom: 3.84615vw;
}

@media (min-width: 1300px) {
  .content .inline-list {
    margin-bottom: 50px !important;
  }
}

.content .inline-list a {
  text-transform: uppercase;
  text-decoration: none;
  color: #0072ac;
  font-size: 1.53846vw;
  line-height: 2.61538vw;
  transition: 0.3s all cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media (max-width: 1170px) {
  .content .inline-list a {
    font-size: 18px;
    line-height: 27px;
  }
}

@media (min-width: 1300px) {
  .content .inline-list a {
    font-size: 20px;
    line-height: 34px;
  }
}

.content .inline-list a:after {
  content: '';
  display: block;
  height: 3px;
  background: #f9cd00;
  -webkit-transform: scale3d(0, 1, 1);
          transform: scale3d(0, 1, 1);
  bottom: -4px;
  transition: 0.3s all cubic-bezier(0.215, 0.61, 0.355, 1);
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.content .inline-list a:hover:after {
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
}

.content hr {
  border: none;
  margin-top: 3.84615vw;
  margin-bottom: 3.84615vw;
}

@media (min-width: 1300px) {
  .content hr {
    margin-top: 50px !important;
  }
}

@media (min-width: 1300px) {
  .content hr {
    margin-bottom: 50px !important;
  }
}

.content hr:after {
  content: "";
  clear: both;
  display: block;
}

.content .alignleft {
  max-width: 300px;
  float: left;
  height: auto;
  padding-right: 3.84615vw;
}

@media (min-width: 1300px) {
  .content .alignleft {
    padding-right: 50px !important;
  }
}

.content .alignright {
  max-width: 300px;
  float: right;
  height: auto;
  padding-left: 3.84615vw;
}

@media (min-width: 1300px) {
  .content .alignright {
    padding-left: 50px !important;
  }
}

.content .aligncenter {
  text-align: center;
  display: block;
  margin: 0 auto;
  max-width: 100%;
}

.content.content--intro {
  margin-bottom: 3.07692vw;
}

@media (min-width: 1300px) {
  .content.content--intro {
    margin-bottom: 40px !important;
  }
}

.content.content--intro p {
  font-size: 1.69231vw;
  line-height: 2.61538vw;
}

@media (max-width: 1063.63636px) {
  .content.content--intro p {
    font-size: 18px;
    line-height: 27px;
  }
}

@media (min-width: 1300px) {
  .content.content--intro p {
    font-size: 22px;
    line-height: 34px;
  }
}

@media (min-width: 80em) {
  .content .alignleft, .content .alignright {
    max-width: 456px;
  }
}

@media (max-width: 30em) {
  .content .alignleft, .content .alignright {
    display: none;
    float: none;
    max-width: 100%;
    padding: 0;
  }
  .content ul li:not(.gfield):before {
    margin-left: 0;
    margin-right: 10px;
    top: 3px;
  }
}

.content--pt {
  padding-top: 70px;
}

/*------------------------------------*\
		Grid system (Bootstrap)
\*------------------------------------*/
.container {
  width: 100%;
  max-width: 1400px;
  margin-right: auto;
  margin-left: auto;
  z-index: 2;
  padding-right: 20px;
  padding-left: 20px;
}

@media (min-width: 53.75em) {
  .container {
    padding-right: 100px;
    padding-left: 100px;
  }
}

.container.large-container {
  width: 100%;
  max-width: 1400px;
}

.container.medium-container {
  width: 100%;
  max-width: 1600px;
}

.container-slider {
  width: 100%;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}

.row {
  margin-right: -0.5em;
  margin-left: -0.5em;
}

.row:after {
  content: "";
  clear: both;
  display: block;
}

@media (min-width: 53.75em) {
  .row {
    margin-right: -0.625em;
    margin-left: -0.625em;
  }
}

@media (min-width: 62em) {
  .row {
    margin-right: -0.75em;
    margin-left: -0.75em;
  }
}

[class*="col-xs-"],
[class*="col-s-"],
[class*="col-m-"],
[class*="col-n-"],
[class*="col-l-"],
[class*="col-xl-"] {
  min-height: 1px;
  padding-right: 0.5em;
  padding-left: 0.5em;
}

@media (min-width: 53.75em) {
  [class*="col-xs-"],
  [class*="col-s-"],
  [class*="col-m-"],
  [class*="col-n-"],
  [class*="col-l-"],
  [class*="col-xl-"] {
    padding-right: 0.625em;
    padding-left: 0.625em;
  }
}

@media (min-width: 62em) {
  [class*="col-xs-"],
  [class*="col-s-"],
  [class*="col-m-"],
  [class*="col-n-"],
  [class*="col-l-"],
  [class*="col-xl-"] {
    padding-right: 0.75em;
    padding-left: 0.75em;
  }
}

[class*="col-xs-"],
[class*="col-s-"],
[class*="col-m-"],
[class*="col-n-"],
[class*="col-l-"],
[class*="col-xl-"] {
  float: left;
}

[class*="col-xs-"].right,
[class*="col-s-"].right,
[class*="col-m-"].right,
[class*="col-n-"].right,
[class*="col-l-"].right,
[class*="col-xl-"].right {
  float: right;
}

.col-xs-12 {
  width: 100%;
}

.col-xs-11 {
  width: 91.66666667%;
}

.col-xs-10 {
  width: 83.33333333%;
}

.col-xs-9 {
  width: 75%;
}

.col-xs-8 {
  width: 66.66666667%;
}

.col-xs-7 {
  width: 58.33333333%;
}

.col-xs-6 {
  width: 50%;
}

.col-xs-5 {
  width: 41.66666667%;
}

.col-xs-4 {
  width: 33.33333333%;
}

.col-xs-3 {
  width: 25%;
}

.col-xs-2 {
  width: 16.66666667%;
}

.col-xs-1 {
  width: 8.33333333%;
}

.col-xs-0 {
  width: 0;
}

@media (min-width: 30em) {
  .col-s-12 {
    width: 100%;
  }
  .col-s-11 {
    width: 91.66666667%;
  }
  .col-s-10 {
    width: 83.33333333%;
  }
  .col-s-9 {
    width: 75%;
  }
  .col-s-8 {
    width: 66.66666667%;
  }
  .col-s-7 {
    width: 58.33333333%;
  }
  .col-s-6 {
    width: 50%;
  }
  .col-s-5 {
    width: 41.66666667%;
  }
  .col-s-4 {
    width: 33.33333333%;
  }
  .col-s-3 {
    width: 25%;
  }
  .col-s-2 {
    width: 16.66666667%;
  }
  .col-s-1 {
    width: 8.33333333%;
  }
  .col-s-0 {
    width: 0;
  }
}

@media (min-width: 53.75em) {
  .col-m-12 {
    width: 100%;
  }
  .col-m-11 {
    width: 91.66666667%;
  }
  .col-m-10 {
    width: 83.33333333%;
  }
  .col-m-9 {
    width: 75%;
  }
  .col-m-8 {
    width: 66.66666667%;
  }
  .col-m-7 {
    width: 58.33333333%;
  }
  .col-m-6 {
    width: 50%;
  }
  .col-m-5 {
    width: 41.66666667%;
  }
  .col-m-4 {
    width: 33.33333333%;
  }
  .col-m-3 {
    width: 25%;
  }
  .col-m-2 {
    width: 16.66666667%;
  }
  .col-m-1 {
    width: 8.33333333%;
  }
  .col-m-0 {
    width: 0;
  }
}

@media (min-width: 62em) {
  .col-n-12 {
    width: 100%;
  }
  .col-n-11 {
    width: 91.66666667%;
  }
  .col-n-10 {
    width: 83.33333333%;
  }
  .col-n-9 {
    width: 75%;
  }
  .col-n-8 {
    width: 66.66666667%;
  }
  .col-n-7 {
    width: 58.33333333%;
  }
  .col-n-6 {
    width: 50%;
  }
  .col-n-5 {
    width: 41.66666667%;
  }
  .col-n-4 {
    width: 33.33333333%;
  }
  .col-n-3 {
    width: 25%;
  }
  .col-n-2 {
    width: 16.66666667%;
  }
  .col-n-1 {
    width: 8.33333333%;
  }
  .col-n-0 {
    width: 0;
  }
}

@media (min-width: 80em) {
  .col-l-12 {
    width: 100%;
  }
  .col-l-11 {
    width: 91.66666667%;
  }
  .col-l-10 {
    width: 83.33333333%;
  }
  .col-l-9 {
    width: 75%;
  }
  .col-l-8 {
    width: 66.66666667%;
  }
  .col-l-7 {
    width: 58.33333333%;
  }
  .col-l-6 {
    width: 50%;
  }
  .col-l-5 {
    width: 41.66666667%;
  }
  .col-l-4 {
    width: 33.33333333%;
  }
  .col-l-3 {
    width: 25%;
  }
  .col-l-2 {
    width: 16.66666667%;
  }
  .col-l-1 {
    width: 8.33333333%;
  }
  .col-l-0 {
    width: 0;
  }
}

@media (min-width: 90em) {
  .col-xl-12 {
    width: 100%;
  }
  .col-xl-11 {
    width: 91.66666667%;
  }
  .col-xl-10 {
    width: 83.33333333%;
  }
  .col-xl-9 {
    width: 75%;
  }
  .col-xl-8 {
    width: 66.66666667%;
  }
  .col-xl-7 {
    width: 58.33333333%;
  }
  .col-xl-6 {
    width: 50%;
  }
  .col-xl-5 {
    width: 41.66666667%;
  }
  .col-xl-4 {
    width: 33.33333333%;
  }
  .col-xl-3 {
    width: 25%;
  }
  .col-xl-2 {
    width: 16.66666667%;
  }
  .col-xl-1 {
    width: 8.33333333%;
  }
  .col-xl-0 {
    width: 0;
  }
}

/*------------------------------------*\
		Header
\*------------------------------------*/
.main-header {
  padding: 30px 0;
  z-index: 4;
}

.main-header .header__logo {
  width: 22%;
  min-width: 180px;
  z-index: 6;
  display: block;
}

@media (min-width: 53.75em) {
  .main-header {
    padding: 40px 0;
  }
  .main-header .header__logo {
    width: 22%;
  }
}

@media (min-width: 62em) {
  .main-header .header__logo {
    width: 264px;
    height: 62px;
  }
  .main-header .header__logo i, .main-header .header__logo svg {
    width: 100%;
    height: 100%;
  }
}

.mobile-menu-container {
  z-index: 10;
}

.mobile-menu {
  display: block;
  height: 35px;
  width: 50px;
  position: absolute;
  right: 0;
  top: 5px;
}

.mobile-menu .line {
  height: 2px;
  background: #f9cd00;
  height: 4px;
  position: absolute;
  width: 100%;
  border-radius: 10px;
  transition: 0.4s all cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.mobile-menu .line--top {
  top: 0;
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
}

.mobile-menu .line--mid {
  top: 14px;
}

.mobile-menu .line--bot {
  top: 29px;
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
}

@media (min-width: 53.75em) {
  .mobile-menu {
    display: none;
  }
}

.nav-main {
  z-index: 4;
}

.nav-main.nav-main--header {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  background: white;
  text-align: center;
  padding-top: 150px;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-40px);
      -ms-transform: translateY(-40px);
          transform: translateY(-40px);
  transition: 0.3s all cubic-bezier(0.215, 0.61, 0.355, 1);
}

.nav-main.nav-main--header li {
  margin-bottom: 50px;
  display: block;
}

.nav-main li {
  display: inline-block;
}

.nav-main li:first-child {
  margin-left: 0;
}

.nav-main li a {
  color: #1a4175;
  text-decoration: none;
  font-weight: bold;
  display: inline-block;
  font-size: 20px;
}

.nav-main li a:after {
  content: '';
  display: block;
  height: 3px;
  background: #f9cd00;
  -webkit-transform: scaleX(0);
      -ms-transform: scaleX(0);
          transform: scaleX(0);
  bottom: -4px;
  transition: 0.3s all cubic-bezier(0.215, 0.61, 0.355, 1);
}

.nav-main li.menu__item--active a:after {
  -webkit-transform: scaleX(1);
      -ms-transform: scaleX(1);
          transform: scaleX(1);
}

@media (min-width: 53.75em) {
  .nav-main li {
    z-index: 2;
  }
  .nav-main li a {
    font-size: 1.53846vw;
    line-height: 1.69231vw;
  }
}

@media (min-width: 53.75em) and (max-width: 1170px) {
  .nav-main li a {
    font-size: 18px;
    line-height: 27px;
  }
}

@media (min-width: 53.75em) and (min-width: 1300px) {
  .nav-main li a {
    font-size: 20px;
    line-height: 22px;
  }
}

@media (min-width: 53.75em) {
  .nav-main li:hover a:after {
    -webkit-transform: scaleX(1);
        -ms-transform: scaleX(1);
            transform: scaleX(1);
  }
  .nav-main.nav-main--header {
    position: relative;
    top: 0;
    right: 0;
    width: auto;
    text-align: right;
    padding-top: 0;
    margin-top: 25px;
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
  }
  .nav-main.nav-main--header li {
    margin-bottom: 0;
    margin-left: 2.5rem;
    display: inline-block;
  }
}

.notouch .nav-main li:hover a:after {
  -webkit-transform: scaleX(1);
      -ms-transform: scaleX(1);
          transform: scaleX(1);
}

.menu-open .nav-main {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0px);
      -ms-transform: translateY(0px);
          transform: translateY(0px);
}

.menu-open .mobile-menu .line--mid {
  opacity: 0;
}

.menu-open .mobile-menu .line--top {
  -webkit-transform: rotate(45deg) translateY(-5px);
      -ms-transform: rotate(45deg) translateY(-5px);
          transform: rotate(45deg) translateY(-5px);
}

.menu-open .mobile-menu .line--bot {
  -webkit-transform: rotate(-45deg) translateY(4px);
      -ms-transform: rotate(-45deg) translateY(4px);
          transform: rotate(-45deg) translateY(4px);
}

/*------------------------------------*\
		Footer
\*------------------------------------*/
.main-footer {
  padding: 60px 0;
  background: #1a4175;
  color: #fefefe;
  text-align: center;
}

.main-footer p, .main-footer a, .main-footer span {
  color: #fefefe;
  text-decoration: none;
  font-size: 1.38462vw;
  line-height: 1.53846vw;
  font-weight: 400;
}

@media (max-width: 1011.11111px) {
  .main-footer p, .main-footer a, .main-footer span {
    font-size: 14px;
    line-height: 21px;
  }
}

@media (min-width: 1300px) {
  .main-footer p, .main-footer a, .main-footer span {
    font-size: 18px;
    line-height: 20px;
  }
}

.main-footer p > a {
  display: inline-block;
}

.main-footer p > a:after {
  content: '';
  display: block;
  height: 3px;
  background: #fefefe;
  -webkit-transform: scaleX(0);
      -ms-transform: scaleX(0);
          transform: scaleX(0);
  bottom: -4px;
  transition: 0.3s all cubic-bezier(0.215, 0.61, 0.355, 1);
}

.main-footer .tar {
  text-align: center;
}

.main-footer a:hover:after {
  -webkit-transform: scaleX(1);
      -ms-transform: scaleX(1);
          transform: scaleX(1);
}

@media (min-width: 53.75em) {
  .main-footer {
    text-align: left;
  }
  .main-footer .tar {
    text-align: right;
  }
}

.nav-main--footer {
  margin-top: 5px;
  margin-bottom: 30px;
  text-align: center;
}

.nav-main--footer li {
  margin-left: 1.5rem;
  margin-bottom: 10px;
}

.nav-main--footer li a {
  color: #fefefe;
  font-size: 1.38462vw;
  line-height: 1.53846vw;
}

@media (max-width: 1011.11111px) {
  .nav-main--footer li a {
    font-size: 14px;
    line-height: 21px;
  }
}

@media (min-width: 1300px) {
  .nav-main--footer li a {
    font-size: 18px;
    line-height: 20px;
  }
}

@media (min-width: 53.75em) {
  .nav-main--footer {
    text-align: right;
  }
  .nav-main--footer li {
    margin-bottom: 0;
  }
  .nav-main--footer li a {
    font-size: 1.38462vw;
    line-height: 1.53846vw;
  }
}

@media (min-width: 53.75em) and (max-width: 1011.11111px) {
  .nav-main--footer li a {
    font-size: 14px;
    line-height: 21px;
  }
}

@media (min-width: 53.75em) and (min-width: 1300px) {
  .nav-main--footer li a {
    font-size: 18px;
    line-height: 20px;
  }
}

@media (max-width: 53.75em) {
  .nav-main--footer .menu {
    width: 100%;
    text-align: center;
  }
  .nav-main--footer .menu li {
    margin: 0 5px;
    display: inline-block;
    margin-bottom: 10px;
  }
}

.scrolltop {
  display: none;
  width: 51px;
  height: 51px;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#fc76a9+0,fa6688+30,f96474+44,f76747+73,f56e25+93,f57113+100 */
  background: #fc76a9;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(45deg, #fc76a9 0%, #fa6688 30%, #f96474 44%, #f76747 73%, #f56e25 93%, #f57113 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fc76a9', endColorstr='#f57113',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */
  position: absolute;
  right: 0;
  bottom: 0;
  cursor: pointer;
}

.scrolltop:before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-color: transparent transparent #fff;
  border-style: solid;
  border-width: 0 10px 15px;
  margin: 0 auto;
  padding-top: 17px;
}

.scrolltop.fixed {
  position: fixed;
  z-index: 9999;
}

@media (min-width: 53.75em) {
  .scrolltop {
    display: block;
    width: 71px;
    height: 71px;
  }
  .scrolltop:before {
    width: 0;
    height: 0;
    border-color: transparent transparent #fff;
    border-style: solid;
    border-width: 0 12.5px 20px;
    padding-top: 25px;
  }
}

/*------------------------------------*\
		Pictogrammes
\*------------------------------------*/
.icon_scrolldown, .icon_scrolldown svg {
  width: 9px;
  height: 31px;
}

.icon_logo, .icon_logo svg {
  display: block;
  height: auto;
}

.icon_printer, .icon_printer svg, .icon_mail, .icon_mail svg, .icon_pdf, .icon_pdf svg {
  width: 25px;
  height: 25px;
}

@media (min-width: 53.75em) {
  .icon_printer, .icon_printer svg, .icon_mail, .icon_mail svg, .icon_pdf, .icon_pdf svg {
    width: 37px;
    height: 37px;
  }
}

/*------------------------------------*\
		Buttons
\*------------------------------------*/
.btn--readmore, .btn--arrow-container a {
  text-decoration: none;
  font-weight: bold;
  vertical-align: middle;
  font-size: 1.38462vw;
  line-height: 2.46154vw;
}

@media (max-width: 1300px) {
  .btn--readmore, .btn--arrow-container a {
    font-size: 18px;
    line-height: 27px;
  }
}

@media (min-width: 1300px) {
  .btn--readmore, .btn--arrow-container a {
    font-size: 18px;
    line-height: 32px;
  }
}

.btn--readmore:after, .btn--arrow-container a:after {
  content: '';
  display: inline-block;
  background: url(/wp-content/themes/gip-mds/assets/svg/layout/arrow-right.svg) no-repeat;
  width: 15px;
  height: 20px;
  vertical-align: middle;
  margin-left: 10px;
  transition: 0.2s -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: 0.2s transform cubic-bezier(0.215, 0.61, 0.355, 1);
}

.btn--readmore:hover:after, .btn--arrow-container a:hover:after {
  -webkit-transform: translateX(5px);
      -ms-transform: translateX(5px);
          transform: translateX(5px);
}

.content .btn--readmore, .content .btn--arrow-container a, .btn--arrow-container .content a {
  color: #f9cd00;
}

.btn--border, .gform_footer input[type="submit"] {
  background: #f9cd00;
  color: #1a4175;
  border-radius: 40px;
  display: block;
  text-decoration: none;
  padding: 10px 30px;
  transition: 0.3s all cubic-bezier(0.215, 0.61, 0.355, 1);
  font-size: 1.23077vw;
  line-height: 2.46154vw;
}

@media (max-width: 1137.5px) {
  .btn--border, .gform_footer input[type="submit"] {
    font-size: 14px;
    line-height: 21px;
  }
}

@media (min-width: 1300px) {
  .btn--border, .gform_footer input[type="submit"] {
    font-size: 16px;
    line-height: 32px;
  }
}

.btn--border:hover, .gform_footer input:hover[type="submit"] {
  background: #1a4175;
  color: #fefefe;
}

.breadcrumb {
  margin-bottom: 3.07692vw;
  display: none;
}

@media (min-width: 1300px) {
  .breadcrumb {
    margin-bottom: 40px !important;
  }
}

.breadcrumb a {
  color: #d9d9d9;
  text-decoration: none;
}

.breadcrumb .bread-item {
  font-size: 1.53846vw;
  line-height: 1.84615vw;
  transition: 0.3s all cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media (max-width: 1040px) {
  .breadcrumb .bread-item {
    font-size: 16px;
    line-height: 24px;
  }
}

@media (min-width: 1300px) {
  .breadcrumb .bread-item {
    font-size: 20px;
    line-height: 24px;
  }
}

.breadcrumb .bread-item.current {
  color: #f9cd00;
}

.breadcrumb .bread-item:hover {
  color: #f9cd00;
}

.breadcrumb .separator {
  display: inline-block;
  width: 12px;
  height: 20px;
  margin: 0 10px;
  top: 2px;
}

.breadcrumb .separator--yellow {
  background: url(/wp-content/themes/gip-mds/assets/svg/layout/arrow-right.svg) no-repeat;
}

.breadcrumb .separator--grey {
  background: url(/wp-content/themes/gip-mds/assets/svg/layout/arrow-right-grey.svg) no-repeat;
}

.single .breadcrumb {
  padding-right: 220px;
}

@media (min-width: 53.75em) {
  .breadcrumb {
    display: block;
  }
}

/*------------------------------------*\
		Slider
\*------------------------------------*/
.slider .table {
  max-width: 700px;
}

.slider .content--slide-caption {
  color: #1a4175;
}

.slider .content--slide-caption blockquote {
  max-width: 400px;
}

.slider .content--slide-caption p {
  color: #1a4175;
  max-width: 450px;
}

@media (min-width: 53.75em) {
  .slider .content--slide-caption blockquote:before {
    content: '';
    display: block;
    background: url(/wp-content/themes/gip-mds/assets/svg/layout/quote-top.svg) no-repeat;
    width: 50px;
    height: 50px;
    opacity: .5;
    position: absolute;
    left: -60px;
    top: -20px;
  }
  .slider .content--slide-caption blockquote:after {
    content: '';
    display: block;
    background: url(/wp-content/themes/gip-mds/assets/svg/layout/quote-bottom.svg) no-repeat;
    width: 50px;
    height: 50px;
    opacity: .5;
    position: absolute;
    right: -60px;
    bottom: -20px;
  }
}

.slider--page {
  margin-bottom: 9.23077vw;
}

@media (min-width: 1300px) {
  .slider--page {
    margin-bottom: 120px !important;
  }
}

@media (min-width: 53.75em) {
  .slider--page .content--slide-caption blockquote, .slider--page .content--slide-caption p {
    text-shadow: 3px 3px 15px rgba(0, 0, 0, 0.4);
  }
}

@media (max-width: 53.75em) {
  .slider--page .slide {
    padding-bottom: 80px !important;
  }
  .slider--page .slick-dots {
    bottom: 90px !important;
  }
  .slider--page .play-container {
    top: 35%;
  }
  .slider--page .content--slide-caption blockquote {
    margin-bottom: 0;
  }
  .slider--page .content--slide-caption p {
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
  }
  .slider--page .content--slide-caption p br {
    display: none;
  }
  .slider--page .type-title-1, .slider--page .content h1, .content .slider--page h1 {
    margin-top: 10px;
    margin-bottom: 0 !important;
    font-size: 14px;
    line-height: 20px;
  }
}

/*------------------------------------*\
		Form
\*------------------------------------*/
.gform_heading {
  margin-bottom: 40px;
}

.form-yellow .ginput_container input:not([type='file']), .form-yellow .ginput_container textarea {
  border: 2px solid #f9cd00;
}

.form-yellow .ginput_container input[aria-invalid='true'], .form-yellow .ginput_container textarea[aria-invalid='true'] {
  border: 2px solid #d62e2e;
}

.gform_wrapper {
  margin: 0 auto;
  display: block !important;
  max-width: 800px;
}

.gform_fields {
  margin-bottom: 40px !important;
}

.gfield label {
  font-size: 1.53846vw;
  line-height: 1.69231vw;
  margin-bottom: 10px;
  display: block;
  font-weight: 600;
}

@media (max-width: 1170px) {
  .gfield label {
    font-size: 18px;
    line-height: 27px;
  }
}

@media (min-width: 1300px) {
  .gfield label {
    font-size: 20px;
    line-height: 22px;
  }
}

@media (max-width: 30em) {
  .gfield {
    margin-bottom: 30px;
  }
  .gfield label {
    margin-bottom: 5px;
  }
}

.gp_readonly_field {
  pointer-events: none;
}

.gp_readonly_field:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  z-index: 10;
  opacity: 0;
}

.gp_readonly_field input {
  background: #eeeeee;
  pointer-events: none;
}

.ginput_container {
  width: 100%;
  margin-bottom: 3.07692vw;
}

@media (min-width: 1300px) {
  .ginput_container {
    margin-bottom: 40px !important;
  }
}

.ginput_container input, .ginput_container textarea {
  border: 2px solid #933263;
  border-radius: 10px;
  width: 100%;
  padding: 10px 20px;
  font-size: 1.53846vw;
  line-height: 2.61538vw;
  font-weight: 300;
}

@media (max-width: 1170px) {
  .ginput_container input, .ginput_container textarea {
    font-size: 18px;
    line-height: 27px;
  }
}

@media (min-width: 1300px) {
  .ginput_container input, .ginput_container textarea {
    font-size: 20px;
    line-height: 34px;
  }
}

.ginput_container input {
  height: 54px;
  line-height: 24px;
}

.ginput_container input[aria-invalid='true'], .ginput_container textarea[aria-invalid='true'] {
  border: 2px solid #d62e2e;
}

.ginput_container [type='file'] {
  font-size: 16px;
}

.gfield_error .ginput_container .upload-show {
  border: 2px solid #d62e2e;
}

.ginput_container_fileupload .screen-reader-text {
  display: none;
}

.ginput_container_fileupload .btn--border, .ginput_container_fileupload .gform_footer input[type="submit"], .gform_footer .ginput_container_fileupload input[type="submit"] {
  font-size: 1.23077vw;
  line-height: 2.46154vw;
  z-index: -1;
  display: inline-block;
  margin-left: 0;
  margin-top: 10px;
}

@media (max-width: 1462.5px) {
  .ginput_container_fileupload .btn--border, .ginput_container_fileupload .gform_footer input[type="submit"], .gform_footer .ginput_container_fileupload input[type="submit"] {
    font-size: 18px;
    line-height: 27px;
  }
}

@media (min-width: 1300px) {
  .ginput_container_fileupload .btn--border, .ginput_container_fileupload .gform_footer input[type="submit"], .gform_footer .ginput_container_fileupload input[type="submit"] {
    font-size: 16px;
    line-height: 32px;
  }
}

.ginput_container_fileupload input[type="file"] {
  opacity: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 250px;
  cursor: pointer;
}

.gform_footer input[type="submit"] {
  font-size: 1.23077vw;
  line-height: 2.46154vw;
  text-align: center;
  margin: 0 auto;
}

@media (max-width: 1462.5px) {
  .gform_footer input[type="submit"] {
    font-size: 18px;
    line-height: 27px;
  }
}

@media (min-width: 1300px) {
  .gform_footer input[type="submit"] {
    font-size: 16px;
    line-height: 32px;
  }
}

.gform_footer input[type="submit"]:hover {
  background: #1a4175;
  color: #fefefe;
}

.validation_error {
  border: 2px solid #d62e2e;
  padding: 20px;
  border-radius: 20px;
  font-size: 1.38462vw;
  line-height: 1.69231vw;
  margin-bottom: 40px;
}

@media (max-width: 1011.11111px) {
  .validation_error {
    font-size: 14px;
    line-height: 21px;
  }
}

@media (min-width: 1300px) {
  .validation_error {
    font-size: 18px;
    line-height: 22px;
  }
}

.validation_message {
  position: absolute;
  left: 0;
  bottom: -33px;
  font-size: 14px;
  color: #d62e2e;
}

.validation_message.instruction {
  display: none;
}

@media (max-width: 30em) {
  .validation_message {
    bottom: -28px;
  }
}

.gfield_error:after {
  content: 'X';
  font-family: Arial;
  display: block;
  color: #d62e2e;
  position: absolute;
  top: 42px;
  right: 20px;
}

.gfield_error:after .upload-show {
  border: 2px solid #d62e2e !important;
}

@media (max-width: 30em) {
  .gfield_error:after {
    top: 45px;
  }
}

@media (max-width: 53.75em) {
  .home p {
    margin-bottom: 0;
  }
  .home h2 + p {
    margin-bottom: 30px;
  }
}

.slide {
  background-size: cover;
  background-position: center center;
}

.banner-home {
  margin-bottom: 60px;
}

.banner-home video {
  width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 53.75em) {
  .banner-home {
    margin-bottom: 20px;
  }
}

.slide:hover .play-button {
  -webkit-transform: scale(0.95, 0.95);
      -ms-transform: scale(0.95, 0.95);
          transform: scale(0.95, 0.95);
}

.play-container {
  text-align: center;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
  z-index: 10;
  color: white;
  font-weight: 600;
  letter-spacing: 5px;
  text-transform: uppercase;
}

.play-container .play-button {
  width: 70px;
  height: 70px;
  display: block;
  border-radius: 50%;
  border: 3px solid white;
  margin: 0 auto 20px auto;
  transition: 0.3s all cubic-bezier(0.215, 0.61, 0.355, 1);
}

.play-container i {
  margin: 0 auto;
  display: block;
  width: 25px;
  position: absolute;
  top: 19px;
  left: 22px;
}

.play-container i svg {
  display: block;
  width: 25px;
  height: 28px;
}

.play-container .play-content {
  text-shadow: 5px 2px 5px rgba(0, 0, 0, 0.1);
  display: none;
}

@media (min-width: 53.75em) {
  .play-container .play-button {
    width: 150px;
    height: 150px;
    border: 6px solid white;
  }
  .play-container i {
    width: 70px;
    top: 30px;
    left: 40px;
  }
  .play-container i svg {
    display: block;
    width: 78px;
    height: 79px;
  }
  .play-container .play-content {
    display: block;
  }
}

.banner-page {
  text-align: center;
  margin-bottom: 40px;
  padding-top: 3.84615vw;
  padding-bottom: 3.84615vw;
}

@media (min-width: 1300px) {
  .banner-page {
    padding-top: 50px !important;
  }
}

@media (min-width: 1300px) {
  .banner-page {
    padding-bottom: 50px !important;
  }
}

.banner-page.bg-blue {
  background: #1a4175;
  color: #fefefe;
}

.banner-page.bg-purple {
  background: #933263;
  color: #fefefe;
}

.banner-page.bg-yellow {
  background: #f9cd00;
  color: #fefefe;
}

.banner-page .type-title-1, .banner-page .content h1, .content .banner-page h1 {
  margin-bottom: 0vw;
}

@media (min-width: 1300px) {
  .banner-page .type-title-1, .banner-page .content h1, .content .banner-page h1 {
    margin-bottom: 0px !important;
  }
}

.publilist__item {
  display: block;
  border: 2px solid #1a4175;
  border-radius: 10px;
  padding-right: 40px;
  padding-left: 40px;
  padding-top: 20px;
  padding-bottom: 20px;
  transition: 0.3s all cubic-bezier(0.215, 0.61, 0.355, 1);
  margin-bottom: 20px;
  text-decoration: none;
  text-align: center;
}

.publilist__item.publilist__item--purple {
  border: 2px solid #933263;
}

.publilist__item.publilist__item--yellow {
  border: 2px solid #f9cd00;
}

.publilist__item.publilist__item--yellow .publilist__item-medium-content {
  margin-bottom: 20px;
}

.publilist__item.publilist__item--bluelight {
  border: 2px solid #0072ac;
}

.publilist__item .publilist__item-content {
  color: #1a4175;
  display: block;
  vertical-align: middle;
  font-weight: 500;
  letter-spacing: 1px;
  margin-bottom: 20px;
  font-size: 18px;
  margin-top: 14px;
  transition: 0.3s all cubic-bezier(0.215, 0.61, 0.355, 1);
}

.publilist__item .icon-pdf {
  width: 42px;
  height: 42px;
  display: block;
  vertical-align: middle;
  margin: 0 auto;
}

.publilist__item .icon-pdf svg {
  fill: #1a4175;
}

.publilist__item .publilist__item-btn {
  vertical-align: middle;
  display: inline-block;
}

.publilist__item .publilist__item-btn:hover {
  color: #fefefe;
  background: #1a4175;
}

.publilist__item .publilist__item-surtitle {
  font-size: 1.38462vw;
  line-height: 2.46154vw;
  margin-bottom: 5px;
  letter-spacing: 1px;
}

@media (max-width: 1011.11111px) {
  .publilist__item .publilist__item-surtitle {
    font-size: 14px;
    line-height: 21px;
  }
}

@media (min-width: 1300px) {
  .publilist__item .publilist__item-surtitle {
    font-size: 18px;
    line-height: 32px;
  }
}

.publilist__item .publilist__item-medium-content {
  font-size: 1.38462vw;
  line-height: 2.46154vw;
  text-align: left;
}

@media (max-width: 1300px) {
  .publilist__item .publilist__item-medium-content {
    font-size: 18px;
    line-height: 27px;
  }
}

@media (min-width: 1300px) {
  .publilist__item .publilist__item-medium-content {
    font-size: 18px;
    line-height: 32px;
  }
}

.publilist__item .publilist__item-medium-content p {
  margin-bottom: 0;
}

.publilist__item .publilist__item-medium-content p em {
  font-style: italic;
}

.publilist__item .publilist__item-medium-content ul {
  margin-bottom: 30px;
}

.publilist__item .publilist__item-medium-content ul li:not(.gfield) {
  font-size: 1.53846vw;
  line-height: 2.61538vw;
}

@media (max-width: 1040px) {
  .publilist__item .publilist__item-medium-content ul li:not(.gfield) {
    font-size: 16px;
    line-height: 24px;
  }
}

@media (min-width: 1300px) {
  .publilist__item .publilist__item-medium-content ul li:not(.gfield) {
    font-size: 20px;
    line-height: 34px;
  }
}

.publilist__item .publilist__item-medium-content ul li:not(.gfield):before {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-color: transparent transparent transparent #f9cd00;
  border-style: solid;
  border-width: 8.5px 0 8.5px 15px;
  margin-left: 20px;
  margin-right: 20px;
}

.publilist__item .publilist__item-medium-content ul li:not(.gfield) a {
  color: #0072ac;
  transition: 0.2s color cubic-bezier(0.19, 1, 0.22, 1);
}

.publilist__item .publilist__item-medium-content ul li:not(.gfield) a:hover {
  color: #f9cd00;
}

.publilist__item .publilist__item-title {
  font-size: 1.53846vw;
  line-height: 2.46154vw;
  font-weight: 500;
  letter-spacing: 1px;
}

@media (max-width: 1170px) {
  .publilist__item .publilist__item-title {
    font-size: 18px;
    line-height: 27px;
  }
}

@media (min-width: 1300px) {
  .publilist__item .publilist__item-title {
    font-size: 20px;
    line-height: 32px;
  }
}

@media (min-width: 53.75em) {
  .publilist__item {
    text-align: left;
  }
  .publilist__item .publilist__item-content {
    margin-bottom: 0px;
    font-size: 18px;
    display: inline-block;
  }
  .publilist__item .publilist__item-content--ellipsis {
    width: 60%;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }
  .publilist__item .icon-pdf {
    margin-right: 20px;
    display: inline-block;
  }
  .publilist__item .publilist__item-btn {
    float: right;
  }
  .publilist__item .publilist__item-btn--abs {
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .publilist__item .publilist__item-btn--bl {
    position: relative !important;
    right: 0;
  }
  .publilist__item.publilist__item--yellow {
    border: 2px solid #f9cd00;
  }
  .publilist__item.publilist__item--yellow .publilist__item-btn {
    position: absolute;
    right: 0;
  }
  .publilist__item.publilist__item--yellow .publilist__item-medium-content {
    margin-bottom: 0;
  }
}

@media (max-width: 53.75em) {
  .publilist__item {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 30em) {
  .publilist__item .publilist__item-medium-content ul li:not(.gfield):before {
    margin-left: 0;
    margin-right: 10px;
    top: 3px;
  }
}

.publilist--future .publilist__item .publilist__item-btn {
  float: none;
}

.publilist--future .publilist__item .publilist__item-medium-content p {
  margin-bottom: 30px;
}

.expand-content {
  display: block;
}

@media (max-width: 30em) {
  .expand-content {
    display: none;
  }
  .expand-content.expanded {
    display: block;
    margin-top: 20px;
  }
}

.expand {
  display: block;
  cursor: pointer;
}

.expand div:first-of-type:before {
  content: '';
  display: inline-block;
  height: 1px;
  background: #f9cd00;
  width: 30px;
  position: absolute;
  top: 15px;
  margin-left: -15px;
}

.expand div:first-of-type:after {
  content: '';
  display: inline-block;
  width: 1px;
  background: #f9cd00;
  height: 30px;
  margin: 0 auto;
}

@media (min-width: 30em) {
  .expand {
    display: none;
  }
}

.seemore {
  text-decoration: none;
  cursor: pointer;
  transition: 0.3s all cubic-bezier(0.215, 0.61, 0.355, 1);
  font-size: 1.38462vw;
  line-height: 2.61538vw;
}

@media (max-width: 1011.11111px) {
  .seemore {
    font-size: 14px;
    line-height: 21px;
  }
}

@media (min-width: 1300px) {
  .seemore {
    font-size: 18px;
    line-height: 34px;
  }
}

.seemore:hover {
  color: #1a4175;
}

.seemore:hover:after {
  width: 0;
  height: 0;
  border-color: #1a4175 transparent transparent;
  border-style: solid;
  border-width: 12px 6.5px 0;
}

.seemore:after {
  content: '';
  width: 0;
  height: 0;
  border-color: #f9cd00 transparent transparent;
  border-style: solid;
  border-width: 12px 6.5px 0;
  display: inline-block;
  margin-left: 20px;
  transition: 0.3s all cubic-bezier(0.215, 0.61, 0.355, 1);
}

.seemore.open:after {
  width: 0;
  height: 0;
  border-color: transparent transparent #f9cd00;
  border-style: solid;
  border-width: 0 6.5px 12px;
}

.seemore.open:hover {
  color: #1a4175;
}

.seemore.open:hover:after {
  width: 0;
  height: 0;
  border-color: transparent transparent #1a4175;
  border-style: solid;
  border-width: 0 6.5px 12px;
}

.publilist--hidden {
  opacity: 0;
  visibility: hidden;
  display: none;
  transition: 0.3s all cubic-bezier(0.215, 0.61, 0.355, 1);
}

.publilist--hidden.show {
  display: block;
  opacity: 1;
  visibility: visible;
}

.block-grey {
  background: #eeeeee;
  padding-top: 9.23077vw;
  padding-bottom: 9.23077vw;
}

@media (min-width: 1300px) {
  .block-grey {
    padding-top: 120px !important;
  }
}

@media (min-width: 1300px) {
  .block-grey {
    padding-bottom: 120px !important;
  }
}

.actions {
  margin-bottom: 0;
}

.actions a {
  display: inline-block;
  margin-right: 15px;
}

.actions a:hover svg {
  fill: #1a4175;
}

@media (min-width: 53.75em) {
  .actions {
    position: absolute;
    top: 0;
    right: 0;
  }
  .actions a {
    margin-left: 15px;
    margin-right: 0;
  }
}

.yt-container {
  margin-bottom: 9.23077vw;
}

@media (min-width: 1300px) {
  .yt-container {
    margin-bottom: 120px !important;
  }
}

.yt-container iframe {
  width: 100%;
  height: 53.84615vw;
}

@media (min-width: 1300px) {
  .yt-container iframe {
    height: 700px !important;
  }
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slider .slide .slide__caption {
  position: absolute;
  width: 100%;
}

.slider .slide .slide__caption .container, .slider .slide .slide__caption .row, .slider .slide .slide__caption .col-xs-12 {
  height: 100%;
}

.slider .slide .slide__caption .cell {
  vertical-align: middle;
}

.slider .slide .slide__caption .slide__caption-content {
  margin-bottom: 0;
  font-size: 3.84615vw;
  line-height: 5.07692vw;
  color: #1a4175;
  font-weight: bold;
}

@media (max-width: 624px) {
  .slider .slide .slide__caption .slide__caption-content {
    font-size: 24px;
    line-height: 36px;
  }
}

@media (min-width: 1300px) {
  .slider .slide .slide__caption .slide__caption-content {
    font-size: 50px;
    line-height: 66px;
  }
}

.slider .slick-dots {
  width: 100%;
  position: absolute;
  margin-bottom: 0;
  text-align: center;
}

.slider .slick-dots li {
  display: inline;
  margin: 0 10px;
}

.slider .slick-dots li button {
  width: 15px;
  height: 15px;
  overflow: hidden;
  border-radius: 50%;
  background: #fefefe;
  opacity: .5;
  text-indent: -9999px;
  transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}

.slider .slick-dots li:not(.slick-active):hover button {
  -webkit-transform: translateY(-2px);
      -ms-transform: translateY(-2px);
          transform: translateY(-2px);
}

.slider .slick-dots li.slick-active button {
  opacity: 1;
}

@media (min-width: 53.75em) {
  .slider .slide .slide__caption {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }
  .slider .slick-dots {
    bottom: 50px;
  }
}

@media (max-width: 53.75em) {
  .slider .slide {
    padding-bottom: 40px;
  }
  .slider .slick-dots {
    bottom: 50px;
  }
  .slider .slick-dots li {
    margin: 0 5px;
  }
  .slider .slide .slide__caption .slide__caption-content {
    font-size: 16px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCJzZXR0aW5ncy9fdmFyaWFibGVzLnNjc3MiLCJ0b29scy9fbm9ybWFsaXplLnNjc3MiLCJ0b29scy9fcmVzZXQuc2NzcyIsInRvb2xzL19mdW5jdGlvbnMuc2NzcyIsInRvb2xzL19taXhpbnMuc2NzcyIsInRvb2xzL19mb250ZmFjZS5zY3NzIiwidG9vbHMvX2hlbHBlcnMuc2NzcyIsImJhc2UvX2dsb2JhbC5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fY29udGVudC5zY3NzIiwibGF5b3V0L19ncmlkLnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2ljb25zLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19icmVhZGNydW1iLnNjc3MiLCJjb21wb25lbnRzL19zbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJwYWdlcy9faG9tZS5zY3NzIiwicGFnZXMvX3BhZ2Uuc2NzcyIsInZlbmRvcnMvX3NsaWNrLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOzsyQ0FFMkM7QUF1RTNDOzt3Q0FFd0M7QUMzRXhDLDJEQUEyRDtBQUUzRDs7OztHQUlHO0FBRUg7RUFDQyx3QkFBdUI7RUFBRSxPQUFPO0VBQ2hDLDJCQUEwQjtFQUFFLE9BQU87RUFDbkMsK0JBQThCO0VBQUUsT0FBTztDQUN2Qzs7QUFFRDs7R0FFRztBQUVIO0VBQ0MsVUFBUztDQUNUOztBQUVEOytFQUMrRTtBQUUvRTs7OztHQUlHO0FBRUg7Ozs7Ozs7Ozs7OztFQVlDLGVBQWM7Q0FDZDs7QUFFRDs7O0dBR0c7QUFFSDs7OztFQUlDLHNCQUFxQjtFQUFFLE9BQU87RUFDOUIseUJBQXdCO0VBQUUsT0FBTztDQUNqQzs7QUFFRDs7O0dBR0c7QUFFSDtFQUNDLGNBQWE7RUFDYixVQUFTO0NBQ1Q7O0FB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RUlqSFI7SUprSFksZ0JJL0dvRDtJSmdIcEQsa0JJaEgwRDtHQUVyRTtDVCs5QkE7O0FTMzlCRDtFSjhHSSxxQkFsQ3FDO0VBbUNyQyx1QkFuQ3FDO0NJMUV4Qzs7QUoyRkc7RUk3Rko7SUo4RlEsZ0JJN0ZrRDtJSitGOUMsa0JBQXVCO0dJOUZsQztDVHErQkE7O0FLLzNCTztFSXhHUjtJSnlHWSxnQkl4R29EO0lKeUdwRCxrQkl6RzBEO0dBQ3JFO0NUNCtCQTs7QUV4NUJEO0VPakZDLGtCQUFpQjtDQUNqQjs7QVBnR0Q7RU83Rkksc0JBQXFCO0VBQ3JCLGtCQUFpQjtDQUNwQjs7QUN6RUQ7RUFFQyxlQUpzQjtFTDhLbkIscUJBbENxQztFQW1DckMsdUJBbkNxQztDS3lCeEM7O0FMUkc7RUszSko7SUw0SlEsZ0JLekprRDtJTDJKOUMsa0JBQXVCO0dLS2xDO0NWKzVCQTs7QUs1NUJPO0VLdEtSO0lMdUtZLGdCS3BLb0Q7SUxxS3BELGtCS3JLMEQ7R0FnS3JFO0NWczZCQTs7QVV6a0NEO0VMNEtJLHFCQWxDcUM7RUFtQ3JDLHVCQW5DcUM7RUtySHZDLG9CQUFtQjtDQWtCbkI7O0FMb0hFO0VLM0pKO0lMNEpRLGdCS3pJbUQ7SUwySS9DLGtCQUF1QjtHS3ZIakM7Q1YraUNEOztBS2g3Qk87RUt0S1I7SUx1S1ksZ0JLcEpxRDtJTHFKckQsa0JLckoyRDtHQW9CckU7Q1ZzakNEOztBVTdsQ0Q7RUF3QkcsaUJBQWU7Q0FDZjs7QUFFRDtFQUNDLGVUdEJpQjtFU3VCakIsc0RUbUVxRDtDUzlEckQ7O0FBbENIO0VBZ0NJLGVUeEJZO0NTeUJaOztBQWpDSjtFQXFDRyxtQkFBa0I7Q0FDbEI7O0FBdENIO0VBMkNFLG9CQUFtQjtDQXFCbkI7O0FBaEVGO0VMNEtJLHFCQWxDcUM7RUFtQ3JDLHVCQW5DcUM7Q0szRXRDOztBTDRGQztFSzNKSjtJTDRKUSxnQksvR29EO0lMaUhoRCxrQkFBdUI7R0svRmhDO0NWK2pDRjs7QUt4OUJPO0VLdEtSO0lMdUtZLGdCSzFIc0Q7SUwySHRELGtCSzNINEQ7R0FrQnJFO0NWc2tD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O0NBZ0JkOztBQXJCVDtFQVFnQixhQUFXO0NBQ2Q7O0FBVGI7RUFZZ0IsdUJBQXNCO0NBQ3pCOztBQWJiO0VBZ0JnQixpQkFBZ0I7RWhCdUQ1QixxQkFsQ3FDO0VBbUNyQyx1QkFuQ3FDO0VnQm5CekIsZXBCbEhEO0VvQm1IQyxrQkFBaUI7Q0FDcEI7O0FoQmtDVDtFZ0J0REo7SWhCdURRLGdCZ0J0Q2lFO0loQndDN0Qsa0JBQXVCO0dnQnJDdEI7Q3JCcW9HWjs7QUt4bEdPO0VnQmpFUjtJaEJrRVksZ0JnQmpEbUU7SWhCa0RuRSxrQmdCbER5RTtHQUd4RTtDckI0b0daOztBcUJ4b0dHO0VBQ0ksWUFBVztFQUNYLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsbUJBQWtCO0NBNkJyQjs7QUF6REw7RUErQlksZ0JBQWU7RUFDZixlQUFhO0NBd0JoQjs7QUF0Qkc7RUFDSSxZQUFXO0VBQ1gsYUFBWTtFQUNaLGlCQUFnQjtFQUNoQixtQkFBaUI7RUFDakIsb0JwQnpJQTtFb0IwSUEsWUFBVztFQUNYLHFCQUFvQjtFQUNwQixvRHBCL0N3QztDb0JnRDNDOztBQTNDYjtFQStDb0Isb0NBQTBCO01BQTFCLGdDQUEwQjtVQUExQiw0QkFBMEI7Q0FDN0I7O0FBaERqQjtFQXFEb0IsV0FBVTtDQUNiOztBQU1iO0VBNURKO0lBK0RnQixtQkFBa0I7SUFDbEIsWUFBVztJQUNYLGFBQVk7SUFDWixPQUFLO0lBQ0wsUUFBTTtHQUNUO0VBNUNUO0lBZ0RRLGFBQVk7R0FDZjtDckJtb0dSOztBcUJob0dHO0VBNUVKO0lBOEVZLHFCQUFvQjtHQUN2QjtFQS9FVDtJQWtGWSxhQUFZO0dBS2Y7RUF6REQ7SUF1RFEsY0FBYTtHQUNoQjtFQXZFRDtJQTRFUSxnQkFBZTtHQUNsQjtDckIrbkdoQiIsImZpbGUiOiJzdHlsZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRTdHlsZXMgZXQgcsOpZ2xhZ2VzIGdsb2JhdXhcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdEVhc2luZ1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIG5vcm1hbGl6ZS5jc3MgdjMuMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3Ncblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuaDEge1xuICBtYXJnaW46IDAuNjdlbSAwO1xuICBmb250LXNpemU6IDJlbTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5tYXJrIHtcbiAgY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDtcbiAgLyogMyAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuZmllbGRzZXQge1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5sZWdlbmQge1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRDU1MgUmVzZXRcblxuXHRodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0L1xuICB2Mi4wIHwgMjAxMTAxMjZcbiAgTGljZW5zZTogbm9uZSAocHVibGljIGRvbWFpbilcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuYiwgdSwgaSwgY2VudGVyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCxcbmZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCxcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvLFxuYnV0dG9uLCBpbnB1dCwgc2VsZWN0IHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5tYWluLFxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tZW51LFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5vbCxcbnVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxucSxcbmJsb2NrcXVvdGUge1xuICBxdW90ZXM6IG5vbmU7XG59XG5cbnE6YWZ0ZXIsIHE6YmVmb3JlLFxuYmxvY2txdW90ZTphZnRlcixcbmJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbn1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBmb250OiBpbmhlcml0O1xufVxuXG4ubWFjIGJ1dHRvbiwgLm1hY1xuaW5wdXQge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG5idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0RnVuY3Rpb25zXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBBIGZ1bmN0aW9uIGhlbHBlciB0byBhdm9pZCBoYXZpbmcgdG8gdHlwZSBgbWFwLWdldCgkei1sYXllcnMsIC4uLilgXG4gKiBCYXNlZCBvbiBodHRwOi8vY3NzLXRyaWNrcy5jb20vaGFuZGxpbmctei1pbmRleC9cbiAqIEBwYXJhbSAge3N0cmluZ30gJGxheWVyIFRoZSBuYW1lIG9mIHRoZSB6LWluZGV4XG4gKiBAcGFyYW0gIHtudW1iZXJ9ICR2YXIgICBUaGUgbW9kaWZpZXIgaWYgbmVlZGVkXG4gKiBAcmV0dXJuIHtudW1iZXJ9ICAgICAgICBUaGUgY29ycmVzcG9uZGluZyB6LWluZGV4IGJhc2VkIG9uIHRoZSAkei1sYXllcnMgdmFyXG4gKi9cbi8qKlxuICogUmVtb3ZlIHVuaXRzIGZyb20gdGhlIGdpdmVuIG51bWJlclxuICogQHBhcmFtICB7bnVtYmVyfSAkbnVtYmVyIFRoZSBudW1iZXIgd2l0aCB1bml0c1xuICogQHJldHVybiB7bnVtYmVyfVxuICovXG4vKipcbiAqIENyZWF0ZSB2YXJpYWJsZXMgZm9yIHRoZSBtZWRpYSBxdWVyaWVzXG4gKiBAcGFyYW0gIHtzdHJpbmd9ICRicmVha3BvaW50IFRoZSBicmVha3BvaW50XG4gKiBAcGFyYW0gIHtzdHJpbmd9ICR0eXBlICAgICAgIFR5cGUgb2YgbWVkaWEgcXVlcnkgKG1pbiBvciBtYXgpXG4gKiBAcGFyYW0gIHtzdHJpbmd9ICR1bml0ICAgICAgIFRoZSB1bml0IGZvciB0aGUgbWVkaWEgcXVlcmllcyAoZW0gb3IgcHgpXG4gKiBAcmV0dXJuIHtzdHJpbmd9ICAgICAgICAgICAgIEEgbWVkaWEgcXVlcnkgZXhwcmVzc2lvblxuICovXG4vKipcbiAqIFNsaWdodGx5IGxpZ2h0ZW4gYSBjb2xvclxuICogQGFjY2VzcyBwdWJsaWNcbiAqIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGNvbG9yIHRvIHRpbnRcbiAqIEBwYXJhbSB7TnVtYmVyfSAkcGVyY2VudGFnZSAtIHBlcmNlbnRhZ2Ugb2YgYCRjb2xvcmAgaW4gcmV0dXJuZWQgY29sb3JcbiAqIEByZXR1cm4ge0NvbG9yfVxuICovXG4vKipcbiAqIFNsaWdodGx5IGRhcmtlbiBhIGNvbG9yXG4gKiBAYWNjZXNzIHB1YmxpY1xuICogQHBhcmFtICB7Y29sb3J9ICAkY29sb3IgICAgICAgY29sb3IgdG8gc2hhZGVcbiAqIEBwYXJhbSAge251bWJlcn0gJHBlcmNlbnRhZ2UgIHBlcmNlbnRhZ2Ugb2YgYCRjb2xvcmAgaW4gcmV0dXJuZWQgY29sb3JcbiAqIEByZXR1cm4ge0NvbG9yfVxuICovXG4vKipcbiAqIFBvd2VyIGZ1bmN0aW9uXG4gKiBAcGFyYW0gIHtudW1iZXJ9ICRudW1iZXIgTnVtYmVyIHRvIGFwcGx5IHBvd2VyXG4gKiBAcGFyYW0gIHtudW1iZXJ9ICRleHAgICAgVGhlIGV4cG9uYW50IGZvciB0aGUgcG93ZXJcbiAqIEByZXR1cm4ge251bWJlcn0gICAgICAgICBUaGUgcG93ZXJlZCBudW1iZXJcbiAqL1xuLyoqXG4gKiBGYWN0b3JpYWwgZnVuY3Rpb25cbiAqIEBwYXJhbSAge251bWJlcn0gJG51bWJlciBUaGUgbnVtYmVyIHRvIGZhY3Rvcml6ZVxuICogQHJldHVybiB7bnVtYmVyfSAgICAgICAgIFRoZSBmYWN0b3Jpc2VkIG51bWJlclxuICovXG4vKipcbiAqIFBpIHJlZmVyZW5jZVxuICogQHJldHVybiB7bnVtYmVyfSBSZXRydW4gUEkgd2l0aCAxMSBkZWNpbWFsc1xuICovXG4vKipcbiAqIENvbnZlcnQgZGVnIHRvIHJhZFxuICogQHBhcmFtICB7c3RyaW5nfSAkYW5nbGUgVGhlIGFuZ2xlIHRvIGNvbnZlcnRcbiAqIEByZXR1cm4ge251bWJlcn0gICAgICAgIFRoZSB1bml0bGVzcyBhbmdsZSBjb252ZXJ0ZWQgdG8gcmFkXG4gKi9cbi8qKlxuICogQ2FsY3VsYXRlIHRoZSBzaW51cyBvZiBhbiBhbmdsZVxuICogQHBhcmFtICB7c3RyaW5nfSAkYW5nbGUgVGhlIGFuZ2xlIHRvIGNvbXB1dGVcbiAqIEByZXR1cm4ge251bWJlcn0gICAgICAgIFRoZSBzaW51cyBvZiB0aGUgZ2l2ZW4gYW5nbGVcbiAqL1xuLyoqXG4gKiBDYWxjdWxhdGUgdGhlIGNvc2ludXMgb2YgYW4gYW5nbGVcbiAqIEBwYXJhbSAge3N0cmluZ30gJGFuZ2xlIFRoZSBhbmdsZSB0byBjb21wdXRlXG4gKiBAcmV0dXJuIHtudW1iZXJ9ICAgICAgICBUaGUgY29zaW51cyBvZiB0aGUgZ2l2ZW4gYW5nbGVcbiAqL1xuLyoqXG4gKiBDYWxjdWxhdGUgdGhlIHRhbmdlbnQgb2YgYW4gYW5nbGVcbiAqIEBwYXJhbSAge3N0cmluZ30gJGFuZ2xlIFRoZSBhbmdsZSB0byBjb21wdXRlXG4gKiBAcmV0dXJuIHtudW1iZXJ9ICAgICAgICBUaGUgdGFuZ2VudCBvZiB0aGUgZ2l2ZW4gYW5nbGVcbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRQb3NpdGlvbnMgJiBkaXNwb3NpdGlvbnNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdFR5cG9ncmFwaGllXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRUcmlhbmdsZXNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdFNWRyBSZXNwb25zaXZlXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcblV0aWxpdGFpcmUgcG91ciBsZSBwYWRkaW5nIGhhY2sgcXVpIHBlcm1ldCBkJ2F2b2lyIGRlcyBmaWNoaWVycyBgKi5zdmdgIHJlc3BvbnNpdmUuXG5QbHVzIGQnaW5mb3MgaWNpIDogaHR0cDovL3R5bXBhbnVzLm5ldC9jb2Ryb3BzLzIwMTQvMDgvMTkvbWFraW5nLXN2Z3MtcmVzcG9uc2l2ZS13aXRoLWNzcy9cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdEdyYWRpZW50c1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogTWl4aW4gcHJpbnRpbmcgYSBsaW5lYXItZ3JhZGllbnRcbiAqIGFzIHdlbGwgYXMgYSBwbGFpbiBjb2xvciBmYWxsYmFja1xuICogYW5kIHRoZSBgLXdlYmtpdC1gIHByZWZpeGVkIGRlY2xhcmF0aW9uXG4gKiBAcGFyYW0ge1N0cmluZyB8IExpc3QgfCBBbmdsZX0gJGRpcmVjdGlvbiAtIExpbmVhciBncmFkaWVudCBkaXJlY3Rpb25cbiAqIEBwYXJhbSB7QXJnbGlzdH0gJGNvbG9yLXN0b3BzIC0gTGlzdCBvZiBjb2xvci1zdG9wcyBjb21wb3NpbmcgdGhlIGdyYWRpZW50XG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0Rmx1aWQgdHlwZVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXHRcdEZvbnRmYWNlIGRlY2xhcmF0aW9uXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTmV1ZVwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL25ldWUtaGFhcy1ncm90ZXNrLXJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9uZXVlLWhhYXMtZ3JvdGVzay1yZWd1bGFyLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTmV1ZVwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL25ldWUtaGFhcy1ncm90ZXNrLWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9uZXVlLWhhYXMtZ3JvdGVzay1ib2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk5ldWVcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9uZXVlLWhhYXMtZ3JvdGVzay1tZWRpdW0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9uZXVlLWhhYXMtZ3JvdGVzay1tZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0RGVidWdcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuVW5lIGNvbmRpdGlvbiBkw6lwZW5kYW50ZSBkZSBsYSB2YXJpYWJsZSBgJGRlYnVnYCBxdWkgcGVybWV0IGQnYWZmaWNoZXIgbGVzIGNvbnRvdXJzIGRlIHRvdXMgbGVzIMOpbGVtZW50cyBkdSBET00uXG4qL1xuW2RlYnVnXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0UG9zaXRpb25uZW1lbnQgJiBEaXNwbGF5XG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLm5vbmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGFibGUge1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLmNlbGwge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuXG4uYmwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmlubGJsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uaW5sYmwtLWZvcmNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5hYnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5yZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jZjphZnRlciwgLnB1YmxpbGlzdF9faXRlbTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdFR5cG9ncmFwaGllXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnRhYyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRhbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50YXIge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYyZW0pIHtcbiAgLnRhci1kIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4ubGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYW50aWFsaWFzZWQge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG4uaHlwaGVuYXRlIHtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBoeXBoZW5zOiBhdXRvO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdFPDqWxlY3Rpb25cblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBiYWNrZ3JvdW5kOiAjMWE0MTc1O1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgYmFja2dyb3VuZDogIzFhNDE3NTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRSw6lnbGFnZXMgZ2xvYmF1eFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiosXG4qOmFmdGVyLFxuKjpiZWZvcmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbmh0bWwubWFjIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIk5ldWVcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGNvbG9yOiAjNWY1ZjVmO1xufVxuXG5tYWluIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ubWFpbi13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaW5nbGUgLm1haW4taW5uZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdFNlY3Rpb25zXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnNlY3Rpb24ge1xuICBwYWRkaW5nLWJvdHRvbTogMTB2dztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAuc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDEzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNlY3Rpb24tLW5vLXNwYWNpbmctYiB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5zZWN0aW9uLS1jb2xzIHtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogNy42OTIzMXZ3O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gIC5zZWN0aW9uLS1jb2xzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gIC5zZWN0aW9uLS1jb2xzIHtcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjJlbSkge1xuICAuc2VjdGlvbi0tY29scyB7XG4gICAgbWluLWhlaWdodDogNTU1cHg7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRNaXNjIEhlbHBlcnNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZi1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5mLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4ubWVkaXVtIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnNhbnMge1xuICBmb250LWZhbWlseTogXCJOZXVlXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5tYi0yMCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5tYi00MCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MmVtKSB7XG4gIC5tYi00MCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxufVxuXG4ubWItNTAge1xuICBtYXJnaW4tYm90dG9tOiAzLjg0NjE1dnc7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLm1iLTUwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLm1iLTYwIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYyZW0pIHtcbiAgLm1iLTYwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG59XG5cbi5tYi05MCB7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgLm1iLTkwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MmVtKSB7XG4gIC5tYi05MCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTBweDtcbiAgfVxufVxuXG4ubWItMTIwIHtcbiAgbWFyZ2luLWJvdHRvbTogOS4yMzA3N3Z3O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gIC5tYi0xMjAge1xuICAgIG1hcmdpbi1ib3R0b206IDEyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLm1yLTIwIHtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuXG4ubXItNDAge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG59XG5cbi5wdC0yMCB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuXG4ucHQtNDAge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbn1cblxuLmZ1bGwtcGljIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zaGFkb3cge1xuICBib3gtc2hhZG93OiA1cHggOHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRCYXNlIGNvdWxldXJzXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmJsdWUge1xuICBjb2xvcjogIzFhNDE3NTtcbn1cblxuLnllbGxvdyB7XG4gIGNvbG9yOiAjZjljZDAwO1xufVxuXG4uYWJzLXBpYyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5hYnMtcGljIGltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMzUuNzYzODg4ODg5JTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uYWJzLXBpYy5hYnMtcGljLS1sZWZ0IGltZyB7XG4gIGxlZnQ6IDA7XG59XG5cbi5hYnMtcGljLmFicy1waWMtLXJpZ2h0IGltZyB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAuYWJzLXBpYyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLypcblR5cG9ncmFwaGllXG49PT09PT09PT09PVxuXG5Sw6hnbGVzIGRlIGJhc2UgcG91ciB0b3V0IGxlIHNpdGUgKGgxLCBoMiwgYmxvY2txdW90ZSwgZXRjKS5cblxuLS0+ICAgIGh0dHA6Ly90eXBlLXNjYWxlLmNvbS8gICAgPC0tXG5cblByYXRpcXVlIHBvdXIgZ8OpbsOpcmVyIGRlcyByeXRobWVzIHR5cG9ncmFwaGlxdWVzIHJhcGlkZW1lbnRcbiovXG5ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG5cbnAsXG5vbCxcbmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAxLjNlbTtcbn1cblxudWwge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCB7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnR5cGUtdGl0bGUtMSwgLmNvbnRlbnQgaDEge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBmb250LXNpemU6IDMuMDc2OTJ2dztcbiAgbGluZS1oZWlnaHQ6IDQuMzA3Njl2dztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODBweCkge1xuICAudHlwZS10aXRsZS0xLCAuY29udGVudCBoMSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLnR5cGUtdGl0bGUtMSwgLmNvbnRlbnQgaDEge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBsaW5lLWhlaWdodDogNTZweDtcbiAgfVxufVxuXG4udHlwZS10aXRsZS0yLCAuY29udGVudCBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGZvbnQtc2l6ZTogMi4zMDc2OXZ3O1xuICBsaW5lLWhlaWdodDogMy40NjE1NHZ3O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk1My4zMzMzM3B4KSB7XG4gIC50eXBlLXRpdGxlLTIsIC5jb250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAudHlwZS10aXRsZS0yLCAuY29udGVudCBoMiB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICB9XG59XG5cbi50eXBlLXRpdGxlLTItLW1lZGl1bSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50eXBlLXRpdGxlLTMsIC5jb250ZW50IGgzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC1zaXplOiAxLjkyMzA4dnc7XG4gIGxpbmUtaGVpZ2h0OiAzLjA3Njkydnc7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogODMycHgpIHtcbiAgLnR5cGUtdGl0bGUtMywgLmNvbnRlbnQgaDMge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gIC50eXBlLXRpdGxlLTMsIC5jb250ZW50IGgzIHtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIH1cbn1cblxuLnR5cGUtbm9ybWFsIHtcbiAgZm9udC1zaXplOiAyLjE1Mzg1dnc7XG4gIGxpbmUtaGVpZ2h0OiAzLjIzMDc3dnc7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4MzUuNzE0MjlweCkge1xuICAudHlwZS1ub3JtYWwge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gIC50eXBlLW5vcm1hbCB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICB9XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG59XG5cbnN1cCB7XG4gIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG59XG5cbi5jb250ZW50IHtcbiAgY29sb3I6ICM1ZjVmNWY7XG4gIGZvbnQtc2l6ZTogMS41Mzg0NnZ3O1xuICBsaW5lLWhlaWdodDogMi42MTUzOHZ3O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTA0MHB4KSB7XG4gIC5jb250ZW50IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAuY29udGVudCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICB9XG59XG5cbi5jb250ZW50IHAge1xuICBmb250LXNpemU6IDEuNTM4NDZ2dztcbiAgbGluZS1oZWlnaHQ6IDIuNjE1Mzh2dztcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwNDBweCkge1xuICAuY29udGVudCBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAuY29udGVudCBwIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gIH1cbn1cblxuLmNvbnRlbnQgcCBzdHJvbmcge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uY29udGVudCBwIGEge1xuICBjb2xvcjogIzAwNzJhYztcbiAgdHJhbnNpdGlvbjogMC4ycyBjb2xvciBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG59XG5cbi5jb250ZW50IHAgYTpob3ZlciB7XG4gIGNvbG9yOiAjZjljZDAwO1xufVxuXG4uY29udGVudCBwIGVtIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uY29udGVudCB1bCB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5jb250ZW50IHVsIGxpOm5vdCguZ2ZpZWxkKSB7XG4gIGZvbnQtc2l6ZTogMS41Mzg0NnZ3O1xuICBsaW5lLWhlaWdodDogMi42MTUzOHZ3O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTA0MHB4KSB7XG4gIC5jb250ZW50IHVsIGxpOm5vdCguZ2ZpZWxkKSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLmNvbnRlbnQgdWwgbGk6bm90KC5nZmllbGQpIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gIH1cbn1cblxuLmNvbnRlbnQgdWwgbGk6bm90KC5nZmllbGQpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2Y5Y2QwMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA4LjVweCAwIDguNXB4IDE1cHg7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5jb250ZW50IHVsIGxpOm5vdCguZ2ZpZWxkKSBhIHtcbiAgY29sb3I6ICMwMDcyYWM7XG4gIHRyYW5zaXRpb246IDAuMnMgY29sb3IgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xufVxuXG4uY29udGVudCB1bCBsaTpub3QoLmdmaWVsZCkgYTpob3ZlciB7XG4gIGNvbG9yOiAjZjljZDAwO1xufVxuXG4uY29udGVudCAuaW5saW5lLWxpc3Qge1xuICBtYXJnaW4tYm90dG9tOiAzLjg0NjE1dnc7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLmNvbnRlbnQgLmlubGluZS1saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmNvbnRlbnQgLmlubGluZS1saXN0IGEge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMDA3MmFjO1xuICBmb250LXNpemU6IDEuNTM4NDZ2dztcbiAgbGluZS1oZWlnaHQ6IDIuNjE1Mzh2dztcbiAgdHJhbnNpdGlvbjogMC4zcyBhbGwgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTcwcHgpIHtcbiAgLmNvbnRlbnQgLmlubGluZS1saXN0IGEge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gIC5jb250ZW50IC5pbmxpbmUtbGlzdCBhIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gIH1cbn1cblxuLmNvbnRlbnQgLmlubGluZS1saXN0IGE6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZjljZDAwO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMSwgMSk7XG4gIGJvdHRvbTogLTRweDtcbiAgdHJhbnNpdGlvbjogMC4zcyBhbGwgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNvbnRlbnQgLmlubGluZS1saXN0IGE6aG92ZXI6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG59XG5cbi5jb250ZW50IGhyIHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW4tdG9wOiAzLjg0NjE1dnc7XG4gIG1hcmdpbi1ib3R0b206IDMuODQ2MTV2dztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAuY29udGVudCBociB7XG4gICAgbWFyZ2luLXRvcDogNTBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLmNvbnRlbnQgaHIge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4uY29udGVudCBocjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNvbnRlbnQgLmFsaWdubGVmdCB7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IDMuODQ2MTV2dztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAuY29udGVudCAuYWxpZ25sZWZ0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmNvbnRlbnQgLmFsaWducmlnaHQge1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAzLjg0NjE1dnc7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLmNvbnRlbnQgLmFsaWducmlnaHQge1xuICAgIHBhZGRpbmctbGVmdDogNTBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jb250ZW50IC5hbGlnbmNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jb250ZW50LmNvbnRlbnQtLWludHJvIHtcbiAgbWFyZ2luLWJvdHRvbTogMy4wNzY5MnZ3O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gIC5jb250ZW50LmNvbnRlbnQtLWludHJvIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmNvbnRlbnQuY29udGVudC0taW50cm8gcCB7XG4gIGZvbnQtc2l6ZTogMS42OTIzMXZ3O1xuICBsaW5lLWhlaWdodDogMi42MTUzOHZ3O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTA2My42MzYzNnB4KSB7XG4gIC5jb250ZW50LmNvbnRlbnQtLWludHJvIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gIC5jb250ZW50LmNvbnRlbnQtLWludHJvIHAge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuY29udGVudCAuYWxpZ25sZWZ0LCAuY29udGVudCAuYWxpZ25yaWdodCB7XG4gICAgbWF4LXdpZHRoOiA0NTZweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzBlbSkge1xuICAuY29udGVudCAuYWxpZ25sZWZ0LCAuY29udGVudCAuYWxpZ25yaWdodCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAuY29udGVudCB1bCBsaTpub3QoLmdmaWVsZCk6YmVmb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgdG9wOiAzcHg7XG4gIH1cbn1cblxuLmNvbnRlbnQtLXB0IHtcbiAgcGFkZGluZy10b3A6IDcwcHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0R3JpZCBzeXN0ZW0gKEJvb3RzdHJhcClcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB6LWluZGV4OiAyO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gIC5jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gIH1cbn1cblxuLmNvbnRhaW5lci5sYXJnZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG59XG5cbi5jb250YWluZXIubWVkaXVtLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE2MDBweDtcbn1cblxuLmNvbnRhaW5lci1zbGlkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNjAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVlbTtcbn1cblxuLnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1ZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYyZW0pIHtcbiAgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43NWVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC43NWVtO1xuICB9XG59XG5cbltjbGFzcyo9XCJjb2wteHMtXCJdLFxuW2NsYXNzKj1cImNvbC1zLVwiXSxcbltjbGFzcyo9XCJjb2wtbS1cIl0sXG5bY2xhc3MqPVwiY29sLW4tXCJdLFxuW2NsYXNzKj1cImNvbC1sLVwiXSxcbltjbGFzcyo9XCJjb2wteGwtXCJdIHtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgW2NsYXNzKj1cImNvbC14cy1cIl0sXG4gIFtjbGFzcyo9XCJjb2wtcy1cIl0sXG4gIFtjbGFzcyo9XCJjb2wtbS1cIl0sXG4gIFtjbGFzcyo9XCJjb2wtbi1cIl0sXG4gIFtjbGFzcyo9XCJjb2wtbC1cIl0sXG4gIFtjbGFzcyo9XCJjb2wteGwtXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNWVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjJlbSkge1xuICBbY2xhc3MqPVwiY29sLXhzLVwiXSxcbiAgW2NsYXNzKj1cImNvbC1zLVwiXSxcbiAgW2NsYXNzKj1cImNvbC1tLVwiXSxcbiAgW2NsYXNzKj1cImNvbC1uLVwiXSxcbiAgW2NsYXNzKj1cImNvbC1sLVwiXSxcbiAgW2NsYXNzKj1cImNvbC14bC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVlbTtcbiAgfVxufVxuXG5bY2xhc3MqPVwiY29sLXhzLVwiXSxcbltjbGFzcyo9XCJjb2wtcy1cIl0sXG5bY2xhc3MqPVwiY29sLW0tXCJdLFxuW2NsYXNzKj1cImNvbC1uLVwiXSxcbltjbGFzcyo9XCJjb2wtbC1cIl0sXG5bY2xhc3MqPVwiY29sLXhsLVwiXSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG5bY2xhc3MqPVwiY29sLXhzLVwiXS5yaWdodCxcbltjbGFzcyo9XCJjb2wtcy1cIl0ucmlnaHQsXG5bY2xhc3MqPVwiY29sLW0tXCJdLnJpZ2h0LFxuW2NsYXNzKj1cImNvbC1uLVwiXS5yaWdodCxcbltjbGFzcyo9XCJjb2wtbC1cIl0ucmlnaHQsXG5bY2xhc3MqPVwiY29sLXhsLVwiXS5yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmNvbC14cy0xMiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY29sLXhzLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY2NjY3JTtcbn1cblxuLmNvbC14cy0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMzMzMyU7XG59XG5cbi5jb2wteHMtOSB7XG4gIHdpZHRoOiA3NSU7XG59XG5cbi5jb2wteHMtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NjY2NyU7XG59XG5cbi5jb2wteHMtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMzMzMyU7XG59XG5cbi5jb2wteHMtNiB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5jb2wteHMtNSB7XG4gIHdpZHRoOiA0MS42NjY2NjY2NyU7XG59XG5cbi5jb2wteHMtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG59XG5cbi5jb2wteHMtMyB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5jb2wteHMtMiB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NyU7XG59XG5cbi5jb2wteHMtMSB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzJTtcbn1cblxuLmNvbC14cy0wIHtcbiAgd2lkdGg6IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5jb2wtcy0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNvbC1zLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtcy0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXMtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuY29sLXMtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXMtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXMtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuY29sLXMtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXMtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXMtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuY29sLXMtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXMtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtcy0wIHtcbiAgICB3aWR0aDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAuY29sLW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb2wtbS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC1tLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC1tLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmNvbC1tLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW0tMCB7XG4gICAgd2lkdGg6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYyZW0pIHtcbiAgLmNvbC1uLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29sLW4tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1uLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbi05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5jb2wtbi04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbi03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbi02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5jb2wtbi01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbi00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbi0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5jb2wtbi0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbi0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1uLTAge1xuICAgIHdpZHRoOiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5jb2wtbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNvbC1sLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWwtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuY29sLWwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWwtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuY29sLWwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWwtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuY29sLWwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbC0wIHtcbiAgICB3aWR0aDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAuY29sLXhsLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29sLXhsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wteGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC14bC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5jb2wteGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXhsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC14bC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5jb2wteGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXhsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC14bC0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5jb2wteGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXhsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXhsLTAge1xuICAgIHdpZHRoOiAwO1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0SGVhZGVyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLm1haW4taGVhZGVyIHtcbiAgcGFkZGluZzogMzBweCAwO1xuICB6LWluZGV4OiA0O1xufVxuXG4ubWFpbi1oZWFkZXIgLmhlYWRlcl9fbG9nbyB7XG4gIHdpZHRoOiAyMiU7XG4gIG1pbi13aWR0aDogMTgwcHg7XG4gIHotaW5kZXg6IDY7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAubWFpbi1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgfVxuICAubWFpbi1oZWFkZXIgLmhlYWRlcl9fbG9nbyB7XG4gICAgd2lkdGg6IDIyJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjJlbSkge1xuICAubWFpbi1oZWFkZXIgLmhlYWRlcl9fbG9nbyB7XG4gICAgd2lkdGg6IDI2NHB4O1xuICAgIGhlaWdodDogNjJweDtcbiAgfVxuICAubWFpbi1oZWFkZXIgLmhlYWRlcl9fbG9nbyBpLCAubWFpbi1oZWFkZXIgLmhlYWRlcl9fbG9nbyBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4ubW9iaWxlLW1lbnUtY29udGFpbmVyIHtcbiAgei1pbmRleDogMTA7XG59XG5cbi5tb2JpbGUtbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDM1cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDVweDtcbn1cblxuLm1vYmlsZS1tZW51IC5saW5lIHtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6ICNmOWNkMDA7XG4gIGhlaWdodDogNHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB0cmFuc2l0aW9uOiAwLjRzIGFsbCBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSk7XG59XG5cbi5tb2JpbGUtbWVudSAubGluZS0tdG9wIHtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xufVxuXG4ubW9iaWxlLW1lbnUgLmxpbmUtLW1pZCB7XG4gIHRvcDogMTRweDtcbn1cblxuLm1vYmlsZS1tZW51IC5saW5lLS1ib3Qge1xuICB0b3A6IDI5cHg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gIC5tb2JpbGUtbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubmF2LW1haW4ge1xuICB6LWluZGV4OiA0O1xufVxuXG4ubmF2LW1haW4ubmF2LW1haW4tLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAxNTBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcbiAgdHJhbnNpdGlvbjogMC4zcyBhbGwgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG59XG5cbi5uYXYtbWFpbi5uYXYtbWFpbi0taGVhZGVyIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5uYXYtbWFpbiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm5hdi1tYWluIGxpOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5uYXYtbWFpbiBsaSBhIHtcbiAgY29sb3I6ICMxYTQxNzU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4ubmF2LW1haW4gbGkgYTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAzcHg7XG4gIGJhY2tncm91bmQ6ICNmOWNkMDA7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICBib3R0b206IC00cHg7XG4gIHRyYW5zaXRpb246IDAuM3MgYWxsIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4ubmF2LW1haW4gbGkubWVudV9faXRlbS0tYWN0aXZlIGE6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgLm5hdi1tYWluIGxpIHtcbiAgICB6LWluZGV4OiAyO1xuICB9XG4gIC5uYXYtbWFpbiBsaSBhIHtcbiAgICBmb250LXNpemU6IDEuNTM4NDZ2dztcbiAgICBsaW5lLWhlaWdodDogMS42OTIzMXZ3O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSBhbmQgKG1heC13aWR0aDogMTE3MHB4KSB7XG4gIC5uYXYtbWFpbiBsaSBhIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIGFuZCAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLm5hdi1tYWluIGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAubmF2LW1haW4gbGk6aG92ZXIgYTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIH1cbiAgLm5hdi1tYWluLm5hdi1tYWluLS1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIC5uYXYtbWFpbi5uYXYtbWFpbi0taGVhZGVyIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAyLjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi5ub3RvdWNoIC5uYXYtbWFpbiBsaTpob3ZlciBhOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG59XG5cbi5tZW51LW9wZW4gLm5hdi1tYWluIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG59XG5cbi5tZW51LW9wZW4gLm1vYmlsZS1tZW51IC5saW5lLS1taWQge1xuICBvcGFjaXR5OiAwO1xufVxuXG4ubWVudS1vcGVuIC5tb2JpbGUtbWVudSAubGluZS0tdG9wIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTVweCk7XG59XG5cbi5tZW51LW9wZW4gLm1vYmlsZS1tZW51IC5saW5lLS1ib3Qge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoNHB4KTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRGb290ZXJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ubWFpbi1mb290ZXIge1xuICBwYWRkaW5nOiA2MHB4IDA7XG4gIGJhY2tncm91bmQ6ICMxYTQxNzU7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tYWluLWZvb3RlciBwLCAubWFpbi1mb290ZXIgYSwgLm1haW4tZm9vdGVyIHNwYW4ge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDEuMzg0NjJ2dztcbiAgbGluZS1oZWlnaHQ6IDEuNTM4NDZ2dztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMTEuMTExMTFweCkge1xuICAubWFpbi1mb290ZXIgcCwgLm1haW4tZm9vdGVyIGEsIC5tYWluLWZvb3RlciBzcGFuIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAubWFpbi1mb290ZXIgcCwgLm1haW4tZm9vdGVyIGEsIC5tYWluLWZvb3RlciBzcGFuIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLm1haW4tZm9vdGVyIHAgPiBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubWFpbi1mb290ZXIgcCA+IGE6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgYm90dG9tOiAtNHB4O1xuICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbn1cblxuLm1haW4tZm9vdGVyIC50YXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tYWluLWZvb3RlciBhOmhvdmVyOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gIC5tYWluLWZvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAubWFpbi1mb290ZXIgLnRhciB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cblxuLm5hdi1tYWluLS1mb290ZXIge1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm5hdi1tYWluLS1mb290ZXIgbGkge1xuICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ubmF2LW1haW4tLWZvb3RlciBsaSBhIHtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMS4zODQ2MnZ3O1xuICBsaW5lLWhlaWdodDogMS41Mzg0NnZ3O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAxMS4xMTExMXB4KSB7XG4gIC5uYXYtbWFpbi0tZm9vdGVyIGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gIC5uYXYtbWFpbi0tZm9vdGVyIGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAubmF2LW1haW4tLWZvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLm5hdi1tYWluLS1mb290ZXIgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLm5hdi1tYWluLS1mb290ZXIgbGkgYSB7XG4gICAgZm9udC1zaXplOiAxLjM4NDYydnc7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTM4NDZ2dztcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkgYW5kIChtYXgtd2lkdGg6IDEwMTEuMTExMTFweCkge1xuICAubmF2LW1haW4tLWZvb3RlciBsaSBhIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIGFuZCAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLm5hdi1tYWluLS1mb290ZXIgbGkgYSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1My43NWVtKSB7XG4gIC5uYXYtbWFpbi0tZm9vdGVyIC5tZW51IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLm5hdi1tYWluLS1mb290ZXIgLm1lbnUgbGkge1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbn1cblxuLnNjcm9sbHRvcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiA1MXB4O1xuICBoZWlnaHQ6IDUxcHg7XG4gIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyNmYzc2YTkrMCxmYTY2ODgrMzAsZjk2NDc0KzQ0LGY3Njc0Nys3MyxmNTZlMjUrOTMsZjU3MTEzKzEwMCAqL1xuICBiYWNrZ3JvdW5kOiAjZmM3NmE5O1xuICAvKiBPbGQgYnJvd3NlcnMgKi9cbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoNDVkZWcsICNmYzc2YTkgMCUsICNmYTY2ODggMzAlLCAjZjk2NDc0IDQ0JSwgI2Y3Njc0NyA3MyUsICNmNTZlMjUgOTMlLCAjZjU3MTEzIDEwMCUpO1xuICAvKiBGRjMuNi0xNSAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgI2ZjNzZhOSAwJSwgI2ZhNjY4OCAzMCUsICNmOTY0NzQgNDQlLCAjZjc2NzQ3IDczJSwgI2Y1NmUyNSA5MyUsICNmNTcxMTMgMTAwJSk7XG4gIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgI2ZjNzZhOSAwJSwgI2ZhNjY4OCAzMCUsICNmOTY0NzQgNDQlLCAjZjc2NzQ3IDczJSwgI2Y1NmUyNSA5MyUsICNmNTcxMTMgMTAwJSk7XG4gIC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZjNzZhOScsIGVuZENvbG9yc3RyPScjZjU3MTEzJyxHcmFkaWVudFR5cGU9MSApO1xuICAvKiBJRTYtOSBmYWxsYmFjayBvbiBob3Jpem9udGFsIGdyYWRpZW50ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2Nyb2xsdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAgMTBweCAxNXB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy10b3A6IDE3cHg7XG59XG5cbi5zY3JvbGx0b3AuZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gIC5zY3JvbGx0b3Age1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA3MXB4O1xuICAgIGhlaWdodDogNzFweDtcbiAgfVxuICAuc2Nyb2xsdG9wOmJlZm9yZSB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMCAxMi41cHggMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdFBpY3RvZ3JhbW1lc1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5pY29uX3Njcm9sbGRvd24sIC5pY29uX3Njcm9sbGRvd24gc3ZnIHtcbiAgd2lkdGg6IDlweDtcbiAgaGVpZ2h0OiAzMXB4O1xufVxuXG4uaWNvbl9sb2dvLCAuaWNvbl9sb2dvIHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5pY29uX3ByaW50ZXIsIC5pY29uX3ByaW50ZXIgc3ZnLCAuaWNvbl9tYWlsLCAuaWNvbl9tYWlsIHN2ZywgLmljb25fcGRmLCAuaWNvbl9wZGYgc3ZnIHtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgLmljb25fcHJpbnRlciwgLmljb25fcHJpbnRlciBzdmcsIC5pY29uX21haWwsIC5pY29uX21haWwgc3ZnLCAuaWNvbl9wZGYsIC5pY29uX3BkZiBzdmcge1xuICAgIHdpZHRoOiAzN3B4O1xuICAgIGhlaWdodDogMzdweDtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdEJ1dHRvbnNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uYnRuLS1yZWFkbW9yZSwgLmJ0bi0tYXJyb3ctY29udGFpbmVyIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IDEuMzg0NjJ2dztcbiAgbGluZS1oZWlnaHQ6IDIuNDYxNTR2dztcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEzMDBweCkge1xuICAuYnRuLS1yZWFkbW9yZSwgLmJ0bi0tYXJyb3ctY29udGFpbmVyIGEge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gIC5idG4tLXJlYWRtb3JlLCAuYnRuLS1hcnJvdy1jb250YWluZXIgYSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB9XG59XG5cbi5idG4tLXJlYWRtb3JlOmFmdGVyLCAuYnRuLS1hcnJvdy1jb250YWluZXIgYTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IHVybCgvd3AtY29udGVudC90aGVtZXMvZ2lwLW1kcy9hc3NldHMvc3ZnL2xheW91dC9hcnJvdy1yaWdodC5zdmcpIG5vLXJlcGVhdDtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMjBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIHRyYW5zaXRpb246IDAuMnMgdHJhbnNmb3JtIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4uYnRuLS1yZWFkbW9yZTpob3ZlcjphZnRlciwgLmJ0bi0tYXJyb3ctY29udGFpbmVyIGE6aG92ZXI6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTtcbn1cblxuLmNvbnRlbnQgLmJ0bi0tcmVhZG1vcmUsIC5jb250ZW50IC5idG4tLWFycm93LWNvbnRhaW5lciBhLCAuYnRuLS1hcnJvdy1jb250YWluZXIgLmNvbnRlbnQgYSB7XG4gIGNvbG9yOiAjZjljZDAwO1xufVxuXG4uYnRuLS1ib3JkZXIsIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGJhY2tncm91bmQ6ICNmOWNkMDA7XG4gIGNvbG9yOiAjMWE0MTc1O1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gIHRyYW5zaXRpb246IDAuM3MgYWxsIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICBmb250LXNpemU6IDEuMjMwNzd2dztcbiAgbGluZS1oZWlnaHQ6IDIuNDYxNTR2dztcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExMzcuNXB4KSB7XG4gIC5idG4tLWJvcmRlciwgLmdmb3JtX2Zvb3RlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAuYnRuLS1ib3JkZXIsIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB9XG59XG5cbi5idG4tLWJvcmRlcjpob3ZlciwgLmdmb3JtX2Zvb3RlciBpbnB1dDpob3Zlclt0eXBlPVwic3VibWl0XCJdIHtcbiAgYmFja2dyb3VuZDogIzFhNDE3NTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5icmVhZGNydW1iIHtcbiAgbWFyZ2luLWJvdHRvbTogMy4wNzY5MnZ3O1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gIC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJyZWFkY3J1bWIgYSB7XG4gIGNvbG9yOiAjZDlkOWQ5O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5icmVhZGNydW1iIC5icmVhZC1pdGVtIHtcbiAgZm9udC1zaXplOiAxLjUzODQ2dnc7XG4gIGxpbmUtaGVpZ2h0OiAxLjg0NjE1dnc7XG4gIHRyYW5zaXRpb246IDAuM3MgYWxsIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTA0MHB4KSB7XG4gIC5icmVhZGNydW1iIC5icmVhZC1pdGVtIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAuYnJlYWRjcnVtYiAuYnJlYWQtaXRlbSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG59XG5cbi5icmVhZGNydW1iIC5icmVhZC1pdGVtLmN1cnJlbnQge1xuICBjb2xvcjogI2Y5Y2QwMDtcbn1cblxuLmJyZWFkY3J1bWIgLmJyZWFkLWl0ZW06aG92ZXIge1xuICBjb2xvcjogI2Y5Y2QwMDtcbn1cblxuLmJyZWFkY3J1bWIgLnNlcGFyYXRvciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMjBweDtcbiAgbWFyZ2luOiAwIDEwcHg7XG4gIHRvcDogMnB4O1xufVxuXG4uYnJlYWRjcnVtYiAuc2VwYXJhdG9yLS15ZWxsb3cge1xuICBiYWNrZ3JvdW5kOiB1cmwoL3dwLWNvbnRlbnQvdGhlbWVzL2dpcC1tZHMvYXNzZXRzL3N2Zy9sYXlvdXQvYXJyb3ctcmlnaHQuc3ZnKSBuby1yZXBlYXQ7XG59XG5cbi5icmVhZGNydW1iIC5zZXBhcmF0b3ItLWdyZXkge1xuICBiYWNrZ3JvdW5kOiB1cmwoL3dwLWNvbnRlbnQvdGhlbWVzL2dpcC1tZHMvYXNzZXRzL3N2Zy9sYXlvdXQvYXJyb3ctcmlnaHQtZ3JleS5zdmcpIG5vLXJlcGVhdDtcbn1cblxuLnNpbmdsZSAuYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmctcmlnaHQ6IDIyMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAuYnJlYWRjcnVtYiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRTbGlkZXJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uc2xpZGVyIC50YWJsZSB7XG4gIG1heC13aWR0aDogNzAwcHg7XG59XG5cbi5zbGlkZXIgLmNvbnRlbnQtLXNsaWRlLWNhcHRpb24ge1xuICBjb2xvcjogIzFhNDE3NTtcbn1cblxuLnNsaWRlciAuY29udGVudC0tc2xpZGUtY2FwdGlvbiBibG9ja3F1b3RlIHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuLnNsaWRlciAuY29udGVudC0tc2xpZGUtY2FwdGlvbiBwIHtcbiAgY29sb3I6ICMxYTQxNzU7XG4gIG1heC13aWR0aDogNDUwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gIC5zbGlkZXIgLmNvbnRlbnQtLXNsaWRlLWNhcHRpb24gYmxvY2txdW90ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHVybCgvd3AtY29udGVudC90aGVtZXMvZ2lwLW1kcy9hc3NldHMvc3ZnL2xheW91dC9xdW90ZS10b3Auc3ZnKSBuby1yZXBlYXQ7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG9wYWNpdHk6IC41O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtNjBweDtcbiAgICB0b3A6IC0yMHB4O1xuICB9XG4gIC5zbGlkZXIgLmNvbnRlbnQtLXNsaWRlLWNhcHRpb24gYmxvY2txdW90ZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdXJsKC93cC1jb250ZW50L3RoZW1lcy9naXAtbWRzL2Fzc2V0cy9zdmcvbGF5b3V0L3F1b3RlLWJvdHRvbS5zdmcpIG5vLXJlcGVhdDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtNjBweDtcbiAgICBib3R0b206IC0yMHB4O1xuICB9XG59XG5cbi5zbGlkZXItLXBhZ2Uge1xuICBtYXJnaW4tYm90dG9tOiA5LjIzMDc3dnc7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLnNsaWRlci0tcGFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTIwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAuc2xpZGVyLS1wYWdlIC5jb250ZW50LS1zbGlkZS1jYXB0aW9uIGJsb2NrcXVvdGUsIC5zbGlkZXItLXBhZ2UgLmNvbnRlbnQtLXNsaWRlLWNhcHRpb24gcCB7XG4gICAgdGV4dC1zaGFkb3c6IDNweCAzcHggMTVweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDUzLjc1ZW0pIHtcbiAgLnNsaWRlci0tcGFnZSAuc2xpZGUge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNsaWRlci0tcGFnZSAuc2xpY2stZG90cyB7XG4gICAgYm90dG9tOiA5MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNsaWRlci0tcGFnZSAucGxheS1jb250YWluZXIge1xuICAgIHRvcDogMzUlO1xuICB9XG4gIC5zbGlkZXItLXBhZ2UgLmNvbnRlbnQtLXNsaWRlLWNhcHRpb24gYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuc2xpZGVyLS1wYWdlIC5jb250ZW50LS1zbGlkZS1jYXB0aW9uIHAge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnNsaWRlci0tcGFnZSAuY29udGVudC0tc2xpZGUtY2FwdGlvbiBwIGJyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5zbGlkZXItLXBhZ2UgLnR5cGUtdGl0bGUtMSwgLnNsaWRlci0tcGFnZSAuY29udGVudCBoMSwgLmNvbnRlbnQgLnNsaWRlci0tcGFnZSBoMSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0Rm9ybVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5nZm9ybV9oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLmZvcm0teWVsbG93IC5naW5wdXRfY29udGFpbmVyIGlucHV0Om5vdChbdHlwZT0nZmlsZSddKSwgLmZvcm0teWVsbG93IC5naW5wdXRfY29udGFpbmVyIHRleHRhcmVhIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2Y5Y2QwMDtcbn1cblxuLmZvcm0teWVsbG93IC5naW5wdXRfY29udGFpbmVyIGlucHV0W2FyaWEtaW52YWxpZD0ndHJ1ZSddLCAuZm9ybS15ZWxsb3cgLmdpbnB1dF9jb250YWluZXIgdGV4dGFyZWFbYXJpYS1pbnZhbGlkPSd0cnVlJ10ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZDYyZTJlO1xufVxuXG4uZ2Zvcm1fd3JhcHBlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuXG4uZ2Zvcm1fZmllbGRzIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xufVxuXG4uZ2ZpZWxkIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjUzODQ2dnc7XG4gIGxpbmUtaGVpZ2h0OiAxLjY5MjMxdnc7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE3MHB4KSB7XG4gIC5nZmllbGQgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gIC5nZmllbGQgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzBlbSkge1xuICAuZ2ZpZWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIC5nZmllbGQgbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxufVxuXG4uZ3BfcmVhZG9ubHlfZmllbGQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmdwX3JlYWRvbmx5X2ZpZWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICB6LWluZGV4OiAxMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmdwX3JlYWRvbmx5X2ZpZWxkIGlucHV0IHtcbiAgYmFja2dyb3VuZDogI2VlZWVlZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5naW5wdXRfY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDMuMDc2OTJ2dztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5naW5wdXRfY29udGFpbmVyIGlucHV0LCAuZ2lucHV0X2NvbnRhaW5lciB0ZXh0YXJlYSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM5MzMyNjM7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGZvbnQtc2l6ZTogMS41Mzg0NnZ3O1xuICBsaW5lLWhlaWdodDogMi42MTUzOHZ3O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE3MHB4KSB7XG4gIC5naW5wdXRfY29udGFpbmVyIGlucHV0LCAuZ2lucHV0X2NvbnRhaW5lciB0ZXh0YXJlYSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLmdpbnB1dF9jb250YWluZXIgaW5wdXQsIC5naW5wdXRfY29udGFpbmVyIHRleHRhcmVhIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gIH1cbn1cblxuLmdpbnB1dF9jb250YWluZXIgaW5wdXQge1xuICBoZWlnaHQ6IDU0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG4uZ2lucHV0X2NvbnRhaW5lciBpbnB1dFthcmlhLWludmFsaWQ9J3RydWUnXSwgLmdpbnB1dF9jb250YWluZXIgdGV4dGFyZWFbYXJpYS1pbnZhbGlkPSd0cnVlJ10ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZDYyZTJlO1xufVxuXG4uZ2lucHV0X2NvbnRhaW5lciBbdHlwZT0nZmlsZSddIHtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29udGFpbmVyIC51cGxvYWQtc2hvdyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkNjJlMmU7XG59XG5cbi5naW5wdXRfY29udGFpbmVyX2ZpbGV1cGxvYWQgLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5naW5wdXRfY29udGFpbmVyX2ZpbGV1cGxvYWQgLmJ0bi0tYm9yZGVyLCAuZ2lucHV0X2NvbnRhaW5lcl9maWxldXBsb2FkIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmdmb3JtX2Zvb3RlciAuZ2lucHV0X2NvbnRhaW5lcl9maWxldXBsb2FkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBmb250LXNpemU6IDEuMjMwNzd2dztcbiAgbGluZS1oZWlnaHQ6IDIuNDYxNTR2dztcbiAgei1pbmRleDogLTE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDYyLjVweCkge1xuICAuZ2lucHV0X2NvbnRhaW5lcl9maWxldXBsb2FkIC5idG4tLWJvcmRlciwgLmdpbnB1dF9jb250YWluZXJfZmlsZXVwbG9hZCAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5nZm9ybV9mb290ZXIgLmdpbnB1dF9jb250YWluZXJfZmlsZXVwbG9hZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAuZ2lucHV0X2NvbnRhaW5lcl9maWxldXBsb2FkIC5idG4tLWJvcmRlciwgLmdpbnB1dF9jb250YWluZXJfZmlsZXVwbG9hZCAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5nZm9ybV9mb290ZXIgLmdpbnB1dF9jb250YWluZXJfZmlsZXVwbG9hZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIH1cbn1cblxuLmdpbnB1dF9jb250YWluZXJfZmlsZXVwbG9hZCBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMjUwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmdmb3JtX2Zvb3RlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgZm9udC1zaXplOiAxLjIzMDc3dnc7XG4gIGxpbmUtaGVpZ2h0OiAyLjQ2MTU0dnc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDYyLjVweCkge1xuICAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB9XG59XG5cbi5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxYTQxNzU7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4udmFsaWRhdGlvbl9lcnJvciB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkNjJlMmU7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMS4zODQ2MnZ3O1xuICBsaW5lLWhlaWdodDogMS42OTIzMXZ3O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAxMS4xMTExMXB4KSB7XG4gIC52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAudmFsaWRhdGlvbl9lcnJvciB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICB9XG59XG5cbi52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogLTMzcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICNkNjJlMmU7XG59XG5cbi52YWxpZGF0aW9uX21lc3NhZ2UuaW5zdHJ1Y3Rpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzBlbSkge1xuICAudmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICBib3R0b206IC0yOHB4O1xuICB9XG59XG5cbi5nZmllbGRfZXJyb3I6YWZ0ZXIge1xuICBjb250ZW50OiAnWCc7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjZDYyZTJlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDJweDtcbiAgcmlnaHQ6IDIwcHg7XG59XG5cbi5nZmllbGRfZXJyb3I6YWZ0ZXIgLnVwbG9hZC1zaG93IHtcbiAgYm9yZGVyOiAycHggc29saWQgI2Q2MmUyZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzBlbSkge1xuICAuZ2ZpZWxkX2Vycm9yOmFmdGVyIHtcbiAgICB0b3A6IDQ1cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDUzLjc1ZW0pIHtcbiAgLmhvbWUgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuaG9tZSBoMiArIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cblxuLnNsaWRlIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLmJhbm5lci1ob21lIHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcbn1cblxuLmJhbm5lci1ob21lIHZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1My43NWVtKSB7XG4gIC5iYW5uZXItaG9tZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuXG4uc2xpZGU6aG92ZXIgLnBsYXktYnV0dG9uIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1LCAwLjk1KTtcbn1cblxuLnBsYXktY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gIHotaW5kZXg6IDEwO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiA1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wbGF5LWNvbnRhaW5lciAucGxheS1idXR0b24ge1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiA3MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDNweCBzb2xpZCB3aGl0ZTtcbiAgbWFyZ2luOiAwIGF1dG8gMjBweCBhdXRvO1xuICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbn1cblxuLnBsYXktY29udGFpbmVyIGkge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTlweDtcbiAgbGVmdDogMjJweDtcbn1cblxuLnBsYXktY29udGFpbmVyIGkgc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI4cHg7XG59XG5cbi5wbGF5LWNvbnRhaW5lciAucGxheS1jb250ZW50IHtcbiAgdGV4dC1zaGFkb3c6IDVweCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjc1ZW0pIHtcbiAgLnBsYXktY29udGFpbmVyIC5wbGF5LWJ1dHRvbiB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgYm9yZGVyOiA2cHggc29saWQgd2hpdGU7XG4gIH1cbiAgLnBsYXktY29udGFpbmVyIGkge1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIHRvcDogMzBweDtcbiAgICBsZWZ0OiA0MHB4O1xuICB9XG4gIC5wbGF5LWNvbnRhaW5lciBpIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDc4cHg7XG4gICAgaGVpZ2h0OiA3OXB4O1xuICB9XG4gIC5wbGF5LWNvbnRhaW5lciAucGxheS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uYmFubmVyLXBhZ2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIHBhZGRpbmctdG9wOiAzLjg0NjE1dnc7XG4gIHBhZGRpbmctYm90dG9tOiAzLjg0NjE1dnc7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLmJhbm5lci1wYWdlIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLmJhbm5lci1wYWdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5iYW5uZXItcGFnZS5iZy1ibHVlIHtcbiAgYmFja2dyb3VuZDogIzFhNDE3NTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5iYW5uZXItcGFnZS5iZy1wdXJwbGUge1xuICBiYWNrZ3JvdW5kOiAjOTMzMjYzO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJhbm5lci1wYWdlLmJnLXllbGxvdyB7XG4gIGJhY2tncm91bmQ6ICNmOWNkMDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmFubmVyLXBhZ2UgLnR5cGUtdGl0bGUtMSwgLmJhbm5lci1wYWdlIC5jb250ZW50IGgxLCAuY29udGVudCAuYmFubmVyLXBhZ2UgaDEge1xuICBtYXJnaW4tYm90dG9tOiAwdnc7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLmJhbm5lci1wYWdlIC50eXBlLXRpdGxlLTEsIC5iYW5uZXItcGFnZSAuY29udGVudCBoMSwgLmNvbnRlbnQgLmJhbm5lci1wYWdlIGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4ucHVibGlsaXN0X19pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMxYTQxNzU7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wdWJsaWxpc3RfX2l0ZW0ucHVibGlsaXN0X19pdGVtLS1wdXJwbGUge1xuICBib3JkZXI6IDJweCBzb2xpZCAjOTMzMjYzO1xufVxuXG4ucHVibGlsaXN0X19pdGVtLnB1YmxpbGlzdF9faXRlbS0teWVsbG93IHtcbiAgYm9yZGVyOiAycHggc29saWQgI2Y5Y2QwMDtcbn1cblxuLnB1YmxpbGlzdF9faXRlbS5wdWJsaWxpc3RfX2l0ZW0tLXllbGxvdyAucHVibGlsaXN0X19pdGVtLW1lZGl1bS1jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnB1YmxpbGlzdF9faXRlbS5wdWJsaWxpc3RfX2l0ZW0tLWJsdWVsaWdodCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDcyYWM7XG59XG5cbi5wdWJsaWxpc3RfX2l0ZW0gLnB1YmxpbGlzdF9faXRlbS1jb250ZW50IHtcbiAgY29sb3I6ICMxYTQxNzU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbi10b3A6IDE0cHg7XG4gIHRyYW5zaXRpb246IDAuM3MgYWxsIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4ucHVibGlsaXN0X19pdGVtIC5pY29uLXBkZiB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnB1YmxpbGlzdF9faXRlbSAuaWNvbi1wZGYgc3ZnIHtcbiAgZmlsbDogIzFhNDE3NTtcbn1cblxuLnB1YmxpbGlzdF9faXRlbSAucHVibGlsaXN0X19pdGVtLWJ0biB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnB1YmxpbGlzdF9faXRlbSAucHVibGlsaXN0X19pdGVtLWJ0bjpob3ZlciB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBiYWNrZ3JvdW5kOiAjMWE0MTc1O1xufVxuXG4ucHVibGlsaXN0X19pdGVtIC5wdWJsaWxpc3RfX2l0ZW0tc3VydGl0bGUge1xuICBmb250LXNpemU6IDEuMzg0NjJ2dztcbiAgbGluZS1oZWlnaHQ6IDIuNDYxNTR2dztcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAxMS4xMTExMXB4KSB7XG4gIC5wdWJsaWxpc3RfX2l0ZW0gLnB1YmxpbGlzdF9faXRlbS1zdXJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLnB1YmxpbGlzdF9faXRlbSAucHVibGlsaXN0X19pdGVtLXN1cnRpdGxlIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIH1cbn1cblxuLnB1YmxpbGlzdF9faXRlbSAucHVibGlsaXN0X19pdGVtLW1lZGl1bS1jb250ZW50IHtcbiAgZm9udC1zaXplOiAxLjM4NDYydnc7XG4gIGxpbmUtaGVpZ2h0OiAyLjQ2MTU0dnc7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzAwcHgpIHtcbiAgLnB1YmxpbGlzdF9faXRlbSAucHVibGlsaXN0X19pdGVtLW1lZGl1bS1jb250ZW50IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAucHVibGlsaXN0X19pdGVtIC5wdWJsaWxpc3RfX2l0ZW0tbWVkaXVtLWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuXG4ucHVibGlsaXN0X19pdGVtIC5wdWJsaWxpc3RfX2l0ZW0tbWVkaXVtLWNvbnRlbnQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wdWJsaWxpc3RfX2l0ZW0gLnB1YmxpbGlzdF9faXRlbS1tZWRpdW0tY29udGVudCBwIGVtIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ucHVibGlsaXN0X19pdGVtIC5wdWJsaWxpc3RfX2l0ZW0tbWVkaXVtLWNvbnRlbnQgdWwge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4ucHVibGlsaXN0X19pdGVtIC5wdWJsaWxpc3RfX2l0ZW0tbWVkaXVtLWNvbnRlbnQgdWwgbGk6bm90KC5nZmllbGQpIHtcbiAgZm9udC1zaXplOiAxLjUzODQ2dnc7XG4gIGxpbmUtaGVpZ2h0OiAyLjYxNTM4dnc7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDQwcHgpIHtcbiAgLnB1YmxpbGlzdF9faXRlbSAucHVibGlsaXN0X19pdGVtLW1lZGl1bS1jb250ZW50IHVsIGxpOm5vdCguZ2ZpZWxkKSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLnB1YmxpbGlzdF9faXRlbSAucHVibGlsaXN0X19pdGVtLW1lZGl1bS1jb250ZW50IHVsIGxpOm5vdCguZ2ZpZWxkKSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICB9XG59XG5cbi5wdWJsaWxpc3RfX2l0ZW0gLnB1YmxpbGlzdF9faXRlbS1tZWRpdW0tY29udGVudCB1bCBsaTpub3QoLmdmaWVsZCk6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZjljZDAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDguNXB4IDAgOC41cHggMTVweDtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuLnB1YmxpbGlzdF9faXRlbSAucHVibGlsaXN0X19pdGVtLW1lZGl1bS1jb250ZW50IHVsIGxpOm5vdCguZ2ZpZWxkKSBhIHtcbiAgY29sb3I6ICMwMDcyYWM7XG4gIHRyYW5zaXRpb246IDAuMnMgY29sb3IgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xufVxuXG4ucHVibGlsaXN0X19pdGVtIC5wdWJsaWxpc3RfX2l0ZW0tbWVkaXVtLWNvbnRlbnQgdWwgbGk6bm90KC5nZmllbGQpIGE6aG92ZXIge1xuICBjb2xvcjogI2Y5Y2QwMDtcbn1cblxuLnB1YmxpbGlzdF9faXRlbSAucHVibGlsaXN0X19pdGVtLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjUzODQ2dnc7XG4gIGxpbmUtaGVpZ2h0OiAyLjQ2MTU0dnc7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTcwcHgpIHtcbiAgLnB1YmxpbGlzdF9faXRlbSAucHVibGlsaXN0X19pdGVtLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAucHVibGlsaXN0X19pdGVtIC5wdWJsaWxpc3RfX2l0ZW0tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAucHVibGlsaXN0X19pdGVtIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5wdWJsaWxpc3RfX2l0ZW0gLnB1YmxpbGlzdF9faXRlbS1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAucHVibGlsaXN0X19pdGVtIC5wdWJsaWxpc3RfX2l0ZW0tY29udGVudC0tZWxsaXBzaXMge1xuICAgIHdpZHRoOiA2MCU7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5wdWJsaWxpc3RfX2l0ZW0gLmljb24tcGRmIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5wdWJsaWxpc3RfX2l0ZW0gLnB1YmxpbGlzdF9faXRlbS1idG4ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICAucHVibGlsaXN0X19pdGVtIC5wdWJsaWxpc3RfX2l0ZW0tYnRuLS1hYnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLnB1YmxpbGlzdF9faXRlbSAucHVibGlsaXN0X19pdGVtLWJ0bi0tYmwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC5wdWJsaWxpc3RfX2l0ZW0ucHVibGlsaXN0X19pdGVtLS15ZWxsb3cge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmOWNkMDA7XG4gIH1cbiAgLnB1YmxpbGlzdF9faXRlbS5wdWJsaWxpc3RfX2l0ZW0tLXllbGxvdyAucHVibGlsaXN0X19pdGVtLWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC5wdWJsaWxpc3RfX2l0ZW0ucHVibGlsaXN0X19pdGVtLS15ZWxsb3cgLnB1YmxpbGlzdF9faXRlbS1tZWRpdW0tY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTMuNzVlbSkge1xuICAucHVibGlsaXN0X19pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzBlbSkge1xuICAucHVibGlsaXN0X19pdGVtIC5wdWJsaWxpc3RfX2l0ZW0tbWVkaXVtLWNvbnRlbnQgdWwgbGk6bm90KC5nZmllbGQpOmJlZm9yZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHRvcDogM3B4O1xuICB9XG59XG5cbi5wdWJsaWxpc3QtLWZ1dHVyZSAucHVibGlsaXN0X19pdGVtIC5wdWJsaWxpc3RfX2l0ZW0tYnRuIHtcbiAgZmxvYXQ6IG5vbmU7XG59XG5cbi5wdWJsaWxpc3QtLWZ1dHVyZSAucHVibGlsaXN0X19pdGVtIC5wdWJsaWxpc3RfX2l0ZW0tbWVkaXVtLWNvbnRlbnQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5leHBhbmQtY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzBlbSkge1xuICAuZXhwYW5kLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmV4cGFuZC1jb250ZW50LmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG59XG5cbi5leHBhbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZXhwYW5kIGRpdjpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjZjljZDAwO1xuICB3aWR0aDogMzBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbn1cblxuLmV4cGFuZCBkaXY6Zmlyc3Qtb2YtdHlwZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxcHg7XG4gIGJhY2tncm91bmQ6ICNmOWNkMDA7XG4gIGhlaWdodDogMzBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnNlZW1vcmUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogMC4zcyBhbGwgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIGZvbnQtc2l6ZTogMS4zODQ2MnZ3O1xuICBsaW5lLWhlaWdodDogMi42MTUzOHZ3O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAxMS4xMTExMXB4KSB7XG4gIC5zZWVtb3JlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAuc2VlbW9yZSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICB9XG59XG5cbi5zZWVtb3JlOmhvdmVyIHtcbiAgY29sb3I6ICMxYTQxNzU7XG59XG5cbi5zZWVtb3JlOmhvdmVyOmFmdGVyIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiAjMWE0MTc1IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDEycHggNi41cHggMDtcbn1cblxuLnNlZW1vcmU6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiAjZjljZDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDEycHggNi41cHggMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgdHJhbnNpdGlvbjogMC4zcyBhbGwgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG59XG5cbi5zZWVtb3JlLm9wZW46YWZ0ZXIge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmOWNkMDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCA2LjVweCAxMnB4O1xufVxuXG4uc2VlbW9yZS5vcGVuOmhvdmVyIHtcbiAgY29sb3I6ICMxYTQxNzU7XG59XG5cbi5zZWVtb3JlLm9wZW46aG92ZXI6YWZ0ZXIge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxYTQxNzU7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCA2LjVweCAxMnB4O1xufVxuXG4ucHVibGlsaXN0LS1oaWRkZW4ge1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRyYW5zaXRpb246IDAuM3MgYWxsIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4ucHVibGlsaXN0LS1oaWRkZW4uc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uYmxvY2stZ3JleSB7XG4gIGJhY2tncm91bmQ6ICNlZWVlZWU7XG4gIHBhZGRpbmctdG9wOiA5LjIzMDc3dnc7XG4gIHBhZGRpbmctYm90dG9tOiA5LjIzMDc3dnc7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLmJsb2NrLWdyZXkge1xuICAgIHBhZGRpbmctdG9wOiAxMjBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLmJsb2NrLWdyZXkge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMjBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5hY3Rpb25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFjdGlvbnMgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuXG4uYWN0aW9ucyBhOmhvdmVyIHN2ZyB7XG4gIGZpbGw6ICMxYTQxNzU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1My43NWVtKSB7XG4gIC5hY3Rpb25zIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC5hY3Rpb25zIGEge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4ueXQtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogOS4yMzA3N3Z3O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gIC55dC1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDEyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnl0LWNvbnRhaW5lciBpZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1My44NDYxNXZ3O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gIC55dC1jb250YWluZXIgaWZyYW1lIHtcbiAgICBoZWlnaHQ6IDcwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnNsaWNrLWxpc3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiBoYW5kO1xufVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnNsaWNrLXRyYWNrOmJlZm9yZSwgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5zbGljay10cmFjazphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2Rpcj1cInJ0bFwiXSAuc2xpY2stc2xpZGUge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5zbGljay1zbGlkZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaWRlciAuc2xpZGUgLnNsaWRlX19jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNsaWRlciAuc2xpZGUgLnNsaWRlX19jYXB0aW9uIC5jb250YWluZXIsIC5zbGlkZXIgLnNsaWRlIC5zbGlkZV9fY2FwdGlvbiAucm93LCAuc2xpZGVyIC5zbGlkZSAuc2xpZGVfX2NhcHRpb24gLmNvbC14cy0xMiB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnNsaWRlciAuc2xpZGUgLnNsaWRlX19jYXB0aW9uIC5jZWxsIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnNsaWRlciAuc2xpZGUgLnNsaWRlX19jYXB0aW9uIC5zbGlkZV9fY2FwdGlvbi1jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAzLjg0NjE1dnc7XG4gIGxpbmUtaGVpZ2h0OiA1LjA3Njkydnc7XG4gIGNvbG9yOiAjMWE0MTc1O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYyNHB4KSB7XG4gIC5zbGlkZXIgLnNsaWRlIC5zbGlkZV9fY2FwdGlvbiAuc2xpZGVfX2NhcHRpb24tY29udGVudCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLnNsaWRlciAuc2xpZGUgLnNsaWRlX19jYXB0aW9uIC5zbGlkZV9fY2FwdGlvbi1jb250ZW50IHtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDY2cHg7XG4gIH1cbn1cblxuLnNsaWRlciAuc2xpY2stZG90cyB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNsaWRlciAuc2xpY2stZG90cyBsaSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG5cbi5zbGlkZXIgLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBvcGFjaXR5OiAuNTtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbn1cblxuLnNsaWRlciAuc2xpY2stZG90cyBsaTpub3QoLnNsaWNrLWFjdGl2ZSk6aG92ZXIgYnV0dG9uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4uc2xpZGVyIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b24ge1xuICBvcGFjaXR5OiAxO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuNzVlbSkge1xuICAuc2xpZGVyIC5zbGlkZSAuc2xpZGVfX2NhcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLnNsaWRlciAuc2xpY2stZG90cyB7XG4gICAgYm90dG9tOiA1MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1My43NWVtKSB7XG4gIC5zbGlkZXIgLnNsaWRlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxuICAuc2xpZGVyIC5zbGljay1kb3RzIHtcbiAgICBib3R0b206IDUwcHg7XG4gIH1cbiAgLnNsaWRlciAuc2xpY2stZG90cyBsaSB7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgfVxuICAuc2xpZGVyIC5zbGlkZSAuc2xpZGVfX2NhcHRpb24gLnNsaWRlX19jYXB0aW9uLWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRTdHlsZXMgZXQgcsOpZ2xhZ2VzIGdsb2JhdXhcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vIENvdWxldXJzXG4kd2hpdGUgOiAjZmVmZWZlO1xuXG4kYmx1ZSA6ICMxYTQxNzU7XG4kYmx1ZS1saWdodDogIzAwNzJhYztcblxuJHllbGxvdzogI2Y5Y2QwMDtcblxuJGdyZXk6ICM1ZjVmNWY7XG4kZ3JleS1saWdodDogI2Q5ZDlkOTtcblxuJHB1cnBsZTogIzkzMzI2MztcblxuLy8gU2hhZG93XG4kYm94LXNoYWRvdzogNXB4IDhweCAzMHB4IHJnYmEoMCwwLDAsMC4xNSk7XG5cbi8vIFR5cG9ncmFwaGllXG4kZm9udC1mYW1pbHkgICAgIDogJ05ldWUnLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRmb250LXNpemUgICAgICAgOiAxNnB4O1xuJGZvbnQtY29sb3IgICAgICA6ICRncmV5O1xuJHNlbGVjdGlvbi1iZyAgICA6ICRibHVlO1xuJHNlbGVjdGlvbi1jb2xvciA6ICR3aGl0ZTtcblxuJHNhbnNcdFx0IDogJGZvbnQtZmFtaWx5O1xuXG4kdGhpbiA6IDEwMDtcbiRyZWd1bGFyIDogNDAwO1xuJG1lZGl1bTogNTAwO1xuJGJvbGQgOiA2MDA7XG5cbi8vIEdyaWxsZVxuJGNvbnRhaW5lci13aWR0aCAgICAgOiAxMDAlO1xuJGNvbnRhaW5lci1tYXgtd2lkdGggOiAxNDAwcHg7XG4kbGFyZ2UtY29udGFpbmVyLW1heC13aWR0aCA6ICRjb250YWluZXItbWF4LXdpZHRoO1xuJGdyaWQtZ3V0dGVyLXNtYWxsZXIgOiAxZW07XG4kZ3JpZC1ndXR0ZXItc21hbGwgICA6IDEuMjVlbTtcbiRncmlkLWd1dHRlci1tZWRpdW0gIDogMS41ZW07XG5cbi8vIEltYWdlc1xuJGltZy1kaXIgOiBcIi93cC1jb250ZW50L3RoZW1lcy9naXAtbWRzL2Fzc2V0cy9pbWcvbGF5b3V0L1wiO1xuJHRtcC1kaXIgOiBcIi93cC1jb250ZW50L3RoZW1lcy9naXAtbWRzL2Fzc2V0cy9pbWcvdG1wL1wiO1xuJHN2Zy1kaXIgOiBcIi93cC1jb250ZW50L3RoZW1lcy9naXAtbWRzL2Fzc2V0cy9zdmcvbGF5b3V0L1wiO1xuJHNyYy1kaXIgOiBcIi93cC1jb250ZW50L3RoZW1lcy9naXAtbWRzL2Fzc2V0cy9zdmcvc291cmNlcy9cIjtcblxuJGZvbnRzLWRpciA6IFwiL3dwLWNvbnRlbnQvdGhlbWVzL2dpcC1tZHMvYXNzZXRzL2ZvbnRzL1wiO1xuXG4vLyBaLWluZGV4XG4kei1sYXllcnM6IChcblx0XCJnb2t1XCIgICAgIDogOTAwMCxcblx0XCJtb2RhbFwiICAgIDogMjAwLFxuXHRcImRyb3Bkb3duXCIgOiAxMDAsXG5cdFwiZGVmYXVsdFwiICA6IDEsXG5cdFwibGltYm9cIiAgICA6IC05OTlcbik7XG5cbi8vIE1lZGlhIHF1ZXJpZXNcbiRtZC1icmVha3BvaW50czogKFxuXHRcImxhcmdlc3RcIiA6IDE5MjAsXG5cdFwibGFyZ2VyXCIgIDogMTQ0MCxcblx0XCJsYXJnZVwiICAgOiAxMjgwLFxuXHRcIm5vcm1hbFwiICA6IDEwMjQsXG5cdFwibWVkaXVtXCIgIDogOTkyLFxuXHRcInNtYWxsXCIgICA6IDg2MCxcblx0XCJzbWFsbGVyXCIgOiA0ODAsXG5cdFwicmV0aW5hXCIgIDogXCJvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSwgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDI0MGRwcHgpXCJcbik7XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdEVhc2luZ1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuJGluLXF1YWQgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XG4kb3V0LXF1YWQgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcbiRpbi1vdXQtcXVhZCAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xuXG4kaW4tY3ViaWMgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiRvdXQtY3ViaWMgICAgOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuJGluLW91dC1jdWJpYyA6ICBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuXG4kaW4tcXVhcnQgICAgIDogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcbiRvdXQtcXVhcnQgICAgOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xuJGluLW91dC1xdWFydCA6IGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XG5cbiRpbi1xdWludCAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuJG91dC1xdWludCAgICA6IGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XG4kaW4tb3V0LXF1aW50IDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcblxuJGluLXNpbmUgICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kb3V0LXNpbmUgICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcbiRpbi1vdXQtc2luZSAgOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuXG4kaW4tZXhwbyAgICAgIDogY3ViaWMtYmV6aWVyKDAuOTUwLCAwLjA1MCwgMC43OTUsIDAuMDM1KTtcbiRvdXQtZXhwbyAgICAgOiBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xuJGluLW91dC1leHBvICA6IGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XG5cbiRpbi1jaXJjICAgICAgOiBjdWJpYy1iZXppZXIoMC42MDAsIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xuJG91dC1jaXJjICAgICA6IGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XG4kaW4tb3V0LWNpcmMgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcblxuJGluLWJhY2sgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuJG91dC1iYWNrICAgICA6IGN1YmljLWJlemllcigwLjE3NSwgMDAuODg1LCAwLjMyMCwgMS4yNzUpO1xuJGluLW91dC1iYWNrICA6IGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApO1xuXG4kb3V0LWJhY2stdCAgIDogY3ViaWMtYmV6aWVyKDAuNTM1LCAxLjY1MCwgMC42MzUsIDEuMDA1KTsiLCIvKiBub3JtYWxpemUuY3NzIHYzLjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcblx0Zm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cblx0LW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cblx0LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuXHRvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuXHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuXHRtYXJnaW46IDAuNjdlbSAwO1xuXHRmb250LXNpemU6IDJlbTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuXHRjb2xvcjogIzAwMDtcblx0YmFja2dyb3VuZDogI2ZmMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG5cdGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0Zm9udC1zaXplOiA3NSU7XG5cdGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5zdXAge1xuXHR0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcblx0Ym90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5cbmltZyB7XG5cdGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcblx0bWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuXHQtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0aGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG5cdG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcblx0Zm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRtYXJnaW46IDA7IC8qIDMgKi9cblx0Zm9udDogaW5oZXJpdDsgLyogMiAqL1xuXHRjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cblx0Y3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcblx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cblx0cGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG5cdC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG5cdC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cblx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcblx0bWFyZ2luOiAwIDJweDtcblx0cGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuXHRib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuXHRwYWRkaW5nOiAwOyAvKiAyICovXG5cdGJvcmRlcjogMDsgLyogMSAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Ym9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuXHRwYWRkaW5nOiAwO1xufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0Q1NTIFJlc2V0XG5cblx0aHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC9cbiAgdjIuMCB8IDIwMTEwMTI2XG4gIExpY2Vuc2U6IG5vbmUgKHB1YmxpYyBkb21haW4pXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5odG1sLGJvZHksZGl2LHNwYW4sYXBwbGV0LG9iamVjdCxpZnJhbWUsXG5oMSxoMixoMyxoNCxoNSxoNixwLGJsb2NrcXVvdGUscHJlLFxuYSxhYmJyLGFjcm9ueW0sYWRkcmVzcyxiaWcsY2l0ZSxjb2RlLFxuZGVsLGRmbixlbSxpbWcsaW5zLGtiZCxxLHMsc2FtcCxcbnNtYWxsLHN0cmlrZSxzdHJvbmcsc3ViLHN1cCx0dCx2YXIsXG5iLHUsaSxjZW50ZXIsXG5kbCxkdCxkZCxvbCx1bCxsaSxcbmZpZWxkc2V0LGZvcm0sbGFiZWwsbGVnZW5kLFxudGFibGUsY2FwdGlvbix0Ym9keSx0Zm9vdCx0aGVhZCx0cix0aCx0ZCxcbmFydGljbGUsYXNpZGUsY2FudmFzLGRldGFpbHMsZW1iZWQsXG5maWd1cmUsZmlnY2FwdGlvbixmb290ZXIsaGVhZGVyLGhncm91cCxcbm1lbnUsbmF2LG91dHB1dCxydWJ5LHNlY3Rpb24sc3VtbWFyeSxcbnRpbWUsbWFyayxhdWRpbyx2aWRlbyxcbmJ1dHRvbixpbnB1dCxzZWxlY3Qge1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Zm9udDogaW5oZXJpdDtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRib3JkZXI6IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnMgKi9cbm1haW4sXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1lbnUsXG5uYXYsXG5zZWN0aW9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbm9sLFxudWwge1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG5xLFxuYmxvY2txdW90ZSB7XG5cdHF1b3Rlczogbm9uZTtcblxuXHQmOmFmdGVyLFxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0fVxufVxuXG50YWJsZSB7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5idXR0b24sXG5pbnB1dCB7XG5cdGZvbnQ6IGluaGVyaXQ7XG5cblx0Lm1hYyAmIHtcblx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0XHQtbW96LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0XHRmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdFx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0XHQtbW96LW9zeC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdH1cbn1cblxuYnV0dG9uIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0RnVuY3Rpb25zXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbi8qKlxuICogQSBmdW5jdGlvbiBoZWxwZXIgdG8gYXZvaWQgaGF2aW5nIHRvIHR5cGUgYG1hcC1nZXQoJHotbGF5ZXJzLCAuLi4pYFxuICogQmFzZWQgb24gaHR0cDovL2Nzcy10cmlja3MuY29tL2hhbmRsaW5nLXotaW5kZXgvXG4gKiBAcGFyYW0gIHtzdHJpbmd9ICRsYXllciBUaGUgbmFtZSBvZiB0aGUgei1pbmRleFxuICogQHBhcmFtICB7bnVtYmVyfSAkdmFyICAgVGhlIG1vZGlmaWVyIGlmIG5lZWRlZFxuICogQHJldHVybiB7bnVtYmVyfSAgICAgICAgVGhlIGNvcnJlc3BvbmRpbmcgei1pbmRleCBiYXNlZCBvbiB0aGUgJHotbGF5ZXJzIHZhclxuICovXG5AZnVuY3Rpb24geigkbGF5ZXIsICR2YXI6MCkge1xuXHRAaWYgbm90IG1hcC1oYXMta2V5KCR6LWxheWVycywgJGxheWVyKSB7XG4gICAgQGVycm9yIFwiTm8gei1pbmRleCBmb3VuZCBpbiAkei1sYXllcnMgbWFwIGZvciBgI3skbGF5ZXJ9YC4gUHJvcGVydHkgb21pdHRlZC5cIjtcbiAgfVxuXG5cdCR2YWx1ZTogbWFwLWdldCgkei1sYXllcnMsICRsYXllcik7XG5cblx0QHJldHVybiAkdmFsdWUgKyAkdmFyO1xufVxuXG4vKipcbiAqIFJlbW92ZSB1bml0cyBmcm9tIHRoZSBnaXZlbiBudW1iZXJcbiAqIEBwYXJhbSAge251bWJlcn0gJG51bWJlciBUaGUgbnVtYmVyIHdpdGggdW5pdHNcbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCRudW1iZXIpIHtcblx0QHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG59XG5cblxuXG4vKipcbiAqIENyZWF0ZSB2YXJpYWJsZXMgZm9yIHRoZSBtZWRpYSBxdWVyaWVzXG4gKiBAcGFyYW0gIHtzdHJpbmd9ICRicmVha3BvaW50IFRoZSBicmVha3BvaW50XG4gKiBAcGFyYW0gIHtzdHJpbmd9ICR0eXBlICAgICAgIFR5cGUgb2YgbWVkaWEgcXVlcnkgKG1pbiBvciBtYXgpXG4gKiBAcGFyYW0gIHtzdHJpbmd9ICR1bml0ICAgICAgIFRoZSB1bml0IGZvciB0aGUgbWVkaWEgcXVlcmllcyAoZW0gb3IgcHgpXG4gKiBAcmV0dXJuIHtzdHJpbmd9ICAgICAgICAgICAgIEEgbWVkaWEgcXVlcnkgZXhwcmVzc2lvblxuICovXG5AZnVuY3Rpb24gbWQoJGJyZWFrcG9pbnQsICR0eXBlOlwibWluXCIsICR1bml0OlwiZW1cIikge1xuXG5cdEBpZiBub3QgbWFwLWhhcy1rZXkoJG1kLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkge1xuICAgIEBlcnJvciBcIk5vIGJyZWFrcG9pbnQgZm91bmQgaW4gJG1kLWJyZWFrcG9pbnRzIG1hcCBmb3IgYCN7JGJyZWFrcG9pbnR9YC4gUHJvcGVydHkgb21pdHRlZC5cIjtcbiAgfVxuXG5cdCR2YWx1ZTogbWFwLWdldCgkbWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcblxuXHRAaWYgJHZhbHVlIC8gJHZhbHVlICE9IDEge1xuXHRcdEByZXR1cm4gJHZhbHVlO1xuICB9XG5cblx0QGlmICR1bml0ID09IFwiZW1cIiB7XG5cblx0XHQkc2l6ZTogJHZhbHVlIC8gc3RyaXAtdW5pdHMoJGZvbnQtc2l6ZSkgKiAxZW07XG5cblx0XHRAaWYgJHR5cGUgPT0gXCJtaW5cIiB7XG5cdFx0XHRAcmV0dXJuIFwiKG1pbi13aWR0aDogI3skc2l6ZX0pXCI7XG5cdFx0fVxuXHRcdEBpZiAkdHlwZSA9PSBcIm1heFwiIHtcblx0XHRcdEByZXR1cm4gXCIobWF4LXdpZHRoOiAjeyRzaXplfSlcIjtcblx0XHR9XG5cdH1cblxuXHRAaWYgJHVuaXQgPT0gXCJweFwiIHtcblxuXHRcdCRzaXplOiAkdmFsdWUgKiAxcHg7XG5cblx0XHRAaWYgJHR5cGUgPT0gXCJtaW5cIiB7XG5cdFx0XHRAcmV0dXJuIFwiKG1pbi13aWR0aDogI3skc2l6ZX0pXCI7XG5cdFx0fVxuXHRcdEBpZiAkdHlwZSA9PSBcIm1heFwiIHtcblx0XHRcdEByZXR1cm4gXCIobWF4LXdpZHRoOiAjeyRzaXplfSlcIjtcblx0XHR9XG5cdH1cbn1cblxuXG4vKipcbiAqIFNsaWdodGx5IGxpZ2h0ZW4gYSBjb2xvclxuICogQGFjY2VzcyBwdWJsaWNcbiAqIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGNvbG9yIHRvIHRpbnRcbiAqIEBwYXJhbSB7TnVtYmVyfSAkcGVyY2VudGFnZSAtIHBlcmNlbnRhZ2Ugb2YgYCRjb2xvcmAgaW4gcmV0dXJuZWQgY29sb3JcbiAqIEByZXR1cm4ge0NvbG9yfVxuICovXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50YWdlKSB7XG5cdEByZXR1cm4gbWl4KCRjb2xvciwgI2ZmZiwgJHBlcmNlbnRhZ2UpO1xufVxuXG4vKipcbiAqIFNsaWdodGx5IGRhcmtlbiBhIGNvbG9yXG4gKiBAYWNjZXNzIHB1YmxpY1xuICogQHBhcmFtICB7Y29sb3J9ICAkY29sb3IgICAgICAgY29sb3IgdG8gc2hhZGVcbiAqIEBwYXJhbSAge251bWJlcn0gJHBlcmNlbnRhZ2UgIHBlcmNlbnRhZ2Ugb2YgYCRjb2xvcmAgaW4gcmV0dXJuZWQgY29sb3JcbiAqIEByZXR1cm4ge0NvbG9yfVxuICovXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudGFnZSkge1xuXHRAcmV0dXJuIG1peCgkY29sb3IsICMwMDAsICRwZXJjZW50YWdlKTtcbn1cblxuXG5cbi8qKlxuICogUG93ZXIgZnVuY3Rpb25cbiAqIEBwYXJhbSAge251bWJlcn0gJG51bWJlciBOdW1iZXIgdG8gYXBwbHkgcG93ZXJcbiAqIEBwYXJhbSAge251bWJlcn0gJGV4cCAgICBUaGUgZXhwb25hbnQgZm9yIHRoZSBwb3dlclxuICogQHJldHVybiB7bnVtYmVyfSAgICAgICAgIFRoZSBwb3dlcmVkIG51bWJlclxuICovXG5AZnVuY3Rpb24gcG93KCRudW1iZXIsICRleHApIHtcblx0JHZhbHVlOiAxO1xuXHRAaWYgJGV4cCA+IDAge1xuXHRcdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGV4cCB7XG5cdFx0XHQkdmFsdWU6ICR2YWx1ZSAqICRudW1iZXI7XG5cdFx0fVxuXHR9IEBlbHNlIGlmICRleHAgPCAwIHtcblx0XHRAZm9yICRpIGZyb20gMSB0aHJvdWdoIC0kZXhwIHtcblx0XHRcdCR2YWx1ZTogJHZhbHVlIC8gJG51bWJlcjtcblx0XHR9XG5cdH1cblx0QHJldHVybiAkdmFsdWU7XG59XG5cbi8qKlxuICogRmFjdG9yaWFsIGZ1bmN0aW9uXG4gKiBAcGFyYW0gIHtudW1iZXJ9ICRudW1iZXIgVGhlIG51bWJlciB0byBmYWN0b3JpemVcbiAqIEByZXR1cm4ge251bWJlcn0gICAgICAgICBUaGUgZmFjdG9yaXNlZCBudW1iZXJcbiAqL1xuQGZ1bmN0aW9uIGZhY3QoJG51bWJlcikge1xuXHQkdmFsdWU6IDE7XG5cdEBpZiAkbnVtYmVyID4gMCB7XG5cdFx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbnVtYmVyIHtcblx0XHRcdCR2YWx1ZTogJHZhbHVlICogJGk7XG5cdFx0fVxuXHR9XG5cdEByZXR1cm4gJHZhbHVlO1xufVxuXG4vKipcbiAqIFBpIHJlZmVyZW5jZVxuICogQHJldHVybiB7bnVtYmVyfSBSZXRydW4gUEkgd2l0aCAxMSBkZWNpbWFsc1xuICovXG5AZnVuY3Rpb24gcGkoKSB7XG5cdEByZXR1cm4gMy4xNDE1OTI2NTM1OTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGRlZyB0byByYWRcbiAqIEBwYXJhbSAge3N0cmluZ30gJGFuZ2xlIFRoZSBhbmdsZSB0byBjb252ZXJ0XG4gKiBAcmV0dXJuIHtudW1iZXJ9ICAgICAgICBUaGUgdW5pdGxlc3MgYW5nbGUgY29udmVydGVkIHRvIHJhZFxuICovXG5AZnVuY3Rpb24gcmFkKCRhbmdsZSkge1xuXHQkdW5pdDogdW5pdCgkYW5nbGUpO1xuXHQkdW5pdGxlc3M6ICRhbmdsZSAvICgkYW5nbGUgKiAwICsgMSk7XG5cdC8vIElmIHRoZSBhbmdsZSBoYXMgJ2RlZycgYXMgdW5pdCwgY29udmVydCB0byByYWRpYW5zLlxuXHRAaWYgJHVuaXQgPT0gZGVnIHtcblx0XHQkdW5pdGxlc3M6ICR1bml0bGVzcyAvIDE4MCAqIHBpKCk7XG5cdH1cblx0QHJldHVybiAkdW5pdGxlc3M7XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlIHRoZSBzaW51cyBvZiBhbiBhbmdsZVxuICogQHBhcmFtICB7c3RyaW5nfSAkYW5nbGUgVGhlIGFuZ2xlIHRvIGNvbXB1dGVcbiAqIEByZXR1cm4ge251bWJlcn0gICAgICAgIFRoZSBzaW51cyBvZiB0aGUgZ2l2ZW4gYW5nbGVcbiAqL1xuQGZ1bmN0aW9uIHNpbigkYW5nbGUpIHtcblx0JHNpbjogMDtcblx0JGFuZ2xlOiByYWQoJGFuZ2xlKTtcblx0Ly8gSXRlcmF0ZSBhIGJ1bmNoIG9mIHRpbWVzLlxuXHRAZm9yICRpIGZyb20gMCB0aHJvdWdoIDEwIHtcblx0XHQkc2luOiAkc2luICsgcG93KC0xLCAkaSkgKiBwb3coJGFuZ2xlLCAoMiAqICRpICsgMSkpIC8gZmFjdCgyICogJGkgKyAxKTtcblx0fVxuXHRAcmV0dXJuICRzaW47XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlIHRoZSBjb3NpbnVzIG9mIGFuIGFuZ2xlXG4gKiBAcGFyYW0gIHtzdHJpbmd9ICRhbmdsZSBUaGUgYW5nbGUgdG8gY29tcHV0ZVxuICogQHJldHVybiB7bnVtYmVyfSAgICAgICAgVGhlIGNvc2ludXMgb2YgdGhlIGdpdmVuIGFuZ2xlXG4gKi9cbkBmdW5jdGlvbiBjb3MoJGFuZ2xlKSB7XG5cdCRjb3M6IDA7XG5cdCRhbmdsZTogcmFkKCRhbmdsZSk7XG5cdC8vIEl0ZXJhdGUgYSBidW5jaCBvZiB0aW1lcy5cblx0QGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMCB7XG5cdFx0JGNvczogJGNvcyArIHBvdygtMSwgJGkpICogcG93KCRhbmdsZSwgMiAqICRpKSAvIGZhY3QoMiAqICRpKTtcblx0fVxuXHRAcmV0dXJuICRjb3M7XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlIHRoZSB0YW5nZW50IG9mIGFuIGFuZ2xlXG4gKiBAcGFyYW0gIHtzdHJpbmd9ICRhbmdsZSBUaGUgYW5nbGUgdG8gY29tcHV0ZVxuICogQHJldHVybiB7bnVtYmVyfSAgICAgICAgVGhlIHRhbmdlbnQgb2YgdGhlIGdpdmVuIGFuZ2xlXG4gKi9cbkBmdW5jdGlvbiB0YW4oJGFuZ2xlKSB7XG5cdEByZXR1cm4gc2luKCRhbmdsZSkgLyBjb3MoJGFuZ2xlKTtcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdFBvc2l0aW9ucyAmIGRpc3Bvc2l0aW9uc1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQG1peGluIGNsZWFyZml4IHtcblxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cblxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRUeXBvZ3JhcGhpZVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQG1peGluIHJlc2V0LXVsIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbkBtaXhpbiBlbGxpcHNpcyB7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWl4aW4gYW50aWFsaWFzZWQge1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG4vLyBOaWNlbHkgaHlwaGVuYXRlIGxvbmcgd29yZHNcbi8vIGNmLiBodHRwczovL2p1c3RtYXJrdXAuY29tL2xvZy8yMDE1LzA3LzMxL2RlYWxpbmctd2l0aC1sb25nLXdvcmRzLWluLWNzcy9cbkBtaXhpbiBoeXBoZW5hdGUge1xuXHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cdGh5cGhlbnM6IGF1dG87XG59XG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0VHJpYW5nbGVzXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AbWl4aW4gdHJpYW5nbGUtdXAoJHRyaWFuZ2xlLXVwLXdpZHRoLCAkdHJpYW5nbGUtdXAtaGVpZ2h0LCAkdHJpYW5nbGUtdXAtY29sb3IpIHtcblx0d2lkdGg6IDA7XG5cdGhlaWdodDogMDtcblx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtdXAtY29sb3I7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci13aWR0aDogMCAkdHJpYW5nbGUtdXAtd2lkdGggLyAyICR0cmlhbmdsZS11cC1oZWlnaHQ7XG59XG5cbkBtaXhpbiB0cmlhbmdsZS1yaWdodCgkdHJpYW5nbGUtcmlnaHQtd2lkdGgsICR0cmlhbmdsZS1yaWdodC1oZWlnaHQsICR0cmlhbmdsZS1yaWdodC1jb2xvcikge1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiAwO1xuXHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1yaWdodC1jb2xvcjtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLXdpZHRoOiAkdHJpYW5nbGUtcmlnaHQtaGVpZ2h0IC8gMiAwICR0cmlhbmdsZS1yaWdodC1oZWlnaHQgLyAyICR0cmlhbmdsZS1yaWdodC13aWR0aDtcbn1cblxuQG1peGluIHRyaWFuZ2xlLWRvd24oJHRyaWFuZ2xlLWRvd24td2lkdGgsICR0cmlhbmdsZS1kb3duLWhlaWdodCwgJHRyaWFuZ2xlLWRvd24tY29sb3IpIHtcblx0d2lkdGg6IDA7XG5cdGhlaWdodDogMDtcblx0Ym9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtZG93bi1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLXdpZHRoOiAkdHJpYW5nbGUtZG93bi1oZWlnaHQgJHRyaWFuZ2xlLWRvd24td2lkdGggLyAyIDA7XG59XG5cbkBtaXhpbiB0cmlhbmdsZS1sZWZ0KCR0cmlhbmdsZS1sZWZ0LXdpZHRoLCAkdHJpYW5nbGUtbGVmdC1oZWlnaHQsICR0cmlhbmdsZS1sZWZ0LWNvbG9yKSB7XG5cdHdpZHRoOiAwO1xuXHRoZWlnaHQ6IDA7XG5cdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWxlZnQtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci13aWR0aDogJHRyaWFuZ2xlLWxlZnQtaGVpZ2h0IC8gMiAkdHJpYW5nbGUtbGVmdC13aWR0ICR0cmlhbmdsZS1sZWZ0LWhlaWdodCAvIDIgMDtcbn1cblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdFNWRyBSZXNwb25zaXZlXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKlxuVXRpbGl0YWlyZSBwb3VyIGxlIHBhZGRpbmcgaGFjayBxdWkgcGVybWV0IGQnYXZvaXIgZGVzIGZpY2hpZXJzIGAqLnN2Z2AgcmVzcG9uc2l2ZS5cblBsdXMgZCdpbmZvcyBpY2kgOiBodHRwOi8vdHltcGFudXMubmV0L2NvZHJvcHMvMjAxNC8wOC8xOS9tYWtpbmctc3Zncy1yZXNwb25zaXZlLXdpdGgtY3NzL1xuKi9cblxuQG1peGluIHBhZGRpbmctaGFjaygkc3ZnLXdpZHRoLCAkc3ZnLWhlaWdodCwgJGNvbnRhaW5lci13aWR0aCkge1xuXHRoZWlnaHQ6IDA7XG5cdHdpZHRoOiAkY29udGFpbmVyLXdpZHRoO1xuXHRwYWRkaW5nLXRvcDogc3RyaXAtdW5pdHMoKCRzdmctaGVpZ2h0IC8gJHN2Zy13aWR0aCkgKiAkY29udGFpbmVyLXdpZHRoKSAqIDElO1xufVxuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0R3JhZGllbnRzXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKipcbiAqIE1peGluIHByaW50aW5nIGEgbGluZWFyLWdyYWRpZW50XG4gKiBhcyB3ZWxsIGFzIGEgcGxhaW4gY29sb3IgZmFsbGJhY2tcbiAqIGFuZCB0aGUgYC13ZWJraXQtYCBwcmVmaXhlZCBkZWNsYXJhdGlvblxuICogQHBhcmFtIHtTdHJpbmcgfCBMaXN0IHwgQW5nbGV9ICRkaXJlY3Rpb24gLSBMaW5lYXIgZ3JhZGllbnQgZGlyZWN0aW9uXG4gKiBAcGFyYW0ge0FyZ2xpc3R9ICRjb2xvci1zdG9wcyAtIExpc3Qgb2YgY29sb3Itc3RvcHMgY29tcG9zaW5nIHRoZSBncmFkaWVudFxuICovXG5AbWl4aW4gbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvci1zdG9wcy4uLikge1xuXHRAaWYgaXMtZGlyZWN0aW9uKCRkaXJlY3Rpb24pID09IGZhbHNlIHtcblx0XHQkY29sb3Itc3RvcHM6ICgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMpO1xuXHRcdCRkaXJlY3Rpb246IDE4MGRlZztcblx0fVxuXG5cdGJhY2tncm91bmQ6IG50aChudGgoJGNvbG9yLXN0b3BzLCAxKSwgMSk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMpO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0Rmx1aWQgdHlwZVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG5AZnVuY3Rpb24gZ2V0LXZ3KCR0YXJnZXQpIHtcbiAgICAkdnctY29udGV4dDogKDEzMDAgKiAwLjAxKSAqIDFweDtcbiAgICBAcmV0dXJuICgkdGFyZ2V0IC8gJHZ3LWNvbnRleHQpICogMXZ3O1xufVxuXG5AbWl4aW4gc2V0LXZ3KCRwcm9wLCAkdGFyZ2V0KSB7XG4gICAgJHZ3LWNvbnRleHQ6ICgxMzAwICogMC4wMSkgKiAxcHg7XG4gICAgJHJldHVybjogKCR0YXJnZXQgLyAkdnctY29udGV4dCkgKiAxdnc7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAgICAgICAjeyRwcm9wfTogJHRhcmdldCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHJldHVybjtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udCgkcmVzcG9uc2l2ZSwgJHNwYWNpbmcsICRtaW4sICRtYXg6IGZhbHNlLCAkbWF4U3BhY2luZzogZmFsc2UsICRub01pbkhlaWdodDogZmFsc2UpIHtcbiAgICAkcmVzcG9uc2l2ZS11bml0bGVzczogJHJlc3BvbnNpdmUgLyAoJHJlc3BvbnNpdmUgLSAkcmVzcG9uc2l2ZSArIDEpO1xuICAgICRkaW1lbnNpb246IGlmKHVuaXQoJHJlc3BvbnNpdmUpID09ICd2aCcsICdoZWlnaHQnLCAnd2lkdGgnKTtcbiAgICAkbWluLWJyZWFrcG9pbnQ6ICRtaW4gLyAkcmVzcG9uc2l2ZS11bml0bGVzcyAqIDEwMDtcblxuICAgIEBtZWRpYSAobWF4LSN7JGRpbWVuc2lvbn06ICN7JG1pbi1icmVha3BvaW50fSkge1xuICAgICAgICBmb250LXNpemU6ICRtaW47XG4gICAgICAgIEBpZiAkbm9NaW5IZWlnaHQgPT0gZmFsc2Uge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRtaW4gKiAxLjU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIEBpZiAkbWF4IHtcbiAgICAgICAgJG1heC1icmVha3BvaW50OiAkbWF4IC8gJHJlc3BvbnNpdmUtdW5pdGxlc3MgKiAxMDA7XG5cbiAgICAgICAgQG1lZGlhIChtaW4tI3skZGltZW5zaW9ufTogI3skbWF4LWJyZWFrcG9pbnR9KSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRtYXg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJG1heFNwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb250LXNpemU6ICRyZXNwb25zaXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAkc3BhY2luZztcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlx0XHRGb250ZmFjZSBkZWNsYXJhdGlvblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTpcIk5ldWVcIjtcbiAgICBzcmM6dXJsKFwiLi4vZm9udHMvbmV1ZS1oYWFzLWdyb3Rlc2stcmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXG4gICAgICAgIHVybChcIi4uL2ZvbnRzL25ldWUtaGFhcy1ncm90ZXNrLXJlZ3VsYXIub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICAgIGZvbnQtc3R5bGU6bm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OjQwMDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6XCJOZXVlXCI7XG4gICAgc3JjOnVybChcIi4uL2ZvbnRzL25ldWUtaGFhcy1ncm90ZXNrLWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIFx0dXJsKFwiLi4vZm9udHMvbmV1ZS1oYWFzLWdyb3Rlc2stYm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gICAgZm9udC1zdHlsZTpub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcbn1cblxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTpcIk5ldWVcIjtcbiAgICBzcmM6dXJsKFwiLi4vZm9udHMvbmV1ZS1oYWFzLWdyb3Rlc2stbWVkaXVtLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcbiAgICAgICAgdXJsKFwiLi4vZm9udHMvbmV1ZS1oYWFzLWdyb3Rlc2stbWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgICBmb250LXN0eWxlOm5vcm1hbDtcbiAgICBmb250LXdlaWdodDo1MDA7XG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHREZWJ1Z1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLypcblVuZSBjb25kaXRpb24gZMOpcGVuZGFudGUgZGUgbGEgdmFyaWFibGUgYCRkZWJ1Z2AgcXVpIHBlcm1ldCBkJ2FmZmljaGVyIGxlcyBjb250b3VycyBkZSB0b3VzIGxlcyDDqWxlbWVudHMgZHUgRE9NLlxuKi9cbiRkZWJ1ZzogKFxuXHRcIm91dGxpbmVcIjogMCxcblx0XCJncmlkXCIgICA6IDBcbik7XG5cbkBpZiBtYXAtZ2V0KCRkZWJ1ZywgXCJvdXRsaW5lXCIpID09IDEge1xuXHQqLFxuXHQqOmFmdGVyLFxuXHQqOmJlZm9yZSB7XG5cdFx0b3V0bGluZTogMXB4IHNvbGlkIHJnYmEoI2YwMCwgMC41KSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbkBpZiBtYXAtZ2V0KCRkZWJ1ZywgXCJncmlkXCIpID09IDEge1xuXHRbZGVidWddIHtcblx0XHR6LWluZGV4OiA5OTk5O1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG5cdFx0LmNvbC14cy0xIHtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoIzAwZiwgMC4yKTtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKCMwMGYsIDAuMyk7XG5cdFx0XHRcdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRbZGVidWddLFxuXHRbZGVidWddICoge1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuQGlmIG1hcC1nZXQoJGRlYnVnLCBcImdyaWRcIikgPT0gMCB7XG5cblx0W2RlYnVnXSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRQb3NpdGlvbm5lbWVudCAmIERpc3BsYXlcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vIERpc3BsYXlcbi5ub25lIHsgZGlzcGxheTogbm9uZTsgfVxuLnRhYmxlIHsgZGlzcGxheTogdGFibGU7IH1cbi5jZWxsIHsgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuLmJsIHsgZGlzcGxheTpibG9jazsgfVxuLmlubGJsIHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbi5pbmxibC0tZm9yY2Uge2Rpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG5cbi8vIFBvc2l0aW9uXG4uYWJzIHsgcG9zaXRpb246IGFic29sdXRlOyB9XG4ucmVsIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8vIENsZWFyZml4XG4uY2YgeyBAaW5jbHVkZSBjbGVhcmZpeDsgfVxuXG4vLyBGbG9hdFxuLmxlZnQgeyBmbG9hdDogbGVmdDsgfVxuLnJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyB9XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdFR5cG9ncmFwaGllXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vLyBBbGlnbmVtZW50IGRlIHRleHRlXG4udGFjIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4udGFsIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuLnRhciB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50YXItZHtcblx0XG5cdEBtZWRpYSAje21kKFwibWVkaXVtXCIpfSB7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHRcblx0fVxufVxuXG4vLyBMaXN0ZSByZXNldFxuLmxpc3QgeyBAaW5jbHVkZSByZXNldC11bDsgfVxuXG4vLyBBbnRpYWxpYXNpbmdcbi5hbnRpYWxpYXNlZCB7IEBpbmNsdWRlIGFudGlhbGlhc2VkOyB9XG5cbi8vIFBvdXIgbGVzIGxvbmdzIG1vdHNcbi5oeXBoZW5hdGUgeyBAaW5jbHVkZSBoeXBoZW5hdGU7IH0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdFPDqWxlY3Rpb25cblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuXHR0ZXh0LXNoYWRvdzogbm9uZTtcblx0Y29sb3I6ICRzZWxlY3Rpb24tY29sb3I7XG5cdGJhY2tncm91bmQ6ICRzZWxlY3Rpb24tYmc7XG59XG5cbjo6c2VsZWN0aW9uIHtcblx0dGV4dC1zaGFkb3c6IG5vbmU7XG5cdGNvbG9yOiAkc2VsZWN0aW9uLWNvbG9yO1xuXHRiYWNrZ3JvdW5kOiAkc2VsZWN0aW9uLWJnO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0UsOpZ2xhZ2VzIGdsb2JhdXhcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiosXG4qOmFmdGVyLFxuKjpiZWZvcmUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJveC1zaXppbmc6IGluaGVyaXQ7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbmh0bWwge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRmb250LXNpemU6ICRmb250LXNpemU7XG5cblx0Ly8gQmV0dGVyIGZvbnQgcmVuZGVyaW5nIGZvciBtYWNcblx0Ji5tYWMge1xuXHRcdEBpbmNsdWRlIGFudGlhbGlhc2VkO1xuXHR9XG59XG5cbmJvZHkge1xuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuXHRmb250LXNpemU6IDFlbTtcblx0Y29sb3I6ICRmb250LWNvbG9yO1xufVxuXG5tYWlue1xuXHR3aWR0aDogMTAwJTtcblx0Ly8gbWF4LXdpZHRoOiAxMzAwcHg7XG5cdG1hcmdpbjowIGF1dG87XG59XG5cbi5tYWluLXdyYXBwZXJ7XG5cdC8vIG1heC13aWR0aDogMTMwMHB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuXG4uc2luZ2xle1xuXHQubWFpbi1pbm5lcntcblx0XHRwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0U2VjdGlvbnNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5zZWN0aW9ue1xuXHRAaW5jbHVkZSBzZXQtdncoJ3BhZGRpbmctYm90dG9tJywgMTMwcHgpO1xufVxuXG4uc2VjdGlvbi0tbm8tc3BhY2luZy1ie1xuXHRwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uc2VjdGlvbi0tY29sc3tcblx0cGFkZGluZy1ib3R0b206MCAhaW1wb3J0YW50O1xuXHRAaW5jbHVkZSBzZXQtdncoJ21hcmdpbi1ib3R0b20nLCAxMDBweCk7XG5cblx0QG1lZGlhICN7bWQoXCJzbWFsbFwiKX0ge1xuXHRcdG1pbi1oZWlnaHQ6IDQwMHB4O1x0XG5cdH1cblxuXHRAbWVkaWEgI3ttZChcIm1lZGl1bVwiKX0ge1xuXHRcdG1pbi1oZWlnaHQ6IDU1NXB4O1x0XG5cdH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRNaXNjIEhlbHBlcnNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5mLWxlZnR7IGZsb2F0OiBsZWZ0OyB9XG4uZi1yaWdodHsgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5tZWRpdW17XG5cdGZvbnQtd2VpZ2h0OiAkbWVkaXVtO1xufVxuXG4uc2Fuc3tcblx0Zm9udC1mYW1pbHk6ICRzYW5zO1xufVxuXG4ubWItMjB7bWFyZ2luLWJvdHRvbTogMjBweDt9XG4ubWItNDB7IFxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRAbWVkaWEgI3ttZChcIm1lZGl1bVwiKX0ge1xuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdH1cbn1cblxuLm1iLTUwe1xuXHRAaW5jbHVkZSBzZXQtdncoJ21hcmdpbi1ib3R0b20nLCA1MHB4KTtcbn1cblxuLm1iLTYwe1xuXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRAbWVkaWEgI3ttZChcIm1lZGl1bVwiKX0ge1xuXHRcdG1hcmdpbi1ib3R0b206IDYwcHg7XG5cdH1cbn1cbi5tYi05MHtcblx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXHRAbWVkaWEgI3ttZChcInNtYWxsXCIpfSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0fVxuXG5cdEBtZWRpYSAje21kKFwibWVkaXVtXCIpfSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogOTBweDtcblx0fVxufVxuLm1iLTEyMHtcblx0QGluY2x1ZGUgc2V0LXZ3KCdtYXJnaW4tYm90dG9tJywgMTIwcHgpO1xufVxuLm1yLTIwe21hcmdpbi1yaWdodDoyMHB4O31cbi5tci00MHttYXJnaW4tcmlnaHQ6IDQwcHg7fVxuLnB0LTIwe3BhZGRpbmctdG9wOiAyMHB4O31cbi5wdC00MHtwYWRkaW5nLXRvcDogNDBweDsgfVxuXG4uZnVsbC1waWN7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuLnNoYWRvd3sgYm94LXNoYWRvdzokYm94LXNoYWRvdzsgfVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0QmFzZSBjb3VsZXVyc1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmJsdWV7IGNvbG9yOiRibHVlOyB9XG4ueWVsbG93eyBjb2xvcjokeWVsbG93OyB9XG5cbi8vIElNQUdFXG5cbi5hYnMtcGlje1xuXHRkaXNwbGF5OiBub25lO1xuXG5cdGltZ3tcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdHdpZHRoOjM1Ljc2Mzg4ODg4OSU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG5cblx0Ji5hYnMtcGljLS1sZWZ0e1xuXHRcdGltZ3tcblx0XHRcdGxlZnQ6IDA7XHRcblx0XHR9XG5cdH1cblxuXHQmLmFicy1waWMtLXJpZ2h0e1xuXHRcdGltZ3tcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0bGVmdDogYXV0bztcdFxuXHRcdH1cblx0fVxuXG5cdEBtZWRpYSAje21kKFwic21hbGxcIil9IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufSIsIi8qXG5UeXBvZ3JhcGhpZVxuPT09PT09PT09PT1cblxuUsOoZ2xlcyBkZSBiYXNlIHBvdXIgdG91dCBsZSBzaXRlIChoMSwgaDIsIGJsb2NrcXVvdGUsIGV0YykuXG5cbi0tPiAgICBodHRwOi8vdHlwZS1zY2FsZS5jb20vICAgIDwtLVxuXG5QcmF0aXF1ZSBwb3VyIGfDqW7DqXJlciBkZXMgcnl0aG1lcyB0eXBvZ3JhcGhpcXVlcyByYXBpZGVtZW50XG4qL1xuXG5cbmJvZHkge1xuXHRsaW5lLWhlaWdodDogMS40NTtcbn1cblxucCxcbm9sLFxuYmxvY2txdW90ZSB7XG5cdG1hcmdpbi1ib3R0b206IDEuM2VtO1xufVxuXG51bHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQge1xuXHRtYXJnaW46IDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi50eXBlLXRpdGxlLTF7XG5cdC8vIEBpbmNsdWRlIHNldC12dygnbWFyZ2luLWJvdHRvbScsIDMwcHgpO1xuXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQoZ2V0LXZ3KDQwcHgpLCBnZXQtdncoNTZweCksIDI0cHgsIDQwcHgsIDU2cHgpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnR5cGUtdGl0bGUtMntcblx0Ly8gQGluY2x1ZGUgc2V0LXZ3KCdtYXJnaW4tYm90dG9tJywgMjBweCk7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udChnZXQtdncoMzBweCksIGdldC12dyg0NXB4KSwgMjJweCwgMzBweCwgNDVweCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udHlwZS10aXRsZS0yLS1tZWRpdW17XG5cdGZvbnQtd2VpZ2h0OiAkbWVkaXVtO1xuXHRsZXR0ZXItc3BhY2luZzogMnB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udHlwZS10aXRsZS0ze1xuXHQvLyBAaW5jbHVkZSBzZXQtdncoJ21hcmdpbi1ib3R0b20nLCAyMHB4KTtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0QGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250KGdldC12dygyNXB4KSwgZ2V0LXZ3KDQwcHgpLCAxNnB4LCAyNXB4LCA0MHB4KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cblxuXG4udHlwZS1ub3JtYWx7XG5cdEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udChnZXQtdncoMjhweCksIGdldC12dyg0MnB4KSwgMThweCwgMjhweCwgNDJweCk7XG59XG5cbnNtYWxsIHtcblx0Zm9udC1zaXplOiAwLjc1ZW07XG59XG5cbnN1cCB7IFxuICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbn0iLCIkY29udGVudENvbG9yIDogIzVmNWY1ZjtcblxuLmNvbnRlbnR7XG5cblx0Y29sb3I6JGNvbnRlbnRDb2xvcjtcblx0QGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250KGdldC12dygyMHB4KSwgZ2V0LXZ3KDM0cHgpLCAxNnB4LCAyMHB4LCAzNHB4KTtcblxuXHRcblx0aDF7XG5cdFx0QGV4dGVuZCAudHlwZS10aXRsZS0xO1xuXHR9XG5cblx0aDJ7XG5cdFx0QGV4dGVuZCAudHlwZS10aXRsZS0yO1xuXHR9XG5cblx0aDN7XG5cdFx0QGV4dGVuZCAudHlwZS10aXRsZS0zO1xuXHR9XG5cblx0cHtcblx0XHRAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQoZ2V0LXZ3KDIwcHgpLCBnZXQtdncoMzRweCksIDE2cHgsIDIwcHgsIDM0cHgpO1xuXHRcdC8vIEBpbmNsdWRlIHNldC12dygnbWFyZ2luLWJvdHRvbScsIDMwcHgpO1xuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cblx0XHRzdHJvbmd7XG5cdFx0XHRmb250LXdlaWdodDo2MDA7XG5cdFx0fVxuXG5cdFx0YXtcblx0XHRcdGNvbG9yOiRibHVlLWxpZ2h0O1xuXHRcdFx0dHJhbnNpdGlvbjouMnMgY29sb3IgJG91dC1leHBvO1xuXG5cdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRjb2xvcjokeWVsbG93O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGVte1xuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdH1cblx0fVxuXG5cdHVse1xuXHRcdC8vIEBpbmNsdWRlIHNldC12dygnbWFyZ2luLWJvdHRvbScsIDUwcHgpO1xuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdFx0bGk6bm90KC5nZmllbGQpe1xuXHRcdFx0QGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250KGdldC12dygyMHB4KSwgZ2V0LXZ3KDM0cHgpLCAxNnB4LCAyMHB4LCAzNHB4KTtcblxuXHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdGNvbnRlbnQ6Jyc7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0QGluY2x1ZGUgdHJpYW5nbGUtcmlnaHQoMTVweCwgMTdweCwgJHllbGxvdyk7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdFx0XHR9XG5cblx0XHRcdGF7XG5cdFx0XHRcdGNvbG9yOiRibHVlLWxpZ2h0O1xuXHRcdFx0XHR0cmFuc2l0aW9uOi4ycyBjb2xvciAkb3V0LWV4cG87XG5cblx0XHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0XHRjb2xvcjokeWVsbG93O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmlubGluZS1saXN0e1xuXHRcdEBpbmNsdWRlIHNldC12dygnbWFyZ2luLWJvdHRvbScsIDUwcHgpO1xuXG5cdFx0YXtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRjb2xvcjogJGJsdWUtbGlnaHQ7XG5cdFx0XHRAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQoZ2V0LXZ3KDIwcHgpLCBnZXQtdncoMzRweCksIDE4cHgsIDIwcHgsIDM0cHgpO1xuXHRcdFx0dHJhbnNpdGlvbjouM3MgYWxsICRvdXQtY3ViaWM7XG5cblx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdGNvbnRlbnQ6Jyc7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRoZWlnaHQ6M3B4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiR5ZWxsb3c7XG5cdFx0XHRcdHRyYW5zZm9ybTpzY2FsZTNkKDAsIDEsIDEpO1xuXHRcdFx0XHRib3R0b206IC00cHg7XG5cdFx0XHRcdHRyYW5zaXRpb246LjNzIGFsbCAkb3V0LWN1YmljO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGJvdHRvbTowO1xuXHRcdFx0XHRsZWZ0OjA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVye1xuXHRcdFx0XHQmOmFmdGVye1xuXHRcdFx0XHRcdHRyYW5zZm9ybTpzY2FsZTNkKDEsIDEsIDEpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0aHJ7XG5cdFx0Ym9yZGVyOm5vbmU7XG5cblx0XHRAaW5jbHVkZSBzZXQtdncoJ21hcmdpbi10b3AnLCA1MHB4KTtcblx0XHRAaW5jbHVkZSBzZXQtdncoJ21hcmdpbi1ib3R0b20nLCA1MHB4KTtcblx0fVxuXG5cdGhye1xuXHRcdEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cdH1cblxuXHQuYWxpZ25sZWZ0e1xuXHRcdG1heC13aWR0aDogMzAwcHg7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0aGVpZ2h0OmF1dG87XG5cdFx0QGluY2x1ZGUgc2V0LXZ3KCdwYWRkaW5nLXJpZ2h0JywgNTBweCk7XG5cdH1cblxuXHQuYWxpZ25yaWdodHtcblx0XHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRoZWlnaHQ6YXV0bztcblx0XHRAaW5jbHVkZSBzZXQtdncoJ3BhZGRpbmctbGVmdCcsIDUwcHgpO1xuXHR9XG5cblx0LmFsaWduY2VudGVye1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46MCBhdXRvO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxuXG5cdCYuY29udGVudC0taW50cm97XG5cdFx0QGluY2x1ZGUgc2V0LXZ3KCdtYXJnaW4tYm90dG9tJywgNDBweCk7XG5cblx0XHRwe1xuXHRcdFx0QGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250KGdldC12dygyMnB4KSwgZ2V0LXZ3KDM0cHgpLCAxOHB4LCAyMnB4LCAzNHB4KTtcblx0XHR9XG5cdH1cblxuXHRAbWVkaWEgI3ttZChcImxhcmdlXCIpfXtcblx0XHQuYWxpZ25sZWZ0LCAuYWxpZ25yaWdodHtcblx0XHRcdG1heC13aWR0aDogNDU2cHg7XG5cdFx0fVxuXHR9XG5cblx0QG1lZGlhICN7bWQoXCJzbWFsbGVyXCIsIFwibWF4XCIpfSBcblx0e1xuXHRcdC5hbGlnbmxlZnQsIC5hbGlnbnJpZ2h0e1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cblx0XHR1bHtcblx0XHRcdGxpOm5vdCguZ2ZpZWxkKXtcblx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0XHRcdHRvcDogM3B4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jb250ZW50LS1wdHtcblx0cGFkZGluZy10b3A6IDcwcHg7XG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRHcmlkIHN5c3RlbSAoQm9vdHN0cmFwKVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmNvbnRhaW5lciB7XG5cdHdpZHRoOiAkY29udGFpbmVyLXdpZHRoO1xuXHRtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHR6LWluZGV4OjI7XG5cblx0cGFkZGluZy1yaWdodDogMjBweDtcblx0cGFkZGluZy1sZWZ0OiAyMHB4O1xuXG5cdC8vIC8vIE1lZGlhIHF1ZXJpZXNcblx0QG1lZGlhICN7bWQoXCJzbWFsbFwiKX0ge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuXHRcdHBhZGRpbmctbGVmdDogMTAwcHg7XG5cdH1cblxuXHQvLyBAbWVkaWEgI3ttZChcIm1lZGl1bVwiKX0ge1xuXHQvLyBcdHBhZGRpbmctcmlnaHQ6ICRncmlkLWd1dHRlci1tZWRpdW0gLyAyO1xuXHQvLyBcdHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLW1lZGl1bSAvIDI7XG5cdC8vIH1cblxuXHQmLmxhcmdlLWNvbnRhaW5lcntcblx0XHR3aWR0aDogJGNvbnRhaW5lci13aWR0aDtcblx0XHRtYXgtd2lkdGg6ICRsYXJnZS1jb250YWluZXItbWF4LXdpZHRoO1xuXHR9XG5cblx0Ji5tZWRpdW0tY29udGFpbmVye1xuXHRcdHdpZHRoOiAkY29udGFpbmVyLXdpZHRoO1xuXHRcdG1heC13aWR0aDogMTYwMHB4O1xuXHR9XG59XG5cbi5jb250YWluZXItc2xpZGVye1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiAxNjAwcHg7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cblxuXG4ucm93IHtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdG1hcmdpbi1yaWdodDogLSRncmlkLWd1dHRlci1zbWFsbGVyIC8gMjtcblx0bWFyZ2luLWxlZnQ6IC0kZ3JpZC1ndXR0ZXItc21hbGxlciAvIDI7XG5cblx0Ly8gTWVkaWEgcXVlcmllc1xuXHRAbWVkaWEgI3ttZChcInNtYWxsXCIpfSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAtJGdyaWQtZ3V0dGVyLXNtYWxsIC8gMjtcblx0XHRtYXJnaW4tbGVmdDogLSRncmlkLWd1dHRlci1zbWFsbCAvIDI7XG5cdH1cblxuXHRAbWVkaWEgI3ttZChcIm1lZGl1bVwiKX0ge1xuXHRcdG1hcmdpbi1yaWdodDogLSRncmlkLWd1dHRlci1tZWRpdW0gLyAyO1xuXHRcdG1hcmdpbi1sZWZ0OiAtJGdyaWQtZ3V0dGVyLW1lZGl1bSAvIDI7XG5cdH1cbn1cblxuXG4vLyAuY29udGFpbmVyLFxuW2NsYXNzKj1cImNvbC14cy1cIl0sXG5bY2xhc3MqPVwiY29sLXMtXCJdLFxuW2NsYXNzKj1cImNvbC1tLVwiXSxcbltjbGFzcyo9XCJjb2wtbi1cIl0sXG5bY2xhc3MqPVwiY29sLWwtXCJdLFxuW2NsYXNzKj1cImNvbC14bC1cIl0ge1xuXHRtaW4taGVpZ2h0OiAxcHg7XG5cdHBhZGRpbmctcmlnaHQ6ICRncmlkLWd1dHRlci1zbWFsbGVyIC8gMjtcblx0cGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXItc21hbGxlciAvIDI7XG5cblx0Ly8gTWVkaWEgcXVlcmllc1xuXHRAbWVkaWEgI3ttZChcInNtYWxsXCIpfSB7XG5cdFx0cGFkZGluZy1yaWdodDogJGdyaWQtZ3V0dGVyLXNtYWxsIC8gMjtcblx0XHRwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci1zbWFsbCAvIDI7XG5cdH1cblxuXHRAbWVkaWEgI3ttZChcIm1lZGl1bVwiKX0ge1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRncmlkLWd1dHRlci1tZWRpdW0gLyAyO1xuXHRcdHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLW1lZGl1bSAvIDI7XG5cdH1cbn1cblxuXG5bY2xhc3MqPVwiY29sLXhzLVwiXSxcbltjbGFzcyo9XCJjb2wtcy1cIl0sXG5bY2xhc3MqPVwiY29sLW0tXCJdLFxuW2NsYXNzKj1cImNvbC1uLVwiXSxcbltjbGFzcyo9XCJjb2wtbC1cIl0sXG5bY2xhc3MqPVwiY29sLXhsLVwiXSB7XG5cdGZsb2F0OiBsZWZ0O1xuXG5cdCYucmlnaHQge1xuXHRcdGZsb2F0OiByaWdodDtcblx0fVxufVxuXG4uY29sLXhzLTEyICB7IHdpZHRoOiAxMDAlOyAgICAgICAgIH1cbi5jb2wteHMtMTEgIHsgd2lkdGg6IDkxLjY2NjY2NjY3JTsgfVxuLmNvbC14cy0xMCAgeyB3aWR0aDogODMuMzMzMzMzMzMlOyB9XG4uY29sLXhzLTkgICB7IHdpZHRoOiA3NSU7ICAgICAgICAgIH1cbi5jb2wteHMtOCAgIHsgd2lkdGg6IDY2LjY2NjY2NjY3JTsgfVxuLmNvbC14cy03ICAgeyB3aWR0aDogNTguMzMzMzMzMzMlOyB9XG4uY29sLXhzLTYgICB7IHdpZHRoOiA1MCU7ICAgICAgICAgIH1cbi5jb2wteHMtNSAgIHsgd2lkdGg6IDQxLjY2NjY2NjY3JTsgfVxuLmNvbC14cy00ICAgeyB3aWR0aDogMzMuMzMzMzMzMzMlOyB9XG4uY29sLXhzLTMgICB7IHdpZHRoOiAyNSU7ICAgICAgICAgIH1cbi5jb2wteHMtMiAgIHsgd2lkdGg6IDE2LjY2NjY2NjY3JTsgfVxuLmNvbC14cy0xICAgeyB3aWR0aDogOC4zMzMzMzMzMyU7ICB9XG4uY29sLXhzLTAgICB7IHdpZHRoOiAwOyB9XG5cblxuQG1lZGlhICN7bWQoXCJzbWFsbGVyXCIpfSB7XG5cblx0LmNvbC1zLTEyICB7IHdpZHRoOiAxMDAlOyAgICAgICAgIH1cblx0LmNvbC1zLTExICB7IHdpZHRoOiA5MS42NjY2NjY2NyU7IH1cblx0LmNvbC1zLTEwICB7IHdpZHRoOiA4My4zMzMzMzMzMyU7IH1cblx0LmNvbC1zLTkgICB7IHdpZHRoOiA3NSU7ICAgICAgICAgIH1cblx0LmNvbC1zLTggICB7IHdpZHRoOiA2Ni42NjY2NjY2NyU7IH1cblx0LmNvbC1zLTcgICB7IHdpZHRoOiA1OC4zMzMzMzMzMyU7IH1cblx0LmNvbC1zLTYgICB7IHdpZHRoOiA1MCU7ICAgICAgICAgIH1cblx0LmNvbC1zLTUgICB7IHdpZHRoOiA0MS42NjY2NjY2NyU7IH1cblx0LmNvbC1zLTQgICB7IHdpZHRoOiAzMy4zMzMzMzMzMyU7IH1cblx0LmNvbC1zLTMgICB7IHdpZHRoOiAyNSU7ICAgICAgICAgIH1cblx0LmNvbC1zLTIgICB7IHdpZHRoOiAxNi42NjY2NjY2NyU7IH1cblx0LmNvbC1zLTEgICB7IHdpZHRoOiA4LjMzMzMzMzMzJTsgIH1cblx0LmNvbC1zLTAgICB7IHdpZHRoOiAwOyB9XG59XG5cbkBtZWRpYSAje21kKFwic21hbGxcIil9IHtcblxuXHQuY29sLW0tMTIgIHsgd2lkdGg6IDEwMCU7ICAgICAgICAgfVxuXHQuY29sLW0tMTEgIHsgd2lkdGg6IDkxLjY2NjY2NjY3JTsgfVxuXHQuY29sLW0tMTAgIHsgd2lkdGg6IDgzLjMzMzMzMzMzJTsgfVxuXHQuY29sLW0tOSAgIHsgd2lkdGg6IDc1JTsgICAgICAgICAgfVxuXHQuY29sLW0tOCAgIHsgd2lkdGg6IDY2LjY2NjY2NjY3JTsgfVxuXHQuY29sLW0tNyAgIHsgd2lkdGg6IDU4LjMzMzMzMzMzJTsgfVxuXHQuY29sLW0tNiAgIHsgd2lkdGg6IDUwJTsgICAgICAgICAgfVxuXHQuY29sLW0tNSAgIHsgd2lkdGg6IDQxLjY2NjY2NjY3JTsgfVxuXHQuY29sLW0tNCAgIHsgd2lkdGg6IDMzLjMzMzMzMzMzJTsgfVxuXHQuY29sLW0tMyAgIHsgd2lkdGg6IDI1JTsgICAgICAgICAgfVxuXHQuY29sLW0tMiAgIHsgd2lkdGg6IDE2LjY2NjY2NjY3JTsgfVxuXHQuY29sLW0tMSAgIHsgd2lkdGg6IDguMzMzMzMzMzMlOyAgfVxuXHQuY29sLW0tMCAgIHsgd2lkdGg6IDA7IH1cbn1cblxuQG1lZGlhICN7bWQoXCJtZWRpdW1cIil9IHtcblxuXHQuY29sLW4tMTIgIHsgd2lkdGg6IDEwMCU7ICAgICAgICAgfVxuXHQuY29sLW4tMTEgIHsgd2lkdGg6IDkxLjY2NjY2NjY3JTsgfVxuXHQuY29sLW4tMTAgIHsgd2lkdGg6IDgzLjMzMzMzMzMzJTsgfVxuXHQuY29sLW4tOSAgIHsgd2lkdGg6IDc1JTsgICAgICAgICAgfVxuXHQuY29sLW4tOCAgIHsgd2lkdGg6IDY2LjY2NjY2NjY3JTsgfVxuXHQuY29sLW4tNyAgIHsgd2lkdGg6IDU4LjMzMzMzMzMzJTsgfVxuXHQuY29sLW4tNiAgIHsgd2lkdGg6IDUwJTsgICAgICAgICAgfVxuXHQuY29sLW4tNSAgIHsgd2lkdGg6IDQxLjY2NjY2NjY3JTsgfVxuXHQuY29sLW4tNCAgIHsgd2lkdGg6IDMzLjMzMzMzMzMzJTsgfVxuXHQuY29sLW4tMyAgIHsgd2lkdGg6IDI1JTsgICAgICAgICAgfVxuXHQuY29sLW4tMiAgIHsgd2lkdGg6IDE2LjY2NjY2NjY3JTsgfVxuXHQuY29sLW4tMSAgIHsgd2lkdGg6IDguMzMzMzMzMzMlOyAgfVxuXHQuY29sLW4tMCAgIHsgd2lkdGg6IDA7IH1cbn1cblxuQG1lZGlhICN7bWQoXCJsYXJnZVwiKX0ge1xuXG5cdC5jb2wtbC0xMiAgeyB3aWR0aDogMTAwJTsgICAgICAgICB9XG5cdC5jb2wtbC0xMSAgeyB3aWR0aDogOTEuNjY2NjY2NjclOyB9XG5cdC5jb2wtbC0xMCAgeyB3aWR0aDogODMuMzMzMzMzMzMlOyB9XG5cdC5jb2wtbC05ICAgeyB3aWR0aDogNzUlOyAgICAgICAgICB9XG5cdC5jb2wtbC04ICAgeyB3aWR0aDogNjYuNjY2NjY2NjclOyB9XG5cdC5jb2wtbC03ICAgeyB3aWR0aDogNTguMzMzMzMzMzMlOyB9XG5cdC5jb2wtbC02ICAgeyB3aWR0aDogNTAlOyAgICAgICAgICB9XG5cdC5jb2wtbC01ICAgeyB3aWR0aDogNDEuNjY2NjY2NjclOyB9XG5cdC5jb2wtbC00ICAgeyB3aWR0aDogMzMuMzMzMzMzMzMlOyB9XG5cdC5jb2wtbC0zICAgeyB3aWR0aDogMjUlOyAgICAgICAgICB9XG5cdC5jb2wtbC0yICAgeyB3aWR0aDogMTYuNjY2NjY2NjclOyB9XG5cdC5jb2wtbC0xICAgeyB3aWR0aDogOC4zMzMzMzMzMyU7ICB9XG5cdC5jb2wtbC0wICAgeyB3aWR0aDogMDsgfVxufVxuXG5AbWVkaWEgI3ttZChcImxhcmdlclwiKX0ge1xuXG5cdC5jb2wteGwtMTIgIHsgd2lkdGg6IDEwMCU7ICAgICAgICAgfVxuXHQuY29sLXhsLTExICB7IHdpZHRoOiA5MS42NjY2NjY2NyU7IH1cblx0LmNvbC14bC0xMCAgeyB3aWR0aDogODMuMzMzMzMzMzMlOyB9XG5cdC5jb2wteGwtOSAgIHsgd2lkdGg6IDc1JTsgICAgICAgICAgfVxuXHQuY29sLXhsLTggICB7IHdpZHRoOiA2Ni42NjY2NjY2NyU7IH1cblx0LmNvbC14bC03ICAgeyB3aWR0aDogNTguMzMzMzMzMzMlOyB9XG5cdC5jb2wteGwtNiAgIHsgd2lkdGg6IDUwJTsgICAgICAgICAgfVxuXHQuY29sLXhsLTUgICB7IHdpZHRoOiA0MS42NjY2NjY2NyU7IH1cblx0LmNvbC14bC00ICAgeyB3aWR0aDogMzMuMzMzMzMzMzMlOyB9XG5cdC5jb2wteGwtMyAgIHsgd2lkdGg6IDI1JTsgICAgICAgICAgfVxuXHQuY29sLXhsLTIgICB7IHdpZHRoOiAxNi42NjY2NjY2NyU7IH1cblx0LmNvbC14bC0xICAgeyB3aWR0aDogOC4zMzMzMzMzMyU7ICB9XG5cdC5jb2wteGwtMCAgIHsgd2lkdGg6IDA7IH1cbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdEhlYWRlclxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1haW4taGVhZGVye1xuXHRwYWRkaW5nOiAzMHB4IDA7XG5cdHotaW5kZXg6NDtcblxuXHQuaGVhZGVyX19sb2dve1xuXHRcdHdpZHRoOiAyMiU7XG5cdFx0bWluLXdpZHRoOiAxODBweDtcblx0XHR6LWluZGV4OjY7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHRAbWVkaWEgI3ttZChcInNtYWxsXCIpfSB7XG5cdFx0cGFkZGluZzogNDBweCAwO1xuXHRcdC5oZWFkZXJfX2xvZ297XG5cdFx0XHR3aWR0aDogMjIlO1xuXHRcdH1cblx0fVxuXG5cdEBtZWRpYSAje21kKFwibWVkaXVtXCIpfSB7XG5cdFx0LmhlYWRlcl9fbG9nb3tcblx0XHRcdHdpZHRoOiAyNjRweDtcblx0XHRcdGhlaWdodDogNjJweDtcblx0XHRcdGksIHN2Z3tcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLm1vYmlsZS1tZW51LWNvbnRhaW5lcntcblx0ei1pbmRleDoxMDtcbn1cblxuLm1vYmlsZS1tZW51e1xuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiAzNXB4O1xuXHR3aWR0aDogNTBweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDowO1xuXHR0b3A6IDVweDtcblxuXHQubGluZXtcblx0XHRoZWlnaHQ6MnB4O1xuXHRcdGJhY2tncm91bmQ6JHllbGxvdztcblx0XHRoZWlnaHQ6IDRweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0Ym9yZGVyLXJhZGl1czoxMHB4O1xuXHRcdHRyYW5zaXRpb246LjRzIGFsbCAkb3V0LWJhY2s7XG5cblxuXHR9XG5cblx0LmxpbmUtLXRvcHtcblx0XHR0b3A6IDA7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcblx0fVxuXHQubGluZS0tbWlke1xuXHRcdHRvcDogMTRweDtcblx0fVxuXHQubGluZS0tYm90e1xuXHRcdHRvcDogMjlweDtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuXHR9XG5cblx0QG1lZGlhICN7bWQoXCJzbWFsbFwiKX0ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLm5hdi1tYWlue1xuXHR6LWluZGV4OjQ7XG5cdFxuXG5cdCYubmF2LW1haW4tLWhlYWRlcntcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6MDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDp3aGl0ZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0cGFkZGluZy10b3A6IDE1MHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdHRyYW5zZm9ybTp0cmFuc2xhdGVZKC00MHB4KTtcblx0XHR0cmFuc2l0aW9uOi4zcyBhbGwgJG91dC1jdWJpYztcblx0XHQvLyBtYXgtd2lkdGg6IDYzMHB4O1xuXG5cdFx0bGl7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA1MHB4O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG5cdFxuXG5cdGxpe1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRcdCY6Zmlyc3QtY2hpbGR7XG5cdFx0XHRtYXJnaW4tbGVmdDowO1xuXHRcdH1cblxuXHRcdGF7XG5cdFx0XHRjb2xvcjokYmx1ZTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOjIwcHg7XG5cblx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdGNvbnRlbnQ6Jyc7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRoZWlnaHQ6M3B4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiR5ZWxsb3c7XG5cdFx0XHRcdHRyYW5zZm9ybTpzY2FsZVgoMCk7XG5cdFx0XHRcdGJvdHRvbTogLTRweDtcblx0XHRcdFx0dHJhbnNpdGlvbjouM3MgYWxsICRvdXQtY3ViaWM7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5tZW51X19pdGVtLS1hY3RpdmV7XG5cdFx0XHRhOmFmdGVye1xuXHRcdFx0XHR0cmFuc2Zvcm06c2NhbGVYKDEpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAbWVkaWEgI3ttZChcInNtYWxsXCIpfSB7XG5cdFx0bGl7XG5cdFx0XHR6LWluZGV4OjI7XG5cblx0XHRcdGF7XG5cdFx0XHRcdEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udChnZXQtdncoMjBweCksIGdldC12dygyMnB4KSwgMThweCwgMjBweCwgMjJweCk7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXJ7XG5cdFx0XHRcdGE6YWZ0ZXJ7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOnNjYWxlWCgxKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYubmF2LW1haW4tLWhlYWRlcntcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdHJpZ2h0OjA7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHQvLyBsZWZ0OiBhdXRvO1xuXHRcdFx0bWFyZ2luLXRvcDogMjVweDtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdFx0dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7XG5cblxuXHRcdFx0bGl7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAyLjVyZW07XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLm5vdG91Y2h7XG5cdC5uYXYtbWFpbiBsaXtcblx0XHQmOmhvdmVye1xuXHRcdFx0YTphZnRlcntcblx0XHRcdFx0dHJhbnNmb3JtOnNjYWxlWCgxKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gTUVOVSBPUEVOIE9OIE1PQklMRVxuXG4ubWVudS1vcGVue1xuXHQubmF2LW1haW57XG5cdFx0b3BhY2l0eTogMTtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdHRyYW5zZm9ybTp0cmFuc2xhdGVZKDBweCk7XG5cdH1cblxuXHQubW9iaWxlLW1lbnV7XG5cdFx0LmxpbmUtLW1pZHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXHRcdC5saW5lLS10b3B7XG5cdFx0XHR0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVZKC01cHgpO1xuXHRcdH1cblx0XHQubGluZS0tYm90e1xuXHRcdFx0dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoNHB4KTtcblx0XHR9XG5cdH1cbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdEZvb3RlclxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLm1haW4tZm9vdGVye1xuXHRwYWRkaW5nOiA2MHB4IDA7XG5cdGJhY2tncm91bmQ6JGJsdWU7XG5cdGNvbG9yOiR3aGl0ZTtcblxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0cCwgYSwgc3Bhbntcblx0XHRjb2xvcjokd2hpdGU7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udChnZXQtdncoMThweCksIGdldC12dygyMHB4KSwgMTRweCwgMThweCwgMjBweCk7XG5cdFx0Zm9udC13ZWlnaHQ6JHJlZ3VsYXI7XG5cdH1cblxuXG5cdHAgPiBhe1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHQmOmFmdGVye1xuXHRcdFx0Y29udGVudDonJztcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0aGVpZ2h0OjNweDtcblx0XHRcdGJhY2tncm91bmQ6JHdoaXRlO1xuXHRcdFx0dHJhbnNmb3JtOnNjYWxlWCgwKTtcblx0XHRcdGJvdHRvbTogLTRweDtcblx0XHRcdHRyYW5zaXRpb246LjNzIGFsbCAkb3V0LWN1YmljO1xuXHRcdH1cblx0fVxuXG5cdC50YXJ7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblx0YTpob3Zlcntcblx0XHQmOmFmdGVye1xuXHRcdFx0dHJhbnNmb3JtOnNjYWxlWCgxKTtcdFxuXHRcdH1cblx0fVxuXG5cdEBtZWRpYSAje21kKFwic21hbGxcIil9IHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdC50YXJ7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHR9XG5cdH1cblx0XG59XG5cbi5uYXYtbWFpbi0tZm9vdGVye1xuXHRtYXJnaW4tdG9wOiA1cHg7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRsaXtcblx0XHRtYXJnaW4tbGVmdDogMS41cmVtO1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cblx0XHRhe1xuXHRcdFx0Y29sb3I6JHdoaXRlO1xuXHRcdFx0QGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250KGdldC12dygxOHB4KSwgZ2V0LXZ3KDIwcHgpLCAxNHB4LCAxOHB4LCAyMHB4KTtcblx0XHR9XG5cdH1cblxuXHRAbWVkaWEgI3ttZChcInNtYWxsXCIpfSB7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cblx0XHRsaXtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcblx0XHRcdGF7XG5cdFx0XHRcdEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udChnZXQtdncoMThweCksIGdldC12dygyMHB4KSwgMTRweCwgMThweCwgMjBweCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QG1lZGlhICN7bWQoXCJzbWFsbFwiLCBcIm1heFwiKX0ge1xuXHRcdC5tZW51e1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdGxpe1xuXHRcdFx0XHRtYXJnaW46IDAgNXB4O1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5zY3JvbGx0b3B7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHdpZHRoOiA1MXB4O1xuXHRoZWlnaHQ6IDUxcHg7XG5cdC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyNmYzc2YTkrMCxmYTY2ODgrMzAsZjk2NDc0KzQ0LGY3Njc0Nys3MyxmNTZlMjUrOTMsZjU3MTEzKzEwMCAqL1xuXHRiYWNrZ3JvdW5kOiAjZmM3NmE5OyAvKiBPbGQgYnJvd3NlcnMgKi9cblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoNDVkZWcsICNmYzc2YTkgMCUsICNmYTY2ODggMzAlLCAjZjk2NDc0IDQ0JSwgI2Y3Njc0NyA3MyUsICNmNTZlMjUgOTMlLCAjZjU3MTEzIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgI2ZjNzZhOSAwJSwjZmE2Njg4IDMwJSwjZjk2NDc0IDQ0JSwjZjc2NzQ3IDczJSwjZjU2ZTI1IDkzJSwjZjU3MTEzIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICNmYzc2YTkgMCUsI2ZhNjY4OCAzMCUsI2Y5NjQ3NCA0NCUsI2Y3Njc0NyA3MyUsI2Y1NmUyNSA5MyUsI2Y1NzExMyAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZmM3NmE5JywgZW5kQ29sb3JzdHI9JyNmNTcxMTMnLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05IGZhbGxiYWNrIG9uIGhvcml6b250YWwgZ3JhZGllbnQgKi9cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXG5cdGN1cnNvcjpwb2ludGVyO1xuXG5cdCY6YmVmb3Jle1xuXHRcdGNvbnRlbnQ6Jyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0QGluY2x1ZGUgdHJpYW5nbGUtdXAoMjBweCwgMTVweCwgI2ZmZik7XG5cdFx0bWFyZ2luOjAgYXV0bztcblx0XHRwYWRkaW5nLXRvcDogMTdweDtcblx0fVxuXG5cdCYuZml4ZWR7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHotaW5kZXg6OTk5OTtcblx0fVxuXG5cdEBtZWRpYSAje21kKFwic21hbGxcIil9IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogNzFweDtcblx0XHRoZWlnaHQ6IDcxcHg7XG5cdFx0JjpiZWZvcmV7XG5cdFx0XHRAaW5jbHVkZSB0cmlhbmdsZS11cCgyNXB4LCAyMHB4LCAjZmZmKTtcblx0XHRcdHBhZGRpbmctdG9wOiAyNXB4O1xuXHRcdH1cblx0fVxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0UGljdG9ncmFtbWVzXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vLyBTdHlsZXMgcG91ciBzcHJpdGUgUE5HXG4kc3ByaXRlLW5hbWU6IFwic3ByaXRlXCI7XG4kc3ByaXRlLXNpemU6IDUxMnB4IDUxMnB4O1xuXG4lc3ByaXRlLXBuZyB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGltZy1kaXJ9I3skc3ByaXRlLW5hbWV9LnBuZ1wiKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuXHQvLyBBbmQgZm9yIHRoZSByZXRpbmEhXG5cdEBtZWRpYSAje21kKFwicmV0aW5hXCIpfSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skaW1nLWRpcn0jeyRzcHJpdGUtbmFtZX1AMngucG5nXCIpO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogJHNwcml0ZS1zaXplO1xuXHR9XG59XG5cblxuLmljb25fc2Nyb2xsZG93bntcblx0Jixzdmd7XG5cdFx0d2lkdGg6IDlweDtcblx0XHRoZWlnaHQ6IDMxcHg7XG5cdH1cbn1cblxuXG4uaWNvbl9sb2dve1xuXHQmLCBzdmd7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Ly8gd2lkdGg6IDk1JTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdH1cbn1cblxuLmljb25fcHJpbnRlciwgLmljb25fbWFpbCwgLmljb25fcGRme1xuXHQmLCBzdmd7XG5cdFx0d2lkdGg6IDI1cHg7XG5cdFx0aGVpZ2h0OjI1cHg7XG5cdH1cblxuXHRAbWVkaWEgI3ttZChcInNtYWxsXCIpfSB7XG5cdFx0Jiwgc3Zne1xuXHRcdFx0d2lkdGg6IDM3cHg7XG5cdFx0XHRoZWlnaHQ6MzdweDtcblx0XHR9XG5cdH1cbn1cblxuLy8gLmljb25fcGxheXtcbi8vIFx0Jiwgc3Zne1xuLy8gXHRcdGRpc3BsYXk6IGJsb2NrO1xuLy8gXHRcdHdpZHRoOiAxMDBweDtcbi8vIFx0fVxuLy8gfSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0QnV0dG9uc1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmJ0bi0tcmVhZG1vcmV7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cblx0QGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250KGdldC12dygxOHB4KSwgZ2V0LXZ3KDMycHgpLCAxOHB4LCAxOHB4LCAzMnB4KTtcblxuXHQmOmFmdGVye1xuXHRcdGNvbnRlbnQ6Jyc7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGJhY2tncm91bmQ6dXJsKCN7JHN2Zy1kaXJ9YXJyb3ctcmlnaHQuc3ZnKSBuby1yZXBlYXQ7XG5cdFx0d2lkdGg6IDE1cHg7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdFx0dHJhbnNpdGlvbjouMnMgdHJhbnNmb3JtICRvdXQtY3ViaWM7XG5cdH1cblxuXHQmOmhvdmVye1xuXHRcdCY6YWZ0ZXJ7XG5cdFx0XHR0cmFuc2Zvcm06dHJhbnNsYXRlWCg1cHgpO1xuXHRcdH1cdFxuXHR9XG5cblx0LmNvbnRlbnQgJntcblx0XHRjb2xvcjokeWVsbG93O1xuXHR9XG59XG5cbi5idG4tLWFycm93LWNvbnRhaW5lcntcblx0YXtcblx0XHRAZXh0ZW5kIC5idG4tLXJlYWRtb3JlO1xuXHR9XG59XG5cbi5idG4tLWJvcmRlcntcblx0YmFja2dyb3VuZDokeWVsbG93O1xuXHRjb2xvcjokYmx1ZTtcblx0Ym9yZGVyLXJhZGl1czo0MHB4O1xuXHRkaXNwbGF5OiBibG9jaztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRwYWRkaW5nOiAxMHB4IDMwcHg7XG5cdHRyYW5zaXRpb246LjNzIGFsbCAkb3V0LWN1YmljO1xuXG5cdEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udChnZXQtdncoMTZweCksIGdldC12dygzMnB4KSwgMTRweCwgMTZweCwgMzJweCk7XG5cblx0Jjpob3Zlcntcblx0XHRiYWNrZ3JvdW5kOiRibHVlO1xuXHRcdGNvbG9yOiR3aGl0ZTtcblx0fVxuXG5cdC8vIEBtZWRpYSAje21kKFwic21hbGxcIiwgXCJtYXhcIil9IHtcblx0Ly8gXHRwYWRkaW5nOiAxNXB4IDMwcHg7XG5cdC8vIH1cbn0iLCIuYnJlYWRjcnVtYntcblx0QGluY2x1ZGUgc2V0LXZ3KCdtYXJnaW4tYm90dG9tJywgNDBweCk7XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0YXtcblx0XHRjb2xvcjokZ3JleS1saWdodDtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cblxuXHQuYnJlYWQtaXRlbXtcblx0XHRAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQoZ2V0LXZ3KDIwcHgpLCBnZXQtdncoMjRweCksIDE2cHgsIDIwcHgsIDI0cHgpO1xuXHRcdHRyYW5zaXRpb246LjNzIGFsbCAkb3V0LWN1YmljO1xuXG5cdFx0Ji5jdXJyZW50e1xuXHRcdFx0Y29sb3I6JHllbGxvdztcblx0XHR9XG5cblx0XHQmOmhvdmVye1xuXHRcdFx0Y29sb3I6JHllbGxvdztcblx0XHR9XG5cdH1cblxuXHQuc2VwYXJhdG9ye1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR3aWR0aDogMTJweDtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0bWFyZ2luOiAwIDEwcHg7XG5cdFx0dG9wOiAycHg7XG5cdH1cblxuXHQuc2VwYXJhdG9yLS15ZWxsb3d7XG5cdFx0YmFja2dyb3VuZDp1cmwoI3skc3ZnLWRpcn1hcnJvdy1yaWdodC5zdmcpIG5vLXJlcGVhdDtcblx0fVxuXG5cdC5zZXBhcmF0b3ItLWdyZXl7XG5cdFx0YmFja2dyb3VuZDp1cmwoI3skc3ZnLWRpcn1hcnJvdy1yaWdodC1ncmV5LnN2Zykgbm8tcmVwZWF0O1xuXHR9XG5cblx0LnNpbmdsZSAme1xuXHRcdHBhZGRpbmctcmlnaHQ6IDIyMHB4O1xuXHR9XG5cblx0QG1lZGlhICN7bWQoXCJzbWFsbFwiKX0ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRTbGlkZXJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5zbGlkZXJ7XG5cblx0LnRhYmxle1xuXHRcdG1heC13aWR0aDogNzAwcHg7XG5cdH1cblxuXHQuY29udGVudC0tc2xpZGUtY2FwdGlvbntcblx0XHRjb2xvcjokYmx1ZTtcblx0XHRcblxuXHRcdGJsb2NrcXVvdGV7XG5cdFx0XHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRcdH1cblx0XHRwe1xuXHRcdFx0Y29sb3I6JGJsdWU7XG5cdFx0XHRtYXgtd2lkdGg6IDQ1MHB4O1xuXHRcdH1cblx0fVxuXG5cdEBtZWRpYSAje21kKFwic21hbGxcIil9e1xuXHRcdC5jb250ZW50LS1zbGlkZS1jYXB0aW9ue1xuXHRcdFx0YmxvY2txdW90ZXtcblxuXHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRjb250ZW50OicnO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6dXJsKCN7JHN2Zy1kaXJ9cXVvdGUtdG9wLnN2Zykgbm8tcmVwZWF0O1xuXHRcdFx0XHRcdHdpZHRoOiA1MHB4O1xuXHRcdFx0XHRcdGhlaWdodDo1MHB4O1xuXHRcdFx0XHRcdG9wYWNpdHk6IC41O1xuXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdGxlZnQ6LTYwcHg7XG5cdFx0XHRcdFx0dG9wOiAtMjBweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6YWZ0ZXJ7XG5cdFx0XHRcdFx0Y29udGVudDonJztcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOnVybCgjeyRzdmctZGlyfXF1b3RlLWJvdHRvbS5zdmcpIG5vLXJlcGVhdDtcblx0XHRcdFx0XHR3aWR0aDogNTBweDtcblx0XHRcdFx0XHRoZWlnaHQ6NTBweDtcblx0XHRcdFx0XHRvcGFjaXR5OiAuNTtcblxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRyaWdodDotNjBweDtcblx0XHRcdFx0XHRib3R0b206IC0yMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5zbGlkZXItLXBhZ2V7XG5cdEBpbmNsdWRlIHNldC12dygnbWFyZ2luLWJvdHRvbScsIDEyMHB4KTtcblxuXHRAbWVkaWEgI3ttZChcInNtYWxsXCIpfXtcblxuXHRcdC5jb250ZW50LS1zbGlkZS1jYXB0aW9ue1xuXHRcdFx0YmxvY2txdW90ZSwgcHtcblx0XHRcdFx0dGV4dC1zaGFkb3c6M3B4IDNweCAxNXB4IHJnYmEoMCwgMCwgMCwgLjQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEBtZWRpYSAje21kKFwic21hbGxcIiAsIFwibWF4XCIpfXtcblxuXHRcdC5zbGlkZXtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stZG90c3tcbiAgICAgICAgXHRib3R0b206IDkwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wbGF5LWNvbnRhaW5lcntcbiAgICAgICAgXHR0b3A6IDM1JTtcbiAgICAgICAgfVxuXG5cdFx0LmNvbnRlbnQtLXNsaWRlLWNhcHRpb257XG5cdFx0XHRibG9ja3F1b3Rle1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHRwe1xuXHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0YnJ7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQudHlwZS10aXRsZS0xe1xuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdH1cblx0fVxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0Rm9ybVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuJGVycm9yX2NvbG9yOiAjZDYyZTJlO1xuXG4uZ2Zvcm1faGVhZGluZ3tcblx0bWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLmZvcm0teWVsbG93e1xuXHQuZ2lucHV0X2NvbnRhaW5lcntcblx0XHRpbnB1dDpub3QoW3R5cGU9J2ZpbGUnXSksIHRleHRhcmVhe1xuXHRcdFx0Ym9yZGVyOjJweCBzb2xpZCAkeWVsbG93O1xuXHRcdH1cblxuXHRcdGlucHV0W2FyaWEtaW52YWxpZD0ndHJ1ZSddLCB0ZXh0YXJlYVthcmlhLWludmFsaWQ9J3RydWUnXSB7XG5cdFx0ICBib3JkZXI6IDJweCBzb2xpZCAkZXJyb3JfY29sb3I7XG5cdFx0fVxuXHR9XG59XG5cbi5nZm9ybV93cmFwcGVye1xuXHRtYXJnaW46MCBhdXRvO1xuXHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xufVxuXG4uZ2Zvcm1fZmllbGRze1xuXHRtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5nZmllbGR7XG5cdGxhYmVse1xuXHRcdEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udChnZXQtdncoMjBweCksIGdldC12dygyMnB4KSwgMThweCwgMjBweCwgMjJweCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmb250LXdlaWdodDogJGJvbGQ7XG5cdH1cblxuXHRAbWVkaWEgI3ttZChcInNtYWxsZXJcIiwgXCJtYXhcIil9e1xuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdFx0bGFiZWx7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0fVxuXHR9XG59XG5cbi5ncF9yZWFkb25seV9maWVsZHtcblx0cG9pbnRlci1ldmVudHM6bm9uZTtcblx0JjpiZWZvcmV7XG5cdFx0Y29udGVudDonJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6MDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogd2hpdGU7XG5cdFx0ei1pbmRleDogMTA7XG5cdFx0b3BhY2l0eTogMFxuXHR9XG5cdGlucHV0e1xuXHRcdGJhY2tncm91bmQ6I2VlZWVlZTtcblx0XHRwb2ludGVyLWV2ZW50czpub25lO1xuXHR9XG59XG5cbi5naW5wdXRfY29udGFpbmVye1xuXHR3aWR0aDogMTAwJTtcblx0QGluY2x1ZGUgc2V0LXZ3KCdtYXJnaW4tYm90dG9tJywgNDBweCk7XG5cblx0aW5wdXQsIHRleHRhcmVhe1xuXHRcdGJvcmRlcjoycHggc29saWQgJHB1cnBsZTtcblx0XHRib3JkZXItcmFkaXVzOjEwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZzogMTBweCAyMHB4O1xuXHRcdEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udChnZXQtdncoMjBweCksIGdldC12dygzNHB4KSwgMThweCwgMjBweCwgMzRweCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0fVxuXHRpbnB1dHtcblx0XHRoZWlnaHQ6IDU0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdH1cblxuXHRpbnB1dFthcmlhLWludmFsaWQ9J3RydWUnXSwgdGV4dGFyZWFbYXJpYS1pbnZhbGlkPSd0cnVlJ10sICB7XG5cdCAgYm9yZGVyOiAycHggc29saWQgJGVycm9yX2NvbG9yO1xuXHR9XG5cblx0W3R5cGU9J2ZpbGUnXXtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdH1cbn1cblxuLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbnRhaW5lcntcblx0LnVwbG9hZC1zaG93e1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICRlcnJvcl9jb2xvcjtcblx0fVxufVxuXG4uZ2lucHV0X2NvbnRhaW5lcl9maWxldXBsb2Fke1xuXG5cdC5zY3JlZW4tcmVhZGVyLXRleHR7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5idG4tLWJvcmRlcntcblx0XHRAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQoZ2V0LXZ3KDE2cHgpLCBnZXQtdncoMzJweCksIDE4cHgsIDE2cHgsIDMycHgpO1xuXHRcdHotaW5kZXg6LTE7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdH1cblxuXHRpbnB1dFt0eXBlPVwiZmlsZVwiXXtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OjA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdHdpZHRoOiAyNTBweDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cbn1cblxuLmdmb3JtX2Zvb3Rlcntcblx0aW5wdXRbdHlwZT1cInN1Ym1pdFwiXXtcblx0XHRAZXh0ZW5kIC5idG4tLWJvcmRlcjtcblx0XHRAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQoZ2V0LXZ3KDE2cHgpLCBnZXQtdncoMzJweCksIDE4cHgsIDE2cHgsIDMycHgpO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW46MCBhdXRvO1xuXG5cdFx0Jjpob3Zlcntcblx0XHRcdGJhY2tncm91bmQ6JGJsdWU7XG5cdFx0XHRjb2xvcjokd2hpdGU7XG5cdFx0fVxuXHR9XG59XG5cbi52YWxpZGF0aW9uX2Vycm9ye1xuXHRib3JkZXI6MnB4IHNvbGlkICRlcnJvcl9jb2xvcjtcblx0cGFkZGluZzogMjBweDtcblx0Ym9yZGVyLXJhZGl1czoyMHB4O1xuXHRAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQoZ2V0LXZ3KDE4cHgpLCBnZXQtdncoMjJweCksIDE0cHgsIDE4cHgsIDIycHgpO1xuXHRtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4udmFsaWRhdGlvbl9tZXNzYWdle1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6MDtcblx0Ym90dG9tOiAtMzNweDtcblx0Zm9udC1zaXplOjE0cHg7XG5cdGNvbG9yOiAkZXJyb3JfY29sb3I7XG5cblx0Ji5pbnN0cnVjdGlvbntcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0QG1lZGlhICN7bWQoXCJzbWFsbGVyXCIsIFwibWF4XCIpfXtcblx0XHRib3R0b206IC0yOHB4O1xuXHR9XG59XG5cbi5nZmllbGRfZXJyb3I6YWZ0ZXJ7XG5cdGNvbnRlbnQ6J1gnO1xuXHRmb250LWZhbWlseTogQXJpYWw7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjb2xvcjokZXJyb3JfY29sb3I7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHR0b3A6IDQycHg7XG5cdHJpZ2h0OiAyMHB4O1xuXG5cdC51cGxvYWQtc2hvd3tcblx0XHRib3JkZXI6MnB4IHNvbGlkICRlcnJvcl9jb2xvciAhaW1wb3J0YW50O1xuXHR9XG5cblx0QG1lZGlhICN7bWQoXCJzbWFsbGVyXCIsIFwibWF4XCIpfXtcblx0XHR0b3A6IDQ1cHg7XG5cdH1cbn0iLCIuaG9tZXtcblx0QG1lZGlhICN7bWQoXCJzbWFsbFwiLCBcIm1heFwiKX17XG5cdFx0cHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHRcdGgyICsgcHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdFx0fVxuXHRcdFxuXHR9XG59XG5cblxuLnNsaWRle1xuXHRiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XG5cdGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtcbn1cblxuLmJhbm5lci1ob21le1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG5cblx0dmlkZW97XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OmF1dG87XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHRAbWVkaWEgI3ttZChcInNtYWxsXCIsIFwibWF4XCIpfXtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHR9XG59XG5cbi5zbGlkZTpob3Zlcntcblx0LnBsYXktYnV0dG9ue1xuXHRcdHRyYW5zZm9ybTpzY2FsZSguOTUsIC45NSk7XG5cdH1cbn1cblxuLnBsYXktY29udGFpbmVye1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogNTAlO1xuXHR0b3A6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcblx0ei1pbmRleDoxMDtcblx0Y29sb3I6IHdoaXRlO1xuXHRmb250LXdlaWdodDogJGJvbGQ7XG5cdGxldHRlci1zcGFjaW5nOiA1cHg7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0LnBsYXktYnV0dG9ue1xuXHRcdHdpZHRoOiA3MHB4O1xuXHRcdGhlaWdodDogNzBweDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0Ym9yZGVyOjNweCBzb2xpZCB3aGl0ZTtcblx0XHRtYXJnaW46IDAgYXV0byAyMHB4IGF1dG87XG5cdFx0dHJhbnNpdGlvbjouM3MgYWxsICRvdXQtY3ViaWM7XG5cdH1cblxuXHRpe1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAyNXB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDE5cHg7XG5cdFx0bGVmdDogMjJweDtcblxuXHRcdHN2Z3tcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDI1cHg7XG5cdFx0XHRoZWlnaHQ6MjhweDtcblx0XHR9XG5cdH1cblxuXHQucGxheS1jb250ZW50e1xuXHRcdHRleHQtc2hhZG93OiA1cHggMnB4IDVweCByZ2JhKDAsMCwwLCAuMSk7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdEBtZWRpYSAje21kKFwic21hbGxcIil9e1xuXHRcdC5wbGF5LWJ1dHRvbntcblx0XHRcdHdpZHRoOiAxNTBweDtcblx0XHRcdGhlaWdodDogMTUwcHg7XG5cdFx0XHRib3JkZXI6NnB4IHNvbGlkIHdoaXRlO1xuXHRcdH1cblxuXHRcdGl7XG5cdFx0XHR3aWR0aDogNzBweDtcblx0XHRcdHRvcDogMzBweDtcblx0XHRcdGxlZnQ6IDQwcHg7XG5cblx0XHRcdHN2Z3tcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiA3OHB4O1xuXHRcdFx0XHRoZWlnaHQ6NzlweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQucGxheS1jb250ZW50e1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG59XG5cbiIsIi5iYW5uZXItcGFnZXtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHQvLyBAaW5jbHVkZSBzZXQtdncoJ21hcmdpbi1ib3R0b20nLCA0MHB4KTtcblx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0QGluY2x1ZGUgc2V0LXZ3KCdwYWRkaW5nLXRvcCcsIDUwcHgpO1xuXHRAaW5jbHVkZSBzZXQtdncoJ3BhZGRpbmctYm90dG9tJywgNTBweCk7XG5cdFxuXHQmLmJnLWJsdWV7XG5cdFx0YmFja2dyb3VuZDokYmx1ZTtcblx0XHRjb2xvcjokd2hpdGU7XG5cdH1cblxuXHQmLmJnLXB1cnBsZXtcblx0XHRiYWNrZ3JvdW5kOiRwdXJwbGU7XG5cdFx0Y29sb3I6JHdoaXRlO1xuXHR9XG5cblx0Ji5iZy15ZWxsb3d7XG5cdFx0YmFja2dyb3VuZDokeWVsbG93O1xuXHRcdGNvbG9yOiR3aGl0ZTtcblx0fVxuXG5cdC50eXBlLXRpdGxlLTF7XG5cdFx0QGluY2x1ZGUgc2V0LXZ3KCdtYXJnaW4tYm90dG9tJywgMHB4KTtcblx0fVxufVxuXG4ucHVibGlsaXN0X19pdGVte1xuXHRkaXNwbGF5OiBibG9jaztcblx0Ym9yZGVyOjJweCBzb2xpZCAkYmx1ZTtcblx0Ym9yZGVyLXJhZGl1czoxMHB4O1xuXHRwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuXHRwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cdHBhZGRpbmctdG9wOiAyMHB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMjBweDtcblx0dHJhbnNpdGlvbjouM3MgYWxsICRvdXQtY3ViaWM7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdEBleHRlbmQgLmNmO1xuXG5cdCYucHVibGlsaXN0X19pdGVtLS1wdXJwbGV7XG5cdFx0Ym9yZGVyOjJweCBzb2xpZCAkcHVycGxlO1xuXHR9XG5cblx0Ji5wdWJsaWxpc3RfX2l0ZW0tLXllbGxvd3tcblx0XHRib3JkZXI6MnB4IHNvbGlkICR5ZWxsb3c7XG5cblx0XHQucHVibGlsaXN0X19pdGVtLW1lZGl1bS1jb250ZW50e1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHR9XG5cdH1cblxuXHQmLnB1YmxpbGlzdF9faXRlbS0tYmx1ZWxpZ2h0e1xuXHRcdGJvcmRlcjoycHggc29saWQgJGJsdWUtbGlnaHQ7XG5cdH1cblxuXHQucHVibGlsaXN0X19pdGVtLWNvbnRlbnR7XG5cdFx0Ly8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjokYmx1ZTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdGZvbnQtd2VpZ2h0OiAkbWVkaXVtO1xuXHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0bWFyZ2luLXRvcDogMTRweDtcblx0XHR0cmFuc2l0aW9uOi4zcyBhbGwgJG91dC1jdWJpYztcblx0fVxuXG5cdC5pY29uLXBkZntcblx0XHR3aWR0aDogNDJweDtcblx0XHRoZWlnaHQ6IDQycHg7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRtYXJnaW46MCBhdXRvO1xuXG5cdFx0c3Zne1xuXHRcdFx0ZmlsbDokYmx1ZTtcblx0XHR9XG5cdH1cblxuXHQucHVibGlsaXN0X19pdGVtLWJ0bntcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRcdCY6aG92ZXJ7XG5cdFx0XHRjb2xvcjokd2hpdGU7XG5cdFx0XHRiYWNrZ3JvdW5kOiRibHVlO1xuXHRcdH1cblx0fVxuXG5cdC5wdWJsaWxpc3RfX2l0ZW0tc3VydGl0bGV7XG5cdFx0QGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250KGdldC12dygxOHB4KSwgZ2V0LXZ3KDMycHgpLCAxNHB4LCAxOHB4LCAzMnB4KTtcblx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblx0fVxuXG5cdC5wdWJsaWxpc3RfX2l0ZW0tbWVkaXVtLWNvbnRlbnR7XG5cdFx0QGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250KGdldC12dygxOHB4KSwgZ2V0LXZ3KDMycHgpLCAxOHB4LCAxOHB4LCAzMnB4KTtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFxuXHRcdHB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0XHRlbSB7XG5cdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdH1cblx0XHR9XG5cblx0XHR1bHtcblx0XHRcdC8vIEBpbmNsdWRlIHNldC12dygnbWFyZ2luLWJvdHRvbScsIDUwcHgpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0XHRcdGxpOm5vdCguZ2ZpZWxkKXtcblx0XHRcdFx0QGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250KGdldC12dygyMHB4KSwgZ2V0LXZ3KDM0cHgpLCAxNnB4LCAyMHB4LCAzNHB4KTtcblxuXHRcdFx0XHQmOmJlZm9yZXtcblx0XHRcdFx0XHRjb250ZW50OicnO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRAaW5jbHVkZSB0cmlhbmdsZS1yaWdodCgxNXB4LCAxN3B4LCAkeWVsbG93KTtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMjBweDtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhe1xuXHRcdFx0XHRcdGNvbG9yOiRibHVlLWxpZ2h0O1xuXHRcdFx0XHRcdHRyYW5zaXRpb246LjJzIGNvbG9yICRvdXQtZXhwbztcblxuXHRcdFx0XHRcdCY6aG92ZXJ7XG5cdFx0XHRcdFx0XHRjb2xvcjokeWVsbG93O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5wdWJsaWxpc3RfX2l0ZW0tdGl0bGV7XG5cdFx0QGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250KGdldC12dygyMHB4KSwgZ2V0LXZ3KDMycHgpLCAxOHB4LCAyMHB4LCAzMnB4KTtcblx0XHQvLyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGZvbnQtd2VpZ2h0OiAkbWVkaXVtO1xuXHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdH1cblxuXHRAbWVkaWEgI3ttZChcInNtYWxsXCIpfSB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdC5wdWJsaWxpc3RfX2l0ZW0tY29udGVudHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDBweDtcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cblx0XHQucHVibGlsaXN0X19pdGVtLWNvbnRlbnQtLWVsbGlwc2lze1xuXHRcdFx0d2lkdGg6IDYwJTtcblx0XHRcdEBpbmNsdWRlIGVsbGlwc2lzO1xuXHRcdH1cblxuXHRcdC5pY29uLXBkZntcblx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cblx0XHQucHVibGlsaXN0X19pdGVtLWJ0bntcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHR9XG5cblx0XHQucHVibGlsaXN0X19pdGVtLWJ0bi0tYWJze1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOjA7XG5cdFx0XHRyaWdodDowO1xuXHRcdH1cblxuXHRcdC5wdWJsaWxpc3RfX2l0ZW0tYnRuLS1ibHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0fVxuXG5cdFx0Ji5wdWJsaWxpc3RfX2l0ZW0tLXllbGxvd3tcblx0XHRcdGJvcmRlcjoycHggc29saWQgJHllbGxvdztcblxuXHRcdFx0LnB1YmxpbGlzdF9faXRlbS1idG57XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0cmlnaHQ6MDtcblx0XHRcdH1cblxuXHRcdFx0LnB1YmxpbGlzdF9faXRlbS1tZWRpdW0tY29udGVudHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAbWVkaWEgI3ttZChcInNtYWxsXCIgLCBcIm1heFwiKX17XG5cdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cdH1cblxuXHRAbWVkaWEgI3ttZChcInNtYWxsZXJcIiwgXCJtYXhcIil9IFxuXHR7XG5cdFx0LnB1YmxpbGlzdF9faXRlbS1tZWRpdW0tY29udGVudHtcblx0XHRcdHVse1xuXHRcdFx0XHRsaTpub3QoLmdmaWVsZCl7XG5cdFx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHRcdFx0XHRcdHRvcDogM3B4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ucHVibGlsaXN0LS1mdXR1cmV7XG5cdC5wdWJsaWxpc3RfX2l0ZW17XG5cdFx0LnB1YmxpbGlzdF9faXRlbS1idG57XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHR9XG5cblx0XHQucHVibGlsaXN0X19pdGVtLW1lZGl1bS1jb250ZW50e1xuXHRcdFx0cHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmV4cGFuZC1jb250ZW50e1xuXHRkaXNwbGF5OiBibG9jaztcblxuXHRAbWVkaWEgI3ttZChcInNtYWxsZXJcIiwgXCJtYXhcIil9e1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHQmLmV4cGFuZGVke1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdH1cblx0fVxufVxuXG4uZXhwYW5ke1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y3Vyc29yOnBvaW50ZXI7XG5cblx0ZGl2OmZpcnN0LW9mLXR5cGV7XG5cdFx0JjpiZWZvcmV7XG5cdFx0XHRjb250ZW50OicnO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0aGVpZ2h0OjFweDtcblx0XHRcdGJhY2tncm91bmQ6JHllbGxvdztcblx0XHRcdHdpZHRoOiAzMHB4O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAxNXB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IC0xNXB4O1xuXHRcdH1cblx0XHQmOmFmdGVye1xuXHRcdFx0Y29udGVudDonJztcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHdpZHRoOjFweDtcblx0XHRcdGJhY2tncm91bmQ6JHllbGxvdztcblx0XHRcdGhlaWdodDogMzBweDtcblx0XHRcdG1hcmdpbjowIGF1dG87XG5cdFx0fVxuXHR9XG5cblx0QG1lZGlhICN7bWQoXCJzbWFsbGVyXCIpfXtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cdFxuLnNlZW1vcmV7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOi4zcyBhbGwgJG91dC1jdWJpYztcblx0QGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250KGdldC12dygxOHB4KSwgZ2V0LXZ3KDM0cHgpLCAxNHB4LCAxOHB4LCAzNHB4KTtcblxuXG5cdCY6aG92ZXJ7XG5cdFx0Y29sb3I6JGJsdWU7XG5cdFx0JjphZnRlcntcblx0XHRcdEBpbmNsdWRlIHRyaWFuZ2xlLWRvd24oMTNweCwgMTJweCwgJGJsdWUpO1xuXHRcdH1cblx0fVxuXG5cdCY6YWZ0ZXJ7XG5cdFx0Y29udGVudDonJztcblx0XHRAaW5jbHVkZSB0cmlhbmdsZS1kb3duKDEzcHgsIDEycHgsICR5ZWxsb3cpO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW4tbGVmdDogMjBweDtcblx0XHR0cmFuc2l0aW9uOi4zcyBhbGwgJG91dC1jdWJpYztcblx0fVxuXG5cdCYub3Blbntcblx0XHQmOmFmdGVye1xuXHRcdFx0QGluY2x1ZGUgdHJpYW5nbGUtdXAoMTNweCwgMTJweCwgJHllbGxvdyk7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcntcblx0XHRcdGNvbG9yOiRibHVlO1xuXHRcdFx0JjphZnRlcntcblx0XHRcdFx0QGluY2x1ZGUgdHJpYW5nbGUtdXAoMTNweCwgMTJweCwgJGJsdWUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ucHVibGlsaXN0LS1oaWRkZW57XG5cdG9wYWNpdHk6IDA7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0ZGlzcGxheTogbm9uZTtcblx0dHJhbnNpdGlvbjouM3MgYWxsICRvdXQtY3ViaWM7XG5cblx0Ji5zaG93e1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0fVxufVxuXG4uYmxvY2stZ3JleXtcblx0YmFja2dyb3VuZDojZWVlZWVlO1xuXHRAaW5jbHVkZSBzZXQtdncoJ3BhZGRpbmctdG9wJywgMTIwcHgpO1xuXHRAaW5jbHVkZSBzZXQtdncoJ3BhZGRpbmctYm90dG9tJywgMTIwcHgpO1xufVxuXG4uYWN0aW9uc3tcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0YXtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xuXG5cdFx0Jjpob3Zlcntcblx0XHRcdHN2Z3tcblx0XHRcdFx0ZmlsbDokYmx1ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAbWVkaWEgI3ttZChcInNtYWxsXCIpfSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDowO1xuXG5cdFx0YXtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxNXB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1x0XHRcdFxuXHRcdH1cblx0fVxufVxuXG4ueXQtY29udGFpbmVye1xuXHRAaW5jbHVkZSBzZXQtdncoJ21hcmdpbi1ib3R0b20nLCAxMjBweCk7XG5cblx0aWZyYW1le1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdEBpbmNsdWRlIHNldC12dygnaGVpZ2h0JywgNzAwcHgpO1xuXHR9XG59IiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8vIEBpbmNsdWRlIHNldC12dygnaGVpZ2h0JywgNzIwcHgpO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi5zbGlkZXJ7XG5cbiAgICAuc2xpZGV7XG4gICAgICAgICAuc2xpZGVfX2NhcHRpb257XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLmNvbnRhaW5lciwgLnJvdywgLmNvbC14cy0xMntcbiAgICAgICAgICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNlbGx7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNsaWRlX19jYXB0aW9uLWNvbnRlbnR7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLWZvbnQoZ2V0LXZ3KDUwcHgpLCBnZXQtdncoNjZweCksIDI0cHgsIDUwcHgsIDY2cHgpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiRibHVlO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgXG4gICAgLnNsaWNrLWRvdHN7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBsaXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIG1hcmdpbjowIDEwcHg7XG5cbiAgICAgICAgICAgIGJ1dHRvbntcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjUwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7ICAgXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgJG91dC1leHBvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCguc2xpY2stYWN0aXZlKTpob3ZlcntcbiAgICAgICAgICAgICAgICBidXR0b257XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zbGljay1hY3RpdmV7XG4gICAgICAgICAgICAgICAgYnV0dG9ue1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgQG1lZGlhICN7bWQoXCJzbWFsbFwiKX17XG4gICAgICAgIC5zbGlkZXtcbiAgICAgICAgICAgIC5zbGlkZV9fY2FwdGlvbntcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1kb3Rze1xuICAgICAgICAgICAgYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhICN7bWQoXCJzbWFsbFwiLCBcIm1heFwiKX17XG4gICAgICAgIC5zbGlkZXtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuc2xpY2stZG90c3tcbiAgICAgICAgICAgIGJvdHRvbTogNTBweDtcblxuICAgICAgICAgICAgbGl7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2xpZGV7XG4gICAgICAgICAgICAuc2xpZGVfX2NhcHRpb257XG4gICAgICAgICAgICAgICAgLnNsaWRlX19jYXB0aW9uLWNvbnRlbnR7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ICAgICAgIFxuICAgICAgICB9XG4gICAgfVxufSJdfQ== */
