/*!***************************************************************************************************************************************************************************************************************!*\
  !*** 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
   ========================================================================== */
/* ==========================================================================
   Project Fonts
   ========================================================================== */
@font-face {
  font-family: "radikal";
  src: url(radikal-light_50a8.eot);
  src: url(radikal-light_50a8.eot?#iefix) format("embedded-opentype"), url(radikal-light_617d.woff2) format("woff2"), url(radikal-light_5423.woff) format("woff"), url(radikal-light_6f2a.ttf) format("truetype");
  font-weight: 300;
  font-style: normal;
  font-stretch: normal;
  font-display: fallback;
}
@font-face {
  font-family: "radikal";
  src: url(radikal-lightitalic_2be6.eot);
  src: url(radikal-lightitalic_2be6.eot?#iefix) format("embedded-opentype"), url(radikal-lightitalic_0c45.woff2) format("woff2"), url(radikal-lightitalic_4fea.woff) format("woff"), url(radikal-lightitalic_fd3e.ttf) format("truetype");
  font-weight: 300;
  font-style: italic;
  font-stretch: normal;
  font-display: fallback;
}
@font-face {
  font-family: "radikal";
  src: url(radikal-black_3a5e.eot);
  src: url(radikal-black_3a5e.eot?#iefix) format("embedded-opentype"), url(radikal-black_986f.woff2) format("woff2"), url(radikal-black_0043.woff) format("woff"), url(radikal-black_6507.ttf) format("truetype");
  font-weight: 600;
  font-style: normal;
  font-stretch: normal;
  font-display: fallback;
}
/* Variables, Naming may vary from project to project */
/* ==========================================================================
   Fonts
   ========================================================================== */
/* ==========================================================================
   Colors
   ========================================================================== */
/* text */
/* grey */
/* blue */
/* green */
/* background */
/* grey */
/* grey */
/* line-colors */
/* ==========================================================================
   Padding
   ========================================================================== */
/* padding header */
/* ==========================================================================
   Custom Properties
   ========================================================================== */
:root {
  --form-field-bg: rgba(226,229,233,0.3);
}

/*! 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+ */
}

.c-figure-padding {
  padding-bottom: 1.5em;
}

/* ==========================================================================
   Form Placeholder
   ========================================================================== */
/* ==========================================================================
   Fonts smoothing
   ========================================================================== */
/* ==========================================================================
   hide'n'show
   ========================================================================== */
/* ==========================================================================
  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;
}

/* ==========================================================================
   Saas Tools (imported from node_modules)
   ========================================================================== */
/*@import 'scut/dist/scut';*/
/*@import 'sass-mq/mq';*/
/* ==========================================================================
   Components
   ========================================================================== */
/* styles for every project */
/* ==========================================================================
   Base Project
   ========================================================================== */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #fff;
  color: #2A2228;
  -webkit-tap-highlight-color: transparent;
}

/* links */
a {
  text-decoration: none;
}

a,
a:visited,
a:focus,
a:hover {
  color: #2A2228;
}

.c-text-light a,
.c-text-light a:visited,
.c-text-light a:focus,
.c-text-light a:hover {
  color: #fff;
}

.is-invisible {
  opacity: 0;
  max-height: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
input,
select,
textarea {
  color: #2A2228;
  font-family: inherit;
}

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

.c-content {
  overflow: hidden;
}

/* ==========================================================================
   Standard Padding between Components 
   ========================================================================== */
.c-container,
.c-teaser-2col .c-teaser-item,
.c-teaser-team .c-teaser-item,
.c-teaser-big-text-inner,
.c-text-3col .c-col-4 {
  padding-bottom: 6em;
}

.c-showroom-text-inner {
  padding-bottom: 7em;
}

.c-color-change-top,
.c-showroom-text-inner,
.c-teaser-big-text-inner {
  padding-top: 6em;
}

.c-color-change-bottom {
  margin-bottom: 6em;
}

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

.c-col-img-var {
  padding-top: 6em;
  padding-bottom: 6em;
  align-self: center;
}

.c-img-var-align-top {
  align-self: flex-start;
  padding-top: 0;
}

.c-img-var-align-bottom {
  align-self: flex-end;
  padding-bottom: 0;
}

.c-title-main {
  padding-top: 10em;
}

.c-teaser-service-text {
  padding-top: 1.7em;
  padding-bottom: 1.7em;
}

/* ==========================================================================
   Standard Grid Declaration
   ========================================================================== */
.c-container {
  padding-left: 30px;
  padding-right: 30px;
}

.c-row {
  margin-right: -15px;
  margin-left: -15px;
  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 .c-cta:last-child {
  margin-bottom: 6em;
}

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

.c-row-center-content {
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-row-center-content .c-btn {
  margin-bottom: 2em;
}

.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: 15px;
  padding-left: 15px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* ==========================================================================
   Grid Varianten
   ========================================================================== */
.c-img-tiles .c-row {
  margin-left: 0;
  margin-right: 0;
}

.c-img-tiles .c-col-4 {
  padding-left: 0;
  padding-right: 0;
}

/*
.c-teaser-service .c-row {
	margin-right: 0;
	margin-left: 0;
}

.c-teaser-service .c-teaser-service-img {
	padding-left: 0;
	padding-right: 0;
}

.c-teaser-service .c-teaser-service-text {
	padding-left: 30px;
	padding-right: 30px;
}



.c-teaser-service-video{
    position: relative;
    padding: 0px!important;
    border: 0px;
    margin-bottom: -10px;
}

.c-teaser-service-video-text{
    position: absolute;
    left: 50%;
    top: 30%;
}
*/
/* ==========================================================================
   Base
   ========================================================================== */
html {
  font-size: 20px;
  font-family: "radikal", "Arial", "Helvetica", sans-serif;
  font-weight: 300;
}

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

h1,
.c-h1,
.c-link-cta,
.c-keyfacts-nr {
  line-height: 1.2;
  font-size: 4rem; /* 80px */
}

h1,
.c-h1 {
  font-weight: 600;
  color: #2E1AA9;
}

.c-text-light h1,
.c-text-light .c-h1 {
  color: #fff;
}

h2,
.c-h2 {
  padding-bottom: 0.6em;
  line-height: 1.2;
  font-size: 3rem; /* 60px */
  font-weight: 600;
}

h3,
.c-h3 {
  line-height: 1.5;
  font-size: 1.8rem; /* 36px */
  font-weight: 600;
  padding-bottom: 0.6em;
}

h4,
.c-h4 {
  line-height: 1.5;
  font-size: 1rem;
  font-weight: 600;
  padding-bottom: 0.6em;
}

.c-header-navigation {
  font-size: 1.8rem; /* 36px */
}

.c-teaser-title {
  font-size: 2.2rem; /* 44px */
  line-height: 1.2;
}

.c-category-title,
.c-keyfacts-desc {
  display: block;
  font-size: 0.8rem; /* 16 px */
  text-transform: uppercase;
  font-weight: 300;
}

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

.c-title-main .c-category-title {
  color: #2E1AA9;
}

h2.c-category-title {
  padding-bottom: 2rem;
}

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

.c-text-block p,
.c-text-block .c-list-social + p {
  padding-bottom: 1.7rem;
}

.c-text-block p + h3,
.c-text-block p + h4 {
  padding-top: 1.7em;
}

.c-footer,
.c-text-small,
.c-profile-list,
.c-footer-shop {
  font-size: 0.8rem; /* 16 px */
}

.c-lead,
.c-text-block .c-lead {
  font-size: 1.8rem; /* 36px */
  line-height: 1.5;
  font-weight: 600;
}

.c-line {
  position: relative;
  display: inline-block;
}

.c-line::before {
  content: "";
  position: absolute;
  width: 128px;
  height: 4px;
  left: 0;
  top: 0;
  background-color: #2E1AA9;
}

.c-text-light .c-line::before {
  background-color: #fff;
}

.c-footer .c-line::before {
  background-color: #d6d6d6;
}

.c-subline-number {
  display: block;
  font-weight: 600;
  color: #2E1AA9;
  margin-bottom: 2em;
}

.c-subline-number::before {
  top: 100%;
}

.c-legend {
  display: block;
  padding-top: 2.5em;
  font-style: italic;
  color: #605D6A;
}

.c-legend .c-line {
  padding-top: 2em;
}

.c-link-cta {
  font-weight: 300;
}

.c-title-footer {
  font-weight: 600;
  text-transform: uppercase;
}

.c-keyfacts-nr {
  display: block;
  font-weight: 600;
  padding-top: 2rem;
  padding-bottom: 0.25rem;
}

/* ==========================================================================
   Basic Lists Content 
   ========================================================================== */
.c-text-block ul {
  margin: 0;
  padding: 0 0 1.7rem 0;
  list-style: none;
}

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

.c-text-block ul li:before {
  content: "•";
  position: absolute;
  left: 0;
  top: -0.1em;
  color: #2E1AA9;
  font-weight: 600;
}

.c-text-block li + li {
  margin-top: 0.725rem;
}

.c-text-block ol {
  margin: 0;
  padding: 0 0 1.5em 20px;
}

.c-list-social,
.c-text-block .c-list-social {
  list-style: none;
  margin: 0;
  padding: 0;
}

.c-list-social li,
.c-text-block .c-list-social li {
  display: inline-block;
  padding-left: 0;
  padding-right: 8px;
}

.c-text-block .c-list-social li::before {
  content: "";
}

.c-text-block .c-list-social li + li {
  margin-top: 0;
}

.c-text-img-2col-symmetric .c-list-social {
  padding-bottom: 1.7rem;
}

/* ==========================================================================
   Features
   ========================================================================== */
.c-features-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: solid 2px #E2E5E9;
}

.c-features-list li {
  position: relative;
  padding: 0.8em 0 0.8em 30px;
  border-bottom: solid 2px #E2E5E9;
}

.c-features-nr {
  position: absolute;
  top: 1rem;
  left: 0;
  opacity: 0.3;
}

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

.c-text-block blockquote p {
  position: relative;
  padding: 0;
  line-height: 1.5;
  font-size: 1.8rem; /* 36px */
  font-weight: 600;
  color: #2E1AA9;
}

.c-text-block blockquote p::before {
  content: "“";
  display: block;
  position: absolute;
  left: -0.55em;
  top: -0.5em;
  font-size: 500%;
  color: #00D4B4;
}

.c-text-block blockquote cite {
  display: block;
  padding-top: 2.5em;
  font-style: normal;
  color: #605D6A;
}

/* testimonial */
.c-testimonial .c-text-block blockquote {
  padding-top: 4em;
}

.c-testimonial .c-text-block blockquote p {
  font-size: 1.3rem; /* 30px */
}

.c-testimonial .c-text-block blockquote p::before {
  left: 0;
  top: -0.9em;
}

.c-testimonial .c-text-block blockquote cite {
  padding-top: 2em;
}

.c-text-light .c-text-block blockquote p,
.c-text-light .c-text-block blockquote cite {
  color: #fff;
}

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

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

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

/* ==========================================================================
   Profile list
   ========================================================================== */
.c-profile-list {
  display: block;
  margin: 0.7em 0 0 0;
  padding: 0;
  list-style: none;
}

.c-profile-list li:first-child {
  padding-top: 2em;
}

.c-profile-list li {
  padding-bottom: 1.7em;
}

/* ==========================================================================
   Text sizes responsive
   ========================================================================== */
@media only screen and (min-width: 1500px) {
  h1, .c-h1,
.c-link-cta,
.c-keyfacts-nr {
    font-size: 5rem; /* 100px */
  }
  h2, .c-h2 {
    font-size: 4rem; /* 80px */
  }
  h3, .c-h3,
.c-lead,
.c-text-block .c-lead,
.c-text-block blockquote p,
.c-header-navigation {
    font-size: 2rem; /* 40 px */
  }
  .c-teaser-title {
    font-size: 3rem; /* 60 px */
  }
  .c-profile-list {
    font-size: 1rem;
  }
  .c-text-2col .c-col-5 {
    padding-top: 1em;
  }
}
@media only screen and (min-width: 1101px) and (max-width: 1499px) {
  .c-text-2col .c-col-5 {
    padding-top: 0.79em;
  }
}
@media only screen and (max-width: 1100px) {
  html {
    font-size: 18px;
  }
}
@media only screen and (min-width: 881px) and (max-width: 1100px) {
  .c-text-2col .c-col-5 {
    padding-top: 0.76em;
  }
}
@media only screen and (max-width: 850px) {
  .c-teaser-title {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  html {
    font-size: 16px;
  }
  h1, .c-h1,
.c-link-cta,
.c-keyfacts-nr {
    font-size: 2.5rem; /* 40px */
  }
  h2, .c-h2,
.c-teaser-title {
    font-size: 2rem; /* 32px */
  }
  h3, .c-h3,
.c-lead,
.c-text-block .c-lead,
.c-text-block blockquote p,
.c-teaser-title,
.c-header-navigation {
    font-size: 1.5rem; /*24px */
  }
  .c-footer,
.c-text-small,
.c-profile-list,
.c-category-title,
.c-keyfacts-desc,
.c-footer-shop {
    font-size: 0.875rem; /* 14 px */
  }
}
/* ==========================================================================
   Header
   ========================================================================== */
.c-header {
  padding-top: 3rem;
  padding-bottom: 12px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: transparent;
  z-index: 1000;
}
.c-header.fixed {
  position: fixed;
}

.c-header-logo {
  position: relative;
  width: 210px;
  z-index: 1;
  margin-left: 2px !important;
}

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

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

.c-text-light .c-header-logo .logo-color {
  fill: #fff;
}
.c-text-light .c-header-logo .logo-color.dark {
  fill: #2E1AA9;
}

#lottie {
  position: absolute;
  width: 100%;
}

/* css for ie 11, controls height of lottie */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  #lottie {
    height: 24px;
  }
}
.c-header-logo-fallback {
  margin-top: -0.5px;
  position: absolute;
  width: 100%;
}
.c-header-logo-fallback.dark .logo-color {
  fill: #2E1AA9 !important;
}

.c-text-light #__lottie_element_25 stop,
.c-text-light .c-header-logo .logo-color-gradient {
  stop-color: #fff;
}

.c-text-light .c-header-logo .dark .logo-color-gradient {
  stop-color: #2E1AA9 !important;
}

@media only screen and (max-width: 600px) {
  .c-header-logo-fallback {
    margin-top: -4px;
  }
}
/* ==========================================================================
   Footer
   ========================================================================== */
.c-footer {
  padding-top: 4em;
  padding-bottom: 4em;
  background-color: #333333;
  color: #d6d6d6;
}

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

.c-footer-disclaimer {
  padding-top: 2em;
}

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

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

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

.c-footer-nav-list {
  text-transform: uppercase;
}

.c-footer-nav-list li + li {
  padding-top: 0.5em;
}

.c-footer-nav-list li.c-active a,
.c-footer-disclaimer-list li.c-active a {
  color: #00D4B4;
}

.c-footer a,
.c-footer a:visited {
  color: #d6d6d6;
}

.c-footer a:hover,
.c-footer a:focus {
  color: #00D4B4;
}

.c-footer-line {
  margin-top: 2.5em;
  padding-top: 2em;
}

.c-footer .c-list-social {
  margin-top: 2.5em;
}

.c-footer-logo {
  padding-bottom: 0.25em;
  width: 130px;
  opacity: 0.8;
}

/* ==========================================================================
   Footer
   ========================================================================== */
.c-footer-partner .c-category-title {
  font-size: 0.8em;
}

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

.c-footer-partner-list li {
  padding-right: 40px;
}

.c-footer-link-swissmade,
.c-footer-link-django,
.c-footer-link-wordpress,
.c-footer-link-gislerprotokoll {
  position: relative;
  width: 100px;
  height: 77px;
}

.c-footer-link-django,
.c-footer-link-wordpress {
  margin-top: 40px;
}

.c-footer-link-swissmade::before {
  content: "";
  position: absolute;
  background-image: url(logo-swissmade_04bb.svg);
  background-repeat: no-repeat;
  width: 100px;
  height: 77px;
  left: 0;
  top: 0;
  background-positon: 0 0;
}

.c-footer-link-swissmade:hover::before {
  background-position: 0 -100px;
}

.c-footer-link-django {
  height: 23px;
}

.c-footer-link-django::before {
  content: "";
  position: absolute;
  background-image: url(logo-partner-django_1715.svg);
  background-repeat: no-repeat;
  width: 100px;
  height: 23px;
  left: 0;
  top: 0;
  background-positon: 0 0;
}

.c-footer-link-django:hover::before {
  background-position: 0 -100px;
}

.c-footer-link-wordpress {
  width: 45px;
  height: 46px;
}

.c-footer-link-wordpress::before {
  content: "";
  position: absolute;
  background-image: url(logo-partner-wordpress_e435.svg);
  background-repeat: no-repeat;
  width: 45px;
  height: 46px;
  left: 0;
  top: 0;
  background-positon: 0 0;
}

.c-footer-link-wordpress:hover::before {
  background-position: 0 -100px;
}

.c-footer-link-gislerprotokoll {
  margin-top: 40px;
  width: 114px;
  height: 38px;
}

.c-footer-link-gislerprotokoll::before {
  content: "";
  position: absolute;
  background-image: url(logo-member-gisler_bf7e.svg);
  background-repeat: no-repeat;
  width: 114px;
  height: 38px;
  left: 0;
  top: 0;
  background-positon: 0 0;
}

.c-footer-link-gislerprotokoll:hover::before {
  background-position: 0 -100px;
}

/* ==========================================================================
   Footer Carbon
   ========================================================================== */
.c-footer-carbon-container {
  display: inline-block;
  margin: 0.4em auto 0 0;
}

.c-footer #wcb.carbonbadge {
  --b1: #2E1AA9;
  --b2: #00D4B4;
}

.c-footer #wcb #wcb_a,
.c-footer #wcb #wcb_g {
  font-family: "radikal", "Arial", "Helvetica", sans-serif;
}

/* optional styles */
.scrollbar-test {
  overscroll-behavior: contain;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

#open-navigation {
  min-height: 100%;
}

/* ==========================================================================
   Offcanvas trigger
   ========================================================================== */
.c-offcanvas-toggle {
  display: block;
  height: 40px;
  margin-top: -8px;
  position: absolute;
  right: 30px;
  top: 0;
  width: 40px;
  z-index: 1200;
}
@media only screen and (max-width: 600px) {
  .c-offcanvas-toggle {
    margin-top: -10px;
  }
}
.c-offcanvas-toggle:hover {
  cursor: pointer;
}
.c-offcanvas-toggle:hover.open:after {
  width: 30px;
}
.c-offcanvas-toggle:hover.open:before {
  width: 24px;
}
.c-offcanvas-toggle:hover.close:after {
  width: 40px;
  margin-right: -5px;
}
.c-offcanvas-toggle:hover.close:before {
  width: 40px;
  margin-right: -5px;
}
.c-offcanvas-toggle:after, .c-offcanvas-toggle:before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  z-index: -1;
}
.c-offcanvas-toggle.open:after {
  background-color: #00D4B4;
  margin-top: -2px;
  height: 4px;
  width: 24px;
  transition: width 0.2s ease-in-out;
}
.c-offcanvas-toggle.open:before {
  border-bottom: 4px solid #00D4B4;
  border-top: 4px solid #00D4B4;
  height: 24px;
  margin-top: -12px;
  width: 30px;
  transition: width 0.2s ease-in-out;
}
.c-offcanvas-toggle.close {
  margin-top: calc(3rem - 8px);
}
@media only screen and (max-width: 600px) {
  .c-offcanvas-toggle.close {
    margin-top: calc(3rem - 10px);
  }
}
.c-offcanvas-toggle.close:after {
  background-color: #00D4B4;
  margin-top: -2px;
  height: 4px;
  width: 30px;
  transform: rotate(45deg);
  transition: all 0.5s;
}
.c-offcanvas-toggle.close:before {
  background-color: #00D4B4;
  margin-top: -2px;
  height: 4px;
  width: 30px;
  transform: rotate(-45deg);
  transition: all 0.5s;
}

/* ==========================================================================
   Language nav
   ========================================================================== */
.c-language-navigation {
  line-height: 1;
}
@media only screen and (min-width: 600px) {
  .c-language-navigation {
    margin-top: 3rem;
    position: absolute;
    right: 100px;
    top: 0;
    width: 30em;
  }
}

.c-language-navigation-title {
  font-weight: 300;
  margin: 0;
  padding: 0 0 0.5em 0;
  opacity: 0.5;
}
@media only screen and (min-width: 600px) {
  .c-language-navigation-title {
    display: inline-block;
  }
}

.c-lang-menu {
  position: relative;
  display: inline-block;
  list-style: none;
  margin: 0;
  padding: 0;
}
.c-lang-menu .menu-item {
  display: inline-block;
  padding-left: 1em;
}

/* ==========================================================================
   Offcanvas nav
   ========================================================================== */
.c-decoration {
  background-color: #fff;
  height: 100%;
  min-width: 300px;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: translateX(300%);
  transition: opacity 0.1s ease-out, transform 0.4s ease-out;
  width: 300px;
}
.c-decoration:after {
  background-color: #fff;
  position: absolute;
  content: "";
  bottom: 0;
  left: 100%;
  width: 400%;
  height: 100%;
  /*border-top: 300vw solid $bg-content;
  border-top-color: rgb(255, 255, 255);
  border-left: 82vw solid transparent;*/
  z-index: 1;
  /*-moz-transform: scale(.9999)*/
}
.c-decoration:before {
  position: absolute;
  content: "";
  bottom: 0;
  right: calc(100% - 1px);
  width: 0;
  height: 0;
  /*border-top: 300vw solid $bg-content;
  border-top-color: rgb(255, 255, 255);
  border-left: 82vw solid transparent;*/
  border-top: 220vh solid #fff;
  border-top-color: rgb(255, 255, 255);
  border-left: 56vh solid rgba(255, 255, 255, 0);
  z-index: 1;
  -moz-transform: scale(0.9999);
}

.c-off-canvas {
  overflow: hidden;
  position: absolute;
  right: 0;
  text-align: right;
  top: 0;
  width: 100%;
}

.c-offcanvas-nav {
  padding-top: 6em;
}
@media only screen and (max-width: 600px) {
  .c-offcanvas-nav {
    padding-top: 4em;
  }
}

.c-header-navigation {
  margin: 0;
  padding: 0;
  list-style: none;
  transition: max-height 1s ease-in-out;
  text-align: right;
  font-weight: 600;
  text-transform: uppercase;
}

.c-header-navigation,
.c-additional-content {
  opacity: 0;
  transform: translateX(100%);
  transition: transform 0.2s ease-in-out 0.2s, opacity 0.4s ease-in-out 0.2s;
}

.c-header-navigation .menu-item + .menu-item {
  padding-top: 0.35em;
}
@media only screen and (max-width: 600px) {
  .c-header-navigation .menu-item + .menu-item {
    padding-top: 0.7em;
  }
}

.c-header-navigation .menu-item-link {
  display: inline-block;
  position: relative;
  padding: 0.05em 0.1em 0.05em 1em;
  z-index: 1;
}

.c-header-navigation .menu-item-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #00D4B4;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#00d4b4+0,00d4b4+50,00d4b4+100&0+0,1+50,1+100 */
  background: -moz-linear-gradient(left, rgba(0, 212, 180, 0) 0%, rgb(0, 212, 180) 50%, rgb(0, 212, 180) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(left, rgba(0, 212, 180, 0) 0%, rgb(0, 212, 180) 50%, rgb(0, 212, 180) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, rgba(0, 212, 180, 0) 0%, rgb(0, 212, 180) 50%, rgb(0, 212, 180) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#0000d4b4", endColorstr="#00d4b4",GradientType=1 ); /* IE6-9 */
  transition: width 0.2s ease-out;
  z-index: -1;
}

.c-header-navigation .menu-item-link:hover::before,
.c-header-navigation .c-active .menu-item-link::before {
  width: 100%;
}

.c-header-navigation a,
.c-header-navigation a:hover,
.c-header-navigation a:focus,
.c-text-light .c-header-navigation a,
.c-text-light .c-header-navigation a:hover,
.c-text-light .c-header-navigation a:focus,
.c-additional-content a,
.c-additional-content a:hover,
.c-additional-content a:focus,
.c-text-light .c-additional-content a,
.c-text-light .c-additional-content a:hover,
.c-text-light .c-additional-content a:focus {
  color: #2A2228;
}

.c-additional-content {
  position: relative;
  padding-top: 2em;
  margin-top: 5em;
  overflow: hidden;
}
.c-additional-content p + p {
  padding-top: 0.8em;
}

.c-additional-content::before,
.c-text-light .c-additional-content::before {
  background-color: #2E1AA9;
  left: auto;
  right: 0;
}

/* ==========================================================================
   Offcanvas nav close
   ========================================================================== */
#open-navigation.close-navigation,
#open-navigation:not(:target) {
  top: auto;
  height: auto;
  /*.c-inner-off-canvas{
  	@media only screen and (min-width: 1600px){
  		max-width: 1560px;
  	    margin-left: auto;
  	    margin-right: auto;
  		position: relative;
  	}
  }*/
}
#open-navigation.close-navigation .c-inner-off-canvas,
#open-navigation:not(:target) .c-inner-off-canvas {
  min-height: 0vh;
  height: 0px;
  transition: min-height 0s ease-out 0s, max-width 0.4s ease-out 0s;
}
#open-navigation.close-navigation .c-decoration,
#open-navigation:not(:target) .c-decoration {
  transition: opacity 0s ease-out 0s, transform 0.4s cubic-bezier(0, 0.4, 0.6, 1);
}
#open-navigation.close-navigation .c-offcanvas-toggle.close,
#open-navigation:not(:target) .c-offcanvas-toggle.close {
  display: none;
}
#open-navigation.close-navigation .c-offcanvas-toggle.open,
#open-navigation:not(:target) .c-offcanvas-toggle.open {
  display: block;
}
@media only screen and (max-width: 600px) {
  #open-navigation.close-navigation .c-language-navigation,
#open-navigation:not(:target) .c-language-navigation {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
  }
}
#open-navigation.close-navigation .c-additional-content,
#open-navigation.close-navigation .c-header-navigation,
#open-navigation:not(:target) .c-additional-content,
#open-navigation:not(:target) .c-header-navigation {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

/* ==========================================================================
   Offcanvas nav open
   ========================================================================== */
#open-navigation.open-navigation,
#open-navigation:target {
  top: auto;
  height: auto;
  overflow: auto;
  overflow-y: hidden;
  position: relative;
  width: 100%;
  z-index: 1000;
}
#open-navigation.open-navigation .layout-scrollbar-obtrusive,
#open-navigation:target .layout-scrollbar-obtrusive {
  padding-right: 18px;
}
@media only screen and (min-width: 1100px) {
  #open-navigation.open-navigation .layout-scrollbar-obtrusive,
#open-navigation:target .layout-scrollbar-obtrusive {
    padding-right: 16px;
  }
}
#open-navigation.open-navigation .layout-scrollbar-obtrusive .c-header,
#open-navigation:target .layout-scrollbar-obtrusive .c-header {
  padding-right: 18px;
}
@media only screen and (min-width: 1100px) {
  #open-navigation.open-navigation .layout-scrollbar-obtrusive .c-header,
#open-navigation:target .layout-scrollbar-obtrusive .c-header {
    padding-right: 16px;
  }
}
#open-navigation.open-navigation .c-header,
#open-navigation:target .c-header {
  min-height: 100vh;
}
#open-navigation.open-navigation .c-header-logo,
#open-navigation:target .c-header-logo {
  opacity: 0.6;
}
#open-navigation.open-navigation:before,
#open-navigation:target:before {
  background-color: #2E1AA9;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  opacity: 0.6;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 900;
}
#open-navigation.open-navigation .c-scroll-canvas,
#open-navigation:target .c-scroll-canvas {
  overflow-y: scroll;
}
#open-navigation.open-navigation .c-off-canvas,
#open-navigation:target .c-off-canvas {
  height: 100%;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  z-index: 1000;
}
#open-navigation.open-navigation .c-off-canvas .c-inner-off-canvas,
#open-navigation:target .c-off-canvas .c-inner-off-canvas {
  min-width: 300px;
  min-height: 100vh;
  height: auto;
  padding-top: 3rem;
  padding-bottom: 4rem;
}
#open-navigation.open-navigation .c-off-canvas .c-inner-off-canvas .c-decoration,
#open-navigation:target .c-off-canvas .c-inner-off-canvas .c-decoration {
  opacity: 1;
  transform: translateX(0);
}
#open-navigation.open-navigation .c-offcanvas-toggle.close,
#open-navigation:target .c-offcanvas-toggle.close {
  display: block;
}
#open-navigation.open-navigation .c-offcanvas-toggle.open,
#open-navigation:target .c-offcanvas-toggle.open {
  display: none;
}
@media only screen and (max-width: 600px) {
  #open-navigation.open-navigation .c-language-navigation,
#open-navigation:target .c-language-navigation {
    border: none;
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    padding: 0;
    position: static;
    width: auto;
    white-space: normal;
    padding-bottom: 3em;
  }
}
#open-navigation.open-navigation .c-additional-content,
#open-navigation.open-navigation .c-header-navigation,
#open-navigation:target .c-additional-content,
#open-navigation:target .c-header-navigation {
  border: none;
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  padding: 0;
  position: static;
  width: auto;
  white-space: normal;
  opacity: 1;
  transform: translateX(0);
}
#open-navigation.open-navigation .c-additional-content,
#open-navigation:target .c-additional-content {
  padding-top: 2em;
  margin-top: 5em;
}
#open-navigation.open-navigation .c-text-light .c-language-navigation,
#open-navigation.open-navigation .c-text-light .c-lang-menu a,
#open-navigation.open-navigation .c-text-light .c-lang-menu a:hover,
#open-navigation.open-navigation .c-text-light .c-lang-menu a:focus,
#open-navigation:target .c-text-light .c-language-navigation,
#open-navigation:target .c-text-light .c-lang-menu a,
#open-navigation:target .c-text-light .c-lang-menu a:hover,
#open-navigation:target .c-text-light .c-lang-menu a:focus {
  color: #2A2228;
}

/*@import "components/_tables";*/
/* ==========================================================================
   Contentelements
   ========================================================================== */
/* small elements that don't need their own .scss */
/* ==========================================================================
   Colors
   ========================================================================== */
.c-bg-dark {
  background-color: #333333;
}

.c-bg-light {
  background-color: #E2E5E9;
}

.c-bg-primary {
  background-color: #2E1AA9;
}

.c-bg-service-primary {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#2e1aa9+0,000290+100 */
  background: rgb(46, 26, 169); /* Old browsers */
  background: -moz-linear-gradient(top, rgb(46, 26, 169) 0%, rgb(0, 2, 144) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgb(46, 26, 169) 0%, rgb(0, 2, 144) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgb(46, 26, 169) 0%, rgb(0, 2, 144) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#2e1aa9", endColorstr="#000290",GradientType=0 ); /* IE6-9 */
}

.c-bg-service-primary-horizon {
  background: #2d1aa8 url(background_horizon_blue_e607.jpg) repeat-x 0 0;
}

.c-bg-service-highlight {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#44f1cf+0,00bc9d+100 */
  background: rgb(68, 241, 207); /* Old browsers */
  background: -moz-linear-gradient(top, rgb(68, 241, 207) 0%, rgb(0, 188, 157) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgb(68, 241, 207) 0%, rgb(0, 188, 157) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgb(68, 241, 207) 0%, rgb(0, 188, 157) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#44f1cf", endColorstr="#00bc9d",GradientType=0 ); /* IE6-9 */
}

.c-bg-service-highlight-horizon {
  background: #00b799 url(background_horizon_green_c895.jpg) repeat-x 0 0;
}

.c-bg-service-light {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#e8e8e8+0,b6b6b6+100 */
  background: rgb(232, 232, 232); /* Old browsers */
  background: -moz-linear-gradient(top, rgb(232, 232, 232) 0%, rgb(182, 182, 182) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgb(232, 232, 232) 0%, rgb(182, 182, 182) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgb(232, 232, 232) 0%, rgb(182, 182, 182) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#e8e8e8", endColorstr="#b6b6b6",GradientType=0 ); /* IE6-9 */
}

.c-bg-service-light-horizon {
  background: #e8e8e8 url(background_horizon_white_5d46.jpg) repeat-x 0 0;
}

.c-bg-service-dark {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#1b1b1b+0,131313+100 */
  background: rgb(27, 27, 27); /* Old browsers */
  background: -moz-linear-gradient(top, rgb(27, 27, 27) 0%, rgb(19, 19, 19) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgb(27, 27, 27) 0%, rgb(19, 19, 19) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgb(27, 27, 27) 0%, rgb(19, 19, 19) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#1b1b1b", endColorstr="#131313",GradientType=0 ); /* IE6-9 */
}

.c-bg-service-dark-horizon {
  background: #1b1b1b url(background_horizon_black_cce9.jpg) repeat-x 0 0;
}

/* new service bg colors for videos */
.c-bg-service-blue {
  background: #1c2985;
}

.c-bg-service-black {
  background: #101010;
}

.c-bg-service-green {
  background: #178e70;
}

.c-bg-service-bronze {
  background: #ad8a6e;
}

.c-bg-service-grey {
  background: #b5bcc2;
}

/* ==========================================================================
  Showroom / Teaser big
   ========================================================================== */
.c-showroom,
.c-teaser-big {
  overflow: hidden;
}

.c-showroom,
.c-showroom-text .c-row,
.c-teaser-big,
.c-teaser-big-text .c-row {
  min-height: 100vh;
}

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

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

/* ==========================================================================
  teaser
   ========================================================================== */
.c-teaser-2col .c-teaser-text,
.c-teaser-team .c-teaser-text {
  padding-top: 1.5em;
}

.c-teaser-img a {
  position: relative;
  display: block;
}

.c-teaser-img a::before,
.c-teaser-team-hover::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: inset 0 0 0 0 #fff;
  transition: all 0.2s ease-out;
}

.c-teaser-img a:hover::before,
.c-teaser-img a:hover .c-teaser-team-hover::before {
  box-shadow: inset 0 0 0 14px #fff;
}

.c-teaser-team-hover {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all 0.2s ease-out;
}

.c-teaser-img a:hover .c-teaser-team-hover {
  opacity: 1;
}

/* ==========================================================================
  separator 
   ========================================================================== */
.c-separator-line {
  border: none;
  height: 4px;
  margin: 0;
  background-color: #E2E5E9;
}

.c-quote-line .c-separator-line:first-of-type {
  margin-bottom: 6em;
}

.c-quote-line .c-separator-line:last-of-type {
  margin-top: 6em;
}

/* ==========================================================================
  paging
   ========================================================================== */
.c-paging-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-flow: row wrap;
  text-align: center;
}

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

/* ==========================================================================
  logowall
   ========================================================================== */
.c-logowall-line {
  padding-top: 1.7rem;
}

.c-logowall-line::before {
  content: "";
  position: absolute;
  top: 0;
  left: 30px;
  width: calc(100% - 60px);
  height: 4px;
  background-color: #E2E5E9;
}

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

.c-logowall-line .c-logowall-list {
  border-bottom: solid 4px #E2E5E9;
}

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

.c-logowall-img {
  max-width: 250px;
  margin-left: auto;
  margin-right: auto;
}

/* ==========================================================================
  cookie notice
   ========================================================================== */
.c-cookie-notice {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 400px;
  padding: 30px;
  line-height: 1.7;
  background-color: #333333;
  display: none;
  border: solid 1px #fff;
}

@media only screen and (max-width: 600px) {
  .c-cookie-notice {
    width: 100%;
    bottom: 0;
    right: 0;
    border-left: none;
    border-right: none;
    border-bottom: none;
  }
}
/* ==========================================================================
  Animation elements
   ========================================================================== */
.js-enabled .animation-element.fade-up .animation {
  opacity: 0;
  transition: all 300ms ease-out;
  transform: translate3d(0px, 30px, 0px);
  backface-visibility: hidden;
}
.js-enabled .animation-element.fade-up.in-view .animation {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
.js-enabled .animation-element.fade-right .animation {
  opacity: 0;
  transition: all 300ms ease-out;
  transform: translate3d(-500px, 0px, 0px);
  backface-visibility: hidden;
}
.js-enabled .animation-element.fade-right.in-view .animation {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}
.js-enabled .c-header-navigation {
  overflow: hidden !important;
}
.js-enabled .animation-nav-item {
  opacity: 0;
  transition: all 200ms ease-out;
  transform: translate3d(200px, 0px, 0px);
}
.js-enabled .animation-nav-item.in-view {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}

.img-load-mask {
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  width: 0%;
  width: 100%;
  background-color: #00D4B4;
  transition: width 1000ms ease 0s;
}
.img-load-mask.in-view {
  width: 0px;
}

.c-video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 0;
  height: 0;
  overflow: hidden;
}
.c-video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* ==========================================================================
  Message
   ========================================================================== */
.c-message {
  /*position: fixed;*/
  position: sticky;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  background-color: #00D4B4;
  padding-top: 1rem;
  padding-bottom: 1rem;
  height: 120px;
  font-weight: 600;
  z-index: 1001;
  -webkit-box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.2);
}

.c-message-closed {
  display: none;
}

.c-message + .c-header {
  top: 120px;
}

.c-message-closed + .c-header {
  top: 0;
}

.c-message-inner {
  padding-right: 60px;
}

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

.c-text-block a,
.c-link-teaser h3 span,
.c-link-extern,
.c-link-download,
.c-profile-list a,
.c-link-back,
.c-link-back-small,
.c-link-next-small,
.c-additional-content a,
.c-lang-menu a,
.c-message a {
  background-image: linear-gradient(to bottom, #00D4B4 0%, #00D4B4 100%);
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-size: 40% 40%;
  transition: background 0.1s ease-out;
}

.c-message a {
  background-image: linear-gradient(to bottom, #2E1AA9 0%, #2E1AA9 100%);
}

.c-link-teaser h3 span,
.c-profile-list a,
.c-additional-content a,
.c-lang-menu a {
  background-position: 0 80%;
  background-size: 0 0;
}

.c-link-extern-singleline,
.c-text-block .c-link-extern-singleline {
  background-position: 0 80%;
  background-size: 30% 30%;
}

.c-link-back,
.c-link-back-small,
.c-link-next-small {
  background-position: 0 100%;
  background-size: 0 0;
}

.c-text-block a:focus,
.c-text-block a:hover,
.c-link-teaser h3 span:focus,
.c-link-teaser h3 span:hover,
.c-link-extern:focus,
.c-link-extern:hover,
.c-link-download:focus,
.c-link-download:hover,
.c-message a:focus,
.c-message a:hover {
  background-position: 0 50%;
  background-size: 60% 60%;
}

.c-link-back:focus,
.c-link-back:hover,
.c-link-back-small:focus,
.c-link-back-small:hover,
.c-link-next-small:focus,
.c-link-next-small:hover {
  background-size: 100% 100%;
}

.c-profile-list a:focus,
.c-profile-list a:hover,
.c-additional-content a:focus,
.c-additional-content a:hover,
.c-lang-menu a:focus,
.c-lang-menu a:hover {
  background-size: 4px 4px;
}

.c-link-extern-singleline:focus,
.c-link-extern-singleline:hover,
.c-text-block .c-link-extern-singleline:focus,
.c-text-block .c-link-extern-singleline:hover {
  background-position: 0 46%;
  background-size: 46% 46%;
}

.c-text-block .c-btn,
.c-message .c-btn-close {
  background-image: none;
}

/* ==========================================================================
   Button 
   ========================================================================== */
.c-btn {
  display: inline-block;
  margin: 0;
  padding: 0.5em 15px;
  border: solid 4px #00D4B4;
  background-color: transparent;
  line-height: 1.2;
  text-align: center;
  font-weight: 600;
  text-transform: uppercase;
  transition: all 0.2s ease-out;
  text-decoration: none;
}

.c-btn,
.c-btn:visited {
  color: #00D4B4;
}

.c-btn:hover,
.c-btn:focus {
  color: #fff;
  background-color: #00D4B4;
  text-decoration: none;
}

.c-btn-close {
  display: block;
  position: absolute;
  top: 50%;
  right: 30px;
  width: 40px;
  height: 40px;
  transform: translateY(-50%);
}

.c-btn-close::before,
.c-btn-close:after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  background-color: #00D4B4;
  margin-top: -2px;
  height: 4px;
  width: 30px;
  transition: all 0.5s;
}

.c-message .c-btn-close::before,
.c-message .c-btn-close::after {
  background-color: #2E1AA9;
}

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

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

.c-btn-close:focus::before,
.c-btn-close:focus::after,
.c-btn-close:hover::before,
.c-btn-close:hover::after {
  width: 40px;
  margin-right: -5px;
}

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

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

.c-btn-send {
  display: inline-block;
  position: absolute;
  top: 2px;
  right: 5px;
  font-weight: 600;
  margin: 0;
  font-size: 100%;
  line-height: 1;
  padding: 0.5em 50px 0.5em 0;
  background: none;
  border: none;
  transition: color 0.1s;
}

.c-btn-send:hover {
  color: #00D4B4;
}

.c-btn-send::before {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -8px;
  width: 32px;
  height: 17px;
  background-position: -150px -60px;
}

.c-link-extern,
.c-link-download,
.c-link-extern-singleline {
  font-weight: 600;
}

.c-link-download span {
  font-weight: 300;
}

.c-icon-extern,
.c-icon-download,
.c-icon-arrow-big {
  display: inline-block;
  width: 1.25em;
  height: 1em;
  margin-left: 0.5em;
  vertical-align: baseline;
}

.c-link-extern-singleline {
  display: inline-block;
  position: relative;
  padding-right: 1.75em;
}

.c-link-extern-singleline::before,
.c-icon-extern::before {
  position: absolute;
  top: -0.08em;
  left: 0;
  width: 21px;
  height: 21px;
  background-position: 0 -100px;
}

.c-link-extern-singleline::before {
  left: auto;
  right: 0;
  top: 50%;
  margin-top: -13px;
}

/*.c-link-extern:hover .c-icon-extern::before {
	background-position: -100px -100px;
}*/
.c-icon-download::before {
  position: absolute;
  top: -0.1em;
  left: 0;
  width: 18px;
  height: 22px;
  background-position: 0 -140px;
}

/*.c-link-download:hover .c-icon-download::before {
	background-position: -100px -140px;
}*/
.c-icon-arrow-big {
  width: 90px;
  height: 0.5em;
  margin-left: 0.25em;
}

.c-icon-arrow-big::before {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -22px;
  width: 85px;
  height: 45px;
  background-position: 0 0;
}

.c-btn-social,
.c-text-block .c-btn-social {
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #00D4B4;
  transition: transform 0.1s ease-out;
}

.c-footer .c-btn-social {
  background-color: #d6d6d6;
}

.c-text-block .c-btn-social {
  background-image: none;
}

.c-btn-social:focus,
.c-btn-social:hover {
  background-color: #00D4B4;
  transform: scale(1.1);
}

.c-btn-social-insta::before {
  top: 50%;
  left: 50%;
  margin-left: -12px;
  margin-top: -12px;
  width: 24px;
  height: 24px;
  background-position: -100px -180px;
}

.c-footer .c-btn-social-insta::before {
  background-position: 0 -180px;
}

.c-btn-social-fb::before {
  top: 50%;
  left: 50%;
  margin-left: -6px;
  margin-top: -12px;
  width: 12px;
  height: 24px;
  background-position: -100px -220px;
}

.c-footer .c-btn-social-fb::before {
  background-position: 0 -220px;
}

.c-btn-social-linkedin::before {
  top: 50%;
  left: 50%;
  margin-left: -9px;
  margin-top: -11px;
  width: 20px;
  height: 20px;
  background-position: -100px -260px;
}

.c-footer .c-btn-social-linkedin::before {
  background-position: 0 -260px;
}

.c-btn-social-twitter::before {
  top: 50%;
  left: 50%;
  margin-left: -11px;
  margin-top: -9px;
  width: 24px;
  height: 20px;
  background-position: -100px -300px;
}

.c-footer .c-btn-social-twitter::before {
  background-position: 0 -300px;
}

.c-link-back {
  width: 83px;
  height: 43px;
}

.c-link-back:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 83px;
  height: 43px;
  background-position: 0 -340px;
}

.c-link-back-small,
.c-link-next-small {
  width: 31px;
  height: 17px;
}

.c-link-back-small:before,
.c-link-next-small:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 31px;
  height: 17px;
  background-position: -100px -60px;
}

.c-link-next-small:before {
  background-position: 0 -60px;
}

@media only screen and (max-width: 767px) {
  .c-icon-arrow-big {
    width: 60px;
  }
  .c-icon-arrow-big::before {
    margin-top: -14px;
    width: 62px;
    height: 33px;
    background-position: -100px 0;
  }
  .c-link-back {
    width: 60px;
    height: 31px;
  }
  .c-link-back:before {
    width: 60px;
    height: 31px;
    background-position: -100px -340px;
  }
}
/* ==========================================================================
   Ratio Box
   ========================================================================== */
.c-ratiobox {
  position: relative;
  height: 0;
  display: block;
  overflow: hidden;
}

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

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

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

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

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

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

.c-ratiobox-3by4 {
  padding-bottom: 133.3333333333%;
}

/* ==========================================================================
   Form
   ========================================================================== */
/* safari form fix */
input,
input[type=text],
input[type=number],
input[type=password],
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.5em;
}

.c-form-text {
  width: 100%;
  border: none;
  border-bottom: solid 2px #d6d6d6;
  color: #fff;
  padding: 0.5em 5px;
  background: rgba(255, 255, 255, 0.05);
}

.c-form-item-nl .c-form-text {
  padding-right: 130px;
}

.c-form-text:focus {
  border-color: #00D4B4;
  outline: none;
}

.c-form-standard label,
.c-form-footer label {
  display: block;
  padding-bottom: 2px;
}

.c-form-error,
.c-form-confirmation {
  display: block;
}
.c-form-error.hidden,
.c-form-confirmation.hidden {
  display: none;
}
.c-form-error.c-form-error,
.c-form-confirmation.c-form-error {
  color: #e40426;
}

/* ==========================================================================
  error
   ========================================================================== */
.c-form-error .c-form-text {
  border-bottom-color: #dd0000;
}

.c-form-error label,
.c-form-error span {
  color: #dd0000;
}

/* error */
.c-form-error .c-form-text,
.c-form-error .c-form-textarea,
.c-form-standard .c-form-error input[type=checkbox]:checked + label::before,
.c-form-standard .c-form-error input[type=checkbox]:not(:checked) + label::before {
  border-color: #dd0000;
}

.c-form-error label,
.c-form-error span {
  color: #dd0000;
}

.c-form-error span {
  display: block;
  padding-top: 0.25em;
}

/* ==========================================================================
   Shop Content, remove overflow hidden from c-content
   ========================================================================== */
.c-content-shop {
  overflow: visible;
}

/* ==========================================================================
   Shop Ratiobox
   ========================================================================== */
.c-ratiobox-shop {
  padding-bottom: 66.66%;
}

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

/* ==========================================================================
 header
   ========================================================================== */
.c-shop-basket-nav {
  position: absolute;
  top: 4em;
  right: 30px;
  padding-top: 2em;
  font-weight: bold;
  z-index: 1001;
}

.c-shop-basket-nav::before {
  left: auto;
  right: 0;
}

/* ==========================================================================
   Shop Footer
   ========================================================================== */
.c-shop-claim {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.c-shop-claim-text,
.c-icon-heart {
  display: block;
}

.c-icon-heart:hover,
.c-shop-claim:hover .c-icon-heart {
  animation: pulse 0.8s infinite;
}

@keyframes pulse {
  0% {
    transform: scale(0.9);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(0.9);
  }
}
.c-footer-shop a,
.c-footer-shop a:visited {
  color: #2A2228;
}

.c-footer-shop a:hover,
.c-footer-shop a:focus {
  color: #00D4B4;
}

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

.c-shop-payment-list li {
  display: inline-block;
  padding-right: 6px;
  padding-bottom: 10px;
}

.c-shop-payment-icon {
  width: 60px;
}

/* ==========================================================================
 shop icons
   ========================================================================== */
.c-icon-heart,
.c-link-shop-basket-icon {
  position: relative;
}

.c-icon-heart {
  width: 16px;
  height: 16px;
  margin-left: 0.5em;
  margin-right: 0.5em;
  transform: perspective(1px) translateZ(0);
}

.c-icon-heart::before,
.c-link-shop-basket-icon::before {
  content: "";
  position: absolute;
  background-image: url(sprite-shop_7e47.svg);
  background-repeat: no-repeat;
}

.c-icon-heart::before {
  top: 0;
  left: 0;
  width: 16px;
  height: 16px;
  background-position: 0 -60px;
}

.c-icon-heart:hover::before,
.c-shop-claim:hover .c-icon-heart::before {
  background-position: -100px -60px;
}

.c-link-shop-basket {
  position: relative;
  display: block;
}

.c-link-shop-basket-icon {
  display: inline-block;
  padding-right: 50px;
}

.c-link-shop-basket-icon::before {
  top: 50%;
  right: 0;
  width: 33px;
  height: 36px;
  margin-top: -18px;
  background-position: 0 0;
}

.c-link-shop-basket-items {
  display: block;
  position: absolute;
  top: -13px;
  right: -13px;
  width: 26px;
  height: 26px;
  line-height: 26px;
  text-align: center;
  border-radius: 50%;
  overflow: hidden;
  color: #fff;
  font-weight: bold;
  background-color: #00D4B4;
  font-size: 14px;
}

/* ==========================================================================
 shop detail
   ========================================================================== */
/*.c-shop-product .c-btn {
    display: block;
    width: 100%;
}*/
.c-shop-price {
  font-size: 1.8rem;
}

.c-shop-title {
  font-size: 2.2rem; /* 44px */
  line-height: 1.2;
  color: #2A2228;
  padding-bottom: 0.6em;
}

.c-shop-product-desc-inner {
  position: sticky;
  top: 9rem;
  z-index: 1;
  height: auto;
}

.c-shop-product-image-item {
  display: block;
  margin-bottom: 1em;
}

.c-shop-product-add {
  display: flex;
  flex-flow: row;
}

.c-shop-product-add-field {
  border: none;
  width: 80px;
  margin-right: 20px;
  color: #2A2228;
  border-bottom: solid 2px #d6d6d6;
  padding: 0.5em 10px;
  background-color: var(--form-field-bg);
}

.c-shop-product-add-field:focus {
  border-color: #00D4B4;
  outline: none;
}

.c-shop-product-add .c-btn {
  display: block;
  width: calc(100% - 160px);
}

.c-shop-product-number-field {
  position: relative;
  width: 140px;
  margin-right: 20px;
}

/* Firefox */
.c-shop-product-number-field input[type=number] {
  -moz-appearance: textfield;
}

.c-shop-product-number-field input[type=number] {
  width: 100%;
  text-align: center;
  margin-left: 40px;
  margin-right: 40px;
  width: calc(100% - 80px);
  border-radius: 0;
  border: solid 2px #949194;
  color: #222;
  padding: 0.6em 10px;
  background-color: transparent;
  font-family: inherit;
  font-weight: bold;
}

.c-shop-product-number-field input[type=number]:focus {
  border-color: #000;
  outline: none;
}

.c-shop-btn-number-minus,
.c-shop-btn-number-plus {
  position: absolute;
  display: block;
  top: 0;
  width: 40px;
  height: 100%;
  color: transparent;
  background-color: #fff;
  overflow: hidden;
  border: solid 2px #949194;
  text-indent: 100%;
}

.c-shop-btn-number-plus:hover,
.c-shop-btn-number-plus:focus,
.c-shop-btn-number-minus:hover,
.c-shop-btn-number-minus:focus {
  background-color: #fff;
}

.c-shop-btn-number-plus {
  right: 0;
  border-left: none;
  border-radius: 0;
}

.c-shop-btn-number-minus {
  left: 0;
  border-right: none;
  border-radius: 0;
}

.c-shop-btn-number-plus::before,
.c-shop-btn-number-minus::before,
.c-shop-btn-number-plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -8px;
  margin-top: -1px;
  width: 16px;
  height: 2px;
  background-color: #00D4B4;
}

.c-shop-btn-number-plus::after {
  margin-top: -8px;
  margin-left: -1px;
  width: 2px;
  height: 16px;
}

.c-shop-btn-number-plus:hover::before,
.c-shop-btn-number-plus:focus::before,
.c-shop-btn-number-minus:hover::before,
.c-shop-btn-number-minus:focus::before,
.c-shop-btn-number-plus:hover::after,
.c-shop-btn-number-plus:focus::after {
  background-color: #2A2228;
}

.c-shop-size {
  padding-bottom: 1.5em;
}

.c-shop-size label {
  display: block;
  padding-bottom: 0.25em;
  text-transform: uppercase;
}

/* ==========================================================================
   dropdown
   ========================================================================== */
.c-shop-size select {
  display: block;
  padding: 0.6em 30px 0.6em 10px !important;
  width: 140px;
  height: auto !important;
  border: 2px solid #949194;
  border-radius: 0;
  background: url(icon-form-arrow_97be.svg) right center no-repeat;
  background-color: #fff;
  color: #2A2228;
  font-size: 100%;
  line-height: 1rem !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.c-shop-size select:focus {
  border-color: #000;
  outline: none;
}

.c-shop-size select option {
  padding: 0;
  outline: none;
}

.c-shop-size select::-ms-expand {
  display: none;
}

/* ==========================================================================
 shop responsive
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  .c-shop-basket-nav {
    right: 60px;
  }
}
@media only screen and (min-width: 1500px) {
  .c-shop-title {
    font-size: 3rem; /* 60 px */
  }
}
@media only screen and (max-width: 980px) {
  .c-footer-shop-main .c-col-4 {
    -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-shop-main .c-col-8 {
    -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 (max-width: 850px) {
  .c-shop-title {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-shop-title {
    font-size: 2rem; /* 32px */
  }
}
@media only screen and (max-width: 650px) {
  .c-shop-product .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-shop-product .c-col-6:first-child {
    padding-bottom: 1em;
  }
}
@media only screen and (max-width: 600px) {
  .c-footer-shop-main .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-footer-shop-main .c-col-4 + .c-col-4 {
    padding-top: 6em;
  }
  .c-shop-basket-nav {
    padding-top: 0;
    top: 0;
    right: 90px;
    margin-top: -10px;
  }
  .c-shop-basket-nav::before {
    background: none;
  }
  .c-link-shop-basket-icon {
    width: 40px;
    height: 40px;
    padding: 0;
    overflow: hidden;
    text-indent: -999em;
    text-align: left;
    direction: ltr;
  }
}
/* ==========================================================================
   Custom Properties
   ========================================================================== */
:root {
  --bg-content: #fff;
  --text-color: #2A2228;
  --text-color-light: #fff;
  --color-highlight: #00D4B4;
  --font-size-body: 1em;
  --font-size-body-s: 0.8rem;
  /*--font-size-body-xs: 0.75rem; */
  --font-size-h2-small: 1.25rem;
  --font-weight-bold: 600;
  --font-weight-normal: 300;
  --bg-light: #E2E5E9;
  --form-disabled: #ccc;
  --spacing-l: 6em;
  --spacing-m: 3em;
  --woocommerce-font-size-body-xs: 0.75rem;
  --woocommerce-input-bg: #fff;
  --woocommerce-border-width: 2px;
  --woocommerce-border: #949194;
  --woocommerce-border-focus: #000;
  --woocommerce-input-padding: .75em .5em;
  --woocommerce-input-border-radius: 0;
  --woocommerce-btn-border-radius: 0;
  --woocommerce-btn-padding: 0.5em 15px;
  --woocommerce-link-underline-width: 6px;
  --woocommerce-table-border: #E2E5E9;
  --woocommerce-table-border-width: 2px;
  --woocommerce-active-border: #E2E5E9;
  --woocommerce-form-error: #cc1818;
  --woocommerce-message-border-width: 2px;
  --woocommerce-message-color: #2E1AA9; /* ok */
  --woocommerce-message-color-info: #333333;
  --woocommerce-message-color-error: var(--woocommerce-form-error);
  --woocommerce-text-payment-padding-left: 70px; /* padding for alignment with text checkbox (payment)*/
  --woocommerce-payment-border-width: 0;
}

@media only screen and (max-width: 767px) {
  :root {
    --font-size-body-s: 0.875rem;
  }
}
/* ==========================================================================
   Font-styles 
   ========================================================================== */
.c-woocommerce-container {
  font-weight: var(--font-weight-normal);
}

.c-woocommerce-container .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
.c-woocommerce-container .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price,
.c-woocommerce-container .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.c-woocommerce-container .wc-block-components-totals-item__value,
.c-woocommerce-container table.wc-block-cart-items .wc-block-cart-items__header th,
.c-woocommerce-container .is-large.wc-block-cart .wc-block-cart__totals-title {
  font-weight: var(--font-weight-bold);
}

/* titles */
.c-woocommerce-container .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
  font-weight: var(--font-weight-bold);
}

.c-woocommerce-container .wc-block-components-express-payment--checkout .wc-block-components-title.wc-block-components-express-payment__title,
.c-woocommerce-container .wc-block-components-express-payment-continue-rule,
.c-woocommerce-container .wc-block-components-checkbox label {
  font-size: var(--font-size-body-s);
}

.c-woocommerce-container .wc-block-components-validation-error {
  font-size: var(--woocommerce-font-size-body-xs);
}

/* ==========================================================================
   messages
   ========================================================================== */
/* spacing between message and product on product detail page */
.c-shop-message {
  padding-bottom: 1.5em;
}

/* notices */
.c-woocommerce-container .wc-block-components-notice-banner {
  border-radius: var(--woocommerce-input-border-radius);
  border-width: var(--woocommerce-table-border-width);
  color: var(--text-color);
}

.c-woocommerce-container .wc-block-components-notice-banner.is-error {
  background-color: #fff0f0;
  border-color: var(--woocommerce-form-error);
}

.c-woocommerce-container .wc-block-components-notice-banner.is-error > svg {
  background-color: var(--woocommerce-form-error);
}

.c-woocommerce-container .woocommerce-error,
.c-woocommerce-container .woocommerce-info,
.c-woocommerce-container .woocommerce-message,
.c-shop-message .woocommerce-error,
.c-shop-message .woocommerce-info,
.c-shop-message .woocommerce-message {
  background-color: var(--bg-content);
  color: var(--text-color);
  border: solid var(--woocommerce-message-border-width) var(--woocommerce-message-color);
  border-radius: var(--woocommerce-input-border-radius);
}

.c-woocommerce-container .woocommerce-error,
.c-shop-message .woocommerce-error {
  border-color: var(--woocommerce-message-color-error);
}

.c-woocommerce-container .woocommerce-info,
.c-shop-message .woocommerce-info {
  border-color: var(--woocommerce-message-color-info);
}

.c-woocommerce-container .woocommerce-error::before,
.c-shop-message .woocommerce-error::before {
  color: var(--woocommerce-message-color-error);
}

.c-woocommerce-container .woocommerce-info::before,
.c-shop-message .woocommerce-info::before {
  color: var(--woocommerce-message-color-info);
}

.c-woocommerce-container .woocommerce-message::before,
.c-shop-message .woocommerce-message::before {
  color: var(--woocommerce-message-color);
}

/* ==========================================================================
   Formfields 
   ========================================================================== */
/* fancy label */
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input label,
.c-woocommerce-container .wc-block-components-text-input label {
  line-height: 1.25;
}

/*.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input label, 
.c-woocommerce-container .wc-block-components-text-input label {
    font-size: var(--font-size-body-s);
}*/
/*mein konto */
.c-woocommerce-container .woocommerce input[type=text],
.c-woocommerce-container .woocommerce input[type=email],
.c-woocommerce-container .woocommerce input[type=password],
.c-woocommerce-container .woocommerce input[type=url],
.c-woocommerce-container .woocommerce input[type=date],
.c-woocommerce-container .woocommerce input[type=tel],
.c-woocommerce-container .woocommerce textarea,
.c-woocommerce-container .woocommerce .woocommerce-Input,
.c-woocommerce-container .wc-block-components-textarea {
  width: 100%;
  border: solid var(--woocommerce-border-width) var(--woocommerce-border);
  border-radius: var(--woocommerce-input-border-radius);
  color: var(--text-color);
  background-color: var(--woocommerce-input-bg);
  font-family: inherit;
  font-size: var(--font-size-body);
  line-height: 1;
  padding: var(--woocommerce-input-padding);
}

/* cart / kasse */
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=email],
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=number],
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=password],
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=tel],
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=text],
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=url],
.c-woocommerce-container .wc-block-components-text-input input[type=email],
.c-woocommerce-container .wc-block-components-text-input input[type=number],
.c-woocommerce-container .wc-block-components-text-input input[type=password],
.c-woocommerce-container .wc-block-components-text-input input[type=tel],
.c-woocommerce-container .wc-block-components-text-input input[type=text],
.c-woocommerce-container .wc-block-components-text-input input[type=url],
.c-woocommerce-container .woocommerce textarea,
.c-woocommerce-container .wc-blocks-components-select .wc-blocks-components-select__container {
  color: var(--text-color);
  background-color: var(--woocommerce-input-bg);
  border: solid var(--woocommerce-border-width) var(--woocommerce-border);
  border-width: var(--woocommerce-border-width);
  border-color: var(--woocommerce-border);
  border-radius: var(--woocommerce-input-border-radius);
  /*font-size: var(--font-size-body);*/
  line-height: 1;
  height: 54px;
  /*padding: 1em .5em;*/
}

.c-woocommerce-container .woocommerce input[type=text]:focus,
.c-woocommerce-container .woocommerce input[type=email]:focus,
.c-woocommerce-container .woocommerce input[type=password]:focus,
.c-woocommerce-container .woocommerce input[type=url]:focus,
.c-woocommerce-container .woocommerce input[type=date]:focus,
.c-woocommerce-container .woocommerce input[type=tel]:focus,
.c-woocommerce-container .wc-block-components-textarea:focus,
.c-woocommerce-container .woocommerce .woocommerce-Input:focus,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=email]:focus,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=number]:focus,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=password]:focus,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=tel]:focus,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=text]:focus,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input input[type=url]:focus,
.c-woocommerce-container .wc-block-components-text-input input[type=email]:focus,
.c-woocommerce-container .wc-block-components-text-input input[type=number]:focus,
.c-woocommerce-container .wc-block-components-text-input input[type=password]:focus,
.c-woocommerce-container .wc-block-components-text-input input[type=tel]:focus,
.c-woocommerce-container .wc-block-components-text-input input[type=text]:focus,
.c-woocommerce-container .wc-block-components-text-input input[type=url]:focus,
.c-woocommerce-container .wc-blocks-components-select .wc-blocks-components-select__container:focus {
  border-color: var(--woocommerce-border-focus);
  outline: none;
  box-shadow: none;
  border-width: var(--woocommerce-border-width);
}

/* select inner */
.c-woocommerce-container .wc-blocks-components-select .wc-blocks-components-select__select {
  border-radius: var(--woocommerce-input-border-radius);
  color: var(--text-color);
  border: none;
}

/* dropdown arrow color / checkbox checkmar color */
.c-woocommerce-container .wc-blocks-components-select .wc-blocks-components-select__expand,
.c-woocommerce-container .wc-block-components-checkbox .wc-block-components-checkbox__mark {
  fill: var(--color-highlight);
}

/* spacing around rows */
.c-woocommerce-container .woocommerce form .form-row {
  padding: 0 0 1.5em 0;
  margin: 0;
}

/* text small for descriptions */
.c-woocommerce-container .woocommerce .woocommerce-form-row span em {
  font-size: var(--font-size-body-s);
}

/* checkbox */
.c-woocommerce-container .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] {
  border: solid var(--woocommerce-border-width) var(--woocommerce-border);
  border-radius: var(--woocommerce-input-border-radius);
  border-color: var(--woocommerce-border);
}

.c-woocommerce-container .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:focus {
  border-color: var(--woocommerce-border-focus);
  outline: none;
}

/* radio */
.c-woocommerce-container .wc-block-components-radio-control .wc-block-components-radio-control__input,
.c-woocommerce-container .wc-block-components-radio-control .wc-block-components-radio-control__input:checked {
  border: solid var(--woocommerce-border-width) var(--woocommerce-border);
}

.c-woocommerce-container .wc-block-components-radio-control .wc-block-components-radio-control__input:focus {
  border-color: var(--woocommerce-border-focus);
  outline: none;
}

.c-woocommerce-container .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before {
  background: var(--color-highlight);
}

/* error */
.c-woocommerce-container .wc-block-components-validation-error,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input.has-error label,
.c-woocommerce-container .wc-block-components-text-input.has-error label {
  color: var(--woocommerce-form-error);
}

.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input.has-error input,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input.has-error input:active,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input.has-error input:focus,
.c-woocommerce-container .wc-block-components-form .wc-block-components-text-input.has-error input:hover,
.c-woocommerce-container .wc-block-components-text-input.has-error input,
.c-woocommerce-container .wc-block-components-text-input.has-error input:active,
.c-woocommerce-container .wc-block-components-text-input.has-error input:focus,
.c-woocommerce-container .wc-block-components-text-input.has-error input:hover {
  border-color: var(--woocommerce-form-error);
}

/* ==========================================================================
   Button
   ========================================================================== */
.c-woocommerce-container .wc-block-components-button:not(.is-link) {
  background: none;
}

.c-woocommerce-container .button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button,
.c-woocommerce-container .wc-block-components-button,
.c-woocommerce-container .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button,
.c-shop-message .button {
  display: inline-block;
  margin: 0;
  padding: var(--woocommerce-btn-padding);
  border: solid 4px var(--color-highlight);
  background-color: transparent;
  line-height: 1.2;
  text-align: center;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  transition: all 0.2s ease-out;
  text-decoration: none;
  border-radius: var(----woocommerce-btn-border-radius);
  color: var(--color-highlight);
}

.c-woocommerce-container .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
  height: auto;
  min-height: 54px !important;
}

.c-woocommerce-container .button:hover,
.c-woocommerce-container .button:focus,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button:hover,
.c-woocommerce-container .wc-block-components-button:hover,
.c-woocommerce-container .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover,
.c-shop-message .button:hover,
.c-shop-message .button:focus {
  color: var(--text-color-light);
  background-color: var(--color-highlight);
  text-decoration: none;
}

.c-woocommerce-container .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:disabled {
  color: var(--form-disabled);
  border-color: var(--form-disabled);
}

/* button styled as text-link */
/* edit address */
.c-woocommerce-container .wc-block-components-address-card__edit,
.c-woocommerce-container .wc-block-components-address-form__address_2-toggle {
  text-decoration-skip-ink: none;
  text-decoration: underline;
  text-decoration-color: var(--color-highlight);
  text-decoration-thickness: var(--woocommerce-link-underline-width);
}

.c-woocommerce-container .wc-block-components-address-card__edit:hover,
.c-woocommerce-container .wc-block-components-address-form__address_2-toggle:hover {
  text-decoration: none;
}

/* ==========================================================================
   Cart
   ========================================================================== */
/* quantity */
.c-woocommerce-container .wc-block-components-quantity-selector::after {
  border-width: var(--woocommerce-border-width);
  border-color: var(--woocommerce-border);
  border-radius: var(--woocommerce-input-border-radius);
  font-family: inherit;
  font-weight: var(--font-weight-bold);
}

.c-woocommerce-container .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  color: var(--color-highlight);
  opacity: 1;
}

.c-woocommerce-container .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus {
  box-shadow: inset 0 0 var(--woocommerce-border-width) var(--woocommerce-border-width) var(--woocommerce-border);
}

/* text link */
.c-woocommerce-container table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link,
.c-woocommerce-container .wc-block-components-totals-shipping .wc-block-components-totals-shipping__change-address__link {
  text-decoration-color: var(--color-highlight);
  text-decoration-thickness: var(--woocommerce-link-underline-width);
}

/* table / sidebar */
.c-woocommerce-container .is-large.wc-block-cart .wc-block-cart-items td,
.c-woocommerce-container .is-large.wc-block-cart .wc-block-cart-items,
.c-woocommerce-container .wp-block-woocommerce-cart-order-summary-totals-block {
  border-color: var(--woocommerce-table-border);
  border-width: var(--woocommerce-table-border-width);
}

.c-woocommerce-container .wc-block-components-totals-wrapper {
  border-top-color: var(--woocommerce-table-border);
  border-top-width: var(--woocommerce-table-border-width);
}

.c-woocommerce-container .wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
  border-bottom-color: var(--woocommerce-table-border);
  border-bottom-width: var(--woocommerce-table-border-width);
}

.c-woocommerce-container .wc-block-cart-item__image a {
  background: none;
}

.c-woocommerce-container .wc-block-components-shipping-calculator-address__button {
  margin-top: 16px;
}

.c-woocommerce-container .wc-block-components-express-payment-continue-rule::after,
.c-woocommerce-container .wc-block-components-express-payment-continue-rule::before {
  border-bottom: 1px solid var(--woocommerce-table-border);
}

.c-woocommerce-container .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content {
  border: 1px solid var(--woocommerce-table-border);
  border-radius: 0 0 var(--woocommerce-input-border-radius) var(--woocommerce-input-border-radius);
  border-top: 0;
}

.c-woocommerce-container .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::before {
  border-left: 1px solid var(--woocommerce-table-border);
  border-top: 1px solid var(--woocommerce-table-border);
  border-radius: var(--woocommerce-input-border-radius) 0 0 0;
}

.c-woocommerce-container .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::after {
  border-radius: 0 var(--woocommerce-input-border-radius) 0 0;
  border-right: 1px solid var(--woocommerce-table-border);
  border-top: 1px solid var(--woocommerce-table-border);
}

/* ==========================================================================
   Kasse
   ========================================================================== */
/* font-sizes */
.c-woocommerce-container .wc-block-components-checkout-step__description,
.c-woocommerce-container .wc-block-components-totals-item__description {
  font-size: var(--font-size-body-s);
}

/* h2 small*/
.c-woocommerce-container .wc-block-components-title.wc-block-components-title {
  font-size: var(--font-size-h2-small);
  font-weight: var(--font-weight-bold);
}

/* table borders */
.c-woocommerce-container .is-large .wp-block-woocommerce-checkout-order-summary-block,
.c-woocommerce-container .wp-block-woocommerce-checkout-order-summary-totals-block {
  border-color: var(--woocommerce-table-border);
  border-width: var(--woocommerce-table-border-width);
}

.c-woocommerce-container .is-large .wp-block-woocommerce-checkout-order-summary-block {
  border-radius: var(--woocommerce-input-border-radius);
}

/* color arrows sidebar */
.c-woocommerce-container .wc-block-components-panel__button > .wc-block-components-panel__button-icon {
  fill: var(--color-highlight);
}

/* shipping /payment method active */
.c-woocommerce-container .wc-block-components-radio-control--highlight-checked::after {
  border: none;
  border-radius: var(--woocommerce-input-border-radius);
}

.c-woocommerce-container .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted,
.c-woocommerce-container .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.c-woocommerce-container .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
  border-radius: var(--woocommerce-input-border-radius);
  box-shadow: inset 0 0 0 var(--woocommerce-table-border-width) var(--woocommerce-active-border);
  background-color: var(--bg-light);
}

/*.c-woocommerce-container .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, 
.c-woocommerce-container .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
    border-radius: var(--woocommerce-input-border-radius);
    box-shadow: inset 0 0 0 1.5px currentColor;
}*/
.c-woocommerce-container .wc-block-components-address-card {
  border-color: var(--woocommerce-table-border);
  border-width: var(--woocommerce-table-border-width);
  border-radius: var(--woocommerce-input-border-radius);
}

/* payment highlight border-radius */
.c-woocommerce-container .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:last-child::after {
  border-bottom-left-radius: var(--woocommerce-input-border-radius);
  border-bottom-right-radius: var(--woocommerce-input-border-radius);
}

.c-woocommerce-container .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:first-child::after {
  border-top-left-radius: var(--woocommerce-input-border-radius);
  border-top-right-radius: var(--woocommerce-input-border-radius);
}

.c-woocomerce-container .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.c-woocomerce-container .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
  border-radius: var(--woocommerce-input-border-radius);
}

.c-woocommerce-container .wc-block-components-radio-control-accordion-content {
  padding-left: var(--woocommerce-text-payment-padding-left);
  font-size: var(--font-size-body-s);
}

.c-woocommerce-container .wc-block-components-radio-control-accordion-content p {
  padding-bottom: 1em;
  text-align: left;
}

.c-woocommerce-container .wc-block-components-radio-control-accordion-content p:last-child {
  padding-bottom: 0;
}

.c-woocommerce-container .wc-block-components-radio-control-accordion-content p.ppcp-place-order-description {
  text-align: left !important;
}

.c-woocommerce-container .wc-block-components-radio-control--highlight-checked div.wc-block-components-radio-control-accordion-option::after,
.c-woocommerce-container .wc-block-components-radio-control--highlight-checked div.wc-block-components-radio-control-accordion-option::after {
  height: var(--woocommerce-payment-border-width);
}

/* circle quantity */
.c-woocommerce-container .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
  border: none;
  border-radius: 50%;
  background-color: var(--color-highlight);
  font-weight: var(--font-weight-bold);
  color: var(--text-color-light);
  width: 26px;
  height: 26px;
  line-height: 26px;
  font-size: 14px;
}

/* checkout bullet points express checkout*/
.c-woocommerce-container .c-text-block .wc-block-components-express-payment .wc-block-components-express-payment__event-buttons > li,
.c-woocommerce-container .c-text-block .wc-block-components-express-payment--cart .wc-block-components-express-payment__event-buttons > li {
  padding-left: 0;
}

.c-woocommerce-container .c-text-block .wc-block-components-express-payment .wc-block-components-express-payment__event-buttons > li::before,
.c-woocommerce-container .c-text-block .wc-block-components-express-payment--cart .wc-block-components-express-payment__event-buttons > li::before {
  content: "";
}

/*button on mobile full width */
@media only screen and (max-width: 450px) {
  .c-woocommerce-container .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
    width: 100%;
  }
}
/* ==========================================================================
   my account
   ========================================================================== */
/* navigation */
.c-woocommerce-container .woocommerce-MyAccount-navigation {
  padding-bottom: var(--spacing-l);
}

.c-woocommerce-container .woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  text-transform: uppercase;
  font-weight: var(--font-weight-bold);
}

.c-woocommerce-container .c-text-block .woocommerce-MyAccount-navigation li {
  padding-left: 0;
  padding-right: 1.5em;
  padding-bottom: 1em;
}

.c-woocommerce-container .c-text-block .woocommerce-MyAccount-navigation li + li {
  margin-top: 0;
}

.c-woocommerce-container .c-text-block .woocommerce-MyAccount-navigation li::before {
  content: "";
}

.c-woocommerce-container .c-text-block .woocommerce-MyAccount-navigation-link a {
  position: relative;
  background: none;
}

.c-woocommerce-container .c-text-block .woocommerce-MyAccount-navigation-link a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: var(--color-highlight);
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#00d4b4+0,00d4b4+50,00d4b4+100&0+0,1+50,1+100 */
  background: -moz-linear-gradient(left, rgba(0, 212, 180, 0) 0%, rgb(0, 212, 180) 50%, rgb(0, 212, 180) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(left, rgba(0, 212, 180, 0) 0%, rgb(0, 212, 180) 50%, rgb(0, 212, 180) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, rgba(0, 212, 180, 0) 0%, rgb(0, 212, 180) 50%, rgb(0, 212, 180) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#0000d4b4", endColorstr="#00d4b4",GradientType=1 ); /* IE6-9 */
  transition: width 0.2s ease-out;
  z-index: -1;
}

.c-woocommerce-container .c-text-block .woocommerce-MyAccount-navigation-link a:hover::before,
.c-woocommerce-container .c-text-block .woocommerce-MyAccount-navigation-link.is-active a::before {
  width: 100%;
}

/* form width */
@media only screen and (min-width: 850px) {
  .c-woocommerce-container .woocommerce-EditAccountForm {
    width: 65%;
  }
}
.c-woocommerce-container .woocommerce-EditAccountForm legend {
  font-weight: var(--font-weight-bold);
}

.c-woocommerce-container .woocommerce-EditAccountForm fieldset {
  margin-top: var(--spacing-m);
}

/* styles for every project */
/* ==========================================================================
   Viewport
   ========================================================================== */
@-ms-viewport {
  width: device-width;
}
/* ==========================================================================
   Mediaqueries
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  /* grid gap */
  .c-container,
.c-teaser-service .c-teaser-service-text {
    padding-left: 60px;
    padding-right: 60px;
  }
  .c-row {
    margin-right: -30px;
    margin-left: -30px;
  }
  .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 {
    padding-right: 30px;
    padding-left: 30px;
  }
  .c-offcanvas-toggle,
.c-btn-close {
    right: 60px;
  }
  .c-language-navigation {
    right: 150px;
  }
  .c-logowall-line::before {
    left: 60px;
    width: calc(100% - 120px);
  }
}
@media only screen and (min-width: 1600px) {
  /* container max width */
  .c-container {
    max-width: 1560px;
    margin-left: auto;
    margin-right: auto;
  }
  .c-teaser-service .c-teaser-service-text {
    max-width: 780px;
  }
}
@media only screen and (max-width: 1100px) {
  .c-title-main .c-col-10,
.c-title-section .c-col-10,
.c-teaser-cta .c-col-10,
.c-showroom-text .c-col-10,
.c-teaser-big-text .c-col-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-text-2col .c-col-5,
.c-text-img-2col-symmetric .c-col-5:nth-of-type(2) {
    -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) and (max-width: 1200px) {
  .c-testimonial .c-text-block blockquote p {
    font-size: 1rem;
  }
  .c-testimonial .c-text-block blockquote cite {
    padding-top: 1em;
  }
}
@media only screen and (max-width: 980px) {
  .c-teaser-1col .c-col-7,
.c-teaser-1col .c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-profile .c-col-3 {
    -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-text-img-2col-symmetric .c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
    margin-left: 0;
  }
  .c-footer-main .c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    padding-top: 6em;
  }
  .c-footer-main .c-col-4 {
    -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-col-3 {
    -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-testimonial .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-testimonial .c-col-4 + .c-col-4 {
    padding-top: 3em;
  }
  .c-testimonial .c-text-block blockquote {
    padding-right: 20%;
  }
  .c-footer-partner .c-col-7,
.c-footer-partner .c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-footer-partner .c-col-5 {
    padding-top: 3em;
  }
}
@media only screen and (min-width: 951px) {
  .c-img-right .c-row {
    flex-direction: row-reverse;
  }
  .c-img-right {
    text-align: right;
  }
  .c-img-right .c-line::before {
    left: auto;
    right: 0;
  }
}
@media only screen and (max-width: 950px) {
  .c-img .c-col-8,
.c-img .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-text-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%;
    margin-left: 0;
  }
}
@media only screen and (max-width: 880px) {
  .c-text-2col .c-col-6,
.c-text-2col .c-col-5,
.c-text-img-2col-symmetric .c-col-5,
.c-text-img-2col-symmetric .c-col-5:nth-of-type(2) {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-text-img-2col-symmetric .c-col-5:first-child {
    padding-bottom: 1.5em;
  }
  .c-logowall-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
  }
}
@media only screen and (max-width: 820px) {
  .c-text-only .c-col-8,
.c-profile .c-col-8,
.c-profile .c-col-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-profile .c-col-3 {
    padding-bottom: 6em;
  }
  .c-profile-list {
    margin-top: 0;
  }
  .c-testimonial .c-text-block blockquote {
    padding-right: 0;
  }
}
@media only screen and (min-width: 600px) and (max-width: 820px) {
  .c-profile-list {
    display: flex;
    flex-flow: row wrap;
  }
  .c-profile-list li {
    display: block;
    position: relative;
    padding-top: 2em;
    padding-right: 20px;
    -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-profile-list-portfolio li {
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-profile-list-portfolio li:nth-child(1),
.c-profile-list-portfolio li:nth-child(2) {
    margin-bottom: 1.7em;
  }
  .c-profile-list li::before {
    content: "";
    position: absolute;
    width: 128px;
    height: 4px;
    left: 0;
    top: 0;
    background-color: #2E1AA9;
  }
  .c-profile-list li:first-child::before {
    background: none;
  }
}
@media only screen and (min-width: 768px) {
  .c-teaser-service-inner {
    position: relative;
    height: 0;
    display: block;
    overflow: hidden;
    padding-bottom: 37.5%;
  }
  .c-teaser-service-visual,
.c-teaser-service-desc {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .c-teaser-service-desc {
    display: flex;
    align-items: center;
  }
  .c-teaser-service-img-mobile {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .c-text-only .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-teaser-team .c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-text-img-2col .c-col-8,
.c-text-img-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%;
  }
  .c-teaser-service .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-teaser-service .c-teaser-service-text {
    padding-bottom: 6em;
  }
  .c-teaser-service-visual .c-video {
    display: none;
  }
  .c-features .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: 700px) {
  .c-teaser-1col .c-col-7,
.c-teaser-1col .c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-teaser-1col .c-teaser-text {
    padding-top: 1.5em;
  }
  .c-quote .c-row {
    justify-content: flex-end;
  }
  .c-quote .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%;
  }
  /* img var */
  .c-col-img-var {
    padding-top: 3em;
    padding-bottom: 3em;
  }
  .c-img-var-align-top {
    padding-top: 0;
  }
  .c-img-var-align-bottom {
    padding-bottom: 0;
  }
  .c-img-var .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-img-var .c-col-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .c-img-var .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-img-var .c-col-4:nth-of-type(3) {
    margin-left: auto;
    margin-right: auto;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
}
@media only screen and (max-width: 650px) {
  .c-teaser-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-img-tiles .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-text-img-2col .c-col-8,
.c-text-img-2col .c-col-4,
.c-img-2col .c-col-6,
.c-text-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-text-img-2col .c-col-4 {
    padding-bottom: 1.5em;
  }
  .c-img-2col .c-col-6:first-child {
    padding-bottom: 6em;
  }
  .c-keyfacts .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-keyfacts .c-col-4 + .c-col-4 {
    padding-top: 6em;
  }
}
@media only screen and (max-width: 600px) {
  .c-teaser-expert .c-col-8,
.c-teaser-expert .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-teaser-expert .c-col-8 {
    padding-top: 1.5em;
  }
  .c-teaser-expert .c-teaser-img {
    width: 66.666%;
  }
  .c-line::before,
.c-profile-list li::before {
    width: 80px;
  }
  .c-footer-main .c-col-4,
.c-footer-main .c-col-3,
.c-footer-disclaimer .c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .c-footer-main .c-col-4 {
    padding-bottom: 6em;
  }
  .c-footer-disclaimer-list,
.c-footer-main {
    padding-bottom: 1.5em;
  }
  .c-footer-disclaimer .c-col-6 {
    text-align: left;
  }
  .c-footer-nav-list li + li {
    padding-top: 0.8em;
  }
  .c-header-logo {
    width: 145px;
  }
}
@media only screen and (max-width: 540px) {
  .c-features .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-features .c-col-4:nth-child(2) .c-features-list {
    border-top: none;
  }
  .c-form-footer .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-logowall-list li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media only screen and (max-width: 420px) {
  .c-teaser-team .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-teaser-team .c-teaser-img {
    width: 66.666%;
  }
  .c-quote .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-text-block blockquote {
    padding-top: 4em;
  }
  .c-text-block blockquote p::before {
    left: 0;
    top: -0.9em;
  }
  .c-img-var .c-col-4,
.c-img-var .c-col-4:nth-of-type(3) {
    margin-left: auto;
    margin-right: auto;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  .c-img-var .c-col-4:nth-of-type(2) {
    padding-top: 0;
    padding-bottom: 0;
  }
  .c-form-footer .c-form-text {
    padding-right: 0;
  }
  .c-btn-send {
    position: relative;
    right: auto;
    margin-top: 2em;
  }
}
/* ==========================================================================
   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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WTtFSVBaO0FObXFCRDs7QU1ocUJBO0FBQ0E7RUFDQztBTm1xQkQ7O0FNL3BCQTs7OztFQUlDLGNKTlk7QUZ3cUJiOztBTS9wQkE7Ozs7RUFJQyxXSlprQjtBRjhxQm5COztBTS9wQkE7RUFDQztFQUNBO0FOa3FCRDs7QU03cEJBOzsrRUFBQTtBQUtBOzs7RUFHQyxjSi9CWTtFSWdDWjtBTjhwQkQ7O0FNM3BCQTtFQUNDO0FOOHBCRDs7QU0xcEJBOzsrRUFBQTtBQUlBOzs7OztFQUtJO0FONHBCSjs7QU16cEJBO0VBQ0k7QU40cEJKOztBTXpwQkE7O0VBRUM7RUFDQTtBTjRwQkQ7O0FNenBCQTtFQUNDO0FONHBCRDs7QU96dUJBOzsrRUFBQTtBQUlBOzs7OztFQUtJO0VBQ0E7RUFDQTtBUDJ1Qko7O0FPeHVCQTtFQUNDO0FQMnVCRDs7QU94dUJBOzsrRUFBQTtBQUlBOzs7OztFQUtDO0FQMHVCRDs7QU92dUJBO0VBQ0M7QVAwdUJEOztBT3Z1QkE7OztFQUdDO0FQMHVCRDs7QU92dUJBO0VBQ0M7QVAwdUJEOztBT3Z1QkE7RUFDQztBUDB1QkQ7O0FPdnVCQTtFQUNDO0VBQ0E7RUFDQTtBUDB1QkQ7O0FPdnVCQTtFQUNDO0VBQ0E7QVAwdUJEOztBT3Z1QkE7RUFDQztFQUNBO0FQMHVCRDs7QU92dUJBO0VBQ0M7QVAwdUJEOztBT3Z1QkE7RUFDQztFQUNBO0FQMHVCRDs7QU92dUJBOzsrRUFBQTtBQUlBO0VBQ0k7RUFDQTtBUHl1Qko7O0FPcHVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNJO0VBQ0k7QVB1dUJaO0FPcnVCSTtFQUNJO0FQdXVCUjs7QU9udUJBO0VBQ0k7QVBzdUJKOztBT251QkE7RUFDSTtFQUNBO0VBQ0E7QVBzdUJKO0FPcHVCSTtFQUNJO0FQc3VCUjs7QU9sdUJBO0VBQ0k7QVBxdUJKOztBT2x1QkE7RUFDSTtBUHF1Qko7O0FPbHVCQTtFQUNJO0FQcXVCSjs7QU9sdUJBO0VBQ0k7QVBxdUJKOztBT2x1QkE7RUFDSTtBUHF1Qko7O0FPbHVCQTtFQUNJO0FQcXVCSjs7QU9sdUJBO0VBQ0k7QVBxdUJKOztBT2x1QkE7RUFDSTtBUHF1Qko7O0FPbHVCQTs7Ozs7Ozs7Ozs7O0VBWUk7RUFDQTtFQUNBO0VBQ0E7QVBxdUJKOztBT2x1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQcXVCSjs7QU9sdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUHF1Qko7O0FPbHVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBxdUJKOztBT2x1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQcXVCSjs7QU9sdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUHF1Qko7O0FPbHVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBxdUJKOztBT2x1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQcXVCSjs7QU9sdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUHF1Qko7O0FPbHVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBxdUJKOztBT2x1QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQcXVCSjs7QU9sdUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUHF1Qko7O0FPbHVCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBxdUJKOztBT2x1QkE7QUFDQTtFQUNFO0FQcXVCRjs7QU9sdUJBO0VBQ0U7QVBxdUJGOztBT2x1QkE7RUFDRTtBUHF1QkY7O0FPbHVCQTtFQUNFO0FQcXVCRjs7QU9sdUJBO0VBQ0U7QVBxdUJGOztBT2x1QkE7RUFDRTtBUHF1QkY7O0FPbHVCQTtFQUNFO0FQcXVCRjs7QU9sdUJBO0VBQ0U7QVBxdUJGOztBT2x1QkE7RUFDRTtBUHF1QkY7O0FPbHVCQTtFQUNFO0FQcXVCRjs7QU9sdUJBO0VBQ0U7QVBxdUJGOztBT2x1QkE7OytFQUFBO0FBSUE7RUFDQztFQUNBO0FQb3VCRDs7QU9qdUJBO0VBQ0M7RUFDQTtBUG91QkQ7O0FPaHVCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNsVUE7OytFQUFBO0FBR0E7RUFDQztFQUNBLHdETkNvQjtFTUFwQjtBUm9rQ0Q7O0FRL2pDQTs7K0VBQUE7QUFJQTs7Ozs7O0VBTUM7RUFDQTtBUmlrQ0Q7O0FRN2pDQTs7OztFQUlDO0VBQ0E7QVJna0NEOztBUTVqQ0E7O0VBRUM7RUFDQSxjTm5CZTtBRmtsQ2hCOztBUTVqQ0E7O0VBRUMsV041QmtCO0FGMmxDbkI7O0FRM2pDQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtBUjhqQ0Q7O0FRMWpDQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtBUjZqQ0Q7O0FRempDQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtBUjRqQ0Q7O0FReGpDQTtFQUNDO0FSMmpDRDs7QVF4akNBO0VBQ0M7RUFDQTtBUjJqQ0Q7O0FReGpDQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtBUjJqQ0Q7O0FReGpDQTtFQUNDO0VBQ0E7QVIyakNEOztBUXhqQ0E7RUFDQyxjTjlFZTtBRnlvQ2hCOztBUXhqQ0E7RUFDQztBUjJqQ0Q7O0FRdGpDQTs7K0VBQUE7QUFJQTs7RUFFQztBUndqQ0Q7O0FRcmpDQTs7RUFFQztBUndqQ0Q7O0FRcmpDQTs7RUFFQztBUndqQ0Q7O0FRcmpDQTs7OztFQUlDO0FSd2pDRDs7QVFyakNBOztFQUVDO0VBQ0E7RUFDQTtBUndqQ0Q7O0FRcGpDQTtFQUNDO0VBQ0E7QVJ1akNEOztBUXBqQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5Qk5ySWU7QUY0ckNoQjs7QVFwakNBO0VBQ0Msc0JON0lrQjtBRm9zQ25COztBUXBqQ0E7RUFDQyx5Qk4vSW1CO0FGc3NDcEI7O0FRbmpDQTtFQUNDO0VBQ0E7RUFDQSxjTnBKZTtFTXFKZjtBUnNqQ0Q7O0FRbGpDQTtFQUNDO0FScWpDRDs7QVFsakNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0EsY05wS21CO0FGeXRDcEI7O0FRbGpDQTtFQUNDO0FScWpDRDs7QVFqakNBO0VBQ0M7QVJvakNEOztBUWpqQ0E7RUFDQztFQUNBO0FSb2pDRDs7QVFqakNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QVJvakNEOztBUWhqQ0E7OytFQUFBO0FBR0E7RUFDQztFQUNBO0VBQ0E7QVJtakNEOztBUWhqQ0E7RUFDQztFQUNBO0FSbWpDRDs7QVFoakNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjTjdNZTtFTThNZjtBUm1qQ0Q7O0FRaGpDQTtFQUNDO0FSbWpDRDs7QVFoakNBO0VBQ0M7RUFDQTtBUm1qQ0Q7O0FRL2lDQTs7RUFFQztFQUNBO0VBQ0E7QVJrakNEOztBUS9pQ0E7O0VBRUM7RUFDQTtFQUNBO0FSa2pDRDs7QVEvaUNBO0VBQ0M7QVJrakNEOztBUS9pQ0E7RUFDQztBUmtqQ0Q7O0FRL2lDQTtFQUNDO0FSa2pDRDs7QVE5aUNBOzsrRUFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QVJnakNEOztBUTdpQ0E7RUFDQztFQUNBO0VBQ0E7QVJnakNEOztBUTdpQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBUmdqQ0Q7O0FRN2lDQTs7K0VBQUE7QUFJQTtFQUNDO0VBQ0E7QVIraUNEOztBUTVpQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY043UmU7QUY0MENoQjs7QVE1aUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY050U2lCO0FGcTFDbEI7O0FRNWlDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBLGNOalRtQjtBRmcyQ3BCOztBUTVpQ0E7QUFDQTtFQUNJO0FSK2lDSjs7QVE1aUNBO0VBQ0k7QVIraUNKOztBUTVpQ0E7RUFDQztFQUNHO0FSK2lDSjs7QVE1aUNBO0VBQ0M7QVIraUNEOztBUTVpQ0E7O0VBRUksV056VWU7QUZ3M0NuQjs7QVExaUNBOzsrRUFBQTtBQUlBO0VBQ0M7QVI0aUNEOztBUXppQ0E7RUFDQztBUjRpQ0Q7O0FRemlDQTtFQUNDLFdOM1ZrQjtBRnU0Q25COztBUXppQ0E7OytFQUFBO0FBS0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBUjBpQ0Q7O0FRdmlDQTtFQUNDO0FSMGlDRDs7QVF2aUNBO0VBQ0M7QVIwaUNEOztBUXZpQ0E7OytFQUFBO0FBS0E7RUFDQzs7O0lBR0M7RVJ3aUNBO0VRcmlDRDtJQUNDO0VSdWlDQTtFUXBpQ0Q7Ozs7O0lBS0M7RVJzaUNBO0VRbmlDRDtJQUNDO0VScWlDQTtFUWxpQ0Q7SUFDQztFUm9pQ0E7RVFqaUNEO0lBQ0M7RVJtaUNBO0FBQ0Y7QVFoaUNBO0VBQ0M7SUFDQztFUmtpQ0E7QUFDRjtBUTdoQ0E7RUFDQztJQUNDO0VSK2hDQTtBQUNGO0FRNWhDQTtFQUNDO0lBQ0M7RVI4aENBO0FBQ0Y7QVF6aENBO0VBQ0M7SUFDQztFUjJoQ0E7QUFDRjtBUXZoQ0E7RUFDQztJQUNDO0VSeWhDQTtFUXJoQ0Q7OztJQUdDO0VSdWhDQTtFUXBoQ0Q7O0lBRUM7RVJzaENBO0VRbmhDRDs7Ozs7O0lBTUM7RVJxaENBO0VRbGhDRDs7Ozs7O0lBTUM7RVJvaENBO0FBQ0Y7QVN4L0NBOzsrRUFBQTtBQUlBO0VBQ0MsaUJQdUNhO0VPdENiO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVHkvQ0Q7QVN2L0NDO0VBQ0M7QVR5L0NGOztBU3AvQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBVHUvQ0Q7O0FTcC9DQTtFQUNDLFdQWmtCO0VPYWxCO0FUdS9DRDs7QVNwL0NBO0VBQ0M7RUFDQTtBVHUvQ0Q7O0FTcC9DQTtFQUNDLFVQdEJrQjtBRjZnRG5CO0FTci9DQztFQUNDLGFQckJjO0FGNGdEaEI7O0FTbi9DQTtFQUNDO0VBQ0E7QVRzL0NEOztBU24vQ0E7QUFDQTtFQUNJO0lBQ0Y7RVRzL0NBO0FBQ0Y7QVNuL0NBO0VBQ0M7RUFDQTtFQUNBO0FUcS9DRDtBU24vQ0M7RUFDQztBVHEvQ0Y7O0FTai9DQTs7RUFFQyxnQlByRGtCO0FGeWlEbkI7O0FTbC9DQTtFQUNDO0FUcS9DRDs7QVNsL0NBO0VBQ0M7SUFDQztFVHEvQ0E7QUFDRjtBVWxrREE7OytFQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0EseUJSaUJTO0VRaEJULGNSU21CO0FGMGpEcEI7O0FVaGtEQTtFQUNDO0FWbWtERDs7QVVoa0RBO0VBQ0M7QVZta0REOztB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QTs7O0VBR0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYittRkQ7O0FhNW1GQTtFQUNDO0VBQ0E7RUFDQTtBYittRkQ7O0FhMW1GQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWI2bUZEOztBYTFtRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBYjZtRkQ7O0FhMW1GQTs7RUFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiNG1GRDs7QWF6bUZBOztFQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7QWIybUZEOztBYXhtRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYjJtRkQ7O0Fhdm1GQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCWC9SaUI7RVdnU2pCO0FiMG1GRDs7QWFybUZBO0VBQ0MseUJYelNtQjtBRmk1RnBCOztBYXJtRkE7RUFDQztBYndtRkQ7O0Fhcm1GQTs7RUFFQyx5QlgvU2lCO0VXZ1RqQjtBYndtRkQ7O0Fhcm1GQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fid21GRDs7QWFybUZBO0VBQ0M7QWJ3bUZEOztBYXJtRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYndtRkQ7O0Fhcm1GQTtFQUNDO0Fid21GRDs7QWFwbUZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJ1bUZEOztBYXBtRkE7RUFDQztBYnVtRkQ7O0Fhbm1GQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fic21GRDs7QWFubUZBO0VBQ0M7QWJzbUZEOztBYW5tRkE7RUFDQztFQUNBO0Fic21GRDs7QWFubUZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fic21GRDs7QWFubUZBOztFQUVDO0VBQ0E7QWJzbUZEOztBYW5tRkE7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fic21GRDs7QWFubUZBO0VBQ0M7QWJzbUZEOztBYW5tRkE7RUFDQztJQUNDO0Vic21G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c0lEO0lBQ0M7RWxCNHNJQTtFa0J6c0lFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEIyc0lOO0FBQ0Y7QWtCeHNJQTtFQUNDOzs7SUFHQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQjBzSUE7RWtCdnNJRDtJQUNDO0VsQnlzSUE7RWtCdHNJRDtJQUNDO0VsQndzSUE7RWtCcnNJRTtJQUNJO0VsQnVzSU47QUFDRjtBa0Juc0lBO0VBQ0M7SUFDQztJQUNBO0VsQnFzSUE7RWtCbHNJRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJvc0lBO0VrQmpzSUQ7SUFDQztJQUNBO0lBQ0E7SUFDQTtFbEJtc0lBO0VrQmhzSUQ7O0lBRUM7RWxCa3NJQTtFa0IvcklEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EseUJoQjFTYztFRjIrSWQ7RWtCOXJJRDtJQUNDO0VsQmdzSUE7QUFDRjtBa0IxcklBO0VBQ0M7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQjRySUE7RWtCeHJJRDs7SUFFQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQjBySUE7RWtCdnJJRDtJQUNDO0lBQ0E7RWxCeXJJQTtFa0JycklEO0lBQ0M7RWxCdXJJQTtBQUNGO0FrQnBySUE7RUFDQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCc3JJQTtFa0JscklEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJvcklBO0VrQmpySUQ7O0lBRUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJtcklBO0VrQjlxSUQ7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQmdySUE7RWtCN3FJRDtJQUNDO0VsQitxSUE7RWtCNXFJRDtJQUNDO0VsQjhxSUE7RWtCMXFJRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCNHFJQTtBQUNGO0FrQnhxSUE7RUFDQzs7SUFFQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQjBxSUE7RWtCdnFJRDtJQUNDO0VsQnlxSUE7RWtCdHFJRDtJQUNDO0VsQndxSUE7RWtCcnFJRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCdXFJQTtFa0JucUlEO0VBQ0E7SUFDQztJQUNBO0VsQnFxSUE7RWtCbHFJRDtJQUNDO0VsQm9xSUE7RWtCanFJRDtJQUNDO0VsQm1xSUE7RWtCaHFJRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCa3FJQTtFa0IvcElEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJpcUlBO0VrQjlwSUQ7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQmdxSUE7RWtCN3BJRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQitwSUE7QUFDRjtBa0I1cElBO0VBQ0M7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQjhwSUE7RWtCM3BJRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCNnBJQTtFa0IxcElEOzs7O0lBSUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEI0cElBO0VrQnpwSUQ7SUFDQztFbEIycElBO0VrQnhwSUQ7SUFDQztFbEIwcElBO0VrQnZwSUQ7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQnlwSUE7RWtCdHBJRDtJQUNDO0VsQndwSUE7QUFDRjtBa0JucElBO0VBQ0M7O0lBRUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJxcElBO0VrQmxwSUQ7SUFDQztFbEJvcElBO0VrQmpwSUQ7SUFDQztFbEJtcElBO0VrQmhwSUQ7O0lBRUM7RWxCa3BJQTtFa0Ivb0lEOzs7SUFHQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQmlwSUE7RWtCOW9JRDtJQUNDO0VsQmdwSUE7RWtCN29JRDs7SUFFQztFbEIrb0lBO0VrQjNvSUQ7SUFDQztFbEI2b0lBO0VrQjFvSUQ7SUFDQztFbEI0b0lBO0VrQnpvSUQ7SUFDQztFbEIyb0lBO0FBQ0Y7QWtCeG9JQTtFQUNDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEIwb0lBO0VrQnZvSUQ7SUFDQztFbEJ5b0lBO0VrQnRvSUQ7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQndvSUE7RWtCcm9JRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCdW9JTjtBQUNGO0FrQnBvSUE7RUFDQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCc29JQTtFa0Jub0lEO0lBQ0M7RWxCcW9JQTtFa0Jsb0lEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJvb0lBO0VrQmpvSUQ7SUFDQztFbEJtb0lBO0VrQmhvSUQ7SUFDQztJQUNBO0VsQmtvSUE7RWtCL25JRDs7SUFFQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJpb0lBO0VrQjluSUQ7SUFDQztJQUNBO0VsQmdvSUE7RWtCNW5JRDtJQUNDO0VsQjhuSUE7RWtCM25JRDtJQUNDO0lBQ0E7SUFDQTtFbEI2bklBO0FBQ0Y7QW1CdnlKQTs7K0VBQUE7QUFHQTtFQUNJO0VBQ0E7SUFDSTtJQUNBO0lBQ0E7SUFDQTtFbkJ5eUpOO0VtQnR5SkQ7O0lBRU87RW5Cd3lKTjtFbUJyeUpFOzs7SUFHRjtFbkJ1eUpBO0VtQnB5SkU7O0lBRUk7SUFDQTtFbkJzeUpOO0VtQm55SkU7SUFDSTtFbkJxeUpOO0VtQmx5SkU7O0lBRUk7RW5Cb3lKTjtFbUJqeUpFO0lBQ0k7RW5CbXlKTjtFbUJoeUpFO0lBQ0k7RW5Ca3lKTjtFbUIveEpFOzs7SUFHSTtJQUNBO0VuQml5Sk47RW1COXhKRTs7SUFFSTtJQUNBO0VuQmd5Sk47RW1CN3hKRTtFQUVIOztJQUVDO0lBQ0E7SUFDQTtFbkI4eEpBO0VtQjN4SkU7SUFDSTtFbkI2eEpOO0VtQjF4SkQ7SUFDQztFbkI0eEpBO0VtQnp4SkQ7Ozs7O0lBS0M7RW5CMnhKQTtFbUJ4eEpEO0VBQ0E7SUFDQztFbkIweEpBO0VtQnR4SkQ7SUFDQztFbkJ3eEpBO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9tYWluLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbW1vbi9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL19ub3JtYWxpemUuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tbW9uL19oZWxwZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fZ3JpZC5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fb2ZmY2FudmFzLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX2NvbnRlbnRlbGVtZW50cy5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19idXR0b24tbGlua3Muc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fcmF0aW9ib3guc2NzcyIsIndlYnBhY2s6Ly9odG1sY3Nzc3luYy8uLi9zdHlsZXMvY29tcG9uZW50cy9fZm9ybS5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19zaG9wLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3dvb2NvbW1lcmNlLWxheW91dC5zY3NzIiwid2VicGFjazovL2h0bWxjc3NzeW5jLy4uL3N0eWxlcy9jb21wb25lbnRzL19yZXNwb25zaXZlLnNjc3MiLCJ3ZWJwYWNrOi8vaHRtbGNzc3N5bmMvLi4vc3R5bGVzL2NvbXBvbmVudHMvX3ByaW50LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2V0dGluZ3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbXBvcnQgXCJjb21tb24vX2ZvbnRzXCI7XG5AaW1wb3J0IFwiY29tbW9uL192YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJjb21tb24vX25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcImNvbW1vbi9fbWl4aW5zXCI7XG5AaW1wb3J0IFwiY29tbW9uL19oZWxwZXJzXCI7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNhYXMgVG9vbHMgKGltcG9ydGVkIGZyb20gbm9kZV9tb2R1bGVzKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gU2N1dDogU2Fzcy1DU1MgVXRpdGlsaWVzIChodHRwczovL2RhdmlkdGhlY2xhcmsuZ2l0aHViLmlvL3NjdXQvKVxuLypAaW1wb3J0ICdzY3V0L2Rpc3Qvc2N1dCc7Ki9cblxuLy8gTWVkaWEgUXVlcmllcyB3aXRoIHN1cGVycG93ZXJzIChodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xKVxuLypAaW1wb3J0ICdzYXNzLW1xL21xJzsqL1xuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogc3R5bGVzIGZvciBldmVyeSBwcm9qZWN0ICovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYmFzZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2dyaWRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL190eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9faGVhZGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZm9vdGVyXCI7XG5cbi8qIG9wdGlvbmFsIHN0eWxlcyAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX29mZmNhbnZhc1wiOyBcbi8qQGltcG9ydCBcImNvbXBvbmVudHMvX3RhYmxlc1wiOyovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9fY29udGVudGVsZW1lbnRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYnV0dG9uLWxpbmtzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcmF0aW9ib3hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19mb3JtXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fc2hvcFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3dvb2NvbW1lcmNlLWxheW91dFwiO1xuXG5cbi8qIHN0eWxlcyBmb3IgZXZlcnkgcHJvamVjdCAqL1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3Jlc3BvbnNpdmVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19wcmludFwiOyIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcm9qZWN0IEZvbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3JhZGlrYWwnO1xuICAgIHNyYzogIHVybCgnLi4vLi4vZm9udHMvcmFkaWthbC1saWdodC5lb3QnKTtcbiAgICBzcmM6ICB1cmwoJy4uLy4uL2ZvbnRzL3JhZGlrYWwtbGlnaHQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgICB1cmwoJy4uLy4uL2ZvbnRzL3JhZGlrYWwtbGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICAgdXJsKCcuLi8uLi9mb250cy9yYWRpa2FsLWxpZ2h0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICB1cmwoJy4uLy4uL2ZvbnRzL3JhZGlrYWwtbGlnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuXHRmb250LXdlaWdodDogIDMwMDtcblx0Zm9udC1zdHlsZTogICBub3JtYWw7XG5cdGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuXHRmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuXG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAncmFkaWthbCc7XG4gICAgc3JjOiAgdXJsKCcuLi8uLi9mb250cy9yYWRpa2FsLWxpZ2h0aXRhbGljLmVvdCcpO1xuICAgIHNyYzogIHVybCgnLi4vLi4vZm9udHMvcmFkaWthbC1saWdodGl0YWxpYy5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgIHVybCgnLi4vLi4vZm9udHMvcmFkaWthbC1saWdodGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgICB1cmwoJy4uLy4uL2ZvbnRzL3JhZGlrYWwtbGlnaHRpdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgIHVybCgnLi4vLi4vZm9udHMvcmFkaWthbC1saWdodGl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG5cdGZvbnQtd2VpZ2h0OiAgMzAwO1xuXHRmb250LXN0eWxlOiAgIGl0YWxpYztcblx0Zm9udC1zdHJldGNoOiBub3JtYWw7XG5cdGZvbnQtZGlzcGxheTogZmFsbGJhY2s7XG5cbn1cblxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3JhZGlrYWwnO1xuICAgIHNyYzogIHVybCgnLi4vLi4vZm9udHMvcmFkaWthbC1ibGFjay5lb3QnKTtcbiAgICBzcmM6ICB1cmwoJy4uLy4uL2ZvbnRzL3JhZGlrYWwtYmxhY2suZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgICB1cmwoJy4uLy4uL2ZvbnRzL3JhZGlrYWwtYmxhY2sud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICAgdXJsKCcuLi8uLi9mb250cy9yYWRpa2FsLWJsYWNrLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICB1cmwoJy4uLy4uL2ZvbnRzL3JhZGlrYWwtYmxhY2sudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuXHRmb250LXdlaWdodDogIDYwMDtcblx0Zm9udC1zdHlsZTogICBub3JtYWw7XG5cdGZvbnQtc3RyZXRjaDogbm9ybWFsO1xuXHRmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xufVxuXG4iLCIvKiBWYXJpYWJsZXMsIE5hbWluZyBtYXkgdmFyeSBmcm9tIHByb2plY3QgdG8gcHJvamVjdCAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9udHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRmb250LXN0YWNrLWRlZmF1bHQ6ICdyYWRpa2FsJywgJ0FyaWFsJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogdGV4dCAqL1xuJHRleHQtY29sb3I6ICMyQTIyMjg7IC8qIGdyZXkgKi9cbiR0ZXh0LWNvbG9yLWxpZ2h0OiAjZmZmO1xuJHRleHQtY29sb3ItbWVkaXVtOiAjNjA1RDZBO1xuJHRleHQtY29sb3ItZm9vdGVyOiAjZDZkNmQ2O1xuXG4kY29sb3ItcHJpbWFyeTogIzJFMUFBOTsgLyogYmx1ZSAqL1xuJGNvbG9yLWhpZ2hsaWdodDogIzAwRDRCNDsgLyogZ3JlZW4gKi9cblxuLyogYmFja2dyb3VuZCAqL1xuJGJnLWNvbnRlbnQ6ICNmZmY7XG4kYmctZGFyazogIzMzMzMzMzsgLyogZ3JleSAqL1xuJGJnLWxpZ2h0OiAjRTJFNUU5OyAvKiBncmV5ICovXG5cblxuLyogbGluZS1jb2xvcnMgKi9cbiRib3JkZXItYmFzaWM6ICNFMkU1RTk7XG4kYm9yZGVyLWxpZ2h0OiAjZmZmO1xuJGJvcmRlci1kYXJrOiAjNTk1ODVjO1xuXG4kYm9yZGVyLWZvcm06ICM5NDkxOTQ7XG4kYm9yZGVyLWZvcm0tZm9jdXM6ICMwMDA7XG5cblxuJGN1YmljLXRyYW5zaXRpb246IGVhc2Utb3V0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYWRkaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kcGFkZGluZy10b3A6IDNyZW07IC8qIHBhZGRpbmcgaGVhZGVyICovXG4kaGVpZ2h0LW1lc3NhZ2U6IDEyMHB4O1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ3VzdG9tIFByb3BlcnRpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjpyb290IHtcbiAgICAtLWZvcm0tZmllbGQtYmc6IHJnYmEoMjI2LDIyOSwyMzMsMC4zKTtcbn0iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLypcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29ycmVjdHMgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRTYvNyB3aGVuIGJvZHkgZm9udC1zaXplIGlzIHNldCB1c2luZyBlbSB1bml0c1xuICogICAgaHR0cDovL2NsYWdudXQuY29tL2Jsb2cvMzQ4LyNjNzkwXG4gKiAyLiBLZWVwcyBwYWdlIGNlbnRyZWQgaW4gYWxsIGJyb3dzZXJzIHJlZ2FyZGxlc3Mgb2YgY29udGVudCBoZWlnaHRcbiAqIDMuIFByZXZlbnRzIGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tXG4gKiAgICB3d3cuNDU2YmVyZWFzdHJlZXQuY29tL2FyY2hpdmUvMjAxMDEyL2NvbnRyb2xsaW5nX3RleHRfc2l6ZV9pbl9zYWZhcmlfZm9yX2lvc193aXRob3V0X2Rpc2FibGluZ191c2VyX3pvb20vXG4gKiA0LiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDQgKi9cbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xufVxuXG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuXG5cbiAqL1xuYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IC8qIGN1YmVncmFmaWsgKi9cbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gKi9cblxuYSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3V0bGluZWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIENocm9tZSBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuYTpmb2N1cyB7XG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFR5cG9ncmFwaHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKlxuKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLypcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLypcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgICBjb2xvcjogIzAwMDtcbn1cblxuLypcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qXG4gKiBJbXByb3ZlcyByZWFkYWJpbGl0eSBvZiBwcmUtZm9ybWF0dGVkIHRleHQgaW4gYWxsIGJyb3dzZXJzXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBTZXQgY29uc2lzdGVudCBxdW90ZSB0eXBlcy5cbiAqL1xuXG5xIHtcbiAgICBxdW90ZXM6IFwiXFwyMDFDXCIgXCJcXDIwMURcIiBcIlxcMjAxOFwiIFwiXFwyMDE5XCI7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuXG5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlcyBib3JkZXIgd2hlbiBpbnNpZGUgJ2EnIGVsZW1lbnQgaW4gSUU2LzcvOC85LCBGRjNcbiAqIDIuIEltcHJvdmVzIGltYWdlIHF1YWxpdHkgd2hlbiBzY2FsZWQgaW4gSUU3XG4gKiAgICBjb2RlLmZsaWNrci5jb20vYmxvZy8yMDA4LzExLzEyL29uLXVpLXF1YWxpdHktdGhlLWxpdHRsZS10aGluZ3MtY2xpZW50LXNpZGUtaW1hZ2UtcmVzaXppbmcvXG4gKi9cblxuaW1nIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyAvKiAyICovXG59XG5cbi8qXG4gKiBDb3JyZWN0cyBvdmVyZmxvdyBkaXNwbGF5ZWQgb2RkbHkgaW4gSUU5XG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZpZ3VyZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaSA1LlxuICovXG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENvcnJlY3RzIG1hcmdpbiBkaXNwbGF5ZWQgb2RkbHkgaW4gSUU2LzdcbiAqL1xuXG5mb3JtIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmdcbiAqL1xuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOjA7IC8qIGN1YmVncmFmaWsgKi9cbiAgICBtYXJnaW46MDsgLyogY3ViZWdyYWZpayAqL1xuICAgIHBhZGRpbmc6MDsgLyogY3ViZWdyYWZpayAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgYm9yZGVyOiAwO1xufVxuXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cblxuICogNC4gSW1wcm92ZXMgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiA0ICovXG59XG5cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcblxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLypcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3RzIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlcyB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqIDQuIFJlbW92ZXMgaW5uZXIgc3BhY2luZyBpbiBJRTcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICogS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRTYuXG4gKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgICAqb3ZlcmZsb3c6IHZpc2libGU7IC8qIDQgKi9cbn1cblxuLypcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHNcbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lclxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG5cbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuXG4vKipcblxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS5cbiAqIDIuIEltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgLyogMiAqL1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzXG4gKi9cblxudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRWxlbWVudHMgY3ViZWdyYWZpa1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYTphY3RpdmUge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cblxuZGl2LCBwIHtcbiAgICBwYWRkaW5nOjA7XG4gICAgbWFyZ2luOjA7XG59XG5cbmhyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG50aCwgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xufVxuXG5pbnB1dCxcbnRleHRhcmVhIHtcbiAgICAvKiBSZW1vdmVkIGJlY2F1c2Ugb2YgdmlzaWJpbGl0eWNoYW5nZS1hZGRpdGlvbiB0byBmYW5jeS1mb3JtcyBwbHVnaW4uXG4gICAgICogMjAxNS8wMS8yMiAtIEZsb3JpYW4gTcOkZGVyXG4gICAgICogLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyovXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xufVxuXG5odG1sIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIFNhZmFyaSAzLjAgLSA1LjAsIENocm9tZSAxIC0gOSwgQW5kcm9pZCAyLjEgLSAzLnggKi9cbiAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIEZpcmVmb3ggMSAtIDI4ICovXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiBTYWZhcmkgNS4xKywgQ2hyb21lIDEwKywgRmlyZWZveCAyOSssIE9wZXJhIDcrLCBJRSA4KywgQW5kcm9pZCA0LjArLCBpT1MgYW55ICovXG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgICAgIC1tb3otYm94LXNpemluZzogaW5oZXJpdDtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLyogSUUgMTAgICovXG4gICAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyAvKiBJRSAxMSsgKi9cbn1cblxuLmMtZmlndXJlLXBhZGRpbmd7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNWVtOyBcbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm0gUGxhY2Vob2xkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgICB7QGNvbnRlbnR9XG4gICAgJjotbW96LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgIHtAY29udGVudH1cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAge0Bjb250ZW50fVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9udHMgc21vb3RoaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoJHZhbHVlOiBvbikge1xuICAgIEBpZiAkdmFsdWUgPT0gb24ge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGF1dG87XG4gICAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBoaWRlJ24nc2hvd1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1peGluIHZpc3VhbGx5aGlkZGVuKCl7XG5cdGJvcmRlcjogMDtcblx0Y2xpcDogcmVjdCgwIDAgMCAwKTtcblx0aGVpZ2h0OiAxcHg7XG5cdG1hcmdpbjogLTFweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZzogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMXB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5AbWl4aW4gdmlzdWFsbHl1bmhpZGRlbigpe1xuXHRib3JkZXI6IG5vbmU7XG5cdGNsaXA6IGF1dG87XG5cdGhlaWdodDogYXV0bztcblx0bWFyZ2luOiAwO1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcblx0cGFkZGluZzogMDtcblx0cG9zaXRpb246IHN0YXRpYztcblx0d2lkdGg6IGF1dG87XG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBIaWRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWhpZGUtdmlzdWFsbHkge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4uYy1oaWRlLWNvbXBsZXRlbHkge1xuXHRkaXNwbGF5OiBub25lO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qIGltYWdlIHJlcGxhY2VtZW50ICovXG4uYy1pciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRib3JkZXI6IDA7XG5cdHRleHQtaW5kZW50OiAtOTk5ZW07XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRkaXJlY3Rpb246IGx0cjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RpY2t5IEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaHRtbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uYy1oZWFkZXIsXG4uYy1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uYy1jb250ZW50IHtcbiAgICBmbGV4LWdyb3c6IDE7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2UgUHJvamVjdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJvZHkge1xuXHRAaW5jbHVkZSBmb250LXNtb290aGluZyhvbik7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIGxpbmtzICovXG5hIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5cbmEsXG5hOnZpc2l0ZWQsXG5hOmZvY3VzLFxuYTpob3ZlciB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvcjtcbn1cblxuLmMtdGV4dC1saWdodCBhLFxuLmMtdGV4dC1saWdodCBhOnZpc2l0ZWQsXG4uYy10ZXh0LWxpZ2h0IGE6Zm9jdXMsXG4uYy10ZXh0LWxpZ2h0IGE6aG92ZXIge1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG59XG5cbi5pcy1pbnZpc2libGUge1xuXHRvcGFjaXR5OiAwO1xuXHRtYXgtaGVpZ2h0OiAwO1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG50ZXh0YXJlYSB7XG5cdHJlc2l6ZTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgaW1nIC8gbWVkaWEgZGVjbGFyYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmVtYmVkLFxub2JqZWN0LFxudmlkZW8sXG5pZnJhbWUsXG5pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5pbWcge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmMtaW1nLW1heC13aWR0aCxcbi5jLWNvbnRlbnQgLmMtaW1nLW1heC13aWR0aCB7XG5cdHdpZHRoOiBhdXRvO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmltZyB7IFxuXHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyBcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgTWFpbiBDb250YWluZXIgRGVjbGFyYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWhlYWRlcixcbi5jLWNvbnRlbnQsXG4uYy1mb290ZXIsXG4uYy1jb250YWluZXIsXG4uYy1jb250YWluZXItd2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IGF1dG87XG59XG5cbi5jLWNvbnRlbnQge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgUGFkZGluZyBiZXR3ZWVuIENvbXBvbmVudHMgXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1jb250YWluZXIsXG4uYy10ZWFzZXItMmNvbCAuYy10ZWFzZXItaXRlbSxcbi5jLXRlYXNlci10ZWFtIC5jLXRlYXNlci1pdGVtLFxuLmMtdGVhc2VyLWJpZy10ZXh0LWlubmVyLFxuLmMtdGV4dC0zY29sIC5jLWNvbC00IHtcblx0cGFkZGluZy1ib3R0b206IDZlbTtcbn1cblxuLmMtc2hvd3Jvb20tdGV4dC1pbm5lciB7XG5cdHBhZGRpbmctYm90dG9tOiA3ZW07XG59XG5cbi5jLWNvbG9yLWNoYW5nZS10b3AsXG4uYy1zaG93cm9vbS10ZXh0LWlubmVyLFxuLmMtdGVhc2VyLWJpZy10ZXh0LWlubmVyIHtcblx0cGFkZGluZy10b3A6IDZlbTtcbn1cblxuLmMtY29sb3ItY2hhbmdlLWJvdHRvbSB7XG5cdG1hcmdpbi1ib3R0b206IDZlbTtcbn1cblxuLmMtY29udGFpbmVyLW5vLXBhZGRpbmcge1xuXHRwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmMtY29sLWltZy12YXIge1xuXHRwYWRkaW5nLXRvcDogNmVtO1xuXHRwYWRkaW5nLWJvdHRvbTogNmVtO1xuXHRhbGlnbi1zZWxmOiBjZW50ZXJcbn1cblxuLmMtaW1nLXZhci1hbGlnbi10b3Age1xuXHRhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuXHRwYWRkaW5nLXRvcDogMDtcbn1cblxuLmMtaW1nLXZhci1hbGlnbi1ib3R0b20ge1xuXHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblx0cGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLXRpdGxlLW1haW4ge1xuXHRwYWRkaW5nLXRvcDogMTBlbTtcbn1cblxuLmMtdGVhc2VyLXNlcnZpY2UtdGV4dCB7XG5cdHBhZGRpbmctdG9wOiAxLjdlbTtcblx0cGFkZGluZy1ib3R0b206IDEuN2VtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3RhbmRhcmQgR3JpZCBEZWNsYXJhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbn1cblxuXG5cbi5jLXJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIC13ZWJraXQtZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG4gICAgLmMtY3RhOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2ZW07XG4gICAgfVxufVxuXG4uYy1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4uYy1yb3ctY2VudGVyLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC5jLWJ0biB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICB9XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmMtcm93LWp1c3RpZnktY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmMtcm93LWp1c3RpZnktcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5jLXJvdy1qdXN0aWZ5LWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmMtcm93LWFsaWduLXRvcCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5jLXJvdy1hbGlnbi1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLXJvdy1hbGlnbi1ib3R0b20ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmMtY29sLTEsXG4uYy1jb2wtMixcbi5jLWNvbC0zLFxuLmMtY29sLTQsXG4uYy1jb2wtNSxcbi5jLWNvbC02LFxuLmMtY29sLTcsXG4uYy1jb2wtOCxcbi5jLWNvbC05LFxuLmMtY29sLTEwLFxuLmMtY29sLTExLFxuLmMtY29sLTEyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4uYy1jb2wtMTIge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcbiAgICAtbXMtZmxleDogMCAwIDEwMCU7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAgICBcbn1cblxuLmMtY29sLTExIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICAtbXMtZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclO1xufVxuXG4uYy1jb2wtMTAge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7XG59XG5cbi5jLWNvbC05IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDc1JTtcbiAgICAtbXMtZmxleDogMCAwIDc1JTtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xufVxuXG4uYy1jb2wtOCB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTtcbn1cblxuLmMtY29sLTcge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7XG59XG5cbi5jLWNvbC02IHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDUwJTtcbiAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xufVxuXG4uYy1jb2wtNSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTtcbn1cblxuLmMtY29sLTQge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5jLWNvbC0zIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgIC13ZWJraXQtZmxleDogMCAwIDI1JTtcbiAgICAtbXMtZmxleDogMCAwIDI1JTtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xufVxuXG4uYy1jb2wtMiB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAtd2Via2l0LWZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgLW1zLWZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTtcbn1cblxuLmMtY29sLTEge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgLW1zLWZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTtcbn1cblxuLyogb2Zmc2V0IGNvbHMgKi9cbi5jLWNvbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjclO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzJTtcbn1cblxuLmMtY29sLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NyU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG5cbi5jLWNvbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY3JTtcbn1cblxuLmMtY29sLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTtcbn1cblxuLmMtY29sLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMlO1xufVxuXG4uYy1jb2wtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NyU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHcmlkIFZhcmlhbnRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaW1nLXRpbGVzIC5jLXJvdyB7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5jLWltZy10aWxlcyAuYy1jb2wtNCB7XG5cdHBhZGRpbmctbGVmdDogMDtcblx0cGFkZGluZy1yaWdodDogMDtcbn1cblxuXG4vKlxuLmMtdGVhc2VyLXNlcnZpY2UgLmMtcm93IHtcblx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuLmMtdGVhc2VyLXNlcnZpY2UgLmMtdGVhc2VyLXNlcnZpY2UtaW1nIHtcblx0cGFkZGluZy1sZWZ0OiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uYy10ZWFzZXItc2VydmljZSAuYy10ZWFzZXItc2VydmljZS10ZXh0IHtcblx0cGFkZGluZy1sZWZ0OiAzMHB4O1xuXHRwYWRkaW5nLXJpZ2h0OiAzMHB4O1xufVxuXG5cblxuLmMtdGVhc2VyLXNlcnZpY2UtdmlkZW97XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDBweCFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XG59XG5cbi5jLXRlYXNlci1zZXJ2aWNlLXZpZGVvLXRleHR7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDMwJTtcbn1cbiovXG5cblxuXG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHRtbCB7XG5cdGZvbnQtc2l6ZTogMjBweDtcblx0Zm9udC1mYW1pbHk6ICRmb250LXN0YWNrLWRlZmF1bHQ7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUaXRsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuXG5oMSxcbi5jLWgxLFxuLmMtbGluay1jdGEsXG4uYy1rZXlmYWN0cy1uciB7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdGZvbnQtc2l6ZTogNHJlbTsgLyogODBweCAqL1xuXHRcbn1cblxuaDEsXG4uYy1oMSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbn1cblxuLmMtdGV4dC1saWdodCBoMSxcbi5jLXRleHQtbGlnaHQgLmMtaDEge1xuXHRjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG59XG5cblxuaDIsXG4uYy1oMiB7XG5cdHBhZGRpbmctYm90dG9tOiAuNmVtO1xuXHRsaW5lLWhlaWdodDogMS4yO1xuXHRmb250LXNpemU6IDNyZW07IC8qIDYwcHggKi9cblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuXG5oMyxcbi5jLWgzIHtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0Zm9udC1zaXplOiAxLjhyZW07IC8qIDM2cHggKi9cblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0cGFkZGluZy1ib3R0b206IDAuNmVtO1xufVxuXG5cbmg0LFxuLmMtaDQge1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRmb250LXNpemU6IDFyZW07IFxuXHRmb250LXdlaWdodDogNjAwO1xuXHRwYWRkaW5nLWJvdHRvbTogMC42ZW07XG59XG5cblxuLmMtaGVhZGVyLW5hdmlnYXRpb24ge1xuXHRmb250LXNpemU6IDEuOHJlbTsgLyogMzZweCAqL1xufVxuXG4uYy10ZWFzZXItdGl0bGUge1xuXHRmb250LXNpemU6IDIuMnJlbTsgLyogNDRweCAqL1xuXHRsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uYy1jYXRlZ29yeS10aXRsZSxcbi5jLWtleWZhY3RzLWRlc2Mge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Zm9udC1zaXplOiAwLjhyZW07IC8qIDE2IHB4ICovXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi5jLWNhdGVnb3J5LXRpdGxlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbn1cblxuLmMtdGl0bGUtbWFpbiAuYy1jYXRlZ29yeS10aXRsZSB7XG5cdGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbn1cblxuaDIuYy1jYXRlZ29yeS10aXRsZSB7XG5cdHBhZGRpbmctYm90dG9tOiAycmVtO1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2ljIFRleHQgQ29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtY29udGVudCxcbi5jLWZvb3RlciB7XG5cdGxpbmUtaGVpZ2h0OiAxLjc7XG59XG5cbi5jLXRleHQtYmxvY2sgcCxcbi5jLXRleHQtYmxvY2sgLmMtbGlzdC1zb2NpYWwgKyBwIHtcblx0cGFkZGluZy1ib3R0b206IDEuN3JlbTtcbn1cblxuLmMtdGV4dC1ibG9jayBwICsgaDMsXG4uYy10ZXh0LWJsb2NrIHAgKyBoNCB7XG5cdHBhZGRpbmctdG9wOiAxLjdlbTtcbn1cblxuLmMtZm9vdGVyLFxuLmMtdGV4dC1zbWFsbCxcbi5jLXByb2ZpbGUtbGlzdCxcbi5jLWZvb3Rlci1zaG9wIHtcblx0Zm9udC1zaXplOiAwLjhyZW07IC8qIDE2IHB4ICovXG59XG5cbi5jLWxlYWQsXG4uYy10ZXh0LWJsb2NrIC5jLWxlYWQge1xuXHRmb250LXNpemU6IDEuOHJlbTsgLyogMzZweCAqL1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG5cbi5jLWxpbmUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmMtbGluZTo6YmVmb3JlIHtcblx0Y29udGVudDogJyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEyOHB4O1xuXHRoZWlnaHQ6IDRweDtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbn1cblxuLmMtdGV4dC1saWdodCAuYy1saW5lOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbn1cblxuLmMtZm9vdGVyIC5jLWxpbmU6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LWNvbG9yLWZvb3Rlcjtcbn1cblxuXG4uYy1zdWJsaW5lLW51bWJlciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRjb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdG1hcmdpbi1ib3R0b206IDJlbTtcblx0XG59XG5cbi5jLXN1YmxpbmUtbnVtYmVyOjpiZWZvcmUge1xuXHR0b3A6IDEwMCU7XG59XG5cbi5jLWxlZ2VuZCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLXRvcDogMi41ZW07XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLW1lZGl1bTtcbn1cblxuLmMtbGVnZW5kIC5jLWxpbmUge1xuXHRwYWRkaW5nLXRvcDogMmVtO1xufVxuXG5cbi5jLWxpbmstY3RhIHtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLmMtdGl0bGUtZm9vdGVyIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmMta2V5ZmFjdHMtbnIge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0cGFkZGluZy10b3A6IDJyZW07XG5cdHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNpYyBMaXN0cyBDb250ZW50IFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXRleHQtYmxvY2sgdWwge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDAgMCAxLjdyZW0gMDsgXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jLXRleHQtYmxvY2sgdWwgbGkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLmMtdGV4dC1ibG9jayB1bCBsaTpiZWZvcmUge1xuXHRjb250ZW50OiAnXFwyMDIyJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IC0wLjFlbTtcblx0Y29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4uYy10ZXh0LWJsb2NrIGxpICsgbGkge1xuXHRtYXJnaW4tdG9wOiAwLjcyNXJlbTtcbn1cblxuLmMtdGV4dC1ibG9jayBvbCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMCAwIDEuNWVtIDIwcHg7IFxufVxuXG5cbi5jLWxpc3Qtc29jaWFsLFxuLmMtdGV4dC1ibG9jayAuYy1saXN0LXNvY2lhbCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuLmMtbGlzdC1zb2NpYWwgbGksXG4uYy10ZXh0LWJsb2NrIC5jLWxpc3Qtc29jaWFsIGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdHBhZGRpbmctcmlnaHQ6IDhweDtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1saXN0LXNvY2lhbCBsaTo6YmVmb3JlIHtcblx0Y29udGVudDonJztcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1saXN0LXNvY2lhbCBsaSArIGxpIHtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuLmMtdGV4dC1pbWctMmNvbC1zeW1tZXRyaWMgLmMtbGlzdC1zb2NpYWwge1xuXHRwYWRkaW5nLWJvdHRvbTogMS43cmVtO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGZWF0dXJlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZmVhdHVyZXMtbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0Ym9yZGVyLXRvcDogc29saWQgMnB4ICRib3JkZXItYmFzaWM7XG59XG5cbi5jLWZlYXR1cmVzLWxpc3QgbGkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IDAuOGVtIDAgMC44ZW0gMzBweDtcblx0Ym9yZGVyLWJvdHRvbTogc29saWQgMnB4ICRib3JkZXItYmFzaWM7XG59XG5cbi5jLWZlYXR1cmVzLW5yIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDFyZW07XG5cdGxlZnQ6IDA7XG5cdG9wYWNpdHk6IDAuMztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFF1b3RlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUge1xuXHRtYXJnaW46IDA7IFxuXHRwYWRkaW5nOiAwO1xufVxuXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogMDtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0Zm9udC1zaXplOiAxLjhyZW07IC8qIDM2cHggKi9cblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Y29sb3I6ICRjb2xvci1wcmltYXJ5O1xufVxuXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcDo6YmVmb3JlIHtcblx0Y29udGVudDogJ1xcMjAxQyc7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IC0wLjU1ZW07XG5cdHRvcDogLTAuNWVtO1xuXHRmb250LXNpemU6IDUwMCU7XG5cdGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xufVxuXG4uYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgY2l0ZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLXRvcDogMi41ZW07XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLW1lZGl1bTtcbn1cblxuLyogdGVzdGltb25pYWwgKi9cbi5jLXRlc3RpbW9uaWFsIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZy10b3A6IDRlbTtcbn1cblxuLmMtdGVzdGltb25pYWwgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtOyAvKiAzMHB4ICovXG59XG5cbi5jLXRlc3RpbW9uaWFsIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwOjpiZWZvcmUge1xuXHRsZWZ0OiAwO1xuICAgIHRvcDogLS45ZW07XG59XG5cbi5jLXRlc3RpbW9uaWFsIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBjaXRlIHtcblx0cGFkZGluZy10b3A6IDJlbTtcbn1cblxuLmMtdGV4dC1saWdodCAuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcCxcbi5jLXRleHQtbGlnaHQgLmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIGNpdGUge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0IGhlbHBlcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXRleHQtcmlnaHQge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcdFxufVxuXG4uYy10ZXh0LWNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcdFxufVxuXG4uYy10ZXh0LWxpZ2h0IHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvZmlsZSBsaXN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5jLXByb2ZpbGUtbGlzdCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46IDAuN2VtIDAgMCAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1wcm9maWxlLWxpc3QgbGk6Zmlyc3QtY2hpbGQge1xuXHRwYWRkaW5nLXRvcDogMmVtO1xufVxuXG4uYy1wcm9maWxlLWxpc3QgbGkge1xuXHRwYWRkaW5nLWJvdHRvbTogMS43ZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0IHNpemVzIHJlc3BvbnNpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE1MDBweCkgeyAgICBcblx0aDEsIC5jLWgxLFxuXHQuYy1saW5rLWN0YSxcblx0LmMta2V5ZmFjdHMtbnIge1xuXHRcdGZvbnQtc2l6ZTogNXJlbTsgLyogMTAwcHggKi9cblx0fVxuXHRcblx0aDIsIC5jLWgyIHtcblx0XHRmb250LXNpemU6IDRyZW07IC8qIDgwcHggKi9cblx0fVxuXHRcblx0aDMsIC5jLWgzLFxuXHQuYy1sZWFkLFxuXHQuYy10ZXh0LWJsb2NrIC5jLWxlYWQsXG5cdC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwLFxuXHQuYy1oZWFkZXItbmF2aWdhdGlvbiB7XHRcdFxuXHRcdGZvbnQtc2l6ZTogMnJlbTsgLyogNDAgcHggKi9cblx0fVxuXHRcblx0LmMtdGVhc2VyLXRpdGxlIHtcdFx0XG5cdFx0Zm9udC1zaXplOiAzcmVtOyAvKiA2MCBweCAqL1xuXHR9XG5cdFxuXHQuYy1wcm9maWxlLWxpc3Qge1xuXHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0fVxuXHRcblx0LmMtdGV4dC0yY29sIC5jLWNvbC01IHtcblx0XHRwYWRkaW5nLXRvcDogMWVtO1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMTAxcHgpIGFuZCAobWF4LXdpZHRoOjE0OTlweCkgeyAgXG5cdC5jLXRleHQtMmNvbCAuYy1jb2wtNSB7XG5cdFx0cGFkZGluZy10b3A6IDAuNzllbTtcblx0fVxuXHRcbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTEwMHB4KSB7ICBcblx0aHRtbCB7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo4ODFweCkgYW5kIChtYXgtd2lkdGg6MTEwMHB4KSB7ICBcblx0LmMtdGV4dC0yY29sIC5jLWNvbC01IHtcblx0XHRwYWRkaW5nLXRvcDogMC43NmVtO1xuXHR9XG5cdFxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo4NTBweCkgeyAgXG5cdC5jLXRlYXNlci10aXRsZSB7XHRcdFxuXHRcdGZvbnQtc2l6ZTogMS44cmVtOyBcblx0fVxuXHRcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7ICAgIFxuXHRodG1sIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdH1cblx0XG5cdFxuXHRoMSwgLmMtaDEsXG5cdC5jLWxpbmstY3RhLFxuXHQuYy1rZXlmYWN0cy1uciB7XG5cdFx0Zm9udC1zaXplOiAyLjVyZW07IC8qIDQwcHggKi9cblx0fVxuXHRcblx0aDIsIC5jLWgyLFxuXHQuYy10ZWFzZXItdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogMnJlbTsgLyogMzJweCAqL1xuXHR9XG5cdFxuXHRoMywgLmMtaDMsXG5cdC5jLWxlYWQsIFxuXHQuYy10ZXh0LWJsb2NrIC5jLWxlYWQsXG5cdC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwLFxuXHQuYy10ZWFzZXItdGl0bGUsXG5cdC5jLWhlYWRlci1uYXZpZ2F0aW9uIHtcblx0XHRmb250LXNpemU6IDEuNXJlbTsgLyoyNHB4ICovXG5cdH1cblx0XHRcblx0LmMtZm9vdGVyLFxuXHQuYy10ZXh0LXNtYWxsLFxuXHQuYy1wcm9maWxlLWxpc3QsXG5cdC5jLWNhdGVnb3J5LXRpdGxlLFxuXHQuYy1rZXlmYWN0cy1kZXNjLFxuICAgIC5jLWZvb3Rlci1zaG9wIHtcblx0XHRmb250LXNpemU6IDAuODc1cmVtOyAvKiAxNCBweCAqL1xuXHR9XG59XG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtaGVhZGVyIHtcblx0cGFkZGluZy10b3A6ICRwYWRkaW5nLXRvcDtcblx0cGFkZGluZy1ib3R0b206IDEycHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0ei1pbmRleDogMTAwMDtcblxuXHQmLmZpeGVke1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0fVxufVxuXG5cbi5jLWhlYWRlci1sb2dvIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMjEwcHg7XG5cdHotaW5kZXg6IDE7XG5cdG1hcmdpbi1sZWZ0OiAycHghaW1wb3J0YW50O1xufVxuXG4uYy1oZWFkZXItbG9nbyBhIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtaGVhZGVyLWxvZ28gc3ZnIHtcblx0d2lkdGg6IDEwMCU7XG5cdC8qaGVpZ2h0OiBhdXRvOyovXG59XG5cbi5jLXRleHQtbGlnaHQgLmMtaGVhZGVyLWxvZ28gLmxvZ28tY29sb3Ige1xuXHRmaWxsOiAkdGV4dC1jb2xvci1saWdodDtcblxuXHQmLmRhcmt7XG5cdFx0ZmlsbDogJGNvbG9yLXByaW1hcnk7XG5cdH1cbn1cblxuI2xvdHRpZXtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogY3NzIGZvciBpZSAxMSwgY29udHJvbHMgaGVpZ2h0IG9mIGxvdHRpZSAqL1xuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAjbG90dGllIHtcblx0XHRoZWlnaHQ6IDI0cHg7XG5cdH1cbn1cblxuLmMtaGVhZGVyLWxvZ28tZmFsbGJhY2t7XG5cdG1hcmdpbi10b3A6IC0wLjVweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMTAwJTtcblxuXHQmLmRhcmsgLmxvZ28tY29sb3J7XG5cdFx0ZmlsbDogIzJFMUFBOSFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLmMtdGV4dC1saWdodCAjX19sb3R0aWVfZWxlbWVudF8yNSBzdG9wLFxuLmMtdGV4dC1saWdodCAuYy1oZWFkZXItbG9nbyAubG9nby1jb2xvci1ncmFkaWVudHtcblx0c3RvcC1jb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG59XG4uYy10ZXh0LWxpZ2h0IC5jLWhlYWRlci1sb2dvIC5kYXJrIC5sb2dvLWNvbG9yLWdyYWRpZW50e1xuXHRzdG9wLWNvbG9yOiAkY29sb3ItcHJpbWFyeSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHsgXG5cdC5jLWhlYWRlci1sb2dvLWZhbGxiYWNre1xuXHRcdG1hcmdpbi10b3A6IC00cHg7XG5cdH1cbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9vdGVyIHtcblx0cGFkZGluZy10b3A6IDRlbTtcblx0cGFkZGluZy1ib3R0b206IDRlbTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWRhcms7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1mb290ZXI7XG59XG5cbi5jLWZvb3RlciBwIHtcblx0cGFkZGluZy1ib3R0b206IDEuNWVtO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lciB7XG5cdHBhZGRpbmctdG9wOiAyZW07XG59XG5cbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QsXG4uYy1mb290ZXItbmF2LWxpc3QsXG4uYy1mb290ZXItbmF2LWxpc3QgdWwsXG4uYy1mb290ZXItcGFydG5lci1saXN0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy1mb290ZXItZGlzY2xhaW1lci1saXN0IGxpICsgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDRlbTtcbn1cblxuXG5cbi5jLWZvb3Rlci1uYXYtbGlzdCB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jLWZvb3Rlci1uYXYtbGlzdCBsaSArIGxpIHtcblx0cGFkZGluZy10b3A6IDAuNWVtO1xufVxuXG4uYy1mb290ZXItbmF2LWxpc3QgbGkuYy1hY3RpdmUgYSxcbi5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QgbGkuYy1hY3RpdmUgYSB7XG5cdGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xufVxuXG5cbi5jLWZvb3RlciBhLFxuLmMtZm9vdGVyIGE6dmlzaXRlZCB7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1mb290ZXI7XG59XG5cbi5jLWZvb3RlciBhOmhvdmVyLFxuLmMtZm9vdGVyIGE6Zm9jdXMge1xuXHRjb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcbn1cblxuLmMtZm9vdGVyLWxpbmUge1xuXHRtYXJnaW4tdG9wOiAyLjVlbTtcblx0cGFkZGluZy10b3A6IDJlbTtcbn1cblxuLmMtZm9vdGVyIC5jLWxpc3Qtc29jaWFsIHtcblx0bWFyZ2luLXRvcDogMi41ZW07XG59XG5cbi5jLWZvb3Rlci1sb2dvIHtcblx0cGFkZGluZy1ib3R0b206IDAuMjVlbTtcblx0d2lkdGg6IDEzMHB4O1xuXHRvcGFjaXR5OiAwLjg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvb3Rlci1wYXJ0bmVyIC5jLWNhdGVnb3J5LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuOGVtO1xufVxuXG4uYy1mb290ZXItcGFydG5lci1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLWZvb3Rlci1wYXJ0bmVyLWxpc3QgbGkge1xuICAgcGFkZGluZy1yaWdodDogNDBweDtcbn1cblxuXG5cbi5jLWZvb3Rlci1saW5rLXN3aXNzbWFkZSxcbi5jLWZvb3Rlci1saW5rLWRqYW5nbyxcbi5jLWZvb3Rlci1saW5rLXdvcmRwcmVzcyxcbi5jLWZvb3Rlci1saW5rLWdpc2xlcnByb3Rva29sbCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMHB4O1xuXHRoZWlnaHQ6IDc3cHg7XG59XG5cbi5jLWZvb3Rlci1saW5rLWRqYW5nbyxcbi5jLWZvb3Rlci1saW5rLXdvcmRwcmVzcyB7XG5cdG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5jLWZvb3Rlci1saW5rLXN3aXNzbWFkZTo6YmVmb3JlIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvbG9nby1zd2lzc21hZGUuc3ZnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0d2lkdGg6IDEwMHB4O1xuXHRoZWlnaHQ6IDc3cHg7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0YmFja2dyb3VuZC1wb3NpdG9uOiAgMCAwO1xufVxuXG4uYy1mb290ZXItbGluay1zd2lzc21hZGU6aG92ZXI6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246ICAwIC0xMDBweDtcbn1cblxuLmMtZm9vdGVyLWxpbmstZGphbmdvIHtcblx0aGVpZ2h0OiAyM3B4O1xufVxuXG4uYy1mb290ZXItbGluay1kamFuZ286OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL2xvZ28tcGFydG5lci1kamFuZ28uc3ZnKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0d2lkdGg6IDEwMHB4O1xuXHRoZWlnaHQ6IDIzcHg7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0YmFja2dyb3VuZC1wb3NpdG9uOiAgMCAwO1xufVxuXG4uYy1mb290ZXItbGluay1kamFuZ286aG92ZXI6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246ICAwIC0xMDBweDtcbn1cblxuLmMtZm9vdGVyLWxpbmstd29yZHByZXNzIHsgICAgXG4gICAgd2lkdGg6IDQ1cHg7XG5cdGhlaWdodDogNDZweDtcbn1cblxuLmMtZm9vdGVyLWxpbmstd29yZHByZXNzOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9sb2dvLXBhcnRuZXItd29yZHByZXNzLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHdpZHRoOiA0NXB4O1xuXHRoZWlnaHQ6IDQ2cHg7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0YmFja2dyb3VuZC1wb3NpdG9uOiAgMCAwO1xufVxuXG4uYy1mb290ZXItbGluay13b3JkcHJlc3M6aG92ZXI6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246ICAwIC0xMDBweDtcbn1cblxuLmMtZm9vdGVyLWxpbmstZ2lzbGVycHJvdG9rb2xsIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIHdpZHRoOiAxMTRweDtcblx0aGVpZ2h0OiAzOHB4O1xufVxuXG4uYy1mb290ZXItbGluay1naXNsZXJwcm90b2tvbGw6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vLi4vaW1hZ2VzL2xvZ28tbWVtYmVyLWdpc2xlci5zdmcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR3aWR0aDogMTE0cHg7XG5cdGhlaWdodDogMzhweDtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRiYWNrZ3JvdW5kLXBvc2l0b246ICAwIDA7XG59XG5cbi5jLWZvb3Rlci1saW5rLWdpc2xlcnByb3Rva29sbDpob3Zlcjo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogIDAgLTEwMHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyIENhcmJvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWZvb3Rlci1jYXJib24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwLjRlbSBhdXRvIDAgMDtcbn1cblxuXG4uYy1mb290ZXIgI3djYi5jYXJib25iYWRnZSB7XG4gIC0tYjE6ICMyRTFBQTk7XG4gIC0tYjI6ICMwMEQ0QjQ7XG59XG5cbi5jLWZvb3RlciAjd2NiICN3Y2JfYSwgXG4uYy1mb290ZXIgI3djYiAjd2NiX2cge1xuICBmb250LWZhbWlseTogJGZvbnQtc3RhY2stZGVmYXVsdDtcbn1cbiIsIi5zY3JvbGxiYXItdGVzdHtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuI29wZW4tbmF2aWdhdGlvbntcblx0bWluLWhlaWdodDogMTAwJTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2ZmY2FudmFzIHRyaWdnZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLW9mZmNhbnZhcy10b2dnbGV7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IDQwcHg7XG5cdG1hcmdpbi10b3A6IC04cHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIFx0cmlnaHQ6IDMwcHg7XG4gICBcdHRvcDogMDtcbiAgIFx0d2lkdGg6IDQwcHg7XG5cdHotaW5kZXg6IDEyMDA7XG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweCkge1xuXHRcdG1hcmdpbi10b3A6IC0xMHB4O1xuXHR9XG5cdCY6aG92ZXJ7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdCYub3BlbjphZnRlcntcblx0XHRcdHdpZHRoOiAzMHB4O1xuXHRcdH1cblx0XHQmLm9wZW46YmVmb3Jle1xuXHRcdFx0d2lkdGg6IDI0cHg7XG5cdFx0fVxuICAgICAgICAmLmNsb3NlOmFmdGVye1xuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5jbG9zZTpiZWZvcmV7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgICAgfSBcblx0fVxuICAgXHQmOmFmdGVyLFxuICAgXHQmOmJlZm9yZXtcblx0XHRjb250ZW50OiAnJztcblx0ICAgXHRkaXNwbGF5OiBibG9jaztcblx0ICAgXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiA1MCU7XG5cdFx0ei1pbmRleDogLTFcbiAgIFx0fVxuXHQmLm9wZW57XG5cdFx0JjphZnRlcntcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG5cdFx0XHRtYXJnaW4tdG9wOiAtMnB4O1xuXHRcdFx0aGVpZ2h0OiA0cHg7XG5cdFx0XHR3aWR0aDogMjRweDtcblx0XHRcdHRyYW5zaXRpb246IHdpZHRoIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0fVxuXHRcdCY6YmVmb3Jle1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRjb2xvci1oaWdobGlnaHQ7XG5cdFx0XHRib3JkZXItdG9wOiA0cHggc29saWQgJGNvbG9yLWhpZ2hsaWdodDtcblx0XHRcdGhlaWdodDogMjRweDtcblx0XHRcdG1hcmdpbi10b3A6IC0xMnB4O1xuXHRcdFx0d2lkdGg6IDMwcHg7XG5cdFx0XHR0cmFuc2l0aW9uOiB3aWR0aCAwLjJzIGVhc2UtaW4tb3V0O1xuXHRcdH1cblx0fVxuXHQmLmNsb3Nle1xuXHRcdG1hcmdpbi10b3A6IGNhbGMoI3skcGFkZGluZy10b3B9IC0gOHB4KTtcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHtcblx0XHRcdG1hcmdpbi10b3A6IGNhbGMoI3skcGFkZGluZy10b3B9IC0gMTBweCk7XG5cdFx0fVxuXHRcdCY6YWZ0ZXJ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuXHRcdFx0bWFyZ2luLXRvcDogLTJweDtcblx0XHRcdGhlaWdodDogNHB4O1xuXHRcdFx0d2lkdGg6IDMwcHg7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcblx0XHR9XG5cdFx0JjpiZWZvcmV7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuXHRcdFx0bWFyZ2luLXRvcDogLTJweDtcblx0XHRcdGhlaWdodDogNHB4O1xuXHRcdFx0d2lkdGg6IDMwcHg7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG5cdFx0fVxuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMYW5ndWFnZSBuYXZcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWxhbmd1YWdlLW5hdmlnYXRpb257XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjAwcHgpIHtcblx0XHRtYXJnaW4tdG9wOiAkcGFkZGluZy10b3A7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAxMDBweDtcblx0XHR0b3A6IDA7XG5cdFx0d2lkdGg6IDMwZW07XG5cdH1cbn1cblxuLmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbi10aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMCAwIDAuNWVtIDA7XG5cdG9wYWNpdHk6IDAuNTtcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjYwMHB4KSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG59XG5cbi5jLWxhbmctbWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Lm1lbnUtaXRlbXtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZy1sZWZ0OiAxZW07XG5cdH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9mZmNhbnZhcyBuYXZcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWRlY29yYXRpb257XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMDAlKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xcyBlYXNlLW91dCwgdHJhbnNmb3JtIC40cyBlYXNlLW91dDtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiA0MDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIC8qYm9yZGVyLXRvcDogMzAwdncgc29saWQgJGJnLWNvbnRlbnQ7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDgydncgc29saWQgdHJhbnNwYXJlbnQ7Ki9cbiAgICAgICAgei1pbmRleDogMTtcblx0XHQvKi1tb3otdHJhbnNmb3JtOiBzY2FsZSguOTk5OSkqL1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtIDFweCk7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIC8qYm9yZGVyLXRvcDogMzAwdncgc29saWQgJGJnLWNvbnRlbnQ7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDgydncgc29saWQgdHJhbnNwYXJlbnQ7Ki9cblx0XHRib3JkZXItdG9wOiAyMjB2aCBzb2xpZCAkYmctY29udGVudDtcblx0XHRib3JkZXItdG9wLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG5cdFx0Ym9yZGVyLWxlZnQ6IDU2dmggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwKTtcbiAgICAgICAgei1pbmRleDogMTtcblx0XHQtbW96LXRyYW5zZm9ybTogc2NhbGUoLjk5OTkpXG4gICAgfVxufVxuXG4uYy1vZmYtY2FudmFze1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDA7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR0b3A6IDA7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uYy1vZmZjYW52YXMtbmF2IHtcblx0cGFkZGluZy10b3A6IDZlbTtcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7XG5cdFx0cGFkZGluZy10b3A6IDRlbTtcblx0fVxufVxuXG4uYy1oZWFkZXItbmF2aWdhdGlvbntcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHR0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDFzIGVhc2UtaW4tb3V0O1xuXHR0ZXh0LWFsaWduOiByaWdodDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmMtaGVhZGVyLW5hdmlnYXRpb24sXG4uYy1hZGRpdGlvbmFsLWNvbnRlbnR7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dCAuMnMsIG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0IC4ycztcbn1cblxuLmMtaGVhZGVyLW5hdmlnYXRpb24gLm1lbnUtaXRlbSArIC5tZW51LWl0ZW0ge1xuXHRwYWRkaW5nLXRvcDogMC4zNWVtO1xuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHtcblx0XHRwYWRkaW5nLXRvcDogMC43ZW07XG5cdH1cbn1cblxuLmMtaGVhZGVyLW5hdmlnYXRpb24gLm1lbnUtaXRlbS1saW5rIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IDAuMDVlbSAwLjFlbSAwLjA1ZW0gMWVtO1xuXHR6LWluZGV4OiAxO1xufVxuXG4uYy1oZWFkZXItbmF2aWdhdGlvbiAubWVudS1pdGVtLWxpbms6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuXHQvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cHM6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzAwZDRiNCswLDAwZDRiNCs1MCwwMGQ0YjQrMTAwJjArMCwxKzUwLDErMTAwICovXG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICByZ2JhKDAsMjEyLDE4MCwwKSAwJSwgcmdiYSgwLDIxMiwxODAsMSkgNTAlLCByZ2JhKDAsMjEyLDE4MCwxKSAxMDAlKTsgLyogRkYzLjYtMTUgKi9cblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgIHJnYmEoMCwyMTIsMTgwLDApIDAlLHJnYmEoMCwyMTIsMTgwLDEpIDUwJSxyZ2JhKDAsMjEyLDE4MCwxKSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAgcmdiYSgwLDIxMiwxODAsMCkgMCUscmdiYSgwLDIxMiwxODAsMSkgNTAlLHJnYmEoMCwyMTIsMTgwLDEpIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMDAwZDRiNCcsIGVuZENvbG9yc3RyPScjMDBkNGI0JyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuXHR0cmFuc2l0aW9uOiB3aWR0aCAwLjJzIGVhc2Utb3V0O1xuXHR6LWluZGV4OiAtMTtcbn1cblxuLmMtaGVhZGVyLW5hdmlnYXRpb24gLm1lbnUtaXRlbS1saW5rOmhvdmVyOjpiZWZvcmUsXG4uYy1oZWFkZXItbmF2aWdhdGlvbiAuYy1hY3RpdmUgLm1lbnUtaXRlbS1saW5rOjpiZWZvcmUge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmMtaGVhZGVyLW5hdmlnYXRpb24gYSxcbi5jLWhlYWRlci1uYXZpZ2F0aW9uIGE6aG92ZXIsXG4uYy1oZWFkZXItbmF2aWdhdGlvbiBhOmZvY3VzLFxuLmMtdGV4dC1saWdodCAuYy1oZWFkZXItbmF2aWdhdGlvbiBhLFxuLmMtdGV4dC1saWdodCAuYy1oZWFkZXItbmF2aWdhdGlvbiBhOmhvdmVyLFxuLmMtdGV4dC1saWdodCAuYy1oZWFkZXItbmF2aWdhdGlvbiBhOmZvY3VzLFxuLmMtYWRkaXRpb25hbC1jb250ZW50IGEsXG4uYy1hZGRpdGlvbmFsLWNvbnRlbnQgYTpob3Zlcixcbi5jLWFkZGl0aW9uYWwtY29udGVudCBhOmZvY3VzLFxuLmMtdGV4dC1saWdodCAuYy1hZGRpdGlvbmFsLWNvbnRlbnQgYSxcbi5jLXRleHQtbGlnaHQgLmMtYWRkaXRpb25hbC1jb250ZW50IGE6aG92ZXIsXG4uYy10ZXh0LWxpZ2h0IC5jLWFkZGl0aW9uYWwtY29udGVudCBhOmZvY3VzIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xufVxuXG4uYy1hZGRpdGlvbmFsLWNvbnRlbnR7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy10b3A6IDJlbTtcblx0bWFyZ2luLXRvcDogNWVtO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwICsgcCB7XG5cdFx0cGFkZGluZy10b3A6IC44ZW07XG5cdH1cbn1cblxuLmMtYWRkaXRpb25hbC1jb250ZW50OjpiZWZvcmUsXG4uYy10ZXh0LWxpZ2h0IC5jLWFkZGl0aW9uYWwtY29udGVudDo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdGxlZnQ6IGF1dG87XG5cdHJpZ2h0OiAwO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPZmZjYW52YXMgbmF2IGNsb3NlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jb3Blbi1uYXZpZ2F0aW9uLmNsb3NlLW5hdmlnYXRpb24sXG4jb3Blbi1uYXZpZ2F0aW9uOm5vdCg6dGFyZ2V0KXtcblxuICAgIHRvcDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAuYy1pbm5lci1vZmYtY2FudmFze1xuICAgICAgICBtaW4taGVpZ2h0OiAwdmg7XG4gICAgICAgIGhlaWdodDogMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBtaW4taGVpZ2h0IDBzIGVhc2Utb3V0IDBzLCBtYXgtd2lkdGggLjRzIGVhc2Utb3V0IDBzO1xuICAgIH1cbiAgICAuYy1kZWNvcmF0aW9ue1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDBzIGVhc2Utb3V0IDBzLCB0cmFuc2Zvcm0gLjRzIGN1YmljLWJlemllcigwLCAwLjQsIDAuNiwgMSk7XG4gICAgfVxuXHQvKi5jLWlubmVyLW9mZi1jYW52YXN7XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpe1xuXHRcdFx0bWF4LXdpZHRoOiAxNTYwcHg7XG5cdFx0ICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdCAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXHR9Ki9cblx0LmMtb2ZmY2FudmFzLXRvZ2dsZXtcblx0XHQmLmNsb3Nle1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0Ji5vcGVue1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG5cblx0LmMtbGFuZ3VhZ2UtbmF2aWdhdGlvbiB7XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7XG5cdFx0XHRAaW5jbHVkZSB2aXN1YWxseWhpZGRlbjtcblx0XHR9XG5cdH1cblxuICAgIC5jLWFkZGl0aW9uYWwtY29udGVudCxcblx0LmMtaGVhZGVyLW5hdmlnYXRpb257XG5cdFx0QGluY2x1ZGUgdmlzdWFsbHloaWRkZW47XG5cdH1cbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPZmZjYW52YXMgbmF2IG9wZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jb3Blbi1uYXZpZ2F0aW9uLm9wZW4tbmF2aWdhdGlvbixcbiNvcGVuLW5hdmlnYXRpb246dGFyZ2V0e1xuXG4gICAgdG9wOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ly8gb3ZlcmZsb3c6IGhpZGRlbjtcblx0Ly8gdG9wOiAwO1xuIC8vICAgIGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDEwMDA7XG5cdC5sYXlvdXQtc2Nyb2xsYmFyLW9idHJ1c2l2ZXtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxOHB4O1xuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMTAwcHgpIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDE2cHg7XG5cdFx0fVxuXHRcdC5jLWhlYWRlcntcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDE4cHg7XG5cdFx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTEwMHB4KSB7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDE2cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5jLWhlYWRlcntcblx0XHRtaW4taGVpZ2h0OiAxMDB2aDtcblx0fVxuXHQuYy1oZWFkZXItbG9nb3tcblx0XHRvcGFjaXR5OiAuNjtcblx0fVxuXHQmOmJlZm9yZXtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bGVmdDogMDtcblx0XHRvcGFjaXR5OiAuNjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHotaW5kZXg6IDkwMDtcblx0fVxuXHQuYy1zY3JvbGwtY2FudmFze1xuXHRcdG92ZXJmbG93LXk6IHNjcm9sbDtcblx0fVxuXHQuYy1vZmYtY2FudmFze1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRvdmVyZmxvdy15OiBzY3JvbGw7XG5cdFx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXHRcdHotaW5kZXg6IDEwMDA7XG5cdFx0LmMtaW5uZXItb2ZmLWNhbnZhc3tcbiAgICAgICAgICAgIC5jLWRlY29yYXRpb257XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICB9XG5cdFx0XHRtaW4td2lkdGg6IDMwMHB4O1xuXHRcdFx0bWluLWhlaWdodDogMTAwdmg7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRwYWRkaW5nLXRvcDogJHBhZGRpbmctdG9wO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDRyZW07XG5cdFx0fVxuXHR9XG5cdC5jLW9mZmNhbnZhcy10b2dnbGV7XG4gXHRcdCYuY2xvc2V7XG4gXHRcdFx0ZGlzcGxheTogYmxvY2s7XG4gXHRcdH1cbiBcdFx0Ji5vcGVue1xuIFx0XHRcdGRpc3BsYXk6IG5vbmU7XG4gXHRcdH1cbiBcdH1cblxuXG5cdC5jLWxhbmd1YWdlLW5hdmlnYXRpb24ge1xuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweCkge1xuXHRcdFx0QGluY2x1ZGUgdmlzdWFsbHl1bmhpZGRlbjtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAzZW07XG5cdFx0fVxuXHR9XG5cbiAgICAuYy1hZGRpdGlvbmFsLWNvbnRlbnQsXG5cdC5jLWhlYWRlci1uYXZpZ2F0aW9ue1xuXHRcdEBpbmNsdWRlIHZpc3VhbGx5dW5oaWRkZW47XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0fVxuXG4gICAgLmMtYWRkaXRpb25hbC1jb250ZW50e1xuICAgIFx0Ly9wb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXHRwYWRkaW5nLXRvcDogMmVtO1xuICAgIFx0bWFyZ2luLXRvcDogNWVtO1xuICAgIH1cblxuXHQuYy10ZXh0LWxpZ2h0IC5jLWxhbmd1YWdlLW5hdmlnYXRpb24sXG5cdC5jLXRleHQtbGlnaHQgLmMtbGFuZy1tZW51IGEsXG5cdC5jLXRleHQtbGlnaHQgLmMtbGFuZy1tZW51IGE6aG92ZXIsXG5cdC5jLXRleHQtbGlnaHQgLmMtbGFuZy1tZW51IGE6Zm9jdXMge1xuXHRcdGNvbG9yOiAkdGV4dC1jb2xvcjtcblx0fVxuXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29udGVudGVsZW1lbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBzbWFsbCBlbGVtZW50cyB0aGF0IGRvbid0IG5lZWQgdGhlaXIgb3duIC5zY3NzICovXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtYmctZGFyayB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xufVxuXG4uYy1iZy1saWdodCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1saWdodDtcbn1cblxuLmMtYmctcHJpbWFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xufVxuXG4uYy1iZy1zZXJ2aWNlLXByaW1hcnkge1xuXHQvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cHM6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzJlMWFhOSswLDAwMDI5MCsxMDAgKi9cblx0YmFja2dyb3VuZDogcmdiKDQ2LDI2LDE2OSk7IC8qIE9sZCBicm93c2VycyAqL1xuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDQ2LDI2LDE2OSwxKSAwJSwgcmdiYSgwLDIsMTQ0LDEpIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDQ2LDI2LDE2OSwxKSAwJSxyZ2JhKDAsMiwxNDQsMSkgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICByZ2JhKDQ2LDI2LDE2OSwxKSAwJSxyZ2JhKDAsMiwxNDQsMSkgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzJlMWFhOScsIGVuZENvbG9yc3RyPScjMDAwMjkwJyxHcmFkaWVudFR5cGU9MCApOyAvKiBJRTYtOSAqL1xufVxuXG4uYy1iZy1zZXJ2aWNlLXByaW1hcnktaG9yaXpvbiB7XG5cdGJhY2tncm91bmQ6ICMyZDFhYTggdXJsKC4uLy4uL2ltYWdlcy9iYWNrZ3JvdW5kX2hvcml6b25fYmx1ZS5qcGcpIHJlcGVhdC14IDAgMDtcbn1cblxuLmMtYmctc2VydmljZS1oaWdobGlnaHQge1xuXHQvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cHM6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzQ0ZjFjZiswLDAwYmM5ZCsxMDAgKi9cblx0YmFja2dyb3VuZDogcmdiKDY4LDI0MSwyMDcpOyAvKiBPbGQgYnJvd3NlcnMgKi9cblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgcmdiYSg2OCwyNDEsMjA3LDEpIDAlLCByZ2JhKDAsMTg4LDE1NywxKSAxMDAlKTsgLyogRkYzLjYtMTUgKi9cblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAgcmdiYSg2OCwyNDEsMjA3LDEpIDAlLHJnYmEoMCwxODgsMTU3LDEpIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgcmdiYSg2OCwyNDEsMjA3LDEpIDAlLHJnYmEoMCwxODgsMTU3LDEpIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM0NGYxY2YnLCBlbmRDb2xvcnN0cj0nIzAwYmM5ZCcsR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTkgKi9cbn1cblxuLmMtYmctc2VydmljZS1oaWdobGlnaHQtaG9yaXpvbiB7XG5cdGJhY2tncm91bmQ6ICMwMGI3OTkgdXJsKC4uLy4uL2ltYWdlcy9iYWNrZ3JvdW5kX2hvcml6b25fZ3JlZW4uanBnKSByZXBlYXQteCAwIDA7XG59XG5cbi5jLWJnLXNlcnZpY2UtbGlnaHQge1xuXHQvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cHM6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvI2U4ZThlOCswLGI2YjZiNisxMDAgKi9cblx0YmFja2dyb3VuZDogcmdiKDIzMiwyMzIsMjMyKTsgLyogT2xkIGJyb3dzZXJzICovXG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoMjMyLDIzMiwyMzIsMSkgMCUsIHJnYmEoMTgyLDE4MiwxODIsMSkgMTAwJSk7IC8qIEZGMy42LTE1ICovXG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoMjMyLDIzMiwyMzIsMSkgMCUscmdiYSgxODIsMTgyLDE4MiwxKSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIHJnYmEoMjMyLDIzMiwyMzIsMSkgMCUscmdiYSgxODIsMTgyLDE4MiwxKSAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZThlOGU4JywgZW5kQ29sb3JzdHI9JyNiNmI2YjYnLEdyYWRpZW50VHlwZT0wICk7IC8qIElFNi05ICovXG59XG5cbi5jLWJnLXNlcnZpY2UtbGlnaHQtaG9yaXpvbiB7XG5cdGJhY2tncm91bmQ6ICNlOGU4ZTggdXJsKC4uLy4uL2ltYWdlcy9iYWNrZ3JvdW5kX2hvcml6b25fd2hpdGUuanBnKSByZXBlYXQteCAwIDA7XG59XG5cbi5jLWJnLXNlcnZpY2UtZGFyayB7XG5cdC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwczovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jMWIxYjFiKzAsMTMxMzEzKzEwMCAqL1xuXHRiYWNrZ3JvdW5kOiByZ2IoMjcsMjcsMjcpOyAvKiBPbGQgYnJvd3NlcnMgKi9cblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgcmdiYSgyNywyNywyNywxKSAwJSwgcmdiYSgxOSwxOSwxOSwxKSAxMDAlKTsgLyogRkYzLjYtMTUgKi9cblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAgcmdiYSgyNywyNywyNywxKSAwJSxyZ2JhKDE5LDE5LDE5LDEpIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgcmdiYSgyNywyNywyNywxKSAwJSxyZ2JhKDE5LDE5LDE5LDEpIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMxYjFiMWInLCBlbmRDb2xvcnN0cj0nIzEzMTMxMycsR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTkgKi9cbn1cblxuLmMtYmctc2VydmljZS1kYXJrLWhvcml6b24ge1xuXHRiYWNrZ3JvdW5kOiAjMWIxYjFiIHVybCguLi8uLi9pbWFnZXMvYmFja2dyb3VuZF9ob3Jpem9uX2JsYWNrLmpwZykgcmVwZWF0LXggMCAwO1xufVxuXG4vKiBuZXcgc2VydmljZSBiZyBjb2xvcnMgZm9yIHZpZGVvcyAqL1xuLmMtYmctc2VydmljZS1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWMyOTg1O1xufVxuXG4uYy1iZy1zZXJ2aWNlLWJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTAxMDEwO1xufVxuXG4uYy1iZy1zZXJ2aWNlLWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTc4ZTcwO1xufVxuXG4uYy1iZy1zZXJ2aWNlLWJyb256ZSB7XG4gICAgYmFja2dyb3VuZDogI2FkOGE2ZTtcbn1cblxuLmMtYmctc2VydmljZS1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kOiAjYjViY2MyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBTaG93cm9vbSAvIFRlYXNlciBiaWdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXNob3dyb29tLFxuLmMtdGVhc2VyLWJpZyB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXNob3dyb29tLFxuLmMtc2hvd3Jvb20tdGV4dCAuYy1yb3csXG4uYy10ZWFzZXItYmlnLFxuLmMtdGVhc2VyLWJpZy10ZXh0IC5jLXJvdyB7XG5cdG1pbi1oZWlnaHQ6IDEwMHZoOyBcbn1cblxuXG4vKiBtaW4taGVpZ2h0IGZpeCBmb3IgaWUxMSAqL1xuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgIFx0LmMtc2hvd3Jvb20tdGV4dCAuYy1yb3c6YWZ0ZXIsXG5cdC5jLXRlYXNlci1iaWctdGV4dCAuYy1yb3c6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdC8qZGlzcGxheTogYmxvY2s7Ki9cblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWluLWhlaWdodDogaW5oZXJpdDtcblx0XHRmb250LXNpemU6IDA7XG5cdH1cbn1cblxuXG4uYy1zaG93cm9vbS1pbWcsXG4uYy1zaG93cm9vbS12aWRlbyxcbi5jLXRlYXNlci1iaWctaW1nIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cblxuLmMtc2hvd3Jvb20taW1nIGltZyxcbi5jLXNob3dyb29tLXZpZGVvIHZpZGVvLFxuLmMtdGVhc2VyLWJpZy1pbWcgaW1nIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b2JqZWN0LWZpdDogY292ZXI7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgdGVhc2VyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtdGVhc2VyLTJjb2wgLmMtdGVhc2VyLXRleHQsXG4uYy10ZWFzZXItdGVhbSAuYy10ZWFzZXItdGV4dCB7XG5cdHBhZGRpbmctdG9wOiAxLjVlbTtcbn1cblxuXG4uYy10ZWFzZXItaW1nIGEge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbi5jLXRlYXNlci1pbWcgYTo6YmVmb3JlLFxuLmMtdGVhc2VyLXRlYW0taG92ZXI6OmJlZm9yZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Y29udGVudDogJyc7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMCAkYmctY29udGVudDtcdFxuXHR0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2Utb3V0O1xuXHRcbn1cblxuLmMtdGVhc2VyLWltZyBhOmhvdmVyOjpiZWZvcmUsXG4uYy10ZWFzZXItaW1nIGE6aG92ZXIgLmMtdGVhc2VyLXRlYW0taG92ZXI6OmJlZm9yZXtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMTRweCAkYmctY29udGVudDtcdFxufVxuXG4uYy10ZWFzZXItdGVhbS1ob3ZlciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLW91dDtcbn1cblxuXG5cbi5jLXRlYXNlci1pbWcgYTpob3ZlciAuYy10ZWFzZXItdGVhbS1ob3ZlciB7XG5cdG9wYWNpdHk6IDE7XHRcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgc2VwYXJhdG9yIFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc2VwYXJhdG9yLWxpbmUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1iYXNpYztcbn1cblxuLmMtcXVvdGUtbGluZSAuYy1zZXBhcmF0b3ItbGluZTpmaXJzdC1vZi10eXBlIHtcblx0bWFyZ2luLWJvdHRvbTogNmVtO1xufVxuXG4uYy1xdW90ZS1saW5lIC5jLXNlcGFyYXRvci1saW5lOmxhc3Qtb2YtdHlwZSB7XG5cdG1hcmdpbi10b3A6IDZlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgcGFnaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1wYWdpbmctbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZmxleC1mbG93OiByb3cgd3JhcDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYy1wYWdpbmctbGlzdCBsaSArIGxpIHtcblx0cGFkZGluZy1sZWZ0OiAxZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIGxvZ293YWxsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1sb2dvd2FsbC1saW5lIHtcbiAgICBwYWRkaW5nLXRvcDogMS43cmVtO1xufVxuXG4uYy1sb2dvd2FsbC1saW5lOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMzBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1iYXNpYztcbn1cblxuLmMtbG9nb3dhbGwtbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbi5jLWxvZ293YWxsLWxpbmUgLmMtbG9nb3dhbGwtbGlzdCB7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgNHB4ICRib3JkZXItYmFzaWM7XG59XG5cbi5jLWxvZ293YWxsLWxpc3QgbGkge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgLXdlYmtpdC1mbGV4OiAwIDAgMjUlO1xuICAgIC1tcy1mbGV4OiAwIDAgMjUlO1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgcGFkZGluZzogMC44cmVtIDA7XG59XG5cbi5jLWxvZ293YWxsLWltZyB7XG4gICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIGNvb2tpZSBub3RpY2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWNvb2tpZS1ub3RpY2V7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0Ym90dG9tOiAzMHB4O1xuXHRyaWdodDogMzBweDtcblx0d2lkdGg6IDQwMHB4O1xuICBcdHBhZGRpbmc6IDMwcHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjc7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1kYXJrO1xuXHRkaXNwbGF5OiBub25lO1xuXHRib3JkZXI6IHNvbGlkIDFweCAkYmctY29udGVudDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7ICAgIFxuXHQuYy1jb29raWUtbm90aWNlIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRib3R0b206IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdH1cblx0XG5cdFxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEFuaW1hdGlvbiBlbGVtZW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmpzLWVuYWJsZWR7XG4gICAgXG5cbiAgICAuYW5pbWF0aW9uLWVsZW1lbnQuZmFkZS11cCAuYW5pbWF0aW9uIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgJGN1YmljLXRyYW5zaXRpb247XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMzBweCwgMHB4KTtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuYW5pbWF0aW9uLWVsZW1lbnQuZmFkZS11cC5pbi12aWV3IC5hbmltYXRpb24ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG4gICAgfVxuXG4gICAgLmFuaW1hdGlvbi1lbGVtZW50LmZhZGUtcmlnaHQgLmFuaW1hdGlvbiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zICRjdWJpYy10cmFuc2l0aW9uO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAwcHgsIDBweCwgMHB4KTtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuYW5pbWF0aW9uLWVsZW1lbnQuZmFkZS1yaWdodC5pbi12aWV3IC5hbmltYXRpb24ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG4gICAgfVxuXG5cbiAgICAuYy1oZWFkZXItbmF2aWdhdGlvbntcbiAgICBcdG92ZXJmbG93OiBoaWRkZW4haW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5hbmltYXRpb24tbmF2LWl0ZW17XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zICRjdWJpYy10cmFuc2l0aW9uO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDBweCwgMHB4LCAwcHgpO1xuICAgIH1cblxuICAgIC5hbmltYXRpb24tbmF2LWl0ZW0uaW4tdmlldyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcbiAgICB9XG5cbn1cblxuLmltZy1sb2FkLW1hc2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDBweDtcbiAgICByaWdodDogMHB4O1xuICAgIGJvdHRvbTogMHB4O1xuICAgIHdpZHRoOiAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMTAwMG1zIGVhc2UgMHM7XG5cbiAgICAmLmluLXZpZXd7XG4gICAgXHR3aWR0aDogMHB4O1xuICAgIH1cbn1cblxuXG4uYy12aWRlby1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIC8vIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBpZnJhbWV7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyBcbiAgICAgICAgYm9yZGVyOiBub25lOyAgICAgICBcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIE1lc3NhZ2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1tZXNzYWdlIHtcbiAgICAvKnBvc2l0aW9uOiBmaXhlZDsqL1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgaGVpZ2h0OiAkaGVpZ2h0LW1lc3NhZ2U7ICBcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHotaW5kZXg6IDEwMDE7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDEwcHggNXB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMTBweCA1cHggcmdiYSgwLDAsMCwwLjIpO1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTBweCA1cHggcmdiYSgwLDAsMCwwLjIpO1xufVxuXG4uYy1tZXNzYWdlLWNsb3NlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmMtbWVzc2FnZSArIC5jLWhlYWRlciB7XG4gICAgdG9wOiAxMjBweDtcbn1cblxuLmMtbWVzc2FnZS1jbG9zZWQgKyAuYy1oZWFkZXIge1xuICAgIHRvcDogMDtcbn1cblxuLmMtbWVzc2FnZS1pbm5lciB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rIGNvbG9ycyBhbmQgc3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hW2hyZWZePVwidGVsOlwiXSB7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtdGV4dC1ibG9jayBhLFxuLmMtbGluay10ZWFzZXIgaDMgc3Bhbixcbi5jLWxpbmstZXh0ZXJuLFxuLmMtbGluay1kb3dubG9hZCxcbi5jLXByb2ZpbGUtbGlzdCBhLFxuLmMtbGluay1iYWNrLFxuLmMtbGluay1iYWNrLXNtYWxsLFxuLmMtbGluay1uZXh0LXNtYWxsLFxuLmMtYWRkaXRpb25hbC1jb250ZW50IGEsXG4uYy1sYW5nLW1lbnUgYSxcbi5jLW1lc3NhZ2UgYSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sJGNvbG9yLWhpZ2hsaWdodCAwJSwkY29sb3ItaGlnaGxpZ2h0IDEwMCUpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0MCUgNDAlO1xuICBcdHRyYW5zaXRpb246IGJhY2tncm91bmQgLjFzIGVhc2Utb3V0O1xufVxuXG4uYy1tZXNzYWdlIGEge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCRjb2xvci1wcmltYXJ5IDAlLCRjb2xvci1wcmltYXJ5IDEwMCUpO1xufVxuXG4uYy1saW5rLXRlYXNlciBoMyBzcGFuLFxuLmMtcHJvZmlsZS1saXN0IGEsXG4uYy1hZGRpdGlvbmFsLWNvbnRlbnQgYSxcbi5jLWxhbmctbWVudSBhIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCA4MCU7XG5cdGJhY2tncm91bmQtc2l6ZTogMCAwO1xufVxuXG4uYy1saW5rLWV4dGVybi1zaW5nbGVsaW5lLFxuLmMtdGV4dC1ibG9jayAuYy1saW5rLWV4dGVybi1zaW5nbGVsaW5lIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCA4MCU7XG5cdGJhY2tncm91bmQtc2l6ZTogMzAlIDMwJTtcbn1cblxuLmMtbGluay1iYWNrLFxuLmMtbGluay1iYWNrLXNtYWxsLFxuLmMtbGluay1uZXh0LXNtYWxsIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDAgMDtcbn1cblxuLmMtdGV4dC1ibG9jayBhOmZvY3VzLFxuLmMtdGV4dC1ibG9jayBhOmhvdmVyLFxuLmMtbGluay10ZWFzZXIgaDMgc3Bhbjpmb2N1cyxcbi5jLWxpbmstdGVhc2VyIGgzIHNwYW46aG92ZXIsXG4uYy1saW5rLWV4dGVybjpmb2N1cyxcbi5jLWxpbmstZXh0ZXJuOmhvdmVyLFxuLmMtbGluay1kb3dubG9hZDpmb2N1cyxcbi5jLWxpbmstZG93bmxvYWQ6aG92ZXIsXG4uYy1tZXNzYWdlIGE6Zm9jdXMsXG4uYy1tZXNzYWdlIGE6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTtcblx0YmFja2dyb3VuZC1zaXplOiA2MCUgNjAlO1xufVxuXG4uYy1saW5rLWJhY2s6Zm9jdXMsXG4uYy1saW5rLWJhY2s6aG92ZXIsXG4uYy1saW5rLWJhY2stc21hbGw6Zm9jdXMsXG4uYy1saW5rLWJhY2stc21hbGw6aG92ZXIsXG4uYy1saW5rLW5leHQtc21hbGw6Zm9jdXMsXG4uYy1saW5rLW5leHQtc21hbGw6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLmMtcHJvZmlsZS1saXN0IGE6Zm9jdXMsXG4uYy1wcm9maWxlLWxpc3QgIGE6aG92ZXIsXG4uYy1hZGRpdGlvbmFsLWNvbnRlbnQgYTpmb2N1cyxcbi5jLWFkZGl0aW9uYWwtY29udGVudCBhOmhvdmVyLFxuLmMtbGFuZy1tZW51IGE6Zm9jdXMsXG4uYy1sYW5nLW1lbnUgYTpob3Zlcntcblx0YmFja2dyb3VuZC1zaXplOiA0cHggNHB4O1xufVxuXG4uYy1saW5rLWV4dGVybi1zaW5nbGVsaW5lOmZvY3VzLFxuLmMtbGluay1leHRlcm4tc2luZ2xlbGluZTpob3Zlcixcbi5jLXRleHQtYmxvY2sgLmMtbGluay1leHRlcm4tc2luZ2xlbGluZTpmb2N1cyxcbi5jLXRleHQtYmxvY2sgLmMtbGluay1leHRlcm4tc2luZ2xlbGluZTpob3Zlcntcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCA0NiU7XG5cdGJhY2tncm91bmQtc2l6ZTogNDYlIDQ2JTtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1idG4sXG4uYy1tZXNzYWdlIC5jLWJ0bi1jbG9zZSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJ1dHRvbiBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcblx0cGFkZGluZzogMC41ZW0gMTVweDtcblx0Ym9yZGVyOiBzb2xpZCA0cHggJGNvbG9yLWhpZ2hsaWdodDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICBcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxufVxuXG4uYy1idG4sXG4uYy1idG46dmlzaXRlZCB7XG4gICAgY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG59XG5cbi5jLWJ0bjpob3ZlciwgXG4uYy1idG46Zm9jdXMge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYy1idG4tY2xvc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMzBweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4uYy1idG4tY2xvc2U6OmJlZm9yZSxcbi5jLWJ0bi1jbG9zZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xufVxuXG4uYy1tZXNzYWdlIC5jLWJ0bi1jbG9zZTo6YmVmb3JlLFxuLmMtbWVzc2FnZSAuYy1idG4tY2xvc2U6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbn1cblxuLmMtYnRuLWNsb3NlOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbi5jLWJ0bi1jbG9zZTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLmMtYnRuLWNsb3NlOmZvY3VzOjpiZWZvcmUsXG4uYy1idG4tY2xvc2U6Zm9jdXM6OmFmdGVyLFxuLmMtYnRuLWNsb3NlOmhvdmVyOjpiZWZvcmUsXG4uYy1idG4tY2xvc2U6aG92ZXI6OmFmdGVye1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTVweDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGxpbmtzIHdpdGggaWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWljb24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWljb246OmJlZm9yZSxcbi5jLWljb246OmFmdGVyIHtcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRiYWNrZ3JvdW5kLWltYWdlOnVybCguLi8uLi9pbWFnZXMvc3ByaXRlLnN2Zyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5jLWJ0bi1zZW5kIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMnB4O1xuXHRyaWdodDogNXB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc2l6ZTogMTAwJTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdHBhZGRpbmc6IDAuNWVtIDUwcHggMC41ZW0gMDtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAuMXM7XG59XG5cbi5jLWJ0bi1zZW5kOmhvdmVyIHtcblx0Y29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG59XG5cbi5jLWJ0bi1zZW5kOjpiZWZvcmUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRyaWdodDogMDtcblx0bWFyZ2luLXRvcDogLThweDtcblx0d2lkdGg6IDMycHg7XG5cdGhlaWdodDogMTdweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTE1MHB4IC02MHB4O1xuXHRcbn1cblxuLmMtbGluay1leHRlcm4sXG4uYy1saW5rLWRvd25sb2FkLFxuLmMtbGluay1leHRlcm4tc2luZ2xlbGluZSB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jLWxpbmstZG93bmxvYWQgc3BhbiB7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi5jLWljb24tZXh0ZXJuLFxuLmMtaWNvbi1kb3dubG9hZCxcbi5jLWljb24tYXJyb3ctYmlnIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMS4yNWVtO1xuXHRoZWlnaHQ6IDFlbTtcblx0bWFyZ2luLWxlZnQ6IDAuNWVtO1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi5jLWxpbmstZXh0ZXJuLXNpbmdsZWxpbmUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZy1yaWdodDogMS43NWVtO1xufVxuXG5cblxuLmMtbGluay1leHRlcm4tc2luZ2xlbGluZTo6YmVmb3JlLFxuLmMtaWNvbi1leHRlcm46OmJlZm9yZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMC4wOGVtO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMjFweDtcblx0aGVpZ2h0OiAyMXB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMDBweDtcbn1cblxuLmMtbGluay1leHRlcm4tc2luZ2xlbGluZTo6YmVmb3JlIHtcblx0bGVmdDogYXV0bztcblx0cmlnaHQ6IDA7XG5cdHRvcDogNTAlO1xuXHRtYXJnaW4tdG9wOiAtMTNweDtcbn1cblxuLyouYy1saW5rLWV4dGVybjpob3ZlciAuYy1pY29uLWV4dGVybjo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0xMDBweDtcbn0qL1xuXG4uYy1pY29uLWRvd25sb2FkOjpiZWZvcmUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogLTAuMWVtO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMThweDtcblx0aGVpZ2h0OiAyMnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDBweDtcbn1cblxuLyouYy1saW5rLWRvd25sb2FkOmhvdmVyIC5jLWljb24tZG93bmxvYWQ6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtMTQwcHg7XG59Ki9cblxuLmMtaWNvbi1hcnJvdy1iaWcge1xuXHR3aWR0aDogOTBweDtcblx0aGVpZ2h0OiAwLjVlbTtcblx0bWFyZ2luLWxlZnQ6IDAuMjVlbTtcbn1cblxuLmMtaWNvbi1hcnJvdy1iaWc6OmJlZm9yZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDA7XG5cdG1hcmdpbi10b3A6IC0yMnB4O1xuXHR3aWR0aDogODVweDtcblx0aGVpZ2h0OiA0NXB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG59XG5cblxuLmMtYnRuLXNvY2lhbCxcbi5jLXRleHQtYmxvY2sgLmMtYnRuLXNvY2lhbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiA0MHB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMXMgZWFzZS1vdXQ7XG59XG5cblxuXG4uYy1mb290ZXIgLmMtYnRuLXNvY2lhbCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LWNvbG9yLWZvb3Rlcjtcbn1cblxuLmMtdGV4dC1ibG9jayAuYy1idG4tc29jaWFsIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLmMtYnRuLXNvY2lhbDpmb2N1cyxcbi5jLWJ0bi1zb2NpYWw6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xuXHR0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5jLWJ0bi1zb2NpYWwtaW5zdGE6OmJlZm9yZSB7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdG1hcmdpbi1sZWZ0OiAtMTJweDtcblx0bWFyZ2luLXRvcDogLTEycHg7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtMTgwcHg7XG59XG5cbi5jLWZvb3RlciAuYy1idG4tc29jaWFsLWluc3RhOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xODBweDtcbn1cblxuLmMtYnRuLXNvY2lhbC1mYjo6YmVmb3JlIHtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luLWxlZnQ6IC02cHg7XG5cdG1hcmdpbi10b3A6IC0xMnB4O1xuXHR3aWR0aDogMTJweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTIyMHB4O1xufVxuXG4uYy1mb290ZXIgLmMtYnRuLXNvY2lhbC1mYjo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjIwcHg7XG59XG5cblxuLmMtYnRuLXNvY2lhbC1saW5rZWRpbjo6YmVmb3JlIHtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luLWxlZnQ6IC05cHg7XG5cdG1hcmdpbi10b3A6IC0xMXB4O1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTI2MHB4O1xufVxuXG4uYy1mb290ZXIgLmMtYnRuLXNvY2lhbC1saW5rZWRpbjo6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjYwcHg7XG59XG5cblxuLmMtYnRuLXNvY2lhbC10d2l0dGVyOjpiZWZvcmUge1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLTExcHg7XG5cdG1hcmdpbi10b3A6IC05cHg7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtMzAwcHg7XG59XG5cbi5jLWZvb3RlciAuYy1idG4tc29jaWFsLXR3aXR0ZXI6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMwMHB4O1xufVxuXG4uYy1saW5rLWJhY2sge1xuXHR3aWR0aDogODNweDtcblx0aGVpZ2h0OiA0M3B4O1xufVxuXG4uYy1saW5rLWJhY2s6YmVmb3JlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiA4M3B4O1xuXHRoZWlnaHQ6IDQzcHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTM0MHB4O1xufVxuXG4uYy1saW5rLWJhY2stc21hbGwsXG4uYy1saW5rLW5leHQtc21hbGwge1xuXHR3aWR0aDogMzFweDtcblx0aGVpZ2h0OiAxN3B4O1xufVxuXG4uYy1saW5rLWJhY2stc21hbGw6YmVmb3JlLFxuLmMtbGluay1uZXh0LXNtYWxsOmJlZm9yZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMzFweDtcblx0aGVpZ2h0OiAxN3B4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTYwcHg7XG59XG5cbi5jLWxpbmstbmV4dC1zbWFsbDpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02MHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpIHsgICAgXG5cdC5jLWljb24tYXJyb3ctYmlnIHtcblx0XHR3aWR0aDogNjBweDtcblx0fVxuXG5cdC5jLWljb24tYXJyb3ctYmlnOjpiZWZvcmUge1xuXHRcdG1hcmdpbi10b3A6IC0xNHB4O1xuXHRcdHdpZHRoOiA2MnB4O1xuXHRcdGhlaWdodDogMzNweDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggMDtcblx0fVxuXHRcblx0LmMtbGluay1iYWNrIHtcblx0XHR3aWR0aDogNjBweDtcblx0XHRoZWlnaHQ6IDMxcHg7XG5cdH1cblxuXHQuYy1saW5rLWJhY2s6YmVmb3JlIHtcblx0XHR3aWR0aDogNjBweDtcblx0XHRoZWlnaHQ6IDMxcHg7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0zNDBweDtcblx0fVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSYXRpbyBCb3hcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXJhdGlvYm94IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDA7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1yYXRpb2JveCA+IGltZyxcbi5jLXJhdGlvYm94ID4gaWZyYW1lLFxuLmMtcmF0aW9ib3ggPiBvYmplY3Qge1xuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xufVxuXG4uYy1yYXRpb2JveCA+IGltZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XHRcbn1cblxuLmMtcmF0aW9ib3ggPiBpZnJhbWUsXG4uYy1yYXRpb2JveCA+IG9iamVjdCB7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG4uYy1yYXRpb2JveC0xNmJ5OSB7XG5cdHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi5jLXJhdGlvYm94LTRieTMge1xuXHRwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuXG4uYy1yYXRpb2JveC0xYnkxIHtcblx0cGFkZGluZy1ib3R0b206IDEwMCU7XG59XG5cbi5jLXJhdGlvYm94LTNieTQge1xuXHRwYWRkaW5nLWJvdHRvbTogMTMzLjMzMzMzMzMzMzMzMzMzMyU7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBzYWZhcmkgZm9ybSBmaXggKi9cbmlucHV0LFxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxudGV4dGFyZWEge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogcmVtb3ZlIGNocm9tZSBhdXRvZmlsbCB5ZWxsb3cgY29sb3IgKi9cbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAyMDAwcztcbn1cblxuLyogQ2hyb21lLCBTYWZhcmksIEVkZ2UsIE9wZXJhICovXG5pbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbmlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEZpcmVmb3ggKi9cbmlucHV0W3R5cGU9bnVtYmVyXSB7XG4gIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuXG4uYy1mb3JtLWl0ZW0ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nLWJvdHRvbTogMS41ZW07XG59XG5cbi5jLWZvcm0tdGV4dCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAkdGV4dC1jb2xvci1mb290ZXI7XG5cdGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcblx0cGFkZGluZzogMC41ZW0gNXB4O1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xufVxuXG4uYy1mb3JtLWl0ZW0tbmwgLmMtZm9ybS10ZXh0IHtcblx0cGFkZGluZy1yaWdodDogMTMwcHg7XG59XG5cbi5jLWZvcm0tdGV4dDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogJGNvbG9yLWhpZ2hsaWdodDtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuXG4uYy1mb3JtLXN0YW5kYXJkIGxhYmVsLFxuLmMtZm9ybS1mb290ZXIgbGFiZWwge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy1ib3R0b206IDJweDtcbn1cblxuLmMtZm9ybS1lcnJvcixcbi5jLWZvcm0tY29uZmlybWF0aW9ue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIFxuICAgICYuaGlkZGVue1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYuYy1mb3JtLWVycm9ye1xuICAgICAgICBjb2xvcjogI2U0MDQyNjtcbiAgICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgZXJyb3JcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZvcm0tZXJyb3IgLmMtZm9ybS10ZXh0IHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZGQwMDAwO1xufVxuXG4uYy1mb3JtLWVycm9yIGxhYmVsLFxuLmMtZm9ybS1lcnJvciBzcGFuIHtcbiAgICBjb2xvcjogI2RkMDAwMDtcbn1cblxuLyogZXJyb3IgKi9cbi5jLWZvcm0tZXJyb3IgLmMtZm9ybS10ZXh0LFxuLmMtZm9ybS1lcnJvciAuYy1mb3JtLXRleHRhcmVhLFxuLmMtZm9ybS1zdGFuZGFyZCAuYy1mb3JtLWVycm9yIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkK2xhYmVsOjpiZWZvcmUsXG4uYy1mb3JtLXN0YW5kYXJkIC5jLWZvcm0tZXJyb3IgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkrbGFiZWw6OmJlZm9yZXtcblx0Ym9yZGVyLWNvbG9yOiAjZGQwMDAwO1xufVxuXG4uYy1mb3JtLWVycm9yIGxhYmVsLFxuLmMtZm9ybS1lcnJvciBzcGFuIHtcblx0Y29sb3I6ICNkZDAwMDA7XG59XG5cbi5jLWZvcm0tZXJyb3Igc3BhbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLXRvcDogMC4yNWVtO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTaG9wIENvbnRlbnQsIHJlbW92ZSBvdmVyZmxvdyBoaWRkZW4gZnJvbSBjLWNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWNvbnRlbnQtc2hvcCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTaG9wIFJhdGlvYm94XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1yYXRpb2JveC1zaG9wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjYuNjYlO1xufVxuXG4uYy1yYXRpb2JveC1zaG9wIGltZ3tcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gaGVhZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1zaG9wLWJhc2tldC1uYXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDRlbTtcbiAgICByaWdodDogMzBweDtcbiAgICBwYWRkaW5nLXRvcDogMmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHotaW5kZXg6IDEwMDE7XG59XG5cbi5jLXNob3AtYmFza2V0LW5hdjo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2hvcCBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXNob3AtY2xhaW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1zaG9wLWNsYWltLXRleHQsXG4uYy1pY29uLWhlYXJ0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtaWNvbi1oZWFydDpob3Zlcixcbi5jLXNob3AtY2xhaW06aG92ZXIgLmMtaWNvbi1oZWFydCB7XG4gICAgYW5pbWF0aW9uOiBwdWxzZSAuOHMgaW5maW5pdGU7XG59XG5cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC45KTtcbiAgICB9XG4gICAgXG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIH1cbiAgICBcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguOSk7XG4gICAgfVxufVxuXG4uYy1mb290ZXItc2hvcCBhLFxuLmMtZm9vdGVyLXNob3AgYTp2aXNpdGVkIHtcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xufVxuXG4uYy1mb290ZXItc2hvcCBhOmhvdmVyLFxuLmMtZm9vdGVyLXNob3AgYTpmb2N1cyB7XG5cdGNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xufVxuXG4uYy1zaG9wLXBheW1lbnQtbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtc2hvcC1wYXltZW50LWxpc3QgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi5jLXNob3AtcGF5bWVudC1pY29ue1xuICAgIHdpZHRoOiA2MHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIHNob3AgaWNvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWljb24taGVhcnQsXG4uYy1saW5rLXNob3AtYmFza2V0LWljb24ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWljb24taGVhcnQge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbn1cblxuLmMtaWNvbi1oZWFydDo6YmVmb3JlLFxuLmMtbGluay1zaG9wLWJhc2tldC1pY29uOjpiZWZvcmUge1xuXHRjb250ZW50OicnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKC4uLy4uL2ltYWdlcy9zcHJpdGUtc2hvcC5zdmcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uYy1pY29uLWhlYXJ0OjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02MHB4O1xufVxuXG4uYy1pY29uLWhlYXJ0OmhvdmVyOjpiZWZvcmUsXG4uYy1zaG9wLWNsYWltOmhvdmVyIC5jLWljb24taGVhcnQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC02MHB4O1xufVxuXG4uYy1saW5rLXNob3AtYmFza2V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLWxpbmstc2hvcC1iYXNrZXQtaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG59XG5cbi5jLWxpbmstc2hvcC1iYXNrZXQtaWNvbjo6YmVmb3JlIHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMzNweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgbWFyZ2luLXRvcDogLTE4cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xufVxuXG4uYy1saW5rLXNob3AtYmFza2V0LWl0ZW1zIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTNweDtcbiAgcmlnaHQ6IC0xM3B4O1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiAyNnB4O1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIHNob3AgZGV0YWlsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKi5jLXNob3AtcHJvZHVjdCAuYy1idG4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xufSovXG5cbi5jLXNob3AtcHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xufVxuXG4uYy1zaG9wLXRpdGxlIHtcblx0Zm9udC1zaXplOiAyLjJyZW07IC8qIDQ0cHggKi9cblx0bGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgcGFkZGluZy1ib3R0b206IC42ZW07XG59XG5cbi5jLXNob3AtcHJvZHVjdC1kZXNjLWlubmVyIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogOXJlbTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmMtc2hvcC1wcm9kdWN0LWltYWdlLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLmMtc2hvcC1wcm9kdWN0LWFkZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdztcbn1cblxuLmMtc2hvcC1wcm9kdWN0LWFkZC1maWVsZCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICNkNmQ2ZDY7XG4gICAgICBwYWRkaW5nOiAuNWVtIDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZm9ybS1maWVsZC1iZyk7XG59XG5cbi5jLXNob3AtcHJvZHVjdC1hZGQtZmllbGQ6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6ICRjb2xvci1oaWdobGlnaHQ7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi5jLXNob3AtcHJvZHVjdC1hZGQgLmMtYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTYwcHgpO1xufVxuXG4uYy1zaG9wLXByb2R1Y3QtbnVtYmVyLWZpZWxkIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxNDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi8qIEZpcmVmb3ggKi9cbi5jLXNob3AtcHJvZHVjdC1udW1iZXItZmllbGQgaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5cbi5jLXNob3AtcHJvZHVjdC1udW1iZXItZmllbGQgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXI6IHNvbGlkIDJweCAkYm9yZGVyLWZvcm07XG4gICAgY29sb3I6ICMyMjI7XG4gICAgcGFkZGluZzogLjZlbSAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYy1zaG9wLXByb2R1Y3QtbnVtYmVyLWZpZWxkIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uYy1zaG9wLWJ0bi1udW1iZXItbWludXMsIFxuLmMtc2hvcC1idG4tbnVtYmVyLXBsdXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiBzb2xpZCAycHggJGJvcmRlci1mb3JtO1xuICAgIHRleHQtaW5kZW50OiAxMDAlO1xufVxuXG4uYy1zaG9wLWJ0bi1udW1iZXItcGx1czpob3Zlcixcbi5jLXNob3AtYnRuLW51bWJlci1wbHVzOmZvY3VzLFxuLmMtc2hvcC1idG4tbnVtYmVyLW1pbnVzOmhvdmVyLFxuLmMtc2hvcC1idG4tbnVtYmVyLW1pbnVzOmZvY3VzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbnRlbnQ7XG59XG5cbi5jLXNob3AtYnRuLW51bWJlci1wbHVzIHtcblx0cmlnaHQ6IDA7XG5cdGJvcmRlci1sZWZ0OiBub25lO1x0XG5cdGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5jLXNob3AtYnRuLW51bWJlci1taW51cyB7XG5cdGxlZnQ6IDA7XHRcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1x0XG5cdGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5jLXNob3AtYnRuLW51bWJlci1wbHVzOjpiZWZvcmUsXG4uYy1zaG9wLWJ0bi1udW1iZXItbWludXM6OmJlZm9yZSxcbi5jLXNob3AtYnRuLW51bWJlci1wbHVzOjphZnRlcntcblx0Y29udGVudDonJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLThweDtcblx0bWFyZ2luLXRvcDogLTFweDtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaGlnaGxpZ2h0O1xufVxuXG4uYy1zaG9wLWJ0bi1udW1iZXItcGx1czo6YWZ0ZXIge1xuXHRtYXJnaW4tdG9wOiAtOHB4O1xuXHRtYXJnaW4tbGVmdDogLTFweDtcblx0d2lkdGg6IDJweDtcblx0aGVpZ2h0OiAxNnB4O1xufVxuXG4uYy1zaG9wLWJ0bi1udW1iZXItcGx1czpob3Zlcjo6YmVmb3JlLFxuLmMtc2hvcC1idG4tbnVtYmVyLXBsdXM6Zm9jdXM6OmJlZm9yZSxcbi5jLXNob3AtYnRuLW51bWJlci1taW51czpob3Zlcjo6YmVmb3JlLFxuLmMtc2hvcC1idG4tbnVtYmVyLW1pbnVzOmZvY3VzOjpiZWZvcmUsXG4uYy1zaG9wLWJ0bi1udW1iZXItcGx1czpob3Zlcjo6YWZ0ZXIsXG4uYy1zaG9wLWJ0bi1udW1iZXItcGx1czpmb2N1czo6YWZ0ZXJ7XG5cdGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LWNvbG9yO1xufVxuXG4uYy1zaG9wLXNpemUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbn1cblxuLmMtc2hvcC1zaXplIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgZHJvcGRvd25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXNob3Atc2l6ZSBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiAwLjZlbSAzMHB4IDAuNmVtIDEwcHggIWltcG9ydGFudDtcblx0d2lkdGg6IDE0MHB4OyAgXG5cdGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXHRib3JkZXI6IDJweCBzb2xpZCAkYm9yZGVyLWZvcm07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblx0YmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvaWNvbi1mb3JtLWFycm93LnN2ZycpIHJpZ2h0IGNlbnRlciBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb250ZW50O1xuXHRjb2xvcjogJHRleHQtY29sb3I7XG5cdGZvbnQtc2l6ZTogMTAwJTtcblx0bGluZS1oZWlnaHQ6IDFyZW0gIWltcG9ydGFudDtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XHRcbn1cblxuLmMtc2hvcC1zaXplIHNlbGVjdDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWZvcm0tZm9jdXM7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi5jLXNob3Atc2l6ZSBzZWxlY3Qgb3B0aW9uIHtcblx0cGFkZGluZzogMDtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLmMtc2hvcC1zaXplIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIHNob3AgcmVzcG9uc2l2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyMDBweCkgeyAgXG4gICAgLmMtc2hvcC1iYXNrZXQtbmF2IHtcbiAgICAgICAgcmlnaHQ6IDYwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTUwMHB4KSB7ICAgIFxuXHQuYy1zaG9wLXRpdGxlIHtcdFx0XG5cdFx0Zm9udC1zaXplOiAzcmVtOyAvKiA2MCBweCAqL1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5ODBweCkgeyAgXG5cdC5jLWZvb3Rlci1zaG9wLW1haW4gLmMtY29sLTQge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTguMzMzMzMlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTguMzMzMzMlO1xuXHRcdGZsZXg6IDAgMCA1OC4zMzMzMyU7XG5cdFx0bWF4LXdpZHRoOiA1OC4zMzMzMyU7XG5cdH1cblx0XG5cdC5jLWZvb3Rlci1zaG9wLW1haW4gLmMtY29sLTgge1xuXHRcdCAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDQxLjY2NjY3JTtcblx0XHQtbXMtZmxleDogMCAwIDQxLjY2NjY3JTtcblx0XHRmbGV4OiAwIDAgNDEuNjY2NjclO1xuXHRcdG1heC13aWR0aDogNDEuNjY2NjclO1xuXHR9XG5cdFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ODUwcHgpIHsgIFxuXHQuYy1zaG9wLXRpdGxlIHtcdFx0XG5cdFx0Zm9udC1zaXplOiAxLjhyZW07IFxuXHR9XG5cdFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpIHsgICAgXG5cdC5jLXNob3AtdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogMnJlbTsgLyogMzJweCAqL1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2NTBweCkgeyAgXG4gICAgLmMtc2hvcC1wcm9kdWN0IC5jLWNvbC02IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC5jLXNob3AtcHJvZHVjdCAuYy1jb2wtNjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHsgIFxuXHQuYy1mb290ZXItc2hvcC1tYWluIC5jLWNvbC00IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXG5cdH1cbiAgICBcbiAgICAuYy1mb290ZXItc2hvcC1tYWluIC5jLWNvbC00ICsgLmMtY29sLTQge1xuXHRcdHBhZGRpbmctdG9wOiA2ZW07XG5cdH1cblx0XG4gICAgLmMtc2hvcC1iYXNrZXQtbmF2IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7ICBcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogOTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgfVxuICAgIFxuICAgIC5jLXNob3AtYmFza2V0LW5hdjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmMtbGluay1zaG9wLWJhc2tldC1pY29uIHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTllbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEN1c3RvbSBQcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46cm9vdCB7XG4gICAgLS1iZy1jb250ZW50OiAjZmZmO1xuICAgIC0tdGV4dC1jb2xvcjogIzJBMjIyODtcbiAgICAtLXRleHQtY29sb3ItbGlnaHQ6ICNmZmY7XG4gICAgLS1jb2xvci1oaWdobGlnaHQ6ICMwMEQ0QjQ7XG4gICAgLS1mb250LXNpemUtYm9keTogMWVtO1xuICAgIC0tZm9udC1zaXplLWJvZHktczogMC44cmVtOyBcbiAgICAvKi0tZm9udC1zaXplLWJvZHkteHM6IDAuNzVyZW07ICovXG4gICAgLS1mb250LXNpemUtaDItc21hbGw6IDEuMjVyZW07XG4gICAgLS1mb250LXdlaWdodC1ib2xkOiA2MDA7XG4gICAgLS1mb250LXdlaWdodC1ub3JtYWw6IDMwMDtcbiAgICAtLWJnLWxpZ2h0OiAjRTJFNUU5O1xuICAgIC0tZm9ybS1kaXNhYmxlZDogI2NjYztcbiAgICBcbiAgICAtLXNwYWNpbmctbDogNmVtO1xuICAgIC0tc3BhY2luZy1tOiAzZW07XG4gICAgXG4gICAgLS13b29jb21tZXJjZS1mb250LXNpemUtYm9keS14czogMC43NXJlbTtcbiAgICBcbiAgICAtLXdvb2NvbW1lcmNlLWlucHV0LWJnOiAjZmZmO1xuICAgIC0td29vY29tbWVyY2UtYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgLS13b29jb21tZXJjZS1ib3JkZXI6ICM5NDkxOTQ7XG4gICAgLS13b29jb21tZXJjZS1ib3JkZXItZm9jdXM6ICMwMDA7XG4gICAgLS13b29jb21tZXJjZS1pbnB1dC1wYWRkaW5nOiAuNzVlbSAuNWVtO1xuICAgIC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAtLXdvb2NvbW1lcmNlLWJ0bi1ib3JkZXItcmFkaXVzOiAwO1xuICAgIC0td29vY29tbWVyY2UtYnRuLXBhZGRpbmc6IDAuNWVtIDE1cHg7XG4gICAgLS13b29jb21tZXJjZS1saW5rLXVuZGVybGluZS13aWR0aDogNnB4O1xuICAgIC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyOiAjRTJFNUU5O1xuICAgIC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgLS13b29jb21tZXJjZS1hY3RpdmUtYm9yZGVyOiAjRTJFNUU5O1xuICAgIFxuICAgIC0td29vY29tbWVyY2UtZm9ybS1lcnJvcjogI2NjMTgxODtcbiAgICBcbiAgICAtLXdvb2NvbW1lcmNlLW1lc3NhZ2UtYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgLS13b29jb21tZXJjZS1tZXNzYWdlLWNvbG9yOiAjMkUxQUE5OyAvKiBvayAqL1xuICAgIC0td29vY29tbWVyY2UtbWVzc2FnZS1jb2xvci1pbmZvOiAjMzMzMzMzO1xuICAgIC0td29vY29tbWVyY2UtbWVzc2FnZS1jb2xvci1lcnJvcjogdmFyKC0td29vY29tbWVyY2UtZm9ybS1lcnJvcik7XG4gICAgXG4gICAgLS13b29jb21tZXJjZS10ZXh0LXBheW1lbnQtcGFkZGluZy1sZWZ0OiA3MHB4OyAvKiBwYWRkaW5nIGZvciBhbGlnbm1lbnQgd2l0aCB0ZXh0IGNoZWNrYm94IChwYXltZW50KSovXG4gICAgLS13b29jb21tZXJjZS1wYXltZW50LWJvcmRlci13aWR0aDogMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7ICAgIFxuICAgIDpyb290IHtcbiAgICAgICAgLS1mb250LXNpemUtYm9keS1zOiAwLjg3NXJlbTsgXG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9udC1zdHlsZXMgXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXF1YW50aXR5LXNlbGVjdG9yIGlucHV0LndjLWJsb2NrLWNvbXBvbmVudHMtcXVhbnRpdHktc2VsZWN0b3JfX2lucHV0LFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLW9yZGVyLXN1bW1hcnkgLndjLWJsb2NrLWNvbXBvbmVudHMtb3JkZXItc3VtbWFyeS1pdGVtX190b3RhbC1wcmljZSxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtZm9vdGVyLWl0ZW0gLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWl0ZW1fX2xhYmVsLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1pdGVtX192YWx1ZSxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciB0YWJsZS53Yy1ibG9jay1jYXJ0LWl0ZW1zIC53Yy1ibG9jay1jYXJ0LWl0ZW1zX19oZWFkZXIgdGgsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmlzLWxhcmdlLndjLWJsb2NrLWNhcnQgLndjLWJsb2NrLWNhcnRfX3RvdGFscy10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4vKiB0aXRsZXMgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud3AtYmxvY2std29vY29tbWVyY2UtY2hlY2tvdXQtb3JkZXItc3VtbWFyeS1ibG9jayAud2MtYmxvY2stY29tcG9uZW50cy1jaGVja291dC1vcmRlci1zdW1tYXJ5X190aXRsZSAud2MtYmxvY2stY29tcG9uZW50cy1jaGVja291dC1vcmRlci1zdW1tYXJ5X190aXRsZS10ZXh0IHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnQtLWNoZWNrb3V0IC53Yy1ibG9jay1jb21wb25lbnRzLXRpdGxlLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50X190aXRsZSxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnQtY29udGludWUtcnVsZSxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1jaGVja2JveCBsYWJlbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXZhbGlkYXRpb24tZXJyb3Ige1xuICAgIGZvbnQtc2l6ZTogdmFyKC0td29vY29tbWVyY2UtZm9udC1zaXplLWJvZHkteHMpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgbWVzc2FnZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIHNwYWNpbmcgYmV0d2VlbiBtZXNzYWdlIGFuZCBwcm9kdWN0IG9uIHByb2R1Y3QgZGV0YWlsIHBhZ2UgKi9cblxuLmMtc2hvcC1tZXNzYWdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG59XG5cbi8qIG5vdGljZXMgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1ub3RpY2UtYmFubmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlci13aWR0aCk7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLW5vdGljZS1iYW5uZXIuaXMtZXJyb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYwZjA7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS1mb3JtLWVycm9yKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLW5vdGljZS1iYW5uZXIuaXMtZXJyb3IgPiBzdmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLWZvcm0tZXJyb3IpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlLWVycm9yLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UtaW5mbywgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlLW1lc3NhZ2UsXG4uYy1zaG9wLW1lc3NhZ2UgLndvb2NvbW1lcmNlLWVycm9yLCBcbi5jLXNob3AtbWVzc2FnZSAud29vY29tbWVyY2UtaW5mbywgXG4uYy1zaG9wLW1lc3NhZ2UgLndvb2NvbW1lcmNlLW1lc3NhZ2V7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29udGVudCk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIGJvcmRlcjogc29saWQgdmFyKC0td29vY29tbWVyY2UtbWVzc2FnZS1ib3JkZXItd2lkdGgpIHZhcigtLXdvb2NvbW1lcmNlLW1lc3NhZ2UtY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlLWVycm9yLCBcbi5jLXNob3AtbWVzc2FnZSAud29vY29tbWVyY2UtZXJyb3Ige1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtbWVzc2FnZS1jb2xvci1lcnJvcik7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UtaW5mbywgXG4uYy1zaG9wLW1lc3NhZ2UgLndvb2NvbW1lcmNlLWluZm8ge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtbWVzc2FnZS1jb2xvci1pbmZvKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZS1lcnJvcjo6YmVmb3JlLFxuLmMtc2hvcC1tZXNzYWdlIC53b29jb21tZXJjZS1lcnJvcjo6YmVmb3JlIHtcbiAgICBjb2xvcjogdmFyKC0td29vY29tbWVyY2UtbWVzc2FnZS1jb2xvci1lcnJvcik7XG59IFxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlLWluZm86OmJlZm9yZSxcbi5jLXNob3AtbWVzc2FnZSAud29vY29tbWVyY2UtaW5mbzo6YmVmb3JlIHtcbiAgICBjb2xvcjogdmFyKC0td29vY29tbWVyY2UtbWVzc2FnZS1jb2xvci1pbmZvKTtcbn0gXG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UtbWVzc2FnZTo6YmVmb3JlLFxuLmMtc2hvcC1tZXNzYWdlIC53b29jb21tZXJjZS1tZXNzYWdlOjpiZWZvcmV7XG4gICAgY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLW1lc3NhZ2UtY29sb3IpO1xufSBcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybWZpZWxkcyBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIGZhbmN5IGxhYmVsICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGxhYmVsLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGxhYmVsIHtcbiAgICBsaW5lLWhlaWdodDoxLjI1O1xufVxuXG4vKi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgbGFiZWwsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHktcyk7XG59Ki9cblxuXG5cbi8qbWVpbiBrb250byAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSB0ZXh0YXJlYSxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLUlucHV0LFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHRhcmVhIHtcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlcjogc29saWQgdmFyKC0td29vY29tbWVyY2UtYm9yZGVyLXdpZHRoKSB2YXIoLS13b29jb21tZXJjZS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuXHRjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYmcpO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJvZHkpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LXBhZGRpbmcpO1xuICAgIFxufVxuXG4vKiBjYXJ0IC8ga2Fzc2UgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJ0ZWxcIl0sIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwidGV4dFwiXSwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJ1cmxcIl0sIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJ0ZWxcIl0sIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cInRleHRcIl0sIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cInVybFwiXSxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgdGV4dGFyZWEsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgIC53Yy1ibG9ja3MtY29tcG9uZW50cy1zZWxlY3QgLndjLWJsb2Nrcy1jb21wb25lbnRzLXNlbGVjdF9fY29udGFpbmVyIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYmcpO1xuICAgIGJvcmRlcjogc29saWQgdmFyKC0td29vY29tbWVyY2UtYm9yZGVyLXdpZHRoKSB2YXIoLS13b29jb21tZXJjZS1ib3JkZXIpO1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0td29vY29tbWVyY2UtYm9yZGVyLXdpZHRoKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gICAgLypmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5KTsqL1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGhlaWdodDogNTRweDtcbiAgICAvKnBhZGRpbmc6IDFlbSAuNWVtOyovXG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0YXJlYTpmb2N1cyxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLUlucHV0OmZvY3VzLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cywgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cywgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cywgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cywgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cywgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dCBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9ja3MtY29tcG9uZW50cy1zZWxlY3QgLndjLWJsb2Nrcy1jb21wb25lbnRzLXNlbGVjdF9fY29udGFpbmVyOmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS1ib3JkZXItZm9jdXMpO1xuXHRvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS13b29jb21tZXJjZS1ib3JkZXItd2lkdGgpO1xufVxuXG5cblxuLyogc2VsZWN0IGlubmVyICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2Nrcy1jb21wb25lbnRzLXNlbGVjdCAud2MtYmxvY2tzLWNvbXBvbmVudHMtc2VsZWN0X19zZWxlY3Qge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi8qIGRyb3Bkb3duIGFycm93IGNvbG9yIC8gY2hlY2tib3ggY2hlY2ttYXIgY29sb3IgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2tzLWNvbXBvbmVudHMtc2VsZWN0IC53Yy1ibG9ja3MtY29tcG9uZW50cy1zZWxlY3RfX2V4cGFuZCxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1jaGVja2JveCAud2MtYmxvY2stY29tcG9uZW50cy1jaGVja2JveF9fbWFyayB7XG4gICAgZmlsbDogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuXG4vKiBzcGFjaW5nIGFyb3VuZCByb3dzICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHtcbiAgICBwYWRkaW5nOiAwIDAgMS41ZW0gMDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIHRleHQgc21hbGwgZm9yIGRlc2NyaXB0aW9ucyAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtZm9ybS1yb3cgc3BhbiBlbSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYm9keS1zKTtcbn1cblxuLyogY2hlY2tib3ggKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1jaGVja2JveCAud2MtYmxvY2stY29tcG9uZW50cy1jaGVja2JveF9faW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBib3JkZXI6IHNvbGlkIHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlci13aWR0aCkgdmFyKC0td29vY29tbWVyY2UtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlcik7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1jaGVja2JveCAud2MtYmxvY2stY29tcG9uZW50cy1jaGVja2JveF9faW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlci1mb2N1cyk7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIHJhZGlvICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbCAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sX19pbnB1dCxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2xfX2lucHV0OmNoZWNrZWQge1xuICAgIGJvcmRlcjogc29saWQgdmFyKC0td29vY29tbWVyY2UtYm9yZGVyLXdpZHRoKSB2YXIoLS13b29jb21tZXJjZS1ib3JkZXIpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbCAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sX19pbnB1dDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS1ib3JkZXItZm9jdXMpO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbCAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sX19pbnB1dDpjaGVja2VkOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cblxuXG4vKiBlcnJvciAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXZhbGlkYXRpb24tZXJyb3IsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZm9ybSAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0Lmhhcy1lcnJvciBsYWJlbCwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dC5oYXMtZXJyb3IgbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS13b29jb21tZXJjZS1mb3JtLWVycm9yKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dC5oYXMtZXJyb3IgaW5wdXQsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWZvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dC5oYXMtZXJyb3IgaW5wdXQ6YWN0aXZlLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQuaGFzLWVycm9yIGlucHV0OmZvY3VzLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRleHQtaW5wdXQuaGFzLWVycm9yIGlucHV0OmhvdmVyLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0Lmhhcy1lcnJvciBpbnB1dCwgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dC5oYXMtZXJyb3IgaW5wdXQ6YWN0aXZlLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10ZXh0LWlucHV0Lmhhcy1lcnJvciBpbnB1dDpmb2N1cywgXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGV4dC1pbnB1dC5oYXMtZXJyb3IgaW5wdXQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtZm9ybS1lcnJvcik7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJ1dHRvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1idXR0b246bm90KC5pcy1saW5rKSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5idXR0b24sXG4ud29vY29tbWVyY2U6d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSkgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LCBcbi53b29jb21tZXJjZTp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKSBhLmJ1dHRvbiwgXG4ud29vY29tbWVyY2U6d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSkgYnV0dG9uLmJ1dHRvbiwgXG4ud29vY29tbWVyY2U6d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSkgaW5wdXQuYnV0dG9uLCBcbjp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKSAud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LCBcbjp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKSAud29vY29tbWVyY2UgYS5idXR0b24sIFxuOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLCBcbjp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKSAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWJ1dHRvbixcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtY291cG9uX19mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1jb3Vwb25fX2J1dHRvbixcbi5jLXNob3AtbWVzc2FnZSAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuXHRwYWRkaW5nOiB2YXIoLS13b29jb21tZXJjZS1idG4tcGFkZGluZyk7XG5cdGJvcmRlcjogc29saWQgNHB4IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyAgXG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS0tLXdvb2NvbW1lcmNlLWJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1jb3Vwb25fX2Zvcm0gLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWNvdXBvbl9fYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTRweCAhaW1wb3J0YW50O1xufVxuXG5cblxuXG5cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5idXR0b246aG92ZXIsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5idXR0b246Zm9jdXMsXG4ud29vY29tbWVyY2U6d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSkgI3Jlc3BvbmQgaW5wdXQjc3VibWl0OmhvdmVyLCBcbi53b29jb21tZXJjZTp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKSBhLmJ1dHRvbjpob3ZlciwgXG4ud29vY29tbWVyY2U6d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSkgYnV0dG9uLmJ1dHRvbjpob3ZlciwgXG4ud29vY29tbWVyY2U6d2hlcmUoYm9keTpub3QoLndvb2NvbW1lcmNlLWJsb2NrLXRoZW1lLWhhcy1idXR0b24tc3R5bGVzKSkgaW5wdXQuYnV0dG9uOmhvdmVyLCBcbjp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKSAud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0OmhvdmVyLCBcbjp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKSAud29vY29tbWVyY2UgYS5idXR0b246aG92ZXIsIFxuOndoZXJlKGJvZHk6bm90KC53b29jb21tZXJjZS1ibG9jay10aGVtZS1oYXMtYnV0dG9uLXN0eWxlcykpIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmhvdmVyLCBcbjp3aGVyZShib2R5Om5vdCgud29vY29tbWVyY2UtYmxvY2stdGhlbWUtaGFzLWJ1dHRvbi1zdHlsZXMpKSAud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uOmhvdmVyLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWJ1dHRvbjpob3Zlcixcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtY291cG9uX19mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1jb3Vwb25fX2J1dHRvbjpob3Zlcixcbi5jLXNob3AtbWVzc2FnZSAuYnV0dG9uOmhvdmVyLFxuLmMtc2hvcC1tZXNzYWdlIC5idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWxpZ2h0KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtY291cG9uX19mb3JtIC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1jb3Vwb25fX2J1dHRvbjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLWZvcm0tZGlzYWJsZWQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1kaXNhYmxlZCk7XG59XG5cbi8qIGJ1dHRvbiBzdHlsZWQgYXMgdGV4dC1saW5rICovXG4vKiBlZGl0IGFkZHJlc3MgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1hZGRyZXNzLWNhcmRfX2VkaXQsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtYWRkcmVzcy1mb3JtX19hZGRyZXNzXzItdG9nZ2xlIHtcbiAgICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IHZhcigtLXdvb2NvbW1lcmNlLWxpbmstdW5kZXJsaW5lLXdpZHRoKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWFkZHJlc3MtY2FyZF9fZWRpdDpob3Zlcixcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1hZGRyZXNzLWZvcm1fX2FkZHJlc3NfMi10b2dnbGU6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ2FydFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogcXVhbnRpdHkgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1xdWFudGl0eS1zZWxlY3Rvcjo6YWZ0ZXIge1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0td29vY29tbWVyY2UtYm9yZGVyLXdpZHRoKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcXVhbnRpdHktc2VsZWN0b3IgLndjLWJsb2NrLWNvbXBvbmVudHMtcXVhbnRpdHktc2VsZWN0b3JfX2J1dHRvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXF1YW50aXR5LXNlbGVjdG9yIC53Yy1ibG9jay1jb21wb25lbnRzLXF1YW50aXR5LXNlbGVjdG9yX19idXR0b246Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCB2YXIoLS13b29jb21tZXJjZS1ib3JkZXItd2lkdGgpIHZhcigtLXdvb2NvbW1lcmNlLWJvcmRlci13aWR0aCkgdmFyKC0td29vY29tbWVyY2UtYm9yZGVyKTtcbn1cblxuLyogdGV4dCBsaW5rICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgdGFibGUud2MtYmxvY2stY2FydC1pdGVtcyAud2MtYmxvY2stY2FydC1pdGVtc19fcm93IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3F1YW50aXR5IC53Yy1ibG9jay1jYXJ0LWl0ZW1fX3JlbW92ZS1saW5rLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy1zaGlwcGluZyAud2MtYmxvY2stY29tcG9uZW50cy10b3RhbHMtc2hpcHBpbmdfX2NoYW5nZS1hZGRyZXNzX19saW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogdmFyKC0td29vY29tbWVyY2UtbGluay11bmRlcmxpbmUtd2lkdGgpO1xufVxuXG4vKiB0YWJsZSAvIHNpZGViYXIgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuaXMtbGFyZ2Uud2MtYmxvY2stY2FydCAud2MtYmxvY2stY2FydC1pdGVtcyB0ZCxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuaXMtbGFyZ2Uud2MtYmxvY2stY2FydCAud2MtYmxvY2stY2FydC1pdGVtcyxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud3AtYmxvY2std29vY29tbWVyY2UtY2FydC1vcmRlci1zdW1tYXJ5LXRvdGFscy1ibG9jayB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXIpO1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyLXdpZHRoKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXRvdGFscy13cmFwcGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXIpO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlci13aWR0aCk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY2FydCAud3AtYmxvY2std29vY29tbWVyY2UtY2FydC1vcmRlci1zdW1tYXJ5LWJsb2NrIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXIpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlci13aWR0aCk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY2FydC1pdGVtX19pbWFnZSBhIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtc2hpcHBpbmctY2FsY3VsYXRvci1hZGRyZXNzX19idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnQtY29udGludWUtcnVsZTo6YWZ0ZXIsIFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudC1jb250aW51ZS1ydWxlOjpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXIpOyAgICBcbn1cblxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50LS1jaGVja291dCAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnRfX2NvbnRlbnQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpIHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci10b3A6IDA7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnQtLWNoZWNrb3V0IC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudF9fdGl0bGUtY29udGFpbmVyOjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKSAwIDAgMDtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudC0tY2hlY2tvdXQgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50X190aXRsZS1jb250YWluZXI6OmFmdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpIDAgMDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXIpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXIpO1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEthc3NlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBmb250LXNpemVzICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtY2hlY2tvdXQtc3RlcF9fZGVzY3JpcHRpb24sXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdG90YWxzLWl0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpO1xufVxuXG4vKiBoMiBzbWFsbCovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtdGl0bGUud2MtYmxvY2stY29tcG9uZW50cy10aXRsZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDItc21hbGwpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLyogdGFibGUgYm9yZGVycyAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5pcy1sYXJnZSAud3AtYmxvY2std29vY29tbWVyY2UtY2hlY2tvdXQtb3JkZXItc3VtbWFyeS1ibG9jayxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud3AtYmxvY2std29vY29tbWVyY2UtY2hlY2tvdXQtb3JkZXItc3VtbWFyeS10b3RhbHMtYmxvY2sge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0td29vY29tbWVyY2UtdGFibGUtYm9yZGVyKTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlci13aWR0aCk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuaXMtbGFyZ2UgLndwLWJsb2NrLXdvb2NvbW1lcmNlLWNoZWNrb3V0LW9yZGVyLXN1bW1hcnktYmxvY2sge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4vKiBjb2xvciBhcnJvd3Mgc2lkZWJhciAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXBhbmVsX19idXR0b24gPiAud2MtYmxvY2stY29tcG9uZW50cy1wYW5lbF9fYnV0dG9uLWljb24ge1xuICAgIGZpbGw6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi8qIHNoaXBwaW5nIC9wYXltZW50IG1ldGhvZCBhY3RpdmUgKi9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLS1oaWdobGlnaHQtY2hlY2tlZDo6YWZ0ZXIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtLWhpZ2hsaWdodC1jaGVja2VkIGxhYmVsLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbF9fb3B0aW9uLS1jaGVja2VkLW9wdGlvbi1oaWdobGlnaHRlZCxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLS1oaWdobGlnaHQtY2hlY2tlZCAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLWFjY29yZGlvbi1vcHRpb24tLWNoZWNrZWQtb3B0aW9uLWhpZ2hsaWdodGVkLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLS1oaWdobGlnaHQtY2hlY2tlZCBsYWJlbC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2xfX29wdGlvbi0tY2hlY2tlZC1vcHRpb24taGlnaGxpZ2h0ZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlci13aWR0aCkgdmFyKC0td29vY29tbWVyY2UtYWN0aXZlLWJvcmRlcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctbGlnaHQpO1xufVxuXG4vKi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLS1oaWdobGlnaHQtY2hlY2tlZCAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLWFjY29yZGlvbi1vcHRpb24tLWNoZWNrZWQtb3B0aW9uLWhpZ2hsaWdodGVkLCBcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLS1oaWdobGlnaHQtY2hlY2tlZCBsYWJlbC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2xfX29wdGlvbi0tY2hlY2tlZC1vcHRpb24taGlnaGxpZ2h0ZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDEuNXB4IGN1cnJlbnRDb2xvcjtcbn0qL1xuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtYWRkcmVzcy1jYXJkIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdvb2NvbW1lcmNlLXRhYmxlLWJvcmRlcik7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS13b29jb21tZXJjZS10YWJsZS1ib3JkZXItd2lkdGgpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4vKiBwYXltZW50IGhpZ2hsaWdodCBib3JkZXItcmFkaXVzICovXG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY2hlY2tvdXRfX3BheW1lbnQtbWV0aG9kIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtYWNjb3JkaW9uLW9wdGlvbjpsYXN0LWNoaWxkOjphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY2hlY2tvdXRfX3BheW1lbnQtbWV0aG9kIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtYWNjb3JkaW9uLW9wdGlvbjpmaXJzdC1jaGlsZDo6YWZ0ZXJ7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0td29vY29tbWVyY2UtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLXdvb2NvbW1lcmNlLWlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuXG5cblxuLmMtd29vY29tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC0taGlnaGxpZ2h0LWNoZWNrZWQgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC1hY2NvcmRpb24tb3B0aW9uLS1jaGVja2VkLW9wdGlvbi1oaWdobGlnaHRlZCwgXG4uYy13b29jb21lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLS1oaWdobGlnaHQtY2hlY2tlZCBsYWJlbC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2xfX29wdGlvbi0tY2hlY2tlZC1vcHRpb24taGlnaGxpZ2h0ZWQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS13b29jb21tZXJjZS1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC1hY2NvcmRpb24tY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS13b29jb21tZXJjZS10ZXh0LXBheW1lbnQtcGFkZGluZy1sZWZ0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1ib2R5LXMpO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndjLWJsb2NrLWNvbXBvbmVudHMtcmFkaW8tY29udHJvbC1hY2NvcmRpb24tY29udGVudCBwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLWFjY29yZGlvbi1jb250ZW50IHA6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLWFjY29yZGlvbi1jb250ZW50IHAucHBjcC1wbGFjZS1vcmRlci1kZXNjcmlwdGlvbiB7XG4gICAgdGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLS1oaWdobGlnaHQtY2hlY2tlZCBkaXYud2MtYmxvY2stY29tcG9uZW50cy1yYWRpby1jb250cm9sLWFjY29yZGlvbi1vcHRpb246OmFmdGVyLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtLWhpZ2hsaWdodC1jaGVja2VkIGRpdi53Yy1ibG9jay1jb21wb25lbnRzLXJhZGlvLWNvbnRyb2wtYWNjb3JkaW9uLW9wdGlvbjo6YWZ0ZXIge1xuICAgIGhlaWdodDogdmFyKC0td29vY29tbWVyY2UtcGF5bWVudC1ib3JkZXItd2lkdGgpO1xufVxuXG5cbi8qIGNpcmNsZSBxdWFudGl0eSAqL1xuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53Yy1ibG9jay1jb21wb25lbnRzLW9yZGVyLXN1bW1hcnkgLndjLWJsb2NrLWNvbXBvbmVudHMtb3JkZXItc3VtbWFyeS1pdGVtX19xdWFudGl0eSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1jb2xvci1saWdodCk7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLyogY2hlY2tvdXQgYnVsbGV0IHBvaW50cyBleHByZXNzIGNoZWNrb3V0Ki9cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuYy10ZXh0LWJsb2NrIC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudCAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnRfX2V2ZW50LWJ1dHRvbnMgPiBsaSxcbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuYy10ZXh0LWJsb2NrIC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudC0tY2FydCAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnRfX2V2ZW50LWJ1dHRvbnMgPiBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5jLXRleHQtYmxvY2sgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50IC53Yy1ibG9jay1jb21wb25lbnRzLWV4cHJlc3MtcGF5bWVudF9fZXZlbnQtYnV0dG9ucyA+IGxpOjpiZWZvcmUsXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmMtdGV4dC1ibG9jayAud2MtYmxvY2stY29tcG9uZW50cy1leHByZXNzLXBheW1lbnQtLWNhcnQgLndjLWJsb2NrLWNvbXBvbmVudHMtZXhwcmVzcy1wYXltZW50X19ldmVudC1idXR0b25zID4gbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDonJztcbn1cblxuLypidXR0b24gb24gbW9iaWxlIGZ1bGwgd2lkdGggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0NTBweCkgeyAgXG4gIC5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud3AtYmxvY2std29vY29tbWVyY2UtY2hlY2tvdXQtYWN0aW9ucy1ibG9jayAud2MtYmxvY2stY2hlY2tvdXRfX2FjdGlvbnNfcm93IC53Yy1ibG9jay1jb21wb25lbnRzLWNoZWNrb3V0LXBsYWNlLW9yZGVyLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIG15IGFjY291bnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBuYXZpZ2F0aW9uICovXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sKTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuYy10ZXh0LWJsb2NrIC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuYy10ZXh0LWJsb2NrIC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiBsaSArIGxpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uYy13b29jb21tZXJjZS1jb250YWluZXIgLmMtdGV4dC1ibG9jayAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDonJztcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5jLXRleHQtYmxvY2sgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uLWxpbmsgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAuYy10ZXh0LWJsb2NrIC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbi1saW5rIGE6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6Jyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuXHQvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cHM6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzAwZDRiNCswLDAwZDRiNCs1MCwwMGQ0YjQrMTAwJjArMCwxKzUwLDErMTAwICovXG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICByZ2JhKDAsMjEyLDE4MCwwKSAwJSwgcmdiYSgwLDIxMiwxODAsMSkgNTAlLCByZ2JhKDAsMjEyLDE4MCwxKSAxMDAlKTsgLyogRkYzLjYtMTUgKi9cblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgIHJnYmEoMCwyMTIsMTgwLDApIDAlLHJnYmEoMCwyMTIsMTgwLDEpIDUwJSxyZ2JhKDAsMjEyLDE4MCwxKSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAgcmdiYSgwLDIxMiwxODAsMCkgMCUscmdiYSgwLDIxMiwxODAsMSkgNTAlLHJnYmEoMCwyMTIsMTgwLDEpIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMDAwZDRiNCcsIGVuZENvbG9yc3RyPScjMDBkNGI0JyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuXHR0cmFuc2l0aW9uOiB3aWR0aCAwLjJzIGVhc2Utb3V0O1xuXHR6LWluZGV4OiAtMTtcbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5jLXRleHQtYmxvY2sgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uLWxpbmsgYTpob3Zlcjo6YmVmb3JlLFxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC5jLXRleHQtYmxvY2sgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uLWxpbmsuaXMtYWN0aXZlIGE6OmJlZm9yZXtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIGZvcm0gd2lkdGggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo4NTBweCkgeyAgXG4gICAgLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZS1FZGl0QWNjb3VudEZvcm0ge1xuICAgICAgICB3aWR0aDogNjUlO1xuICAgIH1cbn1cblxuLmMtd29vY29tbWVyY2UtY29udGFpbmVyIC53b29jb21tZXJjZS1FZGl0QWNjb3VudEZvcm0gbGVnZW5kIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLXdvb2NvbW1lcmNlLWNvbnRhaW5lciAud29vY29tbWVyY2UtRWRpdEFjY291bnRGb3JtIGZpZWxkc2V0IHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLW0pO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZpZXdwb3J0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ALW1zLXZpZXdwb3J0IHtcblx0d2lkdGg6IGRldmljZS13aWR0aDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWVkaWFxdWVyaWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyMDBweCkgeyAgICBcblx0LyogZ3JpZCBnYXAgKi9cdFxuXHQuYy1jb250YWluZXIsXG5cdC5jLXRlYXNlci1zZXJ2aWNlIC5jLXRlYXNlci1zZXJ2aWNlLXRleHQge1xuXHRcdHBhZGRpbmctbGVmdDogNjBweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuXHR9XG5cdC5jLXJvdyB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAtMzBweDtcblx0XHRtYXJnaW4tbGVmdDogLTMwcHg7XG5cdH1cblx0XG5cdC5jLWNvbC0xLFxuXHQuYy1jb2wtMixcblx0LmMtY29sLTMsXG5cdC5jLWNvbC00LFxuXHQuYy1jb2wtNSxcblx0LmMtY29sLTYsXG5cdC5jLWNvbC03LFxuXHQuYy1jb2wtOCxcblx0LmMtY29sLTksXG5cdC5jLWNvbC0xMCxcblx0LmMtY29sLTExLFxuXHQuYy1jb2wtMTIge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xuXHR9XG5cdFxuXHQuYy1vZmZjYW52YXMtdG9nZ2xlLFxuICAgIC5jLWJ0bi1jbG9zZSB7XG5cdFx0cmlnaHQ6IDYwcHg7XG5cdH1cblx0XG5cdC5jLWxhbmd1YWdlLW5hdmlnYXRpb24ge1xuXHRcdHJpZ2h0OiAxNTBweDtcblx0fVxuICAgIFxuICAgIC5jLWxvZ293YWxsLWxpbmU6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDYwcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMjBweCk7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNjAwcHgpIHsgICAgXG5cdC8qIGNvbnRhaW5lciBtYXggd2lkdGggKi9cblx0LmMtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNTYwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cdFxuXHQuYy10ZWFzZXItc2VydmljZSAuYy10ZWFzZXItc2VydmljZS10ZXh0IHtcblx0XHRtYXgtd2lkdGg6IDc4MHB4O1xuXHR9XHRcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjExMDBweCkgeyAgXG5cdC5jLXRpdGxlLW1haW4gLmMtY29sLTEwLFxuXHQuYy10aXRsZS1zZWN0aW9uIC5jLWNvbC0xMCxcblx0LmMtdGVhc2VyLWN0YSAuYy1jb2wtMTAsXG5cdC5jLXNob3dyb29tLXRleHQgLmMtY29sLTEwLFxuXHQuYy10ZWFzZXItYmlnLXRleHQgLmMtY29sLTEwIHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgICAgXHRcblx0fVxuXHRcblx0XG5cdC5jLXRleHQtMmNvbCAuYy1jb2wtNSxcblx0LmMtdGV4dC1pbWctMmNvbC1zeW1tZXRyaWMgLmMtY29sLTU6bnRoLW9mLXR5cGUoMil7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1MCU7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTsgIFxuXHR9XG4gICAgXG4gICAgXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo5ODFweCkgYW5kIChtYXgtd2lkdGg6MTIwMHB4KSB7ICBcbiAgICAuYy10ZXN0aW1vbmlhbCAuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgXG4gICAgfVxuICAgIFxuICAgIC5jLXRlc3RpbW9uaWFsIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBjaXRlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICB9XG4gICAgXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5ODBweCkgeyAgXG5cdC5jLXRlYXNlci0xY29sIC5jLWNvbC03LFxuXHQuYy10ZWFzZXItMWNvbCAuYy1jb2wtNSB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1MCU7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTsgICAgXHRcblx0fVxuXHRcblx0LmMtcHJvZmlsZSAuYy1jb2wtMyB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAzMy4zMzMzMyU7XG5cdFx0LW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG5cdFx0ZmxleDogMCAwIDMzLjMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDMzLjMzMzMzJTtcblx0fVxuXHRcblx0LmMtdGV4dC1pbWctMmNvbC1zeW1tZXRyaWMgLmMtY29sLTV7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1MCU7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTsgIFxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHR9XG5cdFxuXHRcblx0LmMtZm9vdGVyLW1haW4gLmMtY29sLTUge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyBcblx0XHRwYWRkaW5nLXRvcDogNmVtO1xuXHR9XG5cdFxuXHQuYy1mb290ZXItbWFpbiAuYy1jb2wtNCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1OC4zMzMzMyU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1OC4zMzMzMyU7XG5cdFx0ZmxleDogMCAwIDU4LjMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDU4LjMzMzMzJTtcblx0fVxuXHRcblx0LmMtZm9vdGVyLW1haW4gLmMtY29sLTMge1xuXHRcdCAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDQxLjY2NjY3JTtcblx0XHQtbXMtZmxleDogMCAwIDQxLjY2NjY3JTtcblx0XHRmbGV4OiAwIDAgNDEuNjY2NjclO1xuXHRcdG1heC13aWR0aDogNDEuNjY2NjclO1xuXHR9XG5cdFxuICAgIC5jLXRlc3RpbW9uaWFsIC5jLWNvbC00IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7IFxuICAgIH1cbiAgICBcbiAgICAuYy10ZXN0aW1vbmlhbCAuYy1jb2wtNCArIC5jLWNvbC00IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNlbTtcbiAgICAgICAgXG4gICAgfVxuICAgIFxuICAgIC5jLXRlc3RpbW9uaWFsIC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwJTtcbiAgICB9XG4gICAgXG4gICAgLmMtZm9vdGVyLXBhcnRuZXIgLmMtY29sLTcsXG4gICAgLmMtZm9vdGVyLXBhcnRuZXIgLmMtY29sLTUge1xuICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgXG4gICAgfVxuICAgIFxuICAgIC5jLWZvb3Rlci1wYXJ0bmVyIC5jLWNvbC01IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNlbTtcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjk1MXB4KSB7ICBcblx0LmMtaW1nLXJpZ2h0IC5jLXJvdyB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXHR9XG5cblx0LmMtaW1nLXJpZ2h0IHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxuXG5cdC5jLWltZy1yaWdodCAuYy1saW5lOjpiZWZvcmUge1xuXHRcdGxlZnQ6IGF1dG87XG5cdFx0cmlnaHQ6IDA7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk1MHB4KSB7ICBcblx0LmMtaW1nIC5jLWNvbC04LFxuXHQuYy1pbWcgLmMtY29sLTQge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcdFxuXHR9XG5cdFxuXHQuYy10ZXh0LTNjb2wgLmMtY29sLTQgIHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDUwJTtcblx0XHQtbXMtZmxleDogMCAwIDUwJTtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlOyAgXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ODgwcHgpIHsgIFxuXHQuYy10ZXh0LTJjb2wgLmMtY29sLTYsXG5cdC5jLXRleHQtMmNvbCAuYy1jb2wtNSxcblx0LmMtdGV4dC1pbWctMmNvbC1zeW1tZXRyaWMgLmMtY29sLTUsXG5cdC5jLXRleHQtaW1nLTJjb2wtc3ltbWV0cmljIC5jLWNvbC01Om50aC1vZi10eXBlKDIpe1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcdFxuXHR9XG5cdFxuXHQuYy10ZXh0LWltZy0yY29sLXN5bW1ldHJpYyAuYy1jb2wtNTpmaXJzdC1jaGlsZCB7XG5cdFx0cGFkZGluZy1ib3R0b206IDEuNWVtOyAgIFx0XG5cdH1cbiAgICBcbiAgICAuYy1sb2dvd2FsbC1saXN0IGxpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ODIwcHgpIHsgIFxuXHQuYy10ZXh0LW9ubHkgLmMtY29sLTgsXG5cdC5jLXByb2ZpbGUgLmMtY29sLTgsXG5cdC5jLXByb2ZpbGUgLmMtY29sLTMge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcdFxuXHR9XG5cdFxuXHQuYy1wcm9maWxlIC5jLWNvbC0zIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogNmVtO1xuXHR9XG5cdFxuXHQuYy1wcm9maWxlLWxpc3Qge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cbiAgICBcbiAgICAuYy10ZXN0aW1vbmlhbCAuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjAwcHgpIGFuZCAobWF4LXdpZHRoOjgyMHB4KSAgeyAgXG5cdC5jLXByb2ZpbGUtbGlzdCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXHR9XG5cdFxuXHQuYy1wcm9maWxlLWxpc3QgbGkge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nLXRvcDogMmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAzMy4zMzMzMyU7XG5cdFx0LW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XG5cdFx0ZmxleDogMCAwIDMzLjMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDMzLjMzMzMzJTtcblx0fVxuXHRcblx0LmMtcHJvZmlsZS1saXN0LXBvcnRmb2xpbyBsaSB7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTAlO1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG5cdH1cblx0XG5cdC5jLXByb2ZpbGUtbGlzdC1wb3J0Zm9saW8gbGk6bnRoLWNoaWxkKDEpLFxuXHQuYy1wcm9maWxlLWxpc3QtcG9ydGZvbGlvIGxpOm50aC1jaGlsZCgyKSx7XG5cdFx0bWFyZ2luLWJvdHRvbTogMS43ZW07XG5cdH1cblx0XG5cdC5jLXByb2ZpbGUtbGlzdCBsaTo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDEyOHB4O1xuXHRcdGhlaWdodDogNHB4O1xuXHRcdGxlZnQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHR9XG5cdFxuXHQuYy1wcm9maWxlLWxpc3QgbGk6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0fVxuXHRcblx0XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjc2OHB4KSB7XG5cdC5jLXRlYXNlci1zZXJ2aWNlLWlubmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0cGFkZGluZy1ib3R0b206IDM3LjUlO1xuXHR9XG5cblxuXHQuYy10ZWFzZXItc2VydmljZS12aXN1YWwsXG5cdC5jLXRlYXNlci1zZXJ2aWNlLWRlc2Mge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdH1cblxuXHQuYy10ZWFzZXItc2VydmljZS1kZXNjIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0fVxuXHRcblx0LmMtdGVhc2VyLXNlcnZpY2UtaW1nLW1vYmlsZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpIHsgIFxuXHQuYy10ZXh0LW9ubHkgLmMtY29sLTgge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcdFxuXHR9XG5cdFxuXHRcblx0LmMtdGVhc2VyLXRlYW0gLmMtY29sLTQge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTAlO1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG5cdH1cblx0XG5cdC5jLXRleHQtaW1nLTJjb2wgLmMtY29sLTgsXG5cdC5jLXRleHQtaW1nLTJjb2wgLmMtY29sLTQge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTAlO1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG5cdH1cblx0XG5cdFxuXHRcblx0LmMtdGVhc2VyLXNlcnZpY2UgLmMtY29sLTYge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyBcblx0fVxuXHRcblx0LmMtdGVhc2VyLXNlcnZpY2UgLmMtdGVhc2VyLXNlcnZpY2UtdGV4dCB7XG5cdFx0cGFkZGluZy1ib3R0b206IDZlbTtcblx0fVxuXHRcblx0LmMtdGVhc2VyLXNlcnZpY2UtdmlzdWFsIC5jLXZpZGVvIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdFxuXHRcblx0LmMtZmVhdHVyZXMgLmMtY29sLTQge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgNTAlO1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG5cdH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzAwcHgpIHsgIFxuXHQuYy10ZWFzZXItMWNvbCAuYy1jb2wtNyxcblx0LmMtdGVhc2VyLTFjb2wgLmMtY29sLTUge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcdFxuXHR9XG5cdFxuXHQuYy10ZWFzZXItMWNvbCAuYy10ZWFzZXItdGV4dCB7XG5cdFx0cGFkZGluZy10b3A6IDEuNWVtO1xuXHR9XG5cdFxuXHQuYy1xdW90ZSAuYy1yb3cge1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdH1cblx0XG5cdC5jLXF1b3RlIC5jLWNvbC04IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDgzLjMzMzMzJTtcblx0XHQtbXMtZmxleDogMCAwIDgzLjMzMzMzJTtcblx0XHRmbGV4OiAwIDAgODMuMzMzMzMlO1xuXHRcdG1heC13aWR0aDogODMuMzMzMzMlO1xuXHR9XG5cdFxuXHRcblx0LyogaW1nIHZhciAqL1xuXHQuYy1jb2wtaW1nLXZhciB7XG5cdFx0cGFkZGluZy10b3A6IDNlbTtcblx0XHRwYWRkaW5nLWJvdHRvbTogM2VtO1xuXHR9XG5cdFxuXHQuYy1pbWctdmFyLWFsaWduLXRvcCB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cblxuXHQuYy1pbWctdmFyLWFsaWduLWJvdHRvbSB7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cblx0XG5cdC5jLWltZy12YXIgLmMtY29sLTYge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG5cdFxuXHQuYy1pbWctdmFyIC5jLWNvbC0zIHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDUwJTtcblx0XHQtbXMtZmxleDogMCAwIDUwJTtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlO1xuXHR9XG5cdFxuXHQuYy1pbWctdmFyIC5jLWNvbC00IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDUwJTtcblx0XHQtbXMtZmxleDogMCAwIDUwJTtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlO1xuXHR9XG5cdFxuXHQuYy1pbWctdmFyIC5jLWNvbC00Om50aC1vZi10eXBlKDMpIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA3NSU7XG5cdFx0LW1zLWZsZXg6IDAgMCA3NSU7XG5cdFx0ZmxleDogMCAwIDc1JTtcblx0XHRtYXgtd2lkdGg6IDc1JTtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjUwcHgpIHsgIFxuXHQuYy10ZWFzZXItMmNvbCAuYy1jb2wtNiB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFx0XG5cdH1cblx0XG5cdC5jLWltZy10aWxlcyAuYy1jb2wtNCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA1MCU7XG5cdFx0LW1zLWZsZXg6IDAgMCA1MCU7XG5cdFx0ZmxleDogMCAwIDUwJTtcblx0XHRtYXgtd2lkdGg6IDUwJTtcblx0fVxuXHRcblx0LmMtdGV4dC1pbWctMmNvbCAuYy1jb2wtOCxcblx0LmMtdGV4dC1pbWctMmNvbCAuYy1jb2wtNCxcblx0LmMtaW1nLTJjb2wgLmMtY29sLTYsXG5cdC5jLXRleHQtM2NvbCAuYy1jb2wtNCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cblx0XG5cdC5jLXRleHQtaW1nLTJjb2wgLmMtY29sLTQge1xuXHRcdHBhZGRpbmctYm90dG9tOiAxLjVlbTtcblx0fVxuXHRcblx0LmMtaW1nLTJjb2wgLmMtY29sLTY6Zmlyc3QtY2hpbGQge1xuXHRcdHBhZGRpbmctYm90dG9tOiA2ZW07XG5cdH1cblx0XG5cdC5jLWtleWZhY3RzIC5jLWNvbC00IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxuXHRcblx0LmMta2V5ZmFjdHMgLmMtY29sLTQgKyAuYy1jb2wtNCB7XG5cdFx0cGFkZGluZy10b3A6IDZlbTtcblx0fVxuXHRcblx0XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweCkgeyAgXG5cdC5jLXRlYXNlci1leHBlcnQgLmMtY29sLTgsXG5cdC5jLXRlYXNlci1leHBlcnQgLmMtY29sLTR7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFx0XG5cdH1cblx0XG5cdC5jLXRlYXNlci1leHBlcnQgLmMtY29sLTgge1xuXHRcdHBhZGRpbmctdG9wOiAxLjVlbTtcblx0fVxuXHRcblx0LmMtdGVhc2VyLWV4cGVydCAuYy10ZWFzZXItaW1nIHtcblx0XHR3aWR0aDogNjYuNjY2JTtcblx0fVxuXHRcblx0LmMtbGluZTo6YmVmb3JlLFxuXHQuYy1wcm9maWxlLWxpc3QgbGk6OmJlZm9yZSB7XG5cdFx0d2lkdGg6IDgwcHg7XG5cdH1cblx0XG5cdC5jLWZvb3Rlci1tYWluIC5jLWNvbC00LFxuXHQuYy1mb290ZXItbWFpbiAuYy1jb2wtMyxcblx0LmMtZm9vdGVyLWRpc2NsYWltZXIgLmMtY29sLTYge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyAgICBcblx0fVxuXHRcblx0LmMtZm9vdGVyLW1haW4gLmMtY29sLTQge1xuXHRcdHBhZGRpbmctYm90dG9tOiA2ZW07XG5cdH1cblx0XG5cdC5jLWZvb3Rlci1kaXNjbGFpbWVyLWxpc3QsXG5cdC5jLWZvb3Rlci1tYWlue1xuXHRcdHBhZGRpbmctYm90dG9tOiAxLjVlbTtcblx0fVxuXHRcblx0XG5cdC5jLWZvb3Rlci1kaXNjbGFpbWVyIC5jLWNvbC02IHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0OyAgXG5cdH1cblx0XG5cdC5jLWZvb3Rlci1uYXYtbGlzdCBsaSArIGxpIHtcblx0XHRwYWRkaW5nLXRvcDogMC44ZW07XG5cdH1cblx0XG5cdC5jLWhlYWRlci1sb2dvIHtcblx0XHR3aWR0aDogMTQ1cHg7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjU0MHB4KSB7ICBcblx0LmMtZmVhdHVyZXMgLmMtY29sLTQge1xuXHRcdC13ZWJraXQtYm94LWZsZXg6IDA7XG5cdFx0LXdlYmtpdC1mbGV4OiAwIDAgMTAwJTtcblx0XHQtbXMtZmxleDogMCAwIDEwMCU7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlOyBcblx0fVxuXHRcblx0LmMtZmVhdHVyZXMgLmMtY29sLTQ6bnRoLWNoaWxkKDIpIC5jLWZlYXR1cmVzLWxpc3Qge1xuXHRcdGJvcmRlci10b3A6IG5vbmU7XG5cdH1cblx0XG5cdC5jLWZvcm0tZm9vdGVyIC5jLWNvbC02IHtcblx0XHQtd2Via2l0LWJveC1mbGV4OiAwO1xuXHRcdC13ZWJraXQtZmxleDogMCAwIDEwMCU7XG5cdFx0LW1zLWZsZXg6IDAgMCAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTsgXG5cdH1cbiAgICBcbiAgICAuYy1sb2dvd2FsbC1saXN0IGxpIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4OiAwIDAgNTAlO1xuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDIwcHgpIHsgIFxuXHQuYy10ZWFzZXItdGVhbSAuYy1jb2wtNCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFx0XG5cdH1cblx0XG5cdC5jLXRlYXNlci10ZWFtIC5jLXRlYXNlci1pbWcge1xuXHRcdHdpZHRoOiA2Ni42NjYlO1xuXHR9XG5cdFxuXHQuYy1xdW90ZSAuYy1jb2wtOCB7XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCAxMDAlO1xuXHRcdC1tcy1mbGV4OiAwIDAgMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7ICAgIFxuXHR9XG5cdFxuXHQuYy10ZXh0LWJsb2NrIGJsb2NrcXVvdGUge1xuXHRcdHBhZGRpbmctdG9wOiA0ZW07XG5cdH1cblx0XG5cdC5jLXRleHQtYmxvY2sgYmxvY2txdW90ZSBwOjpiZWZvcmUge1xuXHRcdGxlZnQ6IDA7XG5cdFx0dG9wOiAtLjllbTtcblx0fVxuXHRcblx0LmMtaW1nLXZhciAuYy1jb2wtNCxcblx0LmMtaW1nLXZhciAuYy1jb2wtNDpudGgtb2YtdHlwZSgzKXtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0LXdlYmtpdC1ib3gtZmxleDogMDtcblx0XHQtd2Via2l0LWZsZXg6IDAgMCA3NSU7XG5cdFx0LW1zLWZsZXg6IDAgMCA3NSU7XG5cdFx0ZmxleDogMCAwIDc1JTtcblx0XHRtYXgtd2lkdGg6IDc1JTtcblx0fVxuXHRcblx0LmMtaW1nLXZhciAuYy1jb2wtNDpudGgtb2YtdHlwZSgyKXtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0fVxuXHRcblx0XG5cdC5jLWZvcm0tZm9vdGVyIC5jLWZvcm0tdGV4dCB7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0fVxuXHRcblx0LmMtYnRuLXNlbmQge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRyaWdodDogYXV0bztcblx0XHRtYXJnaW4tdG9wOiAyZW07XG5cdH1cblx0XG59XG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcmludCBDU1NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgcHJpbnQge1xuICAgIC8qIGJhc2Ugc3R5bGVzICovXG4gICAgKiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IFxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXHRcblx0YSxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gICAgXG4gICAgLmMtaXIgYTphZnRlcixcbiAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gICAgYVtocmVmXTphZnRlciB7XG5cdFx0Y29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuXHQgIH1cbiAgICBcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cbiAgICBcbiAgICB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgXG4gICAgfVxuICAgIFxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG4gICAgXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICAgICBcbiAgICBAcGFnZSB7XG4gICAgICAgIG1hcmdpbjogMC41Y207XG4gICAgfVxuICAgIFxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICB3aWRvd3M6IDM7XG4gICAgfVxuICAgIFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgYnJlYWstYWZ0ZXI6YXZvaWQ7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cbiAgICBcbiAgICAvKiBmb250LXNpemVzICovXG5cdFxuXHRodG1sLFxuXHRib2R5IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0LypvdmVyZmxvdzogYXV0bzsqL1xuXHR9XG4gICAgXG4gICAgYm9keSB7XG4gICAgICAgIGZvbnQtc2l6ZToxMnB4OyAgICBcbiAgICB9XG5cdFxuXHRoMSwgLmMtaDEge1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0fVxuXHRcblx0LmMtbGVhZCxcblx0LmMtdGV4dC1ibG9jayAuYy1sZWFkLFxuXHRoMiwgLmMtaDIsXG5cdGgzLCAuYy1oMyxcblx0LmMtdGV4dC1ibG9jayBibG9ja3F1b3RlIHAge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0fVxuXHRcblx0LyogcHJvamVjdCBzdHlsZXMgKi9cblx0LmMtY29udGFpbmVyIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMmVtO1xuXHR9XG5cdFxuXG5cdC5jLWZvb3RlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRcblx0XG59XG5cblxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/