/*!***************************************************************************************************************************************************************************************************************!*\
  !*** 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";*/
/* ==========================================================================
   Project Fonts
   ========================================================================== */
/* Fonts are enqueued from PHP to avoid the render delay caused by CSS @import. */
/* Variables, Naming may vary from project to project */
/* ==========================================================================
   Fonts (see '_fonts.scss' for more information on license)
   ========================================================================== */
/* @import must be at top of file, otherwise CSS will not work */
/* @import url('//hello.myfonts.net/count/426563'); */
/* ==========================================================================
   Fallbacks sass Variablen
   ========================================================================== */
/* text */
/* dark grey */
/* dark grey */
/* background */
/* dark grey */
/* light grey */
/* blue */
/* line-colors */
/* spacing */
/* grid */
/* form */
/* ==========================================================================
   Custom Properties
   ========================================================================== */
:root {
  /* fonts */
  --font-stack-default: "Open Sans", "Arial", "Helvetica", sans-serif;
  --font-stack-title: "Michroma", "Arial", "Helvetica", sans-serif;
  --font-weight-normal: 400;
  --font-weight-bold: 700;
  --font-weight-title: 400;
  --letter-spacing-bold: -0.02em;
  --letter-spacing-title: 0.01em;
  /* text  */
  --text-color: #2f2f2f; /* black */
  --text-color-dark: #000; /* black */
  --text-color-light: #fff;
  --text-color-link: #000;
  --text-color-medium: #818181;
  /* font-sizes */
  --font-size-root: 18px;
  --font-size-h1: 3rem; /* 60px */
  --font-size-h2: 1.8rem; /* 36px */
  --font-size-h3: 1.2rem;
  --font-size-lead: 1.2rem;
  --font-size-quote: 1.8rem;
  --font-size-body-l: 1.8rem;
  --font-size-body-m: 1.2rem;
  --font-size-body: 1rem;
  --font-size-body-s: 0.8rem;
  --font-size-nav: 0.9rem;
  /* colors / background */
  --bg-content: #fff;
  --bg-dark: #282828; /* dark grey */
  --bg-light: #F4F3F2; /* light grey */
  --bg-cta: #185094; /* blue */
  --color-highlight: #185094; /* blue */
  --color-accent: #FFA800; /* yellow */
  /* lines */
  --border-basic: #B7B7B5;
  --width-title-deco: 60px;
  /* spacing between components based on rem */
  --spacing-l: 5rem;
  --spacing-m: 2.5rem;
  --spacing-s: 1.5rem;
  --spacing-xs: 0.75rem;
  /* grid */
  --grid-container: 32px;
  --grid-row: -16px;
  --grid-col: 16px;
  /* different heights and spacings */
  --padding-border-left: 24px;
  --header-height: 110px;
  --padding-box: 2.5em 32px 3em 32px;
  --padding-history: var(--grid-container);
  /* form */
  --border-form: #B7B7B5;
  --border-form-focus: #000;
  --border-form-width: 3px;
  --border-form-radius: 6px;
  --form-disabled: #ccc;
  --form-error: #dd0000;
  --form-ok: #1e7012;
  --form-initial: #185094;
  --form-padding-top-text: 0.4em;
}

/* ==========================================================================
   Exeptions for different backgrounds
   ========================================================================== */
.c-text-light {
  --text-color: #fff;
  --text-color-dark: #fff;
  --text-color-link: #fff;
  --color-highlight: #fff;
  --border-basic: rgba(255,255,255,0.3);
}

.c-offcanvas-nav {
  --text-color: #fff;
  --text-color-dark: #fff;
  --text-color-link: #fff;
  --color-highlight: #fff;
  --border-basic: rgba(255,255,255,0.3);
}

.c-text-light .c-btn:hover,
.c-text-light .c-btn:focus {
  --text-color-light: #185094;
}

.c-header-nav {
  --text-color-link: var(--color-highlight);
}

.c-btn-small {
  --font-weight-bold: 750;
}

.c-breadcrumb a {
  --text-color-link: var(--text-color-medium);
}

.c-box .c-line-item {
  --border-basic: #f8d59f;
}

/* ==========================================================================
   Responsive Custom Properties
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  :root {
    --grid-container: 48px;
    --grid-row: -24px;
    --grid-col: 24px;
    --padding-border-left: 32px;
    --padding-box: 2.5em 48px 3em 48px;
  }
}
@media only screen and (min-width: 1600px) {
  :root {
    --grid-container: 64px;
    --grid-row: -32px;
    --grid-col: 32px;
    --padding-box: 2.5em 64px 3em 64px;
    --form-padding-top-text: 0.35em;
  }
}
@media only screen and (max-width: 1400px) {
  :root {
    --header-height: 90px;
  }
}
@media only screen and (max-width: 1200px) {
  :root {
    --header-height: 70px;
  }
}
@media only screen and (max-width: 980px) {
  :root {
    --spacing-l: 4rem;
    --spacing-m: 2rem;
    --width-title-deco: 40px;
  }
}
@media only screen and (max-width: 800px) {
  :root {
    --padding-history: var(--grid-col);
  }
}
@media only screen and (max-width: 768px) {
  :root {
    --form-padding-top-text: 0.55em;
  }
}
@media only screen and (max-width: 600px) {
  :root {
    --padding-history: var(--grid-container);
  }
}
/*! 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: "Open Sans", "Arial", "Helvetica", sans-serif;
  font-family: var(--font-stack-default);
  font-weight: normal;
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-body);
  -webkit-tap-highlight-color: transparent;
}

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

p:empty {
  display: none;
}

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

textarea {
  resize: none;
}

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

img {
  height: auto;
}

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

img {
  vertical-align: bottom;
}

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

/* ==========================================================================
   Standard Padding between Components 
   ========================================================================== */
.c-container,
.c-teaser-2col .c-col-6,
.c-text-3col .c-col-4,
.c-main-title-product .c-col-5,
.c-teaser-3col .c-col-4,
.c-keyfacts .c-col-4 {
  padding-bottom: 6rem;
  padding-bottom: var(--spacing-l);
}

.c-crossteaser .c-col-4 {
  padding-top: 6rem;
  padding-top: var(--spacing-l);
  padding-bottom: 6rem;
  padding-bottom: var(--spacing-l);
}

.c-main-title-product .c-col-7 {
  padding-bottom: 10px;
}

.c-main-title {
  margin-top: 6em;
  margin-top: var(--spacing-l);
}

.c-container-no-padding,
.c-teaser-2col,
.c-text-3col,
.c-teaser-3col {
  padding-bottom: 0;
}

.c-news-filter {
  padding-bottom: 1.5em;
  padding-bottom: var(--spacing-s);
}

.c-showroom-text-inner {
  padding-top: 1.5em;
  padding-bottom: 1.5em;
  padding-top: var(--spacing-m);
  padding-bottom: var(--spacing-m);
}

.c-section-title {
  padding-bottom: 1.5rem;
  padding-bottom: var(--spacing-xs);
}

.c-breadcrumb {
  padding-top: 1.5em;
  padding-top: var(--spacing-s);
}

.c-breadcrumb + .c-main-title {
  margin-top: 0;
}

.c-showroom {
  margin-bottom: 6rem;
  margin-bottom: var(--spacing-l);
}

.c-teaser-link-list,
.c-specification,
.c-teaser-cta,
.c-filter-product,
.c-keyfacts,
.c-text-checklist-2col {
  padding-top: 6rem;
  padding-top: var(--spacing-l);
  margin-bottom: 6rem;
  margin-bottom: var(--spacing-l);
}

.c-crossteaser,
.c-history {
  margin-bottom: 6rem;
  margin-bottom: var(--spacing-l);
}

.c-teaser-link-list + .c-teaser-cta,
.c-teaser-link-list + .c-crossteaser,
.c-specification + .c-teaser-cta {
  margin-top: -6em;
  margin-top: calc(var(--spacing-l) * -1);
}

.c-content .c-teaser-link-list:last-child,
.c-content .c-specification:last-child,
.c-content .c-teaser-cta:last-child,
.c-content .c-crossteaser:last-child {
  margin-bottom: 0;
}

/* ==========================================================================
   Standard Grid Declaration
   ========================================================================== */
.c-container {
  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
   ========================================================================== */
/* ==========================================================================
   Base
   ========================================================================== */
html {
  font-size: 18px;
  font-size: var(--font-size-root);
}

/* ==========================================================================
   Titles
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-bold);
  text-wrap: balance;
  color: var(--text-color-dark);
}

h1,
.c-h1 {
  position: relative;
  padding-top: 1rem;
  padding-bottom: 0.5em;
  line-height: 1.2;
  font-size: 3rem; /* 80px */
  font-size: var(--font-size-h1);
  font-family: var(--font-stack-title);
  font-weight: var(--font-weight-title);
  letter-spacing: var(--letter-spacing-title);
}

h2,
.c-h2 {
  padding-bottom: 0.5em;
  line-height: 1.3;
  font-size: 1.8rem; /* 40px */
  font-size: var(--font-size-h2);
}

.c-crossteaser h2 {
  padding-bottom: 1em;
  font-family: var(--font-stack-title);
  font-weight: var(--font-weight-title);
  letter-spacing: var(--letter-spacing-title);
}

h3,
.c-h3 {
  padding-bottom: 0.35em;
  line-height: 1.5;
  font-size: 1.2rem;
  font-size: var(--font-size-h3);
}

.c-footer h3 {
  font-size: var(--font-size-body);
}

.c-category-title,
.c-history h3 {
  position: relative;
  display: block;
  padding-top: 1em;
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-bold);
  color: var(--text-color-dark);
}

.c-category-title {
  font-size: var(--font-size-body);
  padding-bottom: 1em;
}

.c-title-product-small {
  font-size: var(--font-size-body);
  font-weight: normal;
  font-weight: var(--font-weight-normal);
  letter-spacing: 0;
  padding-bottom: 0;
}

h1::before,
.c-h1::before,
.c-category-title::before,
.c-history h3::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  width: var(--width-title-deco);
  height: 3px;
  background-color: var(--color-accent);
}

.c-category-title + h1,
.c-category-title + .c-h1 {
  padding-top: 0;
}

.c-category-title + h1::before,
.c-category-title + .c-h1::before {
  background-color: transparent;
}

/* ==========================================================================
   Basic Text Content
   ========================================================================== */
b, strong {
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-bold);
  color: var(--text-color-dark);
}

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

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

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

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

.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.5em;
}

.c-text-block h3 + .c-check-list {
  margin-top: 0.45em;
}

.c-lead {
  line-height: 1.4;
  font-size: 1.2rem;
  font-size: var(--font-size-lead);
  text-wrap: balance;
}

.c-lead + .c-lead {
  padding-top: 1.4em;
}

.c-text-big {
  font-size: var(--font-size-body-l);
  line-height: 1.4;
  color: var(--text-color-dark);
}

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

.c-text-small,
.c-text-block blockquote cite,
.c-footer-disclaimer {
  font-size: 0.77rem; /* 14px */
  font-size: var(--font-size-body-s);
}

.c-legend {
  display: block;
  padding-top: 1em;
  font-size: var(--font-size-body-s);
}

.c-keyfacts-nr {
  display: block;
  font-size: var(--font-size-h1);
  font-family: var(--font-stack-title);
  font-weight: var(--font-weight-title);
  color: var(--text-color-dark);
  letter-spacing: var(--letter-spacing-title);
  line-height: 1.2;
  padding-bottom: 0.25rem;
}

.c-back-line {
  padding-top: 0.75em;
  border-top: solid 1px #B7B7B5;
  border-color: var(--border-basic);
}

.c-link-description {
  display: block;
  padding-left: 34px;
  font-size: var(--font-size-body-s);
}

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

.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.75em;
  left: 0;
  width: 16px;
  height: 3px;
  border-radius: 1px;
  background-color: #185094;
  background-color: var(--color-highlight);
}

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

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

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

.c-link-list,
.c-check-list,
.c-specification-list {
  border-top: solid 1px #B7B7B5;
  border-color: var(--border-basic);
}

/*.c-text-block .c-link-list li + li,
.c-text-block .c-check-list li + li {
	margin-top: 0;
}*/
.c-link-list li,
.c-text-block .c-link-list li,
.c-check-list li,
.c-text-block .c-check-list li,
.c-specification-list li,
.c-text-block .c-specification-list li {
  margin-top: 0.75em;
  padding-bottom: 0.75em;
  border-bottom: solid 1px #B7B7B5;
  border-color: var(--border-basic);
}

.c-text-block .c-specification-list li {
  margin-top: 0;
  padding-top: 0.75em;
}

.c-text-block .c-link-list li::before,
.c-text-block .c-check-list li::before,
.c-text-block .c-specification-list li::before {
  width: 0;
  height: 0;
  background-color: transparent;
}

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

.c-check-list li {
  padding-left: 32px;
}

.c-text-block .c-check-list li::before,
.c-check-list li::before {
  content: "";
  position: absolute;
  top: 0.37em;
  left: 0;
  width: 26px;
  height: 17px;
  background-image: url(sprite_0f0a.svg);
  background-repeat: no-repeat;
  background-position: 0 -120px;
}

.c-specification-list {
  display: flex;
  flex-flow: row wrap;
  border-top: none;
  font-size: var(--font-size-body-m);
  overflow: hidden;
}

.c-specification-list li {
  flex: 0 0 100%;
  max-width: 100%;
}

.c-btn-list {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-btn-list li {
  padding-right: 0.75em;
  padding-bottom: 0.75em;
}

.c-breadcrumb ul,
.c-category-list {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--color-highlight);
  font-size: var(--font-size-body-s);
}

.c-category-list {
  color: var(--text-color);
  padding-bottom: 0.75em;
}

.c-main-title .c-category-list {
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-bold);
  padding-bottom: 1em;
  padding-top: 1em;
  color: var(--text-color-dark);
}

.c-breadcrumb li,
.c-category-list li {
  position: relative;
  padding-right: 26px;
}

.c-breadcrumb li::before,
.c-category-list li::before {
  content: "|";
  position: absolute;
  top: 0;
  left: calc(100% - 17px);
  color: var(--border-basic);
  font-size: var(--font-size-body-s);
}

.c-breadcrumb li:last-child::before,
.c-category-list li:last-child::before {
  content: "";
}

.c-breadcrumb a:focus,
.c-breadcrumb a:hover {
  color: var(--color-highlight);
}

.c-technical-list {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0 0 1.5em 0;
  border-top: solid 1px #B7B7B5;
  border-color: var(--border-basic);
}

.c-technical-list:last-child {
  padding-bottom: 0;
}

.c-technical-list dt,
.c-technical-list dd {
  margin: 0;
  padding: 0.75em 10px 0.75em 0;
  border-bottom: solid 1px #B7B7B5;
  border-color: var(--border-basic);
  color: var(--text-color-dark);
}

.c-technical-list dt {
  flex: 0 0 calc(33.33333% + var(--grid-container));
  max-width: calc(33.33333% + var(--grid-container));
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-bold);
}

.c-technical-list dd {
  flex: 0 0 calc(66.66667% - var(--grid-container));
  max-width: calc(66.66667% - var(--grid-container));
}

/* ==========================================================================
   Quote
   ========================================================================== */
.c-text-block blockquote {
  margin: 0;
  padding: 0 0 0 32px;
  padding-left: var(--padding-border-left);
  border-left: solid 3px var(--color-accent);
}

.c-text-block blockquote p {
  position: relative;
  padding: 0;
  line-height: 1.4;
  font-size: 1.8rem; /* 36px */
  font-size: var(--font-size-quote);
  text-wrap: balance;
  font-family: var(--font-stack-title);
  font-weight: var(--font-weight-title);
  color: var(--text-color-dark);
  letter-spacing: var(--letter-spacing-title);
}

.c-text-block blockquote cite {
  display: block;
  padding: 1.25em 0 0.25em 0;
  font-style: normal;
  font-size: var(--font-size-body-s);
}

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

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

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

/* ==========================================================================
   Text sizes responsive
   ========================================================================== */
@media only screen and (max-width: 1360px) {
  h1, .c-h1,
h2, .c-h2,
h3, .c-h3 {
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
    -webkit-hyphenate-limit-before: 3; /* For Safari */
    -webkit-hyphenate-limit-after: 4; /* For Safari */
    hyphenate-limit-chars: 10 3 4;
  }
}
@media only screen and (min-width: 1600px) {
  :root {
    --font-size-root: 19px;
  }
}
@media only screen and (max-width: 1400px) {
  :root {
    --font-size-h1: 2.4rem;
    --font-size-h2: 1.6rem;
    /*--font-size-h3: 1.2rem;*/
    /*--font-size-lead: 1.2rem;*/
    --font-size-quote: 1.6rem;
    --font-size-body-l: 1.6rem;
  }
}
@media only screen and (max-width: 980px) {
  :root {
    --font-size-h1: 2.2rem;
    --font-size-h2: 1.4rem;
    /*--font-size-h3: 1.2rem;
    --font-size-lead: 1.2rem;*/
    --font-size-quote: 1.4rem;
    --font-size-body-l: 1.4rem;
  }
}
@media only screen and (max-width: 768px) {
  :root {
    --font-size-root: 16px;
    --font-size-h1: 2rem;
    --font-size-h2: 1.4rem;
    --font-size-h3: 1.125rem;
    --font-size-lead: 1.25rem;
    --font-size-quote: 1.4rem;
    --font-size-body: 1rem;
    --font-size-body-l: 1.4rem;
    --font-size-body-m: 1.125rem;
    --font-size-body-s: 0.875rem;
  }
  .c-breadcrumb li:first-child {
    padding-right: 22px;
  }
  .c-breadcrumb li:first-child a {
    position: relative;
    display: inline-block;
    width: 24px;
    height: 26px;
    text-indent: -999px;
    overflow: hidden;
  }
  .c-breadcrumb li:first-child a::before {
    content: "";
    position: absolute;
    background-image: url(sprite_0f0a.svg);
    background-repeat: no-repeat;
    width: 40px;
    height: 26px;
    top: 50%;
    left: 0;
    margin-top: -12px;
    background-position: 0 -420px;
  }
  .c-breadcrumb li:first-child a:hover::before,
.c-breadcrumb li:first-child a:focus::before {
    background-position: -50px -420px;
  }
}
@media only screen and (max-width: 420px) {
  .c-keyfacts {
    --font-size-h1: 1.4rem;
    --font-size-body: 0.875rem;
  }
}
/* ==========================================================================
   Header
   ========================================================================== */
.c-header {
  background-color: #fff;
  background-color: var(--bg-content);
  z-index: 10;
}

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

.c-header-logo,
.c-footer-logo {
  position: relative;
  width: 400px;
  height: 66px;
}

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

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

/* ==========================================================================
   lang 
   ========================================================================== */
.c-header-nav {
  display: flex;
  flex-flow: row;
  align-self: flex-end;
  align-items: flex-end;
  font-size: var(--font-size-nav);
}

/* WPML legacy styles add their own box model, which breaks header alignment. */
.c-header-lang.wpml-ls-legacy-list-horizontal {
  border: 0;
  clear: none;
  padding: 0;
}

.c-header-lang.wpml-ls-legacy-list-horizontal .c-header-lang-list {
  margin: 0;
  padding: 0 0 0 3em;
  list-style: none;
}

.c-header-lang.wpml-ls-legacy-list-horizontal .c-header-lang-list li {
  margin: 0;
  padding: 0;
  list-style: none;
}

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

.c-header-lang-list li + li,
.c-header-lang.wpml-ls-legacy-list-horizontal .c-header-lang-list li + li {
  padding-left: 0.75em;
}

/* ==========================================================================
   main nav 
   ========================================================================== */
.c-main-nav {
  justify-content: flex-end;
  font-weight: 600;
  letter-spacing: var(--letter-spacing-bold);
}

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

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

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

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

.c-header-lang-list a {
  font-weight: 300;
}

.c-header-lang.wpml-ls-legacy-list-horizontal .c-header-lang-list a {
  display: inline-block;
  line-height: normal;
  padding: 0.5em 0;
}

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

.c-main-nav-list a:focus::before,
.c-main-nav-list a:hover::before,
.c-main-nav-list .current-menu-item a::before,
.c-header-lang-list a:focus::before,
.c-header-lang-list a:hover::before,
.c-header-lang-list .wpml-ls-current-language a::before {
  width: 100%;
}

.c-header-lang-list .wpml-ls-current-language a {
  font-weight: 600;
}

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

.c-footer-deco {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 50%;
  overflow: hidden;
}

.c-footer-deco::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-image: url(logo-icon_83b5.svg);
  background-repeat: no-repeat;
  background-size: 1220px 1220px;
  background-position: left center;
  opacity: 0.1;
}

/* ==========================================================================
   Disclaimer
   ========================================================================== */
.c-footer-disclaimer {
  padding-top: 1.5em;
}

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

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

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

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

.c-footer-social-list {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.c-footer-social-list li {
  padding: 0.5em 8px 0.5em 0;
}

.c-footer-disclaimer a:focus,
.c-footer-disclaimer a:hover,
.c-footer-link-list a:focus,
.c-footer-link-list a:hover,
.c-footer-main-info a:focus,
.c-footer-main-info a:hover {
  opacity: 0.5;
}

/* optional styles */
/* ==========================================================================
   Offcanvas trigger
   ========================================================================== */
.c-offcanvas-trigger {
  position: absolute;
  display: block;
  top: 10px;
  right: 20px;
  right: var(--grid-container);
  width: 50px;
  height: 50px;
  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 {
  content: "";
  position: absolute;
  background-image: url(sprite_0f0a.svg);
  background-repeat: no-repeat;
  top: 50%;
  right: 0;
}

.c-offcanvas-trigger-open::before {
  width: 31px;
  height: 28px;
  margin-top: -13px;
  background-position: 0 -380px;
}

.c-offcanvas-trigger-open:focus::before,
.c-offcanvas-trigger-open:hover::before {
  background-position: -50px -380px;
}

.c-offcanvas-trigger-close::before {
  width: 34px;
  height: 34px;
  margin-top: -17px;
  background-position: -150px -300px;
}

.c-offcanvas-trigger-close:focus::before,
.c-offcanvas-trigger-close:hover::before {
  background-position: -200px -300px;
}

/* ==========================================================================
   Offcanvas nav main container
   ========================================================================== */
.c-offcanvas-nav {
  /*display: none;*/
  position: absolute;
  top: 0;
  left: 0;
  background-color: #282828;
  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.navigation .c-offcanvas-nav #open-navigation:not(:target) .c-offcanvas-nav {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

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

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

.c-offcanvas-lang .c-header-lang-list {
  padding-left: 0;
}

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

.c-offcanvas-nav-list {
  margin: 2em 0 0 0;
  padding: 0;
  list-style: none;
  font-size: var(--font-size-h2);
  border-top: solid 1px var(--border-basic);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-bold);
}

.c-offcanvas-nav-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--font-size-h3);
  font-weight: var(--font-weight-normal);
  letter-spacing: 0;
}

.c-offcanvas-nav-list li {
  border-bottom: solid 1px var(--border-basic);
}

.c-offcanvas-nav-list ul li {
  border-bottom: none;
}

.c-offcanvas-nav-list ul li:last-child {
  margin-bottom: 2em;
}

.c-offcanvas-nav-list a {
  display: block;
  position: relative;
  padding-top: 0.75em;
  padding-bottom: 0.75em;
  overflow: hidden;
}

.c-offcanvas-nav-list ul a,
.c-offcanvas-nav-list .current-menu-item a {
  padding-left: 32px;
}

.c-offcanvas-nav-list .current-menu-item a {
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-bold);
}

.c-offcanvas-nav-list a::before {
  content: "";
  position: absolute;
  background-image: url(sprite_0f0a.svg);
  background-repeat: no-repeat;
  width: 11px;
  height: 21px;
  top: 50%;
  left: -20px;
  margin-top: -10px;
  background-position: 0 -340px;
}

.c-offcanvas-nav-list a:focus::before,
.c-offcanvas-nav-list a:hover::before,
.c-offcanvas-nav-list .current-menu-item a::before {
  left: 1px;
}

/* ==========================================================================
   Offcanvas accordion
   ========================================================================== */
.c-offcanvas-menu-check {
  position: absolute;
  left: -9999px;
}

.c-offcanvas-menu-title {
  display: block;
  position: relative;
  cursor: pointer;
  /*padding: 0.75em 8px;*/
  padding: 0.75em 30px 0.75em 0;
  transition: all 0.2s ease-in-out;
  text-align: left;
}

@-moz-document url-prefix() {
  .c-offcanvas-menu-title {
    padding: 0.75em 30px 0.75em 0;
  }
}
.c-offcanvas-menu-check:checked + label::before,
.c-offcanvas-menu-check:not(:checked) + label::before {
  display: block;
  content: "";
  position: absolute;
  background-image: url(sprite_0f0a.svg);
  background-repeat: no-repeat;
  background-position: 0 -460px;
  width: 24px;
  height: 24px;
  top: calc(50% - 12px);
  right: 8px;
}

.current-menu-parent .c-offcanvas-menu-check:checked + label::before,
.c-offcanvas-menu-check:checked + label::before {
  background-position: -50px -460px;
}

.c-offcanvas-menu-check:not(:checked) + label::before {
  background-position: 0 -460px;
}

.c-offcanvas-menu-content {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s cubic-bezier(0, 1, 0, 1);
}

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

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

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

/*@import "components/_tables";*/
/* ==========================================================================
   Colors
   ========================================================================== */
.c-bg-light {
  background-color: #F4F3F2;
  background-color: var(--bg-light);
}

/* ==========================================================================
  Showroom
   ========================================================================== */
.c-showroom {
  overflow: hidden;
  background-color: var(--bg-dark);
}

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

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

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

/* ==========================================================================
  Teaser
   ========================================================================== */
.c-teaser-item {
  position: relative;
  flex-grow: 1;
}

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

.c-teaser-item::before {
  transition: all 0.2 ease-out;
}

/*
.c-teaser-item:hover::before {
    content: '';
    display: block;
    position: absolute;
    top: calc(var(--grid-col) * -1);
    left: calc(var(--grid-col) * -1);
    width: calc(100% + var(--grid-container));
    height: calc(100% + var(--grid-container));
    border: solid 1px $color-highlight;
    border-radius: 6px;
    border-color: var(---border-basic);
}

.c-teaser-item:focus-within::before {
    content: '';
    display: block;
    position: absolute;
    top: calc(var(--grid-col) * -1);
    left: calc(var(--grid-col) * -1);
    width: calc(100% + var(--grid-container));
    height: calc(100% + var(--grid-container));
    border: solid 1px $color-highlight;
    border-radius: 6px;
    border-color: var(--border-basic);
}*/
.c-teaser .c-col-4,
.c-teaser .c-col-6 {
  display: flex;
  flex-flow: column;
}

.c-teaser-text {
  padding-top: 1em;
  padding-top: var(--spacing-s);
}

.c-teaser-category .c-teaser-item .c-btn-teaser,
.c-teaser-news .c-teaser-item .c-btn-teaser,
.c-teaser-news .c-teaser-item .c-link-icon {
  pointer-events: none;
}

.c-teaser-category-img img,
.c-teaser-product-img img,
.c-teaser-news-img img {
  transition: all 0.2s ease-in-out;
}

.c-teaser-category .c-teaser-item:hover .c-teaser-category-img img,
.c-teaser-news .c-teaser-item:hover .c-teaser-news-img img {
  transform: scale(1.03);
}

.c-teaser-category .c-teaser-item:focus-within .c-teaser-category-img img,
.c-teaser-news .c-teaser-item:focus-within .c-teaser-news-img img {
  transform: scale(1.03);
}

.c-teaser-item:hover .c-teaser-product-img img {
  transform: scale(0.95);
}

.c-teaser-item:focus-within .c-teaser-product-img img {
  transform: scale(0.95);
}

.c-teaser-item:hover .c-teaser-link {
  color: var(--color-highlight);
}

.c-teaser-item:focus-within .c-teaser-link {
  color: var(--color-highlight);
}

.c-teaser-product-img {
  background-color: var(--bg-light);
}

/* ==========================================================================
  Text 3 col
   ========================================================================== */
.c-text-3col .c-col-4,
.c-text-3col-box .c-col-4 {
  display: flex;
  flex-flow: column;
}

.c-line-item {
  position: relative;
  flex-grow: 1;
  border-left: solid 1px #B7B7B5;
  border-color: var(--border-basic);
  padding-left: 32px;
  padding-left: var(--padding-border-left);
  padding-right: 10px;
}

.c-img-icon {
  max-width: 120px;
  padding-bottom: var(--spacing-s);
}

.c-box {
  padding: 2.5em 54px 3em 54px;
  padding: var(--padding-box);
  background-color: var(--color-accent);
}

.c-text-3col-box .c-col-4:first-child .c-line-item {
  padding-left: 0;
  border-left: none;
}

.c-text-3col-box .c-col-4 {
  flex: 0 0 calc(33.33333% + var(--padding-border-left) / 2);
  max-width: calc(33.33333% + var(--padding-border-left) / 2);
}

.c-text-3col-box .c-col-4:first-child {
  flex: 0 0 calc(33.33333% - var(--padding-border-left));
  max-width: calc(33.33333% - var(--padding-border-left));
}

/* ==========================================================================
  link-list multicol
   ========================================================================== */
.c-teaser-link-list,
.c-specification {
  background-color: var(--bg-light);
}

.c-text-link-list .c-col-8,
.c-text-link-list .c-col-9 {
  container-name: link-list-multicol;
  container-type: inline-size;
  overflow: hidden;
}

@container link-list-multicol (min-width: 540px) {
  .c-link-list,
.c-text-block .c-link-list {
    display: flex;
    flex-flow: row wrap;
    border-top: none;
    margin-left: var(--grid-row);
    margin-right: var(--grid-row);
    width: calc(100% + var(--grid-container));
  }
  .c-link-list li:nth-child(1),
.c-link-list li:nth-child(2) {
    margin-top: 0;
    padding-top: 0.75em;
    border-top: solid 1px var(--border-basic);
  }
  .c-link-list li {
    flex: 0 0 calc(50% - var(--grid-container));
    max-width: calc(50% - var(--grid-container));
    margin-left: var(--grid-col);
    margin-right: var(--grid-col);
  }
}
.c-specification .c-col-9 {
  container-name: specification-multicol;
  container-type: inline-size;
  overflow: hidden;
}

.c-specification-list li:nth-child(1) {
  border-top: solid 1px var(--border-basic);
}

@container specification-multicol (min-width: 540px) {
  .c-specification-list,
.c-text-block .c-specification-list {
    margin-left: var(--grid-row);
    margin-right: var(--grid-row);
    width: calc(100% + var(--grid-container));
  }
  .c-specification-list li:nth-child(1),
.c-specification-list li:nth-child(2) {
    border-top: solid 1px var(--border-basic);
  }
  .c-specification li {
    flex: 0 0 calc(50% - var(--grid-container));
    max-width: calc(50% - var(--grid-container));
    margin-left: var(--grid-col);
    margin-right: var(--grid-col);
  }
}
@container specification-multicol (min-width: 650px) {
  .c-specification-list,
.c-text-block .c-specification-list {
    margin-left: var(--grid-row);
    margin-right: var(--grid-row);
    width: calc(100% + var(--grid-container));
  }
  .c-specification-list li:nth-child(1),
.c-specification-list li:nth-child(2),
.c-specification-list li:nth-child(3) {
    border-top: solid 1px var(--border-basic);
  }
  .c-specification li {
    flex: 0 0 calc(33.33333% - var(--grid-container));
    max-width: calc(33.33333% - var(--grid-container));
    margin-left: var(--grid-col);
    margin-right: var(--grid-col);
  }
}
/* ==========================================================================
  teaser cta / crossteaser
   ========================================================================== */
.c-teaser-cta,
.c-crossteaser {
  background-color: var(--bg-cta);
}

.c-crossteaser .c-col-4::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: var(--grid-row);
  width: 1px;
  height: 100%;
  background-color: var(--bg-content);
}

.c-crossteaser .c-col-4:first-child::before {
  background: none;
}

.c-crossteaser-item {
  padding-right: 15px;
}

/* ==========================================================================
  product
   ========================================================================== */
.c-product-img {
  background-color: var(--bg-light);
  margin-bottom: 1em;
}

.c-main-title-product-img {
  margin-top: calc(var(--spacing-l) * -1);
}

/* ==========================================================================
  Product Filter
   ========================================================================== */
.c-filter-product {
  background-color: var(--bg-light);
}

.c-filter-list {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0.75em 0 0.5em 0;
  list-style: none;
  border-top: solid 1px var(--border-basic);
  border-bottom: solid 1px var(--border-basic);
}

.c-filter-list li {
  position: relative;
  min-height: 1px;
  padding-right: var(--grid-col);
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

.c-form-filter .c-form-item.is-disabled {
  opacity: 0.42;
}

.c-form-filter .c-form-item.is-disabled label {
  cursor: not-allowed;
}

.c-filter-product.is-loading,
[data-product-results].is-loading {
  opacity: 0.62;
  pointer-events: none;
}

.c-filter-trigger {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.c-filter-trigger h2 {
  padding-bottom: 0;
}

.c-filter-trigger-open,
.c-filter-trigger-close {
  display: none;
}

.c-filter-trigger-open {
  display: block;
}

.c-filter-content {
  display: none;
}

.c-form-filter .c-row {
  padding-top: var(--spacing-l);
}

.c-form-filter .c-row:first-of-type {
  padding-top: var(--spacing-m);
}

#c-filter-open[type=checkbox] {
  display: none;
}
#c-filter-open[type=checkbox]:checked ~ .c-filter-trigger .c-filter-trigger-close {
  display: block;
}
#c-filter-open[type=checkbox]:checked ~ .c-filter-content {
  display: block;
}
#c-filter-open[type=checkbox]:checked ~ .c-filter-trigger .c-filter-trigger-open {
  display: none;
}

.c-filter-product .c-col-9 {
  container-name: filter-multicol;
  container-type: inline-size;
}

@container filter-multicol (min-width: 800px) {
  .c-filter-list li {
    flex: 0 0 25%;
    max-width: 25%;
  }
}
/* ==========================================================================
  keyfacts
   ========================================================================== */
.c-keyfacts {
  background-color: var(--bg-light);
  font-size: var(--font-size-body);
}

.c-keyfacts-item {
  border-top: solid 1px #B7B7B5;
  border-color: var(--border-basic);
  padding-top: var(--spacing-s);
}

/* ==========================================================================
  text checklist
   ========================================================================== */
.c-text-checklist-2col {
  background-color: var(--bg-light);
}

/* ==========================================================================
  know how
   ========================================================================== */
.c-knowhow-text {
  padding-top: 1em;
  padding-bottom: var(--spacing-s);
}

/* ==========================================================================
  map
   ========================================================================== */
.c-map-inner {
  position: relative;
  width: 100%;
  height: 66vh;
  background-color: var(--bg-light);
  overflow: hidden;
  box-sizing: content-box;
}

/* ==========================================================================
  history 
   ========================================================================== */
.c-history::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 50%;
  width: 1px;
  height: calc(100% - 6px);
  background-color: var(--border-basic);
}

.c-history .c-col-6 {
  margin-right: 50%;
}

.c-history .c-col-6:nth-child(even) {
  margin-right: 0;
  margin-left: 50%;
}

.c-history-item {
  position: relative;
  padding-right: var(--padding-history);
  padding-bottom: var(--spacing-l);
}

.c-history .c-col-6:last-child .c-history-item {
  padding-bottom: 0;
}

.c-history-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% + var(--grid-col));
  height: 1px;
  background-color: var(--border-basic);
}

.c-history-item::after {
  content: "";
  position: absolute;
  top: -6px;
  right: calc((var(--grid-col) + 6px) * -1);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: var(--color-accent);
}

.c-history .c-col-6:nth-child(even) .c-history-item {
  padding-right: 0;
  padding-left: var(--padding-history);
}

.c-history .c-col-6:nth-child(even) .c-history-item::before {
  left: auto;
  right: 0;
}

.c-history .c-col-6:nth-child(even) .c-history-item::after {
  right: auto;
  left: calc((var(--grid-col) + 6px) * -1);
}

/* ==========================================================================
  Cookie notice
   ========================================================================== */
.c-cookie-notice {
  display: none;
  position: fixed;
  right: 0;
  bottom: 30px;
  width: 400px;
  padding: 1.5rem 30px;
  background-color: #F4F3F2;
  background-color: var(--bg-light);
  color: var(--text-color);
  line-height: 1.5;
  text-align: left;
  border-radius: 6px 0 0 6px;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 3px;
  container-name: cookie-notice;
  container-type: inline-size;
}

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

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

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

@container cookie-notice (max-width: 500px) {
  .c-text-block .c-cookie-notice-list li {
    display: block;
  }
  .c-cookie-notice .c-btn {
    display: block;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .c-cookie-notice {
    width: 100%;
    bottom: 0;
    border: none;
    border-radius: 0;
  }
}
/* ==========================================================================
   Link colors and styles
   ========================================================================== */
a[href^="tel:"] {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

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

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

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

/* ==========================================================================
   skip link
   ========================================================================== */
.c-skip-link {
  display: inline-block;
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  height: 1px;
  width: 1px;
  overflow: hidden;
  white-space: nowrap;
  color: var(--color-highlight);
  font-weight: var(--font-weight-bold);
  border: solid 1px var(--color-highlight);
  border-top: none;
  border-radius: 0;
  padding: 0.5em 20px;
}

.c-skip-link:focus {
  position: absolute;
  clip: auto;
  clip-path: none;
  height: auto;
  width: auto;
  overflow: auto;
  color: var(--color-highlight);
}

/* ==========================================================================
   Button 
   ========================================================================== */
.c-btn,
.c-form-standard input[type=submit] {
  display: inline-block;
  margin: 0;
  padding: 0.8em 40px 0.8em 40px;
  border: none;
  background-color: transparent;
  line-height: 1.2;
  border: solid 3px var(--color-highlight);
  border-radius: 50px;
  text-align: center;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-body);
  letter-spacing: var(--letter-spacing-bold);
  transition: all 0.2s ease-out;
  text-decoration: none;
}

.c-text-block .c-btn {
  transition: all 0.2s ease-out;
}

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

.c-btn:hover,
.c-btn:focus,
.c-form-standard input[type=submit]:hover,
.c-form-standard input[type=submit]:focus,
.c-teaser-category .c-teaser-item:hover .c-btn-teaser,
.c-teaser-category .c-teaser-item:focus .c-btn-teaser,
.c-teaser-news .c-teaser-item:hover .c-btn-teaser,
.c-teaser-news .c-teaser-item:focus .c-btn-teaser {
  color: #fff;
  background-color: #000;
  color: var(--text-color-light);
  background-color: var(--color-highlight);
  text-decoration: none;
  box-shadow: rgb(255, 255, 255) 0px 0px 0px 2px, rgb(255, 186, 0) 0px 0px 0px 5px;
}

.c-text-light .c-btn:hover,
.c-text-light .c-btn:focus {
  box-shadow: rgb(24, 80, 148) 0px 0px 0px 2px, rgb(255, 186, 0) 0px 0px 0px 5px;
}

.c-btn-small {
  padding: 0.75em 20px;
  font-size: var(--font-size-body-s);
}

.c-btn-list .c-active .c-btn {
  color: var(--text-color-light);
  background-color: var(--color-highlight);
}

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

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

.c-btn-back,
.c-btn-next {
  position: absolute;
  display: block;
  top: 0.35em;
  right: 0;
  width: 44px;
  height: 44px;
  background: none;
  border: none;
}

.c-btn-back {
  right: 46px;
}

.c-link-icon {
  display: inline-block;
  padding-left: 34px;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-bold);
  color: var(--color-highlight);
}

.c-link-reset {
  font-size: var(--font-size-body-s);
}

.c-link-icon,
.c-text-block .c-link-icon {
  transition: all 0.25s ease;
}

.c-link-icon:hover,
.c-link-icon:focus,
.c-teaser-news .c-teaser-item:hover .c-link-icon,
.c-teaser-news .c-teaser-item:focus .c-link-icon {
  transform: translateX(10px);
}

.c-link-icon:visited,
.c-link-icon:hover,
.c-link-icon:focus {
  color: var(--color-highlight);
}

.c-link-arrow::before,
.c-link-back::before,
.c-btn-back::before,
.c-btn-next::before {
  top: 0.4em;
  left: 0;
  width: 28px;
  height: 16px;
  background-position: 0 0;
}

.c-btn-back::before,
.c-btn-next::before {
  top: 50%;
  left: 50%;
  margin-left: -12px;
  margin-top: -7px;
}

.c-link-arrow:hover::before,
.c-link-arrow:focus::before,
.c-btn-next:hover::before,
.c-btn-next:focus::before {
  background-position: -50px 0;
}

.c-link-back::before,
.c-btn-back::before {
  left: -5px;
  background-position: 0 -20px;
}

.c-btn-back::before {
  left: calc(50% - 5px);
}

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

.c-btn-slider-disabled {
  cursor: default;
  pointer-events: none;
}

.c-btn-slider-disabled.c-btn-back::before,
.c-btn-slider-disabled.c-btn-back:hover::before,
.c-btn-slider-disabled.c-btn-back:focus::before {
  background-position: -200px -20px;
}

.c-btn-slider-disabled.c-btn-next::before,
.c-btn-slider-disabled.c-btn-next:hover::before,
.c-btn-slider-disabled.c-btn-next:focus::before {
  background-position: -200px 0;
}

.c-link-download::before {
  top: 0.13em;
  left: 0;
  width: 22px;
  height: 26px;
  background-position: 0 -40px;
}

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

.c-link-extern::before {
  top: 0.18em;
  left: 0;
  width: 28px;
  height: 27px;
  background-position: 0 -80px;
}

.c-link-extern:hover::before,
.c-link-extern:focus::before,
.c-teaser-news .c-teaser-item:hover .c-link-extern::before,
.c-teaser-news .c-teaser-item:focus .c-link-extern::before {
  background-position: -50px -80px;
}

.c-link-social {
  display: block;
  width: 54px;
  height: 54px;
  overflow: hidden;
  border: solid 3px var(--color-highlight);
  border-radius: 50%;
  transition: all 0.2s ease-out;
}

.c-link-social:hover,
.c-link-social:focus {
  transform: scale(1.05);
}

.c-link-social-linkedin::before {
  top: 50%;
  left: 50%;
  width: 22px;
  height: 23px;
  margin-left: -11px;
  margin-top: -12px;
  background-position: 0 -160px;
}

.c-link-social-fb::before {
  bottom: 0;
  left: 50%;
  width: 20px;
  height: 40px;
  margin-left: -11px;
  background-position: 0 -200px;
}

.c-filter-trigger-open,
.c-filter-trigger-close {
  position: relative;
  padding-right: 34px;
  font-size: var(--font-size-body-s);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-bold);
  color: var(--color-highlight);
}

.c-filter-trigger-open::before,
.c-filter-trigger-close::before {
  right: 0;
  top: 50%;
  margin-top: -14px;
  width: 29px;
  height: 29px;
  background-position: 0 -260px;
}

.c-filter-trigger-open:hover::before,
.c-filter-trigger-open:focus::before {
  background-position: -50px -260px;
}

.c-filter-trigger-close::before {
  background-position: 0 -300px;
}

.c-filter-trigger-close:hover::before,
.c-filter-trigger-close:focus::before {
  background-position: -50px -300px;
}

.c-link-reset::before {
  top: 0;
  left: 0;
  width: 26px;
  height: 26px;
  background-position: 0 -500px;
  transition: all 0.1s ease;
}

.c-link-reset:hover::before {
  transform: rotate(45deg);
}

/* ==========================================================================
  responsive
   ========================================================================== */
@media only screen and (max-width: 767px) {
  .c-link-arrow::before,
.c-link-back::before {
    top: 0.35em;
  }
  .c-link-download::before {
    top: -0.08em;
  }
  .c-link-extern::before {
    top: -0.05em;
  }
  .c-text-block .c-check-list li::before,
.c-check-list li::before {
    top: 0.23em;
  }
  .c-filter-trigger-open,
.c-filter-trigger-close {
    width: 44px;
    height: 44px;
  }
  .c-filter-trigger-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
  }
}
/* ==========================================================================
   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-teaser-category-img,
.c-teaser-news-img {
  padding-bottom: 60%;
}

.c-product-img,
.c-teaser-product-img {
  padding-bottom: 60%;
}

.c-knowhow-img {
  padding-bottom: 70%;
}

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

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

.c-ratiobox-showroom img,
.c-teaser-category-img img,
.c-knowhow-img img,
.c-teaser-news-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-product-img img,
.c-teaser-product-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

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

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

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

.c-form-separator {
  margin: var(--spacing-m) 0 0 0;
  padding: 0 0 var(--spacing-m) 0;
  height: 1px;
  border-top: solid 1px var(--border-basic);
}

.c-form-item-address {
  display: flex;
  flex-flow: row;
}

.c-form-item-address-zip {
  flex: 0 0 calc(30% - 20px);
  max-width: calc(30% - 20px);
  margin-right: 20px;
}

.c-form-item-address-place {
  flex: 0 0 70%;
  max-width: 70%;
}

.c-form-filter .c-form-item {
  padding-top: 0.55em;
  padding-bottom: 0.45em;
}

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

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

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

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

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

/* ==========================================================================
   file button
   ========================================================================== */
.c-form-standard input[type=file] {
  width: 100%;
  padding: 0.75em 10px;
  background-color: #F4F3F2;
  background-color: var(--bg-light);
  font-size: var(--font-size-body-s);
}

.c-form-standard input[type=file]::file-selector-button {
  display: inline-block;
  margin-right: 0.75em;
  padding: 1.15em 24px 1.15em 24px;
  border: 2px solid #000;
  border-width: var(--border-form-width);
  border-radius: var(--border-form-radius);
  border-color: var(--text-color);
  color: #000;
  color: var(--text-color);
  background-color: #fff;
  background-color: var(--bg-content);
  line-height: 1.2;
  font-size: var(--font-size-body);
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  text-align: center;
  transition: all 0.2s ease-out;
}

.c-form-standard input[type=file]::file-selector-button:hover {
  color: #fff;
  color: var(--text-color-light);
  background-color: #282828;
  background-color: var(--bg-dark);
}

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

.c-form-main .c-form-multiline .wpcf7-form-control {
  display: flex;
  flex-flow: row wrap;
}

.c-form-main .c-form-multiline .wpcf7-list-item {
  display: block;
  padding-right: 10px;
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* ==========================================================================
   wp7 error / ok message
   ========================================================================== */
.c-form-standard .wpcf7-response-output,
.c-form-standard .wpcf7 form .wpcf7-response-output {
  /*display: block;*/
  background-color: #1D1D1B;
  background-color: var(--form-initial);
  padding: 1.5em 30px;
  color: #fff;
  color: var(--text-color-light);
  margin: 0 0 3em 0;
  font-weight: bold;
  font-weight: var(--font-weight-bold);
  border: none;
  border-radius: var(--border-form-radius);
}

.c-form-standard .wpcf7-not-valid-tip,
.c-form-standard .screen-reader-response,
.c-form-standard .wpcf7-response-output {
  font-size: var(--font-size-body-s);
}

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

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

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

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

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

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

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.c-form-standard .wpcf7-spinner {
  visibility: hidden;
  display: inline-block;
  margin: -4px 24px;
  background: none;
  width: 24px;
  height: 24px;
  border: 2px solid rgba(29, 29, 27, 0.3);
  border-radius: 50%;
  border-top-color: #185094;
  border-top-color: var(--color-highlight);
  animation: spin 1s linear infinite;
  -webkit-animation: spin 1s linear infinite;
  opacity: 1;
}

.c-form-standard .wpcf7-spinner::before {
  background: none;
  width: 0;
  height: 0;
}

/* ==========================================================================
   Slider 
   ========================================================================== */
.c-slider-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-bottom: var(--spacing-l);
}

.c-slider {
  overflow: visible;
  padding-top: 8px;
  padding-bottom: 8px;
}

/* ==========================================================================
   Slider Items
   ========================================================================== */
.c-slider-items {
  position: relative;
  overflow: visible;
}

/* Product page sliders: keep container width for measurements/controls. Visual overflow
   is handled by JS via `.c-slider-items { overflow: visible }` on this variant. */
.c-slider-product-bleed .c-slider-items {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.c-slider-items-list {
  display: flex;
  flex-flow: row;
  margin: 0;
  padding: 0;
  list-style: none;
  margin-right: -10px;
  margin-left: -10px;
  margin-right: var(--grid-row);
  margin-left: var(--grid-row);
  transform: translateX(0px);
}

.c-slider-items-list li {
  display: flex;
  flex-flow: column;
  position: relative;
  min-height: 1px;
  padding-right: 10px;
  padding-left: 10px;
  padding-right: var(--grid-col);
  padding-left: var(--grid-col);
}

.c-slider-items-list .c-teaser-item {
  width: 320px;
}

@media only screen and (max-width: 1200px) {
  .c-slider-items-list .c-teaser-item {
    width: 270px;
  }
}
/* ==========================================================================
   Slider Control
   ========================================================================== */
.c-slider-controls {
  position: relative;
  padding-bottom: var(--spacing-xs);
}

.c-slider-title {
  position: relative;
  margin-right: 112px;
}

/*@import "components/_accordion";*/
/* styles for every project */
/* ==========================================================================
   Viewport
   ========================================================================== */
@-ms-viewport {
  width: device-width;
}
/* ==========================================================================
   Mediaqueries
   ========================================================================== */
@media only screen and (min-width: 1620px) {
  /* container max width */
  .c-container {
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 1400px) {
  .c-header-logo,
.c-footer-logo {
    width: 300px;
    height: 50px;
  }
  .c-footer-main .c-footer-main-info {
    -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-footer-main .c-footer-main-links {
    -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%;
  }
}
@media only screen and (min-width: 1200px) {
  .c-form-main .c-col-5,
.c-text-checklist-2col .c-col-5 {
    margin-right: 8.333%;
  }
}
/* header show offcanvas */
@media only screen and (max-width: 1200px) {
  .c-offcanvas-trigger-open {
    display: block;
  }
  .c-header-nav {
    display: none;
  }
  .c-history .c-col-8 {
    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%;
  }
}
@media only screen and (max-width: 1199px) {
  .c-form-main .c-col-5,
.c-text-checklist-2col .c-col-5 {
    -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 (min-width: 981px) {
  .c-knowhow-container {
    position: relative;
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 0 var(--grid-container);
  }
  .c-knowhow-item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
  }
}
@media only screen and (min-width: 981px) {
  .c-crossteaser-2col .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: 980px) {
  .c-text-only .c-col-8,
.c-main-title .c-col-8,
.c-section-title .c-col-8,
.c-quote .c-col-8,
.c-teaser-cta .c-col-8,
.c-form-main .c-col-8 {
    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-showroom-text .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
    -ms-flex: 0 0 58.33333%;
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
  }
  .c-text-3col .c-col-4,
.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%;
  }
  .c-footer-main .c-footer-main-info,
.c-footer-main .c-footer-main-links,
.c-footer-main .c-footer-main-links .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-main .c-footer-main-links .c-col-6:first-child {
    padding-top: var(--spacing-s);
    padding-bottom: var(--spacing-s);
    margin-bottom: var(--spacing-s);
  }
  .c-footer-main .c-footer-main-links .c-col-6:first-child::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: var(--grid-col);
    width: calc(100% - var(--grid-col) * 2);
    height: 100%;
    border-top: solid 1px var(--border-basic);
    border-bottom: solid 1px var(--border-basic);
  }
  .c-footer-link-list {
    display: flex;
    flex-flow: row wrap;
  }
  .c-footer-link-list li + li {
    padding-top: 0;
  }
  .c-footer-link-list li {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
    padding: 0.15em 10px 0.15em 0;
  }
  .c-main-title-product .c-col-5,
.c-main-title-product .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-main-title-product-img {
    max-width: 540px;
    margin-left: auto;
    margin-right: auto;
  }
  .c-crossteaser .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-crossteaser .c-col-4::before {
    top: 0;
    left: var(--grid-row);
    width: calc(100% + var(--grid-col) * 2);
    height: 1px;
  }
  .c-crossteaser-item {
    padding-right: 0;
  }
  .c-text-3col-box .c-col-4,
.c-text-3col-box .c-col-4:first-child {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-text-3col-box .c-line-item {
    padding-left: 0;
    margin-top: var(--spacing-m);
    padding-top: var(--spacing-m);
    border-left: none;
    border-top: solid 1px var(--border-basic);
  }
  .c-text-3col-box .c-col-4:first-child .c-line-item {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }
  .c-knowhow-item {
    padding-bottom: var(--spacing-l);
  }
  .c-knowhow-item:last-of-type {
    padding-bottom: 0;
  }
  .c-history .c-col-8 {
    -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 (min-width: 600px) and (max-width: 980px) {
  .c-text-3col-box .c-line-item:has(.c-img-icon),
.c-text-3col-box .c-col-4:first-child .c-line-item:has(.c-img-icon) {
    padding-left: 140px;
  }
  .c-text-3col-box .c-line-item:has(.c-img-icon) .c-img-icon {
    position: absolute;
    top: var(--spacing-m);
    left: 0;
  }
  .c-text-3col-box .c-col-4:first-child .c-line-item:has(.c-img-icon) .c-img-icon {
    top: 0;
  }
  .c-knowhow-item {
    position: relative;
    display: flex;
    flex-flow: row wrap;
    margin-left: var(--grid-row);
    margin-right: var(--grid-row);
    padding-bottom: var(--spacing-l);
  }
  .c-knowhow-media,
.c-knowhow-text,
.c-knowhow-list {
    flex: 0 0 50%;
    max-width: 50%;
    padding-left: var(--grid-col);
    padding-right: var(--grid-col);
    margin-right: 50%;
  }
  .c-knowhow-media {
    position: absolute;
    top: 0;
    right: 0;
    margin-right: 0;
    width: 50%;
  }
  .c-knowhow-text {
    padding-top: 0;
  }
}
@media only screen and (max-width: 800px) {
  .c-intro .c-col-4,
.c-intro .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-intro .c-col-4 {
    padding-bottom: var(--spacing-s);
  }
  .c-teaser-link-list .c-col-4,
.c-teaser-link-list .c-col-8,
.c-product-info-2col .c-col-3,
.c-product-info-2col .c-col-9,
.c-product-info-3col .c-col-3,
.c-product-info-3col .c-col-9,
.c-filter-product .c-col-3,
.c-filter-product .c-col-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-teaser-link-list .c-col-4 {
    padding-bottom: var(--spacing-s);
  }
  .c-form-main .c-col-5,
.c-form-main .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-form-main .c-col-5:first-child {
    padding-bottom: var(--spacing-s);
  }
  .c-form-main .c-form-multiline .wpcf7-list-item {
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media only screen and (max-width: 767px) {
  .c-text-only .c-col-8,
.c-main-title .c-col-8,
.c-section-title .c-col-8,
.c-quote .c-col-8,
.c-teaser-cta .c-col-8,
.c-text-img .c-col-6,
.c-img-2col .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-img .c-col-6:first-child {
    padding-bottom: var(--spacing-s);
  }
  .c-img-2col .c-col-6:first-child {
    padding-bottom: var(--spacing-l);
  }
  .c-showroom-text .c-row {
    align-items: flex-end;
  }
  .c-showroom-text .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-header-logo,
.c-footer-logo {
    width: 220px;
    height: 36px;
  }
  .c-footer-disclaimer .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    text-align: left;
  }
  .c-footer-disclaimer .c-col-6:first-child {
    padding-bottom: var(--spacing-s);
  }
}
@media only screen and (max-width: 640px) {
  .c-filter-list li {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-keyfacts .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: 400px) {
  .c-filter-list li {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-filter-list {
    border-top: none;
    border-bottom: none;
    padding-top: 0;
  }
}
@media only screen and (max-width: 600px) {
  .c-teaser-2col .c-col-6,
.c-text-checklist-2col .c-col-5,
.c-history .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-checklist-2col .c-col-5:first-child {
    padding-bottom: var(--spacing-s);
  }
  .c-history::before {
    left: var(--grid-container);
  }
  .c-history .c-col-6,
.c-history .c-col-6:nth-child(even) {
    margin-right: 0;
    margin-left: 0;
  }
  .c-history-item,
.c-history .c-col-6:nth-child(even) .c-history-item {
    padding-right: 0;
    padding-left: var(--padding-history);
  }
  .c-history-item::before,
.c-history .c-col-6:nth-child(even) .c-history-item::before {
    left: 0;
    right: auto;
    width: 100%;
  }
  .c-history-item::after,
.c-history .c-col-6:nth-child(even) .c-history-item::after {
    right: auto;
    left: -6px;
  }
}
@media only screen and (max-width: 539px) {
  .c-footer-main-info .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-main-info .c-col-6:last-child {
    padding-top: var(--spacing-s);
    padding-bottom: var(--spacing-s);
  }
  .c-footer-main-info .c-col-6:last-child::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: var(--grid-col);
    width: calc(100% - var(--grid-col) * 2);
    height: 1;
    border-top: solid 1px var(--border-basic);
  }
  .c-footer-link-list li {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-text-3col .c-col-4,
.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-product-info-3col .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-product-info-3col .c-col-6:first-child {
    padding-bottom: var(--spacing-s);
  }
  .c-technical-list dt,
.c-technical-list dd {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-technical-list dt {
    border-bottom: none;
    padding-bottom: 0;
  }
  .c-technical-list dd {
    padding-top: 0;
  }
  .c-form-main .c-form-multiline .wpcf7-list-item {
    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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RDs7QU05d0JBO0VBQ0M7QU5peEJEOztBTzExQkE7OytFQUFBO0FBSUE7Ozs7O0VBS0k7RUFDQTtFQUNBO0FQNDFCSjs7QU96MUJBOzsrRUFBQTtBQUlBOzs7Ozs7RUFNQyxvQkxNVztFS0xSO0FQMjFCSjs7QU94MUJBO0VBQ0ksaUJMQ1E7RUtBUjtFQUNILG9CTERXO0VLRVI7QVAyMUJKOztBT3gxQkE7RUFDQztBUDIxQkQ7O0FPeDFCQTtFQUNDO0VBQ0c7QVAyMUJKOztBT3gxQkE7Ozs7RUFJQztBUDIxQkQ7O0FPeDFCQTtFQUNJO0VBQ0E7QVAyMUJKOztBT3gxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBUDIxQko7O0FPeDFCQTtFQUNDLHNCTGhDVztFS2lDUjtBUDIxQko7O0FPeDFCQTtFQUNJO0VBQ0E7QVAyMUJKOztBT3gxQkE7RUFDSTtBUDIxQko7O0FPeDFCQTtFQUNJLG1CTGhEUTtFS2lEUjtBUDIxQko7O0FPeDFCQTs7Ozs7O0VBTUksaUJMMURRO0VLMkRSO0VBQ0EsbUJMNURRO0VLNkRSO0FQMjFCSjs7QU94MUJBOztFQUVJLG1CTGxFUTtFS21FUjtBUDIxQko7O0FPeDFCQTs7O0VBR0k7RUFDQTtBUDIxQko7O0FPeDFCQTs7OztFQUlJO0FQMjFCSjs7QU94MUJBOzsrRUFBQTtBQUlBO0VBQ0ksa0JMbkZhO0VLb0ZiLG1CTHBGYTtFS3FGYjtFQUNBO0FQMDFCSjs7QU92MUJBO0VBQ0ksbUJMekZPO0VLMEZQLGtCTDFGTztFSzJGUDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDSTtFQUNJO0FQMDFCWjs7QU92MUJBO0VBQ0k7QVAwMUJKOztBT3YxQkE7RUFDSTtBUDAxQko7O0FPdjFCQTtFQUNJO0FQMDFCSjs7QU92MUJBO0VBQ0k7QVAwMUJKOztBT3YxQkE7RUFDSTtBUDAxQko7O0FPdjFCQTtFQUNJO0FQMDFCSjs7QU92MUJBO0VBQ0k7QVAwMUJKOztBT3YxQkE7RUFDSTtBUDAxQko7O0FPdjFCQTtFQUNJO0FQMDFCSjs7QU92MUJBOzs7Ozs7Ozs7Ozs7RUFZSTtFQUNBO0VBQ0EsbUJMekpPO0VLMEpQLGtCTDFKTztFSzJKUDtFQUNBO0FQMDFCSjs7QU92MUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUDAxQko7O0FPdjFCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVAwMUJKOztBT3YxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQMDFCSjs7QU92MUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUDAxQko7O0FPdjFCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVAwMUJKOztBT3YxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQMDFCSjs7QU92MUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUDAxQko7O0FPdjFCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVAwMUJKOztBT3YxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQMDFCSjs7QU92MUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUDAxQko7O0FPdjFCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVAwMUJKOztBT3YxQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQMDFCSjs7QU92MUJBO0FBQ0E7RUFDRTtBUDAxQkY7O0FPdjFCQTtFQUNFO0FQMDFCRjs7QU92MUJBO0VBQ0U7QVAwMUJGOztBT3YxQkE7RUFDRTtBUDAxQkY7O0FPdjFCQTtFQUNFO0FQMDFCRjs7QU92MUJBO0VBQ0U7QVAwMUJGOztBT3YxQkE7RUFDRTtBUDAxQkY7O0FPdjFCQTtFQUNFO0FQMDFCRjs7QU92MUJBO0VBQ0U7QVAwMUJGOztBT3YxQkE7RUFDRTtBUDAxQkY7O0FPdjFCQTtFQUNFO0FQMDFCRjs7QU92MUJBOzsrRUFBQTtBQ2xWQTs7K0VBQUE7QUFHQTtFQUNDO0VBQ0c7QVIrcUNKOztBUTVxQ0E7OytFQUFBO0FBSUE7Ozs7OztFQU1DO0VBQ0E7RUFDRztFQUNBO0VBQ0E7RUFDQTtBUjhxQ0o7O0FRM3FDQTs7RUFFSTtFQUNBO0VBQ0g7RUFDQTtFQUNBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QVI4cUNKOztBUTNxQ0E7O0VBRUM7RUFDQTtFQUNBO0VBQ0c7QVI4cUNKOztBUTFxQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBUjZxQ0o7O0FRMXFDQTs7RUFFQztFQUNBO0VBQ0E7RUFDRztBUjZxQ0o7O0FRMXFDQTtFQUNJO0FSNnFDSjs7QVExcUNBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUjZxQ0o7O0FRMXFDQTtFQUNJO0VBQ0E7QVI2cUNKOztBUTFxQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSNnFDSjs7QVExcUNBOzs7O0VBSUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUjZxQ0o7O0FRMXFDQTs7RUFFSTtBUjZxQ0o7O0FRMXFDQTs7RUFFSTtBUjZxQ0o7O0FRenFDQTs7K0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtBUjJxQ0o7O0FReHFDQTs7RUFFQztBUjJxQ0Q7O0FReHFDQTs7RUFFQztBUjJxQ0Q7O0FReHFDQTtFQUNJO0FSMnFDSjs7QVF4cUNBOztFQUVJO0FSMnFDSjs7QVF4cUNBOzs7Ozs7Ozs7Ozs7RUFZQztBUjJxQ0Q7O0FReHFDQTtFQUNJO0FSMnFDSjs7QVF4cUNBO0VBQ0k7RUFDSDtFQUNHO0VBQ0E7QVIycUNKOztBUXhxQ0E7RUFDSTtBUjJxQ0o7O0FReHFDQTtFQUNJO0VBQ0E7RUFDQTtBUjJxQ0o7O0FReHFDQTtFQUNJO0FSMnFDSjs7QVF4cUNBOzs7RUFHQztFQUNHO0FSMnFDSjs7QVF4cUNBO0VBQ0M7RUFDQTtFQUNHO0FSMnFDSjs7QVF4cUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUjJxQ0o7O0FReHFDQTtFQUNJO0VBQ0E7RUFDQTtBUjJxQ0o7O0FReHFDQTtFQUNJO0VBQ0E7RUFDQTtBUjJxQ0o7O0FReHFDQTs7K0VBQUE7QUFJQTs7RUFFQztFQUNBO0VBQ0E7QVIwcUNEOztBUXZxQ0E7O0VBRUM7RUFDQTtBUjBxQ0Q7O0FRdnFDQTs7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SU47RWtCL3RJRDs7SUFFTztFbEJpdUlOO0VrQjl0SUU7OztJQUdGO0VsQmd1SUE7RWtCN3RJRTs7SUFFSTtJQUNBO0VsQit0SU47RWtCNXRJRTtJQUNJO0VsQjh0SU47RWtCM3RJRTs7SUFFSTtFbEI2dElOO0VrQjF0SUU7SUFDSTtFbEI0dElOO0VrQnp0SUU7SUFDSTtFbEIydElOO0VrQnh0SUU7OztJQUdJO0lBQ0E7RWxCMHRJTjtFa0J2dElFOztJQUVJO0lBQ0E7RWxCeXRJTjtFa0J0dElFO0VBRUg7O0lBRUM7SUFDQTtJQUNBO0VsQnV0SUE7RWtCcHRJRTtJQUNJO0VsQnN0SU47RWtCbnRJRDtJQUNDO0VsQnF0SUE7RWtCbHRJRDs7Ozs7SUFLQztFbEJvdElBO0VrQmp0SUQ7RUFDQTtJQUNDO0VsQm10SUE7RWtCaHRJRDtJQUNDO0VsQmt0SUE7QUFDRixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL21haW4uc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL19mb250cy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX25vcm1hbGl6ZS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX21peGlucy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21tb24vX2hlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fYmFzZS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19vZmZjYW52YXMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fY29udGVudGVsZW1lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2J1dHRvbi1saW5rcy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19yYXRpb2JveC5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19yZXNwb25zaXZlLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3ByaW50LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2V0dGluZ3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qQGltcG9ydCBcIi4uL2ZvbnRzL2lubGluZUZvbnRzLnNjc3NcIjsqL1xuQGltcG9ydCBcImNvbW1vbi9fZm9udHNcIjtcbkBpbXBvcnQgXCJjb21tb24vX3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImNvbW1vbi9fbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiY29tbW9uL19taXhpbnNcIjtcbkBpbXBvcnQgXCJjb21tb24vX2hlbHBlcnNcIjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIHN0eWxlcyBmb3IgZXZlcnkgcHJvamVjdCAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Jhc2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19ncmlkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2hlYWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2Zvb3RlclwiO1xuXG4vKiBvcHRpb25hbCBzdHlsZXMgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL19vZmZjYW52YXNcIjtcbi8qQGltcG9ydCBcImNvbXBvbmVudHMvX3RhYmxlc1wiOyovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudGVsZW1lbnRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYnV0dG9uLWxpbmtzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcmF0aW9ib3hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19mb3JtXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fc2xpZGVyXCI7XG4vKkBpbXBvcnQgXCJjb21wb25lbnRzL19hY2NvcmRpb25cIjsqL1xuXG5cbi8qIHN0eWxlcyBmb3IgZXZlcnkgcHJvamVjdCAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3Jlc3BvbnNpdmVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19wcmludFwiO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb2plY3QgRm9udHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEZvbnRzIGFyZSBlbnF1ZXVlZCBmcm9tIFBIUCB0byBhdm9pZCB0aGUgcmVuZGVyIGRlbGF5IGNhdXNlZCBieSBDU1MgQGltcG9ydC4gKi9cbiIsIi8qIFZhcmlhYmxlcywgTmFtaW5nIG1heSB2YXJ5IGZyb20gcHJvamVjdCB0byBwcm9qZWN0ICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250cyAoc2VlICdfZm9udHMuc2NzcycgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gbGljZW5zZSlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEBpbXBvcnQgbXVzdCBiZSBhdCB0b3Agb2YgZmlsZSwgb3RoZXJ3aXNlIENTUyB3aWxsIG5vdCB3b3JrICovXG4vKiBAaW1wb3J0IHVybCgnLy9oZWxsby5teWZvbnRzLm5ldC9jb3VudC80MjY1NjMnKTsgKi9cblxuJGZvbnQtc3RhY2stZGVmYXVsdDogJ09wZW4gU2FucycsICdBcmlhbCcsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmFsbGJhY2tzIHNhc3MgVmFyaWFibGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiB0ZXh0ICovXG4kdGV4dC1jb2xvcjogIzAwMDsgLyogZGFyayBncmV5ICovXG4kdGV4dC1jb2xvci1saWdodDogI2ZmZjtcbiR0ZXh0LWNvbG9yLWxpbms6ICMwMDA7IC8qIGRhcmsgZ3JleSAqL1xuXG4vKiBiYWNrZ3JvdW5kICovXG4kYmctY29udGVudDogI2ZmZjtcbiRiZy1kYXJrOiAjMjgyODI4OyAvKiBkYXJrIGdyZXkgKi9cbiRiZy1saWdodDogI0Y0RjNGMjsgLyogbGlnaHQgZ3JleSAqL1xuJGNvbG9yLWhpZ2hsaWdodDogIzE4NTA5NDsgLyogYmx1ZSAqL1xuXG4vKiBsaW5lLWNvbG9ycyAqL1xuJGJvcmRlci1iYXNpYzogI0I3QjdCNTtcblxuLyogc3BhY2luZyAqL1xuJHNwYWNpbmctbDogNnJlbTtcbiRzcGFjaW5nLW06IDNyZW07XG4kc3BhY2luZy1zOiAxLjVyZW07XG4kc3BhY2luZy14czogMC43NXJlbTtcblxuLyogZ3JpZCAqL1xuJGdyaWQtY29udGFpbmVyOiAyMHB4O1xuJGdyaWQtcm93OiAtMTBweDtcbiRncmlkLWNvbDogMTBweDtcblxuXG4vKiBmb3JtICovXG4kYm9yZGVyLWZvcm06ICNBOEE4QTg7XG4kYm9yZGVyLWZvcm0tZm9jdXM6ICMwMDA7XG4kZm9ybS1kaXNhYmxlZDogI2NjYztcbiRmb3JtLWVycm9yOiAjZGQwMDAwO1xuJGZvcm0tb2s6ICMwMDgyOEM7XG4kZm9ybS1pbml0aWFsOiAjMUQxRDFCO1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDdXN0b20gUHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG46cm9vdCB7XG4gICAgLyogZm9udHMgKi9cbiAgICAtLWZvbnQtc3RhY2stZGVmYXVsdDogJ09wZW4gU2FucycsICdBcmlhbCcsICdIZWx2ZXRpY2EnLCBzYW5zLXNlcmlmO1xuICAgIC0tZm9udC1zdGFjay10aXRsZTogJ01pY2hyb21hJywgJ0FyaWFsJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG4gICAgLS1mb250LXdlaWdodC1ub3JtYWw6IDQwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LXRpdGxlOiA0MDA7XG4gICAgLS1sZXR0ZXItc3BhY2luZy1ib2xkOiAtMC4wMmVtO1xuICAgIC0tbGV0dGVyLXNwYWNpbmctdGl0bGU6IDAuMDFlbTtcbiAgICBcbiAgICAvKiB0ZXh0ICAqL1xuICAgIC0tdGV4dC1jb2xvcjogIzJmMmYyZjsgLyogYmxhY2sgKi9cbiAgICAtLXRleHQtY29sb3ItZGFyazogIzAwMDsgLyogYmxhY2sgKi9cbiAgICAtLXRleHQtY29sb3ItbGlnaHQ6ICNmZmY7XG4gICAgLS10ZXh0LWNvbG9yLWxpbms6ICMwMDA7XG4gICAgLS10ZXh0LWNvbG9yLW1lZGl1bTogIzgxODE4MTtcbiAgICBcbiAgICAvKiBmb250LXNpemVzICovXG4gICAgLS1mb250LXNpemUtcm9vdDogMThweDtcbiAgICAtLWZvbnQtc2l6ZS1oMTogM3JlbTsgLyogNjBweCAqL1xuICAgIC0tZm9udC1zaXplLWgyOiAxLjhyZW07IC8qIDM2cHggKi9cbiAgICAtLWZvbnQtc2l6ZS1oMzogMS4ycmVtO1xuICAgIC0tZm9udC1zaXplLWxlYWQ6IDEuMnJlbTtcbiAgICAtLWZvbnQtc2l6ZS1xdW90ZTogMS44cmVtO1xuICAgIC0tZm9udC1zaXplLWJvZHktbDogMS44cmVtO1xuICAgIC0tZm9udC1zaXplLWJvZHktbTogMS4ycmVtO1xuICAgIC0tZm9udC1zaXplLWJvZHk6IDFyZW07XG4gICAgLS1mb250LXNpemUtYm9keS1zOiAwLjhyZW07XG4gICAgLS1mb250LXNpemUtbmF2OiAwLjlyZW07XG4gICAgXG4gICAgLyogY29sb3JzIC8gYmFja2dyb3VuZCAqL1xuICAgIC0tYmctY29udGVudDogI2ZmZjtcbiAgICAtLWJnLWRhcms6ICMyODI4Mjg7IC8qIGRhcmsgZ3JleSAqL1xuICAgIC0tYmctbGlnaHQ6ICNGNEYzRjI7IC8qIGxpZ2h0IGdyZXkgKi9cbiAgICAtLWJnLWN0YTogIzE4NTA5NDsgLyogYmx1ZSAqL1xuICAgIC0tY29sb3ItaGlnaGxpZ2h0OiAjMTg1MDk0OyAvKiBibHVlICovXG4gICAgLS1jb2xvci1hY2NlbnQ6ICNGRkE4MDA7IC8qIHllbGxvdyAqL1xuICAgIFxuICAgIC8qIGxpbmVzICovXG4gICAgLS1ib3JkZXItYmFzaWM6ICNCN0I3QjU7XG4gICAgLS13aWR0aC10aXRsZS1kZWNvOiA2MHB4O1xuICAgIFxuICAgIC8qIHNwYWNpbmcgYmV0d2VlbiBjb21wb25lbnRzIGJhc2VkIG9uIHJlbSAqL1xuICAgIC0tc3BhY2luZy1sOiA1cmVtO1xuICAgIC0tc3BhY2luZy1tOiAyLjVyZW07IFxuICAgIC0tc3BhY2luZy1zOiAxLjVyZW07XG4gICAgLS1zcGFjaW5nLXhzOiAwLjc1cmVtOyBcbiAgICBcbiAgICAvKiBncmlkICovXG4gICAgLS1ncmlkLWNvbnRhaW5lcjogMzJweDtcbiAgICAtLWdyaWQtcm93OiAtMTZweDtcbiAgICAtLWdyaWQtY29sOiAxNnB4O1xuICAgIFxuICAgIFxuICAgIC8qIGRpZmZlcmVudCBoZWlnaHRzIGFuZCBzcGFjaW5ncyAqL1xuICAgIC0tcGFkZGluZy1ib3JkZXItbGVmdDogMjRweDtcbiAgICAtLWhlYWRlci1oZWlnaHQ6IDExMHB4O1xuICAgIC0tcGFkZGluZy1ib3g6IDIuNWVtIDMycHggM2VtIDMycHg7XG4gICAgLS1wYWRkaW5nLWhpc3Rvcnk6IHZhcigtLWdyaWQtY29udGFpbmVyKTtcbiAgICAgXG4gICAgXG4gICAgXG4gICAgLyogZm9ybSAqL1xuICAgIC0tYm9yZGVyLWZvcm06ICNCN0I3QjU7IFxuICAgIC0tYm9yZGVyLWZvcm0tZm9jdXM6ICMwMDA7XG4gICAgLS1ib3JkZXItZm9ybS13aWR0aDogM3B4O1xuICAgIC0tYm9yZGVyLWZvcm0tcmFkaXVzOiA2cHg7XG4gICAgLS1mb3JtLWRpc2FibGVkOiAjY2NjO1xuICAgIC0tZm9ybS1lcnJvcjogI2RkMDAwMDtcbiAgICAtLWZvcm0tb2s6ICMxZTcwMTI7XG4gICAgLS1mb3JtLWluaXRpYWw6ICMxODUwOTQ7XG4gICAgLS1mb3JtLXBhZGRpbmctdG9wLXRleHQ6IDAuNGVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRXhlcHRpb25zIGZvciBkaWZmZXJlbnQgYmFja2dyb3VuZHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXRleHQtbGlnaHQge1xuICAgIC0tdGV4dC1jb2xvcjogI2ZmZjtcbiAgICAtLXRleHQtY29sb3ItZGFyazogI2ZmZjtcbiAgICAtLXRleHQtY29sb3ItbGluazogI2ZmZjtcbiAgICAtLWNvbG9yLWhpZ2hsaWdodDogI2ZmZjtcbiAgICAtLWJvcmRlci1iYXNpYzogcmdiYSgyNTUsMjU1LDI1NSwwLjMpO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2ICB7XG4gICAgLS10ZXh0LWNvbG9yOiAjZmZmO1xuICAgIC0tdGV4dC1jb2xvci1kYXJrOiAjZmZmO1xuICAgIC0tdGV4dC1jb2xvci1saW5rOiAjZmZmO1xuICAgIC0tY29sb3ItaGlnaGxpZ2h0OiAjZmZmO1xuICAgIC0tYm9yZGVyLWJhc2ljOiByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtYnRuOmhvdmVyLFxuLmMtdGV4dC1saWdodCAuYy1idG46Zm9jdXMge1xuICAgIC0tdGV4dC1jb2xvci1saWdodDogIzE4NTA5NDtcbn1cblxuLmMtaGVhZGVyLW5hdiB7XG4gICAgLS10ZXh0LWNvbG9yLWxpbms6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWJ0bi1zbWFsbCB7XG4gICAgLS1mb250LXdlaWdodC1ib2xkOiA3NTA7XG59XG5cbi5jLWJyZWFkY3J1bWIgYSB7XG4gICAgLS10ZXh0LWNvbG9yLWxpbms6IHZhcigtLXRleHQtY29sb3ItbWVkaXVtKTtcbn1cblxuLmMtYm94IC5jLWxpbmUtaXRlbSB7XG4gICAgLS1ib3JkZXItYmFzaWM6ICNmOGQ1OWY7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSZXNwb25zaXZlIEN1c3RvbSBQcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTIwMHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWdyaWQtY29udGFpbmVyOiA0OHB4O1xuICAgICAgICAtLWdyaWQtcm93OiAtMjRweDtcbiAgICAgICAgLS1ncmlkLWNvbDogMjRweDtcbiAgICAgICAgLS1wYWRkaW5nLWJvcmRlci1sZWZ0OiAzMnB4O1xuICAgICAgICAtLXBhZGRpbmctYm94OiAyLjVlbSA0OHB4IDNlbSA0OHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE2MDBweCkge1xuICAgIDpyb290IHtcbiAgICAgICAgLS1ncmlkLWNvbnRhaW5lcjogNjRweDtcbiAgICAgICAgLS1ncmlkLXJvdzogLTMycHg7XG4gICAgICAgIC0tZ3JpZC1jb2w6IDMycHg7XG4gICAgICAgIFxuICAgICAgICAtLXBhZGRpbmctYm94OiAyLjVlbSA2NHB4IDNlbSA2NHB4O1xuICAgICAgICAtLWZvcm0tcGFkZGluZy10b3AtdGV4dDogMC4zNWVtO1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTQwMHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWhlYWRlci1oZWlnaHQ6IDkwcHg7IFxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEyMDBweCkge1xuICAgIDpyb290IHtcbiAgICAgICAgLS1oZWFkZXItaGVpZ2h0OiA3MHB4OyBcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk4MHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLXNwYWNpbmctbDogNHJlbTtcbiAgICAgICAgLS1zcGFjaW5nLW06IDJyZW07IFxuICAgICAgICBcbiAgICAgICAgLS13aWR0aC10aXRsZS1kZWNvOiA0MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjgwMHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLXBhZGRpbmctaGlzdG9yeTogdmFyKC0tZ3JpZC1jb2wpO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLWZvcm0tcGFkZGluZy10b3AtdGV4dDogMC41NWVtO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7XG4gICAgOnJvb3Qge1xuICAgICAgICAtLXBhZGRpbmctaGlzdG9yeTogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuICAgIH1cbn1cblxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4qIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUU2Lzcgd2hlbiBib2R5IGZvbnQtc2l6ZSBpcyBzZXQgdXNpbmcgZW0gdW5pdHNcbiAqICAgIGh0dHA6Ly9jbGFnbnV0LmNvbS9ibG9nLzM0OC8jYzc5MFxuICogMi4gS2VlcHMgcGFnZSBjZW50cmVkIGluIGFsbCBicm93c2VycyByZWdhcmRsZXNzIG9mIGNvbnRlbnQgaGVpZ2h0XG4gKiAzLiBQcmV2ZW50cyBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbVxuICogICAgd3d3LjQ1NmJlcmVhc3RyZWV0LmNvbS9hcmNoaXZlLzIwMTAxMi9jb250cm9sbGluZ190ZXh0X3NpemVfaW5fc2FmYXJpX2Zvcl9pb3Nfd2l0aG91dF9kaXNhYmxpbmdfdXNlcl96b29tL1xuICogNC4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG5cdGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiA0ICovXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbn1cblxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cblxuXG4gKi9cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyAvKiBjdWJlZ3JhZmlrICovXG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICovXG5cbmEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmE6Zm9jdXMge1xuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLypcbiogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKlxuICogSW1wcm92ZXMgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vyc1xuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogU2V0IGNvbnNpc3RlbnQgcXVvdGUgdHlwZXMuXG4gKi9cblxucSB7XG4gICAgcXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcblxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICAgIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZXMgYm9yZGVyIHdoZW4gaW5zaWRlICdhJyBlbGVtZW50IGluIElFNi83LzgvOSwgRkYzXG4gKiAyLiBJbXByb3ZlcyBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFN1xuICogICAgY29kZS5mbGlja3IuY29tL2Jsb2cvMjAwOC8xMS8xMi9vbi11aS1xdWFsaXR5LXRoZS1saXR0bGUtdGhpbmdzLWNsaWVudC1zaWRlLWltYWdlLXJlc2l6aW5nL1xuICovXG5cbmltZyB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLyogMiAqL1xufVxuXG4vKlxuICogQ29ycmVjdHMgb3ZlcmZsb3cgZGlzcGxheWVkIG9kZGx5IGluIElFOVxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWd1cmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuXG5maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb3JyZWN0cyBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFNi83XG4gKi9cblxuZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjowOyAvKiBjdWJlZ3JhZmlrICovXG4gICAgbWFyZ2luOjA7IC8qIGN1YmVncmFmaWsgKi9cbiAgICBwYWRkaW5nOjA7IC8qIGN1YmVncmFmaWsgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gIGJvcmRlcjogMDtcbn1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG5cbiAqIDQuIEltcHJvdmVzIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vyc1xuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogNCAqL1xufVxuXG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG5cbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0cyBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZXMgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmVzIGlubmVyIHNwYWNpbmcgaW4gSUU3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUU2LlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gICAgKm92ZXJmbG93OiB2aXNpYmxlOyAvKiA0ICovXG59XG5cbi8qXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cblxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cblxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cblxuLyoqXG5cbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bzsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxsc1xuICovXG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVsZW1lbnRzIGN1YmVncmFmaWtcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmE6YWN0aXZlIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG5cbmRpdiwgcCB7XG4gICAgcGFkZGluZzowO1xuICAgIG1hcmdpbjowO1xufVxuXG5ociB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxudGgsIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHRleHQtYWxpZ246bGVmdDtcbn1cblxuaW5wdXQsXG50ZXh0YXJlYSB7XG4gICAgLyogUmVtb3ZlZCBiZWNhdXNlIG9mIHZpc2liaWxpdHljaGFuZ2UtYWRkaXRpb24gdG8gZmFuY3ktZm9ybXMgcGx1Z2luLlxuICAgICAqIDIwMTUvMDEvMjIgLSBGbG9yaWFuIE3DpGRlclxuICAgICAqIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsqL1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbn1cblxuaHRtbCB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBTYWZhcmkgMy4wIC0gNS4wLCBDaHJvbWUgMSAtIDksIEFuZHJvaWQgMi4xIC0gMy54ICovXG4gICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBGaXJlZm94IDEgLSAyOCAqL1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogU2FmYXJpIDUuMSssIENocm9tZSAxMCssIEZpcmVmb3ggMjkrLCBPcGVyYSA3KywgSUUgOCssIEFuZHJvaWQgNC4wKywgaU9TIGFueSAqL1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcbiAgICAgICAtbW96LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5sYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIElFIDEwICAqL1xuICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLyogSUUgMTErICovXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm0gUGxhY2Vob2xkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgICB7QGNvbnRlbnR9XG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgIHtAY29udGVudH1cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAge0Bjb250ZW50fSAgXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb250cyBzbW9vdGhpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBmb250LXNtb290aGluZygkdmFsdWU6IG9uKSB7XG4gICAgQGlmICR2YWx1ZSA9PSBvbiB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcbiAgICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgSGlkaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1oaWRlLXZpc3VhbGx5IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLmMtaGlkZS1jb21wbGV0ZWx5IHtcblx0ZGlzcGxheTogbm9uZTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBpbWFnZSByZXBsYWNlbWVudCAqL1xuLmMtaXIge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Ym9yZGVyOiAwO1xuXHR0ZXh0LWluZGVudDogLTk5OWVtO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0ZGlyZWN0aW9uOiBsdHI7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0aWNreSBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmh0bWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbmJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmMtaGVhZGVyLFxuLmMtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmMtY29udGVudCB7XG4gICAgZmxleC1ncm93OiAxO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlIFByb2plY3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmJvZHkge1xuXHRAaW5jbHVkZSBmb250LXNtb290aGluZyhvbik7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXHRmb250LWZhbWlseTogJGZvbnQtc3RhY2stZGVmYXVsdDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zdGFjay1kZWZhdWx0KTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5KTtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyogbGlua3MgKi9cbmEsXG5hOnZpc2l0ZWQsXG5hOmZvY3VzLFxuYTpob3ZlciB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saW5rO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpbmspO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbnA6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xufVxuXG50ZXh0YXJlYSB7XG5cdHJlc2l6ZTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgaW1nIC8gbWVkaWEgZGVjbGFyYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmVtYmVkLFxub2JqZWN0LFxudmlkZW8sXG5pZnJhbWUsXG5pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5pbWcge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmMtaW1nLW1heC13aWR0aCxcbi5jLWNvbnRlbnQgLmMtaW1nLW1heC13aWR0aCB7XG5cdHdpZHRoOiBhdXRvO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmltZyB7IFxuXHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyBcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdGFuZGFyZCBNYWluIENvbnRhaW5lciBEZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGVhZGVyLFxuLmMtY29udGVudCxcbi5jLWZvb3Rlcixcbi5jLWNvbnRhaW5lcixcbi5jLWNvbnRhaW5lci13aWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogYXV0bztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0YW5kYXJkIFBhZGRpbmcgYmV0d2VlbiBDb21wb25lbnRzIFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGFpbmVyLFxuLmMtdGVhc2VyLTJjb2wgLmMtY29sLTYsXG4uYy10ZXh0LTNjb2wgLmMtY29sLTQsXG4uYy1tYWluLXRpdGxlLXByb2R1Y3QgLmMtY29sLTUsXG4uYy10ZWFzZXItM2NvbCAuYy1jb2wtNCxcbi5jLWtleWZhY3RzIC5jLWNvbC00IHtcblx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi5jLWNyb3NzdGVhc2VyIC5jLWNvbC00IHtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctbDtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1sKTtcblx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi5jLW1haW4tdGl0bGUtcHJvZHVjdCAuYy1jb2wtNyB7XG5cdHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4uYy1tYWluLXRpdGxlIHtcblx0bWFyZ2luLXRvcDogNmVtO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi5jLWNvbnRhaW5lci1uby1wYWRkaW5nLFxuLmMtdGVhc2VyLTJjb2wsXG4uYy10ZXh0LTNjb2wsXG4uYy10ZWFzZXItM2NvbCB7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYy1uZXdzLWZpbHRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4uYy1zaG93cm9vbS10ZXh0LWlubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMS41ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLW0pO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLW0pO1xufVxuXG4uYy1zZWN0aW9uLXRpdGxlIHtcblx0cGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmcteHMpO1xufVxuXG4uYy1icmVhZGNydW1iIHtcbiAgICBwYWRkaW5nLXRvcDogMS41ZW07XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctcyk7XG59XG5cbi5jLWJyZWFkY3J1bWIgKyAuYy1tYWluLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uYy1zaG93cm9vbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWwpO1xufVxuXG4uYy10ZWFzZXItbGluay1saXN0LFxuLmMtc3BlY2lmaWNhdGlvbixcbi5jLXRlYXNlci1jdGEsXG4uYy1maWx0ZXItcHJvZHVjdCxcbi5jLWtleWZhY3RzLFxuLmMtdGV4dC1jaGVja2xpc3QtMmNvbCB7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbCk7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWwpO1xufVxuXG4uYy1jcm9zc3RlYXNlcixcbi5jLWhpc3Rvcnkge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWw7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuLmMtdGVhc2VyLWxpbmstbGlzdCArIC5jLXRlYXNlci1jdGEsXG4uYy10ZWFzZXItbGluay1saXN0ICsgLmMtY3Jvc3N0ZWFzZXIsXG4uYy1zcGVjaWZpY2F0aW9uICsgLmMtdGVhc2VyLWN0YSB7XG4gICAgbWFyZ2luLXRvcDogLTZlbTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmctbCkgKiAtMSk7XG59XG5cbi5jLWNvbnRlbnQgLmMtdGVhc2VyLWxpbmstbGlzdDpsYXN0LWNoaWxkLFxuLmMtY29udGVudCAuYy1zcGVjaWZpY2F0aW9uOmxhc3QtY2hpbGQsXG4uYy1jb250ZW50IC5jLXRlYXNlci1jdGE6bGFzdC1jaGlsZCxcbi5jLWNvbnRlbnQgLmMtY3Jvc3N0ZWFzZXI6bGFzdC1jaGlsZHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgR3JpZCBEZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbnRhaW5lcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1jb250YWluZXI7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1jb250YWluZXIpO1xufVxuXG4uYy1yb3cge1xuICAgIG1hcmdpbi1yaWdodDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ncmlkLXJvdyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbi5jLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmMtcm93LWp1c3RpZnktY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmMtcm93LWp1c3RpZnktcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmMtcm93LWFsaWduLXRvcCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5jLXJvdy1hbGlnbi1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLXJvdy1hbGlnbi1ib3R0b20ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmMtY29sLTEsXG4uYy1jb2wtMixcbi5jLWNvbC0zLFxuLmMtY29sLTQsXG4uYy1jb2wtNSxcbi5jLWNvbC02LFxuLmMtY29sLTcsXG4uYy1jb2wtOCxcbi5jLWNvbC05LFxuLmMtY29sLTEwLFxuLmMtY29sLTExLFxuLmMtY29sLTEyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWNvbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ncmlkLWNvbCk7XG59XG5cbi5jLWNvbC0xMiB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7ICAgIFxufVxuXG4uYy1jb2wtMTEge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7XG59XG5cbi5jLWNvbC0xMCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTtcbn1cblxuLmMtY29sLTkge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNzUlO1xuICAgIC1tcy1mbGV4OiAwIDAgNzUlO1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG59XG5cbi5jLWNvbC04IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xufVxuXG4uYy1jb2wtNyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTtcbn1cblxuLmMtY29sLTYge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5jLWNvbC01IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclO1xufVxuXG4uYy1jb2wtNCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcbn1cblxuLmMtY29sLTMge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMjUlO1xuICAgIC1tcy1mbGV4OiAwIDAgMjUlO1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG59XG5cbi5jLWNvbC0yIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclO1xufVxuXG4uYy1jb2wtMSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICAtbXMtZmxleDogMCAwIDguMzMzMzMlO1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlO1xufVxuXG4vKiBvZmZzZXQgY29scyAqL1xuLmMtY29sLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzJTtcbn1cblxuLmMtY29sLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY3JTtcbn1cblxuLmMtY29sLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLmMtY29sLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjclO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY3JTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdyaWQgVmFyaWFudGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5odG1sIHtcblx0Zm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXJvb3QpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGl0bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1ib2xkKTtcbiAgICB0ZXh0LXdyYXA6YmFsYW5jZTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1kYXJrKTtcbn1cblxuaDEsXG4uYy1oMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuXHRwYWRkaW5nLWJvdHRvbTogLjVlbTtcblx0bGluZS1oZWlnaHQ6IDEuMjtcblx0Zm9udC1zaXplOiAzcmVtOyAvKiA4MHB4ICovXG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDEpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXN0YWNrLXRpdGxlKTtcbiAgICBmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC10aXRsZSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXRpdGxlKTsgICAgXG59XG5cbmgyLFxuLmMtaDIge1xuXHRwYWRkaW5nLWJvdHRvbTogLjVlbTtcblx0bGluZS1oZWlnaHQ6IDEuMztcblx0Zm9udC1zaXplOiAxLjhyZW07IC8qIDQwcHggKi9cbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMik7XG4gICAgXG59XG5cbi5jLWNyb3NzdGVhc2VyIGgyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXN0YWNrLXRpdGxlKTtcbiAgICBmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC10aXRsZSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXRpdGxlKTsgXG59XG5cbmgzLFxuLmMtaDMge1xuXHRwYWRkaW5nLWJvdHRvbTogMC4zNWVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMyk7XG59XG5cbi5jLWZvb3RlciBoMyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keSk7XG59XG5cbi5jLWNhdGVnb3J5LXRpdGxlLFxuLmMtaGlzdG9yeSBoMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1kYXJrKTtcbn1cblxuLmMtY2F0ZWdvcnktdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkpO1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG59XG5cbi5jLXRpdGxlLXByb2R1Y3Qtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbmgxOjpiZWZvcmUsXG4uYy1oMTo6YmVmb3JlLFxuLmMtY2F0ZWdvcnktdGl0bGU6OmJlZm9yZSxcbi5jLWhpc3RvcnkgaDM6OmJlZm9yZSB7XG4gICAgY29udGVudDonJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgd2lkdGg6IHZhcigtLXdpZHRoLXRpdGxlLWRlY28pO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi5jLWNhdGVnb3J5LXRpdGxlICsgaDEsXG4uYy1jYXRlZ29yeS10aXRsZSArIC5jLWgxIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLmMtY2F0ZWdvcnktdGl0bGUgKyBoMTo6YmVmb3JlLFxuLmMtY2F0ZWdvcnktdGl0bGUgKyAuYy1oMTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzaWMgVGV4dCBDb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5iLCBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItZGFyayk7XG59XG5cbi5jLWNvbnRlbnQsXG4uYy1mb290ZXIge1xuXHRsaW5lLWhlaWdodDogMS42O1xufVxuXG4uYy10ZXh0LWJsb2NrIHAsXG4uYy1mb290ZXIgcHtcblx0cGFkZGluZy1ib3R0b206IDEuNWVtO1xufVxuXG4uYy10ZWFzZXItdGV4dCBwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG59XG5cbi5jLXRleHQtYmxvY2sgcDpsYXN0LWNoaWxkLFxuLmMtdGVhc2VyLXRleHQgcDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uYy10ZXh0LWJsb2NrIHAgKyBoMixcbi5jLXRleHQtYmxvY2sgcCArIGgzLFxuLmMtdGV4dC1ibG9jayBwICsgaDQsXG4uYy10ZXh0LWJsb2NrIHVsICsgcCxcbi5jLXRleHQtYmxvY2sgdWwgKyBoMixcbi5jLXRleHQtYmxvY2sgdWwgKyBoMyxcbi5jLXRleHQtYmxvY2sgdWwgKyBoNCxcbi5jLXRleHQtYmxvY2sgdWwgKyBvbCxcbi5jLXRleHQtYmxvY2sgb2wgKyBwLFxuLmMtdGV4dC1ibG9jayBvbCArIGgyLFxuLmMtdGV4dC1ibG9jayBvbCArIGgzLFxuLmMtdGV4dC1ibG9jayBvbCArIGg0IHtcblx0cGFkZGluZy10b3A6IDEuNWVtO1xufVxuXG4uYy10ZXh0LWJsb2NrIGgzICsgLmMtY2hlY2stbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMC40NWVtO1xufVxuXG4uYy1sZWFkIHtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuXHRmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZWFkKTtcbiAgICB0ZXh0LXdyYXA6YmFsYW5jZTtcbn1cblxuLmMtbGVhZCArIC5jLWxlYWQge1xuICAgIHBhZGRpbmctdG9wOiAxLjRlbTtcbn1cblxuLmMtdGV4dC1iaWcge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktbCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1kYXJrKTtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy10ZXh0LWJpZyB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzVlbTtcbn1cblxuLmMtdGV4dC1zbWFsbCxcbi5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBjaXRlLFxuLmMtZm9vdGVyLWRpc2NsYWltZXIge1xuXHRmb250LXNpemU6IDAuNzdyZW07IC8qIDE0cHggKi9cbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpO1xufVxuXG4uYy1sZWdlbmQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy10b3A6IDFlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpO1xufVxuXG4uYy1rZXlmYWN0cy1uciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDEpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXN0YWNrLXRpdGxlKTtcbiAgICBmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC10aXRsZSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItZGFyayk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXRpdGxlKTsgXG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbn1cblxuLmMtYmFjay1saW5lIHtcbiAgICBwYWRkaW5nLXRvcDogMC43NWVtO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbn1cblxuLmMtbGluay1kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAzNHB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktcyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNpYyBMaXN0cyBDb250ZW50IFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1ibG9jayB1bCxcbi5jLXRleHQtYmxvY2sgb2wge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgMCAxLjVlbSAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpLFxuLmMtdGV4dC1ibG9jayBvbCBsaSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1sZWZ0OiAzNHB4O1xufVxuXG4uYy10ZXh0LWJsb2NrIHVsIGxpICsgbGksXG4uYy10ZXh0LWJsb2NrIG9sIGxpICsgbGkge1xuXHRtYXJnaW4tdG9wOiAwLjVlbTtcbn1cblxuLmMtdGV4dC1ibG9jayB1bCBsaTo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC43NWVtO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtdGV4dC1ibG9jayBvbCB7XG5cdGNvdW50ZXItcmVzZXQ6IGN1c3RvbS1jb3VudGVyO1xufVxuXG4uYy10ZXh0LWJsb2NrIG9sIGxpIHtcblx0Y291bnRlci1pbmNyZW1lbnQ6IGN1c3RvbS1jb3VudGVyO1xufVxuXG4uYy10ZXh0LWJsb2NrIG9sIGxpOjpiZWZvcmUge1xuXHRjb250ZW50OiBjb3VudGVyKGN1c3RvbS1jb3VudGVyKSBcIi4gXCI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMjZweDtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmMtbGluay1saXN0LFxuLmMtY2hlY2stbGlzdCxcbi5jLXNwZWNpZmljYXRpb24tbGlzdCB7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xufVxuXG4vKi5jLXRleHQtYmxvY2sgLmMtbGluay1saXN0IGxpICsgbGksXG4uYy10ZXh0LWJsb2NrIC5jLWNoZWNrLWxpc3QgbGkgKyBsaSB7XG5cdG1hcmdpbi10b3A6IDA7XG59Ki9cblxuLmMtbGluay1saXN0IGxpLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWxpc3QgbGksXG4uYy1jaGVjay1saXN0IGxpLFxuLmMtdGV4dC1ibG9jayAuYy1jaGVjay1saXN0IGxpLFxuLmMtc3BlY2lmaWNhdGlvbi1saXN0IGxpLFxuLmMtdGV4dC1ibG9jayAuYy1zcGVjaWZpY2F0aW9uLWxpc3QgbGkge1xuICAgIG1hcmdpbi10b3A6IDAuNzVlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC43NWVtO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1zcGVjaWZpY2F0aW9uLWxpc3QgbGkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZy10b3A6IDAuNzVlbTtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWxpc3QgbGk6OmJlZm9yZSxcbi5jLXRleHQtYmxvY2sgLmMtY2hlY2stbGlzdCBsaTo6YmVmb3JlLFxuLmMtdGV4dC1ibG9jayAuYy1zcGVjaWZpY2F0aW9uLWxpc3QgbGk6OmJlZm9yZSB7XG5cdHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWxpc3QgbGksXG4uYy10ZXh0LWJsb2NrIC5jLXNwZWNpZmljYXRpb24tbGlzdCBsaSB7XG5cdHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmMtY2hlY2stbGlzdCBsaSB7XG5cdHBhZGRpbmctbGVmdDogMzJweDtcbn1cblxuXG4uYy10ZXh0LWJsb2NrIC5jLWNoZWNrLWxpc3QgbGk6OmJlZm9yZSxcbi5jLWNoZWNrLWxpc3QgbGk6OmJlZm9yZXtcbiAgICBjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjM3ZW07XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDE3cHg7XG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9zcHJpdGUuc3ZnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjBweDtcbiAgICBcbn1cblxuLmMtc3BlY2lmaWNhdGlvbi1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LW0pO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXNwZWNpZmljYXRpb24tbGlzdCBsaSB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uYy1idG4tbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLWJ0bi1saXN0IGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzVlbTtcbn1cblxuLmMtYnJlYWRjcnVtYiB1bCxcbi5jLWNhdGVnb3J5LWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktcyk7XG59XG5cbi5jLWNhdGVnb3J5LWxpc3Qge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC43NWVtO1xufVxuXG4uYy1tYWluLXRpdGxlIC5jLWNhdGVnb3J5LWxpc3Qge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctYm9sZCk7XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICBwYWRkaW5nLXRvcDogMWVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWRhcmspO1xufVxuXG4uYy1icmVhZGNydW1iIGxpLFxuLmMtY2F0ZWdvcnktbGlzdCBsaXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMjZweDtcbn1cblxuLmMtYnJlYWRjcnVtYiBsaTo6YmVmb3JlLFxuLmMtY2F0ZWdvcnktbGlzdCBsaTo6YmVmb3Jle1xuICAgIGNvbnRlbnQ6ICdcXDAwN2MnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogY2FsYygxMDAlIC0gMTdweCk7XG4gICAgY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zKTtcbn1cblxuLmMtYnJlYWRjcnVtYiBsaTpsYXN0LWNoaWxkOjpiZWZvcmUsXG4uYy1jYXRlZ29yeS1saXN0IGxpOmxhc3QtY2hpbGQ6OmJlZm9yZXtcbiAgICBjb250ZW50OiAnJztcbn1cblxuLmMtYnJlYWRjcnVtYiBhOmZvY3VzLFxuLmMtYnJlYWRjcnVtYiBhOmhvdmVye1xuICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLXRlY2huaWNhbC1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAxLjVlbSAwO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkYm9yZGVyLWJhc2ljO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWJhc2ljKTtcbn1cblxuLmMtdGVjaG5pY2FsLWxpc3Q6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLXRlY2huaWNhbC1saXN0IGR0LFxuLmMtdGVjaG5pY2FsLWxpc3QgZGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMTBweCAwLjc1ZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3ItZGFyayk7XG59XG5cbi5jLXRlY2huaWNhbC1saXN0IGR0IHtcbiAgICBmbGV4OiAwIDAgY2FsYygzMy4zMzMzMyUgKyB2YXIoLS1ncmlkLWNvbnRhaW5lcikpO1xuICAgIG1heC13aWR0aDogY2FsYygzMy4zMzMzMyUgKyB2YXIoLS1ncmlkLWNvbnRhaW5lcikpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctYm9sZCk7XG59XG5cbi5jLXRlY2huaWNhbC1saXN0IGRkIHtcbiAgICBmbGV4OiAwIDAgY2FsYyg2Ni42NjY2NyUgLSB2YXIoLS1ncmlkLWNvbnRhaW5lcikpO1xuICAgIG1heC13aWR0aDogY2FsYyg2Ni42NjY2NyUgLSB2YXIoLS1ncmlkLWNvbnRhaW5lcikpO1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFF1b3RlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgMCAwIDMycHg7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nLWJvcmRlci1sZWZ0KTtcbiAgICBib3JkZXItbGVmdDogc29saWQgM3B4IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAwO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRmb250LXNpemU6IDEuOHJlbTsgLyogMzZweCAqL1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXF1b3RlKTtcbiAgICB0ZXh0LXdyYXA6YmFsYW5jZTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zdGFjay10aXRsZSk7XG4gICAgZm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtdGl0bGUpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWRhcmspO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy10aXRsZSk7IFxufVxuXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDEuMjVlbSAwIDAuMjVlbSAwO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHQgaGVscGVyc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1yaWdodCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYy10ZXh0LWNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmMtdGV4dC1saWdodCB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0IHNpemVzIHJlc3BvbnNpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMzYwcHgpIHtcblx0aDEsIC5jLWgxLFxuXHRoMiwgLmMtaDIsXG5cdGgzLCAuYy1oM3tcblx0XHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXHRcdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0XHRoeXBoZW5zOiBhdXRvO1xuICAgICAgICBcbiAgICAgICAgLXdlYmtpdC1oeXBoZW5hdGUtbGltaXQtYmVmb3JlOiAzOyAvKiBGb3IgU2FmYXJpICovXG4gICAgICAgIC13ZWJraXQtaHlwaGVuYXRlLWxpbWl0LWFmdGVyOiA0OyAvKiBGb3IgU2FmYXJpICovXG4gICAgICAgIGh5cGhlbmF0ZS1saW1pdC1jaGFyczogMTAgMyA0O1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNjAwcHgpIHtcdCAgICBcbiAgICA6cm9vdCB7XG4gICAgICAgIC0tZm9udC1zaXplLXJvb3Q6IDE5cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTQwMHB4KSB7XHQgICAgXG4gICAgOnJvb3Qge1xuICAgICAgICAtLWZvbnQtc2l6ZS1oMTogMi40cmVtOyBcbiAgICAgICAgLS1mb250LXNpemUtaDI6IDEuNnJlbTsgXG4gICAgICAgIC8qLS1mb250LXNpemUtaDM6IDEuMnJlbTsqL1xuICAgICAgICAvKi0tZm9udC1zaXplLWxlYWQ6IDEuMnJlbTsqL1xuICAgICAgICAtLWZvbnQtc2l6ZS1xdW90ZTogMS42cmVtO1xuICAgICAgICAtLWZvbnQtc2l6ZS1ib2R5LWw6IDEuNnJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5ODBweCkge1x0ICAgIFxuICAgIDpyb290IHtcbiAgICAgICAgLS1mb250LXNpemUtaDE6IDIuMnJlbTsgXG4gICAgICAgIC0tZm9udC1zaXplLWgyOiAxLjRyZW07IFxuICAgICAgICAvKi0tZm9udC1zaXplLWgzOiAxLjJyZW07XG4gICAgICAgIC0tZm9udC1zaXplLWxlYWQ6IDEuMnJlbTsqL1xuICAgICAgICAtLWZvbnQtc2l6ZS1xdW90ZTogMS40cmVtO1xuICAgICAgICAtLWZvbnQtc2l6ZS1ib2R5LWw6IDEuNHJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkge1x0ICAgIFxuICAgIDpyb290IHtcbiAgICAgICAgLS1mb250LXNpemUtcm9vdDogMTZweDtcbiAgICAgICAgLS1mb250LXNpemUtaDE6IDJyZW07IFxuICAgICAgICAtLWZvbnQtc2l6ZS1oMjogMS40cmVtO1xuICAgICAgICAtLWZvbnQtc2l6ZS1oMzogMS4xMjVyZW07XG4gICAgICAgIC0tZm9udC1zaXplLWxlYWQ6IDEuMjVyZW07XG4gICAgICAgIC0tZm9udC1zaXplLXF1b3RlOiAxLjRyZW07XG4gICAgICAgIC0tZm9udC1zaXplLWJvZHk6IDFyZW07XG4gICAgICAgIC0tZm9udC1zaXplLWJvZHktbDogMS40cmVtO1xuICAgICAgICAtLWZvbnQtc2l6ZS1ib2R5LW06IDEuMTI1cmVtO1xuICAgICAgICAtLWZvbnQtc2l6ZS1ib2R5LXM6IDAuODc1cmVtO1xuICAgIH1cbiAgICBcbiAgICBcbiAgICAuYy1icmVhZGNydW1iIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjJweDtcbiAgICB9XG4gICAgXG4gICAgLmMtYnJlYWRjcnVtYiBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIFxuICAgIC5jLWJyZWFkY3J1bWIgbGk6Zmlyc3QtY2hpbGQgYTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvc3ByaXRlLnN2Zyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgIHRvcDo1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MjBweDtcbiAgICB9XG4gICAgXG4gICAgLmMtYnJlYWRjcnVtYiBsaTpmaXJzdC1jaGlsZCBhOmhvdmVyOjpiZWZvcmUsXG4gICAgLmMtYnJlYWRjcnVtYiBsaTpmaXJzdC1jaGlsZCBhOmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtNDIwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDIwcHgpIHtcdCAgICBcbiAgICAuYy1rZXlmYWN0cyB7XG4gICAgICAgIC0tZm9udC1zaXplLWgxOiAxLjRyZW07IFxuICAgICAgICAtLWZvbnQtc2l6ZS1ib2R5OiAwLjg3NXJlbTtcbiAgICB9XG59XG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWhlYWRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuXHR6LWluZGV4OiAxMDtcbn1cblxuLmMtaGVhZGVyLWlubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblx0aGVpZ2h0OiAxMTBweDtcbiAgICBoZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWZsb3c6IHJvdztcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cblxuLmMtaGVhZGVyLWxvZ28sXG4uYy1mb290ZXItbG9nbyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDQwMHB4O1xuXHRoZWlnaHQ6IDY2cHg7XG59XG5cbi5jLWhlYWRlci1sb2dvIGEge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtaGVhZGVyLXN0aWNreXtcblx0cG9zaXRpb246IGZpeGVkO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgbGFuZyBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWhlYWRlci1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3c7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW5hdik7XG59XG5cblxuXG4vKiBXUE1MIGxlZ2FjeSBzdHlsZXMgYWRkIHRoZWlyIG93biBib3ggbW9kZWwsIHdoaWNoIGJyZWFrcyBoZWFkZXIgYWxpZ25tZW50LiAqL1xuLmMtaGVhZGVyLWxhbmcud3BtbC1scy1sZWdhY3ktbGlzdC1ob3Jpem9udGFsIHtcblx0Ym9yZGVyOiAwO1xuXHRjbGVhcjogbm9uZTtcblx0cGFkZGluZzogMDtcbn1cblxuLmMtaGVhZGVyLWxhbmcud3BtbC1scy1sZWdhY3ktbGlzdC1ob3Jpem9udGFsIC5jLWhlYWRlci1sYW5nLWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgMCAwIDNlbTtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtaGVhZGVyLWxhbmcud3BtbC1scy1sZWdhY3ktbGlzdC1ob3Jpem9udGFsIC5jLWhlYWRlci1sYW5nLWxpc3QgbGkge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLWhlYWRlci1sYW5nLWxpc3QgbGksXG4uYy1oZWFkZXItbGFuZy53cG1sLWxzLWxlZ2FjeS1saXN0LWhvcml6b250YWwgLmMtaGVhZGVyLWxhbmctbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmMtaGVhZGVyLWxhbmctbGlzdCBsaSArIGxpLFxuLmMtaGVhZGVyLWxhbmcud3BtbC1scy1sZWdhY3ktbGlzdC1ob3Jpem9udGFsIC5jLWhlYWRlci1sYW5nLWxpc3QgbGkgKyBsaXtcblx0cGFkZGluZy1sZWZ0OiAwLjc1ZW07XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgbWFpbiBuYXYgXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1tYWluLW5hdiB7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctYm9sZCk7XG59XG5cbi5jLW1haW4tbmF2LWxpc3Qge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgbGkge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jLW1haW4tbmF2LWxpc3QgbGkgKyBsaSB7XG5cdHBhZGRpbmctbGVmdDogMWVtO1xufVxuXG5cbi5jLW1haW4tbmF2LWxpc3QgYSxcbi5jLWhlYWRlci1sYW5nLWxpc3QgYSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAwLjVlbSAwO1xufVxuXG4uYy1oZWFkZXItbGFuZy1saXN0IGEge1xuXHRmb250LXdlaWdodDogMzAwO1xufVxuXG4uYy1oZWFkZXItbGFuZy53cG1sLWxzLWxlZ2FjeS1saXN0LWhvcml6b250YWwgLmMtaGVhZGVyLWxhbmctbGlzdCBhIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHRwYWRkaW5nOiAwLjVlbSAwO1xufVxuXG5cbi5jLW1haW4tbmF2LWxpc3QgYTo6YmVmb3JlLFxuLmMtaGVhZGVyLWxhbmctbGlzdCBhOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDA7XG5cdGhlaWdodDogM3B4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbn1cblxuLmMtbWFpbi1uYXYtbGlzdCBhOmZvY3VzOjpiZWZvcmUsXG4uYy1tYWluLW5hdi1saXN0IGE6aG92ZXI6OmJlZm9yZSxcbi5jLW1haW4tbmF2LWxpc3QgLmN1cnJlbnQtbWVudS1pdGVtIGE6OmJlZm9yZSxcbi5jLWhlYWRlci1sYW5nLWxpc3QgYTpmb2N1czo6YmVmb3JlLFxuLmMtaGVhZGVyLWxhbmctbGlzdCBhOmhvdmVyOjpiZWZvcmUsXG4uYy1oZWFkZXItbGFuZy1saXN0IC53cG1sLWxzLWN1cnJlbnQtbGFuZ3VhZ2UgYTo6YmVmb3Jle1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmMtaGVhZGVyLWxhbmctbGlzdCAud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlIGEge1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9vdGVyIHtcblx0cGFkZGluZy10b3A6ICRzcGFjaW5nLWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXM7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWRhcms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG59XG5cbi5jLWZvb3Rlci1kZWNvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogNTAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLWZvb3Rlci1kZWNvOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvbG9nby1pY29uLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMjIwcHggMTIyMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgIG9wYWNpdHk6IDAuMTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERpc2NsYWltZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyIHtcblx0cGFkZGluZy10b3A6IDEuNWVtO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0LFxuLmMtZm9vdGVyLWxpbmstbGlzdCxcbi5jLWZvb3Rlci1zb2NpYWwtbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCBsaSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmMtZm9vdGVyLWRpc2NsYWltZXItbGlzdCA+IGxpICsgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDEuNWVtO1xufVxuXG5cbi5jLWZvb3Rlci1saW5rLWxpc3QgbGkgKyBsaXtcblx0cGFkZGluZy10b3A6IDAuMjVlbTtcbn1cblxuXG4uYy1mb290ZXItc29jaWFsLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1mb290ZXItc29jaWFsLWxpc3QgbGkge1xuICAgIHBhZGRpbmc6IDAuNWVtIDhweCAwLjVlbSAwO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lciBhOmZvY3VzLFxuLmMtZm9vdGVyLWRpc2NsYWltZXIgYTpob3Zlcixcbi5jLWZvb3Rlci1saW5rLWxpc3QgYTpmb2N1cyxcbi5jLWZvb3Rlci1saW5rLWxpc3QgYTpob3Zlcixcbi5jLWZvb3Rlci1tYWluLWluZm8gYTpmb2N1cyxcbi5jLWZvb3Rlci1tYWluLWluZm8gYTpob3ZlciB7XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIHRyaWdnZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRkaXNwbGF5OiBibG9jaztcblx0dG9wOiAxMHB4O1xuXHRyaWdodDogJGdyaWQtY29udGFpbmVyO1xuICAgIHJpZ2h0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG5cdHdpZHRoOiA1MHB4O1xuXHRoZWlnaHQ6IDUwcHg7XG5cdG1hcmdpbjogMDtcblx0Y29sb3I6IHRyYW5zcGFyZW50O1xuXHR0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlcjo6YmVmb3Jle1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9zcHJpdGUuc3ZnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDowO1xufVxuXG4uYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuOjpiZWZvcmUge1xuICAgIHdpZHRoOiAzMXB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBtYXJnaW4tdG9wOiAtMTNweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zODBweDtcbn1cblxuXG5cbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46Zm9jdXM6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy10cmlnZ2VyLW9wZW46aG92ZXI6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC0zODBweDtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItY2xvc2U6OmJlZm9yZSB7ICAgIFxuXHR3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgbWFyZ2luLXRvcDogLTE3cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1MHB4IC0zMDBweDtcbn1cblxuLmMtb2ZmY2FudmFzLXRyaWdnZXItY2xvc2U6Zm9jdXM6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy10cmlnZ2VyLWNsb3NlOmhvdmVyOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAwcHggLTMwMHB4O1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPZmZjYW52YXMgbmF2IG1haW4gY29udGFpbmVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1vZmZjYW52YXMtbmF2IHtcblx0LypkaXNwbGF5OiBub25lOyovXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGFyaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1kYXJrKTtcblx0Y29sb3I6IHZhcigtLXRleHQtY29sb3ItbGlnaHQpO1xuXHR6LWluZGV4OiAxMDtcblx0d2lkdGg6IDA7XG5cdGhlaWdodDogMDtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0dHJhbnNpdGlvbjogaGVpZ2h0IC4ycyBlYXNlLW91dCAwcztcbn1cbiNvcGVuLW5hdmlnYXRpb24ubmF2aWdhdGlvbiAuYy1vZmZjYW52YXMtbmF2XG4jb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KSAuYy1vZmZjYW52YXMtbmF2IHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jLW9mZmNhbnZhcy1pbm5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIENvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1vZmZjYW52YXMtY29udGVudCB7XG5cdHBhZGRpbmctdG9wOiAxLjVlbTtcbn1cblxuLmMtb2ZmY2FudmFzLWxhbmcgLmMtaGVhZGVyLWxhbmctbGlzdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uYy1vZmZjYW52YXMtbGFuZyAuYy1oZWFkZXItbGFuZy1saXN0IGxpICsgbGkge1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVlbTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IHtcblx0bWFyZ2luOiAyZW0gMCAwIDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDIpO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCB2YXIoLS1ib3JkZXItYmFzaWMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctYm9sZCk7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCB1bCB7XHRcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IGxpIHtcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgMXB4IHZhcigtLWJvcmRlci1iYXNpYyk7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCB1bCBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IHVsIGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IGEge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAwLjc1ZW07XG5cdHBhZGRpbmctYm90dG9tOiAwLjc1ZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IHVsIGEsXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgLmN1cnJlbnQtbWVudS1pdGVtIGEge1xuXHRwYWRkaW5nLWxlZnQ6IDMycHg7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCAuY3VycmVudC1tZW51LWl0ZW0gYSB7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctYm9sZCk7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBhOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9zcHJpdGUuc3ZnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB3aWR0aDogMTFweDtcbiAgICBoZWlnaHQ6IDIxcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogLTIwcHg7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzQwcHg7XG59XG5cbi5jLW9mZmNhbnZhcy1uYXYtbGlzdCBhOmZvY3VzOjpiZWZvcmUsXG4uYy1vZmZjYW52YXMtbmF2LWxpc3QgYTpob3Zlcjo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLW5hdi1saXN0IC5jdXJyZW50LW1lbnUtaXRlbSBhOjpiZWZvcmV7XG5cdGxlZnQ6IDFweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBhY2NvcmRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW9mZmNhbnZhcy1tZW51LWNoZWNrIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAtOTk5OXB4O1xufVxuXG4uYy1vZmZjYW52YXMtbWVudS10aXRsZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuICAgIC8qcGFkZGluZzogMC43NWVtIDhweDsqL1xuICAgIHBhZGRpbmc6IDAuNzVlbSAzMHB4IDAuNzVlbSAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7ICAgIFxufVxuXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgIC5jLW9mZmNhbnZhcy1tZW51LXRpdGxlIHtcbiAgICAgICBwYWRkaW5nOiAwLjc1ZW0gMzBweCAwLjc1ZW0gMDtcbiAgICB9XG59XG5cbi5jLW9mZmNhbnZhcy1tZW51LWNoZWNrOmNoZWNrZWQrbGFiZWw6OmJlZm9yZSxcbi5jLW9mZmNhbnZhcy1tZW51LWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZXtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL3Nwcml0ZS5zdmcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ2MHB4O1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTJweCk7XG4gICAgcmlnaHQ6IDhweDtcbn1cblxuLmN1cnJlbnQtbWVudS1wYXJlbnQgLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YmVmb3JlLFxuLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6Y2hlY2tlZCtsYWJlbDo6YmVmb3Jle1xuICAgXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAtNDYwcHg7XG59XG5cbi5jLW9mZmNhbnZhcy1tZW51LWNoZWNrOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDYwcHg7XG59XG5cbi5jLW9mZmNhbnZhcy1tZW51LWNvbnRlbnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgY3ViaWMtYmV6aWVyKDAsMSwwLDEpO1xufSAgICBcblxuLmN1cnJlbnQtbWVudS1wYXJlbnQgLmMtb2ZmY2FudmFzLW1lbnUtY2hlY2s6Y2hlY2tlZCB+IC5jLW9mZmNhbnZhcy1tZW51LWNvbnRlbnQsXG4uYy1vZmZjYW52YXMtbWVudS1jaGVjazpjaGVja2VkIH4gLmMtb2ZmY2FudmFzLW1lbnUtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogOTk5OXB4O1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBjdWJpYy1iZXppZXIoMSwwLDEsMCk7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBuYXYgb3BlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNvcGVuLW5hdmlnYXRpb24ub3BlbixcbiNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbiNvcGVuLW5hdmlnYXRpb24ub3BlbixcbiNvcGVuLW5hdmlnYXRpb246dGFyZ2V0IHtcblx0LmMtb2ZmY2FudmFzLW5hdiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDB2aDtcblx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHR9XG5cdFxuXHQuYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59IiwiXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1iZy1saWdodCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1saWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1saWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFNob3dyb29tXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1zaG93cm9vbSB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XG59XG5cbi5jLXNob3dyb29tLFxuLmMtc2hvd3Jvb20tdGV4dCAuYy1yb3cge1xuXHRtaW4taGVpZ2h0OiBjYWxjKDgwdmggLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSk7IFxufVxuXG5cbi8qIG1pbi1oZWlnaHQgZml4IGZvciBpZTExICovXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgXHQuYy1zaG93cm9vbS10ZXh0IC5jLXJvdzphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0LypkaXNwbGF5OiBibG9jazsqL1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtaW4taGVpZ2h0OiBpbmhlcml0O1xuXHRcdGZvbnQtc2l6ZTogMDtcblx0fVxufVxuXG5cbi5jLXNob3dyb29tLWltZyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi5jLXNob3dyb29tLWltZyBpbWcsXG4uYy1zaG93cm9vbS1pbWcgdmlkZW8ge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgVGVhc2VyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5jLXRlYXNlci1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1ncm93OiAxO1xufVxuXG4uYy10ZWFzZXItbGluazo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy10ZWFzZXItaXRlbTo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yIGVhc2Utb3V0O1xufVxuXG4vKlxuLmMtdGVhc2VyLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYyh2YXIoLS1ncmlkLWNvbCkgKiAtMSk7XG4gICAgbGVmdDogY2FsYyh2YXIoLS1ncmlkLWNvbCkgKiAtMSk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLWdyaWQtY29udGFpbmVyKSk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyB2YXIoLS1ncmlkLWNvbnRhaW5lcikpO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tLWJvcmRlci1iYXNpYyk7XG59XG5cbi5jLXRlYXNlci1pdGVtOmZvY3VzLXdpdGhpbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKHZhcigtLWdyaWQtY29sKSAqIC0xKTtcbiAgICBsZWZ0OiBjYWxjKHZhcigtLWdyaWQtY29sKSAqIC0xKTtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgdmFyKC0tZ3JpZC1jb250YWluZXIpKTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIHZhcigtLWdyaWQtY29udGFpbmVyKSk7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xufSovXG5cblxuLmMtdGVhc2VyIC5jLWNvbC00LCBcbi5jLXRlYXNlciAuYy1jb2wtNiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xufVxuXG4uYy10ZWFzZXItdGV4dCB7XG4gICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1zKTtcbn1cblxuLmMtdGVhc2VyLWNhdGVnb3J5IC5jLXRlYXNlci1pdGVtIC5jLWJ0bi10ZWFzZXIsXG4uYy10ZWFzZXItbmV3cyAuYy10ZWFzZXItaXRlbSAuYy1idG4tdGVhc2VyLFxuLmMtdGVhc2VyLW5ld3MgLmMtdGVhc2VyLWl0ZW0gLmMtbGluay1pY29uIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmMtdGVhc2VyLWNhdGVnb3J5LWltZyBpbWcsXG4uYy10ZWFzZXItcHJvZHVjdC1pbWcgaW1nLFxuLmMtdGVhc2VyLW5ld3MtaW1nIGltZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5jLXRlYXNlci1jYXRlZ29yeSAuYy10ZWFzZXItaXRlbTpob3ZlciAuYy10ZWFzZXItY2F0ZWdvcnktaW1nIGltZyxcbi5jLXRlYXNlci1uZXdzIC5jLXRlYXNlci1pdGVtOmhvdmVyIC5jLXRlYXNlci1uZXdzLWltZyBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG59XG5cbi5jLXRlYXNlci1jYXRlZ29yeSAuYy10ZWFzZXItaXRlbTpmb2N1cy13aXRoaW4gLmMtdGVhc2VyLWNhdGVnb3J5LWltZyBpbWcsXG4uYy10ZWFzZXItbmV3cyAuYy10ZWFzZXItaXRlbTpmb2N1cy13aXRoaW4gLmMtdGVhc2VyLW5ld3MtaW1nIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbn1cblxuLmMtdGVhc2VyLWl0ZW06aG92ZXIgLmMtdGVhc2VyLXByb2R1Y3QtaW1nIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbn1cblxuLmMtdGVhc2VyLWl0ZW06Zm9jdXMtd2l0aGluIC5jLXRlYXNlci1wcm9kdWN0LWltZyBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG59XG5cbi5jLXRlYXNlci1pdGVtOmhvdmVyIC5jLXRlYXNlci1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtdGVhc2VyLWl0ZW06Zm9jdXMtd2l0aGluIC5jLXRlYXNlci1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtdGVhc2VyLXByb2R1Y3QtaW1nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1saWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFRleHQgMyBjb2xcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXRleHQtM2NvbCAuYy1jb2wtNCxcbi5jLXRleHQtM2NvbC1ib3ggLmMtY29sLTQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbjtcbn1cblxuLmMtbGluZS1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggJGJvcmRlci1iYXNpYztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkZGluZy1ib3JkZXItbGVmdCk7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLmMtaW1nLWljb24ge1xuICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG59XG5cbi5jLWJveCB7XG4gICAgcGFkZGluZzogMi41ZW0gNTRweCAzZW0gNTRweDtcbiAgICBwYWRkaW5nOiB2YXIoLS1wYWRkaW5nLWJveCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLmMtdGV4dC0zY29sLWJveCAuYy1jb2wtNDpmaXJzdC1jaGlsZCAuYy1saW5lLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuXG4uYy10ZXh0LTNjb2wtYm94IC5jLWNvbC00IHtcbiAgICBmbGV4OiAwIDAgY2FsYygzMy4zMzMzMyUgKyAodmFyKC0tcGFkZGluZy1ib3JkZXItbGVmdCkgLyAyKSk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDMzLjMzMzMzJSArICh2YXIoLS1wYWRkaW5nLWJvcmRlci1sZWZ0KSAvIDIpKTtcbn1cblxuLmMtdGV4dC0zY29sLWJveCAuYy1jb2wtNDpmaXJzdC1jaGlsZHtcbiAgICBmbGV4OiAwIDAgY2FsYygzMy4zMzMzMyUgLSB2YXIoLS1wYWRkaW5nLWJvcmRlci1sZWZ0KSk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIHZhcigtLXBhZGRpbmctYm9yZGVyLWxlZnQpKTtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIGxpbmstbGlzdCBtdWx0aWNvbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXRlYXNlci1saW5rLWxpc3QsXG4uYy1zcGVjaWZpY2F0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1saWdodCk7XG59XG5cbi5jLXRleHQtbGluay1saXN0IC5jLWNvbC04LFxuLmMtdGV4dC1saW5rLWxpc3QgLmMtY29sLTkge1xuICAgIGNvbnRhaW5lci1uYW1lOiBsaW5rLWxpc3QtbXVsdGljb2w7XG4gICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbkBjb250YWluZXIgbGluay1saXN0LW11bHRpY29sIChtaW4td2lkdGg6IDU0MHB4KSB7XG4gICAgLmMtbGluay1saXN0LFxuICAgIC5jLXRleHQtYmxvY2sgLmMtbGluay1saXN0eyBcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ3JpZC1yb3cpO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ3JpZC1yb3cpO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS1ncmlkLWNvbnRhaW5lcikpO1xuICAgICAgfVxuICAgIFxuICAgIC5jLWxpbmstbGlzdCBsaTpudGgtY2hpbGQoMSksICAgIFxuICAgIC5jLWxpbmstbGlzdCBsaTpudGgtY2hpbGQoMil7IFxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMC43NWVtO1xuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggdmFyKC0tYm9yZGVyLWJhc2ljKTtcbiAgICAgIH1cbiAgICBcbiAgLmMtbGluay1saXN0IGxpIHsgXG4gICAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSB2YXIoLS1ncmlkLWNvbnRhaW5lcikpO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLWdyaWQtY29udGFpbmVyKSk7XG4gICAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbCk7ICAgIFxuICAgICAgXG4gIH1cbn1cblxuLmMtc3BlY2lmaWNhdGlvbiAuYy1jb2wtOSB7XG4gICAgY29udGFpbmVyLW5hbWU6IHNwZWNpZmljYXRpb24tbXVsdGljb2w7XG4gICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXNwZWNpZmljYXRpb24tbGlzdCBsaTpudGgtY2hpbGQoMSl7IFxuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCB2YXIoLS1ib3JkZXItYmFzaWMpO1xufVxuXG5AY29udGFpbmVyIHNwZWNpZmljYXRpb24tbXVsdGljb2wgKG1pbi13aWR0aDogNTQwcHgpIHtcbiAgICAuYy1zcGVjaWZpY2F0aW9uLWxpc3QsXG4gICAgLmMtdGV4dC1ibG9jayAuYy1zcGVjaWZpY2F0aW9uLWxpc3Qge1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ3JpZC1yb3cpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLWdyaWQtY29udGFpbmVyKSk7XG4gICAgfVxuICAgIFxuICAuYy1zcGVjaWZpY2F0aW9uLWxpc3QgbGk6bnRoLWNoaWxkKDEpLFxuICAuYy1zcGVjaWZpY2F0aW9uLWxpc3QgbGk6bnRoLWNoaWxkKDIpeyBcbiAgICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4IHZhcigtLWJvcmRlci1iYXNpYyk7XG4gICAgICBcbiAgfVxuICAgIFxuICAuYy1zcGVjaWZpY2F0aW9uIGxpIHsgXG4gICAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSB2YXIoLS1ncmlkLWNvbnRhaW5lcikpO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLWdyaWQtY29udGFpbmVyKSk7XG4gICAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ncmlkLWNvbCk7ICAgICAgXG4gIH1cbn1cblxuQGNvbnRhaW5lciBzcGVjaWZpY2F0aW9uLW11bHRpY29sIChtaW4td2lkdGg6IDY1MHB4KSB7XG4gICAgLmMtc3BlY2lmaWNhdGlvbi1saXN0LFxuICAgIC5jLXRleHQtYmxvY2sgLmMtc3BlY2lmaWNhdGlvbi1saXN0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ncmlkLXJvdyk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS1ncmlkLWNvbnRhaW5lcikpO1xuICAgIH1cbiAgICBcbiAgLmMtc3BlY2lmaWNhdGlvbi1saXN0IGxpOm50aC1jaGlsZCgxKSxcbiAgLmMtc3BlY2lmaWNhdGlvbi1saXN0IGxpOm50aC1jaGlsZCgyKSxcbiAgLmMtc3BlY2lmaWNhdGlvbi1saXN0IGxpOm50aC1jaGlsZCgzKXsgXG4gICAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCB2YXIoLS1ib3JkZXItYmFzaWMpO1xuICAgICAgXG4gIH1cbiAgICBcbiAgLmMtc3BlY2lmaWNhdGlvbiBsaSB7IFxuICAgICAgZmxleDogMCAwIGNhbGMoMzMuMzMzMzMlIC0gdmFyKC0tZ3JpZC1jb250YWluZXIpKTtcbiAgICAgIG1heC13aWR0aDogY2FsYygzMy4zMzMzMyUgLSB2YXIoLS1ncmlkLWNvbnRhaW5lcikpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ3JpZC1jb2wpOyAgICAgIFxuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIHRlYXNlciBjdGEgLyBjcm9zc3RlYXNlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGVhc2VyLWN0YSxcbi5jLWNyb3NzdGVhc2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jdGEpO1xufVxuXG4uYy1jcm9zc3RlYXNlciAuYy1jb2wtNDo6YmVmb3JlIHtcbiAgICBjb250ZW50OicnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogdmFyKC0tZ3JpZC1yb3cpO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xufVxuXG4uYy1jcm9zc3RlYXNlciAuYy1jb2wtNDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOm5vbmU7XG59XG5cbi5jLWNyb3NzdGVhc2VyLWl0ZW0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIHByb2R1Y3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXByb2R1Y3QtaW1nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1saWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4uYy1tYWluLXRpdGxlLXByb2R1Y3QtaW1nIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmctbCkgKiAtMSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFByb2R1Y3QgRmlsdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1maWx0ZXItcHJvZHVjdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctbGlnaHQpO1xufVxuXG4uYy1maWx0ZXItbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMCAwLjVlbSAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4IHZhcigtLWJvcmRlci1iYXNpYyk7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHZhcigtLWJvcmRlci1iYXNpYyk7XG59XG5cbi5jLWZpbHRlci1saXN0IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xufVxuXG4uYy1mb3JtLWZpbHRlciAuYy1mb3JtLWl0ZW0uaXMtZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IC40Mjtcbn1cblxuLmMtZm9ybS1maWx0ZXIgLmMtZm9ybS1pdGVtLmlzLWRpc2FibGVkIGxhYmVsIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uYy1maWx0ZXItcHJvZHVjdC5pcy1sb2FkaW5nLFxuW2RhdGEtcHJvZHVjdC1yZXN1bHRzXS5pcy1sb2FkaW5nIHtcbiAgICBvcGFjaXR5OiAuNjI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jLWZpbHRlci10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmMtZmlsdGVyLXRyaWdnZXIgaDIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYy1maWx0ZXItdHJpZ2dlci1vcGVuLFxuLmMtZmlsdGVyLXRyaWdnZXItY2xvc2Uge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uYy1maWx0ZXItdHJpZ2dlci1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtZmlsdGVyLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLWZvcm0tZmlsdGVyIC5jLXJvdyB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbCk7XG59XG5cbi5jLWZvcm0tZmlsdGVyIC5jLXJvdzpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1tKTtcbn1cblxuXG4jYy1maWx0ZXItb3Blblt0eXBlPVwiY2hlY2tib3hcIl17XG5cdFxuXHRkaXNwbGF5OiBub25lO1xuXG5cdFxuXHQmOmNoZWNrZWQgfiAuYy1maWx0ZXItdHJpZ2dlciAuYy1maWx0ZXItdHJpZ2dlci1jbG9zZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XHRcdFxuXHR9XG5cdFxuXHQmOmNoZWNrZWQgfiAuYy1maWx0ZXItY29udGVudHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXHRcblx0JjpjaGVja2VkIH4gLmMtZmlsdGVyLXRyaWdnZXIgLmMtZmlsdGVyLXRyaWdnZXItb3BlbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4uYy1maWx0ZXItcHJvZHVjdCAuYy1jb2wtOSB7XG4gICAgY29udGFpbmVyLW5hbWU6IGZpbHRlci1tdWx0aWNvbDtcbiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG59XG5cbkBjb250YWluZXIgZmlsdGVyLW11bHRpY29sIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgLmMtZmlsdGVyLWxpc3QgbGkge1xuICAgICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIGtleWZhY3RzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMta2V5ZmFjdHMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWxpZ2h0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5KTtcbn1cblxuLmMta2V5ZmFjdHMtaXRlbSB7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICRib3JkZXItYmFzaWM7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItYmFzaWMpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICB0ZXh0IGNoZWNrbGlzdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtdGV4dC1jaGVja2xpc3QtMmNvbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctbGlnaHQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBrbm93IGhvd1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5cbi5jLWtub3dob3ctdGV4dCB7XG4gICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgbWFwXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1tYXAtaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDY2dmg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctbGlnaHQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59IFxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBoaXN0b3J5IFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGlzdG9yeTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA2cHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG59XG5cbi5jLWhpc3RvcnkgLmMtY29sLTYge1xuICAgIG1hcmdpbi1yaWdodDogNTAlO1xufVxuXG4uYy1oaXN0b3J5IC5jLWNvbC02Om50aC1jaGlsZChldmVuKSAge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xufVxuXG4uYy1oaXN0b3J5LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nLWhpc3RvcnkpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWwpO1xufVxuXG4uYy1oaXN0b3J5IC5jLWNvbC02Omxhc3QtY2hpbGQgLmMtaGlzdG9yeS1pdGVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtaGlzdG9yeS1pdGVtOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS1ncmlkLWNvbCkpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvcmRlci1iYXNpYyk7XG59XG5cbi5jLWhpc3RvcnktaXRlbTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTZweDtcbiAgICByaWdodDogY2FsYygodmFyKC0tZ3JpZC1jb2wpICsgNnB4KSAqIC0xKTtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi5jLWhpc3RvcnkgLmMtY29sLTY6bnRoLWNoaWxkKGV2ZW4pIC5jLWhpc3RvcnktaXRlbSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctaGlzdG9yeSk7XG59XG5cbi5jLWhpc3RvcnkgLmMtY29sLTY6bnRoLWNoaWxkKGV2ZW4pIC5jLWhpc3RvcnktaXRlbTo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4uYy1oaXN0b3J5IC5jLWNvbC02Om50aC1jaGlsZChldmVuKSAuYy1oaXN0b3J5LWl0ZW06OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBjYWxjKCh2YXIoLS1ncmlkLWNvbCkgKyA2cHgpICogLTEpO1xufVxuXG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIENvb2tpZSBub3RpY2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWNvb2tpZS1ub3RpY2V7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG5cdHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMzBweDtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgcGFkZGluZzogMS41cmVtIDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWxpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWxpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweCAwIDAgNnB4O1xuICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4xKSAwcHggMHB4IDNweCAzcHg7XG4gICAgY29udGFpbmVyLW5hbWU6IGNvb2tpZS1ub3RpY2U7XG4gICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWNvb2tpZS1ub3RpY2UtbGlzdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtY29va2llLW5vdGljZS1saXN0IGxpOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWNvb2tpZS1ub3RpY2UtbGlzdCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNWVtIDAuNWVtIDAgMDtcbn1cblxuQGNvbnRhaW5lciBjb29raWUtbm90aWNlIChtYXgtd2lkdGg6IDUwMHB4KSB7ICBcbiAgICAuYy10ZXh0LWJsb2NrIC5jLWNvb2tpZS1ub3RpY2UtbGlzdCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBcblx0LmMtY29va2llLW5vdGljZSAuYy1idG4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpIHsgICAgXG5cdC5jLWNvb2tpZS1ub3RpY2Uge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJvdHRvbTogMDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpbmsgY29sb3JzIGFuZCBzdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmFbaHJlZl49XCJ0ZWw6XCJdIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYy10ZXh0LWJsb2NrIGEge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCRjb2xvci1oaWdobGlnaHQgMCUsJGNvbG9yLWhpZ2hsaWdodCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHZhcigtLWNvbG9yLWhpZ2hsaWdodCkgMCUsdmFyKC0tY29sb3ItaGlnaGxpZ2h0KSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZTogM3B4IDNweDtcbiAgXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xcztcbn1cblxuLmMtdGV4dC1ibG9jayBhOmZvY3VzLFxuLmMtdGV4dC1ibG9jayBhOmhvdmVyIHtcblx0YmFja2dyb3VuZC1zaXplOiA2cHggNnB4O1xufVxuXG4uYy10ZXh0LWJsb2NrIC5jLWJ0bixcbi5jLXRleHQtYmxvY2sgLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgc2tpcCBsaW5rXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1za2lwLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7ICAgIFxuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwIDAsIDAgMCwgMCAwLCAwIDApO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDAgMCwgMCAwLCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAxcHg7ICBcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAgICBcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyBcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMC41ZW0gMjBweDtcbn1cblxuLmMtc2tpcC1saW5rOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY2xpcDogYXV0bztcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBhdXRvOyAgICBcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJ1dHRvbiBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWJ0bixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXXtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwLjhlbSA0MHB4IDAuOGVtIDQwcHg7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBib3JkZXI6IHNvbGlkIDNweCB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyAgXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5KTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctYm9sZCk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLXRleHQtYmxvY2sgLmMtYnRue1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xufVxuXG4uYy1idG4sXG4uYy1idG46dmlzaXRlZCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWJ0bjpob3ZlciwgXG4uYy1idG46Zm9jdXMsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXG4uYy10ZWFzZXItY2F0ZWdvcnkgLmMtdGVhc2VyLWl0ZW06aG92ZXIgLmMtYnRuLXRlYXNlcixcbi5jLXRlYXNlci1jYXRlZ29yeSAuYy10ZWFzZXItaXRlbTpmb2N1cyAuYy1idG4tdGVhc2VyLFxuLmMtdGVhc2VyLW5ld3MgLmMtdGVhc2VyLWl0ZW06aG92ZXIgLmMtYnRuLXRlYXNlcixcbi5jLXRlYXNlci1uZXdzIC5jLXRlYXNlci1pdGVtOmZvY3VzIC5jLWJ0bi10ZWFzZXJ7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDBweCAwcHggMHB4IDJweCxcbiAgICAgICAgcmdiYSgyNTUsIDE4NiwgMCwxKSAwcHggMHB4IDBweCA1cHg7XG59XG5cbi5jLXRleHQtbGlnaHQgLmMtYnRuOmhvdmVyLFxuLmMtdGV4dC1saWdodCAuYy1idG46Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IHJnYmEoMjQsODAsMTQ4LCAxKSAwcHggMHB4IDBweCAycHgsXG4gICAgICAgIHJnYmEoMjU1LCAxODYsIDAsMSkgMHB4IDBweCAwcHggNXB4O1xufVxuXG4uYy1idG4tc21hbGwge1xuICAgcGFkZGluZzogMC43NWVtIDIwcHg7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zKTtcbn1cblxuLmMtYnRuLWxpc3QgLmMtYWN0aXZlIC5jLWJ0bntcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIGxpbmtzIHdpdGggaWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWljb24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWljb246OmJlZm9yZSxcbi5jLWljb246OmFmdGVyIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvc3ByaXRlLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5jLWJ0bi1iYWNrLFxuLmMtYnRuLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDAuMzVlbTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5jLWJ0bi1iYWNrIHtcbiAgICByaWdodDogNDZweDtcbn1cblxuLmMtbGluay1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmctbGVmdDogMzRweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtbGluay1yZXNldCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zKTtcbn1cblxuLmMtbGluay1pY29uLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWljb24ge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xufVxuXG4uYy1saW5rLWljb246aG92ZXIsXG4uYy1saW5rLWljb246Zm9jdXMsXG4uYy10ZWFzZXItbmV3cyAuYy10ZWFzZXItaXRlbTpob3ZlciAuYy1saW5rLWljb24sXG4uYy10ZWFzZXItbmV3cyAuYy10ZWFzZXItaXRlbTpmb2N1cyAuYy1saW5rLWljb24ge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG59XG5cbi5jLWxpbmstaWNvbjp2aXNpdGVkLFxuLmMtbGluay1pY29uOmhvdmVyLFxuLmMtbGluay1pY29uOmZvY3VzIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWxpbmstYXJyb3c6OmJlZm9yZSxcbi5jLWxpbmstYmFjazo6YmVmb3JlLFxuLmMtYnRuLWJhY2s6OmJlZm9yZSxcbi5jLWJ0bi1uZXh0OjpiZWZvcmV7XG5cdHRvcDogMC40ZW07XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAyOHB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbn1cblxuLmMtYnRuLWJhY2s6OmJlZm9yZSxcbi5jLWJ0bi1uZXh0OjpiZWZvcmUge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgbWFyZ2luLXRvcDogLTdweDtcbn1cblxuXG5cbi5jLWxpbmstYXJyb3c6aG92ZXI6OmJlZm9yZSxcbi5jLWxpbmstYXJyb3c6Zm9jdXM6OmJlZm9yZSxcbi5jLWJ0bi1uZXh0OmhvdmVyOjpiZWZvcmUsXG4uYy1idG4tbmV4dDpmb2N1czo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggMDtcbn1cblxuXG4uYy1saW5rLWJhY2s6OmJlZm9yZSxcbi5jLWJ0bi1iYWNrOjpiZWZvcmV7XG4gICAgbGVmdDogLTVweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjBweDtcbn1cblxuLmMtYnRuLWJhY2s6OmJlZm9yZSB7XG4gICAgbGVmdDogY2FsYyg1MCUgLSA1cHgpO1xufVxuXG4uYy1saW5rLWJhY2s6aG92ZXI6OmJlZm9yZSxcbi5jLWxpbmstYmFjazpmb2N1czo6YmVmb3JlLFxuLmMtYnRuLWJhY2s6aG92ZXI6OmJlZm9yZSxcbi5jLWJ0bi1iYWNrOmZvY3VzOjpiZWZvcmV7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC0yMHB4O1xufVxuXG4uYy1idG4tc2xpZGVyLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jLWJ0bi1zbGlkZXItZGlzYWJsZWQuYy1idG4tYmFjazo6YmVmb3JlLFxuLmMtYnRuLXNsaWRlci1kaXNhYmxlZC5jLWJ0bi1iYWNrOmhvdmVyOjpiZWZvcmUsXG4uYy1idG4tc2xpZGVyLWRpc2FibGVkLmMtYnRuLWJhY2s6Zm9jdXM6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMHB4IC0yMHB4O1xufVxuXG4uYy1idG4tc2xpZGVyLWRpc2FibGVkLmMtYnRuLW5leHQ6OmJlZm9yZSxcbi5jLWJ0bi1zbGlkZXItZGlzYWJsZWQuYy1idG4tbmV4dDpob3Zlcjo6YmVmb3JlLFxuLmMtYnRuLXNsaWRlci1kaXNhYmxlZC5jLWJ0bi1uZXh0OmZvY3VzOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDBweCAwO1xufVxuXG4uYy1saW5rLWRvd25sb2FkOjpiZWZvcmUge1xuXHR0b3A6IDAuMTNlbTtcblx0bGVmdDogMDtcblx0d2lkdGg6IDIycHg7XG5cdGhlaWdodDogMjZweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDBweDtcbn1cblxuLmMtbGluay1kb3dubG9hZDpob3Zlcjo6YmVmb3JlLFxuLmMtbGluay1kb3dubG9hZDpmb2N1czo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTQwcHg7XG59XG5cbi5jLWxpbmstZXh0ZXJuOjpiZWZvcmUge1xuXHR0b3A6IDAuMThlbTtcblx0bGVmdDogMDtcblx0d2lkdGg6IDI4cHg7XG5cdGhlaWdodDogMjdweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODBweDtcbn1cblxuLmMtbGluay1leHRlcm46aG92ZXI6OmJlZm9yZSxcbi5jLWxpbmstZXh0ZXJuOmZvY3VzOjpiZWZvcmUsXG4uYy10ZWFzZXItbmV3cyAuYy10ZWFzZXItaXRlbTpob3ZlciAuYy1saW5rLWV4dGVybjo6YmVmb3JlLFxuLmMtdGVhc2VyLW5ld3MgLmMtdGVhc2VyLWl0ZW06Zm9jdXMgLmMtbGluay1leHRlcm46OmJlZm9yZXtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTgwcHg7XG59XG5cbi5jLWxpbmstc29jaWFsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNTRweDtcbiAgICBoZWlnaHQ6IDU0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXI6IHNvbGlkIDNweCB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbn1cblxuLmMtbGluay1zb2NpYWw6aG92ZXIsXG4uYy1saW5rLXNvY2lhbDpmb2N1cyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbn1cblxuLmMtbGluay1zb2NpYWwtbGlua2VkaW46OmJlZm9yZSB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAyMnB4O1xuXHRoZWlnaHQ6IDIzcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMXB4O1xuICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjBweDtcbn1cblxuLmMtbGluay1zb2NpYWwtZmI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMjBweDtcblx0aGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTFweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjAwcHg7XG59XG5cblxuLmMtZmlsdGVyLXRyaWdnZXItb3Blbixcbi5jLWZpbHRlci10cmlnZ2VyLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMzRweDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5jLWZpbHRlci10cmlnZ2VyLW9wZW46OmJlZm9yZSxcbi5jLWZpbHRlci10cmlnZ2VyLWNsb3NlOjpiZWZvcmV7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTE0cHg7XG5cdHdpZHRoOiAyOXB4O1xuICAgIGhlaWdodDogMjlweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yNjBweDtcbn1cblxuLmMtZmlsdGVyLXRyaWdnZXItb3Blbjpob3Zlcjo6YmVmb3JlLFxuLmMtZmlsdGVyLXRyaWdnZXItb3Blbjpmb2N1czo6YmVmb3Jle1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC0yNjBweDtcbn1cblxuLmMtZmlsdGVyLXRyaWdnZXItY2xvc2U6OmJlZm9yZXtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMDBweDtcbn1cblxuLmMtZmlsdGVyLXRyaWdnZXItY2xvc2U6aG92ZXI6OmJlZm9yZSxcbi5jLWZpbHRlci10cmlnZ2VyLWNsb3NlOmZvY3VzOjpiZWZvcmV7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTMwMHB4O1xufVxuXG4uYy1saW5rLXJlc2V0OjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAyNnB4O1xuXHRoZWlnaHQ6IDI2cHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTUwMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMXMgZWFzZTtcbn1cblxuLmMtbGluay1yZXNldDpob3Zlcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIHJlc3BvbnNpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkgeyAgIFxuXHQuYy1saW5rLWFycm93OjpiZWZvcmUsXG5cdC5jLWxpbmstYmFjazo6YmVmb3JlIHtcblx0XHR0b3A6IDAuMzVlbTtcblx0fVxuXHRcblx0LmMtbGluay1kb3dubG9hZDo6YmVmb3JlIHtcblx0XHR0b3A6IC0wLjA4ZW07XG5cdH1cblx0XG5cdC5jLWxpbmstZXh0ZXJuOjpiZWZvcmUge1xuXHRcdHRvcDogLTAuMDVlbTtcblx0fVxuICAgIFxuICAgIC5jLXRleHQtYmxvY2sgLmMtY2hlY2stbGlzdCBsaTo6YmVmb3JlLCBcbiAgICAuYy1jaGVjay1saXN0IGxpOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDAuMjNlbTtcbiAgICB9XG5cbiAgICAuYy1maWx0ZXItdHJpZ2dlci1vcGVuLFxuICAgIC5jLWZpbHRlci10cmlnZ2VyLWNsb3NlIHtcbiAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgIGhlaWdodDogNDRweDtcbiAgICB9XG5cbiAgICAuYy1maWx0ZXItdHJpZ2dlci10ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmF0aW8gQm94XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1yYXRpb2JveCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiAwO1xuXHRkaXNwbGF5OiBibG9jaztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtcmF0aW9ib3ggPiBpbWcsXG4uYy1yYXRpb2JveCA+IGlmcmFtZSxcbi5jLXJhdGlvYm94ID4gb2JqZWN0IHtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcbn1cblxuLmMtcmF0aW9ib3ggPiBpbWcge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1x0XG59XG5cbi5jLXJhdGlvYm94ID4gaWZyYW1lLFxuLmMtcmF0aW9ib3ggPiBvYmplY3Qge1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuLmMtcmF0aW9ib3gtMTZieTkge1xuXHRwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuXG4uYy1yYXRpb2JveC00YnkzIHtcblx0cGFkZGluZy1ib3R0b206IDc1JTtcbn1cblxuLmMtcmF0aW9ib3gtMWJ5MSB7XG5cdHBhZGRpbmctYm90dG9tOiAxMDAlO1xufVxuXG4uYy10ZWFzZXItY2F0ZWdvcnktaW1nLFxuLmMtdGVhc2VyLW5ld3MtaW1nIHtcblx0cGFkZGluZy1ib3R0b206IDYwJTtcbn1cblxuLmMtcHJvZHVjdC1pbWcsXG4uYy10ZWFzZXItcHJvZHVjdC1pbWcge1xuXHRwYWRkaW5nLWJvdHRvbTogNjAlO1xufVxuXG4uYy1rbm93aG93LWltZyB7XG5cdHBhZGRpbmctYm90dG9tOiA3MCU7XG59XG5cblxuLmMtcmF0aW9ib3gtc2hvd3Jvb20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzOC42OTA0NzYxOTA0NzYxOSU7XG59XG5cbi5jLXJhdGlvYm94LXNob3dyb29tIGltZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uYy1yYXRpb2JveC1zaG93cm9vbSBpbWcsXG4uYy10ZWFzZXItY2F0ZWdvcnktaW1nIGltZyxcbi5jLWtub3dob3ctaW1nIGltZyxcbi5jLXRlYXNlci1uZXdzLWltZyBpbWd7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG5cbi5jLXByb2R1Y3QtaW1nIGltZyxcbi5jLXRlYXNlci1wcm9kdWN0LWltZyBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvbnRhaW47XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBzYWZhcmkgZm9ybSBmaXggKi9cbmlucHV0LFxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG50ZXh0YXJlYSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xufVxuXG4vKiByZW1vdmUgY2hyb21lIGF1dG9maWxsIHllbGxvdyBjb2xvciAqL1xuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUge1xuXHQtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDIwMDBzO1xufVxuXG4vKiBDaHJvbWUsIFNhZmFyaSwgRWRnZSwgT3BlcmEgKi9cbmlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogRmlyZWZveCAqL1xuaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5cbi5jLWZvcm0taXRlbSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy1zO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xufVxuXG4uYy1mb3JtLXNlcGFyYXRvciB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLW0pIDAgMCAwO1xuICAgIHBhZGRpbmc6IDAgMCB2YXIoLS1zcGFjaW5nLW0pIDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4IHZhcigtLWJvcmRlci1iYXNpYyk7XG59XG5cbi5jLWZvcm0taXRlbS1hZGRyZXNzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93O1xufVxuXG4uYy1mb3JtLWl0ZW0tYWRkcmVzcy16aXAge1xuICAgIGZsZXg6IDAgMCBjYWxjKDMwJSAtIDIwcHgpO1xuICAgIG1heC13aWR0aDogY2FsYygzMCUgLSAyMHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5jLWZvcm0taXRlbS1hZGRyZXNzLXBsYWNlIHtcbiAgICBmbGV4OiAwIDAgNzAlO1xuICAgIG1heC13aWR0aDogNzAlO1xufVxuXG4uYy1mb3JtLWZpbHRlciAuYy1mb3JtLWl0ZW0ge1xuICAgIHBhZGRpbmctdG9wOiAwLjU1ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNDVlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGZvcm1maWVsZHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInRlbFwiXSxcbi5jLWZvcm0tc3RhbmRhcmQgdGV4dGFyZWEge1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyOiBzb2xpZCAycHggJGJvcmRlci1mb3JtO1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLWZvcm0td2lkdGgpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1mb3JtLXJhZGl1cyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZm9ybSk7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdHBhZGRpbmc6IDAuNzVlbSAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCB0ZXh0YXJlYSB7XG5cdG1pbi1oZWlnaHQ6IDEyZW07XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi5jLWZvcm0tc3RhbmRhcmQgdGV4dGFyZWE6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6ICRib3JkZXItZm9ybS1mb2N1cztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtLWZvY3VzKTtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGV4dFwiXTpkaXNhYmxlZCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmRpc2FibGVkLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJ1cmxcIl06ZGlzYWJsZWQsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJkYXRlXCJdOmRpc2FibGVkLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwidGVsXCJdOmRpc2FibGVkLFxuLmMtZm9ybS1zdGFuZGFyZCB0ZXh0YXJlYTpkaXNhYmxlZCB7XG5cdGJvcmRlci1jb2xvcjogJGZvcm0tZGlzYWJsZWQ7XG5cdGNvbG9yOiAkZm9ybS1kaXNhYmxlZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xuXHRjb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgLmMtZm9ybS1sYWJlbC10ZXh0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctYm90dG9tOiAwLjM1ZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBmaWxlIGJ1dHRvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPWZpbGVdIHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDAuNzVlbSAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctbGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctbGlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktcyk7XG59XG5cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHRcblx0bWFyZ2luLXJpZ2h0OiAwLjc1ZW07XG5cdHBhZGRpbmc6IDEuMTVlbSAyNHB4IDEuMTVlbSAyNHB4O1xuXHRib3JkZXI6IDJweCBzb2xpZCAkdGV4dC1jb2xvcjtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci1mb3JtLXdpZHRoKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItZm9ybS1yYWRpdXMpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuXHRsaW5lLWhlaWdodDogMS4yO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG59XG5cblxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgY2hlY2tib3ggLyByYWRpb3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvcm0tc3RhbmRhcmQgLndwY2Y3LWxpc3QtaXRlbSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uYy1mb3JtLW1haW4gLmMtZm9ybS1tdWx0aWxpbmUgLndwY2Y3LWZvcm0tY29udHJvbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4uYy1mb3JtLW1haW4gLmMtZm9ybS1tdWx0aWxpbmUgLndwY2Y3LWxpc3QtaXRlbSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl17XG4gICAgbWFyZ2luOiA0cHggMCAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCksXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKXtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OTlweDtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0rc3Bhbixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdK3NwYW4sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXStzcGFuLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl0rc3BhbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkK3NwYW4sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpK3NwYW4sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkK3NwYW4sXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpK3NwYW57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIHBhZGRpbmctdG9wOiAwLjRlbTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tZm9ybS1wYWRkaW5nLXRvcC10ZXh0KTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cdG1pbi1oZWlnaHQ6IDQ0cHg7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQrc3Bhbjo6YmVmb3JlLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKStzcGFuOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkK3NwYW46OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkrc3Bhbjo6YmVmb3Jle1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMC4xNWVtO1xuICAgIHdpZHRoOiAzOHB4O1xuICAgIGhlaWdodDogMzhweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYm9yZGVyLWZvcm07XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItZm9ybS13aWR0aCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLWZvcm0tcmFkaXVzKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCtzcGFuOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpK3NwYW46OmJlZm9yZXtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzK3NwYW46OmJlZm9yZSxcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzK3NwYW46OmJlZm9yZXtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItZm9ybS1mb2N1cztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb3JtLWZvY3VzKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29udGVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb250ZW50KTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCtzcGFuOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkK3NwYW46OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQrc3Bhbjo6YWZ0ZXIsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpK3NwYW46OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDAuMTVlbSArIDVweCk7XG4gICAgbGVmdDogMTFweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDIycHg7XG5cdGJvcmRlcjogc29saWQgJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdGJvcmRlci13aWR0aDogMCAzcHggM3B4IDA7XG5cdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCtzcGFuOjphZnRlcixcbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkrc3Bhbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMC4xNWVtICsgOXB4KTtcbiAgICBsZWZ0OiA5cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpK3NwYW46OmFmdGVye1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkrc3Bhbjo6YWZ0ZXJ7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xufVxuXG4uZ2Zvcm1fZmllbGRzIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkK3NwYW46OmFmdGVyLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCtzcGFuOjphZnRlcntcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkK3NwYW46OmFmdGVye1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQrc3Bhbjo6YmVmb3JlLFxuLmMtZm9ybS1zdGFuZGFyZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQrc3Bhbjo6YWZ0ZXIsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCtzcGFuOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCtzcGFuOjphZnRlciB7XG5cdGNvbG9yOiAkZm9ybS1kaXNhYmxlZDtcbiAgICBjb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG5cdGJvcmRlci1jb2xvcjogJGZvcm0tZGlzYWJsZWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIGRyb3Bkb3duXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDAuNzVlbSAzMHB4IDAuNzVlbSAxMHB4ICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0Ym9yZGVyOiAycHggc29saWQgJGJvcmRlci1mb3JtO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0pO1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLWZvcm0td2lkdGgpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1mb3JtLXJhZGl1cyk7XG5cdGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9pY29uLWZvcm0tYXJyb3cuc3ZnXCIpIHJpZ2h0IGNlbnRlciBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbnRlbnQpO1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGxpbmUtaGVpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XHRcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBzZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1mb3JtLWZvY3VzO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvcm0tZm9jdXMpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdCBvcHRpb24ge1xuXHRwYWRkaW5nOiAwO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgc2VsZWN0OmRpc2FibGVkOjotbXMtZXhwYW5kIHtcblx0Y29sb3I6ICRmb3JtLWRpc2FibGVkO1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWRpc2FibGVkKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCBzZWxlY3Q6ZGlzYWJsZWQsXG4uYy1mb3JtLXN0YW5kYXJkIHNlbGVjdFtkaXNhYmxlZF0ge1xuXHRjb2xvcjogJGZvcm0tZGlzYWJsZWQ7XG4gICAgY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xuXHRib3JkZXItY29sb3I6ICRmb3JtLWRpc2FibGVkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICB3cDcgZXJyb3IgLyBvayBtZXNzYWdlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNy1yZXNwb25zZS1vdXRwdXQsXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNyBmb3JtIC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuXHQvKmRpc3BsYXk6IGJsb2NrOyovXG5cdGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWluaXRpYWw7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZm9ybS1pbml0aWFsKTtcblx0cGFkZGluZzogMS41ZW0gMzBweDtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcblx0bWFyZ2luOiAwIDAgM2VtIDA7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0Ym9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1mb3JtLXJhZGl1cyk7XG59XG5cbi5jLWZvcm0tc3RhbmRhcmQgLndwY2Y3LW5vdC12YWxpZC10aXAsXG4uYy1mb3JtLXN0YW5kYXJkIC5zY3JlZW4tcmVhZGVyLXJlc3BvbnNlLFxuLmMtZm9ybS1zdGFuZGFyZCAud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zKTtcbn1cblxuLyogZXJyb3IgKi9cbi5jLWZvcm0tc3RhbmRhcmQgLndwY2Y3LW5vdC12YWxpZC10aXAsXG4uYy1mb3JtLXN0YW5kYXJkIC5zY3JlZW4tcmVhZGVyLXJlc3BvbnNlIHtcblx0Y29sb3I6ICRmb3JtLWVycm9yO1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWVycm9yKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCAud3BjZjctbm90LXZhbGlkLXRpcCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLXRvcDogMC4zNWVtO1xufVxuXG4uYy1mb3JtLXN0YW5kYXJkIGlucHV0LndwY2Y3LW5vdC12YWxpZCB7XG5cdGJvcmRlci1jb2xvcjogJGZvcm0tZXJyb3I7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLWVycm9yKTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCAud3BjZjcgZm9ybS5pbnZhbGlkIC53cGNmNy1yZXNwb25zZS1vdXRwdXQsXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNyBmb3JtLmZhaWxlZCAud3BjZjctcmVzcG9uc2Utb3V0cHV0LFxuLmMtZm9ybS1zdGFuZGFyZCAud3BjZjcgZm9ybS5hYm9ydGVkIC53cGNmNy1yZXNwb25zZS1vdXRwdXR7XG5cdGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWVycm9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvcm0tZXJyb3IpO1xufVxuXG4vKiBvayAqL1xuLmMtZm9ybS1zdGFuZGFyZCAud3BjZjcgZm9ybS5zZW50IC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1vaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb3JtLW9rKTtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICB3cDcgc3Bpbm5lclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZm9ybS5zdWJtaXR0aW5nIC53cGNmNy1zcGlubmVyIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG4uYy1mb3JtLXN0YW5kYXJkIC53cGNmNy1zcGlubmVyIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogLTRweCAyNHB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjksMjksMjcsLjMpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLmMtZm9ybS1zdGFuZGFyZCAud3BjZjctc3Bpbm5lcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTbGlkZXIgXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1zbGlkZXItY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuLmMtc2xpZGVyIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwYWRkaW5nLXRvcDo4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNsaWRlciBJdGVtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc2xpZGVyLWl0ZW1zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qIFByb2R1Y3QgcGFnZSBzbGlkZXJzOiBrZWVwIGNvbnRhaW5lciB3aWR0aCBmb3IgbWVhc3VyZW1lbnRzL2NvbnRyb2xzLiBWaXN1YWwgb3ZlcmZsb3dcbiAgIGlzIGhhbmRsZWQgYnkgSlMgdmlhIGAuYy1zbGlkZXItaXRlbXMgeyBvdmVyZmxvdzogdmlzaWJsZSB9YCBvbiB0aGlzIHZhcmlhbnQuICovXG4uYy1zbGlkZXItcHJvZHVjdC1ibGVlZCAuYy1zbGlkZXItaXRlbXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmMtc2xpZGVyLWl0ZW1zLWxpc3Qge1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1yaWdodDogJGdyaWQtcm93O1xuICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1yb3c7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ncmlkLXJvdyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbn1cblxuLmMtc2xpZGVyLWl0ZW1zLWxpc3QgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1jb2w7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1jb2w7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb2wpO1xufVxuXG4uYy1zbGlkZXItaXRlbXMtbGlzdCAuYy10ZWFzZXItaXRlbSB7XG4gICAgd2lkdGg6IDMyMHB4O1xufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMjAwcHgpIHsgIFxuICAgIC5jLXNsaWRlci1pdGVtcy1saXN0IC5jLXRlYXNlci1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDI3MHB4O1xuICAgIH1cbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTbGlkZXIgQ29udHJvbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc2xpZGVyLWNvbnRyb2xzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmcteHMpO1xufVxuXG4uYy1zbGlkZXItdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDExMnB4O1xufVxuXG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZpZXdwb3J0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ALW1zLXZpZXdwb3J0IHtcblx0d2lkdGg6IGRldmljZS13aWR0aDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1lZGlhcXVlcmllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE2MjBweCkge1xuXHQvKiBjb250YWluZXIgbWF4IHdpZHRoICovXG5cdC5jLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTYwMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTQwMHB4KSB7ICBcblx0LmMtaGVhZGVyLWxvZ28sXG4gICAgLmMtZm9vdGVyLWxvZ28ge1xuXHRcdHdpZHRoOiAzMDBweDtcblx0ICAgIGhlaWdodDogNTBweDtcblx0fVxuICAgIFxuICAgIC5jLWZvb3Rlci1tYWluIC5jLWZvb3Rlci1tYWluLWluZm8ge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgICAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLW1haW4gLmMtZm9vdGVyLW1haW4tbGlua3Mge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgICAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMjAwcHgpIHtcbiAgICAuYy1mb3JtLW1haW4gLmMtY29sLTUsXG4gICAgLmMtdGV4dC1jaGVja2xpc3QtMmNvbCAuYy1jb2wtNSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOC4zMzMlO1xuICAgIH1cbn1cblxuLyogaGVhZGVyIHNob3cgb2ZmY2FudmFzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTIwMHB4KSB7ICBcbiAgICAuYy1vZmZjYW52YXMtdHJpZ2dlci1vcGVuIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXHRcblx0LmMtaGVhZGVyLW5hdiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuICAgIFxuICAgIC5jLWhpc3RvcnkgLmMtY29sLTgge1xuXHRcdHdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAgICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7ICAgXHRcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTE5OXB4KSB7XG4gICAgLmMtZm9ybS1tYWluIC5jLWNvbC01LFxuICAgIC5jLXRleHQtY2hlY2tsaXN0LTJjb2wgLmMtY29sLTV7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTAlO1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTgxcHgpIHsgIFxuICAgIC5jLWtub3dob3ctY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgICAgZ3JpZC1nYXA6IDAgdmFyKC0tZ3JpZC1jb250YWluZXIpO1xuICAgIH1cblxuICAgIC5jLWtub3dob3ctaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogc3ViZ3JpZDtcbiAgICAgICAgZ3JpZC1yb3c6IHNwYW4gMztcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo5ODFweCkgeyAgXG4gICAgLmMtY3Jvc3N0ZWFzZXItMmNvbCAuYy1jb2wtNCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTAlO1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0bWF4LXdpZHRoOiA1MCU7ICAgXG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTgwcHgpIHsgIFxuICAgIC5jLXRleHQtb25seSAuYy1jb2wtOCxcblx0LmMtbWFpbi10aXRsZSAuYy1jb2wtOCxcblx0LmMtc2VjdGlvbi10aXRsZSAuYy1jb2wtOCxcbiAgICAuYy1xdW90ZSAuYy1jb2wtOCxcbiAgICAuYy10ZWFzZXItY3RhIC5jLWNvbC04LFxuICAgIC5jLWZvcm0tbWFpbiAuYy1jb2wtOCB7XG5cdFx0d2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAtd2Via2l0LWZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgICAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgICBcdFxuXHR9XG4gICAgXG4gICAgLmMtc2hvd3Jvb20tdGV4dCAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgICAgIG1heC13aWR0aDogNTguMzMzMzMlO1xuICAgIH1cbiBcbiAgICAuYy10ZXh0LTNjb2wgLmMtY29sLTQsXG4gICAgLmMtdGVhc2VyLTNjb2wgLmMtY29sLTQge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDUwJTtcblx0XHQtbXMtZmxleDogMCAwIDUwJTtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlOyAgIFxuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItbWFpbiAuYy1mb290ZXItbWFpbi1pbmZvLFxuICAgIC5jLWZvb3Rlci1tYWluIC5jLWZvb3Rlci1tYWluLWxpbmtzLFxuICAgIC5jLWZvb3Rlci1tYWluIC5jLWZvb3Rlci1tYWluLWxpbmtzIC5jLWNvbC02IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7IFxuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItbWFpbiAuYy1mb290ZXItbWFpbi1saW5rcyAuYy1jb2wtNjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLW1haW4gLmMtZm9vdGVyLW1haW4tbGlua3MgLmMtY29sLTY6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICh2YXIoLS1ncmlkLWNvbCkgKiAyKSk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4IHZhcigtLWJvcmRlci1iYXNpYyk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCB2YXIoLS1ib3JkZXItYmFzaWMpO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItbGluay1saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLWxpbmstbGlzdCBsaSArIGxpe1xuXHQgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1saW5rLWxpc3QgbGkge1xuXHQgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIHBhZGRpbmc6IDAuMTVlbSAxMHB4IDAuMTVlbSAwO1xuICAgIH1cbiAgICBcbiAgICAuYy1tYWluLXRpdGxlLXByb2R1Y3QgLmMtY29sLTUsXG4gICAgLmMtbWFpbi10aXRsZS1wcm9kdWN0IC5jLWNvbC03IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5jLW1haW4tdGl0bGUtcHJvZHVjdC1pbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDU0MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAuYy1jcm9zc3RlYXNlciAuYy1jb2wtNCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgIFxuICAgIH1cbiAgICBcbiAgICAuYy1jcm9zc3RlYXNlciAuYy1jb2wtNDo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiB2YXIoLS1ncmlkLXJvdyk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAodmFyKC0tZ3JpZC1jb2wpICogMikpO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICB9XG4gICAgXG4gICAgLmMtY3Jvc3N0ZWFzZXItaXRlbSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLXRleHQtM2NvbC1ib3ggLmMtY29sLTQsXG4gICAgLmMtdGV4dC0zY29sLWJveCAuYy1jb2wtNDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgIFxuICAgIH1cbiAgICBcbiAgICAuYy10ZXh0LTNjb2wtYm94IC5jLWxpbmUtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1tKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggdmFyKC0tYm9yZGVyLWJhc2ljKTtcbiAgICB9XG4gICAgXG4gICAgLmMtdGV4dC0zY29sLWJveCAuYy1jb2wtNDpmaXJzdC1jaGlsZCAuYy1saW5lLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmMta25vd2hvdy1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG4gICAgfVxuICAgIFxuICAgIC5jLWtub3dob3ctaXRlbTpsYXN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtaGlzdG9yeSAuYy1jb2wtOCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyBcbiAgICB9XG4gICAgXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2MDBweCkgYW5kIChtYXgtd2lkdGg6OTgwcHgpIHsgXG4gICAgLmMtdGV4dC0zY29sLWJveCAuYy1saW5lLWl0ZW06aGFzKC5jLWltZy1pY29uKSxcbiAgICAuYy10ZXh0LTNjb2wtYm94IC5jLWNvbC00OmZpcnN0LWNoaWxkIC5jLWxpbmUtaXRlbTpoYXMoLmMtaW1nLWljb24pe1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE0MHB4O1xuICAgIH1cbiAgICBcbiAgICAuYy10ZXh0LTNjb2wtYm94IC5jLWxpbmUtaXRlbTpoYXMoLmMtaW1nLWljb24pIC5jLWltZy1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IHZhcigtLXNwYWNpbmctbSk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLXRleHQtM2NvbC1ib3ggLmMtY29sLTQ6Zmlyc3QtY2hpbGQgLmMtbGluZS1pdGVtOmhhcyguYy1pbWctaWNvbikgLmMtaW1nLWljb257XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG4gICAgXG4gICAgLmMta25vd2hvdy1pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ3JpZC1yb3cpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdyaWQtcm93KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctbCk7XG4gICAgfVxuICAgIFxuICAgIFxuXG4gICAgLmMta25vd2hvdy1tZWRpYSxcbiAgICAuYy1rbm93aG93LXRleHQsXG4gICAgLmMta25vd2hvdy1saXN0IHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTsgIFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtY29sKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwJTtcbiAgICB9XG4gICAgXG4gICAgLmMta25vd2hvdy1tZWRpYSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1rbm93aG93LXRleHQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo4MDBweCkgeyAgXG4gICAgLmMtaW50cm8gLmMtY29sLTQsXG4gICAgLmMtaW50cm8gLmMtY29sLTgge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgIFxuICAgIH1cbiAgICBcbiAgICAuYy1pbnRybyAuYy1jb2wtNCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgIH1cbiAgICBcbiAgICAuYy10ZWFzZXItbGluay1saXN0IC5jLWNvbC00LFxuICAgIC5jLXRlYXNlci1saW5rLWxpc3QgLmMtY29sLTgsXG4gICAgLmMtcHJvZHVjdC1pbmZvLTJjb2wgLmMtY29sLTMsXG4gICAgLmMtcHJvZHVjdC1pbmZvLTJjb2wgLmMtY29sLTksXG4gICAgLmMtcHJvZHVjdC1pbmZvLTNjb2wgLmMtY29sLTMsXG4gICAgLmMtcHJvZHVjdC1pbmZvLTNjb2wgLmMtY29sLTksXG4gICAgLmMtZmlsdGVyLXByb2R1Y3QgLmMtY29sLTMsXG4gICAgLmMtZmlsdGVyLXByb2R1Y3QgLmMtY29sLTkge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgXG4gICAgfVxuICAgIFxuICAgIC5jLXRlYXNlci1saW5rLWxpc3QgLmMtY29sLTQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9ybS1tYWluIC5jLWNvbC01LFxuICAgIC5jLWZvcm0tbWFpbiAuYy1jb2wtOCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb3JtLW1haW4gLmMtY29sLTU6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zKTtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9ybS1tYWluIC5jLWZvcm0tbXVsdGlsaW5lIC53cGNmNy1saXN0LWl0ZW0ge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgXG4gICAgXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCkgeyAgXG5cdC5jLXRleHQtb25seSAuYy1jb2wtOCxcblx0LmMtbWFpbi10aXRsZSAuYy1jb2wtOCxcblx0LmMtc2VjdGlvbi10aXRsZSAuYy1jb2wtOCxcblx0LmMtcXVvdGUgLmMtY29sLTgsXG4gICAgLmMtdGVhc2VyLWN0YSAuYy1jb2wtOCxcbiAgICAuYy10ZXh0LWltZyAuYy1jb2wtNixcbiAgICAuYy1pbWctMmNvbCAuYy1jb2wtNiB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFx0XG5cdH1cbiAgICBcbiAgICAuYy10ZXh0LWltZyAuYy1jb2wtNjpmaXJzdC1jaGlsZCB7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7ICAgXHRcblx0fVxuICAgIFxuICAgIC5jLWltZy0yY29sIC5jLWNvbC02OmZpcnN0LWNoaWxkIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sKTsgICBcdFxuXHR9XG4gICAgXG4gICAgLmMtc2hvd3Jvb20tdGV4dCAuYy1yb3cge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuICAgIFxuICAgIC5jLXNob3dyb29tLXRleHQgLmMtY29sLTYge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcdFxuXHR9XG4gICAgXG4gICAgLmMtaGVhZGVyLWxvZ28sXG4gICAgLmMtZm9vdGVyLWxvZ28ge1xuXHRcdHdpZHRoOiAyMjBweDtcblx0ICAgIGhlaWdodDogMzZweDtcblx0fVxuICAgIFxuICAgIC5jLWZvb3Rlci1kaXNjbGFpbWVyIC5jLWNvbC02IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cbiAgICBcbiAgICAuYy1mb290ZXItZGlzY2xhaW1lciAuYy1jb2wtNjpmaXJzdC1jaGlsZCB7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjY0MHB4KSB7ICBcbiAgICAuYy1maWx0ZXItbGlzdCBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cblxuICAgIC5jLWtleWZhY3RzIC5jLWNvbC00IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1MCU7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTsgXG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDAwcHgpIHtcbiAgICAuYy1maWx0ZXItbGlzdCBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmMtZmlsdGVyLWxpc3Qge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweCkgeyAgXG4gICAgLmMtdGVhc2VyLTJjb2wgLmMtY29sLTYsXG4gICAgLmMtdGV4dC1jaGVja2xpc3QtMmNvbCAuYy1jb2wtNSxcbiAgICAuYy1oaXN0b3J5IC5jLWNvbC02IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICBcbiAgICB9XG4gICAgXG4gICAgLmMtdGV4dC1jaGVja2xpc3QtMmNvbCAuYy1jb2wtNTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgIH1cbiAgICBcbiAgICAuYy1oaXN0b3J5OjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiB2YXIoLS1ncmlkLWNvbnRhaW5lcik7XG4gICAgfVxuICAgIFxuICAgIC5jLWhpc3RvcnkgLmMtY29sLTYsXG4gICAgLmMtaGlzdG9yeSAuYy1jb2wtNjpudGgtY2hpbGQoZXZlbil7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5jLWhpc3RvcnktaXRlbSxcbiAgICAuYy1oaXN0b3J5IC5jLWNvbC02Om50aC1jaGlsZChldmVuKSAuYy1oaXN0b3J5LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmctaGlzdG9yeSk7XG4gICAgfVxuICAgIFxuICAgIC5jLWhpc3RvcnktaXRlbTo6YmVmb3JlLFxuICAgIC5jLWhpc3RvcnkgLmMtY29sLTY6bnRoLWNoaWxkKGV2ZW4pIC5jLWhpc3RvcnktaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1oaXN0b3J5LWl0ZW06OmFmdGVyLFxuICAgIC5jLWhpc3RvcnkgLmMtY29sLTY6bnRoLWNoaWxkKGV2ZW4pIC5jLWhpc3RvcnktaXRlbTo6YWZ0ZXIge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogLTZweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1MzlweCkgeyAgXG4gICAgLmMtZm9vdGVyLW1haW4taW5mbyAuYy1jb2wtNiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuYy1mb290ZXItbWFpbi1pbmZvIC5jLWNvbC02Omxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1zKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1tYWluLWluZm8gLmMtY29sLTY6bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogdmFyKC0tZ3JpZC1jb2wpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gKHZhcigtLWdyaWQtY29sKSAqIDIpKTtcbiAgICAgICAgaGVpZ2h0OiAxO1xuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggdmFyKC0tYm9yZGVyLWJhc2ljKTtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLWxpbmstbGlzdCBsaSB7XG5cdCAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtdGV4dC0zY29sIC5jLWNvbC00LFxuICAgIC5jLXRlYXNlci0zY29sIC5jLWNvbC00IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICBcbiAgICB9XG4gICAgXG4gICAgLmMtcHJvZHVjdC1pbmZvLTNjb2wgLmMtY29sLTYge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgXG4gICAgfVxuICAgIFxuICAgIC5jLXByb2R1Y3QtaW5mby0zY29sIC5jLWNvbC02OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctcyk7XG4gICAgfVxuICAgIFxuICAgIC5jLXRlY2huaWNhbC1saXN0IGR0LFxuICAgIC5jLXRlY2huaWNhbC1saXN0IGRkIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtdGVjaG5pY2FsLWxpc3QgZHQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtdGVjaG5pY2FsLWxpc3QgZGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9ybS1tYWluIC5jLWZvcm0tbXVsdGlsaW5lIC53cGNmNy1saXN0LWl0ZW0ge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcmludCBDU1NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgcHJpbnQge1xuICAgIC8qIGJhc2Ugc3R5bGVzICovXG4gICAgKiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IFxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXHRcblx0YSxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gICAgXG4gICAgLmMtaXIgYTphZnRlcixcbiAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gICAgYVtocmVmXTphZnRlciB7XG5cdFx0Y29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuXHQgIH1cbiAgICBcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cbiAgICBcbiAgICB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgXG4gICAgfVxuICAgIFxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG4gICAgXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICAgICBcbiAgICBAcGFnZSB7XG4gICAgICAgIG1hcmdpbjogMC41Y207XG4gICAgfVxuICAgIFxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICB3aWRvd3M6IDM7XG4gICAgfVxuICAgIFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgYnJlYWstYWZ0ZXI6YXZvaWQ7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cbiAgICBcbiAgICAvKiBmb250LXNpemVzICovXG5cdFxuXHRodG1sLFxuXHRib2R5IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0LypvdmVyZmxvdzogYXV0bzsqL1xuXHR9XG4gICAgXG4gICAgYm9keSB7XG4gICAgICAgIGZvbnQtc2l6ZToxMnB4OyAgICBcbiAgICB9XG5cdFxuXHRoMSwgLmMtaDEge1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0fVxuXHRcblx0LmMtbGVhZCxcblx0LmMtdGV4dC1ibG9jayAuYy1sZWFkLFxuXHRoMiwgLmMtaDIsXG5cdGgzLCAuYy1oMyxcblx0LmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0fVxuXHRcblx0LyogcHJvamVjdCBzdHlsZXMgKi9cblx0LmMtY29udGFpbmVyIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMmVtO1xuXHR9XG5cdFxuXHQuYy1mb290ZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuXG5cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/