/*!***************************************************************************************************************************************************************************************************************!*\
  !*** 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 */
/* redy */
/* background */
/* dark grey */
/* light grey */
/* red */
/* line-colors */
/* spacing */
/* grid */
/* form */
/*$form-disabled: #ccc;
$form-error: #dd0000;
$form-ok: #00828C;
$form-initial: #1D1D1B;*/
/* ==========================================================================
   Custom Properties
   ========================================================================== */
:root {
  /* fonts */
  --font-stack-default: "Jost", "Arial", "Helvetica", sans-serif;
  --font-weight-normal: 400;
  --font-weight-bold: 800;
  --letter-spacing: 0.02em;
  /* text  */
  --text-color: #000; /* black */
  --text-color-light: #fff;
  --text-color-link: #B50000;
  --text-color-medium: #8A8A8A;
  /* colors / background */
  --bg-content: #fff;
  --bg-dark: #000; /* dark grey */
  --bg-light: #f9f9f9; /* light grey */
  --color-highlight: #B50000; /* red */
  /* lines */
  --border-basic: #ebebeb;
  --border-outside-width: 20px;
  --border-btn-big: 20px;
  --border-btn-big-negative: -20px;
  /* spacing */
  --spacing-l: 4.8rem;
  --spacing-m: 3rem;
  --spacing-s: 1.6rem;
  --spacing-xs: 0.8rem;
  --header-height: 138px;
  --spacing-title-top: 12rem;
  /* grid */
  --grid-container: 20px;
  --grid-row: -10px;
  --grid-col: 10px;
  /* form */
  --border-form: #979797;
  --border-form-focus: #000;
  /*--form-disabled: #ccc;
  --form-error: #dd0000;
  --form-ok: #00828C;
  --form-initial: #1D1D1B;*/
}

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

.c-sponsors-partner {
  --text-color-link: #000;
}

/* ==========================================================================
   Responsive Custom Properties
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  :root {
    --grid-container: 40px;
    --grid-row: -20px;
    --grid-col: 20px;
  }
}
@media only screen and (max-width: 1200px) {
  :root {
    --header-height: 80px;
  }
}
@media only screen and (max-width: 1300px) {
  :root {
    --border-outside-width: 12px;
    --border-btn-big: 12px;
    --border-btn-big-negative: -12px;
  }
}
@media only screen and (max-width: 980px) {
  :root {
    --spacing-l: 3rem;
    --spacing-m: 1.8rem;
    --border-outside-width: 8px;
    --spacing-title-top: 6rem;
    --border-btn-big: 8px;
    --border-btn-big-negative: -8px;
  }
}
/*@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: "Jost", "Arial", "Helvetica", sans-serif;
  font-family: var(--font-stack-default);
  font-weight: normal;
  font-weight: var(--font-weight-normal);
  -webkit-tap-highlight-color: transparent;
}

/* links */
a,
a:visited,
a:focus,
a:hover {
  color: #B50000;
  color: var(--text-color-link);
  text-decoration: 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;
}

.c-footer,
.c-footer-main {
  border-bottom: 20px solid #fff;
  border-bottom-width: var(--border-outside-width);
}

.c-content,
.c-footer {
  border-left: 20px solid #fff;
  border-right: 20px solid #fff;
  border-left-width: var(--border-outside-width);
  border-right-width: var(--border-outside-width);
  border-color: var(--bg-content);
}

.c-header-inner {
  padding-left: 40px;
  padding-right: 40px;
  padding-left: calc(var(--border-outside-width) + var(--grid-container));
  padding-right: calc(var(--border-outside-width) + var(--grid-container));
}

/* ==========================================================================
   Standard Padding between Components 
   ========================================================================== */
.c-container,
.c-container-medium,
.c-img-2col .c-col-6,
.c-img-3col .c-col-4,
.c-teaser-3col .c-col-4,
.c-keyfacts .c-col-3,
.c-gallery {
  padding-bottom: 4.8rem;
  padding-bottom: var(--spacing-l);
}

.c-showroom-home,
.c-map-container {
  margin-bottom: 4.8rem;
  margin-bottom: var(--spacing-l);
}

.c-main-title {
  margin-top: 12rem;
  margin-top: var(--spacing-title-top);
}

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

.c-section-title {
  padding-bottom: 0;
}

.c-showroom-text-inner {
  padding-top: 4.8rem;
  padding-top: var(--spacing-l);
}

.c-text-only-line .c-col-12 {
  padding-top: 1.6rem;
  padding-top: var(--spacing-s);
}

.c-teaser-btn .c-col-6 {
  padding-bottom: 4.8rem;
  padding-bottom: var(--spacing-l);
}

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

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

.c-row {
  margin-right: -10px;
  margin-left: -10px;
  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 {
  position: relative;
  min-height: 1px;
  padding-right: 10px;
  padding-left: 10px;
  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 figure {
  margin-right: -20px;
  margin-right: calc(var(--grid-container) * -1);
}

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

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

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

h1,
.c-h1 {
  padding-bottom: 0.65em;
  line-height: 1.1;
  font-size: 3rem; /* 60px */
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing);
  color: var(--color-highlight);
  text-transform: uppercase;
}

.c-cta .c-h1 {
  color: var(--text-color);
}

h2,
.c-h2 {
  padding-bottom: 0.75em;
  line-height: 1.1;
  font-size: 2.4rem; /* 48px */
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing);
  text-transform: uppercase;
}

h3,
.c-h3,
.c-text-big {
  line-height: 1.1;
  font-size: 1.6rem;
  padding-bottom: 0.5em;
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing);
  text-transform: uppercase;
}

.c-text-block .c-text-big {
  padding-bottom: 0.5em;
}

h4,
.c-h4 {
  line-height: 1.6;
  font-size: 1rem;
  padding-bottom: 0.45em;
  font-weight: var(--font-weight-bold);
  text-transform: none;
  letter-spacing: 0;
}

/* ==========================================================================
   Basic Text Content
   ========================================================================== */
b, strong {
  font-weight: 800;
  font-weight: var(--font-weight-bold);
}

.c-content,
.c-footer {
  line-height: 1.6;
}

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

.c-teaser-text-img .c-text-block p {
  padding-bottom: 0.5em;
}

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

.c-text-block p:last-child {
  padding-bottom: 0;
}

.c-lead {
  font-size: 1.2rem;
  line-height: 1.33;
  font-weight: 600;
}

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

.c-legend {
  display: block;
  padding-top: 0.8rem;
  padding-top: var(--spacing-xs);
}

.c-date {
  display: block;
  color: #8A8A8A;
  color: var(--text-color-medium);
  font-weight: 800;
  font-weight: var(--font-weight-bold);
  padding-bottom: 0.8rem;
  padding-bottom: var(--spacing-xs);
}

.c-footer {
  font-size: 1.4rem;
}

.c-text-small,
.c-text-block blockquote cite,
.c-legend,
.c-header,
.c-footer-nav-list,
.c-link-bold,
.c-btn,
.c-title-small {
  font-size: 0.8rem; /* 16px */
}

.c-title-small {
  color: #ccc;
}

.c-btn-big {
  font-size: 2.4rem;
}

.c-footer-disclaimer {
  font-size: 1rem;
}

.c-keyfact-title {
  display: block;
  min-height: 3.7em;
  padding-bottom: 0.5em;
  font-weight: 800;
  font-weight: var(--font-weight-bold);
}

.c-keyfact-title span {
  display: block;
  font-weight: normal;
}

.c-keyfact-number {
  display: block;
  font-size: 4rem;
  font-weight: 200;
  line-height: 1;
}

.c-directions-distance {
  padding-bottom: 0;
}

.c-directions-time {
  font-weight: 800;
  font-weight: var(--font-weight-bold);
  color: #8A8A8A;
  color: var(--text-color-medium);
}

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

.c-text-block ul:last-child {
  padding-bottom: 0;
}

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

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

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

.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: #000;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  text-align: right;
}

.c-text-block .c-link-list-horizontal li {
  padding-left: 0;
  padding-right: 1em;
  display: inline-block;
}

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

.c-text-block .c-link-list-horizontal li::before,
.c-text-block .c-link-list li::before,
.c-text-block .c-text-usp-list li::before,
.c-text-block .c-anchornav-list li::before {
  background: none;
}

.c-sponsors-partner-list,
.c-text-usp-list,
.c-text-block .c-text-usp-list {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: 800;
  font-weight: var(--font-weight-bold);
  margin-right: -10px;
  margin-left: -10px;
  margin-right: var(--grid-row);
  margin-left: var(--grid-row);
}

.c-sponsors-partner-list li {
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
  padding: 0.8em 10px;
  padding: 0.8em var(--grid-col);
}

.c-text-usp-list {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: 800;
  font-weight: var(--font-weight-bold);
  margin-right: -10px;
  margin-left: -10px;
  margin-right: var(--grid-row);
  margin-left: var(--grid-row);
}

.c-text-usp-list li,
.c-text-block .c-text-usp-list li {
  position: relative;
  flex: 0 0 41.66667%;
  max-width: 41.66667%;
  margin-left: 8.333%;
  margin-top: 0.8em;
  margin-bottom: 0.8em;
  padding-left: 44px;
  padding-right: 44px;
  padding-left: calc(var(--grid-col) + 34px);
  padding-right: calc(var(--grid-col) + 34px);
}

.c-text-usp-list li::before,
.c-text-block .c-text-usp-list li::before {
  content: "";
  position: absolute;
  top: 0.45em;
  left: 10px;
  left: var(--grid-col);
  width: 11px;
  height: 11px;
  border-radius: 0;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #000 #000 transparent transparent;
  transform: rotate(45deg);
}

.c-anchornav-list,
.c-text-block .c-anchornav-list {
  position: relative;
  padding-top: calc(3rem - 0.35em);
  padding-top: calc(var(--spacing-m) - 0.35em);
  padding-bottom: 0;
}

.c-anchornav-list::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 280px;
  height: 2px;
  background-color: #B50000;
  background-color: var(--color-highlight);
}

/* ==========================================================================
   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 (min-width: 1500px) {
  html {
    font-size: 20px;
  }
  .c-header,
.c-footer-nav-list,
.c-link-bold,
.c-btn,
.c-title-small {
    font-size: 0.9rem;
  }
  .c-btn-big {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 1360px) {
  h1, .c-h1,
h2, .c-h2,
h3, .c-h3,
.c-text-big,
.c-btn-big {
    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: 1400px) {
  h1, .c-h1 {
    font-size: 2.4rem;
  }
  h2, .c-h2,
.c-btn-big {
    font-size: 1.8rem;
  }
  h3, .c-h3,
.c-text-big {
    font-size: 1.25rem;
  }
  .c-keyfact-number {
    font-size: 3.4rem;
  }
  .c-offcanvas-nav {
    font-size: 1rem;
  }
  .c-offcanvas-nav-list {
    font-size: 1.1rem;
  }
}
@media only screen and (max-width: 767px) {
  html {
    font-size: 18px;
  }
  h1, .c-h1 {
    font-size: 2rem;
  }
  h2, .c-h2,
.c-btn-big {
    font-size: 1.5rem;
  }
  h3, .c-h3,
.c-text-big {
    font-size: 1.125rem;
  }
  .c-keyfact-number {
    font-size: 2.8rem;
  }
  .c-offcanvas-nav,
.c-offcanvas-nav-list,
.c-lead {
    font-size: 1rem;
  }
  .c-text-small,
.c-text-block blockquote cite,
.c-legend,
.c-header,
.c-footer-nav-list,
.c-link-bold,
.c-title-small {
    font-size: 0.85rem;
  }
}
/* ==========================================================================
   Header
   ========================================================================== */
.c-header {
  background-color: #fff;
  background-color: var(--bg-content);
  z-index: 10;
}

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

.c-header-logo {
  position: relative;
  padding-top: 16px;
  width: 300px;
}

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

/* ==========================================================================
   main nav 
   ========================================================================== */
.c-main-nav {
  display: flex;
  justify-content: flex-end;
  text-transform: uppercase;
}

.c-main-nav a {
  color: #000;
  color: var(--text-color);
}

.c-main-nav-list {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: 800;
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing);
}

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

.c-main-nav-list a,
.c-main-nav-list span {
  display: inline-block;
  position: relative;
}

.c-main-nav-list a {
  padding: 60px 16px 0.5em 16px;
  transition: color 0.2s linear;
}

.c-main-nav-list a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 0;
  background-color: #B50000;
  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_page_item a::before {
  height: 100%;
}

.c-main-nav-list a:focus,
.c-main-nav-list a:hover,
.c-main-nav-list .current_page_item a {
  color: #fff;
  color: var(--text-color-light);
}

/* ==========================================================================
   Lang
   ========================================================================== */
.c-header-inner .wpml-ls-legacy-list-horizontal {
  display: inline-block;
  padding-top: calc(60px - 0.5em);
}

.c-header-inner .wpml-ls-legacy-list-horizontal ul {
  margin: 0 0 0 2em;
  padding: 0;
  list-style: none;
}

.c-header-inner .wpml-ls-legacy-list-horizontal li {
  display: inline-block;
}

.c-header-inner .wpml-ls-legacy-list-horizontal li + li {
  padding-left: 1em;
}

.c-header-inner .wpml-ls-legacy-list-horizontal a {
  display: inline-block;
  position: relative;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

.c-header-inner .wpml-ls-legacy-list-horizontal a:focus,
.c-header-inner .wpml-ls-legacy-list-horizontal a:hover,
.c-header-inner .wpml-ls-legacy-list-horizontal .wpml-ls-current-language a {
  color: #B50000;
  color: var(--color-highlight);
}

/* ==========================================================================
   Footer
   ========================================================================== */
.c-footer {
  padding-top: 48px;
  background-color: #000;
  background-color: var(--bg-dark);
}

.c-footer-main {
  padding-top: 4.8rem;
  padding-bottom: 3rem;
  padding-top: var(--spacing-l);
  padding-bottom: var(--spacing-m);
}

.c-footer-disclaimer {
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
  padding-top: var(--spacing-s);
  padding-bottom: var(--spacing-s);
}

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

.c-footer-nav-list {
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing);
  font-weight: 800;
  font-weight: var(--font-weight-bold);
}

.c-footer-nav-list li {
  padding-bottom: 0.75em;
}

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

.c-footer-disclaimer-list > li + li {
  padding-left: 1em;
}

.c-footer-social-list {
  padding-top: 1.6rem;
}

.c-footer a,
.c-footer a:visited {
  color: #000;
  color: var(--text-color);
}

.c-footer a:hover,
.c-footer a:focus {
  color: #000;
  color: var(--text-color);
}

/* optional styles */
/* ==========================================================================
   Offcanvas trigger
   ========================================================================== */
.c-offcanvas-trigger {
  position: absolute;
  display: block;
  top: 20px;
  right: 20px;
  right: var(--grid-container);
  width: 40px;
  height: 40px;
  margin: 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: 20px;
  transition: width 0.2s ease-in-out;
}

.c-offcanvas-trigger-open::before {
  height: 14px;
  margin-top: -7px;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  border-color: var(--text-color);
}

.c-offcanvas-trigger-open::after {
  height: 2px;
  background-color: #000;
  background-color: var(--text-color);
  margin-top: -1px;
}

.c-offcanvas-trigger-open:focus::before,
.c-offcanvas-trigger-open:hover::before {
  border-color: var(--color-highlight);
}

.c-offcanvas-trigger-open:focus::after,
.c-offcanvas-trigger-open:hover::after {
  width: 15px;
  background-color: #B50000;
  background-color: var(--color-highlight);
}

.c-offcanvas-trigger-close::before,
.c-offcanvas-trigger-close::after {
  background-color: #B50000;
  background-color: var(--color-highlight);
  margin-top: -2px;
  height: 2px;
  width: 20px;
  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-bottom: 4.8rem;
  padding-bottom: calc(var(--spacing-l) * 2);
}

.c-offcanvas-nav-list {
  margin: 0;
  padding: 0;
  list-style: none;
  text-transform: uppercase;
  font-weight: 800;
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing);
}

.c-offcanvas-nav-list li + li {
  padding-top: 16px;
}

.c-offcanvas-nav-list a {
  display: inline-block;
  position: relative;
  padding: 1em 24px;
  width: 50%;
  text-align: right;
  color: #fff;
  color: var(--text-color-light);
}

.c-offcanvas-nav-list span {
  display: inline-block;
  position: relative;
}

.c-offcanvas-nav-list a::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0;
  height: 100%;
  background-color: #B50000;
  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_page_item a::before {
  width: calc(100% + 20px);
  width: calc(100% + var(--grid-container));
}

/* ==========================================================================
   Lang
   ========================================================================== */
.c-offcanvas-content .wpml-ls-legacy-list-horizontal {
  display: inline-block;
  padding-bottom: 4.8rem;
  padding-bottom: var(--spacing-l);
}

.c-offcanvas-content .wpml-ls-legacy-list-horizontal ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-offcanvas-content .wpml-ls-legacy-list-horizontal li {
  display: inline-block;
}

.c-offcanvas-content .wpml-ls-legacy-list-horizontal li + li {
  padding-left: 1em;
}

.c-offcanvas-content .wpml-ls-legacy-list-horizontal a {
  display: inline-block;
  position: relative;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  color: #fff;
  color: var(--text-color-light);
}

.c-offcanvas-content .wpml-ls-legacy-list-horizontal a:focus,
.c-offcanvas-content .wpml-ls-legacy-list-horizontal a:hover,
.c-offcanvas-content .wpml-ls-legacy-list-horizontal .wpml-ls-current-language a {
  color: #B50000;
  color: var(--color-highlight);
}

/* ==========================================================================
   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";*/
/* ==========================================================================
   Deco
   ========================================================================== */
.c-deco {
  display: block;
  position: absolute;
  background-position: 0 0;
  background-repeat: repeat;
}

.c-deco-white {
  background-image: url(deko-white_20e6.svg);
}

.c-deco-dark {
  background-image: url(deko-black_5859.svg);
}

.c-deco-title {
  background-image: url(deko-title_102f.svg);
}

.c-deco-footer {
  top: 0;
  left: 0;
  width: 100%;
  height: 48px;
}

.c-deco-title {
  top: -64px;
  left: 0;
  width: 100%;
  height: 112px;
}

.c-main-title .c-deco-title {
  top: 0;
  background-image: url(deko-black_5859.svg);
}

.c-text-img .c-deco-img {
  top: 0;
  width: 80px;
  height: 16px;
}

.c-asym-left-edgeless .c-deco-img {
  right: 10px;
  right: var(--grid-col);
}

.c-asym-right-edgeless .c-deco-img {
  left: 10px;
  left: var(--grid-col);
}

.c-text-img .c-deco-text {
  top: 0;
  height: 16px;
  width: 100%;
}

.c-asym-left-edgeless .c-deco-text {
  left: -10px;
  left: calc(var(--grid-col) * -1);
}

.c-asym-right-edgeless .c-deco-text {
  left: 10px;
  left: var(--grid-col);
  background-position: right top;
}

.c-deco-text-line {
  --widthBorder: calc(var(--grid-container) * 2);
  top: 0;
  left: 0;
  left: var(--grid-container);
  height: 16px;
  width: 100%;
  width: calc(100% - var(--widthBorder));
  background-position-y: -16px;
}

.c-deco-separator {
  position: relative;
  border: none;
  height: 16px;
  margin: 0;
  padding: 0;
  background-position-y: -16px;
}

.c-deco-cta-left,
.c-deco-cta-right {
  top: 0;
  width: 176px;
  height: 100%;
}

.c-deco-cta-left {
  left: 0;
}

.c-deco-cta-right {
  right: 0;
}

/* ==========================================================================
   Showroom / Main title
   ========================================================================== */
.c-showroom-home,
.c-main-title-img {
  overflow: hidden;
}

.c-showroom-img {
  position: relative;
  height: calc(85vh - var(--header-height));
  overflow: hidden;
  z-index: auto;
}

.c-main-title-img .c-showroom-img {
  height: calc(66vh - var(--header-height));
}

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

.c-showroom-home .c-box {
  margin-top: -10rem;
}

.c-main-title-img .c-box {
  margin-top: -7.2rem;
}

.c-main-title .c-box {
  margin-top: -3.6rem;
}

.c-box {
  padding: 1.5em 20px 0 20px;
  padding: 1.5em var(--grid-container) 0 var(--grid-container);
  background-color: #fff;
  background-color: var(--bg-content);
}

/* ==========================================================================
   img text / news text only line
   ========================================================================== */
.c-text-img-inner,
.c-text-only-line {
  padding-top: 4.8rem;
  padding-top: var(--spacing-l);
}

.c-text-img-no-line .c-deco {
  display: none;
}

.c-text-img-no-line .c-text-img-inner {
  padding-top: 0;
}

/* ==========================================================================
   teaser 3 col
   ========================================================================== */
.c-teaser-3col figure + h3 {
  margin-top: 1.6rem;
  margin-top: var(--spacing-s);
}

/* ==========================================================================
   cta
   ========================================================================== */
.c-cta-box {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  min-height: 400px;
}

.c-cta-box-inner {
  padding: 1.6rem 200px;
  padding: var(--spacing-s) 200px;
}

/* ==========================================================================
   teaser btn
   ========================================================================== */
.c-teaser-btn .c-col-6,
.c-teaser-btn .c-btn-big {
  display: flex;
  flex-flow: column;
}

.c-teaser-btn .c-btn-big,
.c-teaser-btn .c-btn-big span {
  flex-grow: 1;
}

.c-teaser-btn .c-btn-big span {
  display: flex;
  align-items: center;
}

.c-teaser-btn .c-btn-big {
  margin-right: var(--border-btn-big);
}

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

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

.c-logowall-gold-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-silver-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-bronze-list li {
  -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-sponsors-container {
  width: 120px;
  max-width: 120px;
  margin-left: auto;
  margin-right: auto;
}

.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-sponsors-container .c-logowall-logo::before {
  padding-top: 100%;
}

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

.c-sponsors-list .c-logowall-logo img {
  width: 100%;
  height: 100%;
  left: 0;
  transform: translate(0, -50%);
}

/* ==========================================================================
  keyfacts
   ========================================================================== */
.c-keyfact-icon {
  max-width: 250px;
  margin: 0 auto 0.5em auto;
}

/* ==========================================================================
 map
   ========================================================================== */
.c-map-container {
  background-color: var(--text-color-medium);
  overflow: hidden;
}

.c-map {
  box-sizing: content-box;
  height: 600px;
}

.c-directions-panel {
  box-sizing: border-box;
  position: absolute;
  right: 0;
  top: 50%;
  width: 450px;
  padding: 20px;
  padding: var(--grid-container);
  background-color: #fff;
  z-index: 1;
  transition: all 0.5s ease-in-out;
  transform: translateY(-50%);
}
.c-directions-panel.hidden {
  margin-right: -450px;
}

.c-directions-info {
  padding-bottom: 1em;
  min-height: 6em;
}

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

.c-direction-list li {
  display: inline-block;
  overflow: hidden;
}

/* ==========================================================================
 gallery 
   ========================================================================== */
.c-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 20vw);
  grid-gap: 20px;
  grid-gap: var(--border-outside-width);
}

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

.c-gallery .c-gallery-item-1 {
  grid-column: 1/span 1;
  grid-row: 1/span 3;
}

.c-gallery .c-gallery-item-4 {
  grid-column: 2/span 2;
  grid-row: 2/span 2;
}

/* ==========================================================================
  Cookie notice
   ========================================================================== */
.c-cookie-notice {
  display: none;
  position: fixed;
  right: 0;
  bottom: 0;
  width: 400px;
  padding: 1.5rem 20px;
  background-color: #fff;
  background-color: var(--bg-content);
  color: var(--text-color);
  line-height: 1.5;
  text-align: left;
  border: solid 2px #000;
  border-color: var(--text-color);
  border-right: none;
  border-bottom: none;
  z-index: 10;
}

.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: block;*/
  padding: 0.5em 0.5em 0 0;
}

@media only screen and (max-width: 767px) {
  .c-cookie-notice {
    width: 100%;
    bottom: 0;
    border: none;
    border-top: solid 2px #000;
    border-color: var(--text-color);
  }
}
/* ==========================================================================
   Link colors and styles
   ========================================================================== */
a[href^="tel:"] {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

.c-link-bold[href^="tel:"] {
  color: #B50000;
  color: var(--text-color-link);
}

.c-text-block a,
.c-text-block .c-link-icon span {
  background-image: linear-gradient(to bottom, #B50000 0%, #B50000 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,
.c-text-block .c-link-icon span:focus,
.c-text-block .c-link-icon span:hover {
  background-size: 4px 4px;
}

.c-text-block .c-btn,
.c-text-block .c-link-icon {
  background-image: none;
}

/* ==========================================================================
   Button 
   ========================================================================== */
.c-btn {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 0;
  background-color: #B50000;
  background-color: var(--color-highlight);
  transform: translateY(4px);
  line-height: 1.1;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing);
  border: none;
}

.c-btn span {
  display: block;
  position: relative;
  padding: 0.75em 20px;
  border: solid 2px #B50000;
  border-color: var(--color-highlight);
  background-color: #fff;
  background-color: var(--bg-content);
  transition: all 0.2s ease-out;
  transform: translate3d(4px, -4px, 0px);
  transform-style: preserve-3d;
}

.c-btn,
.c-btn:visited,
.c-btn:hover,
.c-btn:focus {
  color: #B50000;
  color: var(--color-highlight);
}

.c-btn:hover span,
.c-btn:focus span {
  text-decoration: none;
  transform: translate3d(0px, 0px, 0px);
}

.c-btn-big {
  transform: translateY(var(--border-btn-big));
}

.c-btn-big span {
  padding: 1.1em 20px;
  padding: 1.1em var(--grid-container);
  transform: translate3d(var(--border-btn-big), var(--border-btn-big-negative), 0px);
}

.c-btn-small span {
  padding: 0.5em 16px;
  text-align: left;
}

.c-cookie-notice .c-btn-small {
  display: block;
  width: 100%;
}

.c-btn-directions-close,
.c-btn-directions-open {
  display: block;
  position: absolute;
  top: 0;
  left: -50px;
  width: 50px;
  height: 50px;
  background-color: #fff;
  background-color: var(--bg-content);
  transition: background 0.2s ease-out;
}

.c-btn-directions-close::before,
.c-btn-directions-open::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -16px;
  margin-top: -11px;
  width: 22px;
  height: 22px;
  border-radius: 0;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #B50000 #B50000 transparent transparent;
  border-color: var(--color-highlight) var(--color-highlight) transparent transparent;
  transform: rotate(45deg);
}

.c-btn-directions-open::before {
  margin-left: -6px;
  transform: rotate(225deg);
}

.c-btn-directions-open {
  display: none;
  background-color: #B50000;
  background-color: var(--color-highlight);
}

.c-btn-directions-close:focus,
.c-btn-directions-close:hover,
.c-btn-directions-open:focus,
.c-btn-directions-open:hover {
  background-color: #B50000;
  background-color: #B50000;
  background-color: var(--color-highlight);
}

.c-btn-directions-close:focus::before,
.c-btn-directions-close:hover::before,
.c-btn-directions-open::before,
.c-btn-directions-open:focus::before,
.c-btn-directions-open:hover::before {
  border-color: #fff #fff transparent transparent;
  border-color: var(--text-color-light) var(--text-color-light) transparent transparent;
}

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

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

.c-link-bold {
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing);
  text-transform: uppercase;
}

.c-link-icon {
  display: inline-block;
  margin-left: 34px;
}

.c-link-back {
  margin-left: 20px;
}

.c-link-arrow::before,
.c-link-back::before {
  top: 0.35em;
  left: -20px;
  width: 28px;
  height: 16px;
  background-position: 0 0;
  transition: 0.1s ease-in-out;
}

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

.c-link-download::before {
  top: 0.3em;
  left: -34px;
  width: 21px;
  height: 21px;
  background-position: 0 -40px;
}

.c-link-extern::before {
  top: 0.27em;
  left: -34px;
  width: 21px;
  height: 21px;
  background-position: 0 -80px;
}

.c-icon-social-fb {
  display: inline-block;
  width: 52px;
  height: 52px;
}

.c-icon-social-fb::before {
  top: 0;
  left: 0;
  width: 52px;
  height: 52px;
  background-position: 0 -140px;
}

.c-btn-search {
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -25px;
  right: 0;
  width: 52px;
  height: 50px;
  border: none;
  background-color: transparent;
  transition: all 0.2s ease-out;
}

.c-btn-search::before {
  top: 50%;
  left: 50%;
  margin-top: -16px;
  margin-left: -16px;
  width: 32px;
  height: 32px;
  background-position: 0 -220px;
}

.c-btn-search:focus::before,
.c-btn-search:hover::before {
  background-position: -50px -220px;
}

.c-btn-search:focus,
.c-btn-search:hover {
  background-color: #B50000;
  background-color: var(--color-highlight);
}

/* ==========================================================================
  responsive
   ========================================================================== */
@media only screen and (min-width: 1500px) {
  .c-link-arrow::before,
.c-link-back::before {
    top: 0.4em;
  }
  .c-link-download::before {
    top: 0.4em;
  }
  .c-link-extern::before {
    top: 0.3em;
  }
}
/* ==========================================================================
   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 {
  padding-bottom: 75%;
}

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

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

.c-ratiobox-showroom img,
.c-ratiobox-1by1 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.6rem;
  padding-bottom: var(--spacing-s);
}

/* ==========================================================================
   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 textarea {
  width: 100%;
  border: solid 2px #979797;
  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 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 textarea:focus {
  border-color: #000;
  border-color: var(--border-form-focus);
  outline: none;
}

/* ==========================================================================
  Form directions
   ========================================================================== */
.c-form-directions .c-form-item {
  position: relative;
  width: 100%;
  margin-bottom: 1.6rem;
  margin-bottom: var(--spacing-s);
}

.c-form-directions .c-form-text {
  width: calc(100% - 64px);
  width: 100%;
  border: solid 2px #979797;
  border-color: var(--border-form);
  color: #000;
  color: var(--text-color);
  padding: 0.4em 10px;
  line-height: 50px;
  height: 50px;
  background-color: #fff;
  background-color: var(--bg-content);
}

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

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

.c-travel-icon {
  display: block;
  position: relative;
  width: 76px;
  height: 76px;
  background-color: #fff;
  background-color: var(--bg-content);
}

.c-travel-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50px;
  margin-left: -25px;
  background-image: url(sprite-directions_95ca.svg);
  background-repeat: no-repeat;
}

.c-travel-walk::before {
  margin-top: -15px;
  height: 31px;
  background-position: 0 0;
}

.c-travel-bike::before {
  margin-top: -14px;
  height: 29px;
  background-position: 0 -60px;
}

.c-travel-car::before {
  margin-top: -14px;
  height: 29px;
  background-position: 0 -120px;
}

.c-travel-transit::before {
  margin-top: -24px;
  height: 48px;
  background-position: 0 -180px;
}

.c-direction-list input[type=radio]:checked + .c-travel-icon {
  background-color: #B50000;
  background-color: var(--color-highlight);
}

.c-direction-list input[type=radio]:checked + .c-travel-walk::before {
  background-position: -100px 0;
}

.c-direction-list input[type=radio]:checked + .c-travel-bike::before {
  background-position: -100px -60px;
}

.c-direction-list input[type=radio]:checked + .c-travel-car::before {
  background-position: -100px -120px;
}

.c-direction-list input[type=radio]:checked + .c-travel-transit::before {
  background-position: -100px -180px;
}

.c-form-directions .c-form-text {
  width: calc(100% - 50px);
}

.c-form-directions .c-form-item {
  padding-bottom: 0;
  margin-bottom: 1.5em;
}

/*@import "components/_social-media";*/
/* styles for every project */
/* ==========================================================================
   Viewport
   ========================================================================== */
@-ms-viewport {
  width: device-width;
}
/* ==========================================================================
   Mediaqueries
   ========================================================================== */
@media only screen and (min-width: 1401px) {
  .c-showroom-home .c-box {
    margin-top: -11rem;
  }
  .c-main-title-img .c-box {
    margin-top: -7.8rem;
  }
  .c-main-title .c-box {
    margin-top: -4.2rem;
  }
}
@media only screen and (min-width: 1330px) {
  /* container max width */
  .c-container {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
  }
  .c-asym-right-edgeless,
.c-asym-left-edgeless {
    max-width: none;
    width: calc(660px + 50%);
  }
  .c-asym-right-edgeless {
    margin-right: 0;
  }
  .c-asym-left-edgeless {
    margin-left: 0;
  }
  .c-text-img .c-asym-col-grid {
    flex: 0 0 640px;
    max-width: 640px; /* 1/2 content width - 1/2 padding (20px) */
  }
  .c-text-img .c-asym-col-edgeless {
    flex: 0 0 calc(100% - 640px); /* width - 1/2 padding (20px) */
    max-width: calc(100% - 640px); /* width - 1/2 padding (20px) */
  }
  .c-asym-left-edgeless .c-text-img-inner {
    margin-left: 110px; /* difference 5 col  */
  }
  .c-asym-right-edgeless .c-text-img-inner {
    margin-right: 110px;
  }
}
@media only screen and (max-width: 1500px) {
  .c-header-logo {
    width: 200px;
  }
}
@media only screen and (max-width: 1329px) {
  .c-teaser-text-img .c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-teaser-text-img figure {
    max-width: 90%;
  }
}
@media only screen and (max-width: 1300px) {
  .c-main-nav-list a {
    padding-left: 10px;
    padding-right: 10px;
  }
}
/* header show offcanvas */
@media only screen and (max-width: 1200px) {
  .c-offcanvas-trigger-open {
    display: block;
  }
  .c-main-nav {
    display: none;
  }
}
@media only screen and (max-width: 1100px) {
  .c-showroom-home .c-col-6,
.c-main-title-img .c-col-6,
.c-main-title .c-col-6 {
    -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%;
  }
}
@media only screen and (max-width: 980px) {
  .c-header-logo {
    width: 120px;
  }
  .c-deco-cta-left,
.c-deco-cta-right {
    width: 96px;
  }
  .c-cta-box {
    min-height: 304px;
  }
  .c-cta-box-inner {
    padding-left: 120px;
    padding-right: 120px;
  }
  .c-text-usp-list li,
.c-text-block .c-text-usp-list li {
    flex: 0 0 50%;
    max-width: 50%;
    margin-left: 0;
  }
  .c-logowall-bronze-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 20%;
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
  }
}
@media only screen and (max-width: 900px) {
  .c-footer .c-col-5,
.c-footer .c-col-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-footer .c-col-7 {
    padding-top: var(--spacing-m);
  }
  .c-teaser-3col .c-col-4 {
    -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: 850px) {
  .c-keyfacts .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-keyfact-icon {
    max-width: 170px;
  }
}
@media only screen and (max-width: 768px) {
  .c-text-only .c-col-8,
.c-section-title .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-showroom-home .c-col-6,
.c-main-title .c-col-6,
.c-main-title-img .c-col-6 {
    -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-showroom-home .c-box,
.c-main-title .c-box,
.c-main-title-img .c-box {
    margin-top: -32px;
    margin-left: calc(var(--grid-container) * -1);
  }
  .c-main-title .c-box {
    margin-top: 32px;
  }
  .c-showroom-img {
    height: 75vw;
  }
  .c-showroom-home .c-showroom-img {
    height: 100vw;
  }
  .c-sponsors-partner-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-sponsors-container {
    width: 90px;
    max-width: 90px;
  }
  .c-anchornav-list::before {
    width: 60px;
  }
  .c-directions-panel {
    position: relative;
    top: auto;
    width: 100%;
    height: auto;
    transform: translateY(0%);
    padding-bottom: var(--spacing-s);
  }
  .c-travel-icon {
    width: 60px;
    height: 60px;
  }
  .c-map {
    height: 60vh;
  }
}
@media only screen and (max-width: 750px) {
  .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%;
  }
  .c-footer-disclaimer .c-col-6 {
    text-align: left;
  }
  .c-footer-disclaimer-list li {
    padding-bottom: 1.6rem;
    padding-bottom: var(--spacing-s);
  }
  .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%;
  }
  .c-text-usp-list li,
.c-text-block .c-text-usp-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media only screen and (max-width: 700px) {
  .c-text-img .c-col-6,
.c-teaser-3col .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-asym-left-edgeless figure {
    margin-right: -20px;
    margin-right: calc(var(--grid-container) * -1);
  }
  .c-asym-right-edgeless figure {
    margin-left: -20px;
    margin-left: calc(var(--grid-container) * -1);
  }
  .c-text-img .c-legend {
    padding-left: var(--grid-container);
    padding-right: var(--grid-container);
  }
  .c-text-img .c-deco-dark {
    display: none;
  }
  .c-text-img .c-text-img-inner {
    padding-top: 1.6rem;
    padding-top: var(--spacing-s);
  }
  .c-text-img .c-deco-white {
    left: 0;
    right: auto;
    width: 100%;
    top: -4.8rem;
    top: calc(var(--spacing-l) * -1);
    margin-top: -16px;
    background-image: url(deko-black_5859.svg);
    background-position: -16px 0;
  }
  .c-text-img {
    padding-top: calc(4.8rem + 16px);
    padding-top: calc(var(--spacing-l) + 16px);
  }
  .c-text-img-no-line {
    padding-top: 0;
  }
  .c-logowall-gold-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-logowall-silver-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-bronze-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
}
@media only screen and (max-width: 620px) {
  .c-footer-main .c-col-6,
.c-teaser-btn .c-col-6,
.c-teaser-text-img .c-col-6,
.c-teaser-text-img .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-img-2col .c-col-6,
.c-img-3col .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-deco-cta-left,
.c-deco-cta-right {
    width: 100%;
    height: 48px;
  }
  .c-deco-cta-right {
    top: auto;
    bottom: 0;
  }
  .c-cta-box {
    min-height: 0;
  }
  .c-cta-box-inner {
    padding-top: calc(48px + var(--spacing-m));
    padding-bottom: calc(48px + var(--spacing-m));
    padding-left: 0;
    padding-right: 0;
  }
  .c-teaser-text-img figure {
    max-width: 60%;
    /*margin-left: auto;*/
    margin-right: auto;
    padding-bottom: 3rem;
    padding-bottom: var(--spacing-m);
  }
  .c-sponsors-partner-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-gallery {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 30vw);
  }
  .c-gallery .c-gallery-item-1 {
    grid-row: 1/span 2;
  }
  .c-gallery .c-gallery-item-4 {
    grid-column: 1/span 2;
    grid-row: 3/span 2;
  }
}
@media only screen and (max-width: 480px) {
  .c-logowall-gold-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-silver-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-logowall-bronze-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-offcanvas-nav-list a {
    width: 60%;
  }
}
@media only screen and (max-width: 400px) {
  .c-keyfacts .c-col-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* ==========================================================================
   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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SSxtQkw5Q1E7RUsrQ1I7QU42d0JKOztBTTF3QkE7RUFDQyxzQkxyRFc7RUtzRFI7QU42d0JKOztBTTF3QkE7RUFDSTtFQUNBO0VBQ0EsaUJMM0RRO0VLNERSO0FONndCSjs7QU0xd0JBOzsrRUFBQTtBQUlBOztFQUVJLGtCTDlEYTtFSytEYixtQkwvRGE7RUtnRWI7RUFDQTtBTjR3Qko7O0FNendCQTtFQUNJLG1CTHBFTztFS3FFUCxrQkxyRU87RUtzRVA7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0k7RUFDSTtBTjR3Qlo7O0FNendCQTtFQUNJO0FONHdCSjs7QU16d0JBO0VBQ0k7QU40d0JKOztBTXp3QkE7RUFDSTtBTjR3Qko7O0FNendCQTtFQUNJO0FONHdCSjs7QU16d0JBO0VBQ0k7QU40d0JKOztBTXp3QkE7RUFDSTtBTjR3Qko7O0FNendCQTtFQUNJO0FONHdCSjs7QU16d0JBO0VBQ0k7QU40d0JKOztBTXp3QkE7RUFDSTtBTjR3Qko7O0FNendCQTs7Ozs7Ozs7Ozs7O0VBWUk7RUFDQTtFQUNBLG1CTHBJTztFS3FJUCxrQkxySU87RUtzSVA7RUFDQTtBTjR3Qko7O0FNendCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40d0JKOztBTXp3QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONHdCSjs7QU16d0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjR3Qko7O0FNendCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40d0JKOztBTXp3QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONHdCSjs7QU16d0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjR3Qko7O0FNendCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU40d0JKOztBTXp3QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FONHdCSjs7QU16d0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjR3Qko7O0FNendCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VB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UDBCZTtFT3pCWjtFQUNIO0VBQ0E7RUFDQTtBUitpREQ7O0FRM2lEQTtFQUNDO0VBQ0c7RUFDSDtBUjhpREQ7O0FRM2lEQTtFQUNDO0FSOGlERDs7QVEzaURBOzsrRUFBQTtBQUlBO0VBQ0k7RUFDSDtFQUNHO0FSNmlESjs7QVExaURBO0VBQ0MsV1B2Qlk7RU93QlQ7QVI2aURKOztBUTFpREE7RUFDSTtFQUNBO0VBQ0g7RUFDQTtFQUNBO0VBQ0c7RUFDQTtFQUNBO0FSNmlESjs7QVExaURBO0VBQ0M7QVI2aUREOztBUTFpREE7O0VBRUM7RUFDQTtBUjZpREQ7O0FRMWlEQTtFQUNDO0VBQ0c7QVI2aURKOztBUTFpREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QlBuRGlCO0VPb0RkO0VBQ0g7QVI2aUREOztBUTFpREE7OztFQUdDO0FSNmlERDs7QVExaURBOzs7RUFHQyxXUHpFa0I7RU8wRWY7QVI2aURKOztBUTFpREE7OytFQUFBO0FBSUE7RUFDSTtFQUNBO0FSNGlESjs7QVF6aURBO0VBQ0k7RUFDQTtFQUNBO0FSNGlESjs7QVF6aURBO0VBQ0M7QVI0aUREOztBUXppREE7RUFDQztBUjRpREQ7O0FRemlEQTtFQUNDO0VBQ0c7RUFDQTtFQUNBO0FSNGlESjs7QVF6aURBOzs7RUFHQyxjUHRHaUI7RU91R2Q7QVI0aURKOztBUzVxREE7OytFQUFBO0FBSUE7RUFDQztFQUNHLHNCUmlCTTtFUWhCTjtBVDhxREo7O0FTM3FEQTtFQUNJLG1CUnFCUTtFUXBCUixvQlJxQlE7RVFwQlI7RUFDQTtBVDhxREo7O0FTM3FEQTtFQUNDLG1CUmdCVztFUWZSLHNCUmVRO0VRZFI7RUFDQTtBVDhxREo7O0FTM3FEQTs7O0VBR0M7RUFDQTtFQUNBO0FUOHFERDs7QVMzcURBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVQ4cURKOztBUzNxREE7RUFDQztBVDhxREQ7O0FTM3FEQTtFQUNDO0FUOHFERDs7QVMzcURBO0VBQ0M7QVQ4cUREOztBUzNxREE7RUFDQyxtQlJsQlc7QURnc0RaOztBUzNxREE7O0VBRUMsV1J6Q1k7RVEwQ1Q7QVQ4cURKOztBUzNxREE7O0VBRUMsV1IvQ1k7RVFnRFQ7QVQ4cURKOztBQXZ0REE7QVV2QkE7OytFQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7RUFDQSxXVGdDZ0I7RVMvQmI7RUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVml2REQ7O0FVOXVEQTtFQUNDO0FWaXZERDs7QVU5dURBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZpdkREOztBVTl1REE7O0VBRUM7RUFDQTtBVml2REQ7O0FVOXVEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0c7QVZpdkRKOztBVTl1REE7RUFDQztFQUNBLHNCVGhDWTtFU2lDVDtFQUNIO0FWaXZERDs7QVU5dURBOztFQUVDO0FWaXZERDs7QVU5dURBOztFQUVDO0VBQ0cseUJUcENjO0VTcUNkO0FWaXZESjs7QVU5dURBOztFQUVDLHlCVDFDaUI7RVMyQ2Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVml2REo7O0FVOXVEQTtFQUNDO0FWaXZERDs7QVU5dURBO0VBQ0M7QVZpdkREOztBVTl1REE7OytFQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLHNCVHJFUztFU3NFTjtFQUNIO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVmd2REQ7O0FVN3VEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVmd2REo7O0FVN3VEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FWZ3ZERDs7QVU3dURBOzsrRUFBQTtBQUdBO0VBQ0Msc0JUN0ZXO0VTOEZSO0FWZ3ZESjs7QVU3dURBO0VBQ0M7RUFDQTtFQUNBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QVZndkRKOztBVTd1REE7RUFDQztBVmd2REQ7O0FVN3VEQTtFQUNDO0VBQ0E7RUFDQTtFQUNHO0VBQ0E7RUFDQSxXVHBJZTtFU3FJZjtBVmd2REo7O0FVN3VEQTtFQUNDO0VBQ0E7QVZndkREOztBVTd1REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QlQ1SWlCO0VTNklkO0VBQ0g7QVZndkREOztBVTd1REE7OztFQUdDO0VBQ0c7QVZndkRKOztBVTd1REE7OytFQUFBO0FBSUE7RUFDSTtFQUNBLHNCVHZKUTtFU3dKUjtBVit1REo7O0FVNXVEQTtFQUNJO0VBQ0E7RUFDQTtBVit1REo7O0FVNXVEQTtFQUNDO0FWK3VERDs7QVU1dURBO0VBQ0M7QVYrdUREOztBVTV1REE7RUFDQztFQUNHO0VBQ0E7RUFDQTtFQUNBLFdUN0xlO0VTOExmO0FWK3VESjs7QVU1dURBOzs7RUFHQyxjVDVMaUI7RVM2TGQ7QVYrdURKOztBVTV1REE7OytFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0g7QVY4dUREOztBVTF1REM7RUFDQztFQUNBO0VBQ0E7QVY2dURGO0FVMXVEQztFQUNDO0FWNHVERjs7QUFqOERBO0FXdEJBOzsrRUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVgwOURKOztBV3Y5REE7RUFDSTtBWDA5REo7O0FXdjlEQTtFQUNJO0FYMDlESjs7QVd2OURBO0VBQ0k7QVgwOURKOztBV3Y5REE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBWDA5REo7O0FXdjlEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FYMDlESjs7QVd2OURBO0VBQ0k7RUFDQTtBWDA5REo7O0FXdjlEQTtFQUNJO0VBQ0E7RUFDQTtBWDA5REo7O0FXdjlEQTtFQUNJLFdWVk87RVVXUDtBWDA5REo7O0FXdjlEQTtFQUNJLFVWZk87RVVnQlA7QVgwOURKOztBV3Y5REE7RUFDSTtFQUNBO0VBQ0E7QVgwOURKOztBV3Y5REE7RUFDSTtFQUNBO0FYMDlESjs7QVd2OURBO0VBQ0ksVVYvQk87RVVnQ1A7RUFDQTtBWDA5REo7O0FXdjlEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVgwOURKOztBV3Y5REE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVgwOURKOztBV3Y5REE7O0VBRUk7RUFDQTtFQUNBO0FYMDlESjs7QVd2OURBO0VBQ0k7QVgwOURKOztBV3Y5REE7RUFDSTtBWDA5REo7O0FXdjlEQTs7K0VBQUE7QUFLQTs7RUFFQztBWHc5REQ7O0FXcDlEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FYdTlESjs7QVdwOURBO0VBQ0k7QVh1OURKOztBV3A5REE7RUFDQztFQUNBO0VBQ0E7QVh1OUREOztBV3A5REE7RUFDSTtBWHU5REo7O0FXcDlEQTtFQUNJO0FYdTlESjs7QVdwOURBO0VBQ0k7QVh1OURKOztBV3A5REE7RUFDSTtFQUNBO0VBQ0Esc0JWdElTO0VVdUlUO0FYdTlESjs7QVduOURBOzsrRUFBQTtBQUdBOztFQUVJLG1CVnRJUTtFVXVJUjtBWHM5REo7O0FXbjlEQTtFQUNJO0FYczlESjs7QVduOURBO0VBQ0k7QVhzOURKOztBV245REE7OytFQUFBO0FBR0E7RUFDSSxrQlZwSlE7RVVxSlI7QVhzOURKOztBV245REE7OytFQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYczlESjs7QVduOURBO0VBQ0k7RUFDQTtBWHM5REo7O0FXbjlEQTs7K0VBQUE7QUFHQTs7RUFFSTtFQUNBO0FYczlESjs7QVduOURBOztFQUVJO0FYczlESjs7QVduOURBO0VBQ0k7RUFDQTtBWHM5REo7O0FXbjlEQTtFQUNJO0FYczlESjs7QVdqOURBOzsrRUFBQTtBQUtBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDRyxtQlZ0TU87RVV1TVAsa0JWdk1PO0VVd01QO0VBQ0E7QVhrOURKOztBVy84REE7O0VBRUM7RUFDQSxtQlY5TVU7RVUrTVAsa0JWL01PO0VVZ05QO0VBQ0E7RUFDQTtFQUNBO0FYazlESjs7QVc5OERBO0VBQ0M7RUFDRztFQUNBO0VBQ0E7RUFDQTtBWGk5REo7O0FXOThEQTtFQUNDO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QVhpOURKOztBVzk4REE7RUFDQztFQUNHO0VBQ0E7RUFDQTtFQUNBO0FYaTlESjs7QVc3OERBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVhnOURKOztBVzc4REE7RUFDQztFQUNB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TTtFZnUyRk47RWVwMkZEO0lBQ0M7SUFDQTtFZnMyRkE7RWVuMkZEO0lBQ0M7RWZxMkZBO0FBQ0Y7QWVsMkZBO0VBQ0k7SUFDSTtJQUNOO0lBQ0E7SUFDQTtJQUNBO0VmbzJGQTtFZWoyRkU7SUFDSTtFZm0yRk47RWVoMkZFO0lBQ0ksc0JkcFBJO0ljcVBKO0VmazJGTjtFZS8xRkU7SUFDSTtJQUNOO0lBQ0E7SUFDQTtJQUNBO0VmaTJGQTtFZTkxRkU7O0lBRUk7SUFDTjtJQUNBO0lBQ0E7SUFDQTtFZmcyRkE7QUFDRjtBZTcxRkE7RUFDSTs7SUFFSTtJQUNOO0lBQ0E7SUFDQTtJQUNBO0VmKzFGQTtFZTUxRkU7SUFDSTtJQUNBO0VmODFGTjtFZTMxRkU7SUFDSTtJQUNBO0VmNjFGTjtFZTExRkU7SUFDSTtJQUNBO0VmNDFGTjtFZXoxRkU7SUFDSTtFZjIxRk47RWV4MUZFO0lBQ0ksbUJkeFNJO0ljeVNKO0VmMDFGTjtFZXYxRkU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VmeTFGTjtFZXQxRkU7SUFDSTtJQUNBO0VmdzFGTjtFZXIxRkU7SUFDSTtFZnUxRk47RWVwMUZFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFZnMxRk47RWVuMUZFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFZnExRk47RWVsMUZFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFZm8xRk47QUFDRjtBZWoxRkE7RUFDSTs7OztJQUlJO0lBQ047SUFDQTtJQUNBO0lBQ0E7RWZtMUZBO0VlaDFGRTs7SUFFSTtJQUNOO0lBQ0E7SUFDQTtJQUNBO0VmazFGQTtFZS8wRkU7O0lBRUk7SUFDQTtFZmkxRk47RWU5MEZFO0lBQ0k7SUFDQTtFZmcxRk47RWU3MEZFO0lBQ0k7RWYrMEZOO0VlNTBGRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VmODBGTjtFZTMwRkU7SUFDSTtJQUNBO0lBQ0E7SUFDQSxvQmR6WUk7SWMwWUo7RWY2MEZOO0VlMTBGRTtJQUNJO0lBQ047SUFDQTtJQUNBO0lBQ0E7RWY0MEZBO0VleDBGRTtJQUNJO0lBQ0E7RWYwMEZOO0VldjBGRTtJQUNJO0VmeTBGTjtFZXQwRkU7SUFDSTtJQUNBO0VmdzBGTjtBQUNGO0FlcDBGQTtFQUNJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFZnMwRk47RWVuMEZFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFZnEwRk47RWVsMEZFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFZm8wRk47RWVqMEZFO0lBQ0k7RWZtMEZOO0FBQ0Y7QWUvekZBO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VmaTBGTjtBQUNGO0FnQjl5R0E7OytFQUFBO0FBR0E7RUFDSTtFQUNBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RWhCZ3pHTjtFZ0I3eUdEOztJQUVPO0VoQit5R047RWdCNXlHRTs7O0lBR0Y7RWhCOHlHQTtFZ0IzeUdFOztJQUVJO0lBQ0E7RWhCNnlHTjtFZ0IxeUdFO0lBQ0k7RWhCNHlHTjtFZ0J6eUdFOztJQUVJO0VoQjJ5R047RWdCeHlHRTtJQUNJO0VoQjB5R047RWdCdnlHRTtJQUNJO0VoQnl5R047RWdCdHlHRTs7O0lBR0k7SUFDQTtFaEJ3eUdOO0VnQnJ5R0U7O0lBRUk7SUFDQTtFaEJ1eUdOO0VnQnB5R0U7RUFFSDs7SUFFQztJQUNBO0lBQ0E7RWhCcXlHQTtFZ0JseUdFO0lBQ0k7RWhCb3lHTjtFZ0JqeUdEO0lBQ0M7RWhCbXlHQTtFZ0JoeUdEOzs7OztJQUtDO0VoQmt5R0E7RWdCL3hHRDtFQUNBO0lBQ0M7RWhCaXlHQTtFZ0I5eEdEO0lBQ0M7RWhCZ3lHQTtBQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvbWFpbi5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX25vcm1hbGl6ZS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX21peGlucy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX2hlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fYmFzZS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19vZmZjYW52YXMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fY29udGVudGVsZW1lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2J1dHRvbi1saW5rcy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19yYXRpb2JveC5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fcHJpbnQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypAaW1wb3J0IFwiLi4vZm9udHMvaW5saW5lRm9udHMuc2Nzc1wiOyovXG5AaW1wb3J0IFwiY29tbW9uL192YXJpYWJsZXNcIjtcbi8qQGltcG9ydCBcImNvbW1vbi9fZm9udHNcIjsqL1xuQGltcG9ydCBcImNvbW1vbi9fbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiY29tbW9uL19taXhpbnNcIjtcbkBpbXBvcnQgXCJjb21tb24vX2hlbHBlcnNcIjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIHN0eWxlcyBmb3IgZXZlcnkgcHJvamVjdCAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Jhc2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19ncmlkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2hlYWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Zvb3RlclwiO1xuXG4vKiBvcHRpb25hbCBzdHlsZXMgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19vZmZjYW52YXNcIjtcbi8qQGltcG9ydCBcImNvbXBvbmVudHMvX3RhYmxlc1wiOyovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudGVsZW1lbnRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYnV0dG9uLWxpbmtzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcmF0aW9ib3hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19mb3JtXCI7XG4vKkBpbXBvcnQgXCJjb21wb25lbnRzL19zb2NpYWwtbWVkaWFcIjsqL1xuXG5cbi8qIHN0eWxlcyBmb3IgZXZlcnkgcHJvamVjdCAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3Jlc3BvbnNpdmVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19wcmludFwiOyIsIi8qIFZhcmlhYmxlcywgTmFtaW5nIG1heSB2YXJ5IGZyb20gcHJvamVjdCB0byBwcm9qZWN0ICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250cyAoc2VlICdfZm9udHMuc2NzcycgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gbGljZW5zZSlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEBpbXBvcnQgbXVzdCBiZSBhdCB0b3Agb2YgZmlsZSwgb3RoZXJ3aXNlIENTUyB3aWxsIG5vdCB3b3JrICovXG4vKiBAaW1wb3J0IHVybCgnLy9oZWxsby5teWZvbnRzLm5ldC9jb3VudC80MjY1NjMnKTsgKi9cblxuJGZvbnQtc3RhY2stZGVmYXVsdDogJ0pvc3QnLCAnQXJpYWwnLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZhbGxiYWNrcyBzYXNzIFZhcmlhYmxlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogdGV4dCAqL1xuJHRleHQtY29sb3I6ICMwMDA7IC8qIGRhcmsgZ3JleSAqL1xuJHRleHQtY29sb3ItbGlnaHQ6ICNmZmY7XG4kdGV4dC1jb2xvci1saW5rOiAjQjUwMDAwOyAvKiByZWR5ICovXG4kdGV4dC1jb2xvci1tZWRpdW06ICM4QThBOEE7XG5cbi8qIGJhY2tncm91bmQgKi9cbiRiZy1jb250ZW50OiAjZmZmO1xuJGJnLWRhcms6ICMwMDA7IC8qIGRhcmsgZ3JleSAqL1xuJGJnLWxpZ2h0OiAjZjlmOWY5OyAvKiBsaWdodCBncmV5ICovXG4kY29sb3ItaGlnaGxpZ2h0OiAjQjUwMDAwOyAvKiByZWQgKi9cblxuLyogbGluZS1jb2xvcnMgKi9cbiRib3JkZXItYmFzaWM6ICNlYmViZWI7XG4kYm9yZGVyLW91dHNpZGUtd2lkdGg6IDIwcHg7XG5cbi8qIHNwYWNpbmcgKi9cbiRzcGFjaW5nLWw6IDQuOHJlbTtcbiRzcGFjaW5nLW06IDNyZW07XG4kc3BhY2luZy1zOiAxLjZyZW07XG4kc3BhY2luZy14czogMC44cmVtO1xuJGhlYWRlci1oZWlnaHQ6IDEzOHB4O1xuJHNwYWNpbmctdGl0bGUtdG9wOiAxMnJlbTtcblxuLyogZ3JpZCAqL1xuJGdyaWQtY29udGFpbmVyOiAyMHB4O1xuJGdyaWQtcm93OiAtMTBweDtcbiRncmlkLWNvbDogMTBweDtcblxuXG4vKiBmb3JtICovXG4kYm9yZGVyLWZvcm06ICM5Nzk3OTc7XG4kYm9yZGVyLWZvcm0tZm9jdXM6ICMwMDA7XG4vKiRmb3JtLWRpc2FibGVkOiAjY2NjO1xuJGZvcm0tZXJyb3I6ICNkZDAwMDA7XG4kZm9ybS1vazogIzAwODI4QztcbiRmb3JtLWluaXRpYWw6ICMxRDFEMUI7Ki9cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ3VzdG9tIFByb3BlcnRpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuOnJvb3Qge1xuICAgIC8qIGZvbnRzICovXG4gICAgLS1mb250LXN0YWNrLWRlZmF1bHQ6ICdKb3N0JywgJ0FyaWFsJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG4gICAgLS1mb250LXdlaWdodC1ub3JtYWw6IDQwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LWJvbGQ6IDgwMDtcbiAgICAtLWxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgXG4gICAgLyogdGV4dCAgKi9cbiAgICAtLXRleHQtY29sb3I6ICMwMDA7IC8qIGJsYWNrICovXG4gICAgLS10ZXh0LWNvbG9yLWxpZ2h0OiAjZmZmO1xuICAgIC0tdGV4dC1jb2xvci1saW5rOiAjQjUwMDAwO1xuICAgIC0tdGV4dC1jb2xvci1tZWRpdW06ICM4QThBOEE7XG4gICAgXG4gICAgXG4gICAgLyogY29sb3JzIC8gYmFja2dyb3VuZCAqL1xuICAgIC0tYmctY29udGVudDogI2ZmZjtcbiAgICAtLWJnLWRhcms6ICMwMDA7IC8qIGRhcmsgZ3JleSAqL1xuICAgIC0tYmctbGlnaHQ6ICNmOWY5Zjk7IC8qIGxpZ2h0IGdyZXkgKi9cbiAgICAtLWNvbG9yLWhpZ2hsaWdodDogI0I1MDAwMDsgLyogcmVkICovXG4gICAgXG4gICAgLyogbGluZXMgKi9cbiAgICAtLWJvcmRlci1iYXNpYzogI2ViZWJlYjtcbiAgICAtLWJvcmRlci1vdXRzaWRlLXdpZHRoOiAyMHB4O1xuICAgIC0tYm9yZGVyLWJ0bi1iaWc6IDIwcHg7XG4gICAgLS1ib3JkZXItYnRuLWJpZy1uZWdhdGl2ZTogLTIwcHg7XG4gICAgXG4gICAgLyogc3BhY2luZyAqL1xuICAgIC0tc3BhY2luZy1sOiA0LjhyZW07XG4gICAgLS1zcGFjaW5nLW06IDNyZW07IFxuICAgIC0tc3BhY2luZy1zOiAxLjZyZW07XG4gICAgLS1zcGFjaW5nLXhzOiAwLjhyZW07XG4gICAgLS1oZWFkZXItaGVpZ2h0OiAxMzhweDtcbiAgICAtLXNwYWNpbmctdGl0bGUtdG9wOiAxMnJlbTtcbiAgICBcbiAgICBcbiAgICAvKiBncmlkICovXG4gICAgLS1ncmlkLWNvbnRhaW5lcjogMjBweDtcbiAgICAtLWdyaWQtcm93OiAtMTBweDtcbiAgICAtLWdyaWQtY29sOiAxMHB4O1xuICAgIFxuICAgIC8qIGZvcm0gKi9cbiAgICAtLWJvcmRlci1mb3JtOiAjOTc5Nzk3OyBcbiAgICAtLWJvcmRlci1mb3JtLWZvY3VzOiAjMDAwO1xuICAgIC8qLS1mb3JtLWRpc2FibGVkOiAjY2NjO1xuICAgIC0tZm9ybS1lcnJvcjogI2RkMDAwMDtcbiAgICAtLWZvcm0tb2s6ICMwMDgyOEM7XG4gICAgLS1mb3JtLWluaXRpYWw6ICMxRDFEMUI7Ki9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEV4ZXB0aW9ucyBmb3IgZGlmZmVyZW50IGJhY2tncm91bmRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZXh0LWxpZ2h0IHtcbiAgICAtLXRleHQtY29sb3I6ICNmZmY7XG4gICAgLS10ZXh0LWNvbG9yLWxpbms6ICNmZmY7XG59XG5cbi5jLXNwb25zb3JzLXBhcnRuZXIge1xuICAgIC0tdGV4dC1jb2xvci1saW5rOiAjMDAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVzcG9uc2l2ZSBDdXN0b20gUHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyMDBweCkge1xuICAgIDpyb290IHtcbiAgICAgICAgLS1ncmlkLWNvbnRhaW5lcjogNDBweDtcbiAgICAgICAgLS1ncmlkLXJvdzogLTIwcHg7XG4gICAgICAgIC0tZ3JpZC1jb2w6IDIwcHg7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMjAwcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0taGVhZGVyLWhlaWdodDogODBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMzAwcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tYm9yZGVyLW91dHNpZGUtd2lkdGg6IDEycHg7XG4gICAgICAgIC0tYm9yZGVyLWJ0bi1iaWc6IDEycHg7XG4gICAgICAgIC0tYm9yZGVyLWJ0bi1iaWctbmVnYXRpdmU6IC0xMnB4O1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTgwcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tc3BhY2luZy1sOiAzcmVtO1xuICAgICAgICAtLXNwYWNpbmctbTogMS44cmVtOyBcbiAgICAgICAgLS1ib3JkZXItb3V0c2lkZS13aWR0aDogOHB4O1xuICAgICAgICAtLXNwYWNpbmctdGl0bGUtdG9wOiA2cmVtO1xuICAgICAgICAtLWJvcmRlci1idG4tYmlnOiA4cHg7XG4gICAgICAgIC0tYm9yZGVyLWJ0bi1iaWctbmVnYXRpdmU6IC04cHg7XG4gICAgfVxufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4qIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUU2Lzcgd2hlbiBib2R5IGZvbnQtc2l6ZSBpcyBzZXQgdXNpbmcgZW0gdW5pdHNcbiAqICAgIGh0dHA6Ly9jbGFnbnV0LmNvbS9ibG9nLzM0OC8jYzc5MFxuICogMi4gS2VlcHMgcGFnZSBjZW50cmVkIGluIGFsbCBicm93c2VycyByZWdhcmRsZXNzIG9mIGNvbnRlbnQgaGVpZ2h0XG4gKiAzLiBQcmV2ZW50cyBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbVxuICogICAgd3d3LjQ1NmJlcmVhc3RyZWV0LmNvbS9hcmNoaXZlLzIwMTAxMi9jb250cm9sbGluZ190ZXh0X3NpemVfaW5fc2FmYXJpX2Zvcl9pb3Nfd2l0aG91dF9kaXNhYmxpbmdfdXNlcl96b29tL1xuICogNC4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG5cdGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiA0ICovXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbn1cblxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cblxuXG4gKi9cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyAvKiBjdWJlZ3JhZmlrICovXG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICovXG5cbmEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmE6Zm9jdXMge1xuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLypcbiogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKlxuICogSW1wcm92ZXMgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vyc1xuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogU2V0IGNvbnNpc3RlbnQgcXVvdGUgdHlwZXMuXG4gKi9cblxucSB7XG4gICAgcXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcblxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICAgIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZXMgYm9yZGVyIHdoZW4gaW5zaWRlICdhJyBlbGVtZW50IGluIElFNi83LzgvOSwgRkYzXG4gKiAyLiBJbXByb3ZlcyBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFN1xuICogICAgY29kZS5mbGlja3IuY29tL2Jsb2cvMjAwOC8xMS8xMi9vbi11aS1xdWFsaXR5LXRoZS1saXR0bGUtdGhpbmdzLWNsaWVudC1zaWRlLWltYWdlLXJlc2l6aW5nL1xuICovXG5cbmltZyB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLyogMiAqL1xufVxuXG4vKlxuICogQ29ycmVjdHMgb3ZlcmZsb3cgZGlzcGxheWVkIG9kZGx5IGluIElFOVxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWd1cmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuXG5maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb3JyZWN0cyBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFNi83XG4gKi9cblxuZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjowOyAvKiBjdWJlZ3JhZmlrICovXG4gICAgbWFyZ2luOjA7IC8qIGN1YmVncmFmaWsgKi9cbiAgICBwYWRkaW5nOjA7IC8qIGN1YmVncmFmaWsgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gIGJvcmRlcjogMDtcbn1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG5cbiAqIDQuIEltcHJvdmVzIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vyc1xuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogNCAqL1xufVxuXG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG5cbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0cyBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZXMgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmVzIGlubmVyIHNwYWNpbmcgaW4gSUU3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUU2LlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gICAgKm92ZXJmbG93OiB2aXNpYmxlOyAvKiA0ICovXG59XG5cbi8qXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cblxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cblxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cblxuLyoqXG5cbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bzsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxsc1xuICovXG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVsZW1lbnRzIGN1YmVncmFmaWtcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmE6YWN0aXZlIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG5cbmRpdiwgcCB7XG4gICAgcGFkZGluZzowO1xuICAgIG1hcmdpbjowO1xufVxuXG5ociB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxudGgsIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHRleHQtYWxpZ246bGVmdDtcbn1cblxuaW5wdXQsXG50ZXh0YXJlYSB7XG4gICAgLyogUmVtb3ZlZCBiZWNhdXNlIG9mIHZpc2liaWxpdHljaGFuZ2UtYWRkaXRpb24gdG8gZmFuY3ktZm9ybXMgcGx1Z2luLlxuICAgICAqIDIwMTUvMDEvMjIgLSBGbG9yaWFuIE3DpGRlclxuICAgICAqIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsqL1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbn1cblxuaHRtbCB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBTYWZhcmkgMy4wIC0gNS4wLCBDaHJvbWUgMSAtIDksIEFuZHJvaWQgMi4xIC0gMy54ICovXG4gICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBGaXJlZm94IDEgLSAyOCAqL1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogU2FmYXJpIDUuMSssIENocm9tZSAxMCssIEZpcmVmb3ggMjkrLCBPcGVyYSA3KywgSUUgOCssIEFuZHJvaWQgNC4wKywgaU9TIGFueSAqL1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcbiAgICAgICAtbW96LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5sYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIElFIDEwICAqL1xuICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLyogSUUgMTErICovXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm0gUGxhY2Vob2xkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgICB7QGNvbnRlbnR9XG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgIHtAY29udGVudH1cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAge0Bjb250ZW50fSAgXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250cyBzbW9vdGhpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBmb250LXNtb290aGluZygkdmFsdWU6IG9uKSB7XG4gICAgQGlmICR2YWx1ZSA9PSBvbiB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcbiAgICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgSGlkaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1oaWRlLXZpc3VhbGx5IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLmMtaGlkZS1jb21wbGV0ZWx5IHtcblx0ZGlzcGxheTogbm9uZTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBpbWFnZSByZXBsYWNlbWVudCAqL1xuLmMtaXIge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Ym9yZGVyOiAwO1xuXHR0ZXh0LWluZGVudDogLTk5OWVtO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0ZGlyZWN0aW9uOiBsdHI7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0aWNreSBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmh0bWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbmJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmMtaGVhZGVyLFxuLmMtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmMtY29udGVudCB7XG4gICAgZmxleC1ncm93OiAxO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlIFByb2plY3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmJvZHkge1xuXHRAaW5jbHVkZSBmb250LXNtb290aGluZyhvbik7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXHRmb250LWZhbWlseTogJGZvbnQtc3RhY2stZGVmYXVsdDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zdGFjay1kZWZhdWx0KTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyogbGlua3MgKi9cbmEsXG5hOnZpc2l0ZWQsXG5hOmZvY3VzLFxuYTpob3ZlciB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saW5rO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpbmspO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbn1cblxudGV4dGFyZWEge1xuXHRyZXNpemU6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0YW5kYXJkIGltZyAvIG1lZGlhIGRlY2xhcmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5lbWJlZCxcbm9iamVjdCxcbnZpZGVvLFxuaWZyYW1lLFxuaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuaW1nIHtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jLWltZy1tYXgtd2lkdGgsXG4uYy1jb250ZW50IC5jLWltZy1tYXgtd2lkdGgge1xuXHR3aWR0aDogYXV0bztcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG5pbWcgeyBcblx0dmVydGljYWwtYWxpZ246IGJvdHRvbTsgXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0YW5kYXJkIE1haW4gQ29udGFpbmVyIERlY2xhcmF0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1oZWFkZXIsXG4uYy1jb250ZW50LFxuLmMtZm9vdGVyLFxuLmMtY29udGFpbmVyLFxuLmMtY29udGFpbmVyLW1lZGl1bSxcbi5jLWNvbnRhaW5lci13aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogYXV0bztcbn1cblxuLmMtZm9vdGVyLFxuLmMtZm9vdGVyLW1haW4ge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItb3V0c2lkZS13aWR0aCBzb2xpZCAkYmctY29udGVudDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoLS1ib3JkZXItb3V0c2lkZS13aWR0aCk7XG59XG5cbi5jLWNvbnRlbnQsXG4uYy1mb290ZXIge1xuICAgIGJvcmRlci1sZWZ0OiAkYm9yZGVyLW91dHNpZGUtd2lkdGggc29saWQgJGJnLWNvbnRlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLW91dHNpZGUtd2lkdGggc29saWQgJGJnLWNvbnRlbnQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IHZhcigtLWJvcmRlci1vdXRzaWRlLXdpZHRoKTtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IHZhcigtLWJvcmRlci1vdXRzaWRlLXdpZHRoKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xufVxuXG4uYy1oZWFkZXItaW5uZXJ7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKCRib3JkZXItb3V0c2lkZS13aWR0aCArICRncmlkLWNvbnRhaW5lcik7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygkYm9yZGVyLW91dHNpZGUtd2lkdGggKyAkZ3JpZC1jb250YWluZXIpO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1ib3JkZXItb3V0c2lkZS13aWR0aCkgKyB2YXIoLS1ncmlkLWNvbnRhaW5lcikpO1xuICAgIHBhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1ib3JkZXItb3V0c2lkZS13aWR0aCkgKyB2YXIoLS1ncmlkLWNvbnRhaW5lcikpO1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0YW5kYXJkIFBhZGRpbmcgYmV0d2VlbiBDb21wb25lbnRzIFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGFpbmVyLFxuLmMtY29udGFpbmVyLW1lZGl1bSxcbi5jLWltZy0yY29sIC5jLWNvbC02LFxuLmMtaW1nLTNjb2wgLmMtY29sLTQsXG4uYy10ZWFzZXItM2NvbCAuYy1jb2wtNCxcbi5jLWtleWZhY3RzIC5jLWNvbC0zLFxuLmMtZ2FsbGVyeSB7XG5cdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1sO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWwpO1xufVxuXG4uYy1zaG93cm9vbS1ob21lLFxuLmMtbWFwLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWwpO1xufVxuXG4uYy1tYWluLXRpdGxlIHtcblx0bWFyZ2luLXRvcDogJHNwYWNpbmctdGl0bGUtdG9wO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctdGl0bGUtdG9wKTtcbn1cblxuLmMtY29udGFpbmVyLW5vLXBhZGRpbmcge1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtc2VjdGlvbi10aXRsZSB7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG5cbi5jLXNob3dyb29tLXRleHQtaW5uZXIge1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy1sO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWwpO1xufVxuXG4uYy10ZXh0LW9ubHktbGluZSAuYy1jb2wtMTIge1xuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy1zO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4uYy10ZWFzZXItYnRuIC5jLWNvbC02IHtcblx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi5jLWJhY2sgKyAuYy1hbmNob3JuYXYge1xuICAgIG1hcmdpbi10b3A6IC0kc3BhY2luZy1sO1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2luZy1sKSAqIC0xKTtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctbTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1tKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0YW5kYXJkIEdyaWQgRGVjbGFyYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWNvbnRhaW5lcixcbi5jLWNvbnRhaW5lci1tZWRpdW0ge1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtY29udGFpbmVyO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWNvbnRhaW5lcjtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG59XG5cbi5jLXJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLWxlZnQ6ICRncmlkLXJvdztcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ3JpZC1yb3cpO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAtd2Via2l0LWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLmMtcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLmMtcm93LWp1c3RpZnktbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uYy1yb3ctanVzdGlmeS1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYy1yb3ctanVzdGlmeS1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmMtcm93LWp1c3RpZnktYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLmMtcm93LWp1c3RpZnktYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYy1yb3ctYWxpZ24tdG9wIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmMtcm93LWFsaWduLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmMtcm93LWFsaWduLWJvdHRvbSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uYy1jb2wtMSxcbi5jLWNvbC0yLFxuLmMtY29sLTMsXG4uYy1jb2wtNCxcbi5jLWNvbC01LFxuLmMtY29sLTYsXG4uYy1jb2wtNyxcbi5jLWNvbC04LFxuLmMtY29sLTksXG4uYy1jb2wtMTAsXG4uYy1jb2wtMTEsXG4uYy1jb2wtMTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZy1yaWdodDogJGdyaWQtY29sO1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtY29sO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbn1cblxuLmMtY29sLTEyIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG4gICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgICAgXG59XG5cbi5jLWNvbC0xMSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTtcbn1cblxuLmMtY29sLTEwIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlO1xufVxuXG4uYy1jb2wtOSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA3NSU7XG4gICAgLW1zLWZsZXg6IDAgMCA3NSU7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbn1cblxuLmMtY29sLTgge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7XG59XG5cbi5jLWNvbC03IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlO1xufVxuXG4uYy1jb2wtNiB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbn1cblxuLmMtY29sLTUge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7XG59XG5cbi5jLWNvbC00IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xufVxuXG4uYy1jb2wtMyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAyNSU7XG4gICAgLW1zLWZsZXg6IDAgMCAyNSU7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbn1cblxuLmMtY29sLTIge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7XG59XG5cbi5jLWNvbC0xIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDguMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7XG59XG5cbi8qIG9mZnNldCBjb2xzICovXG4uYy1jb2wtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY3JTtcbn1cblxuLmMtY29sLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTtcbn1cblxuLmMtY29sLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjclO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzJTtcbn1cblxuLmMtY29sLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzJTtcbn1cblxuLmMtY29sLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjclO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR3JpZCBWYXJpYW50ZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWFzeW0tcmlnaHQtZWRnZWxlc3MsXG4uYy1hc3ltLWxlZnQtZWRnZWxlc3Mge1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbn1cblxuLmMtYXN5bS1yaWdodC1lZGdlbGVzcyBmaWd1cmUge1xuICAgIG1hcmdpbi1yaWdodDogLSRncmlkLWNvbnRhaW5lcjtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tZ3JpZC1jb250YWluZXIpICogLTEpO1xufVxuXG4uYy1hc3ltLWxlZnQtZWRnZWxlc3MgZmlndXJlIHtcbiAgICBtYXJnaW4tbGVmdDogLSRncmlkLWNvbnRhaW5lcjtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1ncmlkLWNvbnRhaW5lcikgKiAtMSk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmh0bWwge1xuXHRmb250LXNpemU6IDE4cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUaXRsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbiAgICBmb250LXdlaWdodDogODAwO1xufVxuXG5oMSxcbi5jLWgxIHtcblx0cGFkZGluZy1ib3R0b206IC42NWVtO1xuXHRsaW5lLWhlaWdodDogMS4xO1xuXHRmb250LXNpemU6IDNyZW07IC8qIDYwcHggKi9cbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYy1jdGEgLmMtaDEge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbn1cblxuaDIsXG4uYy1oMiB7XG5cdHBhZGRpbmctYm90dG9tOiAuNzVlbTtcblx0bGluZS1oZWlnaHQ6IDEuMTtcblx0Zm9udC1zaXplOiAyLjRyZW07IC8qIDQ4cHggKi9cblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuaDMsXG4uYy1oMyxcbi5jLXRleHQtYmlnIHtcblx0bGluZS1oZWlnaHQ6IDEuMTtcblx0Zm9udC1zaXplOiAxLjZyZW07XG5cdHBhZGRpbmctYm90dG9tOiAwLjVlbTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuXG4uYy10ZXh0LWJsb2NrIC5jLXRleHQtYmlnIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG59XG5cbmg0LFxuLmMtaDQge1xuXHRsaW5lLWhlaWdodDogMS42O1xuXHRmb250LXNpemU6IDFyZW07XG5cdHBhZGRpbmctYm90dG9tOiAwLjQ1ZW07XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2ljIFRleHQgQ29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmIsIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLWNvbnRlbnQsXG4uYy1mb290ZXIge1xuXHRsaW5lLWhlaWdodDogMS42O1xufVxuXG4uYy10ZXh0LWJsb2NrIHAge1xuXHRwYWRkaW5nLWJvdHRvbTogMS42ZW07XG59XG5cbi5jLXRlYXNlci10ZXh0LWltZyAuYy10ZXh0LWJsb2NrIHAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbn1cblxuLmMtdGV4dC1ibG9jayBwICsgaDIsXG4uYy10ZXh0LWJsb2NrIHAgKyBoMyxcbi5jLXRleHQtYmxvY2sgcCArIGg0LFxuLmMtdGV4dC1ibG9jayB1bCArIHAsXG4uYy10ZXh0LWJsb2NrIHVsICsgaDIsXG4uYy10ZXh0LWJsb2NrIHVsICsgaDMsXG4uYy10ZXh0LWJsb2NrIHVsICsgaDQsXG4uYy10ZXh0LWJsb2NrIHVsICsgb2wsXG4uYy10ZXh0LWJsb2NrIG9sICsgcCxcbi5jLXRleHQtYmxvY2sgb2wgKyBoMixcbi5jLXRleHQtYmxvY2sgb2wgKyBoMyxcbi5jLXRleHQtYmxvY2sgb2wgKyBoNCB7XG5cdHBhZGRpbmctdG9wOiAxLjZlbTtcbn1cblxuLmMtdGV4dC1ibG9jayBwOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYy1sZWFkIHtcblx0Zm9udC1zaXplOiAxLjJyZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jLXNlY3Rpb24tdGl0bGUgLmMtbGVhZCB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLW07XG4gICAgcGFkZGluZy1ib3R0b206IHZhcihzcGFjaW5nLW0pO1xufVxuXG5cbi5jLWxlZ2VuZCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLXRvcDogJHNwYWNpbmcteHM7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmcteHMpO1xufVxuXG4uYy1kYXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbWVkaXVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLW1lZGl1bSk7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXhzO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXhzKTtcbn1cblxuLmMtZm9vdGVyIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbn1cblxuLmMtdGV4dC1zbWFsbCxcbi5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBjaXRlLFxuLmMtbGVnZW5kLFxuLmMtaGVhZGVyLFxuLmMtZm9vdGVyLW5hdi1saXN0LFxuLmMtbGluay1ib2xkLFxuLmMtYnRuLFxuLmMtdGl0bGUtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtOyAvKiAxNnB4ICovXG59XG4uYy10aXRsZS1zbWFsbCB7XG4gICAgY29sb3I6ICNjY2M7XG59XG5cbi5jLWJ0bi1iaWcge1xuXHRmb250LXNpemU6IDIuNHJlbTtcbn1cblxuLmMtZm9vdGVyLWRpc2NsYWltZXIge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmMta2V5ZmFjdC10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLWhlaWdodDogMy43ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy1rZXlmYWN0LXRpdGxlIHNwYW57XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmMta2V5ZmFjdC1udW1iZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uYy1kaXJlY3Rpb25zLWRpc3RhbmNlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtZGlyZWN0aW9ucy10aW1lIHtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbWVkaXVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLW1lZGl1bSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNpYyBMaXN0cyBDb250ZW50IFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1ibG9jayB1bCxcbi5jLXRleHQtYmxvY2sgb2wge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgMCAxLjZlbSAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpLFxuLmMtdGV4dC1ibG9jayBvbCBsaSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1sZWZ0OiAzNHB4O1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpICsgbGksXG4uYy10ZXh0LWJsb2NrIG9sIGxpICsgbGkge1xuXHRtYXJnaW4tdG9wOiAwLjVlbTtcbn1cblxuLmMtdGV4dC1ibG9jayB1bCBsaTo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC41OGVtO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDZweDtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG59XG5cbi5jLXRleHQtYmxvY2sgb2wge1xuXHRjb3VudGVyLXJlc2V0OiBjdXN0b20tY291bnRlcjtcbn1cblxuLmMtdGV4dC1ibG9jayBvbCBsaSB7XG5cdGNvdW50ZXItaW5jcmVtZW50OiBjdXN0b20tY291bnRlcjtcbn1cblxuLmMtdGV4dC1ibG9jayBvbCBsaTo6YmVmb3JlIHtcblx0Y29udGVudDogY291bnRlcihjdXN0b20tY291bnRlcikgXCIuIFwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0d2lkdGg6IDI2cHg7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWxpc3QtaG9yaXpvbnRhbCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtbGluay1saXN0IGxpLFxuLmMtdGV4dC1ibG9jayAuYy1hbmNob3JuYXYtbGlzdCBsaXtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtbGluay1saXN0LWhvcml6b250YWwgbGk6OmJlZm9yZSxcbi5jLXRleHQtYmxvY2sgLmMtbGluay1saXN0IGxpOjpiZWZvcmUsXG4uYy10ZXh0LWJsb2NrIC5jLXRleHQtdXNwLWxpc3QgbGk6OmJlZm9yZSxcbi5jLXRleHQtYmxvY2sgLmMtYW5jaG9ybmF2LWxpc3QgbGk6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuXG4uYy1zcG9uc29ycy1wYXJ0bmVyLWxpc3QsXG4uYy10ZXh0LXVzcC1saXN0LFxuLmMtdGV4dC1ibG9jayAuYy10ZXh0LXVzcC1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLXJvdztcbiAgICBtYXJnaW4tbGVmdDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ3JpZC1yb3cpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1ncmlkLXJvdyk7XG59XG5cbi5jLXNwb25zb3JzLXBhcnRuZXItbGlzdCBsaSB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBwYWRkaW5nOiAwLjhlbSAkZ3JpZC1jb2w7XG4gICAgcGFkZGluZzogMC44ZW0gdmFyKC0tZ3JpZC1jb2wpO1xufVxuXG4uYy10ZXh0LXVzcC1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLXJvdztcbiAgICBtYXJnaW4tbGVmdDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ3JpZC1yb3cpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1ncmlkLXJvdyk7XG59XG5cblxuXG4uYy10ZXh0LXVzcC1saXN0IGxpLFxuLmMtdGV4dC1ibG9jayAuYy10ZXh0LXVzcC1saXN0IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMlO1xuICAgIG1hcmdpbi10b3A6IDAuOGVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOGVtO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygkZ3JpZC1jb2wgKyAzNHB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCRncmlkLWNvbCArIDM0cHgpO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1ncmlkLWNvbCkgKyAzNHB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWdyaWQtY29sKSArIDM0cHgpO1xufVxuXG4uYy10ZXh0LXVzcC1saXN0IGxpOjpiZWZvcmUsXG4uYy10ZXh0LWJsb2NrIC5jLXRleHQtdXNwLWxpc3QgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDonJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjQ1ZW07XG4gICAgbGVmdDogJGdyaWQtY29sO1xuICAgIGxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICB3aWR0aDogMTFweDtcbiAgICBoZWlnaHQ6IDExcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMnB4IDJweCAwIDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGV4dC1jb2xvciAkdGV4dC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi5jLWFuY2hvcm5hdi1saXN0LFxuLmMtdGV4dC1ibG9jayAuYy1hbmNob3JuYXYtbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKCRzcGFjaW5nLW0gLSAwLjM1ZW0pO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXNwYWNpbmctbSkgLSAwLjM1ZW0pO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYy1hbmNob3JuYXYtbGlzdDo6YmVmb3JlIHtcbiAgICBjb250ZW50OicnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMjgwcHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0IGhlbHBlcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXRleHQtcmlnaHQge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmMtdGV4dC1jZW50ZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jLXRleHQtbGlnaHQge1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGV4dCBzaXplcyByZXNwb25zaXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTUwMHB4KSB7XG4gICAgaHRtbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG5cbiAgICAuYy1oZWFkZXIsXG4gICAgLmMtZm9vdGVyLW5hdi1saXN0LFxuICAgIC5jLWxpbmstYm9sZCxcbiAgICAuYy1idG4sXG4gICAgLmMtdGl0bGUtc21hbGwge1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICB9XG4gICAgXG4gICAgLmMtYnRuLWJpZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEzNjBweCkge1xuXHRoMSwgLmMtaDEsXG5cdGgyLCAuYy1oMixcblx0aDMsIC5jLWgzLFxuICAgIC5jLXRleHQtYmlnLFxuICAgIC5jLWJ0bi1iaWcge1xuXHRcdG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cdFx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXHRcdC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG5cdFx0d29yZC1icmVhazogYnJlYWstYWxsO1xuXHRcdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cdFx0LW1zLWh5cGhlbnM6IGF1dG87XG5cdFx0LW1vei1oeXBoZW5zOiBhdXRvO1xuXHRcdC13ZWJraXQtaHlwaGVuczogYXV0bztcblx0XHRoeXBoZW5zOiBhdXRvO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxNDAwcHgpIHtcbiAgICBoMSwgLmMtaDEge1xuXHRcdGZvbnQtc2l6ZTogMi40cmVtO1xuXHR9XG5cblx0aDIsIC5jLWgyLFxuICAgIC5jLWJ0bi1iaWcge1xuXHRcdGZvbnQtc2l6ZTogMS44cmVtO1xuXHR9XG5cblx0aDMsIC5jLWgzLFxuICAgIC5jLXRleHQtYmlnIHtcblx0XHRmb250LXNpemU6IDEuMjVyZW07XG5cdH1cbiAgICBcbiAgICAuYy1rZXlmYWN0LW51bWJlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy40cmVtO1xuICAgIH1cbiAgICBcbiAgICAuYy1vZmZjYW52YXMtbmF2IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbiAgICBcbiAgICAuYy1vZmZjYW52YXMtbmF2LWxpc3Qge1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7XG5cblx0aHRtbCB7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHR9XG5cblx0aDEsIC5jLWgxIHtcblx0XHRmb250LXNpemU6IDJyZW07XG5cdH1cblxuXHRoMiwgLmMtaDIsXG4gICAgLmMtYnRuLWJpZyB7XG5cdFx0Zm9udC1zaXplOiAxLjVyZW07XG5cdH1cblxuXHRoMywgLmMtaDMsXG4gICAgLmMtdGV4dC1iaWcge1xuXHRcdGZvbnQtc2l6ZTogMS4xMjVyZW07XG5cdH1cbiAgICBcbiAgICAuYy1rZXlmYWN0LW51bWJlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgIH1cbiAgICBcbiAgICAuYy1vZmZjYW52YXMtbmF2LFxuICAgIC5jLW9mZmNhbnZhcy1uYXYtbGlzdCwgXG4gICAgLmMtbGVhZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG5cblx0LmMtdGV4dC1zbWFsbCxcbiAgICAuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgY2l0ZSxcbiAgICAuYy1sZWdlbmQsXG4gICAgLmMtaGVhZGVyLFxuICAgIC5jLWZvb3Rlci1uYXYtbGlzdCxcbiAgICAuYy1saW5rLWJvbGQsXG4gICAgLmMtdGl0bGUtc21hbGwge1xuXHRcdGZvbnQtc2l6ZTogMC44NXJlbTtcblx0fVxufVxuXG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1oZWFkZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcblx0ei1pbmRleDogMTA7XG59XG5cbi5jLWhlYWRlci1pbm5lciB7XG5cdGhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG4gICAgaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1mbG93OiByb3c7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuXG4uYy1oZWFkZXItbG9nbyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcblx0d2lkdGg6IDMwMHB4O1xufVxuXG4uYy1oZWFkZXItbG9nbyBhIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBtYWluIG5hdiBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW1haW4tbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jLW1haW4tbmF2IGEge1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xufVxuXG4uYy1tYWluLW5hdi1saXN0IHtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZyk7XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgbGkgKyBsaSB7XG5cdHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBhLFxuLmMtbWFpbi1uYXYtbGlzdCBzcGFuIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgYSB7XG5cdHBhZGRpbmc6IDYwcHggMTZweCAwLjVlbSAxNnB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgbGluZWFyO1xufVxuXG4uYy1tYWluLW5hdi1saXN0IGE6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBhOmZvY3VzOjpiZWZvcmUsXG4uYy1tYWluLW5hdi1saXN0IGE6aG92ZXI6OmJlZm9yZSxcbi5jLW1haW4tbmF2LWxpc3QgLmN1cnJlbnRfcGFnZV9pdGVtIGE6OmJlZm9yZSB7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBhOmZvY3VzLFxuLmMtbWFpbi1uYXYtbGlzdCBhOmhvdmVyLFxuLmMtbWFpbi1uYXYtbGlzdCAuY3VycmVudF9wYWdlX2l0ZW0gYSB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMYW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1oZWFkZXItaW5uZXIgLndwbWwtbHMtbGVnYWN5LWxpc3QtaG9yaXpvbnRhbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDYwcHggLSAwLjVlbSk7XG59XG5cbi5jLWhlYWRlci1pbm5lciAud3BtbC1scy1sZWdhY3ktbGlzdC1ob3Jpem9udGFsIHVsIHtcbiAgICBtYXJnaW46IDAgMCAwIDJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLWhlYWRlci1pbm5lciAud3BtbC1scy1sZWdhY3ktbGlzdC1ob3Jpem9udGFsIGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy1oZWFkZXItaW5uZXIgLndwbWwtbHMtbGVnYWN5LWxpc3QtaG9yaXpvbnRhbCBsaSArIGxpIHtcblx0cGFkZGluZy1sZWZ0OiAxZW07XG59XG5cbi5jLWhlYWRlci1pbm5lciAud3BtbC1scy1sZWdhY3ktbGlzdC1ob3Jpem9udGFsIGEge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAwLjVlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG59XG5cbi5jLWhlYWRlci1pbm5lciAud3BtbC1scy1sZWdhY3ktbGlzdC1ob3Jpem9udGFsIGE6Zm9jdXMsXG4uYy1oZWFkZXItaW5uZXIgLndwbWwtbHMtbGVnYWN5LWxpc3QtaG9yaXpvbnRhbCBhOmhvdmVyLFxuLmMtaGVhZGVyLWlubmVyIC53cG1sLWxzLWxlZ2FjeS1saXN0LWhvcml6b250YWwgLndwbWwtbHMtY3VycmVudC1sYW5ndWFnZSBhIHtcblx0Y29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodClcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvb3RlciB7XG5cdHBhZGRpbmctdG9wOiA0OHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xufVxuXG4uYy1mb290ZXItbWFpbiB7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLW07XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbSk7XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyIHtcblx0cGFkZGluZy10b3A6ICRzcGFjaW5nLXM7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctcyk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QsXG4uYy1mb290ZXItbmF2LWxpc3QsXG4uYy1mb290ZXItc29jaWFsLWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLWZvb3Rlci1uYXYtbGlzdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmcpO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy1mb290ZXItbmF2LWxpc3QgbGkge1xuXHRwYWRkaW5nLWJvdHRvbTogMC43NWVtO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0ID4gbGkgKyBsaSB7XG5cdHBhZGRpbmctbGVmdDogMWVtO1xufVxuXG4uYy1mb290ZXItc29jaWFsLWxpc3Qge1xuXHRwYWRkaW5nLXRvcDogJHNwYWNpbmctcztcbn1cblxuLmMtZm9vdGVyIGEsXG4uYy1mb290ZXIgYTp2aXNpdGVkIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbn1cblxuLmMtZm9vdGVyIGE6aG92ZXIsXG4uYy1mb290ZXIgYTpmb2N1cyB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyB0cmlnZ2VyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1vZmZjYW52YXMtdHJpZ2dlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRvcDogMjBweDtcblx0cmlnaHQ6ICRncmlkLWNvbnRhaW5lcjtcbiAgICByaWdodDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiA0MHB4O1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXI6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy10cmlnZ2VyOjphZnRlciB7XG5cdGNvbnRlbnQ6Jyc7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDUwJTtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjo6YWZ0ZXIge1xuXHR3aWR0aDogMjBweDtcblx0dHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOjpiZWZvcmUge1xuXHRoZWlnaHQ6IDE0cHg7XG5cdG1hcmdpbi10b3A6IC03cHg7XG5cdGJvcmRlci10b3A6IDJweCBzb2xpZCAkdGV4dC1jb2xvcjtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR0ZXh0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46OmFmdGVyIHtcblx0aGVpZ2h0OiAycHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXHRtYXJnaW4tdG9wOiAtMXB4O1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOmZvY3VzOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOmhvdmVyOjpiZWZvcmUge1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46Zm9jdXM6OmFmdGVyLFxuLmMtb2ZmY2FudmFzLXRyaWdnZXItb3Blbjpob3Zlcjo6YWZ0ZXIge1xuXHR3aWR0aDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLWNsb3NlOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1jbG9zZTo6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1jbG9zZTo6YmVmb3JlIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItY2xvc2U6OmFmdGVyIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIG5hdiBtYWluIGNvbnRhaW5lclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtb2ZmY2FudmFzLW5hdiB7XG5cdC8qZGlzcGxheTogbm9uZTsqL1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWRhcms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcblx0ei1pbmRleDogMTA7XG5cdHdpZHRoOiAwO1xuXHRoZWlnaHQ6IDA7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdHRyYW5zaXRpb246IGhlaWdodCAuMnMgZWFzZS1vdXQgMHM7XG59XG5cbiNvcGVuLW5hdmlnYXRpb246bm90KDp0YXJnZXQpIC5jLW9mZmNhbnZhcy1uYXYge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmMtb2ZmY2FudmFzLWlubmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogMTAwdmg7XG5cdG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPZmZjYW52YXMgQ29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLW9mZmNhbnZhcy1jb250ZW50IHtcblx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc3BhY2luZy1sKSAqIDIpO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmcpO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgbGkgKyBsaSB7XG5cdHBhZGRpbmctdG9wOiAxNnB4O1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgYSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAxZW0gMjRweDtcbiAgICB3aWR0aDogNTAlOyAgICBcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3Qgc3BhbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgYTo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IGE6Zm9jdXM6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBhOmhvdmVyOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgLmN1cnJlbnRfcGFnZV9pdGVtIGE6OmJlZm9yZXtcblx0d2lkdGg6IGNhbGMoMTAwJSArICRncmlkLWNvbnRhaW5lcik7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLWdyaWQtY29udGFpbmVyKSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMYW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1vZmZjYW52YXMtY29udGVudCAud3BtbC1scy1sZWdhY3ktbGlzdC1ob3Jpem9udGFsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi5jLW9mZmNhbnZhcy1jb250ZW50IC53cG1sLWxzLWxlZ2FjeS1saXN0LWhvcml6b250YWwgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLW9mZmNhbnZhcy1jb250ZW50IC53cG1sLWxzLWxlZ2FjeS1saXN0LWhvcml6b250YWwgbGkge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jLW9mZmNhbnZhcy1jb250ZW50IC53cG1sLWxzLWxlZ2FjeS1saXN0LWhvcml6b250YWwgbGkgKyBsaSB7XG5cdHBhZGRpbmctbGVmdDogMWVtO1xufVxuXG4uYy1vZmZjYW52YXMtY29udGVudCAud3BtbC1scy1sZWdhY3ktbGlzdC1ob3Jpem9udGFsIGEge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAwLjVlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcbn1cblxuLmMtb2ZmY2FudmFzLWNvbnRlbnQgLndwbWwtbHMtbGVnYWN5LWxpc3QtaG9yaXpvbnRhbCBhOmZvY3VzLFxuLmMtb2ZmY2FudmFzLWNvbnRlbnQgLndwbWwtbHMtbGVnYWN5LWxpc3QtaG9yaXpvbnRhbCBhOmhvdmVyLFxuLmMtb2ZmY2FudmFzLWNvbnRlbnQgLndwbWwtbHMtbGVnYWN5LWxpc3QtaG9yaXpvbnRhbCAud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlIGEge1xuXHRjb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIG5hdiBvcGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4jb3Blbi1uYXZpZ2F0aW9uOnRhcmdldCB7XG5cdC5jLW9mZmNhbnZhcy1uYXYge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwdmg7XG5cdFx0b3ZlcmZsb3cteTogYXV0bztcblx0fVxuXHRcblx0LmMtb2ZmY2FudmFzLXRyaWdnZXItb3BlbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufSIsIlxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEZWNvXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1kZWNvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG59XG5cbi5jLWRlY28td2hpdGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9kZWtvLXdoaXRlLnN2Zyk7IFxufVxuXG4uYy1kZWNvLWRhcmsge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9kZWtvLWJsYWNrLnN2Zyk7IFxufVxuXG4uYy1kZWNvLXRpdGxle1xuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9kZWtvLXRpdGxlLnN2Zyk7IFxufVxuXG4uYy1kZWNvLWZvb3RlciB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0OHB4O1xufVxuXG4uYy1kZWNvLXRpdGxlIHtcbiAgICB0b3A6IC02NHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMTJweDtcbn1cblxuLmMtbWFpbi10aXRsZSAuYy1kZWNvLXRpdGxlIHtcbiAgICB0b3A6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL2Rla28tYmxhY2suc3ZnKTsgXG59XG5cbi5jLXRleHQtaW1nIC5jLWRlY28taW1nIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xufVxuXG4uYy1hc3ltLWxlZnQtZWRnZWxlc3MgLmMtZGVjby1pbWcge1xuICAgIHJpZ2h0OiAkZ3JpZC1jb2w7XG4gICAgcmlnaHQ6IHZhcigtLWdyaWQtY29sKTtcbn1cblxuLmMtYXN5bS1yaWdodC1lZGdlbGVzcyAuYy1kZWNvLWltZyB7XG4gICAgbGVmdDogJGdyaWQtY29sO1xuICAgIGxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbn1cblxuLmMtdGV4dC1pbWcgLmMtZGVjby10ZXh0IHtcbiAgICB0b3A6IDA7ICBcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLWFzeW0tbGVmdC1lZGdlbGVzcyAuYy1kZWNvLXRleHQge1xuICAgIGxlZnQ6IC0kZ3JpZC1jb2w7XG4gICAgbGVmdDogY2FsYyh2YXIoLS1ncmlkLWNvbCkgKiAtMSk7XG59XG5cbi5jLWFzeW0tcmlnaHQtZWRnZWxlc3MgLmMtZGVjby10ZXh0IHtcbiAgICBsZWZ0OiAkZ3JpZC1jb2w7XG4gICAgbGVmdDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IHRvcDtcbn1cblxuLmMtZGVjby10ZXh0LWxpbmUge1xuICAgIC0td2lkdGhCb3JkZXI6IGNhbGModmFyKC0tZ3JpZC1jb250YWluZXIpICogMik7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbGVmdDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuICAgIGhlaWdodDogMTZweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0td2lkdGhCb3JkZXIpKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC0xNnB4O1xufVxuXG4uYy1kZWNvLXNlcGFyYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtMTZweDtcbn1cblxuLmMtZGVjby1jdGEtbGVmdCxcbi5jLWRlY28tY3RhLXJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDE3NnB4O1xuICAgIGhlaWdodDogMTAwJVxufVxuXG4uYy1kZWNvLWN0YS1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xufVxuXG4uYy1kZWNvLWN0YS1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTaG93cm9vbSAvIE1haW4gdGl0bGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLmMtc2hvd3Jvb20taG9tZSxcbi5jLW1haW4tdGl0bGUtaW1nIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4uYy1zaG93cm9vbS1pbWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IGNhbGMoODV2aCAtIHZhcigtLWhlYWRlci1oZWlnaHQpKTsgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiBhdXRvO1xufVxuXG4uYy1tYWluLXRpdGxlLWltZyAuYy1zaG93cm9vbS1pbWcge1xuICAgIGhlaWdodDogY2FsYyg2NnZoIC0gdmFyKC0taGVhZGVyLWhlaWdodCkpOyBcbn1cblxuLmMtc2hvd3Jvb20taW1nIGltZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uYy1zaG93cm9vbS1ob21lIC5jLWJveCB7XG4gICAgbWFyZ2luLXRvcDogLTEwcmVtO1xufVxuXG4uYy1tYWluLXRpdGxlLWltZyAuYy1ib3gge1xuICAgIG1hcmdpbi10b3A6IC03LjJyZW07XG59XG5cbi5jLW1haW4tdGl0bGUgLmMtYm94IHtcbiAgICBtYXJnaW4tdG9wOiAtMy42cmVtO1xufVxuXG4uYy1ib3gge1xuICAgIHBhZGRpbmc6IDEuNWVtICRncmlkLWNvbnRhaW5lciAwICRncmlkLWNvbnRhaW5lcjtcbiAgICBwYWRkaW5nOiAxLjVlbSB2YXIoLS1ncmlkLWNvbnRhaW5lcikgMCAgdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBpbWcgdGV4dCAvIG5ld3MgdGV4dCBvbmx5IGxpbmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy10ZXh0LWltZy1pbm5lcixcbi5jLXRleHQtb25seS1saW5lIHtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctbDtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuLmMtdGV4dC1pbWctbm8tbGluZSAuYy1kZWNvIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uYy10ZXh0LWltZy1uby1saW5lIC5jLXRleHQtaW1nLWlubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIHRlYXNlciAzIGNvbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXRlYXNlci0zY29sIGZpZ3VyZSArIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy1zO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctcyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBjdGFcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1jdGEtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xufVxuXG4uYy1jdGEtYm94LWlubmVyIHtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy1zIDIwMHB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctcykgMjAwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICB0ZWFzZXIgYnRuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtdGVhc2VyLWJ0biAuYy1jb2wtNixcbi5jLXRlYXNlci1idG4gLmMtYnRuLWJpZ3tcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xufVxuXG4uYy10ZWFzZXItYnRuIC5jLWJ0bi1iaWcsXG4uYy10ZWFzZXItYnRuIC5jLWJ0bi1iaWcgc3BhbiB7XG4gICAgZmxleC1ncm93OiAxO1xufVxuXG4uYy10ZWFzZXItYnRuIC5jLWJ0bi1iaWcgc3BhbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy10ZWFzZXItYnRuIC5jLWJ0bi1iaWcge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tYm9yZGVyLWJ0bi1iaWcpO1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgbG9nb3dhbGwgLyBTcG5zb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5jLWxvZ293YWxsLWxpc3QsXG4uYy1zcG9uc29ycy1saXN0IHtcblx0ZGlzcGxheTpmbGV4O1xuXHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLWxlZnQ6ICRncmlkLXJvdztcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ3JpZC1yb3cpO1xufVxuXG4uYy1sb2dvd2FsbC1saXN0IGxpLFxuLmMtc3BvbnNvcnMtbGlzdCBsaSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1yaWdodDogJGdyaWQtY29sO1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtY29sO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICBtYXJnaW4tdG9wOiAwLjhlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjhlbTtcbn1cblxuXG4uYy1sb2dvd2FsbC1nb2xkLWxpc3QgbGkge1xuXHQtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xufVxuXG4uYy1sb2dvd2FsbC1zaWx2ZXItbGlzdCBsaSB7XG5cdC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMjUlO1xuICAgIC1tcy1mbGV4OiAwIDAgMjUlO1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAgMjUlO1xufVxuXG4uYy1sb2dvd2FsbC1icm9uemUtbGlzdCBsaSB7XG5cdC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7XG59XG5cblxuLmMtc3BvbnNvcnMtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5jLWxvZ293YWxsLWxvZ28ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdC8qZmxleC1ncm93OiAxOyovXG5cdGZsZXg6IDEgMCBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmMtbG9nb3dhbGwtbG9nbzo6YmVmb3JlIHtcbiBcdGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiA3NSU7XG5cdGZsb2F0OmxlZnQ7XG59XG5cbi5jLXNwb25zb3JzLWNvbnRhaW5lciAuYy1sb2dvd2FsbC1sb2dvOjpiZWZvcmV7XG4gICAgcGFkZGluZy10b3A6IDEwMCU7XG59XG5cbi5jLWxvZ293YWxsLWxvZ28gaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBoZWlnaHQ6IDgwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLmMtc3BvbnNvcnMtbGlzdCAuYy1sb2dvd2FsbC1sb2dvIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIGtleWZhY3RzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMta2V5ZmFjdC1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDAuNWVtIGF1dG87XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gbWFwXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1tYXAtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLW1lZGl1bSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtbWFwIHtcblx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG5cdGhlaWdodDogNjAwcHg7XG59XG5cbi5jLWRpcmVjdGlvbnMtcGFuZWwge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDUwJTtcblx0d2lkdGg6IDQ1MHB4O1xuXHRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXI7XG4gICAgcGFkZGluZzogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcblx0ei1pbmRleDogMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAmLmhpZGRlbntcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNDUwcHg7XG4gICAgfVxuXHRcbn1cblxuLmMtZGlyZWN0aW9ucy1pbmZvIHtcblx0cGFkZGluZy1ib3R0b206IDFlbTtcblx0bWluLWhlaWdodDogNmVtO1xufVxuXG4uYy1kaXJlY3Rpb24tbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtZGlyZWN0aW9uLWxpc3QgbGkge1xuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBnYWxsZXJ5IFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZ2FsbGVyeSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDMsIDIwdncpO1xuICBncmlkLWdhcDogJGJvcmRlci1vdXRzaWRlLXdpZHRoO1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1ib3JkZXItb3V0c2lkZS13aWR0aCk7XG59XG5cbi5jLWdhbGxlcnktaXRlbSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmMtZ2FsbGVyeSAuYy1nYWxsZXJ5LWl0ZW0tMSB7XG4gIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICBncmlkLXJvdzogMSAvIHNwYW4gMztcbn1cblxuLmMtZ2FsbGVyeSAuYy1nYWxsZXJ5LWl0ZW0tNCB7XG4gIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAyO1xuICBncmlkLXJvdzogMiAvIHNwYW4gMjtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIENvb2tpZSBub3RpY2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWNvb2tpZS1ub3RpY2V7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG5cdHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgcGFkZGluZzogMS41cmVtIDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblx0Ym9yZGVyOiBzb2xpZCAycHggJHRleHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgei1pbmRleDogMTA7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtY29va2llLW5vdGljZS1saXN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1jb29raWUtbm90aWNlLWxpc3QgbGk6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtY29va2llLW5vdGljZS1saXN0IGxpIHtcbiAgICAvKmRpc3BsYXk6IGJsb2NrOyovXG4gICAgcGFkZGluZzogMC41ZW0gMC41ZW0gMCAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpIHsgICAgXG5cdC5jLWNvb2tpZS1ub3RpY2Uge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJvdHRvbTogMDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Ym9yZGVyLXRvcDogc29saWQgMnB4ICR0ZXh0LWNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpbmsgY29sb3JzIGFuZCBzdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmFbaHJlZl49XCJ0ZWw6XCJdIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYy1saW5rLWJvbGRbaHJlZl49XCJ0ZWw6XCJde1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGluaztcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saW5rKTtcbn1cblxuLmMtdGV4dC1ibG9jayBhLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWljb24gc3BhbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sJHRleHQtY29sb3ItbGluayAwJSwkdGV4dC1jb2xvci1saW5rIDEwMCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sdmFyKC0tdGV4dC1jb2xvci1saW5rKSAwJSx2YXIoLS10ZXh0LWNvbG9yLWxpbmspIDEwMCUpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAycHggMnB4O1xuICBcdHRyYW5zaXRpb246IGJhY2tncm91bmQgLjFzO1xufVxuXG4uYy10ZXh0LWJsb2NrIGE6Zm9jdXMsXG4uYy10ZXh0LWJsb2NrIGE6aG92ZXIsXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstaWNvbiBzcGFuOmZvY3VzLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWljb24gc3Bhbjpob3ZlciB7XG5cdGJhY2tncm91bmQtc2l6ZTogNHB4IDRweDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1idG4sXG4uYy10ZXh0LWJsb2NrIC5jLWxpbmstaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCdXR0b24gXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nKTtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5jLWJ0biBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IDAuNzVlbSAyMHB4O1xuXHRib3JkZXI6IHNvbGlkIDJweCAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0cHgsIC00cHgsIDBweCk7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cblxuLmMtYnRuLFxuLmMtYnRuOnZpc2l0ZWQsXG4uYy1idG46aG92ZXIsIFxuLmMtYnRuOmZvY3Vze1xuICAgIGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1idG46aG92ZXIgc3BhbiwgXG4uYy1idG46Zm9jdXMgc3BhbiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG59XG5cbi5jLWJ0bi1iaWcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1ib3JkZXItYnRuLWJpZykpO1xufVxuXG4uYy1idG4tYmlnIHNwYW4ge1xuICAgIHBhZGRpbmc6IDEuMWVtICRncmlkLWNvbnRhaW5lcjtcbiAgICBwYWRkaW5nOiAxLjFlbSB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCh2YXIoLS1ib3JkZXItYnRuLWJpZyksIHZhcigtLWJvcmRlci1idG4tYmlnLW5lZ2F0aXZlKSwgMHB4KTtcbn1cblxuLmMtYnRuLXNtYWxsIHNwYW4ge1xuICAgIHBhZGRpbmc6IDAuNWVtIDE2cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmMtY29va2llLW5vdGljZSAuYy1idG4tc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5cblxuLmMtYnRuLWRpcmVjdGlvbnMtY2xvc2UsXG4uYy1idG4tZGlyZWN0aW9ucy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IC01MHB4O1xuXHR3aWR0aDogNTBweDtcblx0aGVpZ2h0OiA1MHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0O1xufVxuXG4uYy1idG4tZGlyZWN0aW9ucy1jbG9zZTo6YmVmb3JlLFxuLmMtYnRuLWRpcmVjdGlvbnMtb3Blbjo6YmVmb3JlIHtcblx0Y29udGVudDonJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgICBtYXJnaW4tdG9wOiAtMTFweDtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMnB4IDJweCAwIDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0ICRjb2xvci1oaWdobGlnaHQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpIHZhcigtLWNvbG9yLWhpZ2hsaWdodCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG5cbi5jLWJ0bi1kaXJlY3Rpb25zLW9wZW46OmJlZm9yZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC02cHg7XG5cdHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG59XG5cbi5jLWJ0bi1kaXJlY3Rpb25zLW9wZW4ge1xuXHRkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBcbn1cblxuLmMtYnRuLWRpcmVjdGlvbnMtY2xvc2U6Zm9jdXMsXG4uYy1idG4tZGlyZWN0aW9ucy1jbG9zZTpob3Zlcixcbi5jLWJ0bi1kaXJlY3Rpb25zLW9wZW46Zm9jdXMsXG4uYy1idG4tZGlyZWN0aW9ucy1vcGVuOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWJ0bi1kaXJlY3Rpb25zLWNsb3NlOmZvY3VzOjpiZWZvcmUsXG4uYy1idG4tZGlyZWN0aW9ucy1jbG9zZTpob3Zlcjo6YmVmb3JlLFxuLmMtYnRuLWRpcmVjdGlvbnMtb3Blbjo6YmVmb3JlLFxuLmMtYnRuLWRpcmVjdGlvbnMtb3Blbjpmb2N1czo6YmVmb3JlLFxuLmMtYnRuLWRpcmVjdGlvbnMtb3Blbjpob3Zlcjo6YmVmb3JlIHtcblx0Ym9yZGVyLWNvbG9yOiAkdGV4dC1jb2xvci1saWdodCAkdGV4dC1jb2xvci1saWdodCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpIHZhcigtLXRleHQtY29sb3ItbGlnaHQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgbGlua3Mgd2l0aCBpY29uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaWNvbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtaWNvbjo6YmVmb3JlLFxuLmMtaWNvbjo6YWZ0ZXIge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9zcHJpdGUuc3ZnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLmMtbGluay1ib2xkIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmMtbGluay1pY29uIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tbGVmdDogMzRweDtcbn1cblxuLmMtbGluay1iYWNrIHtcblx0bWFyZ2luLWxlZnQ6IDIwcHg7XG59XG5cbi5jLWxpbmstYXJyb3c6OmJlZm9yZSxcbi5jLWxpbmstYmFjazo6YmVmb3JlIHtcblx0dG9wOiAwLjM1ZW07XG5cdGxlZnQ6IC0yMHB4O1xuXHR3aWR0aDogMjhweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG5cdHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5cblxuLmMtbGluay1iYWNrOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjBweDtcbn1cblxuLmMtbGluay1kb3dubG9hZDo6YmVmb3JlIHtcblx0dG9wOiAwLjNlbTtcblx0bGVmdDogLTM0cHg7XG5cdHdpZHRoOiAyMXB4O1xuXHRoZWlnaHQ6IDIxcHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQwcHg7XG59XG5cbi5jLWxpbmstZXh0ZXJuOjpiZWZvcmUge1xuXHR0b3A6IDAuMjdlbTtcblx0bGVmdDogLTM0cHg7XG5cdHdpZHRoOiAyMXB4O1xuXHRoZWlnaHQ6IDIxcHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7XG59XG5cbi5jLWljb24tc29jaWFsLWZiIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgaGVpZ2h0OiA1MnB4O1xufVxuXG4uYy1pY29uLXNvY2lhbC1mYjo6YmVmb3JlIHtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogNTJweDtcblx0aGVpZ2h0OiA1MnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDBweDtcbn1cblxuLmMtYnRuLXNlYXJjaCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRtYXJnaW4tdG9wOiAtMjVweDtcblx0cmlnaHQ6IDA7XG5cdHdpZHRoOiA1MnB4O1xuXHRoZWlnaHQ6IDUwcHg7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xufVxuXG4uYy1idG4tc2VhcmNoOjpiZWZvcmUge1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tdG9wOiAtMTZweDtcblx0bWFyZ2luLWxlZnQ6IC0xNnB4O1xuXHR3aWR0aDogMzJweDtcblx0aGVpZ2h0OiAzMnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjBweDtcbn1cblxuLmMtYnRuLXNlYXJjaDpmb2N1czo6YmVmb3JlLFxuLmMtYnRuLXNlYXJjaDpob3Zlcjo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTIyMHB4O1xufVxuXG4uYy1idG4tc2VhcmNoOmZvY3VzLFxuLmMtYnRuLXNlYXJjaDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgcmVzcG9uc2l2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE1MDBweCkgeyAgIFxuXHQuYy1saW5rLWFycm93OjpiZWZvcmUsXG4gICAgLmMtbGluay1iYWNrOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDAuNGVtO1xuICAgIH1cblxuICAgIC5jLWxpbmstZG93bmxvYWQ6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMC40ZW07XG4gICAgfVxuXG4gICAgLmMtbGluay1leHRlcm46OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMC4zZW07XG4gICAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSYXRpbyBCb3hcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXJhdGlvYm94IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDA7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1yYXRpb2JveCA+IGltZyxcbi5jLXJhdGlvYm94ID4gaWZyYW1lLFxuLmMtcmF0aW9ib3ggPiBvYmplY3Qge1xuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xufVxuXG4uYy1yYXRpb2JveCA+IGltZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XHRcbn1cblxuLmMtcmF0aW9ib3ggPiBpZnJhbWUsXG4uYy1yYXRpb2JveCA+IG9iamVjdCB7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG4uYy1yYXRpb2JveC0xNmJ5OSB7XG5cdHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi5jLXJhdGlvYm94LTRieTMge1xuXHRwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuXG4uYy1yYXRpb2JveC0xYnkxIHtcblx0cGFkZGluZy1ib3R0b206IDEwMCU7XG59XG5cbi5jLXJhdGlvYm94LXNob3dyb29tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzguNjkwNDc2MTkwNDc2MTklO1xufVxuXG4uYy1yYXRpb2JveC1zaG93cm9vbSBpbWcsXG4uYy1yYXRpb2JveC0xYnkxIGltZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogc2FmYXJpIGZvcm0gZml4ICovXG5pbnB1dCxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxudGV4dGFyZWEge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogcmVtb3ZlIGNocm9tZSBhdXRvZmlsbCB5ZWxsb3cgY29sb3IgKi9cbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAyMDAwcztcbn1cblxuLmMtZm9ybS1pdGVtIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBmb3JtZmllbGRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCB0ZXh0YXJlYSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXI6IHNvbGlkIDJweCAkYm9yZGVyLWZvcm07XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybSk7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdHBhZGRpbmc6IDAuNzVlbSAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgdGV4dGFyZWE6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6ICRib3JkZXItZm9ybS1mb2N1cztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtLWZvY3VzKTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRm9ybSBkaXJlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLWRpcmVjdGlvbnMgLmMtZm9ybS1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctcztcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4uYy1mb3JtLWRpcmVjdGlvbnMgLmMtZm9ybS10ZXh0IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNjRweCk7XG4gICAgd2lkdGg6IDEwMCU7XG5cdGJvcmRlcjogc29saWQgMnB4ICRib3JkZXItZm9ybTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtKTtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0cGFkZGluZzogMC40ZW0gMTBweDtcbiAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xufVxuXG4uYy1mb3JtLWRpcmVjdGlvbnMgLmMtZm9ybS10ZXh0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItZm9ybS1mb2N1cztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtLWZvY3VzKTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLmMtZGlyZWN0aW9uLWxpc3QgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQsXG4uYy1kaXJlY3Rpb24tbGlzdCBpbnB1dFt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC05OTk5cHg7XG59XG5cbi5jLXRyYXZlbC1pY29uIHtcblx0ZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogNzZweDtcblx0aGVpZ2h0OiA3NnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbn1cblxuLmMtdHJhdmVsLWljb246OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL3Nwcml0ZS1kaXJlY3Rpb25zLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7ICAgIFxufVxuXG4uYy10cmF2ZWwtd2Fsazo6YmVmb3JlIHtcblx0bWFyZ2luLXRvcDogLTE1cHg7XG5cdGhlaWdodDogMzFweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xufVxuXG4uYy10cmF2ZWwtYmlrZTo6YmVmb3JlIHtcblx0bWFyZ2luLXRvcDogLTE0cHg7XG5cdGhlaWdodDogMjlweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjBweDtcbn1cblxuLmMtdHJhdmVsLWNhcjo6YmVmb3JlIHtcblx0bWFyZ2luLXRvcDogLTE0cHg7XG5cdGhlaWdodDogMjlweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTIwcHg7XG59XG5cbi5jLXRyYXZlbC10cmFuc2l0OjpiZWZvcmUge1xuXHRtYXJnaW4tdG9wOiAtMjRweDtcblx0aGVpZ2h0OiA0OHB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xODBweDtcbn1cblxuXG4uYy1kaXJlY3Rpb24tbGlzdCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCsuYy10cmF2ZWwtaWNvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtZGlyZWN0aW9uLWxpc3QgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQrLmMtdHJhdmVsLXdhbGs6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAwO1xufVxuXG4uYy1kaXJlY3Rpb24tbGlzdCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCsuYy10cmF2ZWwtYmlrZTo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC02MHB4O1xufVxuXG4uYy1kaXJlY3Rpb24tbGlzdCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCsuYy10cmF2ZWwtY2FyOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTEyMHB4O1xufVxuXG4uYy1kaXJlY3Rpb24tbGlzdCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCsuYy10cmF2ZWwtdHJhbnNpdDo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0xODBweDtcbn1cblxuXG4uYy1mb3JtLWRpcmVjdGlvbnMgLmMtZm9ybS10ZXh0IHtcblx0d2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xufVxuXG4uYy1mb3JtLWRpcmVjdGlvbnMgLmMtZm9ybS1pdGVtIHtcblx0cGFkZGluZy1ib3R0b206IDA7XG5cdG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZpZXdwb3J0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ALW1zLXZpZXdwb3J0IHtcblx0d2lkdGg6IGRldmljZS13aWR0aDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1lZGlhcXVlcmllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE0MDFweCkgeyAgXG4gICAgLmMtc2hvd3Jvb20taG9tZSAuYy1ib3gge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTFyZW07XG4gICAgfVxuICAgIFxuICAgIC5jLW1haW4tdGl0bGUtaW1nIC5jLWJveCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC03LjhyZW07XG4gICAgfVxuICAgIFxuXHQuYy1tYWluLXRpdGxlIC5jLWJveCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC00LjJyZW07XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTMzMHB4KSB7XG5cdC8qIGNvbnRhaW5lciBtYXggd2lkdGggKi9cblx0LmMtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMzIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gICAgXG4gICAgLmMtYXN5bS1yaWdodC1lZGdlbGVzcyxcbiAgICAuYy1hc3ltLWxlZnQtZWRnZWxlc3Mge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDY2MHB4ICsgNTAlKTtcbiAgICB9XG4gICAgXG4gICAgLmMtYXN5bS1yaWdodC1lZGdlbGVzcyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtYXN5bS1sZWZ0LWVkZ2VsZXNzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLXRleHQtaW1nIC5jLWFzeW0tY29sLWdyaWQge1xuICAgICAgICBmbGV4OiAwIDAgNjQwcHg7XG4gICAgICAgIG1heC13aWR0aDogNjQwcHg7IC8qIDEvMiBjb250ZW50IHdpZHRoIC0gMS8yIHBhZGRpbmcgKDIwcHgpICovXG4gICAgfVxuICAgIFxuICAgIC5jLXRleHQtaW1nIC5jLWFzeW0tY29sLWVkZ2VsZXNzIHtcbiAgICAgICAgZmxleDogMCAwIGNhbGMoMTAwJSAtIDY0MHB4KTsgLyogd2lkdGggLSAxLzIgcGFkZGluZyAoMjBweCkgKi9cbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2NDBweCk7IC8qIHdpZHRoIC0gMS8yIHBhZGRpbmcgKDIwcHgpICovXG4gICAgfVxuICAgIFxuICAgIC5jLWFzeW0tbGVmdC1lZGdlbGVzcyAuYy10ZXh0LWltZy1pbm5lciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMTBweDsgLyogZGlmZmVyZW5jZSA1IGNvbCAgKi9cbiAgICB9XG4gICAgXG4gICAgLmMtYXN5bS1yaWdodC1lZGdlbGVzcyAuYy10ZXh0LWltZy1pbm5lciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTEwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTUwMHB4KSB7ICBcblx0LmMtaGVhZGVyLWxvZ28ge1xuXHRcdHdpZHRoOiAyMDBweDsgIFx0XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEzMjlweCkgeyAgXG5cdC5jLXRlYXNlci10ZXh0LWltZyAuYy1jb2wtNSB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG5cdH1cbiAgICBcbiAgICAuYy10ZWFzZXItdGV4dC1pbWcgZmlndXJlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTMwMHB4KSB7ICBcblx0LmMtbWFpbi1uYXYtbGlzdCBhIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIH1cbn1cblxuLyogaGVhZGVyIHNob3cgb2ZmY2FudmFzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTIwMHB4KSB7ICBcblx0LmMtb2ZmY2FudmFzLXRyaWdnZXItb3BlbiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0XG5cdC5jLW1haW4tbmF2IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMTAwcHgpIHsgIFxuXHQuYy1zaG93cm9vbS1ob21lIC5jLWNvbC02LFxuICAgIC5jLW1haW4tdGl0bGUtaW1nIC5jLWNvbC02LFxuICAgIC5jLW1haW4tdGl0bGUgLmMtY29sLTZ7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgICAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk4MHB4KSB7ICBcblx0LmMtaGVhZGVyLWxvZ28ge1xuXHRcdHdpZHRoOiAxMjBweDtcblx0fVxuICAgIFxuICAgIC5jLWRlY28tY3RhLWxlZnQsXG4gICAgLmMtZGVjby1jdGEtcmlnaHQge1xuICAgICAgICB3aWR0aDogOTZweDtcbiAgICB9XG4gICAgXG4gICAgLmMtY3RhLWJveCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwNHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1jdGEtYm94LWlubmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTIwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jLXRleHQtdXNwLWxpc3QgbGksXG4gICAgLmMtdGV4dC1ibG9jayAuYy10ZXh0LXVzcC1saXN0IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICBcbiAgICAuYy1sb2dvd2FsbC1icm9uemUtbGlzdCBsaSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDIwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAyMCU7XG4gICAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICAgIG1heC13aWR0aDogMjAlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkwMHB4KSB7ICBcbiAgICAuYy1mb290ZXIgLmMtY29sLTUsXG4gICAgLmMtZm9vdGVyIC5jLWNvbC03IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3RlciAuYy1jb2wtNyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLW0pO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZWFzZXItM2NvbCAuYy1jb2wtNCB7XG4gICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDUwJTtcblx0XHQtbXMtZmxleDogMCAwIDUwJTtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjg1MHB4KSB7ICBcbiAgICAuYy1rZXlmYWN0cyAuYy1jb2wtMyB7XG4gICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDUwJTtcblx0XHQtbXMtZmxleDogMCAwIDUwJTtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1rZXlmYWN0LWljb24ge1xuICAgICAgICBtYXgtd2lkdGg6IDE3MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7ICBcblx0LmMtdGV4dC1vbmx5IC5jLWNvbC04LFxuXHQuYy1zZWN0aW9uLXRpdGxlIC5jLWNvbC04IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXHRcblx0fVxuICAgIFxuICAgIC5jLXNob3dyb29tLWhvbWUgLmMtY29sLTYsXG5cdC5jLW1haW4tdGl0bGUgLmMtY29sLTYsXG4gICAgLmMtbWFpbi10aXRsZS1pbWcgLmMtY29sLTYge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgICAgIG1heC13aWR0aDogOTEuNjY2NjclOyAgIFx0XG5cdH1cbiAgICBcbiAgICAuYy1zaG93cm9vbS1ob21lIC5jLWJveCxcblx0LmMtbWFpbi10aXRsZSAuYy1ib3gsXG4gICAgLmMtbWFpbi10aXRsZS1pbWcgLmMtYm94IHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTMycHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWdyaWQtY29udGFpbmVyKSAqIC0xKTtcbiAgICB9XG4gICAgXG4gICAgLmMtbWFpbi10aXRsZSAuYy1ib3gge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1zaG93cm9vbS1pbWcge1xuICAgICAgICBoZWlnaHQ6IDc1dnc7XG4gICAgfVxuICAgIFxuICAgIC5jLXNob3dyb29tLWhvbWUgLmMtc2hvd3Jvb20taW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxMDB2dztcbiAgICB9XG4gICAgXG4gICAgLmMtc3BvbnNvcnMtcGFydG5lci1saXN0IGxpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1MCU7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtc3BvbnNvcnMtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgIG1heC13aWR0aDogOTBweDtcbiAgICB9XG4gICAgXG4gICAgLmMtYW5jaG9ybmF2LWxpc3Q6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1kaXJlY3Rpb25zLXBhbmVsIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogYXV0bztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG5cdH1cblx0XG5cdC5jLXRyYXZlbC1pY29uIHtcblx0XHR3aWR0aDogNjBweDtcblx0XHRoZWlnaHQ6IDYwcHg7XG5cdH1cblx0XG5cdC5jLW1hcCB7XG5cdFx0aGVpZ2h0OiA2MHZoO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NTBweCkgeyAgXG4gICAgLmMtZm9vdGVyLWRpc2NsYWltZXIgLmMtY29sLTYge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLWRpc2NsYWltZXIgLmMtY29sLTYge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItZGlzY2xhaW1lciAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZXh0LXVzcC1saXN0IGxpLFxuICAgIC5jLXRleHQtYmxvY2sgLmMtdGV4dC11c3AtbGlzdCBsaSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjcwMHB4KSB7ICBcbiAgICAuYy10ZXh0LWltZyAuYy1jb2wtNixcbiAgICAuYy10ZWFzZXItM2NvbCAuYy1jb2wtNCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1hc3ltLWxlZnQtZWRnZWxlc3MgZmlndXJlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtY29udGFpbmVyO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tZ3JpZC1jb250YWluZXIpICogLTEpO1xuICAgIH1cblxuICAgIC5jLWFzeW0tcmlnaHQtZWRnZWxlc3MgZmlndXJlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1jb250YWluZXI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWdyaWQtY29udGFpbmVyKSAqIC0xKTtcbiAgICB9XG4gICAgXG4gICAgLmMtdGV4dC1pbWcgLmMtbGVnZW5kIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbiAgICB9XG4gICAgXG4gICAgLmMtdGV4dC1pbWcgLmMtZGVjby1kYXJrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmMtdGV4dC1pbWcgLmMtdGV4dC1pbWctaW5uZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctcztcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctcyk7XG4gICAgfVxuICAgIFxuICAgIC5jLXRleHQtaW1nIC5jLWRlY28td2hpdGUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRvcDogLSRzcGFjaW5nLWw7XG4gICAgICAgIHRvcDogY2FsYyh2YXIoLS1zcGFjaW5nLWwpICogLTEpO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL2Rla28tYmxhY2suc3ZnKTsgXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLXRleHQtaW1nIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoJHNwYWNpbmctbCArIDE2cHgpO1xuICAgICAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nLWwpICsgMTZweCk7XG4gICAgfVxuICAgIFxuICAgIC5jLXRleHQtaW1nLW5vLWxpbmUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtbG9nb3dhbGwtZ29sZC1saXN0IGxpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgLmMtbG9nb3dhbGwtc2lsdmVyLWxpc3QgbGkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbiAgICB9XG5cbiAgICAuYy1sb2dvd2FsbC1icm9uemUtbGlzdCBsaSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDI1JTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAyNSU7XG4gICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgIG1heC13aWR0aDogIDI1JTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MjBweCkgeyAgXG4gICAgLmMtZm9vdGVyLW1haW4gLmMtY29sLTYsXG4gICAgLmMtdGVhc2VyLWJ0biAuYy1jb2wtNixcbiAgICAuYy10ZWFzZXItdGV4dC1pbWcgLmMtY29sLTYsXG4gICAgLmMtdGVhc2VyLXRleHQtaW1nIC5jLWNvbC01IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5jLWltZy0yY29sIC5jLWNvbC02LFxuICAgIC5jLWltZy0zY29sIC5jLWNvbC00IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5jLWRlY28tY3RhLWxlZnQsXG4gICAgLmMtZGVjby1jdGEtcmlnaHQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy1kZWNvLWN0YS1yaWdodCB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgICBcbiAgICAuYy1jdGEtYm94IHtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtY3RhLWJveC1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDQ4cHggKyB2YXIoLS1zcGFjaW5nLW0pKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoNDhweCArIHZhcigtLXNwYWNpbmctbSkpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLXRlYXNlci10ZXh0LWltZyBmaWd1cmUge1xuICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICAgICAgLyptYXJnaW4tbGVmdDogYXV0bzsqL1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tKTtcbiAgICB9XG4gICAgXG4gICAgLmMtc3BvbnNvcnMtcGFydG5lci1saXN0IGxpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIFxuICAgIC5jLWdhbGxlcnkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg0LCAzMHZ3KTtcbiAgICB9XG5cbiAgICAuYy1nYWxsZXJ5IC5jLWdhbGxlcnktaXRlbS0xIHtcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XG4gICAgfVxuXG4gICAgLmMtZ2FsbGVyeSAuYy1nYWxsZXJ5LWl0ZW0tNCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgICBncmlkLXJvdzogMyAvIHNwYW4gMjtcbiAgICB9XG5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ4MHB4KSB7ICBcbiAgICAuYy1sb2dvd2FsbC1nb2xkLWxpc3QgbGkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDEwMCU7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmMtbG9nb3dhbGwtc2lsdmVyLWxpc3QgbGkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICAuYy1sb2dvd2FsbC1icm9uemUtbGlzdCBsaSB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1vZmZjYW52YXMtbmF2LWxpc3QgYSB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0MDBweCkgeyAgXG4gICAgLmMta2V5ZmFjdHMgLmMtY29sLTMge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDEwMCU7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcmludCBDU1NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgcHJpbnQge1xuICAgIC8qIGJhc2Ugc3R5bGVzICovXG4gICAgKiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IFxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXHRcblx0YSxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gICAgXG4gICAgLmMtaXIgYTphZnRlcixcbiAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gICAgYVtocmVmXTphZnRlciB7XG5cdFx0Y29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuXHQgIH1cbiAgICBcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cbiAgICBcbiAgICB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgXG4gICAgfVxuICAgIFxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG4gICAgXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICAgICBcbiAgICBAcGFnZSB7XG4gICAgICAgIG1hcmdpbjogMC41Y207XG4gICAgfVxuICAgIFxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICB3aWRvd3M6IDM7XG4gICAgfVxuICAgIFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgYnJlYWstYWZ0ZXI6YXZvaWQ7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cbiAgICBcbiAgICAvKiBmb250LXNpemVzICovXG5cdFxuXHRodG1sLFxuXHRib2R5IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0LypvdmVyZmxvdzogYXV0bzsqL1xuXHR9XG4gICAgXG4gICAgYm9keSB7XG4gICAgICAgIGZvbnQtc2l6ZToxMnB4OyAgICBcbiAgICB9XG5cdFxuXHRoMSwgLmMtaDEge1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0fVxuXHRcblx0LmMtbGVhZCxcblx0LmMtdGV4dC1ibG9jayAuYy1sZWFkLFxuXHRoMiwgLmMtaDIsXG5cdGgzLCAuYy1oMyxcblx0LmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0fVxuXHRcblx0LyogcHJvamVjdCBzdHlsZXMgKi9cblx0LmMtY29udGFpbmVyIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMmVtO1xuXHR9XG5cdFxuXHQuYy1mb290ZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuXG5cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/