/*!***************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!../styles/main.scss ***!
  \***************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ==========================================================================
   Settings
   ========================================================================== */
/*@import "../fonts/inlineFonts.scss";*/
/* Variables, Naming may vary from project to project */
/* ==========================================================================
   Fonts (see '_fonts.scss' for more information on license)
   ========================================================================== */
/* @import must be at top of file, otherwise CSS will not work */
/* @import url('//hello.myfonts.net/count/426563'); */
/* ==========================================================================
   Fallbacks sass Variablen
   ========================================================================== */
/* text */
/* dark grey */
/* dark grey */
/* background */
/* dark grey */
/* light grey */
/* yellow */
/* line-colors */
/* spacing */
/* grid */
/* form */
/* ==========================================================================
   Custom Properties
   ========================================================================== */
:root {
  /* fonts */
  --font-stack-default: "itc-avant-garde-gothic-pro", "Arial", "Helvetica", sans-serif;
  --font-weight-normal: 500;
  --font-weight-bold: 700;
  /* text  */
  --text-color: #000; /* black */
  --text-color-light: #fff;
  --text-color-link: #000;
  /* colors / background */
  --bg-content: #fff;
  --bg-dark: #000; /* black */
  --bg-light: #f9f9f9; /* light grey */
  --color-highlight: #F1B434; /* yellow */
  /* lines */
  --border-basic: #cccccc;
  --header-height: 200px;
  /* spacing */
  --spacing-l: 7.5rem;
  --spacing-m: 3.75rem;
  --spacing-s: 1.5rem;
  --spacing-xs: 0.75rem;
  --spacing-lm: 5.75em;
  /* grid */
  --grid-container: 24px;
  --grid-row: -12px;
  --grid-col: 12px;
  /* form */
  --border-form: #cccccc;
  --border-form-focus: #000;
  --form-disabled: #ccc;
  --form-error: #dd0000;
  --form-ok: #2d5922;
  --form-initial: #1D1D1B;
  --form-text-small: 0.76rem;
  --future-living-title-padding: 24px;
  --future-living-title-hover-height: 10px;
}

/* ==========================================================================
   Exeptions for different backgrounds
   ========================================================================== */
.c-text-light {
  --text-color: #fff;
  --text-color-link: #fff;
}

.c-text-light .c-btn {
  --text-color: #fff;
  --color-highlight: #fff;
}

.c-header-sticky {
  --header-height: 96px;
}

.c-teaser-icons-item h2:focus,
.c-teaser-icons-item h2:hover {
  --text-color-link: #F1B434;
}

/* ==========================================================================
   Responsive Custom Properties
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  :root {
    --grid-container: 48px;
    --grid-row: -24px;
    --grid-col: 24px;
    --future-living-title-hover-height: 20px;
  }
}
@media only screen and (min-width: 1600px) {
  :root {
    --grid-container: 56px;
    --grid-row: -38px;
    --grid-col: 38px;
    --future-living-title-padding: 1.4em 40px;
  }
}
@media only screen and (max-width: 1300px) {
  :root {
    --header-height: 160px;
  }
}
@media only screen and (max-width: 980px) {
  :root {
    --spacing-l: 4.5rem;
    --spacing-m: 2.5rem;
    --spacing-lm: 3rem;
    --header-height: 80px;
  }
  .c-header-sticky {
    --header-height: 80px;
  }
}
/*@import "common/_fonts";*/
/*! normalize.css v3.0.0 | MIT License | git.io/normalize */
/* =============================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Correct `block` display not defined in IE 8/9.
 */
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.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* =============================================================================
   Base
   ========================================================================== */
/*
 * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
 *    http://clagnut.com/blog/348/#c790
 * 2. Keeps page centred in all browsers regardless of content height
 * 3. Prevents iOS text size adjust after orientation change, without disabling user zoom
 *    www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
 * 4. Correct the line height in all browsers.
 */
html {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 4 */
  overflow-y: scroll; /* 2 */
  -webkit-text-size-adjust: 100%; /* 3 */
  -ms-text-size-adjust: 100%; /* 3 */
}

/**
 * Remove default margin.


 */
body {
  margin: 0;
  padding: 0; /* cubegrafik */
}

/* =============================================================================
/**
 * Remove the gray background color from active links in IE 10.

 */
a {
  background: transparent;
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

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

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

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

blockquote {
  margin: 1em 40px;
}

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

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

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

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

/*
 * Improves readability of pre-formatted text in all browsers
 * Contain overflow in all browsers.
 */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
  overflow: auto;
}

/**
 * Set consistent quote types.
 */
q {
  quotes: "“" "”" "‘" "’";
}

/**
 * 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 {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* =============================================================================
   Embedded content
   ========================================================================== */
/*
 * 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
 * 2. Improves image quality when scaled in IE7
 *    code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
 */
img {
  border: 0; /* 1 */
  -ms-interpolation-mode: bicubic; /* 2 */
}

/*
 * Corrects overflow displayed oddly in IE9
 */
svg:not(:root) {
  overflow: hidden;
}

/* =============================================================================
   Figures
   ========================================================================== */
/*
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* =============================================================================
   Forms
   ========================================================================== */
/*
 * Corrects margin displayed oddly in IE6/7
 */
form {
  margin: 0;
}

/*
 * Define consistent border, margin, and padding
 */
fieldset {
  border: 0; /* cubegrafik */
  margin: 0; /* cubegrafik */
  padding: 0; /* cubegrafik */
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
  border: 0;
}

/**
 * 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 5, and Chrome.

 * 4. Improves appearance and consistency in all browsers
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  margin: 0; /* 2 */
  vertical-align: baseline; /* 4 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**

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

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 * and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves usability and consistency of cursor style between image-type
 * `input` and others.
 * 4. Removes inner spacing in IE7 without affecting normal text inputs.
 * Known issue: inner spacing remains in IE6.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
  *overflow: visible; /* 4 */
}

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

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
input::-moz-focus-inner [type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

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

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**

 * 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;
}

/**

 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto; /* 1 */
  vertical-align: top; /* 2 */
}

/**
 * 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;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

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

td,
th {
  padding: 0;
}

/* ==========================================================================
   Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* ==========================================================================
   Elements cubegrafik
   ========================================================================== */
a:active {
  outline: none;
}

div, p {
  padding: 0;
  margin: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

th, td {
  vertical-align: top;
  text-align: left;
}

input,
textarea {
  /* Removed because of visibilitychange-addition to fancy-forms plugin.
   * 2015/01/22 - Florian Mäder
   * -webkit-appearance: none;*/
  -webkit-border-radius: 0;
}

html {
  -webkit-box-sizing: border-box; /* Safari 3.0 - 5.0, Chrome 1 - 9, Android 2.1 - 3.x */
  -moz-box-sizing: border-box; /* Firefox 1 - 28 */
  box-sizing: border-box; /* Safari 5.1+, Chrome 10+, Firefox 29+, Opera 7+, IE 8+, Android 4.0+, iOS any */
}

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
}

label[for] {
  cursor: pointer;
  -ms-touch-action: manipulation; /* IE 10  */
  touch-action: manipulation; /* IE 11+ */
}

/* ==========================================================================
   Form Placeholder
   ========================================================================== */
/* ==========================================================================
   Fonts smoothing
   ========================================================================== */
/* ==========================================================================
  Hiding
   ========================================================================== */
.c-hide-visually {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.c-hide-completely {
  display: none;
  visibility: hidden;
}

/* image replacement */
.c-ir {
  display: block;
  border: 0;
  text-indent: -999em;
  overflow: hidden;
  background-color: transparent;
  background-repeat: no-repeat;
  text-align: left;
  direction: ltr;
}

/* ==========================================================================
   Sticky Footer
   ========================================================================== */
html {
  display: flex;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.c-header,
.c-footer {
  flex-shrink: 0;
}

.c-content {
  flex-grow: 1;
}

/* ==========================================================================
   Components
   ========================================================================== */
/* styles for every project */
/* ==========================================================================
   Base Project
   ========================================================================== */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #fff;
  background-color: var(--bg-content);
  color: #000;
  color: var(--text-color);
  font-family: "itc-avant-garde-gothic-pro", "Arial", "Helvetica", sans-serif;
  font-family: var(--font-stack-default);
  font-weight: 500;
  font-weight: var(--font-weight-normal);
  font-style: normal;
  -webkit-tap-highlight-color: transparent;
  vertical-align: baseline;
  letter-spacing: normal;
}

/* links */
a,
a:visited,
a:focus,
a:hover {
  color: #000;
  color: var(--text-color-link);
  text-decoration: none;
}

p:empty {
  display: none;
}

/* ==========================================================================
   Forms
   ========================================================================== */
input,
select,
textarea {
  color: #000;
  color: var(--text-color);
}

textarea {
  resize: none;
}

/* ==========================================================================
   Standard img / media declaration
   ========================================================================== */
embed,
object,
video,
iframe,
img {
  width: 100%;
}

img {
  height: auto;
}

.c-img-max-width,
.c-content .c-img-max-width {
  width: auto;
  max-width: 100%;
}

img {
  vertical-align: bottom;
}

/* ==========================================================================
   Standard Main Container Declaration
   ========================================================================== */
.c-header,
.c-content,
.c-footer,
.c-container,
.c-container-medium,
.c-container-wide {
  position: relative;
  width: 100%;
  z-index: auto;
}

/* ==========================================================================
   Standard Padding between Components 
   ========================================================================== */
.c-container,
.c-container-medium,
.c-testimonial {
  padding-bottom: 6rem;
  padding-bottom: var(--spacing-l);
}

.c-main-title,
.c-showroom-text-inner,
.c-future-living {
  padding-top: 5.75em;
  padding-top: var(--spacing-lm);
}

.c-main-title-deco {
  overflow: hidden;
}

.c-showroom-text-inner {
  padding-bottom: 5.75em;
  padding-bottom: var(--spacing-lm);
}

.c-future-living-main {
  padding-bottom: 1.5rem;
  padding-bottom: var(--spacing-s);
}

.c-showroom,
.c-main-title-deco,
.c-contact,
.c-future-living {
  margin-bottom: 6rem;
  margin-bottom: var(--spacing-l);
}

.c-main-title-deco {
  padding-bottom: 1.5rem;
  padding-bottom: var(--spacing-s);
}

.c-container-no-padding {
  padding-bottom: 0;
}

.c-section-title {
  padding-bottom: 0.25em;
}

.c-text-only + .c-text-only {
  margin-top: calc(-6rem + 1.5em);
  margin-top: calc(var(--spacing-l) * -1 + 1.5em);
}

.c-services + .c-services {
  margin-top: -3rem;
  margin-top: calc(var(--spacing-l) * -1 + var(--spacing-m));
}

.c-filter {
  padding-top: 3rem;
  padding-bottom: 3rem;
  padding-top: var(--spacing-m);
  padding-bottom: calc(var(--spacing-m) - 0.75em);
}

.c-contact {
  padding-top: 3rem;
  padding-bottom: 3rem;
  padding-top: var(--spacing-m);
  padding-bottom: calc(var(--spacing-m) - 1.5em);
}

.c-team {
  padding-bottom: 3rem;
  padding-bottom: var(--spacing-m);
}

.c-teaser-cta {
  padding-top: 6rem;
  padding-top: var(--spacing-l);
}

.c-partner {
  padding-top: 3rem;
  padding-bottom: 3rem;
  padding-bottom: 1.5rem;
  padding-bottom: var(--spacing-s);
}

/* ==========================================================================
   Standard Grid Declaration
   ========================================================================== */
.c-container,
.c-container-medium {
  padding-left: 24px;
  padding-right: 24px;
  padding-left: var(--grid-container);
  padding-right: var(--grid-container);
}

.c-row,
.c-news-references .c-news-item-inner {
  margin-right: -12px;
  margin-left: -12px;
  margin-right: var(--grid-row);
  margin-left: var(--grid-row);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}

.c-row-reverse {
  flex-direction: row-reverse;
}

.c-row-justify-left {
  justify-content: flex-start;
}

.c-row-justify-center {
  justify-content: center;
}

.c-row-justify-right {
  justify-content: flex-end;
}

.c-row-justify-around {
  justify-content: space-around;
}

.c-row-justify-between {
  justify-content: space-between;
}

.c-row-align-top {
  align-items: flex-start;
}

.c-row-align-center {
  align-items: center;
}

.c-row-align-bottom {
  align-items: flex-end;
}

.c-col-1,
.c-col-2,
.c-col-3,
.c-col-4,
.c-col-5,
.c-col-6,
.c-col-7,
.c-col-8,
.c-col-9,
.c-col-10,
.c-col-11,
.c-col-12,
.c-news-item {
  position: relative;
  min-height: 1px;
  padding-right: 12px;
  padding-left: 12px;
  padding-right: var(--grid-col);
  padding-left: var(--grid-col);
}

.c-col-12 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}

.c-col-11 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 91.66667%;
  -ms-flex: 0 0 91.66667%;
  flex: 0 0 91.66667%;
  max-width: 91.66667%;
}

.c-col-10 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 83.33333%;
  -ms-flex: 0 0 83.33333%;
  flex: 0 0 83.33333%;
  max-width: 83.33333%;
}

.c-col-9 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 75%;
  -ms-flex: 0 0 75%;
  flex: 0 0 75%;
  max-width: 75%;
}

.c-col-8 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 66.66667%;
  -ms-flex: 0 0 66.66667%;
  flex: 0 0 66.66667%;
  max-width: 66.66667%;
}

.c-col-7 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 58.33333%;
  -ms-flex: 0 0 58.33333%;
  flex: 0 0 58.33333%;
  max-width: 58.33333%;
}

.c-col-6 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 50%;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
}

.c-col-5 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 41.66667%;
  -ms-flex: 0 0 41.66667%;
  flex: 0 0 41.66667%;
  max-width: 41.66667%;
}

.c-col-4 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 33.33333%;
  -ms-flex: 0 0 33.33333%;
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

.c-col-3 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 25%;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}

.c-col-2 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 16.66667%;
  -ms-flex: 0 0 16.66667%;
  flex: 0 0 16.66667%;
  max-width: 16.66667%;
}

.c-col-1 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 8.33333%;
  -ms-flex: 0 0 8.33333%;
  flex: 0 0 8.33333%;
  max-width: 8.33333%;
}

/* offset cols */
.c-col-offset-1 {
  margin-left: 8.333%;
}

.c-col-offset-2 {
  margin-left: 16.667%;
}

.c-col-offset-3 {
  margin-left: 25%;
}

.c-col-offset-4 {
  margin-left: 33.333%;
}

.c-col-offset-5 {
  margin-left: 41.667%;
}

.c-col-offset-6 {
  margin-left: 50%;
}

.c-col-offset-7 {
  margin-left: 58.333%;
}

.c-col-offset-8 {
  margin-left: 66.667%;
}

.c-col-offset-9 {
  margin-left: 75%;
}

.c-col-offset-10 {
  margin-left: 83.333%;
}

.c-col-offset-11 {
  margin-left: 91.667%;
}

/* ==========================================================================
   Grid Varianten
   ========================================================================== */
.c-asym-right-edgeless,
.c-asym-left-edgeless {
  overflow: hidden;
}

.c-asym-right-edgeless-img {
  margin-right: -24px;
  margin-right: calc(var(--grid-container) * -1);
}

.c-asym-left-edgeless-img {
  margin-left: -24px;
  margin-left: calc(var(--grid-container) * -1);
}

.c-asym-left-edgeless .c-legend {
  padding-left: 24px;
  padding-left: var--grid-container;
}

/* news */
.c-news-item,
.c-news-references .c-news-item-text {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 33.33333%;
  -ms-flex: 0 0 33.33333%;
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

.c-news-item {
  padding-bottom: 24px;
  padding-bottom: calc(var(--grid-container) + 1rem);
}

.c-news-text-img {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 50%;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
}

.c-news-references {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}

.c-news-references .c-news-item-img,
.c-news-references .c-news-item-text {
  position: relative;
  min-height: 1px;
  padding-right: 12px;
  padding-left: 12px;
  padding-right: var(--grid-col);
  padding-left: var(--grid-col);
}

.c-news-references .c-news-item-img,
.c-news-text-img-wide {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 66.66667%;
  -ms-flex: 0 0 66.66667%;
  flex: 0 0 66.66667%;
  max-width: 66.66667%;
}

/* ==========================================================================
   Base
   ========================================================================== */
html {
  font-size: 21px;
}

/* ==========================================================================
   Titles
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

h1,
.c-h1 {
  position: relative;
  padding-bottom: 0.35em;
  line-height: 1.11;
  font-size: 3.42rem; /* 72x */
  font-weight: var(--font-weight-bold);
}

.c-main-title-byline {
  display: block;
  margin-top: -0.9em;
  padding-bottom: 1.5em;
  font-size: 1rem;
  font-weight: var(--font-weight-bold);
}

h2,
.c-h2 {
  padding-bottom: 0.5em;
  line-height: 1.12;
  font-size: 2.38rem; /* 50px */
  font-weight: var(--font-weight-bold);
}

h3,
.c-h3 {
  line-height: 1.1;
  font-size: 1.42rem;
  padding-bottom: 0.5em;
  font-weight: var(--font-weight-bold);
}

h4,
.c-h4 {
  padding-bottom: 0.5em;
  line-height: 1.5;
  font-size: 1rem;
  font-weight: var(--font-weight-bold);
}

.c-footer h4,
.c-footer .c-4,
.c-logowall-text h4 {
  padding-bottom: 0;
}

.c-offcanvas-nav-list {
  font-size: 1.42rem;
}

/* ==========================================================================
   Basic Text Content
   ========================================================================== */
.c-content,
.c-footer {
  line-height: 1.5;
}

.c-text-block p {
  padding-bottom: 1.5em;
}

.c-news-item p:last-child {
  padding-bottom: 0;
}

.c-team-item p,
.c-logowall-text p {
  padding-bottom: 0.5em;
}

.c-text-block p + h2,
.c-text-block p + h3,
.c-text-block p + h4,
.c-text-block ul + h2,
.c-text-block ul + h3,
.c-text-block ul + h4,
.c-text-block ol + h2,
.c-text-block ol + h3,
.c-text-block ol + h4,
.c-text-block .c-keyfacts-list + p {
  padding-top: 1.5em;
}

.c-logowall-text p + h4 {
  padding-top: 1em;
}

.c-lead {
  position: relative;
  line-height: 1.33;
  font-size: 1.42rem;
  font-weight: var(--font-weight-bold);
}

.c-lead + .c-btn {
  margin-top: 1.5em;
}

.c-text-small,
.c-legend,
.c-text-block blockquote cite,
.c-footer-disclaimer {
  font-size: 0.76rem; /* 16px */
}

.c-legend {
  display: block;
  padding-top: 1em;
}

.c-category {
  display: block;
  padding-bottom: 1em;
}

/* ==========================================================================
   Basic Lists Content 
   ========================================================================== */
.c-text-block ul,
.c-text-block ol,
.c-link-list,
.c-jobs-list,
.c-keyfacts-list {
  margin: 0;
  padding: 0 0 1.5em 0;
  list-style: none;
}

.c-keyfacts-list,
.c-text-block .c-keyfacts-list {
  padding-bottom: 0;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
}

.c-text-block ul li,
.c-text-block ol li {
  position: relative;
  padding-left: 28px;
}

.c-text-block ol li {
  padding-left: 32px;
}

.c-text-block ul li + li,
.c-text-block ol li + li,
.c-link-list li + li {
  margin-top: 0.5em;
}

.c-link-list li.c-link-list-btn + li {
  margin-top: 1.5em;
}

.c-link-list li + li.c-link-list-btn {
  margin-top: 1.5em;
}

.c-text-block ul li::before {
  content: "";
  position: absolute;
  top: 0.48em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #F1B434;
  background-color: var(--color-highlight);
}

.c-text-block ol {
  counter-reset: custom-counter;
}

.c-text-block ol li {
  counter-increment: custom-counter;
}

.c-text-block ol li::before {
  content: counter(custom-counter) ". ";
  position: absolute;
  left: 0;
  top: 0;
  width: 26px;
  color: #F1B434;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  text-align: right;
}

.c-text-block .c-link-list li,
.c-text-block .c-keyfacts-list li {
  padding-left: 0;
}

.c-text-block .c-link-list li::before,
.c-text-block .c-jobs-list li::before,
.c-text-block .c-keyfacts-list li::before {
  background: none;
}

.c-jobs-list,
.c-keyfacts-list {
  border-top: solid 2px #cccccc;
}

.c-text-block .c-jobs-list li + li,
.c-text-block .c-keyfacts-list li + li {
  margin-top: 0;
}

.c-jobs-list li,
.c-text-block .c-jobs-list li {
  padding: 1.6em 0 1.5em 0;
  border-bottom: solid 2px #cccccc;
}

.c-keyfacts-list li,
.c-text-block .c-keyfacts-list li {
  padding: 0.6em 0 0.5em 0;
  border-bottom: solid 2px #cccccc;
}

.c-opening-hours-list {
  margin: 0;
  padding: 0 0 1.5em 0;
}

.c-opening-hours-list dt,
.c-opening-hours-list dd {
  margin: 0;
  padding: 0;
}

.c-opening-hours-list dd {
  padding-bottom: 1.5em;
}

.c-opening-hours-list dd:last-of-type {
  padding-bottom: 0;
}

/* ==========================================================================
   Quote
   ========================================================================== */
.c-text-block blockquote {
  margin: 0;
  padding: 0;
  text-align: center;
}

.c-text-block blockquote p {
  position: relative;
  padding: 52px 0 0 0;
  line-height: 1.1;
  font-size: 1.42rem;
  font-weight: var(--font-weight-bold);
}

.c-text-block blockquote p::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 31px;
  height: 28px;
  margin-left: -15px;
  background-image: url(sprite_8fbf.svg);
  background-repeat: no-repeat;
  background-position: 0 -360px;
}

.c-text-light blockquote p::before,
.c-news-item-text blockquote p::before {
  background-position: -50px -360px;
}

.c-text-block blockquote cite {
  display: block;
  padding-top: 1em;
  font-style: normal;
}

/* ==========================================================================
   Text helpers
   ========================================================================== */
.c-text-right {
  text-align: right;
}

.c-text-center {
  text-align: center;
}

.c-text-light {
  color: #fff;
  color: var(--text-color-light);
}

/* ==========================================================================
   Text sizes responsive
   ========================================================================== */
@media only screen and (max-width: 1680px) {
  .c-future-living-title,
.c-future-living-accordion-title,
.c-main-title-byline {
    font-size: 0.76rem; /* 16px */
  }
}
@media only screen and (max-width: 1400px) {
  h1, .c-h1 {
    font-size: 3rem;
  }
}
@media only screen and (max-width: 1360px) {
  html {
    font-size: 18px;
  }
  h1, .c-h1,
.c-content h2, .c-content .c-h2,
.c-content h3, .c-content .c-h3 {
    overflow-wrap: break-word;
    word-wrap: break-word;
    -ms-word-break: break-all;
    word-break: break-all;
    word-break: break-word;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
  }
}
@media only screen and (max-width: 1200px) {
  h1, .c-h1 {
    font-size: 2.8rem;
  }
  h2, .c-h2 {
    font-size: 2rem;
  }
  h3, .c-h3,
.c-lead,
.c-text-block blockquote p {
    font-size: 1.25rem;
  }
}
@media only screen and (max-width: 768px) {
  h1, .c-h1 {
    font-size: 2rem;
  }
  h2, .c-h2,
.c-offcanvas-nav-list {
    font-size: 1.5rem;
  }
  .c-lead,
h3, .c-h3,
.c-text-block blockquote p {
    font-size: 1.125rem;
  }
  .c-text-small,
.c-legend,
.c-text-block blockquote cite,
.c-footer-disclaimer,
.c-future-living-accordion-title,
.c-main-title-byline {
    font-size: 0.8rem;
  }
}
@media only screen and (max-width: 350px) {
  .c-lead {
    font-size: 1rem;
  }
}
/* ==========================================================================
   Header
   ========================================================================== */
.c-header {
  background-color: #fff;
  background-color: var(--bg-content);
  z-index: 10;
}

.c-header-inner {
  height: 200px;
  height: var(--header-height);
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
}

.c-header-logo {
  position: relative;
  width: 120px;
  height: 82px;
}

.c-header-logo svg {
  width: 100%;
  height: auto;
}

.c-header-logo a {
  display: block;
}

.c-header-lang {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.c-header-lang li {
  display: inline-block;
}

.c-header-lang li + li {
  padding-left: 1em;
}

.c-header-sticky {
  position: fixed;
}

/* ==========================================================================
   main nav / filter list
   ========================================================================== */
.c-main-nav,
.c-filter {
  font-weight: bold;
  font-weight: var(--font-weight-bold);
}

.c-main-nav-list,
.c-filter-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-main-nav-list li,
.c-filter-list li {
  display: inline-block;
}

.c-main-nav-list li + li {
  padding-left: 2em;
}

.c-filter-list li {
  padding: 0 1em 1em 1em;
}

.c-main-nav-list a,
.c-filter-list a,
.c-header-lang a {
  display: inline-block;
  position: relative;
  padding: 0.75em 0;
}

.c-main-nav-list a::before,
.c-filter-list a::before,
.c-header-lang a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 4px;
  background-color: #F1B434;
  background-color: var(--color-highlight);
  transition: all 0.2s linear;
}

.c-main-nav-list a:focus::before,
.c-main-nav-list a:hover::before,
.c-main-nav-list .current-menu-item a::before,
.c-main-nav-list .current-page-ancestor a::before,
.c-filter-list a:focus::before,
.c-filter-list a:hover::before,
.c-filter-list .c-active a::before,
.c-header-lang a:focus::before,
.c-header-lang a:hover::before,
.c-header-lang .c-active a::before {
  width: 100%;
}

/* ==========================================================================
   Footer
   ========================================================================== */
.c-footer {
  padding-top: 6rem;
  padding-top: var(--spacing-l);
  padding-bottom: 2.8em;
  background-color: #000;
  background-color: var(--bg-dark);
}

.c-footer-claim {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-end;
}

.c-footer-logo {
  width: 120px;
  margin-right: 2em;
  margin-bottom: 0.29em;
}

.c-footer-claim h2 {
  max-width: 470px;
  padding-bottom: 0;
}

.c-footer-disclaimer-list,
.c-footer-link-list,
.c-footer-social-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-footer-disclaimer-list li,
.c-footer-social-list li {
  display: inline-block;
}

.c-text-block .c-footer-disclaimer-list li {
  padding-left: 0;
}

.c-text-block .c-footer-disclaimer-list li::before {
  background: none;
}

.c-footer-disclaimer-list li + li,
.c-text-block .c-footer-disclaimer-list li + li {
  padding-left: 1.5em;
}

.c-footer-social-list li {
  padding-top: 0.5em;
  padding-right: 0.75em;
}

.c-footer-link-list {
  padding-bottom: 1.5em;
}

.c-footer-link-list li + li {
  padding-top: 0.75em;
}

/* optional styles */
/* ==========================================================================
   Offcanvas trigger
   ========================================================================== */
.c-offcanvas-trigger {
  position: absolute;
  display: block;
  top: 50%;
  right: 24px;
  right: var(--grid-container);
  width: 48px;
  height: 48px;
  margin: -24px 0 0 0;
  color: transparent;
  transform: perspective(1px) translateZ(0);
  transition: all 0.2s ease-in-out;
  overflow: hidden;
}

.c-offcanvas-trigger-open {
  display: none;
}

.c-offcanvas-trigger::before,
.c-offcanvas-trigger::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
}

.c-offcanvas-trigger-open::before,
.c-offcanvas-trigger-open::after {
  width: 34px;
  transition: width 0.2s ease-in-out;
}

.c-offcanvas-trigger-open::before {
  height: 26px;
  margin-top: -12px;
  border-top: 4px solid #F1B434;
  border-bottom: 4px solid #F1B434;
  border-color: var(--color-highlight);
}

.c-offcanvas-trigger-open::after {
  height: 4px;
  background-color: #F1B434;
  background-color: var(--color-highlight);
  margin-top: -1px;
}

.c-offcanvas-trigger-open:focus::after,
.c-offcanvas-trigger-open:hover::after {
  width: 24px;
}

.c-offcanvas-trigger-close::before,
.c-offcanvas-trigger-close::after {
  background-color: #F1B434;
  background-color: var(--color-highlight);
  margin-top: -2px;
  height: 4px;
  width: 34px;
  transition: all 0.5s;
}

.c-offcanvas-trigger-close::before {
  transform: rotate(-45deg);
}

.c-offcanvas-trigger-close::after {
  transform: rotate(45deg);
}

/* ==========================================================================
   Offcanvas nav main container
   ========================================================================== */
.c-offcanvas-nav {
  /*display: none;*/
  position: absolute;
  top: 0;
  left: 0;
  background-color: #000;
  background-color: var(--bg-dark);
  color: var(--text-color-light);
  z-index: 10;
  width: 0;
  height: 0;
  overflow-y: auto;
  transition: height 0.2s ease-out 0s;
}

#open-navigation:not(:target) .c-offcanvas-nav {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

.c-offcanvas-inner {
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow-y: auto;
}

/* ==========================================================================
   Offcanvas Content
   ========================================================================== */
.c-offcanvas-content {
  padding-top: 1.5em;
}

.c-offcanvas-nav-list,
.c-offcanvas-lang-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
}

.c-offcanvas-lang-list {
  padding-bottom: 3rem;
  padding-bottom: var(--spacing-m);
  text-transform: uppercase;
}

.c-offcanvas-nav-list li + li {
  padding-top: 0.75em;
}

.c-offcanvas-lang-list li {
  display: inline-block;
}

.c-offcanvas-lang-list li + li {
  padding-left: 1.25em;
}

.c-offcanvas-nav-list a,
.c-offcanvas-lang-list a {
  display: inline-block;
  position: relative;
  padding: 0.45em 0;
}

.c-offcanvas-lang-list a {
  padding: 0.75em 0;
}

.c-offcanvas-nav-list a::before,
.c-offcanvas-lang-list a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 4px;
  background-color: #F1B434;
  background-color: var(--color-highlight);
  transition: all 0.2s linear;
}

.c-offcanvas-nav-list a:focus::before,
.c-offcanvas-nav-list a:hover::before,
.c-offcanvas-nav-list .current-menu-item a::before,
.c-offcanvas-lang-list a:focus::before,
.c-offcanvas-lang-list a:hover::before,
.c-offcanvas-lang-list .c-active a::before {
  width: 100%;
}

/* ==========================================================================
   Offcanvas nav open
   ========================================================================== */
#open-navigation:target {
  position: relative;
  top: auto;
  height: auto;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

#open-navigation:target .c-offcanvas-nav {
  width: 100%;
  height: 100vh;
  overflow-y: auto;
}
#open-navigation:target .c-offcanvas-trigger-open {
  display: none;
}

/*@import "components/_tables";*/
/* ==========================================================================
   deko
   ========================================================================== */
.c-deco-circle-home,
.c-deco-circle-teaser {
  display: block;
  position: absolute;
  top: 50%;
  right: 50%;
  width: 150vh;
  height: 150vh;
  border-radius: 50%;
  background-color: #F1B434;
  background-color: var(--color-highlight);
  transform: translateY(-50%);
  opacity: 0.7;
}

.c-deco-circle-teaser {
  right: 30%;
  background-color: var(--bg-content);
  opacity: 0.2;
}

.c-deco-circle-title {
  display: block;
  position: absolute;
  bottom: 0;
  left: -80vw;
  width: 200vw;
  height: 200vw;
  border-radius: 50%;
  background-color: #F1B434;
  background-color: var(--color-highlight);
}

.c-deco-circle-showroom-text {
  display: none;
  position: absolute;
  top: -spacing-s;
  top: calc(var(--spacing-s) * -1);
  left: -120vw;
  width: 300vw;
  height: 200vw;
  border-radius: 50%;
  background-color: #F1B434;
  background-color: var(--color-highlight);
  opacity: 0.7;
}

/* ==========================================================================
  Showroom 
   ========================================================================== */
.c-showroom {
  overflow: hidden;
}

.c-showroom,
.c-showroom-text .c-row {
  min-height: 100vh;
  min-height: calc(100vh - var(--header-height));
}

/* min-height fix for ie11 */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-showroom-text .c-row:after {
    content: "";
    display: inline-block;
    min-height: inherit;
    font-size: 0;
  }
}
.c-showroom-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-showroom-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
  Teaser CTA
   ========================================================================== */
.c-teaser-cta {
  background-color: #F1B434;
  background-color: var(--color-highlight);
  overflow: hidden;
}

/* ==========================================================================
  Services
   ========================================================================== */
.c-services-icon {
  max-width: 120px;
  padding-bottom: 1.5em;
}

/* ==========================================================================
  filter / contact / partner
   ========================================================================== */
.c-filter {
  text-align: center;
}

.c-filter::before,
.c-contact::before,
.c-contact::after,
.c-partner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  left: var(--grid-container);
  width: calc(100% - 48px);
  width: calc(100% - var(--grid-container) * 2);
  height: 2px;
  background-color: #F1B434;
  background-color: var(--color-highlight);
}

.c-contact::after {
  top: 100%;
}

/* ==========================================================================
  team
   ========================================================================== */
.c-team-item {
  padding-bottom: 3rem;
  padding-bottom: var(--spacing-m);
}

.c-ratiobox-team {
  margin-bottom: 1.5rem;
  margin-bottom: var(--spacing-s);
}

/* ==========================================================================
  Accordion
   ========================================================================== */
.c-accordion-container {
  position: relative;
  width: 100%;
  border-top: 2px solid #F1B434;
  border-bottom: 2px solid #F1B434;
  border-color: var(--color-highlight);
}

.c-accordion-container + .c-accordion-container {
  border-top: none;
}

.c-accordion-title {
  display: block;
  position: relative;
  cursor: pointer;
  padding: 0.9em 0 0.8em 44px;
  transition: color 0.2s ease-in-out;
}

.c-accordion-title:hover {
  color: #F1B434;
  color: var(--color-highlight);
}

.c-accordion-check {
  position: absolute;
  left: -9999px;
}

.c-accordion-check:checked + label::after,
.c-accordion-check:not(:checked) + label::after,
.c-accordion-check:checked + label::before,
.c-accordion-check:not(:checked) + label::before {
  content: "";
  display: block;
  position: absolute;
  top: 1em;
  border: none;
  transform: rotate(0deg);
}

.c-accordion-check:checked + label::after,
.c-accordion-check:not(:checked) + label::after {
  left: 0;
  margin-top: 10px;
  width: 24px;
  height: 4px;
  background-color: var(--color-highlight);
}

.c-accordion-check:checked + label::before,
.c-accordion-check:not(:checked) + label::before {
  left: 10px;
  width: 4px;
  height: 24px;
  background-color: transparent;
}

.c-accordion-check:not(:checked) + label::before {
  background-color: var(--color-highlight);
}

/* Contents */
.c-accordion-content {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s cubic-bezier(0, 1, 0, 1);
}

.c-accordion-inner {
  padding: 3rem 0 1.5rem 0;
  padding: var(--spacing-m) 0 var(--spacing-s) 0;
  overflow: hidden;
}

.c-accordion-check:checked ~ .c-accordion-content {
  max-height: 9999px;
  transition: max-height 0.3s cubic-bezier(1, 0, 1, 0);
}

/* ==========================================================================
  logowall 
   ========================================================================== */
.c-logowall-list {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  margin-right: -12px;
  margin-left: -12px;
  margin-right: var(--grid-row);
  margin-left: var(--grid-row);
}

.c-logowall-list li {
  position: relative;
  padding-right: 12px;
  padding-left: 12px;
  padding-right: var(--grid-col);
  padding-left: var(--grid-col);
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.c-logowall-main-list li,
.c-logowall-specialized-list li {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 33.33333%;
  -ms-flex: 0 0 33.33333%;
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

.c-logowall-specialized-list {
  padding-bottom: calc(var(--spacing-l) - var(--spacing-s));
}

.c-logowall-specialized-list li {
  margin-top: 0;
  margin-bottom: 0;
  padding-bottom: 1.5rem;
  padding-bottom: var(--spacing-s);
}

.c-logowall-partner-list li {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 25%;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}

.c-logowall-logo {
  position: relative;
  display: flex;
  /*flex-grow: 1;*/
  flex: 1 0 auto;
  height: auto;
  text-align: center;
  align-items: center;
  justify-content: center;
}

.c-logowall-logo::before {
  content: "";
  display: block;
  padding-top: 75%;
  float: left;
}

.c-logowall-logo img {
  position: absolute;
  width: 80%;
  height: 80%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: contain;
}

/* ==========================================================================
  news
   ========================================================================== */
.c-news-item-img {
  margin-bottom: 1em;
}

.c-news-references .c-news-item-img {
  margin-bottom: 0;
}

.c-news-text-only .c-news-item-inner {
  padding: 24px;
  padding: var(--grid-container);
  border: solid 2px #F1B434;
  border-color: var(--color-highlight);
}

.c-news-testimonial .c-news-item-inner {
  background-color: #F1B434;
  background-color: var(--color-highlight);
  color: #fff;
  color: var(--text-color-light);
  text-align: center;
}

.c-news-testimonial .c-category + blockquote {
  margin-top: 1em;
}

.c-news-btn-container {
  text-align: center;
}

/* ==========================================================================
  Teaser icons
   ========================================================================== */
.c-teaser-icons-item {
  position: relative;
  text-align: center;
  transition: all 0.2s ease-out;
}

.c-teaser-icons-img {
  max-width: 220px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1em;
}

.c-teaser-icons-img svg {
  width: 100%;
}

.c-teaser-icons-item .c-icon-arrow {
  pointer-events: none;
}

.c-teaser-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ==========================================================================
  Cookie notice
   ========================================================================== */
.c-cookie-notice {
  display: none;
  position: fixed;
  right: 24px;
  right: var(--grid-container);
  bottom: 24px;
  bottom: var(--grid-container);
  width: 400px;
  padding: 1.5rem 32px;
  background-color: #000;
  background-color: var(--bg-dark);
  color: var(--text-color-light);
  line-height: 1.5;
  text-align: left;
  border: solid 4px #fff;
  border-color: var(--bg-content);
}

.c-text-block .c-cookie-notice-list {
  padding-bottom: 0;
}

.c-text-block .c-cookie-notice-list li::before {
  background: transparent;
}

.c-text-block .c-cookie-notice-list li {
  display: inline-block;
  padding: 0.5em 0.5em 0 0;
}

@media only screen and (max-width: 767px) {
  .c-cookie-notice {
    width: 100%;
    right: 0;
    bottom: 0;
    border: none;
    border-top: solid 4px #fff;
    border-color: var(--bg-content);
  }
}
/* ==========================================================================
   anchor links scroll padding-top
   ========================================================================== */
html {
  scroll-padding-top: 2rem;
  scroll-padding-top: var(--spacing-m);
}

/* ==========================================================================
   Link colors and styles
   ========================================================================== */
a[href^="tel:"] {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

.c-text-block a {
  background-image: linear-gradient(to bottom, #000 0%, #000 100%);
  background-image: linear-gradient(to bottom, var(--text-color-link) 0%, var(--text-color-link) 100%);
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-size: 2px 2px;
  transition: background 0.1s;
}

.c-text-block a:focus,
.c-text-block a:hover {
  background-size: 3px 3px;
}

.c-text-block .c-btn,
.c-text-block .c-form-standard input[type=submit],
.c-text-block .c-link-arrow,
.c-text-block .c-link-download,
.c-text-block .c-link-extern,
.c-text-block .c-link-back {
  background-image: none;
}

/* ==========================================================================
   Button 
   ========================================================================== */
.c-btn,
.c-btn-outline,
.c-form-standard input[type=submit] {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 1.2em 32px 1em 32px;
  border: none;
  background-color: transparent;
  line-height: 1;
  text-align: center;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  font-size: 1rem;
  transition: all 0.2s ease-out;
  text-decoration: none;
}

.c-btn-outline {
  padding: 0;
}

.c-btn::before,
.c-btn-outline::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: solid 4px #F1B434;
  border-color: var(--color-highlight);
  transition: all 0.2s ease-out;
}

.c-btn:focus::before,
.c-btn:hover::before,
.c-btn-outline:focus::before,
.c-btn-outline:hover::before {
  top: -4px;
  height: calc(100% + 8px);
}

.c-btn,
.c-btn:visited,
.c-form-standard input[type=submit] {
  color: #000;
  color: var(--text-color);
}

.c-btn:hover,
.c-btn:focus,
.c-form-standard input[type=submit]:hover,
.c-form-standard input[type=submit]:focus {
  color: #000;
  color: var(--text-color);
}

.c-btn-small,
.c-btn-small:visited,
.c-btn-small:hover,
.c-btn-small:focus {
  font-size: inherit;
  line-height: 1.2;
  padding: 0.85em 20px 0.75em 20px;
}

/* ==========================================================================
  links with icons
   ========================================================================== */
.c-icon {
  position: relative;
}

.c-icon::before,
.c-icon::after {
  content: "";
  position: absolute;
  background-image: url(sprite_8fbf.svg);
  background-repeat: no-repeat;
}

.c-link-icon {
  display: inline-block;
  padding-left: 28px;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  transition: all 0.2s ease-out;
}

.c-link-icon:focus,
.c-link-icon:hover {
  padding-left: 36px;
}

.c-icon-arrow {
  display: inline-block;
  width: 24px;
  height: 1rem;
}

.c-link-arrow::before,
.c-link-back::before,
.c-icon-arrow::before {
  top: 0.26em;
  left: 0;
  width: 24px;
  height: 16px;
  background-position: 0 0;
}

.c-link-arrow:hover::before,
.c-link-arrow:focus::before,
.c-teaser-icons-item:hover .c-icon-arrow::before,
.c-teaser-icons-item:focus-within .c-icon-arrow::before {
  background-position: -50px 0;
}

.c-text-light .c-link-arrow::before {
  background-position: 0 -40px;
}

.c-text-light .c-link-arrow:hover::before,
.c-text-light .c-link-arrow:focus::before {
  background-position: -50px -40px;
}

.c-link-back::before {
  background-position: 0 -160px;
}

.c-link-back:hover::before,
.c-link-back:focus::before {
  background-position: -50px -160px;
}

.c-link-download::before {
  top: 0.26em;
  left: 0;
  width: 16px;
  height: 17px;
  background-position: 0 -80px;
}

.c-link-download:hover::before,
.c-link-download:focus::before {
  background-position: -50px -80px;
}

.c-link-extern::before {
  top: 0.12em;
  left: 0;
  width: 18px;
  height: 18px;
  background-position: 0 -120px;
}

.c-link-extern:hover::before,
.c-link-extern:focus::before {
  background-position: -50px -120px;
}

.c-link-social-fb,
.c-link-social-linkedin {
  display: inline-block;
  height: 56px;
  width: 56px;
}

.c-link-social-fb::before,
.c-link-social-linkedin::before {
  top: 0;
  left: 0;
  height: 56px;
  width: 56px;
  background-position: 0 -200px;
}

.c-link-social-linkedin::before {
  background-position: 0 -280px;
}

.c-link-social-fb:focus::before,
.c-link-social-fb:hover::before {
  background-position: -80px -200px;
}

.c-link-social-linkedin:focus::before,
.c-link-social-linkedin:hover::before {
  background-position: -80px -280px;
}

/* ==========================================================================
  responsive
   ========================================================================== */
@media only screen and (max-width: 768px) {
  .c-link-arrow::before,
.c-link-back::before {
    top: 0.2em;
  }
  .c-link-download::before {
    top: 0.2em;
  }
  .c-link-extern::before {
    top: 0.06em;
  }
}
/* ==========================================================================
   Ratio Box
   ========================================================================== */
.c-ratiobox {
  position: relative;
  height: 0;
  display: block;
  overflow: hidden;
}

.c-ratiobox > img,
.c-ratiobox > iframe,
.c-ratiobox > object {
  position: absolute !important;
  top: 0;
  left: 0;
}

.c-ratiobox > img {
  width: 100%;
  height: auto;
}

.c-ratiobox > iframe,
.c-ratiobox > object {
  width: 100% !important;
  height: 100% !important;
  background-color: #000;
}

.c-ratiobox-16by9 {
  padding-bottom: 56.25%;
}

.c-ratiobox-4by3,
.c-ratiobox-team {
  padding-bottom: 75%;
}

.c-ratiobox-1by1 {
  padding-bottom: 100%;
}

.c-ratiobox-showroom {
  padding-bottom: 38.6904761905%;
}

.c-ratiobox-showroom img,
.c-ratiobox-team img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
   Form
   ========================================================================== */
/* safari form fix */
input,
input[type=text],
input[type=email],
textarea {
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  -webkit-box-shadow: none;
}

/* remove chrome autofill yellow color */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-transition-delay: 2000s;
}

.c-form-item {
  position: relative;
  width: 100%;
  padding-bottom: 1.5rem;
  padding-bottom: var(--spacing-s);
}

.c-form-text-block {
  padding-bottom: 1.5rem;
  padding-bottom: var(--spacing-s);
}

.c-form-separator {
  margin: 3rem 0;
  margin-top: calc(var(--spacing-m) - var(--spacing-s));
  margin-bottom: var(--spacing-m);
  padding: 0;
  height: 1px;
  border-top: solid 2px #F1B434;
  border-color: var(--color-highlight);
}

/* ==========================================================================
   formfields
   ========================================================================== */
.c-form-standard input[type=text],
.c-form-standard input[type=email],
.c-form-standard input[type=url],
.c-form-standard input[type=date],
.c-form-standard input[type=tel],
.c-form-standard input[type=password],
.c-form-standard textarea {
  width: 100%;
  border: solid 2px #cccccc;
  border-color: var(--border-form);
  color: #000;
  color: var(--text-color);
  padding: 0.75em 10px;
  background-color: #fff;
  background-color: var(--bg-content);
}

.c-form-standard textarea {
  min-height: 12em;
}

.c-form-standard input[type=text]:focus,
.c-form-standard input[type=email]:focus,
.c-form-standard input[type=url]:focus,
.c-form-standard input[type=date]:focus,
.c-form-standard input[type=password],
.c-form-standard textarea:focus {
  border-color: #000;
  border-color: var(--border-form-focus);
  outline: none;
}

.c-form-standard input[type=text]:disabled,
.c-form-standard input[type=email]:disabled,
.c-form-standard input[type=url]:disabled,
.c-form-standard input[type=date]:disabled,
.c-form-standard input[type=password],
.c-form-standard textarea:disabled {
  border-color: #ccc;
  color: #ccc;
  border-color: var(--form-disabled);
  color: var(--form-disabled);
}

.c-form-standard .c-form-label-text {
  display: block;
  padding-bottom: 0.35em;
}

/* ==========================================================================
   checkbox / radios
   ========================================================================== */
.c-form-standard .wpcf7-list-item {
  display: block;
  position: relative;
}

.c-form-standard .c-form-multiline .wpcf7-list-item {
  display: inline-block;
  padding-right: 1.6em;
}

.c-form-standard input[type=checkbox],
.c-form-standard input[type=radio] {
  margin: 4px 0 0;
  margin-top: 0;
  line-height: normal;
}

.c-form-standard input[type=checkbox]:checked,
.c-form-standard input[type=checkbox]:not(:checked),
.c-form-standard input[type=radio]:checked,
.c-form-standard input[type=radio]:not(:checked) {
  position: absolute;
  left: -9999px;
}

.c-form-standard input[type=checkbox] + span,
.c-form-standard input[type=radio] + span,
.c-form-standard input[type=checkbox] + span,
.c-form-standard input[type=radio] + span {
  margin-left: 0;
  font-weight: normal;
  overflow: hidden;
}

.c-form-standard input[type=checkbox]:checked + span,
.c-form-standard input[type=checkbox]:not(:checked) + span,
.c-form-standard input[type=radio]:checked + span,
.c-form-standard input[type=radio]:not(:checked) + span {
  position: relative;
  display: inline-block;
  padding-left: 50px;
  padding-top: 0.55em;
  line-height: 1.5;
  cursor: pointer;
  user-select: none;
  min-height: 44px;
}

.c-form-standard input[type=checkbox]:checked + span::before,
.c-form-standard input[type=checkbox]:not(:checked) + span::before,
.c-form-standard input[type=radio]:checked + span::before,
.c-form-standard input[type=radio]:not(:checked) + span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 38px;
  height: 38px;
  border: 2px solid #cccccc;
  border-color: var(--border-form);
  background-color: #fff;
  background-color: var(--bg-content);
  transition: all 0.2s ease-in-out;
}

.c-form-standard input[type=radio]:checked + span::before,
.c-form-standard input[type=radio]:not(:checked) + span::before {
  border-radius: 50%;
}

.c-form-standard input[type=checkbox]:focus + span::before,
.c-form-standard input[type=radio]:focus + span::before {
  border-color: #000;
  border-color: var(--border-form-focus);
  background-color: #fff;
  background-color: var(--bg-content);
}

.c-form-standard input[type=checkbox]:checked + span::before,
.c-form-standard input[type=radio]:checked + span::before {
  background-color: #fff;
  background-color: var(--bg-content);
}

.c-form-standard input[type=checkbox]:checked + span::after,
.c-form-standard input[type=checkbox]:not(:checked) + span::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(0.15em + 5px);
  left: 11px;
  transition: all 0.2s ease-in-out;
  width: 16px;
  height: 22px;
  border: solid #F1B434;
  border-color: var(--color-highlight);
  border-width: 0 4px 4px 0;
  transform: rotate(45deg);
}

.c-form-standard input[type=radio]:checked + span::after,
.c-form-standard input[type=radio]:not(:checked) + span::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(0.15em + 9px);
  left: 9px;
  transition: all 0.2s ease-in-out;
  height: 20px;
  width: 20px;
  border-radius: 50%;
  background-color: #F1B434;
  background-color: var(--color-highlight);
}

.c-form-standard input[type=checkbox]:not(:checked) + span::after {
  opacity: 0;
}

.c-form-standard input[type=radio]:not(:checked) + span::after {
  opacity: 0;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
}

.gform_fields input[type=checkbox]:checked + span::after,
.c-form-standard input[type=checkbox]:checked + span::after {
  opacity: 1;
}

.c-form-standard input[type=radio]:checked + span::after {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

.c-form-standard input[type=checkbox]:disabled + span::before,
.c-form-standard input[type=checkbox]:disabled + span::after,
.c-form-standard input[type=radio]:disabled + span::before,
.c-form-standard input[type=radio]:disabled + span::after {
  color: #ccc;
  color: var(--form-disabled);
  border-color: #ccc;
  border-color: var(--form-disabled);
}

/* ==========================================================================
   dropdown
   ========================================================================== */
.c-form-standard select {
  display: block;
  padding: 0.75em 30px 0.75em 10px !important;
  width: 100%;
  height: auto !important;
  border: 2px solid #cccccc;
  border-color: var(--border-form);
  border-radius: 0;
  background: url(icon-form-arrow_1d7b.svg) right center no-repeat;
  background-color: #fff;
  background-color: var(--bg-content);
  color: #000;
  color: var(--text-color);
  font-size: 100%;
  line-height: 1.18rem !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.c-form-standard select:focus {
  border-color: #000;
  border-color: var(--border-form-focus);
  outline: none;
}

.c-form-standard select option {
  padding: 0;
  outline: none;
}

.c-form-standard select::-ms-expand {
  display: none;
}

.c-form-standard select:disabled::-ms-expand {
  color: #ccc;
  color: var(--form-disabled);
}

.c-form-standard select:disabled,
.c-form-standard select[disabled] {
  color: #ccc;
  color: var(--form-disabled);
  border-color: #ccc;
  border-color: var(--form-disabled);
}

/* ==========================================================================
   file button
   ========================================================================== */
.c-form-standard input[type=file] {
  width: 100%;
  padding: 0;
  font-size: 0.76rem;
  font-size: var(--form-text-small);
}

.c-form-standard input[type=file]::file-selector-button {
  display: inline-block;
  font-family: "itc-avant-garde-gothic-pro", "Arial", "Helvetica", sans-serif;
  font-family: var(--font-stack-default);
  font-size: 1rem;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  margin-right: 0.75em;
  padding: 1.2em 32px 1em 32px;
  border: 4px solid #000;
  border-color: var(--text-color);
  color: #000;
  color: var(--text-color);
  background-color: #fff;
  background-color: var(--bg-content);
  line-height: 1;
  text-align: center;
  transition: all 0.2s ease-out;
  cursor: pointer;
}

.c-form-standard input[type=file]::file-selector-button:hover {
  color: #000;
  color: var(--text-color);
  border-color: #F1B434;
  border-color: var(--color-highlight);
}

/* ==========================================================================
   wp7 error / ok message
   ========================================================================== */
.c-form-standard .wpcf7-response-output,
.c-form-standard .wpcf7 form .wpcf7-response-output {
  background-color: #000;
  background-color: var(--bg-dark);
  padding: 1.5em 24px;
  padding: 1.5em var(--grid-container);
  color: #fff;
  color: var(--text-color-light);
  margin: 0 0 3rem 0;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  border: none;
}

.c-form-standard .wpcf7-not-valid-tip,
.c-form-standard .screen-reader-response,
.c-form-standard .wpcf7-response-output {
  font-size: 0.76rem;
  font-size: var(--form-text-small);
}

/* error */
.c-form-standard .wpcf7-not-valid-tip,
.c-form-standard .screen-reader-response {
  color: #dd0000;
  color: var(--form-error);
}

.c-form-standard .wpcf7-not-valid-tip {
  display: block;
  padding-top: 0.35em;
}

.c-form-standard input.wpcf7-not-valid {
  border-color: #dd0000;
  border-color: var(--form-error);
}

.c-form-standard form.invalid .wpcf7-response-output {
  background-color: #dd0000;
  background-color: var(--form-error);
}

/* ok */
.c-form-standard form.sent .wpcf7-response-output {
  background-color: #2d5922;
  background-color: var(--form-ok);
}

.wpcf7-form.init .wpcf7-response-output {
  display: none;
}

.wpcf7 .screen-reader-response {
  display: none;
}

.wpcf7-form.sent .c-form-standard {
  display: none;
}

/* ==========================================================================
   wp7 spinner
   ========================================================================== */
form.submitting .wpcf7-spinner {
  visibility: visible;
}

.c-form-standard .wpcf7-spinner {
  position: relative;
  visibility: hidden;
  display: inline-block;
  margin: -4px 24px;
  background: none;
  width: 24px;
  height: 24px;
  border: 2px solid rgba(0, 0, 0, 0.2);
  border-radius: 50%;
  border-top-color: #F1B434;
  border-top-color: var(--color-highlight);
  animation: spin 1s linear infinite;
  -webkit-animation: spin 1s linear infinite;
  opacity: 1;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* ==========================================================================
   Slider Testimonial
   ========================================================================== */
.c-testimonial {
  overflow: hidden;
}

.c-testimonial-item {
  position: relative;
  padding: 3rem 0;
  padding: var(--spacing-m) 0;
  width: 630px;
}

@media only screen and (max-width: 1500px) {
  .c-testimonial-item {
    width: 540px;
  }
}
@media only screen and (max-width: 1200px) {
  .c-testimonial-item {
    width: 400px;
  }
}
@media only screen and (max-width: 768px) {
  .c-testimonial-item {
    width: 300px;
  }
}
@media only screen and (max-width: 350px) {
  .c-testimonial-item {
    width: 250px;
  }
}
/* ==========================================================================
   Mediaslider / Slider
   ========================================================================== */
.c-mediaslider .c-slider {
  overflow: visible;
}

.c-slider {
  overflow: hidden;
  /*overflow-x: scroll;*/
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.c-slider::-webkit-scrollbar {
  display: none;
}

.c-slider-list {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  transition: transform 0.3s ease-in-out;
}

.c-slider-list li {
  border-top: solid 2px #F1B434;
  border-bottom: solid 2px #F1B434;
  border-color: var(--color-highlight);
  padding-bottom: 3rem;
  padding-bottom: var(--spacing-m);
}

.c-slider-list li + li {
  padding-left: 24px;
  padding-left: var(--grid-container);
}

/* ==========================================================================
   slider control
   ========================================================================== */
.c-slider-control {
  position: relative;
  margin-top: -3rem;
  margin-top: calc(var(--spacing-m) * -1);
  text-align: center;
}
.c-slider-control.mobile {
  display: none;
}

.c-slider-control-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-flow: row;
  justify-content: center;
}

.c-slider-control-link {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: solid 4px #F1B434;
  border-color: var(--color-highlight);
  transition: all 0.2s ease-out;
}

.c-slider-control-link:focus,
.c-slider-control-link:hover {
  transform: scale(1.3);
  border-width: 3px;
}

.c-active .c-slider-control-link {
  background-color: #F1B434;
  background-color: var(--color-highlight);
}

.c-slider-control-list li + li {
  padding-left: 0.75em;
}

/* ==========================================================================
   slider references
   ========================================================================== */
.c-slider-references {
  position: relative;
  overflow: hidden;
  background-color: #f9f9f9;
  background-color: var(--bg-light);
}

.c-references-item {
  position: relative;
}

.c-references-item-img {
  position: relative;
  height: 0;
  display: block;
  padding-bottom: 66.66666667%;
  overflow: hidden;
}

.c-references-item-img > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-slider-references .c-slider-control-list li {
  position: relative;
  margin-top: -40px;
}

/* ==========================================================================
  Future living
   ========================================================================== */
.c-future-living {
  overflow: hidden;
}

.c-future-living-check {
  position: absolute;
  left: -9999px;
}

/* ==========================================================================
  Future living Nav
   ========================================================================== */
.c-future-living-nav {
  display: flex;
  align-content: flex-end;
  flex-flow: row;
  border-left: solid 2px #fff;
  border-right: solid 2px #fff;
  border-color: var(--bg-content);
}

.c-future-living-title,
.c-future-living-accordion-title {
  position: relative;
  display: block;
  padding: 24px;
  padding: var(--future-living-title-padding);
  background-color: #F1B434;
  line-height: 1.1;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  cursor: pointer;
}

.c-future-living-title {
  border-left: solid 2px #fff;
  border-right: solid 2px #fff;
  border-color: var(--bg-content);
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.c-future-living-title .c-h3,
.c-future-living-accordion-title .c-h3 {
  color: var(--text-color-light);
}

.c-future-living-title::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
  height: 0;
  background-color: var(--color-highlight);
  transition: all 0.2s linear;
}

.c-future-living-title:hover::before {
  height: 20px;
  height: var(--future-living-title-hover-height);
}

.c-future-living-title span,
.c-future-living-accordion-title span {
  display: block;
}

/* ==========================================================================
  Content
   ========================================================================== */
.c-future-living-desc {
  padding-top: 3rem;
  padding-top: var(--spacing-m);
}

.c-future-living-desc h2,
.c-future-living-mobile h2 {
  color: var(--color-highlight);
}

.c-future-living-desc-content {
  min-height: 13em;
}

.c-future-living-desc-content,
.c-future-living-img {
  display: none;
}

/* ==========================================================================
  Future living States Desktop
   ========================================================================== */
#futureliving-0[type=radio]:checked ~ .c-future-living-main .c-future-living-desc-content-0, #futureliving-0[type=radio]:checked ~ .c-future-living-main .c-future-living-img-0 {
  display: block;
}
#futureliving-0[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-0, #futureliving-0[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-0::before {
  background-color: var(--bg-dark);
  color: var(--text-color-light);
}
#futureliving-0[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-0::before {
  height: var(--future-living-title-hover-height);
}

#futureliving-1[type=radio]:checked ~ .c-future-living-main .c-future-living-desc-content-1, #futureliving-1[type=radio]:checked ~ .c-future-living-main .c-future-living-img-1 {
  display: block;
}
#futureliving-1[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-1, #futureliving-1[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-1::before {
  background-color: var(--bg-dark);
  color: var(--text-color-light);
}
#futureliving-1[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-1::before {
  height: var(--future-living-title-hover-height);
}

#futureliving-2[type=radio]:checked ~ .c-future-living-main .c-future-living-desc-content-2, #futureliving-2[type=radio]:checked ~ .c-future-living-main .c-future-living-img-2 {
  display: block;
}
#futureliving-2[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-2, #futureliving-2[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-2::before {
  background-color: var(--bg-dark);
  color: var(--text-color-light);
}
#futureliving-2[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-2::before {
  height: var(--future-living-title-hover-height);
}

#futureliving-3[type=radio]:checked ~ .c-future-living-main .c-future-living-desc-content-3, #futureliving-3[type=radio]:checked ~ .c-future-living-main .c-future-living-img-3 {
  display: block;
}
#futureliving-3[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-3, #futureliving-3[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-3::before {
  background-color: var(--bg-dark);
  color: var(--text-color-light);
}
#futureliving-3[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-3::before {
  height: var(--future-living-title-hover-height);
}

#futureliving-4[type=radio]:checked ~ .c-future-living-main .c-future-living-desc-content-4, #futureliving-4[type=radio]:checked ~ .c-future-living-main .c-future-living-img-4 {
  display: block;
}
#futureliving-4[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-4, #futureliving-4[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-4::before {
  background-color: var(--bg-dark);
  color: var(--text-color-light);
}
#futureliving-4[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-4::before {
  height: var(--future-living-title-hover-height);
}

#futureliving-5[type=radio]:checked ~ .c-future-living-main .c-future-living-desc-content-5, #futureliving-5[type=radio]:checked ~ .c-future-living-main .c-future-living-img-5 {
  display: block;
}
#futureliving-5[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-5, #futureliving-5[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-5::before {
  background-color: var(--bg-dark);
  color: var(--text-color-light);
}
#futureliving-5[type=radio]:checked ~ .c-future-living-nav .c-future-living-title-5::before {
  height: var(--future-living-title-hover-height);
}

/* ==========================================================================
  Mobile Layout
   ========================================================================== */
.c-future-living-mobile {
  display: none;
}

.c-future-living-mobile .c-accordion-container {
  position: relative;
  width: 100%;
  border-width: 4px;
  border-color: var(--bg-content);
}

.c-future-living-accordion-title {
  padding-right: 56px;
}

.c-future-living-accordion-title:hover,
.c-future-living-mobile .c-accordion-check:checked + label {
  color: #fff;
  color: var(--text-color-light);
  background-color: #000;
  background-color: var(--bg-dark);
}

.c-future-living-mobile .c-accordion-check:checked + label::after,
.c-future-living-mobile .c-accordion-check:not(:checked) + label::after,
.c-future-living-mobile .c-accordion-check:checked + label::before,
.c-future-living-mobile .c-accordion-check:not(:checked) + label::before {
  top: calc(50% - 12px);
  left: auto;
}

.c-future-living-mobile .c-accordion-check:checked + label::after,
.c-future-living-mobile .c-accordion-check:not(:checked) + label::after {
  right: 24px;
  background-color: var(--text-color-light);
}

.c-future-living-mobile .c-accordion-check:checked + label::before,
.c-future-living-mobile .c-accordion-check:not(:checked) + label::before {
  right: 34px;
  background-color: transparent;
}

.c-future-living-mobile .c-accordion-check:not(:checked) + label::before {
  background-color: var(--text-color-light);
}

.c-future-living-mobile .c-accordion-inner {
  padding: var(--spacing-m) 0 var(--spacing-m) 0;
}

/* ==========================================================================
  Responsive
   ========================================================================== */
@media only screen and (max-width: 1199px) {
  .c-future-living-main .c-col-7,
.c-future-living-desc,
.c-future-living-nav {
    display: none;
  }
  .c-future-living-main .c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
    -ms-flex: 0 0 66.66667%;
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
  }
  .c-future-living-mobile {
    display: block;
  }
}
@media only screen and (max-width: 700px) {
  .c-future-living-mobile .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-future-living-mobile .c-col-6 + .c-col-6 {
    padding-top: 1.5rem;
    padding-top: var(--spacing-s);
  }
}
/* styles for every project */
/* ==========================================================================
   Viewport
   ========================================================================== */
@-ms-viewport {
  width: device-width;
}
/* ==========================================================================
   Mediaqueries
   ========================================================================== */
@media only screen and (min-width: 1921px) {
  .c-container-medium {
    max-width: 1800px;
    max-width: calc(1800px + var(--grid-container) * 2); /* max breite plus padding * 2 56px*/
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (min-width: 1740px) {
  /* container max width */
  .c-container {
    max-width: 1600px;
    max-width: calc(1600px + var(--grid-container) * 2); /* max breite plus padding * 2 56px*/
    margin-left: auto;
    margin-right: auto;
  }
  .c-asym-right-edgeless,
.c-asym-left-edgeless {
    max-width: none;
    width: calc(800px + 50%);
    width: calc(800px + var(--grid-container) + 50%); /* 1/2 width + 1 * padding 56 px*/
  }
  .c-asym-right-edgeless {
    margin-right: 0;
  }
  .c-asym-left-edgeless {
    margin-left: 0;
  }
  .c-text-img .c-asym-col-grid {
    flex: 0 0 calc(800px + var(--grid-col)); /* 1/2 width + 1/2 padding (38px) */
    max-width: calc(800px + var(--grid-col)); /* 1/2 width + 1/2 padding (38px) */
  }
  .c-text-img .c-asym-col-edgeless {
    flex: 0 0 calc(100% - (800px + var(--grid-col))); /* 1/2 width + 1/2 padding (38px) */
    max-width: calc(100% - (800px + var(--grid-col))); /* 1/2 width + 1/2 padding (38px) */
  }
  .c-teaser-references .c-asym-col-grid {
    flex: 0 0 calc(520px + var(--grid-col)); /* 1/2 width + 1/2 padding (38px) */
    max-width: calc(520px + var(--grid-col)); /* 1/2 width + 1/2 padding (38px) */
  }
  .c-teaser-references .c-asym-col-edgeless {
    flex: 0 0 calc(100% - (520px + var(--grid-col))); /* 1/2 width + 1/2 padding (38px) */
    max-width: calc(100% - (520px + var(--grid-col))); /* 1/2 width + 1/2 padding (38px) */
  }
}
@media only screen and (max-width: 1100px) {
  .c-showroom-text .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
    -ms-flex: 0 0 58.33333%;
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .c-deco-circle-home {
    right: 42%;
  }
}
@media only screen and (max-width: 1024px) {
  .c-text-only .c-col-8,
.c-main-title .c-col-8,
.c-section-title .c-col-8,
.c-services .c-col-8,
.c-form .c-col-8,
.c-teaser-cta .c-col-8,
.c-partner .c-col-8,
.c-future-living-main .c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
    -ms-flex: 0 0 83.33333%;
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .c-main-title-deco .c-lead {
    padding-right: 20%;
  }
  .c-footer-main .c-col-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-footer-main .c-col-3:nth-child(1),
.c-footer-main .c-col-3:nth-child(2) {
    padding-bottom: 1.5em;
    padding-bottom: var(--spacing-s);
  }
  .c-team .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-deco-circle-teaser {
    right: 16%;
  }
  .c-accordion-title {
    padding-left: 32px;
  }
  .c-accordion-check:checked + label::after,
.c-accordion-check:not(:checked) + label::after {
    margin-top: 8px;
    width: 20px;
  }
  .c-accordion-check:checked + label::before,
.c-accordion-check:not(:checked) + label::before {
    left: 8px;
    height: 20px;
  }
  .c-future-living-accordion-title {
    padding-left: 24px;
    padding-right: 48px;
  }
  .c-future-living-mobile .c-accordion-check:checked + label::after,
.c-future-living-mobile .c-accordion-check:not(:checked) + label::after,
.c-future-living-mobile .c-accordion-check:checked + label::before,
.c-future-living-mobile .c-accordion-check:not(:checked) + label::before {
    top: calc(50% - 10px);
    left: auto;
  }
  .c-future-living-mobile .c-accordion-check:checked + label::after,
.c-future-living-mobile .c-accordion-check:not(:checked) + label::after {
    right: 20px;
  }
  .c-future-living-mobile .c-accordion-check:checked + label::before,
.c-future-living-mobile .c-accordion-check:not(:checked) + label::before {
    right: 28px;
  }
}
/* header show offcanvas */
@media only screen and (max-width: 980px) {
  .c-offcanvas-trigger-open {
    display: block;
  }
  .c-main-nav,
.c-header-lang {
    display: none;
  }
  .c-header-logo {
    width: 80px;
    height: 55px;
  }
  .c-showroom-text .c-row {
    align-items: flex-end;
  }
  .c-showroom-text .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
    -ms-flex: 0 0 83.33333%;
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
  }
  .c-deco-circle-home {
    display: none;
  }
  .c-deco-circle-showroom-text {
    display: block;
  }
  .c-logowall-specialized-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-news-text-img-wide,
.c-news-text-only {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-news-references .c-news-item-img,
.c-news-references .c-news-item-text,
.c-teaser-references .c-col-4,
.c-teaser-references .c-col-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-news-references .c-news-item-img,
.c-teaser-references .c-col-8 {
    margin-bottom: 1em;
  }
}
@media only screen and (max-width: 900px) {
  .c-teaser-icons .c-col-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-teaser-icons .c-col-3 + .c-col-3 {
    padding-top: 3rem;
    padding-top: var(--spacing-m);
  }
  .c-teaser-icons-img {
    max-width: 160px;
  }
  .c-slider-control {
    display: none;
  }
  .c-slider-control.mobile {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  .c-text-only .c-col-8,
.c-main-title .c-col-8,
.c-section-title .c-col-8,
.c-showroom-text .c-col-6,
.c-services .c-col-8,
.c-form .c-col-8,
.c-partner .c-col-8,
.c-future-living-main .c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-footer-disclaimer .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    text-align: left;
  }
  .c-footer-claim {
    display: block;
  }
  .c-footer-logo {
    width: 90px;
    margin-right: 0;
    margin-bottom: 1.1em;
  }
  .c-footer-claim h2 {
    max-width: none;
  }
}
@media only screen and (max-width: 700px) {
  .c-img-2col .c-col-6,
.c-text-img .c-col-6,
.c-team .c-col-4,
.c-contact .c-col-6,
.c-form .c-col-6,
.c-news-item {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-img-2col .c-col-6:first-child {
    padding-bottom: 6rem;
    padding-bottom: var(--spacing-l);
  }
  .c-text-img .c-col-6 + .c-col-6,
.c-contact .c-col-6 + .c-col-6 {
    padding-top: 1.5rem;
    padding-top: var(--spacing-s);
  }
  .c-logowall-partner-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
}
@media only screen and (max-width: 600px) {
  .c-logowall-specialized-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-logowall-specialized-list .c-logowall-logo {
    max-width: 250px;
    margin-left: auto;
    margin-right: auto;
  }
  .c-logowall-main-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media only screen and (max-width: 540px) {
  .c-footer-main .c-col-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-footer-main .c-col-3:nth-child(1),
.c-footer-main .c-col-3:nth-child(2) {
    padding-bottom: 0;
  }
  .c-footer-main .c-col-3 + .c-col-3 {
    padding-top: 1.5em;
    padding-top: var(--spacing-s);
  }
  .c-teaser-cta .c-col-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-deco-circle-teaser {
    right: 24px;
    right: var(--grid-container);
  }
  .c-logowall-partner-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media only screen and (max-width: 400px) {
  .c-logowall-main-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-logowall-main-list .c-logowall-logo {
    max-width: 250px;
    margin-left: auto;
    margin-right: auto;
  }
}
/* ==========================================================================
   Print CSS
   ========================================================================== */
@media print {
  /* base styles */
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
a:visited {
    text-decoration: underline;
  }
  .c-ir a:after,
a[href^="javascript:"]:after,
a[href]:after {
    content: none !important;
  }
  pre,
blockquote {
    border: none;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
h2,
h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
h3 {
    break-after: avoid;
    page-break-after: avoid;
  }
  /* font-sizes */
  html,
body {
    width: 100%;
    height: auto;
    /*overflow: auto;*/
  }
  body {
    font-size: 12px;
  }
  h1, .c-h1 {
    font-size: 24px;
  }
  .c-lead,
.c-text-block .c-lead,
h2, .c-h2,
h3, .c-h3,
.c-text-block blockquote p {
    font-size: 16px;
  }
  /* project styles */
  .c-container {
    padding-bottom: 2em;
  }
  .c-footer {
    display: none;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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eEJEOztBTTN4QkE7RUFDQztBTjh4QkQ7O0FNM3hCQTtFQUNJO0VBQ0E7QU44eEJKOztBTTN4QkE7RUFDSTtFQUNBO0FOOHhCSjs7QU0zeEJBO0VBQ0ksaUJMaERRO0VLaURSLG9CTGpEUTtFS2tEUjtFQUNBO0FOOHhCSjs7QU0zeEJBO0VBQ0ksaUJMdkRRO0VLd0RSLG9CTHhEUTtFS3lEUjtFQUNBO0FOOHhCSjs7QU0zeEJBO0VBQ0ksb0JMOURRO0VLK0RSO0FOOHhCSjs7QU0zeEJBO0VBQ0ksaUJMcEVRO0VLcUVSO0FOOHhCSjs7QU0zeEJBO0VBQ0ksaUJMeEVRO0VLeUVSLG9CTHpFUTtFSzBFUixzQkx6RVE7RUswRVI7QU44eEJKOztBTTN4QkE7OytFQUFBO0FBSUE7O0VBRUksa0JML0VhO0VLZ0ZiLG1CTGhGYTtFS2lGYjtFQUNBO0FONnhCSjs7QU0xeEJBOztFQUVJLG1CTHRGTztFS3VGUCxrQkx2Rk87RUt3RlA7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0k7RUFDSTtBTjZ4Qlo7O0FNMXhCQTtFQUNJO0FONnhCSjs7QU0xeEJBO0VBQ0k7QU42eEJKOztBTTF4QkE7RUFDSTtBTjZ4Qko7O0FNMXhCQTtFQUNJO0FONnhCSjs7QU0xeEJBO0VBQ0k7QU42eEJKOztBTTF4QkE7RUFDSTtBTjZ4Qko7O0FNMXhCQTtFQUNJO0FONnhCSjs7QU0xeEJBO0VBQ0k7QU42eEJKOztBTTF4QkE7RUFDSTtBTjZ4Qko7O0FNMXhCQTs7Ozs7Ozs7Ozs7OztFQWFJO0VBQ0E7RUFDQSxtQkx2Sk87RUt3SlAsa0JMeEpPO0VLeUpQO0VBQ0E7QU42eEJKOztBTTF4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONnhCSjs7QU0xeEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjZ4Qko7O0FNMXhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU42eEJKOztBTTF4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONnhCSjs7QU0xeEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjZ4Qko7O0FNMXhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU42eEJKOztBTTF4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONnhCSjs7QU0xeEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjZ4Qko7O0FNMXhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU42eEJKOztBTTF4QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONnhCSjs7QU0xeEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjZ4Qko7O0FNMXhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU42eEJKOztBTTF4QkE7QUFDQTtFQUNFO0FONnhCRjs7QU0xeEJBO0VBQ0U7QU42eEJGOztBTTF4QkE7RUFDRTtBTjZ4QkY7O0FNMXhCQTtFQUNFO0FONnhCRjs7QU0xeEJBO0VBQ0U7QU42eEJGOztBTTF4QkE7RUFDRTtBTjZ4QkY7O0FNMXhCQTtFQUNFO0FONnhCRjs7QU0xeEJBO0VBQ0U7QU42eEJGOztBTTF4QkE7RUFDRTtBTjZ4QkY7O0FNMXhCQTtFQUNFO0FONnhCRjs7QU0xeEJBO0VBQ0U7QU42eEJGOztBTTF4QkE7OytFQUFBO0FBSUE7O0VBRUk7QU40eEJKOztBTXp4QkE7RUFDSTtFQUNBO0FONHhCSjs7QU16eEJBO0VBQ0k7RUFDQTtBTjR4Qko7O0FNenhCQTtFQUNJO0VBQ0E7QU40eEJKOztBTXp4QkE7QUFDQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONHhCSjs7QU16eEJBO0VBQ0ksb0JML1VhO0VLZ1ZiO0FONHhCSjs7QU16eEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjR4Qko7O0FNenhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40eEJKOztBTXp4QkE7O0VBRUk7RUFDQTtFQUNBLG1CTHJXTztFS3NXUCxrQkx0V087RUt1V1A7RUFDQTtBTjR4Qko7O0FNenhCQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONHhCSjs7QU9uckNBOzsr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RWpCMDVHQTtBQUNGO0FpQnQ1R0E7RUFDSTtJQUNJO0lBQ047SUFDQTtJQUNBO0lBQ0E7RWpCdzVHQTtFaUJyNUdFO0lBQ0k7SUFDQTtJQUNBO0VqQnU1R047QUFDRjtBa0I5ekhBOzsrRUFBQTtBQUdBO0VBQ0k7RUFDQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VsQmcwSE47RWtCN3pIRDs7SUFFTztFbEIrekhOO0VrQjV6SEU7OztJQUdGO0VsQjh6SEE7RWtCM3pIRTs7SUFFSTtJQUNBO0VsQjZ6SE47RWtCMXpIRTtJQUNJO0VsQjR6SE47RWtCenpIRTs7SUFFSTtFbEIyekhOO0VrQnh6SEU7SUFDSTtFbEIwekhOO0VrQnZ6SEU7SUFDSTtFbEJ5ekhOO0VrQnR6SEU7OztJQUdJO0lBQ0E7RWxCd3pITjtFa0JyekhFOztJQUVJO0lBQ0E7RWxCdXpITjtFa0JwekhFO0VBRUg7O0lBRUM7SUFDQTtJQUNBO0VsQnF6SEE7RWtCbHpIRTtJQUNJO0VsQm96SE47RWtCanpIRDtJQUNDO0VsQm16SEE7RWtCaHpIRDs7Ozs7SUFLQztFbEJrekhBO0VrQi95SEQ7RUFDQTtJQUNDO0VsQml6SEE7RWtCOXlIRDtJQUNDO0VsQmd6SEE7QUFDRixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL21haW4uc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL19ub3JtYWxpemUuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL19oZWxwZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fZ3JpZC5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fb2ZmY2FudmFzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2NvbnRlbnRlbGVtZW50cy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19idXR0b24tbGlua3Muc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fcmF0aW9ib3guc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fZm9ybS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fZnV0dXJlLWxpdmluZy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19yZXNwb25zaXZlLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3ByaW50LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2V0dGluZ3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qQGltcG9ydCBcIi4uL2ZvbnRzL2lubGluZUZvbnRzLnNjc3NcIjsqL1xuQGltcG9ydCBcImNvbW1vbi9fdmFyaWFibGVzXCI7XG4vKkBpbXBvcnQgXCJjb21tb24vX2ZvbnRzXCI7Ki9cbkBpbXBvcnQgXCJjb21tb24vX25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcImNvbW1vbi9fbWl4aW5zXCI7XG5AaW1wb3J0IFwiY29tbW9uL19oZWxwZXJzXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBzdHlsZXMgZm9yIGV2ZXJ5IHByb2plY3QgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19iYXNlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZ3JpZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3R5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19oZWFkZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19mb290ZXJcIjtcblxuLyogb3B0aW9uYWwgc3R5bGVzICovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fb2ZmY2FudmFzXCI7XG4vKkBpbXBvcnQgXCJjb21wb25lbnRzL190YWJsZXNcIjsqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2NvbnRlbnRlbGVtZW50c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2J1dHRvbi1saW5rc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3JhdGlvYm94XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZm9ybVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3NsaWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Z1dHVyZS1saXZpbmdcIjtcblxuXG4vKiBzdHlsZXMgZm9yIGV2ZXJ5IHByb2plY3QgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19yZXNwb25zaXZlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcHJpbnRcIjsiLCIvKiBWYXJpYWJsZXMsIE5hbWluZyBtYXkgdmFyeSBmcm9tIHByb2plY3QgdG8gcHJvamVjdCAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9udHMgKHNlZSAnX2ZvbnRzLnNjc3MnIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGxpY2Vuc2UpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBAaW1wb3J0IG11c3QgYmUgYXQgdG9wIG9mIGZpbGUsIG90aGVyd2lzZSBDU1Mgd2lsbCBub3Qgd29yayAqL1xuLyogQGltcG9ydCB1cmwoJy8vaGVsbG8ubXlmb250cy5uZXQvY291bnQvNDI2NTYzJyk7ICovXG5cbiRmb250LXN0YWNrLWRlZmF1bHQ6ICdpdGMtYXZhbnQtZ2FyZGUtZ290aGljLXBybycsICdBcmlhbCcsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmFsbGJhY2tzIHNhc3MgVmFyaWFibGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiB0ZXh0ICovXG4kdGV4dC1jb2xvcjogIzAwMDsgLyogZGFyayBncmV5ICovXG4kdGV4dC1jb2xvci1saWdodDogI2ZmZjtcbiR0ZXh0LWNvbG9yLWxpbms6ICMwMDA7IC8qIGRhcmsgZ3JleSAqL1xuXG4vKiBiYWNrZ3JvdW5kICovXG4kYmctY29udGVudDogI2ZmZjtcbiRiZy1kYXJrOiAjMDAwOyAvKiBkYXJrIGdyZXkgKi9cbiRiZy1saWdodDogI2Y5ZjlmOTsgLyogbGlnaHQgZ3JleSAqL1xuJGNvbG9yLWhpZ2hsaWdodDogI0YxQjQzNDsgLyogeWVsbG93ICovXG5cbi8qIGxpbmUtY29sb3JzICovXG4kYm9yZGVyLWJhc2ljOiAjY2NjY2NjO1xuXG4vKiBzcGFjaW5nICovXG4kc3BhY2luZy1sOiA2cmVtO1xuJHNwYWNpbmctbTogM3JlbTtcbiRzcGFjaW5nLXM6IDEuNXJlbTtcbiRzcGFjaW5nLXhzOiAwLjc1cmVtO1xuXG4vKiBncmlkICovXG4kZ3JpZC1jb250YWluZXI6IDI0cHg7XG4kZ3JpZC1yb3c6IC0xMnB4O1xuJGdyaWQtY29sOiAxMnB4O1xuXG5cbi8qIGZvcm0gKi9cbiRib3JkZXItZm9ybTogI2NjY2NjYztcbiRib3JkZXItZm9ybS1mb2N1czogIzAwMDtcbiRmb3JtLWRpc2FibGVkOiAjY2NjO1xuJGZvcm0tZXJyb3I6ICNkZDAwMDA7XG4kZm9ybS1vazogIzJkNTkyMjtcbiRmb3JtLWluaXRpYWw6ICMxRDFEMUI7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEN1c3RvbSBQcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbjpyb290IHtcbiAgICAvKiBmb250cyAqL1xuICAgIC0tZm9udC1zdGFjay1kZWZhdWx0OiAnaXRjLWF2YW50LWdhcmRlLWdvdGhpYy1wcm8nLCAnQXJpYWwnLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcbiAgICAtLWZvbnQtd2VpZ2h0LW5vcm1hbDogNTAwO1xuICAgIC0tZm9udC13ZWlnaHQtYm9sZDogNzAwO1xuICAgIFxuICAgIC8qIHRleHQgICovXG4gICAgLS10ZXh0LWNvbG9yOiAjMDAwOyAvKiBibGFjayAqL1xuICAgIC0tdGV4dC1jb2xvci1saWdodDogI2ZmZjtcbiAgICAtLXRleHQtY29sb3ItbGluazogIzAwMDtcbiAgICBcbiAgICBcbiAgICAvKiBjb2xvcnMgLyBiYWNrZ3JvdW5kICovXG4gICAgLS1iZy1jb250ZW50OiAjZmZmO1xuICAgIC0tYmctZGFyazogIzAwMDsgLyogYmxhY2sgKi9cbiAgICAtLWJnLWxpZ2h0OiAjZjlmOWY5OyAvKiBsaWdodCBncmV5ICovXG4gICAgLS1jb2xvci1oaWdobGlnaHQ6ICNGMUI0MzQ7IC8qIHllbGxvdyAqL1xuICAgIFxuICAgIC8qIGxpbmVzICovXG4gICAgLS1ib3JkZXItYmFzaWM6ICNjY2NjY2M7XG4gICAgXG4gICAgLS1oZWFkZXItaGVpZ2h0OiAyMDBweDtcbiAgICBcbiAgICAvKiBzcGFjaW5nICovXG4gICAgLS1zcGFjaW5nLWw6IDcuNXJlbTtcbiAgICAtLXNwYWNpbmctbTogMy43NXJlbTsgXG4gICAgLS1zcGFjaW5nLXM6IDEuNXJlbTtcbiAgICAtLXNwYWNpbmcteHM6IDAuNzVyZW07XG4gICAgLS1zcGFjaW5nLWxtOiA1Ljc1ZW07XG4gICAgXG4gICAgXG4gICAgLyogZ3JpZCAqL1xuICAgIC0tZ3JpZC1jb250YWluZXI6IDI0cHg7XG4gICAgLS1ncmlkLXJvdzogLTEycHg7XG4gICAgLS1ncmlkLWNvbDogMTJweDtcbiAgICBcbiAgICAvKiBmb3JtICovXG4gICAgLS1ib3JkZXItZm9ybTogI2NjY2NjYztcbiAgICAtLWJvcmRlci1mb3JtLWZvY3VzOiAjMDAwO1xuICAgIC0tZm9ybS1kaXNhYmxlZDogI2NjYztcbiAgICAtLWZvcm0tZXJyb3I6ICNkZDAwMDA7XG4gICAgLS1mb3JtLW9rOiAjMmQ1OTIyO1xuICAgIC0tZm9ybS1pbml0aWFsOiAjMUQxRDFCO1xuICAgIC0tZm9ybS10ZXh0LXNtYWxsOiAwLjc2cmVtO1xuICAgIFxuICAgIC0tZnV0dXJlLWxpdmluZy10aXRsZS1wYWRkaW5nOiAyNHB4O1xuICAgIC0tZnV0dXJlLWxpdmluZy10aXRsZS1ob3Zlci1oZWlnaHQ6IDEwcHg7XG4gICAgXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFeGVwdGlvbnMgZm9yIGRpZmZlcmVudCBiYWNrZ3JvdW5kc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1saWdodCB7XG4gICAgLS10ZXh0LWNvbG9yOiAjZmZmO1xuICAgIC0tdGV4dC1jb2xvci1saW5rOiAjZmZmO1xufVxuXG4uYy10ZXh0LWxpZ2h0IC5jLWJ0biB7XG4gICAgLS10ZXh0LWNvbG9yOiAjZmZmO1xuICAgIC0tY29sb3ItaGlnaGxpZ2h0OiAjZmZmO1xufVxuXG5cbi5jLWhlYWRlci1zdGlja3kge1xuICAgIC0taGVhZGVyLWhlaWdodDogOTZweDtcbn1cblxuLmMtdGVhc2VyLWljb25zLWl0ZW0gaDI6Zm9jdXMsIFxuLmMtdGVhc2VyLWljb25zLWl0ZW0gaDI6aG92ZXIge1xuICAgIC0tdGV4dC1jb2xvci1saW5rOiAjRjFCNDM0O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVzcG9uc2l2ZSBDdXN0b20gUHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyMDBweCkge1xuICAgIDpyb290IHtcbiAgICAgICAgLS1ncmlkLWNvbnRhaW5lcjogNDhweDtcbiAgICAgICAgLS1ncmlkLXJvdzogLTI0cHg7XG4gICAgICAgIC0tZ3JpZC1jb2w6IDI0cHg7XG4gICAgICAgIC0tZnV0dXJlLWxpdmluZy10aXRsZS1ob3Zlci1oZWlnaHQ6IDIwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTYwMHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWdyaWQtY29udGFpbmVyOiA1NnB4O1xuICAgICAgICAtLWdyaWQtcm93OiAtMzhweDtcbiAgICAgICAgLS1ncmlkLWNvbDogMzhweDsgICAgICAgIFxuICAgICAgICAtLWZ1dHVyZS1saXZpbmctdGl0bGUtcGFkZGluZzogMS40ZW0gNDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMzAwcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0taGVhZGVyLWhlaWdodDogMTYwcHg7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5ODBweCkge1xuICAgIDpyb290IHtcbiAgICAgICAgLS1zcGFjaW5nLWw6IDQuNXJlbTtcbiAgICAgICAgLS1zcGFjaW5nLW06IDIuNXJlbTsgXG4gICAgICAgIC0tc3BhY2luZy1sbTogM3JlbTtcbiAgICAgICAgLS1oZWFkZXItaGVpZ2h0OiA4MHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1oZWFkZXItc3RpY2t5IHtcbiAgICAgICAgLS1oZWFkZXItaGVpZ2h0OiA4MHB4O1xuICAgIH1cbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbn1cblxuLypcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb3JyZWN0cyB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFNi83IHdoZW4gYm9keSBmb250LXNpemUgaXMgc2V0IHVzaW5nIGVtIHVuaXRzXG4gKiAgICBodHRwOi8vY2xhZ251dC5jb20vYmxvZy8zNDgvI2M3OTBcbiAqIDIuIEtlZXBzIHBhZ2UgY2VudHJlZCBpbiBhbGwgYnJvd3NlcnMgcmVnYXJkbGVzcyBvZiBjb250ZW50IGhlaWdodFxuICogMy4gUHJldmVudHMgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb21cbiAqICAgIHd3dy40NTZiZXJlYXN0cmVldC5jb20vYXJjaGl2ZS8yMDEwMTIvY29udHJvbGxpbmdfdGV4dF9zaXplX2luX3NhZmFyaV9mb3JfaW9zX3dpdGhvdXRfZGlzYWJsaW5nX3VzZXJfem9vbS9cbiAqIDQuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5odG1sIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuXHRsaW5lLWhlaWdodDogMS4xNTsgLyogNCAqL1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG59XG5cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG5cblxuICovXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgLyogY3ViZWdyYWZpayAqL1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAqL1xuXG5hIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5hOmZvY3VzIHtcbiAgICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qXG4qIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgIGNvbG9yOiAjMDAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLypcbiAqIEltcHJvdmVzIHJlYWRhYmlsaXR5IG9mIHByZS1mb3JtYXR0ZWQgdGV4dCBpbiBhbGwgYnJvd3NlcnNcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIFNldCBjb25zaXN0ZW50IHF1b3RlIHR5cGVzLlxuICovXG5cbnEge1xuICAgIHF1b3RlczogXCJcXDIwMUNcIiBcIlxcMjAxRFwiIFwiXFwyMDE4XCIgXCJcXDIwMTlcIjtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG5cbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cblxuICovXG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmVzIGJvcmRlciB3aGVuIGluc2lkZSAnYScgZWxlbWVudCBpbiBJRTYvNy84LzksIEZGM1xuICogMi4gSW1wcm92ZXMgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRTdcbiAqICAgIGNvZGUuZmxpY2tyLmNvbS9ibG9nLzIwMDgvMTEvMTIvb24tdWktcXVhbGl0eS10aGUtbGl0dGxlLXRoaW5ncy1jbGllbnQtc2lkZS1pbWFnZS1yZXNpemluZy9cbiAqL1xuXG5pbWcge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IC8qIDIgKi9cbn1cblxuLypcbiAqIENvcnJlY3RzIG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRTlcbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmlndXJlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpIDUuXG4gKi9cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29ycmVjdHMgbWFyZ2luIGRpc3BsYXllZCBvZGRseSBpbiBJRTYvN1xuICovXG5cbmZvcm0ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZ1xuICovXG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6MDsgLyogY3ViZWdyYWZpayAqL1xuICAgIG1hcmdpbjowOyAvKiBjdWJlZ3JhZmlrICovXG4gICAgcGFkZGluZzowOyAvKiBjdWJlZ3JhZmlrICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICBib3JkZXI6IDA7XG59XG5cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuXG4gKiA0LiBJbXByb3ZlcyBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnNcbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDQgKi9cbn1cblxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdHMgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmVzIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogYGlucHV0YCBhbmQgb3RoZXJzLlxuICogNC4gUmVtb3ZlcyBpbm5lciBzcGFjaW5nIGluIElFNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gKiBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFNi5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICAgICpvdmVyZmxvdzogdmlzaWJsZTsgLyogNCAqL1xufVxuXG4vKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50c1xuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcblxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5cbi8qKlxuXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LlxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyAvKiAyICovXG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHNcbiAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbGVtZW50cyBjdWJlZ3JhZmlrXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuXG5kaXYsIHAge1xuICAgIHBhZGRpbmc6MDtcbiAgICBtYXJnaW46MDtcbn1cblxuaHIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnRoLCB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0ZXh0LWFsaWduOmxlZnQ7XG59XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICAgIC8qIFJlbW92ZWQgYmVjYXVzZSBvZiB2aXNpYmlsaXR5Y2hhbmdlLWFkZGl0aW9uIHRvIGZhbmN5LWZvcm1zIHBsdWdpbi5cbiAgICAgKiAyMDE1LzAxLzIyIC0gRmxvcmlhbiBNw6RkZXJcbiAgICAgKiAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7Ki9cbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmh0bWwge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogU2FmYXJpIDMuMCAtIDUuMCwgQ2hyb21lIDEgLSA5LCBBbmRyb2lkIDIuMSAtIDMueCAqL1xuICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogRmlyZWZveCAxIC0gMjggKi9cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArLCBGaXJlZm94IDI5KywgT3BlcmEgNyssIElFIDgrLCBBbmRyb2lkIDQuMCssIGlPUyBhbnkgKi9cbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgLW1vei1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgICAgICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxubGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyAvKiBJRSAxMCAgKi9cbiAgICAgICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIElFIDExKyAqL1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtIFBsYWNlaG9sZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgICAge0Bjb250ZW50fVxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH1cbiAgICAmOjotbW96LXBsYWNlaG9sZGVyICAgICB7QGNvbnRlbnR9XG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgIHtAY29udGVudH0gIFxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9udHMgc21vb3RoaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoJHZhbHVlOiBvbikge1xuICAgIEBpZiAkdmFsdWUgPT0gb24ge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGF1dG87XG4gICAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEhpZGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGlkZS12aXN1YWxseSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBib3JkZXI6IDA7XG59XG5cbi5jLWhpZGUtY29tcGxldGVseSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogaW1hZ2UgcmVwbGFjZW1lbnQgKi9cbi5jLWlyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJvcmRlcjogMDtcblx0dGV4dC1pbmRlbnQ6IC05OTllbTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGRpcmVjdGlvbjogbHRyO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGlja3kgRm9vdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jLWhlYWRlcixcbi5jLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jLWNvbnRlbnQge1xuICAgIGZsZXgtZ3JvdzogMTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZSBQcm9qZWN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ib2R5IHtcblx0QGluY2x1ZGUgZm9udC1zbW9vdGhpbmcob24pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLWRlZmF1bHQ7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc3RhY2stZGVmYXVsdCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xufVxuXG4vKiBsaW5rcyAqL1xuYSxcbmE6dmlzaXRlZCxcbmE6Zm9jdXMsXG5hOmhvdmVyIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpbms7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGluayk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxucDplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG59XG5cbnRleHRhcmVhIHtcblx0cmVzaXplOiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBpbWcgLyBtZWRpYSBkZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZW1iZWQsXG5vYmplY3QsXG52aWRlbyxcbmlmcmFtZSxcbmltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbmltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uYy1pbWctbWF4LXdpZHRoLFxuLmMtY29udGVudCAuYy1pbWctbWF4LXdpZHRoIHtcblx0d2lkdGg6IGF1dG87XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuaW1nIHsgXG5cdHZlcnRpY2FsLWFsaWduOiBib3R0b207IFxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0YW5kYXJkIE1haW4gQ29udGFpbmVyIERlY2xhcmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1oZWFkZXIsXG4uYy1jb250ZW50LFxuLmMtZm9vdGVyLFxuLmMtY29udGFpbmVyLFxuLmMtY29udGFpbmVyLW1lZGl1bSxcbi5jLWNvbnRhaW5lci13aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogYXV0bztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0YW5kYXJkIFBhZGRpbmcgYmV0d2VlbiBDb21wb25lbnRzIFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGFpbmVyLFxuLmMtY29udGFpbmVyLW1lZGl1bSxcbi5jLXRlc3RpbW9uaWFsIHtcblx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi5jLW1haW4tdGl0bGUsXG4uYy1zaG93cm9vbS10ZXh0LWlubmVyLFxuLmMtZnV0dXJlLWxpdmluZyB7XG5cdHBhZGRpbmctdG9wOiA1Ljc1ZW07XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbG0pO1xufVxuXG4uYy1tYWluLXRpdGxlLWRlY28ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXNob3dyb29tLXRleHQtaW5uZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ljc1ZW07XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbG0pO1xufVxuXG4uYy1mdXR1cmUtbGl2aW5nLW1haW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1zO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4uYy1zaG93cm9vbSxcbi5jLW1haW4tdGl0bGUtZGVjbyxcbi5jLWNvbnRhY3QsXG4uYy1mdXR1cmUtbGl2aW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1sO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi5jLW1haW4tdGl0bGUtZGVjbyB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG59XG5cbi5jLWNvbnRhaW5lci1uby1wYWRkaW5nIHtcblx0cGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLXNlY3Rpb24tdGl0bGUge1xuXHRwYWRkaW5nLWJvdHRvbTogMC4yNWVtO1xufVxuXG4uYy10ZXh0LW9ubHkgKyAuYy10ZXh0LW9ubHkge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoKCRzcGFjaW5nLWwgICogLTEpICsgMS41ZW0pO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoKHZhcigtLXNwYWNpbmctbCkgKiAtMSkgKyAxLjVlbSk7XG59XG5cbi5jLXNlcnZpY2VzICsgLmMtc2VydmljZXMge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoKCRzcGFjaW5nLWwgICogLTEpICsgJHNwYWNpbmctbSk7XG4gICAgbWFyZ2luLXRvcDogY2FsYygodmFyKC0tc3BhY2luZy1sKSAqIC0xKSArIHZhcigtLXNwYWNpbmctbSkpO1xufVxuXG4uYy1maWx0ZXIge1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLW0pO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmctbSkgLSAwLjc1ZW0pO1xufVxuXG4uYy1jb250YWN0IHtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1tKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nLW0pIC0gMS41ZW0pO1xufVxuXG4uYy10ZWFtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tKTtcbn1cblxuLmMtdGVhc2VyLWN0YSB7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi5jLXBhcnRuZXIge1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1zO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgR3JpZCBEZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGFpbmVyLFxuLmMtY29udGFpbmVyLW1lZGl1bSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1jb250YWluZXI7XG4gICAgcGFkZGluZy1yaWdodDogJGdyaWQtY29udGFpbmVyO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbn1cblxuLmMtcm93LFxuLmMtbmV3cy1yZWZlcmVuY2VzIC5jLW5ld3MtaXRlbS1pbm5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLWxlZnQ6ICRncmlkLXJvdztcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ3JpZC1yb3cpO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAtd2Via2l0LWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLmMtcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLmMtcm93LWp1c3RpZnktbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uYy1yb3ctanVzdGlmeS1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYy1yb3ctanVzdGlmeS1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmMtcm93LWp1c3RpZnktYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLmMtcm93LWp1c3RpZnktYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYy1yb3ctYWxpZ24tdG9wIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmMtcm93LWFsaWduLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmMtcm93LWFsaWduLWJvdHRvbSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uYy1jb2wtMSxcbi5jLWNvbC0yLFxuLmMtY29sLTMsXG4uYy1jb2wtNCxcbi5jLWNvbC01LFxuLmMtY29sLTYsXG4uYy1jb2wtNyxcbi5jLWNvbC04LFxuLmMtY29sLTksXG4uYy1jb2wtMTAsXG4uYy1jb2wtMTEsXG4uYy1jb2wtMTIsXG4uYy1uZXdzLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZy1yaWdodDogJGdyaWQtY29sO1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtY29sO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbn1cblxuLmMtY29sLTEyIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG4gICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgICAgXG59XG5cbi5jLWNvbC0xMSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTtcbn1cblxuLmMtY29sLTEwIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlO1xufVxuXG4uYy1jb2wtOSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA3NSU7XG4gICAgLW1zLWZsZXg6IDAgMCA3NSU7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbn1cblxuLmMtY29sLTgge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7XG59XG5cbi5jLWNvbC03IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlO1xufVxuXG4uYy1jb2wtNiB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbn1cblxuLmMtY29sLTUge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7XG59XG5cbi5jLWNvbC00IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xufVxuXG4uYy1jb2wtMyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAyNSU7XG4gICAgLW1zLWZsZXg6IDAgMCAyNSU7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbn1cblxuLmMtY29sLTIge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7XG59XG5cbi5jLWNvbC0xIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDguMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7XG59XG5cbi8qIG9mZnNldCBjb2xzICovXG4uYy1jb2wtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY3JTtcbn1cblxuLmMtY29sLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTtcbn1cblxuLmMtY29sLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjclO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzJTtcbn1cblxuLmMtY29sLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzJTtcbn1cblxuLmMtY29sLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjclO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR3JpZCBWYXJpYW50ZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWFzeW0tcmlnaHQtZWRnZWxlc3MsXG4uYy1hc3ltLWxlZnQtZWRnZWxlc3Mge1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbn1cblxuLmMtYXN5bS1yaWdodC1lZGdlbGVzcy1pbWcge1xuICAgIG1hcmdpbi1yaWdodDogLTI0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWdyaWQtY29udGFpbmVyKSAqIC0xKTtcbn1cblxuLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzLWltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWdyaWQtY29udGFpbmVyKSAqIC0xKTtcbn1cblxuLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzIC5jLWxlZ2VuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgIHBhZGRpbmctbGVmdDogKHZhci0tZ3JpZC1jb250YWluZXIpO1xufVxuXG4vKiBuZXdzICovXG4uYy1uZXdzLWl0ZW0sXG4uYy1uZXdzLXJlZmVyZW5jZXMgLmMtbmV3cy1pdGVtLXRleHQge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5jLW5ld3MtaXRlbSB7XG4gICAgcGFkZGluZy1ib3R0b206ICRncmlkLWNvbnRhaW5lcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1ncmlkLWNvbnRhaW5lcikgKyAxcmVtKTtcbn1cblxuLmMtbmV3cy10ZXh0LWltZyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbn1cblxuLmMtbmV3cy1yZWZlcmVuY2VzICB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jLW5ld3MtcmVmZXJlbmNlcyAuYy1uZXdzLWl0ZW0taW1nLFxuLmMtbmV3cy1yZWZlcmVuY2VzIC5jLW5ld3MtaXRlbS10ZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbCk7XG59XG5cbi5jLW5ld3MtcmVmZXJlbmNlcyAuYy1uZXdzLWl0ZW0taW1nLFxuLmMtbmV3cy10ZXh0LWltZy13aWRlIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xufVxuXG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHRtbCB7XG5cdGZvbnQtc2l6ZTogMjFweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRpdGxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG5oMSxcbi5jLWgxIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctYm90dG9tOiAwLjM1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjExO1xuXHRmb250LXNpemU6IDMuNDJyZW07IC8qIDcyeCAqL1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLW1haW4tdGl0bGUtYnlsaW5lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAtMC45ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbmgyLFxuLmMtaDIge1xuXHRwYWRkaW5nLWJvdHRvbTogLjVlbTtcblx0bGluZS1oZWlnaHQ6IDEuMTI7XG5cdGZvbnQtc2l6ZTogMi4zOHJlbTsgLyogNTBweCAqL1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbmgzLFxuLmMtaDMge1xuXHRsaW5lLWhlaWdodDogMS4xO1xuXHRmb250LXNpemU6IDEuNDJyZW07XG5cdHBhZGRpbmctYm90dG9tOiAwLjVlbTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG5oNCxcbi5jLWg0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdGZvbnQtc2l6ZTogMXJlbTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy1mb290ZXIgaDQsXG4uYy1mb290ZXIgLmMtNCxcbi5jLWxvZ293YWxsLXRleHQgaDQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3Qge1xuICAgIGZvbnQtc2l6ZTogMS40MnJlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2ljIFRleHQgQ29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGVudCxcbi5jLWZvb3RlciB7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5jLXRleHQtYmxvY2sgcCB7XG5cdHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbn1cblxuLmMtbmV3cy1pdGVtIHA6bGFzdC1jaGlsZCB7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYy10ZWFtLWl0ZW0gcCxcbi5jLWxvZ293YWxsLXRleHQgcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xufVxuXG4uYy10ZXh0LWJsb2NrIHAgKyBoMixcbi5jLXRleHQtYmxvY2sgcCArIGgzLFxuLmMtdGV4dC1ibG9jayBwICsgaDQsXG4uYy10ZXh0LWJsb2NrIHVsICsgaDIsXG4uYy10ZXh0LWJsb2NrIHVsICsgaDMsXG4uYy10ZXh0LWJsb2NrIHVsICsgaDQsXG4uYy10ZXh0LWJsb2NrIG9sICsgaDIsXG4uYy10ZXh0LWJsb2NrIG9sICsgaDMsXG4uYy10ZXh0LWJsb2NrIG9sICsgaDQsXG4uYy10ZXh0LWJsb2NrIC5jLWtleWZhY3RzLWxpc3QgKyBwIHtcblx0cGFkZGluZy10b3A6IDEuNWVtO1xufVxuXG4uYy1sb2dvd2FsbC10ZXh0IHAgKyBoNCB7XG4gICAgcGFkZGluZy10b3A6IDFlbTtcbn1cblxuLmMtbGVhZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRsaW5lLWhlaWdodDogMS4zMztcblx0Zm9udC1zaXplOiAxLjQycmVtO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLWxlYWQgKyAuYy1idG4ge1xuICAgIG1hcmdpbi10b3A6IDEuNWVtO1xufVxuXG4uYy10ZXh0LXNtYWxsLFxuLmMtbGVnZW5kLFxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIGNpdGUsXG4uYy1mb290ZXItZGlzY2xhaW1lciB7XG5cdGZvbnQtc2l6ZTogMC43NnJlbTsgLyogMTZweCAqL1xufVxuXG4uYy1sZWdlbmQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy10b3A6IDFlbTtcbn1cblxuLmMtY2F0ZWdvcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLWJvdHRvbTogMWVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzaWMgTGlzdHMgQ29udGVudCBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXRleHQtYmxvY2sgdWwsXG4uYy10ZXh0LWJsb2NrIG9sLFxuLmMtbGluay1saXN0LFxuLmMtam9icy1saXN0LFxuLmMta2V5ZmFjdHMtbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMCAwIDEuNWVtIDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLWtleWZhY3RzLWxpc3QsXG4uYy10ZXh0LWJsb2NrIC5jLWtleWZhY3RzLWxpc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtdGV4dC1ibG9jayB1bCBsaSxcbi5jLXRleHQtYmxvY2sgb2wgbGkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctbGVmdDogMjhweDtcbn1cblxuLmMtdGV4dC1ibG9jayBvbCBsaSB7XG5cdHBhZGRpbmctbGVmdDogMzJweDtcbn1cblxuLmMtdGV4dC1ibG9jayB1bCBsaSArIGxpLFxuLmMtdGV4dC1ibG9jayBvbCBsaSArIGxpLFxuLmMtbGluay1saXN0IGxpICsgbGkge1xuXHRtYXJnaW4tdG9wOiAwLjVlbTtcbn1cblxuLmMtbGluay1saXN0IGxpLmMtbGluay1saXN0LWJ0biArIGxpIHtcblx0bWFyZ2luLXRvcDogMS41ZW07XG59XG5cbi5jLWxpbmstbGlzdCBsaSArIGxpLmMtbGluay1saXN0LWJ0biB7XG5cdG1hcmdpbi10b3A6IDEuNWVtO1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjQ4ZW07XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLXRleHQtYmxvY2sgb2wge1xuXHRjb3VudGVyLXJlc2V0OiBjdXN0b20tY291bnRlcjtcbn1cblxuLmMtdGV4dC1ibG9jayBvbCBsaSB7XG5cdGNvdW50ZXItaW5jcmVtZW50OiBjdXN0b20tY291bnRlcjtcbn1cblxuLmMtdGV4dC1ibG9jayBvbCBsaTo6YmVmb3JlIHtcblx0Y29udGVudDogY291bnRlcihjdXN0b20tY291bnRlcikgXCIuIFwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0d2lkdGg6IDI2cHg7XG5cdGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuXHRmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstbGlzdCBsaSxcbi5jLXRleHQtYmxvY2sgLmMta2V5ZmFjdHMtbGlzdCBsaXtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtbGluay1saXN0IGxpOjpiZWZvcmUsXG4uYy10ZXh0LWJsb2NrIC5jLWpvYnMtbGlzdCBsaTo6YmVmb3JlLFxuLmMtdGV4dC1ibG9jayAuYy1rZXlmYWN0cy1saXN0IGxpOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5jLWpvYnMtbGlzdCxcbi5jLWtleWZhY3RzLWxpc3Qge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDJweCAkYm9yZGVyLWJhc2ljO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWpvYnMtbGlzdCBsaSArIGxpLFxuLmMtdGV4dC1ibG9jayAuYy1rZXlmYWN0cy1saXN0IGxpICsgbGkge1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4uYy1qb2JzLWxpc3QgbGksXG4uYy10ZXh0LWJsb2NrIC5jLWpvYnMtbGlzdCBsaSB7XG4gICAgcGFkZGluZzogMS42ZW0gMCAxLjVlbSAwO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAkYm9yZGVyLWJhc2ljO1xufVxuXG4uYy1rZXlmYWN0cy1saXN0IGxpLFxuLmMtdGV4dC1ibG9jayAuYy1rZXlmYWN0cy1saXN0IGxpIHtcbiAgICBwYWRkaW5nOiAwLjZlbSAwIDAuNWVtIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICRib3JkZXItYmFzaWM7XG59XG5cbi5jLW9wZW5pbmctaG91cnMtbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAxLjVlbSAwO1xufVxuXG4uYy1vcGVuaW5nLWhvdXJzLWxpc3QgZHQsXG4uYy1vcGVuaW5nLWhvdXJzLWxpc3QgZGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uYy1vcGVuaW5nLWhvdXJzLWxpc3QgZGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbn1cblxuLmMtb3BlbmluZy1ob3Vycy1saXN0IGRkOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBRdW90ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IDUycHggMCAwIDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdGZvbnQtc2l6ZTogMS40MnJlbTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcDo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcblx0dG9wOiAwO1xuXHR3aWR0aDogMzFweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuXHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvc3ByaXRlLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzYwcHg7XG4gICAgXG59XG5cbi5jLXRleHQtbGlnaHQgYmxvY2txdW90ZSBwOjpiZWZvcmUsXG4uYy1uZXdzLWl0ZW0tdGV4dCBibG9ja3F1b3RlIHA6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC0zNjBweDtcbiAgICBcbn1cblxuLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLXRvcDogMWVtO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0IGhlbHBlcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXRleHQtcmlnaHQge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmMtdGV4dC1jZW50ZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jLXRleHQtbGlnaHQge1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGV4dCBzaXplcyByZXNwb25zaXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTY4MHB4KSB7XG4gICAgLmMtZnV0dXJlLWxpdmluZy10aXRsZSxcbiAgICAuYy1mdXR1cmUtbGl2aW5nLWFjY29yZGlvbi10aXRsZSxcbiAgICAuYy1tYWluLXRpdGxlLWJ5bGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NnJlbTsgLyogMTZweCAqL1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjE0MDBweCkge1xuICAgIGgxLCAuYy1oMSB7XG5cdFx0Zm9udC1zaXplOiAzcmVtO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMzYwcHgpIHtcbiAgICBodG1sIHtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdH1cbiAgICBcblx0aDEsIC5jLWgxLFxuXHQuYy1jb250ZW50IGgyLCAuYy1jb250ZW50IC5jLWgyLFxuXHQuYy1jb250ZW50IGgzLCAuYy1jb250ZW50IC5jLWgze1xuXHRcdG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cdFx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXHRcdC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG5cdFx0d29yZC1icmVhazogYnJlYWstYWxsO1xuXHRcdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cdFx0LW1zLWh5cGhlbnM6IGF1dG87XG5cdFx0LW1vei1oeXBoZW5zOiBhdXRvO1xuXHRcdC13ZWJraXQtaHlwaGVuczogYXV0bztcblx0XHRoeXBoZW5zOiBhdXRvO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMjAwcHgpIHtcbiAgICBcbiAgICBoMSwgLmMtaDEge1xuXHRcdGZvbnQtc2l6ZTogMi44cmVtO1xuXHR9XG5cblx0aDIsIC5jLWgyIHtcblx0XHRmb250LXNpemU6IDJyZW07XG5cdH1cbiAgICBcbiAgICBoMywgLmMtaDMsIFxuICAgIC5jLWxlYWQsXG4gICAgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgfVxuICAgIFxufVxuXG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XG5cblx0XG5cblx0aDEsIC5jLWgxIHtcblx0XHRmb250LXNpemU6IDJyZW07XG5cdH1cblxuXHRoMiwgLmMtaDIsXG4gICAgLmMtb2ZmY2FudmFzLW5hdi1saXN0IHtcblx0XHRmb250LXNpemU6IDEuNXJlbTtcblx0fVxuXG5cdC5jLWxlYWQsXG5cdGgzLCAuYy1oMyxcbiAgICAuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcCB7XG5cdFx0Zm9udC1zaXplOiAxLjEyNXJlbTtcblx0fVxuXG5cdC5jLXRleHQtc21hbGwsXG4gICAgLmMtbGVnZW5kLFxuICAgIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBjaXRlLFxuICAgIC5jLWZvb3Rlci1kaXNjbGFpbWVyLFxuICAgIC5jLWZ1dHVyZS1saXZpbmctYWNjb3JkaW9uLXRpdGxlLFxuICAgIC5jLW1haW4tdGl0bGUtYnlsaW5lIHtcblx0XHRmb250LXNpemU6IDAuOHJlbTtcblx0fVxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDozNTBweCkge1xuXG5cdC5jLWxlYWQge1xuXHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0fVxufVxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVhZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtaGVhZGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG5cdHotaW5kZXg6IDEwO1xufVxuXG4uYy1oZWFkZXItaW5uZXIge1xuXHRoZWlnaHQ6IDIwMHB4O1xuICAgIGhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuXG4uYy1oZWFkZXItbG9nbyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEyMHB4O1xuXHRoZWlnaHQ6IDgycHg7XG59XG5cbi5jLWhlYWRlci1sb2dvIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uYy1oZWFkZXItbG9nbyBhIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLWhlYWRlci1sYW5nIHtcbiAgICBtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jLWhlYWRlci1sYW5nIGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy1oZWFkZXItbGFuZyBsaSArIGxpIHtcblx0cGFkZGluZy1sZWZ0OiAxZW07XG59XG5cbi5jLWhlYWRlci1zdGlja3kge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIG1haW4gbmF2IC8gZmlsdGVyIGxpc3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW1haW4tbmF2LFxuLmMtZmlsdGVyIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy1tYWluLW5hdi1saXN0LFxuLmMtZmlsdGVyLWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgbGksXG4uYy1maWx0ZXItbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBsaSArIGxpIHtcblx0cGFkZGluZy1sZWZ0OiAyZW07XG59XG5cbi5jLWZpbHRlci1saXN0IGxpIHtcblx0cGFkZGluZzogMCAxZW0gMWVtIDFlbTtcbn1cblxuXG4uYy1tYWluLW5hdi1saXN0IGEsXG4uYy1maWx0ZXItbGlzdCBhLFxuLmMtaGVhZGVyLWxhbmcgYXtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMC43NWVtIDA7XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgYTo6YmVmb3JlLFxuLmMtZmlsdGVyLWxpc3QgYTo6YmVmb3JlLFxuLmMtaGVhZGVyLWxhbmcgYTo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHRib3R0b206IDA7XG5cdHdpZHRoOiAwO1xuXHRoZWlnaHQ6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgYTpmb2N1czo6YmVmb3JlLFxuLmMtbWFpbi1uYXYtbGlzdCBhOmhvdmVyOjpiZWZvcmUsXG4uYy1tYWluLW5hdi1saXN0IC5jdXJyZW50LW1lbnUtaXRlbSBhOjpiZWZvcmUsXG4uYy1tYWluLW5hdi1saXN0IC5jdXJyZW50LXBhZ2UtYW5jZXN0b3IgYTo6YmVmb3JlLFxuLmMtZmlsdGVyLWxpc3QgYTpmb2N1czo6YmVmb3JlLFxuLmMtZmlsdGVyLWxpc3QgYTpob3Zlcjo6YmVmb3JlLFxuLmMtZmlsdGVyLWxpc3QgLmMtYWN0aXZlIGE6OmJlZm9yZSxcbi5jLWhlYWRlci1sYW5nIGE6Zm9jdXM6OmJlZm9yZSxcbi5jLWhlYWRlci1sYW5nIGE6aG92ZXI6OmJlZm9yZSxcbi5jLWhlYWRlci1sYW5nIC5jLWFjdGl2ZSBhOjpiZWZvcmV7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvb3RlciB7XG5cdHBhZGRpbmctdG9wOiAkc3BhY2luZy1sO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWwpO1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjhlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGFyaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1kYXJrKTtcbn1cblxuLmMtZm9vdGVyLWNsYWltIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uYy1mb290ZXItbG9nbyB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjllbTtcbn1cblxuLmMtZm9vdGVyLWNsYWltIGgyIHtcbiAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0LFxuLmMtZm9vdGVyLWxpbmstbGlzdCxcbi5jLWZvb3Rlci1zb2NpYWwtbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCBsaSxcbi5jLWZvb3Rlci1zb2NpYWwtbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCBsaTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpICsgbGksXG4uYy10ZXh0LWJsb2NrIC5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QgbGkgKyBsaSB7XG5cdHBhZGRpbmctbGVmdDogMS41ZW07XG59XG5cbi5jLWZvb3Rlci1zb2NpYWwtbGlzdCBsaSB7XG4gICAgcGFkZGluZy10b3A6IDAuNWVtO1xuXHRwYWRkaW5nLXJpZ2h0OiAwLjc1ZW07XG59XG5cbi5jLWZvb3Rlci1saW5rLWxpc3Qge1xuXHRwYWRkaW5nLWJvdHRvbTogMS41ZW07XG59XG5cbi5jLWZvb3Rlci1saW5rLWxpc3QgbGkgKyBsaSB7XG5cdHBhZGRpbmctdG9wOiAwLjc1ZW07XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyB0cmlnZ2VyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1vZmZjYW52YXMtdHJpZ2dlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRvcDogNTAlO1xuXHRyaWdodDogJGdyaWQtY29udGFpbmVyO1xuICAgIHJpZ2h0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG5cdHdpZHRoOiA0OHB4O1xuXHRoZWlnaHQ6IDQ4cHg7XG5cdG1hcmdpbjogLTI0cHggMCAwIDA7XG5cdGNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXI6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy10cmlnZ2VyOjphZnRlciB7XG5cdGNvbnRlbnQ6Jyc7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDUwJTtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjo6YWZ0ZXIge1xuXHR3aWR0aDogMzRweDtcblx0dHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOjpiZWZvcmUge1xuXHRoZWlnaHQ6IDI2cHg7XG5cdG1hcmdpbi10b3A6IC0xMnB4O1xuXHRib3JkZXItdG9wOiA0cHggc29saWQgJGNvbG9yLWhpZ2hsaWdodDtcblx0Ym9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOjphZnRlciB7XG5cdGhlaWdodDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdG1hcmdpbi10b3A6IC0xcHg7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46Zm9jdXM6OmFmdGVyLFxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjpob3Zlcjo6YWZ0ZXIge1xuXHR3aWR0aDogMjRweDtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItY2xvc2U6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy10cmlnZ2VyLWNsb3NlOjphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIGhlaWdodDogNHB4O1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLWNsb3NlOjpiZWZvcmUge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1jbG9zZTo6YWZ0ZXIge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPZmZjYW52YXMgbmF2IG1haW4gY29udGFpbmVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1vZmZjYW52YXMtbmF2IHtcblx0LypkaXNwbGF5OiBub25lOyovXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGFyaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1kYXJrKTtcblx0Y29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xuXHR6LWluZGV4OiAxMDtcblx0d2lkdGg6IDA7XG5cdGhlaWdodDogMDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0dHJhbnNpdGlvbjogaGVpZ2h0IC4ycyBlYXNlLW91dCAwcztcbn1cblxuI29wZW4tbmF2aWdhdGlvbjpub3QoOnRhcmdldCkgLmMtb2ZmY2FudmFzLW5hdiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYy1vZmZjYW52YXMtaW5uZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4taGVpZ2h0OiAxMDB2aDtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBDb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtb2ZmY2FudmFzLWNvbnRlbnQge1xuXHRwYWRkaW5nLXRvcDogMS41ZW07XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCxcbi5jLW9mZmNhbnZhcy1sYW5nLWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy1vZmZjYW52YXMtbGFuZy1saXN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IGxpICsgbGkge1xuXHRwYWRkaW5nLXRvcDogMC43NWVtO1xufVxuXG4uYy1vZmZjYW52YXMtbGFuZy1saXN0IGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICBcbn1cblxuLmMtb2ZmY2FudmFzLWxhbmctbGlzdCBsaSArIGxpIHtcblx0cGFkZGluZy1sZWZ0OiAxLjI1ZW07XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBhLFxuLmMtb2ZmY2FudmFzLWxhbmctbGlzdCBhIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMC40NWVtIDA7XG59XG5cbi5jLW9mZmNhbnZhcy1sYW5nLWxpc3QgYSB7XG5cdHBhZGRpbmc6IDAuNzVlbSAwO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgYTo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLWxhbmctbGlzdCBhOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDA7XG5cdGhlaWdodDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IGE6Zm9jdXM6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBhOmhvdmVyOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgLmN1cnJlbnQtbWVudS1pdGVtIGE6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy1sYW5nLWxpc3QgYTpmb2N1czo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLWxhbmctbGlzdCBhOmhvdmVyOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtbGFuZy1saXN0IC5jLWFjdGl2ZSBhOjpiZWZvcmUge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBuYXYgb3BlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuI29wZW4tbmF2aWdhdGlvbjp0YXJnZXQge1xuXHQuYy1vZmZjYW52YXMtbmF2IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdH1cblx0XG5cdC5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW4ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn0iLCJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBkZWtvXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1kZWNvLWNpcmNsZS1ob21lLFxuLmMtZGVjby1jaXJjbGUtdGVhc2VyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICB3aWR0aDogY2FsYygxMDB2aCAqIDEuNSk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICogMS41KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi5jLWRlY28tY2lyY2xlLXRlYXNlciB7XG4gICAgcmlnaHQ6IDMwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbiAgICBvcGFjaXR5OiAwLjI7XG59XG5cbi5jLWRlY28tY2lyY2xlLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IC04MHZ3O1xuICAgIHdpZHRoOiBjYWxjKDEwMHZ3ICogMik7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZ3ICogMik7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtZGVjby1jaXJjbGUtc2hvd3Jvb20tdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtc3BhY2luZy1zO1xuICAgIHRvcDogY2FsYyh2YXIoLS1zcGFjaW5nLXMpICogLTEpO1xuICAgIGxlZnQ6IC0xMjB2dztcbiAgICB3aWR0aDogMzAwdnc7XG4gICAgaGVpZ2h0OiAyMDB2dztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgU2hvd3Jvb20gXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1zaG93cm9vbSB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXNob3dyb29tLFxuLmMtc2hvd3Jvb20tdGV4dCAuYy1yb3cge1xuXHRtaW4taGVpZ2h0OiAxMDB2aDsgXG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWhlYWRlci1oZWlnaHQpKTsgXG59XG5cblxuLyogbWluLWhlaWdodCBmaXggZm9yIGllMTEgKi9cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICBcdC5jLXNob3dyb29tLXRleHQgLmMtcm93OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWluLWhlaWdodDogaW5oZXJpdDtcblx0XHRmb250LXNpemU6IDA7XG5cdH1cbn1cblxuXG4uYy1zaG93cm9vbS1pbWcge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuXG4uYy1zaG93cm9vbS1pbWcgaW1nIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFRlYXNlciBDVEFcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXRlYXNlci1jdGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBTZXJ2aWNlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc2VydmljZXMtaWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIGZpbHRlciAvIGNvbnRhY3QgLyBwYXJ0bmVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1maWx0ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmMtZmlsdGVyOjpiZWZvcmUsXG4uYy1jb250YWN0OjpiZWZvcmUsXG4uYy1jb250YWN0OjphZnRlcixcbi5jLXBhcnRuZXI6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAyNHB4O1xuICAgIGxlZnQ6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDhweCk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtICh2YXIoLS1ncmlkLWNvbnRhaW5lcikgKiAyKSk7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpOyAgICBcbn1cblxuLmMtY29udGFjdDo6YWZ0ZXIge1xuICAgIHRvcDogMTAwJTtcbiAgICBcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgdGVhbVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGVhbS1pdGVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tKTtcbn1cblxuLmMtcmF0aW9ib3gtdGVhbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctcztcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBBY2NvcmRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWFjY29yZGlvbi1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yLWhpZ2hsaWdodDtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1hY2NvcmRpb24tY29udGFpbmVyICsgLmMtYWNjb3JkaW9uLWNvbnRhaW5lciB7XG5cdGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi5jLWFjY29yZGlvbi10aXRsZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cGFkZGluZzogMC45ZW0gMCAwLjhlbSA0NHB4O1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1hY2NvcmRpb24tdGl0bGU6aG92ZXIge1xuXHRjb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtYWNjb3JkaW9uLWNoZWNrIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAtOTk5OXB4O1xufVxuXG4uYy1hY2NvcmRpb24tY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YWZ0ZXIsXG4uYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YWZ0ZXIsXG4uYy1hY2NvcmRpb24tY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDFlbTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG59XG5cbi5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjphZnRlcixcbi5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlciB7XG4gICAgbGVmdDogMDtcblx0bWFyZ2luLXRvcDogMTBweDtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1hY2NvcmRpb24tY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSB7XG4gICAgbGVmdDogMTBweDtcblx0d2lkdGg6IDRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSB7XG4gICBcdGJhY2tncm91bmQtY29sb3I6ICB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4vKiBDb250ZW50cyAqL1xuLmMtYWNjb3JkaW9uLWNvbnRlbnQge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRtYXgtaGVpZ2h0OiAwO1xuIFx0dHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGN1YmljLWJlemllcigwLDEsMCwxKTtcbn1cblxuLmMtYWNjb3JkaW9uLWlubmVyIHtcblx0cGFkZGluZzogJHNwYWNpbmctbSAwICRzcGFjaW5nLXMgMDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLW0pIDAgdmFyKC0tc3BhY2luZy1zKSAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbn1cblxuLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQgfiAuYy1hY2NvcmRpb24tY29udGVudCB7XG5cdG1heC1oZWlnaHQ6IDk5OTlweDtcbiBcdHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBjdWJpYy1iZXppZXIoMSwwLDEsMCk7XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBsb2dvd2FsbCBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmMtbG9nb3dhbGwtbGlzdHtcblx0ZGlzcGxheTpmbGV4O1xuXHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLWxlZnQ6ICRncmlkLXJvdztcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ3JpZC1yb3cpO1xufVxuXG5cbi5jLWxvZ293YWxsLWxpc3QgbGkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctcmlnaHQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG5cblxuLmMtbG9nb3dhbGwtbWFpbi1saXN0IGxpLFxuLmMtbG9nb3dhbGwtc3BlY2lhbGl6ZWQtbGlzdCBsaSB7XG5cdC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5jLWxvZ293YWxsLXNwZWNpYWxpemVkLWxpc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmctbCkgLSB2YXIoLS1zcGFjaW5nLXMpKTtcbn1cblxuLmMtbG9nb3dhbGwtc3BlY2lhbGl6ZWQtbGlzdCBsaSB7XG4gICAgbWFyZ2luLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctcztcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbn1cblxuLmMtbG9nb3dhbGwtcGFydG5lci1saXN0IGxpIHtcblx0LXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAyNSU7XG4gICAgLW1zLWZsZXg6IDAgMCAyNSU7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6ICAyNSU7XG59XG5cbi5jLWxvZ293YWxsLWxvZ28ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdC8qZmxleC1ncm93OiAxOyovXG5cdGZsZXg6IDEgMCBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmMtbG9nb3dhbGwtbG9nbzo6YmVmb3JlIHtcbiBcdGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiA3NSU7XG5cdGZsb2F0OmxlZnQ7XG59XG5cblxuXG4uYy1sb2dvd2FsbC1sb2dvIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA4MCU7XG4gICAgaGVpZ2h0OiA4MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgbmV3c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtbmV3cy1pdGVtLWltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4uYy1uZXdzLXJlZmVyZW5jZXMgLmMtbmV3cy1pdGVtLWltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmMtbmV3cy10ZXh0LW9ubHkgLmMtbmV3cy1pdGVtLWlubmVyIHtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICAgIHBhZGRpbmc6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbiAgICBib3JkZXI6IHNvbGlkIDJweCAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtbmV3cy10ZXN0aW1vbmlhbCAuYy1uZXdzLWl0ZW0taW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgICAgXG59XG5cbi5jLW5ld3MtdGVzdGltb25pYWwgLmMtY2F0ZWdvcnkgKyBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07IFxufVxuXG4uYy1uZXdzLWJ0bi1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgVGVhc2VyIGljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZWFzZXItaWNvbnMtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbn1cblxuLmMtdGVhc2VyLWljb25zLWltZyB7XG4gICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4uYy10ZWFzZXItaWNvbnMtaW1nIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLXRlYXNlci1pY29ucy1pdGVtIC5jLWljb24tYXJyb3cge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uYy10ZWFzZXItbGluazo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQ29va2llIG5vdGljZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29va2llLW5vdGljZXtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcblx0cmlnaHQ6IDI0cHg7XG4gICAgcmlnaHQ6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbiAgICBib3R0b206IDI0cHg7XG4gICAgYm90dG9tOiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIHBhZGRpbmc6IDEuNXJlbSAzMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cdGJvcmRlcjogc29saWQgNHB4ICRiZy1jb250ZW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtY29va2llLW5vdGljZS1saXN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1jb29raWUtbm90aWNlLWxpc3QgbGk6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtY29va2llLW5vdGljZS1saXN0IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC41ZW0gMC41ZW0gMCAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpIHsgICAgXG5cdC5jLWNvb2tpZS1ub3RpY2Uge1xuXHRcdHdpZHRoOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJvcmRlci10b3A6IHNvbGlkIDRweCAkYmctY29udGVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcblx0fVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBhbmNob3IgbGlua3Mgc2Nyb2xsIHBhZGRpbmctdG9wXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sIHtcbiAgICBzY3JvbGwtcGFkZGluZy10b3A6IDJyZW07XG4gICAgc2Nyb2xsLXBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLW0pO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rIGNvbG9ycyBhbmQgc3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hW2hyZWZePVwidGVsOlwiXSB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtdGV4dC1ibG9jayBhIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwkdGV4dC1jb2xvci1saW5rIDAlLCR0ZXh0LWNvbG9yLWxpbmsgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSx2YXIoLS10ZXh0LWNvbG9yLWxpbmspIDAlLHZhcigtLXRleHQtY29sb3ItbGluaykgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDJweCAycHg7XG4gIFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMXM7XG59XG5cbi5jLXRleHQtYmxvY2sgYTpmb2N1cyxcbi5jLXRleHQtYmxvY2sgYTpob3ZlciB7XG5cdGJhY2tncm91bmQtc2l6ZTogM3B4IDNweDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1idG4sXG4uYy10ZXh0LWJsb2NrIC5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbi5jLXRleHQtYmxvY2sgLmMtbGluay1hcnJvdyxcbi5jLXRleHQtYmxvY2sgLmMtbGluay1kb3dubG9hZCxcbi5jLXRleHQtYmxvY2sgLmMtbGluay1leHRlcm4sXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstYmFjayB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCdXR0b24gXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1idG4sXG4uYy1idG4tb3V0bGluZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcblx0cGFkZGluZzogMS4yZW0gMzJweCAxZW0gMzJweDtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICBcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHRmb250LXNpemU6IDFyZW07XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLWJ0bi1vdXRsaW5lIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uYy1idG46OmJlZm9yZSxcbi5jLWJ0bi1vdXRsaW5lOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IHNvbGlkIDRweCAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbn1cblxuLmMtYnRuOmZvY3VzOjpiZWZvcmUsXG4uYy1idG46aG92ZXI6OmJlZm9yZSxcbi5jLWJ0bi1vdXRsaW5lOmZvY3VzOjpiZWZvcmUsXG4uYy1idG4tb3V0bGluZTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0b3A6IC00cHg7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyA4cHgpO1xufVxuXG4uYy1idG4sXG4uYy1idG46dmlzaXRlZCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbn1cblxuLmMtYnRuOmhvdmVyLCBcbi5jLWJ0bjpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3Zlcixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG59XG5cblxuLmMtYnRuLXNtYWxsLFxuLmMtYnRuLXNtYWxsOnZpc2l0ZWQsXG4uYy1idG4tc21hbGw6aG92ZXIsXG4uYy1idG4tc21hbGw6Zm9jdXMge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBhZGRpbmc6IDAuODVlbSAyMHB4IDAuNzVlbSAyMHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBsaW5rcyB3aXRoIGljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1pY29uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1pY29uOjpiZWZvcmUsXG4uYy1pY29uOjphZnRlciB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL3Nwcml0ZS5zdmcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uYy1saW5rLWljb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmctbGVmdDogMjhweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xufVxuXG4uYy1saW5rLWljb246Zm9jdXMsXG4uYy1saW5rLWljb246aG92ZXIge1xuXHRwYWRkaW5nLWxlZnQ6IDM2cHg7XG59XG5cbi5jLWljb24tYXJyb3cge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDFyZW07XG59XG5cbi5jLWxpbmstYXJyb3c6OmJlZm9yZSxcbi5jLWxpbmstYmFjazo6YmVmb3JlLFxuLmMtaWNvbi1hcnJvdzo6YmVmb3Jle1xuXHR0b3A6IDAuMjZlbTtcblx0bGVmdDogMDtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMTZweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xufVxuXG4uYy1saW5rLWFycm93OmhvdmVyOjpiZWZvcmUsXG4uYy1saW5rLWFycm93OmZvY3VzOjpiZWZvcmUsXG4uYy10ZWFzZXItaWNvbnMtaXRlbTpob3ZlciAuYy1pY29uLWFycm93OjpiZWZvcmUsXG4uYy10ZWFzZXItaWNvbnMtaXRlbTpmb2N1cy13aXRoaW4gLmMtaWNvbi1hcnJvdzo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAwO1xufVxuXG5cblxuLmMtdGV4dC1saWdodCAuYy1saW5rLWFycm93OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQwcHg7XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtbGluay1hcnJvdzpob3Zlcjo6YmVmb3JlLFxuLmMtdGV4dC1saWdodCAuYy1saW5rLWFycm93OmZvY3VzOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC00MHB4O1xufVxuXG4uYy1saW5rLWJhY2s6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2MHB4O1xufVxuXG4uYy1saW5rLWJhY2s6aG92ZXI6OmJlZm9yZSxcbi5jLWxpbmstYmFjazpmb2N1czo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTE2MHB4O1xufVxuXG4uYy1saW5rLWRvd25sb2FkOjpiZWZvcmUge1xuXHR0b3A6IDAuMjZlbTtcblx0bGVmdDogMDtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTdweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODBweDtcbn1cblxuLmMtbGluay1kb3dubG9hZDpob3Zlcjo6YmVmb3JlLFxuLmMtbGluay1kb3dubG9hZDpmb2N1czo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTgwcHg7XG59XG5cbi5jLWxpbmstZXh0ZXJuOjpiZWZvcmUge1xuXHR0b3A6IDAuMTJlbTtcblx0bGVmdDogMDtcblx0d2lkdGg6IDE4cHg7XG5cdGhlaWdodDogMThweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTIwcHg7XG59XG5cbi5jLWxpbmstZXh0ZXJuOmhvdmVyOjpiZWZvcmUsXG4uYy1saW5rLWV4dGVybjpmb2N1czo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTEyMHB4O1xufVxuXG4uYy1saW5rLXNvY2lhbC1mYixcbi5jLWxpbmstc29jaWFsLWxpbmtlZGluIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIHdpZHRoOiA1NnB4O1xufVxuXG4uYy1saW5rLXNvY2lhbC1mYjo6YmVmb3JlLFxuLmMtbGluay1zb2NpYWwtbGlua2VkaW46OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIHdpZHRoOiA1NnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwMHB4O1xufVxuXG4uYy1saW5rLXNvY2lhbC1saW5rZWRpbjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yODBweDtcbn1cblxuLmMtbGluay1zb2NpYWwtZmI6Zm9jdXM6OmJlZm9yZSxcbi5jLWxpbmstc29jaWFsLWZiOmhvdmVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMDBweDtcbn1cblxuLmMtbGluay1zb2NpYWwtbGlua2VkaW46Zm9jdXM6OmJlZm9yZSxcbi5jLWxpbmstc29jaWFsLWxpbmtlZGluOmhvdmVyOjpiZWZvcmV7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTI4MHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICByZXNwb25zaXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkgeyAgIFxuXHQuYy1saW5rLWFycm93OjpiZWZvcmUsXG5cdC5jLWxpbmstYmFjazo6YmVmb3JlIHtcblx0XHR0b3A6IDAuMmVtO1xuXHR9XG5cdFxuXHQuYy1saW5rLWRvd25sb2FkOjpiZWZvcmUge1xuXHRcdHRvcDogMC4yZW07XG5cdH1cblx0XG5cdC5jLWxpbmstZXh0ZXJuOjpiZWZvcmUge1xuXHRcdHRvcDogMC4wNmVtO1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJhdGlvIEJveFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtcmF0aW9ib3gge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogMDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXJhdGlvYm94ID4gaW1nLFxuLmMtcmF0aW9ib3ggPiBpZnJhbWUsXG4uYy1yYXRpb2JveCA+IG9iamVjdCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG59XG5cbi5jLXJhdGlvYm94ID4gaW1nIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcdFxufVxuXG4uYy1yYXRpb2JveCA+IGlmcmFtZSxcbi5jLXJhdGlvYm94ID4gb2JqZWN0IHtcblx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbi5jLXJhdGlvYm94LTE2Ynk5IHtcblx0cGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLmMtcmF0aW9ib3gtNGJ5Myxcbi5jLXJhdGlvYm94LXRlYW0ge1xuXHRwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuXG4uYy1yYXRpb2JveC0xYnkxIHtcblx0cGFkZGluZy1ib3R0b206IDEwMCU7XG59XG5cbi5jLXJhdGlvYm94LXNob3dyb29tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzguNjkwNDc2MTkwNDc2MTklO1xufVxuXG4uYy1yYXRpb2JveC1zaG93cm9vbSBpbWcsXG4uYy1yYXRpb2JveC10ZWFtIGltZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogc2FmYXJpIGZvcm0gZml4ICovXG5pbnB1dCxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxudGV4dGFyZWEge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogcmVtb3ZlIGNocm9tZSBhdXRvZmlsbCB5ZWxsb3cgY29sb3IgKi9cbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAyMDAwcztcbn1cblxuLmMtZm9ybS1pdGVtIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG59XG5cbi5jLWZvcm0tdGV4dC1ibG9jayB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG59XG5cbi5jLWZvcm0tc2VwYXJhdG9yIHtcbiAgICBtYXJnaW46ICRzcGFjaW5nLW0gMDtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmctbSkgLSB2YXIoLS1zcGFjaW5nLXMpKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLW0pO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMnB4ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgZm9ybWZpZWxkc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInRlbFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCB0ZXh0YXJlYSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXI6IHNvbGlkIDJweCAkYm9yZGVyLWZvcm07XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybSk7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdHBhZGRpbmc6IDAuNzVlbSAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCB0ZXh0YXJlYSB7XG5cdG1pbi1oZWlnaHQ6IDEyZW07XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgdGV4dGFyZWE6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6ICRib3JkZXItZm9ybS1mb2N1cztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtLWZvY3VzKTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGV4dFwiXTpkaXNhYmxlZCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmRpc2FibGVkLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidXJsXCJdOmRpc2FibGVkLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpkaXNhYmxlZCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCB0ZXh0YXJlYTpkaXNhYmxlZCB7XG5cdGJvcmRlci1jb2xvcjogJGZvcm0tZGlzYWJsZWQ7XG5cdGNvbG9yOiAkZm9ybS1kaXNhYmxlZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xuXHRjb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgLmMtZm9ybS1sYWJlbC10ZXh0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctYm90dG9tOiAwLjM1ZW07XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGNoZWNrYm94IC8gcmFkaW9zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNy1saXN0LWl0ZW0ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIC5jLWZvcm0tbXVsdGlsaW5lIC53cGNmNy1saXN0LWl0ZW0ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmctcmlnaHQ6IDEuNmVtO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJde1xuICAgIG1hcmdpbjogNHB4IDAgMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCl7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC05OTk5cHg7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdK3NwYW4sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXStzcGFuLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0rc3Bhbixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdK3NwYW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCtzcGFuLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKStzcGFuLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCtzcGFuLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKStzcGFue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICBwYWRkaW5nLXRvcDogMC41NWVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblx0bWluLWhlaWdodDogNDRweDtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCtzcGFuOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpK3NwYW46OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQrc3Bhbjo6YmVmb3JlLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKStzcGFuOjpiZWZvcmV7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwLjE1ZW07XG4gICAgd2lkdGg6IDM4cHg7XG4gICAgaGVpZ2h0OiAzOHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRib3JkZXItZm9ybTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCtzcGFuOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpK3NwYW46OmJlZm9yZXtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzK3NwYW46OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzK3NwYW46OmJlZm9yZXtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItZm9ybS1mb2N1cztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtLWZvY3VzKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCtzcGFuOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkK3NwYW46OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQrc3Bhbjo6YWZ0ZXIsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpK3NwYW46OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDAuMTVlbSArIDVweCk7XG4gICAgbGVmdDogMTFweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDIycHg7XG5cdGJvcmRlcjogc29saWQgJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdGJvcmRlci13aWR0aDogMCA0cHggNHB4IDA7XG5cdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCtzcGFuOjphZnRlcixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkrc3Bhbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMC4xNWVtICsgOXB4KTtcbiAgICBsZWZ0OiA5cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpK3NwYW46OmFmdGVye1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkrc3Bhbjo6YWZ0ZXJ7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xufVxuXG4uZ2Zvcm1fZmllbGRzIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkK3NwYW46OmFmdGVyLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCtzcGFuOjphZnRlcntcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkK3NwYW46OmFmdGVye1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQrc3Bhbjo6YmVmb3JlLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQrc3Bhbjo6YWZ0ZXIsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCtzcGFuOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCtzcGFuOjphZnRlciB7XG5cdGNvbG9yOiAkZm9ybS1kaXNhYmxlZDtcbiAgICBjb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG5cdGJvcmRlci1jb2xvcjogJGZvcm0tZGlzYWJsZWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGRyb3Bkb3duXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDAuNzVlbSAzMHB4IDAuNzVlbSAxMHB4ICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0Ym9yZGVyOiAycHggc29saWQgJGJvcmRlci1mb3JtO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0pO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cdGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9pY29uLWZvcm0tYXJyb3cuc3ZnXCIpIHJpZ2h0IGNlbnRlciBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGxpbmUtaGVpZ2h0OiAxLjE4cmVtICFpbXBvcnRhbnQ7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0LW1vei1hcHBlYXJhbmNlOiBub25lO1xuXHRhcHBlYXJhbmNlOiBub25lO1x0XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItZm9ybS1mb2N1cztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtLWZvY3VzKTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBzZWxlY3Qgb3B0aW9uIHtcblx0cGFkZGluZzogMDtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdDpkaXNhYmxlZDo6LW1zLWV4cGFuZCB7XG5cdGNvbG9yOiAkZm9ybS1kaXNhYmxlZDtcbiAgICBjb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0OmRpc2FibGVkLFxuLmMtZm9ybS1zdGFuZGFyZCBzZWxlY3RbZGlzYWJsZWRdIHtcblx0Y29sb3I6ICRmb3JtLWRpc2FibGVkO1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcblx0Ym9yZGVyLWNvbG9yOiAkZm9ybS1kaXNhYmxlZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgZmlsZSBidXR0b25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1maWxlXSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAwO1xuXHRmb250LXNpemU6IDAuNzZyZW07XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb3JtLXRleHQtc21hbGwpO1xufVxuXG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay1kZWZhdWx0O1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXN0YWNrLWRlZmF1bHQpO1xuXHRmb250LXNpemU6IDFyZW07XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0bWFyZ2luLXJpZ2h0OiAwLjc1ZW07XG5cdHBhZGRpbmc6IDEuMmVtIDMycHggMWVtIDMycHg7XG5cdGJvcmRlcjogNHB4IHNvbGlkICR0ZXh0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuXHRsaW5lLWhlaWdodDogMTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdGJvcmRlci1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgd3A3IGVycm9yIC8gb2sgbWVzc2FnZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9ybS1zdGFuZGFyZCAud3BjZjctcmVzcG9uc2Utb3V0cHV0LFxuLmMtZm9ybS1zdGFuZGFyZCAud3BjZjcgZm9ybSAud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGFyaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1kYXJrKTtcblx0cGFkZGluZzogMS41ZW0gJGdyaWQtY29udGFpbmVyO1xuICAgIHBhZGRpbmc6IDEuNWVtIHZhcigtLWdyaWQtY29udGFpbmVyKTtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcblx0bWFyZ2luOiAwIDAgJHNwYWNpbmctbSAwO1xuXHRmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cdGJvcmRlcjogbm9uZTsgXG59XG5cblxuLmMtZm9ybS1zdGFuZGFyZCAud3BjZjctbm90LXZhbGlkLXRpcCxcbi5jLWZvcm0tc3RhbmRhcmQgLnNjcmVlbi1yZWFkZXItcmVzcG9uc2UsXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuICAgIGZvbnQtc2l6ZTogMC43NnJlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvcm0tdGV4dC1zbWFsbCk7XG59XG5cbi8qIGVycm9yICovXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNy1ub3QtdmFsaWQtdGlwLFxuLmMtZm9ybS1zdGFuZGFyZCAuc2NyZWVuLXJlYWRlci1yZXNwb25zZSB7XG5cdGNvbG9yOiAkZm9ybS1lcnJvcjtcbiAgICBjb2xvcjogdmFyKC0tZm9ybS1lcnJvcik7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgLndwY2Y3LW5vdC12YWxpZC10aXAge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy10b3A6IDAuMzVlbTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dC53cGNmNy1ub3QtdmFsaWQge1xuXHRib3JkZXItY29sb3I6ICRmb3JtLWVycm9yO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1lcnJvcik7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgZm9ybS5pbnZhbGlkIC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1lcnJvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb3JtLWVycm9yKTtcbn1cblxuLyogb2sgKi9cbi5jLWZvcm0tc3RhbmRhcmQgZm9ybS5zZW50IC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1vaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb3JtLW9rKTtcbn1cblxuLndwY2Y3LWZvcm0uaW5pdCAud3BjZjctcmVzcG9uc2Utb3V0cHV0e1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi53cGNmNyAuc2NyZWVuLXJlYWRlci1yZXNwb25zZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLndwY2Y3LWZvcm0uc2VudCAuYy1mb3JtLXN0YW5kYXJke1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICB3cDcgc3Bpbm5lclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZm9ybS5zdWJtaXR0aW5nIC53cGNmNy1zcGlubmVyIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNy1zcGlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IC00cHggMjRweDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNsaWRlciBUZXN0aW1vbmlhbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGVzdGltb25pYWwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXRlc3RpbW9uaWFsLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy1tIDA7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1tKSAwO1xuICAgIHdpZHRoOiA2MzBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjE1MDBweCkgeyAgXG4gICAgLmMtdGVzdGltb25pYWwtaXRlbSB7XG4gICAgICAgIHdpZHRoOiA1NDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMjAwcHgpIHsgIFxuICAgIC5jLXRlc3RpbW9uaWFsLWl0ZW0ge1xuICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY4cHgpIHsgIFxuICAgIC5jLXRlc3RpbW9uaWFsLWl0ZW0ge1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MzUwcHgpIHsgIFxuICAgIC5jLXRlc3RpbW9uaWFsLWl0ZW0ge1xuICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWVkaWFzbGlkZXIgLyBTbGlkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW1lZGlhc2xpZGVyIC5jLXNsaWRlciB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5jLXNsaWRlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKm92ZXJmbG93LXg6IHNjcm9sbDsqL1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgIC8vIElFIDEwK1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgIC8vIEZpcmVmb3hcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7ICAvLyBTYWZhcmkgYW5kIENocm9tZVxuICAgIH1cbn1cblxuLmMtc2xpZGVyLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLmMtc2xpZGVyLWxpc3QgbGkge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDJweCAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tKTtcbn1cblxuLmMtc2xpZGVyLWxpc3QgbGkgKyBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgc2xpZGVyIGNvbnRyb2xcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1zbGlkZXItY29udHJvbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IC0kc3BhY2luZy1tO1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2luZy1tKSAqIC0xKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmLm1vYmlsZXtcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgIH1cbn1cblxuLmMtc2xpZGVyLWNvbnRyb2wtbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYy1zbGlkZXItY29udHJvbC1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogc29saWQgNHB4ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xufVxuXG4uYy1zbGlkZXItY29udHJvbC1saW5rOmZvY3VzLFxuLmMtc2xpZGVyLWNvbnRyb2wtbGluazpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIGJvcmRlci13aWR0aDogM3B4O1xufVxuXG4uYy1hY3RpdmUgLmMtc2xpZGVyLWNvbnRyb2wtbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1zbGlkZXItY29udHJvbC1saXN0IGxpICsgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMC43NWVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgc2xpZGVyIHJlZmVyZW5jZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXNsaWRlci1yZWZlcmVuY2VzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWxpZ2h0KTtcbn1cblxuLmMtcmVmZXJlbmNlcy1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLXJlZmVyZW5jZXMtaXRlbS1pbWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiAwO1xuXHRkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTogNjYuNjY2NjY2NjclO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXJlZmVyZW5jZXMtaXRlbS1pbWcgPiBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uYy1zbGlkZXItcmVmZXJlbmNlcyAuYy1zbGlkZXItY29udHJvbC1saXN0IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogLTQwcHg7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBGdXR1cmUgbGl2aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mdXR1cmUtbGl2aW5nIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1mdXR1cmUtbGl2aW5nLWNoZWNrIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAtOTk5OXB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBGdXR1cmUgbGl2aW5nIE5hdlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZnV0dXJlLWxpdmluZy1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQ7XG4gICAgZmxleC1mbG93OiByb3c7XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDJweCAkYmctY29udGVudDtcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCAkYmctY29udGVudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuICAgIFxufVxuXG4uYy1mdXR1cmUtbGl2aW5nLXRpdGxlLFxuLmMtZnV0dXJlLWxpdmluZy1hY2NvcmRpb24tdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAyNHB4O1xuICAgIHBhZGRpbmc6IHZhcigtLWZ1dHVyZS1saXZpbmctdGl0bGUtcGFkZGluZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jLWZ1dHVyZS1saXZpbmctdGl0bGUge1xuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAycHggJGJnLWNvbnRlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAycHggJGJnLWNvbnRlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjY2NjY2NyU7XG59XG5cbi5jLWZ1dHVyZS1saXZpbmctdGl0bGUgLmMtaDMsXG4uYy1mdXR1cmUtbGl2aW5nLWFjY29yZGlvbi10aXRsZSAgLmMtaDMge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLmMtZnV0dXJlLWxpdmluZy10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OicnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG59XG5cbi5jLWZ1dHVyZS1saXZpbmctdGl0bGU6aG92ZXI6OmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGhlaWdodDogdmFyKC0tZnV0dXJlLWxpdmluZy10aXRsZS1ob3Zlci1oZWlnaHQpXG59XG5cbi5jLWZ1dHVyZS1saXZpbmctdGl0bGUgc3Bhbixcbi5jLWZ1dHVyZS1saXZpbmctYWNjb3JkaW9uLXRpdGxlIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIFxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBDb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mdXR1cmUtbGl2aW5nLWRlc2Mge1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy1tO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLW0pO1xufVxuXG4uYy1mdXR1cmUtbGl2aW5nLWRlc2MgaDIsXG4uYy1mdXR1cmUtbGl2aW5nLW1vYmlsZSBoMiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWZ1dHVyZS1saXZpbmctZGVzYy1jb250ZW50IHtcbiAgIG1pbi1oZWlnaHQ6IDEzZW07XG59XG5cbi5jLWZ1dHVyZS1saXZpbmctZGVzYy1jb250ZW50LFxuLmMtZnV0dXJlLWxpdmluZy1pbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBGdXR1cmUgbGl2aW5nIFN0YXRlcyBEZXNrdG9wXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jZnV0dXJlbGl2aW5nLTBbdHlwZT1yYWRpb117XHRcdFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW1haW4gLmMtZnV0dXJlLWxpdmluZy1kZXNjLWNvbnRlbnQtMCxcblx0JjpjaGVja2VkIH4gLmMtZnV0dXJlLWxpdmluZy1tYWluIC5jLWZ1dHVyZS1saXZpbmctaW1nLTAge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTAsXG4gICAgJjpjaGVja2VkIH4gLmMtZnV0dXJlLWxpdmluZy1uYXYgLmMtZnV0dXJlLWxpdmluZy10aXRsZS0wOjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG5cdH1cbiAgICBcbiAgICAmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTA6OmJlZm9yZSB7XG5cdFx0aGVpZ2h0OiB2YXIoLS1mdXR1cmUtbGl2aW5nLXRpdGxlLWhvdmVyLWhlaWdodClcblx0fVxufVxuXG4jZnV0dXJlbGl2aW5nLTFbdHlwZT1yYWRpb117XHRcdFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW1haW4gLmMtZnV0dXJlLWxpdmluZy1kZXNjLWNvbnRlbnQtMSxcblx0JjpjaGVja2VkIH4gLmMtZnV0dXJlLWxpdmluZy1tYWluIC5jLWZ1dHVyZS1saXZpbmctaW1nLTEge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTEsXG4gICAgJjpjaGVja2VkIH4gLmMtZnV0dXJlLWxpdmluZy1uYXYgLmMtZnV0dXJlLWxpdmluZy10aXRsZS0xOjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG5cdH1cbiAgICBcbiAgICAmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTE6OmJlZm9yZSB7XG5cdFx0aGVpZ2h0OiB2YXIoLS1mdXR1cmUtbGl2aW5nLXRpdGxlLWhvdmVyLWhlaWdodClcblx0fVxufVxuXG4jZnV0dXJlbGl2aW5nLTJbdHlwZT1yYWRpb117XHRcdFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW1haW4gLmMtZnV0dXJlLWxpdmluZy1kZXNjLWNvbnRlbnQtMixcblx0JjpjaGVja2VkIH4gLmMtZnV0dXJlLWxpdmluZy1tYWluIC5jLWZ1dHVyZS1saXZpbmctaW1nLTIge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTIsXG4gICAgJjpjaGVja2VkIH4gLmMtZnV0dXJlLWxpdmluZy1uYXYgLmMtZnV0dXJlLWxpdmluZy10aXRsZS0yOjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG5cdH1cbiAgICBcbiAgICAmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTI6OmJlZm9yZSB7XG5cdFx0aGVpZ2h0OiB2YXIoLS1mdXR1cmUtbGl2aW5nLXRpdGxlLWhvdmVyLWhlaWdodClcblx0fVxufVxuXG4jZnV0dXJlbGl2aW5nLTNbdHlwZT1yYWRpb117XHRcdFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW1haW4gLmMtZnV0dXJlLWxpdmluZy1kZXNjLWNvbnRlbnQtMyxcblx0JjpjaGVja2VkIH4gLmMtZnV0dXJlLWxpdmluZy1tYWluIC5jLWZ1dHVyZS1saXZpbmctaW1nLTMge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTMsXG4gICAgJjpjaGVja2VkIH4gLmMtZnV0dXJlLWxpdmluZy1uYXYgLmMtZnV0dXJlLWxpdmluZy10aXRsZS0zOjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG5cdH1cbiAgICBcbiAgICAmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTM6OmJlZm9yZSB7XG5cdFx0aGVpZ2h0OiB2YXIoLS1mdXR1cmUtbGl2aW5nLXRpdGxlLWhvdmVyLWhlaWdodClcblx0fVxufVxuXG4jZnV0dXJlbGl2aW5nLTRbdHlwZT1yYWRpb117XHRcdFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW1haW4gLmMtZnV0dXJlLWxpdmluZy1kZXNjLWNvbnRlbnQtNCxcblx0JjpjaGVja2VkIH4gLmMtZnV0dXJlLWxpdmluZy1tYWluIC5jLWZ1dHVyZS1saXZpbmctaW1nLTQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTQsXG4gICAgJjpjaGVja2VkIH4gLmMtZnV0dXJlLWxpdmluZy1uYXYgLmMtZnV0dXJlLWxpdmluZy10aXRsZS00OjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG5cdH1cbiAgICBcbiAgICAmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTQ6OmJlZm9yZSB7XG5cdFx0aGVpZ2h0OiB2YXIoLS1mdXR1cmUtbGl2aW5nLXRpdGxlLWhvdmVyLWhlaWdodClcblx0fVxufVxuXG4jZnV0dXJlbGl2aW5nLTVbdHlwZT1yYWRpb117XHRcdFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW1haW4gLmMtZnV0dXJlLWxpdmluZy1kZXNjLWNvbnRlbnQtNSxcblx0JjpjaGVja2VkIH4gLmMtZnV0dXJlLWxpdmluZy1tYWluIC5jLWZ1dHVyZS1saXZpbmctaW1nLTUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdFxuXHQmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTUsXG4gICAgJjpjaGVja2VkIH4gLmMtZnV0dXJlLWxpdmluZy1uYXYgLmMtZnV0dXJlLWxpdmluZy10aXRsZS01OjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG5cdH1cbiAgICBcbiAgICAmOmNoZWNrZWQgfiAuYy1mdXR1cmUtbGl2aW5nLW5hdiAuYy1mdXR1cmUtbGl2aW5nLXRpdGxlLTU6OmJlZm9yZSB7XG5cdFx0aGVpZ2h0OiB2YXIoLS1mdXR1cmUtbGl2aW5nLXRpdGxlLWhvdmVyLWhlaWdodClcblx0fVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBNb2JpbGUgTGF5b3V0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mdXR1cmUtbGl2aW5nLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4uYy1mdXR1cmUtbGl2aW5nLW1vYmlsZSAuYy1hY2NvcmRpb24tY29udGFpbmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcbiAgICBib3JkZXItd2lkdGg6IDRweDtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbn1cblxuLmMtZnV0dXJlLWxpdmluZy1hY2NvcmRpb24tdGl0bGUge1xuXHRwYWRkaW5nLXJpZ2h0OiA1NnB4O1xufVxuXG4uYy1mdXR1cmUtbGl2aW5nLWFjY29yZGlvbi10aXRsZTpob3Zlcixcbi5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIC5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVse1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xufVxuXG5cbi5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIC5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjphZnRlcixcbi5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIC5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlcixcbi5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIC5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4uYy1mdXR1cmUtbGl2aW5nLW1vYmlsZSAuYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3JlIHtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTJweCk7XG4gICAgbGVmdDogYXV0bztcbn1cblxuLmMtZnV0dXJlLWxpdmluZy1tb2JpbGUgLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmFmdGVyLFxuLmMtZnV0dXJlLWxpdmluZy1tb2JpbGUgLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmFmdGVyIHtcbiAgICByaWdodDogMjRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLmMtZnV0dXJlLWxpdmluZy1tb2JpbGUgLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmJlZm9yZSxcbi5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIC5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmUge1xuICAgIHJpZ2h0OiAzNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYy1mdXR1cmUtbGl2aW5nLW1vYmlsZSAuYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YmVmb3JlIHtcbiAgIFx0YmFja2dyb3VuZC1jb2xvcjogIHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xufVxuXG4uYy1mdXR1cmUtbGl2aW5nLW1vYmlsZSAuYy1hY2NvcmRpb24taW5uZXIge1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLW0pIDAgdmFyKC0tc3BhY2luZy1tKSAwO1xuXG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgUmVzcG9uc2l2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjExOTlweCkgeyBcbiAgICAuYy1mdXR1cmUtbGl2aW5nLW1haW4gLmMtY29sLTcsXG4gICAgLmMtZnV0dXJlLWxpdmluZy1kZXNjLFxuICAgIC5jLWZ1dHVyZS1saXZpbmctbmF2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmMtZnV0dXJlLWxpdmluZy1tYWluIC5jLWNvbC01IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgICAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7XG4gICAgfVxuICAgIFxuICAgIC5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3MDBweCkgeyBcbiAgICAuYy1mdXR1cmUtbGl2aW5nLW1vYmlsZSAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtZnV0dXJlLWxpdmluZy1tb2JpbGUgLmMtY29sLTYgKyAuYy1jb2wtNntcbiAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLXM7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgIH1cbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZpZXdwb3J0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ALW1zLXZpZXdwb3J0IHtcblx0d2lkdGg6IGRldmljZS13aWR0aDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1lZGlhcXVlcmllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE5MjFweCkge1xuICAgIC5jLWNvbnRhaW5lci1tZWRpdW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDE4MDBweDtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDE4MDBweCArICh2YXIoLS1ncmlkLWNvbnRhaW5lcikgKiAyKSk7IC8qIG1heCBicmVpdGUgcGx1cyBwYWRkaW5nICogMiA1NnB4Ki9cbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE3NDBweCkge1xuXHQvKiBjb250YWluZXIgbWF4IHdpZHRoICovXG5cdC5jLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTYwMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTYwMHB4ICsgKHZhcigtLWdyaWQtY29udGFpbmVyKSAqIDIpKTsgLyogbWF4IGJyZWl0ZSBwbHVzIHBhZGRpbmcgKiAyIDU2cHgqL1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5jLWFzeW0tcmlnaHQtZWRnZWxlc3MsXG4gICAgLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB3aWR0aDogY2FsYyg4MDBweCArIDUwJSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDgwMHB4ICsgdmFyKC0tZ3JpZC1jb250YWluZXIpICsgNTAlKTsgLyogMS8yIHdpZHRoICsgMSAqIHBhZGRpbmcgNTYgcHgqL1xuICAgIH1cbiAgICBcbiAgICAuYy1hc3ltLXJpZ2h0LWVkZ2VsZXNzIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBcbiAgICAuYy1hc3ltLWxlZnQtZWRnZWxlc3Mge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtdGV4dC1pbWcgLmMtYXN5bS1jb2wtZ3JpZCB7XG4gICAgICAgIGZsZXg6IDAgMCBjYWxjKDgwMHB4ICsgdmFyKC0tZ3JpZC1jb2wpKTsgLyogMS8yIHdpZHRoICsgMS8yIHBhZGRpbmcgKDM4cHgpICovXG4gICAgICAgIG1heC13aWR0aDogY2FsYyg4MDBweCArIHZhcigtLWdyaWQtY29sKSk7IC8qIDEvMiB3aWR0aCArIDEvMiBwYWRkaW5nICgzOHB4KSAqL1xuICAgIH1cbiAgICBcbiAgICAuYy10ZXh0LWltZyAuYy1hc3ltLWNvbC1lZGdlbGVzcyB7XG4gICAgICAgIGZsZXg6IDAgMCBjYWxjKDEwMCUgLSAoODAwcHggKyB2YXIoLS1ncmlkLWNvbCkpKTsgLyogMS8yIHdpZHRoICsgMS8yIHBhZGRpbmcgKDM4cHgpICovXG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gKDgwMHB4ICsgdmFyKC0tZ3JpZC1jb2wpKSk7IC8qIDEvMiB3aWR0aCArIDEvMiBwYWRkaW5nICgzOHB4KSAqL1xuICAgIH1cbiAgICBcbiAgICAuYy10ZWFzZXItcmVmZXJlbmNlcyAuYy1hc3ltLWNvbC1ncmlkIHtcbiAgICAgICAgZmxleDogMCAwIGNhbGMoNTIwcHggKyB2YXIoLS1ncmlkLWNvbCkpOyAvKiAxLzIgd2lkdGggKyAxLzIgcGFkZGluZyAoMzhweCkgKi9cbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDUyMHB4ICsgdmFyKC0tZ3JpZC1jb2wpKTsgLyogMS8yIHdpZHRoICsgMS8yIHBhZGRpbmcgKDM4cHgpICovXG4gICAgfVxuICAgIFxuICAgIC5jLXRlYXNlci1yZWZlcmVuY2VzIC5jLWFzeW0tY29sLWVkZ2VsZXNzIHtcbiAgICAgICAgZmxleDogMCAwIGNhbGMoMTAwJSAtICg1MjBweCArIHZhcigtLWdyaWQtY29sKSkpOyAvKiAxLzIgd2lkdGggKyAxLzIgcGFkZGluZyAoMzhweCkgKi9cbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAoNTIwcHggKyB2YXIoLS1ncmlkLWNvbCkpKTsgLyogMS8yIHdpZHRoICsgMS8yIHBhZGRpbmcgKDM4cHgpICovXG4gICAgfVxuICAgIFxuICAgIFxufVxuXG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjExMDBweCkgeyAgXG4gICAgLmMtc2hvd3Jvb20tdGV4dCAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgICAgIG1heC13aWR0aDogNTguMzMzMzMlO1xuICAgIH1cbiAgICBcbiAgICAuYy1kZWNvLWNpcmNsZS1ob21lIHtcbiAgICAgICAgcmlnaHQ6IDQyJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMDI0cHgpIHsgIFxuICAgIC5jLXRleHQtb25seSAuYy1jb2wtOCxcblx0LmMtbWFpbi10aXRsZSAuYy1jb2wtOCxcblx0LmMtc2VjdGlvbi10aXRsZSAuYy1jb2wtOCxcbiAgICAuYy1zZXJ2aWNlcyAuYy1jb2wtOCxcbiAgICAuYy1mb3JtIC5jLWNvbC04LFxuICAgIC5jLXRlYXNlci1jdGEgLmMtY29sLTgsXG4gICAgLmMtcGFydG5lciAuYy1jb2wtOCxcbiAgICAuYy1mdXR1cmUtbGl2aW5nLW1haW4gLmMtY29sLTV7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAgICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IFx0XG5cdH1cbiAgICBcbiAgICAuYy1tYWluLXRpdGxlLWRlY28gLmMtbGVhZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLW1haW4gLmMtY29sLTMge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLW1haW4gLmMtY29sLTM6bnRoLWNoaWxkKDEpLFxuICAgIC5jLWZvb3Rlci1tYWluIC5jLWNvbC0zOm50aC1jaGlsZCgyKXtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbiAgICB9XG4gICAgXG4gICAgLmMtdGVhbSAuYy1jb2wtNCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1kZWNvLWNpcmNsZS10ZWFzZXIge1xuICAgICAgICByaWdodDogMTYlO1xuICAgIH1cbiAgICBcbiAgICAuYy1hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgfVxuICAgIFxuICAgIC5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjphZnRlcixcbiAgICAuYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgIH1cblxuICAgIC5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4gICAgLmMtYWNjb3JkaW9uLWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1mdXR1cmUtbGl2aW5nLWFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDhweDtcbiAgICB9XG4gICAgXG4gICAgLmMtZnV0dXJlLWxpdmluZy1tb2JpbGUgLmMtYWNjb3JkaW9uLWNoZWNrOmNoZWNrZWQrbGFiZWw6OmFmdGVyLFxuICAgIC5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIC5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjphZnRlcixcbiAgICAuYy1mdXR1cmUtbGl2aW5nLW1vYmlsZSAuYy1hY2NvcmRpb24tY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuICAgIC5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIC5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmUge1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIC5jLWFjY29yZGlvbi1jaGVjazpjaGVja2VkK2xhYmVsOjphZnRlcixcbiAgICAuYy1mdXR1cmUtbGl2aW5nLW1vYmlsZSAuYy1hY2NvcmRpb24tY2hlY2s6bm90KDpjaGVja2VkKStsYWJlbDo6YWZ0ZXIge1xuICAgICAgICByaWdodDogMjBweDtcbiAgICB9XG5cbiAgICAuYy1mdXR1cmUtbGl2aW5nLW1vYmlsZSAuYy1hY2NvcmRpb24tY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuICAgIC5jLWZ1dHVyZS1saXZpbmctbW9iaWxlIC5jLWFjY29yZGlvbi1jaGVjazpub3QoOmNoZWNrZWQpK2xhYmVsOjpiZWZvcmUge1xuICAgICAgICByaWdodDogMjhweDtcbiAgICB9XG59XG5cblxuLyogaGVhZGVyIHNob3cgb2ZmY2FudmFzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTgwcHgpIHsgIFxuXHQuYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXHRcblx0LmMtbWFpbi1uYXYsXG4gICAgLmMtaGVhZGVyLWxhbmcge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbiAgICBcbiAgICAuYy1oZWFkZXItbG9nbyB7XG4gICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgfVxuICAgIFxuICAgIC5jLXNob3dyb29tLXRleHQgLmMtcm93IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cbiAgICBcbiAgICAuYy1zaG93cm9vbS10ZXh0IC5jLWNvbC02IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAgICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IFxuICAgIH1cbiAgICBcbiAgICAuYy1kZWNvLWNpcmNsZS1ob21lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmMtZGVjby1jaXJjbGUtc2hvd3Jvb20tdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBcbiAgICAuYy1sb2dvd2FsbC1zcGVjaWFsaXplZC1saXN0IGxpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICAgIFxuICAgIC5jLW5ld3MtdGV4dC1pbWctd2lkZSxcbiAgICAuYy1uZXdzLXRleHQtb25seSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1uZXdzLXJlZmVyZW5jZXMgLmMtbmV3cy1pdGVtLWltZyxcbiAgICAuYy1uZXdzLXJlZmVyZW5jZXMgLmMtbmV3cy1pdGVtLXRleHQsXG4gICAgLmMtdGVhc2VyLXJlZmVyZW5jZXMgLmMtY29sLTQsXG4gICAgLmMtdGVhc2VyLXJlZmVyZW5jZXMgLmMtY29sLTgge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgXG4gICAgfVxuICAgIFxuICAgIC5jLW5ld3MtcmVmZXJlbmNlcyAuYy1uZXdzLWl0ZW0taW1nLFxuICAgIC5jLXRlYXNlci1yZWZlcmVuY2VzIC5jLWNvbC04IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkwMHB4KSB7IFxuICAgIC5jLXRlYXNlci1pY29ucyAuYy1jb2wtMyB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcbiAgICB9XG4gICAgXG4gICAgLmMtdGVhc2VyLWljb25zIC5jLWNvbC0zICsgLmMtY29sLTMge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctbTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbSk7XG4gICAgfVxuICAgIFxuICAgIFxuICAgIC5jLXRlYXNlci1pY29ucy1pbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDE2MHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1zbGlkZXItY29udHJvbCB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICBcbiAgICAgICAgJi5tb2JpbGV7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY4cHgpIHsgIFxuXHQuYy10ZXh0LW9ubHkgLmMtY29sLTgsXG5cdC5jLW1haW4tdGl0bGUgLmMtY29sLTgsXG5cdC5jLXNlY3Rpb24tdGl0bGUgLmMtY29sLTgsXG4gICAgLmMtc2hvd3Jvb20tdGV4dCAuYy1jb2wtNixcbiAgICAuYy1zZXJ2aWNlcyAuYy1jb2wtOCxcbiAgICAuYy1mb3JtIC5jLWNvbC04LFxuICAgIC5jLXBhcnRuZXIgLmMtY29sLTgsXG4gICAgLmMtZnV0dXJlLWxpdmluZy1tYWluIC5jLWNvbC01IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXHRcblx0fVxuICAgIFxuICAgIFxuICAgIC5jLWZvb3Rlci1kaXNjbGFpbWVyIC5jLWNvbC02IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgIFxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG4gICAgXG4gICAgLmMtZm9vdGVyLWNsYWltIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmMtZm9vdGVyLWxvZ28ge1xuICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjFlbTtcbiAgICB9XG5cbiAgICAuYy1mb290ZXItY2xhaW0gaDIge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzAwcHgpIHsgIFxuICAgIC5jLWltZy0yY29sIC5jLWNvbC02LFxuICAgIC5jLXRleHQtaW1nIC5jLWNvbC02LFxuICAgIC5jLXRlYW0gLmMtY29sLTQsXG4gICAgLmMtY29udGFjdCAuYy1jb2wtNixcbiAgICAuYy1mb3JtIC5jLWNvbC02LFxuICAgIC5jLW5ld3MtaXRlbSB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFx0XG5cdH1cbiAgICBcbiAgICAuYy1pbWctMmNvbCAuYy1jb2wtNjpmaXJzdC1jaGlsZCB7XG5cdFx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLWw7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWwpO1xuXHR9XG4gICAgXG4gICAgLmMtdGV4dC1pbWcgLmMtY29sLTYgKyAuYy1jb2wtNiwgXG4gICAgLmMtY29udGFjdCAuYy1jb2wtNiArIC5jLWNvbC02e1xuXHRcdHBhZGRpbmctdG9wOiAkc3BhY2luZy1zO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1zKTtcblx0fVxuICAgIFxuICAgIC5jLWxvZ293YWxsLXBhcnRuZXItbGlzdCBsaSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7ICBcbiAgICAuYy1sb2dvd2FsbC1zcGVjaWFsaXplZC1saXN0IGxpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5jLWxvZ293YWxsLXNwZWNpYWxpemVkLWxpc3QgIC5jLWxvZ293YWxsLWxvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAuYy1sb2dvd2FsbC1tYWluLWxpc3QgbGkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDUwJTtcblx0XHQtbXMtZmxleDogMCAwIDUwJTtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjU0MHB4KSB7ICBcbiAgICAuYy1mb290ZXItbWFpbiAuYy1jb2wtMyB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItbWFpbiAuYy1jb2wtMzpudGgtY2hpbGQoMSksXG4gICAgLmMtZm9vdGVyLW1haW4gLmMtY29sLTM6bnRoLWNoaWxkKDIpe1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLW1haW4gLmMtY29sLTMgKyAuYy1jb2wtMyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjVlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctcyk7XG4gICAgfVxuICAgIFxuICAgIC5jLXRlYXNlci1jdGEgLmMtY29sLTgge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG4gICAgXG4gICAgLmMtZGVjby1jaXJjbGUtdGVhc2VyIHtcbiAgICAgICAgcmlnaHQ6IDI0cHg7XG4gICAgICAgIHJpZ2h0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG4gICAgfVxuICAgIFxuICAgIC5jLWxvZ293YWxsLXBhcnRuZXItbGlzdCBsaSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTAlO1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0MDBweCkgeyAgXG4gICAgLmMtbG9nb3dhbGwtbWFpbi1saXN0IGxpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5jLWxvZ293YWxsLW1haW4tbGlzdCAuYy1sb2dvd2FsbC1sb2dvIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByaW50IENTU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBwcmludCB7XG4gICAgLyogYmFzZSBzdHlsZXMgKi9cbiAgICAqIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cdFxuXHRhLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgICBcbiAgICAuYy1pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlcixcbiAgICBhW2hyZWZdOmFmdGVyIHtcblx0XHRjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG5cdCAgfVxuICAgIFxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuICAgIFxuICAgIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyBcbiAgICB9XG4gICAgXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cbiAgICBcbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgICAgIFxuICAgIEBwYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwLjVjbTtcbiAgICB9XG4gICAgXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgIHdpZG93czogMztcbiAgICB9XG4gICAgXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBicmVhay1hZnRlcjphdm9pZDtcbiAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuICAgIFxuICAgIC8qIGZvbnQtc2l6ZXMgKi9cblx0XG5cdGh0bWwsXG5cdGJvZHkge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHQvKm92ZXJmbG93OiBhdXRvOyovXG5cdH1cbiAgICBcbiAgICBib2R5IHtcbiAgICAgICAgZm9udC1zaXplOjEycHg7ICAgIFxuICAgIH1cblx0XG5cdGgxLCAuYy1oMSB7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHR9XG5cdFxuXHQuYy1sZWFkLFxuXHQuYy10ZXh0LWJsb2NrIC5jLWxlYWQsXG5cdGgyLCAuYy1oMixcblx0aDMsIC5jLWgzLFxuXHQuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcCB7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHR9XG5cdFxuXHQvKiBwcm9qZWN0IHN0eWxlcyAqL1xuXHQuYy1jb250YWluZXIge1xuXHRcdHBhZGRpbmctYm90dG9tOiAyZW07XG5cdH1cblx0XG5cdC5jLWZvb3RlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG5cblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/