@charset "UTF-8";
/* ================ 
MIXINS & FUNCTIONS 
=========== */
/*============== 
VARS 
================*/
/*===================
BUTTONS
====================*/
/*===================
RADIUS
====================*/
/*===================
FONT FAMILIES
====================*/
/*===================
FONT SIZES
====================*/
/*===================
FONT WEIGHTS
====================*/
/*===================
LETTER SPACING
====================*/
/*===================
BORDER SIZES
====================*/
/*===================
GUTTERS & PADDINGS SIZES
====================*/
/*=======
GRID
======*/
/*========
Z-INDEX
========*/
/*===================
COLUMN SIZES
====================*/
/*===================
Widths
====================*/
/*===================
Root custom props
====================*/
:root {
  --header-height: 4.7222222222rem;
  --section-space: 1.3333333333rem;
}
@media (min-width: 768px) {
  :root {
    --header-height: 5.3333333333rem;
    --section-space: 2.6666666667rem;
  }
}
@media (min-width: 1150px) {
  :root {
    --header-height: 11.2222222222rem;
  }
}

@font-face {
  font-family: "FONT-NAME";
  font-style: "normal";
  font-weight: "400";
  src: url("/assets/fonts/NAME.woff2") format("woff2"), url("/assets/fonts/NAME.woff") format("woff");
  font-display: swap;
}
/*======CSS VARS=======*/
:root {
  --main-bg-color: #f5fafb;
  --main-body-color: #3c3c3c;
  --red-color:#780000;
  --main-font-family: Forum, sans-serif;
}

img {
  max-width: 100%;
  height: auto;
}

body.navigation--open {
  overflow: hidden;
  padding-right: 15px; /* Adjust for scrollbar width (usually 15–17px) */
}

/*FOCUS*/
/* 1) Baseline for everything that can be focused */
:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus {
  outline: none; /* only because we add a replacement below */
}

/* 2) Show the ring when it matters (keyboard, etc.) */
:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 1px solid #780000;
  outline-offset: 2px;
}

/* 3) Fallback for browsers that don’t support :focus-visible */
@supports not selector(:focus-visible) {
  :where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus {
    outline: 1px solid #780000;
    outline-offset: 2px;
  }
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

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

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

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

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

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

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

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-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;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

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

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 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 the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

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

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

/*Basic Reset of styles*/
/*** box sizing border-box for all elements ***/
*,
*::before,
*::after {
  box-sizing: border-box;
}

a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

button {
  background-color: transparent;
  color: inherit;
  border-width: 0;
  padding: 0;
  cursor: pointer;
}

figure {
  margin: 0;
}

input::-moz-focus-inner {
  border: 0;
  padding: 0;
  margin: 0;
}

ul, ol, dd {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

p {
  margin: 0;
}

cite {
  font-style: normal;
}

fieldset {
  border-width: 0;
  padding: 0;
  margin: 0;
}

html {
  line-height: 1.3;
  font-weight: 400;
  font-family: "Forum", sans-serif;
  font-size: 18px;
}

body {
  color: #3c3c3c;
  letter-spacing: 0.0722222222em;
}
button,
input,
optgroup,
select,
textarea {
  line-height: 1.3;
}

p {
  margin-bottom: 0.8888888889rem;
}
img + p {
  margin-top: 0.8888888889rem;
}

.u-heading-font-styles {
  text-transform: uppercase;
  letter-spacing: 0.3em;
}

.u-titlecase-font-styles {
  text-transform: capitalize;
  letter-spacing: 0.0722222222em;
}

.u-body-font-styles {
  letter-spacing: 0.0722222222em;
}

h1, h2, h3, .u-h1, .u-h2, .u-h3 {
  font-family: "Forum", sans-serif;
  line-height: 1.1;
  font-weight: 400;
  margin-bottom: 0.8888888889rem;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}

h4, h5, .u-h4, .u-h5 {
  margin-bottom: 0.8888888889rem;
}

h2, h3, h4, h5, .u-h2, .u-h3, .u-h4, .u-h5 {
  margin-top: 0.8888888889rem;
  font-weight: 400;
}
.l-content p + h2:not([class]), .l-content p + h3:not([class]), .l-content p + h4:not([class]), .l-content p + h5:not([class]), .l-content p + .u-h2:not([class]), .l-content p + .u-h3:not([class]), .l-content p + .u-h4:not([class]), .l-content p + .u-h5:not([class]) {
  margin-top: 2.6666666667rem;
  margin-bottom: 1.3333333333rem;
}

.checkout h1, .checkout h2, .checkout h3, .checkout .u-h1, .checkout .u-h2, .checkout .u-h3 {
  color: #3c3c3c !important;
}

h1, .u-h1 {
  font-size: 1.3333333333rem;
}
@media (min-width: 1150px) {
  h1, .u-h1 {
    font-size: 1.5555555556rem;
  }
}

h2, .u-h2 {
  font-size: 1.2222222222rem;
}
@media (min-width: 768px) {
  h2, .u-h2 {
    font-size: 1.4444444444rem;
  }
}
.l-grid h2, .l-grid .u-h2 {
  color: #780000;
}

h3, .u-h3 {
  font-size: 1.1111111111rem;
}

h4, .u-h4 {
  font-size: 1rem;
  line-height: 1.5;
  color: #780000;
  font-weight: normal;
}

h5, .u-h5 {
  line-height: 1.5;
}

/*LINKS*/
a {
  text-decoration: none;
  color: #780000;
}
a:hover {
  text-decoration: underline;
  text-decoration-color: #edf7f9;
  background-size: 0% 2px;
  text-underline-offset: 0.2222222222rem;
}

.content-header__intro {
  font-size: 1rem;
}
main ul, main ol {
  margin: 1.3333333333rem 0;
}
main ul:last-child, main ol:last-child {
  margin-bottom: 0;
}
main ul li, main ol li {
  margin: 0 0 10px 30px;
  padding-left: 5px;
}
@media (min-width: 768px) {
  main ul li, main ol li {
    margin-left: 40px;
  }
}
main ul li:last-child, main ol li:last-child {
  margin-bottom: 0;
}
main ul {
  list-style-type: disc;
}
main ol {
  list-style-type: decimal;
}

/*====
tag order specific styles
=====*/
h2 + h3 {
  margin-top: 2.6666666667rem;
}

ul + h3, p + h3 {
  margin-top: 2.6666666667rem;
}

/*====================
COLOURS
====================*/
@media (min-width: 1000px) {
  .u-bg--50\/50 {
    background: linear-gradient(to right, #f5fafb 0 50%, #ffffff 50% 100%);
  }
}
@media (min-width: 1000px) {
  .u-bg--30\/70 {
    background: linear-gradient(to right, #f5fafb 0 30%, #ffffff 30% 100%);
  }
}

.u-bg-color__1 {
  background-color: #3c3c3c !important;
}
.u-bg-color__1--75 {
  background-color: rgb(108.75, 108.75, 108.75) !important;
}
.u-bg-color__1--50 {
  background-color: rgb(157.5, 157.5, 157.5) !important;
}
.u-bg-color__1--25 {
  background-color: rgb(206.25, 206.25, 206.25) !important;
}

.u-txt-color__1 {
  color: #3c3c3c !important;
}
.u-txt-color__1--75 {
  color: rgb(108.75, 108.75, 108.75) !important;
}
.u-txt-color__1--50 {
  color: rgb(157.5, 157.5, 157.5) !important;
}
.u-txt-color__1--25 {
  color: rgb(206.25, 206.25, 206.25) !important;
}

.u-brd-color__1 {
  border: solid 2px #3c3c3c 2px !important;
}
.u-brd-color__1--top {
  border-style: solid;
  border-color: #3c3c3c;
  border-width: 2px 0 0 0 !important;
}
.u-brd-color__1--btm {
  border-style: solid;
  border-color: #3c3c3c;
  border-width: 0 0 2px 0 !important;
}
.u-brd-color__1--right {
  border-style: solid;
  border-color: #3c3c3c;
  border-width: 0 2px 0 0 !important;
}
.u-brd-color__1--left {
  border-style: solid;
  border-color: #3c3c3c;
  border-width: 0 0 0 2px !important;
}
.u-brd-color__1--top-btm {
  border-style: solid;
  border-color: #3c3c3c;
  border-width: 2px 0 2px 0 !important;
}
.u-brd-color__1--left-right {
  border-style: solid;
  border-color: #3c3c3c;
  border-width: 0 2px 0 2px !important;
}

.u-bg-color__2 {
  background-color: #780000 !important;
}
.u-bg-color__2--75 {
  background-color: rgb(217.5, 0, 0) !important;
}
.u-bg-color__2--50 {
  background-color: #ff3c3c !important;
}
.u-bg-color__2--25 {
  background-color: rgb(255, 157.5, 157.5) !important;
}

.u-txt-color__2 {
  color: #780000 !important;
}
.u-txt-color__2--75 {
  color: rgb(217.5, 0, 0) !important;
}
.u-txt-color__2--50 {
  color: #ff3c3c !important;
}
.u-txt-color__2--25 {
  color: rgb(255, 157.5, 157.5) !important;
}

.u-brd-color__2 {
  border: solid 2px #780000 2px !important;
}
.u-brd-color__2--top {
  border-style: solid;
  border-color: #780000;
  border-width: 2px 0 0 0 !important;
}
.u-brd-color__2--btm {
  border-style: solid;
  border-color: #780000;
  border-width: 0 0 2px 0 !important;
}
.u-brd-color__2--right {
  border-style: solid;
  border-color: #780000;
  border-width: 0 2px 0 0 !important;
}
.u-brd-color__2--left {
  border-style: solid;
  border-color: #780000;
  border-width: 0 0 0 2px !important;
}
.u-brd-color__2--top-btm {
  border-style: solid;
  border-color: #780000;
  border-width: 2px 0 2px 0 !important;
}
.u-brd-color__2--left-right {
  border-style: solid;
  border-color: #780000;
  border-width: 0 2px 0 2px !important;
}

.u-bg-color__3 {
  background-color: #edf7f9 !important;
}
.u-bg-color__3--75 {
  background-color: rgb(241.5, 249, 250.5) !important;
}
.u-bg-color__3--50 {
  background-color: #f6fbfc !important;
}
.u-bg-color__3--25 {
  background-color: rgb(250.5, 253, 253.5) !important;
}

.u-txt-color__3 {
  color: #edf7f9 !important;
}
.u-txt-color__3--75 {
  color: rgb(241.5, 249, 250.5) !important;
}
.u-txt-color__3--50 {
  color: #f6fbfc !important;
}
.u-txt-color__3--25 {
  color: rgb(250.5, 253, 253.5) !important;
}

.u-brd-color__3 {
  border: solid 2px #edf7f9 2px !important;
}
.u-brd-color__3--top {
  border-style: solid;
  border-color: #edf7f9;
  border-width: 2px 0 0 0 !important;
}
.u-brd-color__3--btm {
  border-style: solid;
  border-color: #edf7f9;
  border-width: 0 0 2px 0 !important;
}
.u-brd-color__3--right {
  border-style: solid;
  border-color: #edf7f9;
  border-width: 0 2px 0 0 !important;
}
.u-brd-color__3--left {
  border-style: solid;
  border-color: #edf7f9;
  border-width: 0 0 0 2px !important;
}
.u-brd-color__3--top-btm {
  border-style: solid;
  border-color: #edf7f9;
  border-width: 2px 0 2px 0 !important;
}
.u-brd-color__3--left-right {
  border-style: solid;
  border-color: #edf7f9;
  border-width: 0 2px 0 2px !important;
}

.u-bg-color__4 {
  background-color: #f5fafb !important;
}
.u-bg-color__4--75 {
  background-color: rgb(247.5, 251.25, 252) !important;
}
.u-bg-color__4--50 {
  background-color: rgb(250, 252.5, 253) !important;
}
.u-bg-color__4--25 {
  background-color: rgb(252.5, 253.75, 254) !important;
}

.u-txt-color__4 {
  color: #f5fafb !important;
}
.u-txt-color__4--75 {
  color: rgb(247.5, 251.25, 252) !important;
}
.u-txt-color__4--50 {
  color: rgb(250, 252.5, 253) !important;
}
.u-txt-color__4--25 {
  color: rgb(252.5, 253.75, 254) !important;
}

.u-brd-color__4 {
  border: solid 2px #f5fafb 2px !important;
}
.u-brd-color__4--top {
  border-style: solid;
  border-color: #f5fafb;
  border-width: 2px 0 0 0 !important;
}
.u-brd-color__4--btm {
  border-style: solid;
  border-color: #f5fafb;
  border-width: 0 0 2px 0 !important;
}
.u-brd-color__4--right {
  border-style: solid;
  border-color: #f5fafb;
  border-width: 0 2px 0 0 !important;
}
.u-brd-color__4--left {
  border-style: solid;
  border-color: #f5fafb;
  border-width: 0 0 0 2px !important;
}
.u-brd-color__4--top-btm {
  border-style: solid;
  border-color: #f5fafb;
  border-width: 2px 0 2px 0 !important;
}
.u-brd-color__4--left-right {
  border-style: solid;
  border-color: #f5fafb;
  border-width: 0 2px 0 2px !important;
}

.u-bg-color__5 {
  background-color: #f5fafb !important;
}
.u-bg-color__5--75 {
  background-color: rgb(247.5, 251.25, 252) !important;
}
.u-bg-color__5--50 {
  background-color: rgb(250, 252.5, 253) !important;
}
.u-bg-color__5--25 {
  background-color: rgb(252.5, 253.75, 254) !important;
}

.u-txt-color__5 {
  color: #f5fafb !important;
}
.u-txt-color__5--75 {
  color: rgb(247.5, 251.25, 252) !important;
}
.u-txt-color__5--50 {
  color: rgb(250, 252.5, 253) !important;
}
.u-txt-color__5--25 {
  color: rgb(252.5, 253.75, 254) !important;
}

.u-brd-color__5 {
  border: solid 2px #f5fafb 2px !important;
}
.u-brd-color__5--top {
  border-style: solid;
  border-color: #f5fafb;
  border-width: 2px 0 0 0 !important;
}
.u-brd-color__5--btm {
  border-style: solid;
  border-color: #f5fafb;
  border-width: 0 0 2px 0 !important;
}
.u-brd-color__5--right {
  border-style: solid;
  border-color: #f5fafb;
  border-width: 0 2px 0 0 !important;
}
.u-brd-color__5--left {
  border-style: solid;
  border-color: #f5fafb;
  border-width: 0 0 0 2px !important;
}
.u-brd-color__5--top-btm {
  border-style: solid;
  border-color: #f5fafb;
  border-width: 2px 0 2px 0 !important;
}
.u-brd-color__5--left-right {
  border-style: solid;
  border-color: #f5fafb;
  border-width: 0 2px 0 2px !important;
}

.u-bg-color__6 {
  background-color: #dae0e1 !important;
}
.u-bg-color__6--75 {
  background-color: rgb(227.25, 231.75, 232.5) !important;
}
.u-bg-color__6--50 {
  background-color: rgb(236.5, 239.5, 240) !important;
}
.u-bg-color__6--25 {
  background-color: rgb(245.75, 247.25, 247.5) !important;
}

.u-txt-color__6 {
  color: #dae0e1 !important;
}
.u-txt-color__6--75 {
  color: rgb(227.25, 231.75, 232.5) !important;
}
.u-txt-color__6--50 {
  color: rgb(236.5, 239.5, 240) !important;
}
.u-txt-color__6--25 {
  color: rgb(245.75, 247.25, 247.5) !important;
}

.u-brd-color__6 {
  border: solid 2px #dae0e1 2px !important;
}
.u-brd-color__6--top {
  border-style: solid;
  border-color: #dae0e1;
  border-width: 2px 0 0 0 !important;
}
.u-brd-color__6--btm {
  border-style: solid;
  border-color: #dae0e1;
  border-width: 0 0 2px 0 !important;
}
.u-brd-color__6--right {
  border-style: solid;
  border-color: #dae0e1;
  border-width: 0 2px 0 0 !important;
}
.u-brd-color__6--left {
  border-style: solid;
  border-color: #dae0e1;
  border-width: 0 0 0 2px !important;
}
.u-brd-color__6--top-btm {
  border-style: solid;
  border-color: #dae0e1;
  border-width: 2px 0 2px 0 !important;
}
.u-brd-color__6--left-right {
  border-style: solid;
  border-color: #dae0e1;
  border-width: 0 2px 0 2px !important;
}

.u-bg-color__white {
  background-color: white !important;
}
.u-bg-color__white--75 {
  background-color: white !important;
}
.u-bg-color__white--50 {
  background-color: white !important;
}
.u-bg-color__white--25 {
  background-color: white !important;
}

.u-txt-color__white {
  color: white !important;
}
.u-txt-color__white--75 {
  color: white !important;
}
.u-txt-color__white--50 {
  color: white !important;
}
.u-txt-color__white--25 {
  color: white !important;
}

.u-brd-color__white {
  border: solid 2px white 2px !important;
}
.u-brd-color__white--top {
  border-style: solid;
  border-color: white;
  border-width: 2px 0 0 0 !important;
}
.u-brd-color__white--btm {
  border-style: solid;
  border-color: white;
  border-width: 0 0 2px 0 !important;
}
.u-brd-color__white--right {
  border-style: solid;
  border-color: white;
  border-width: 0 2px 0 0 !important;
}
.u-brd-color__white--left {
  border-style: solid;
  border-color: white;
  border-width: 0 0 0 2px !important;
}
.u-brd-color__white--top-btm {
  border-style: solid;
  border-color: white;
  border-width: 2px 0 2px 0 !important;
}
.u-brd-color__white--left-right {
  border-style: solid;
  border-color: white;
  border-width: 0 2px 0 2px !important;
}

/*====================
GENERAL FORMATTING
====================*/
.u-error, .form__row-error {
  color: red !important;
}

.u-center {
  text-align: center !important;
}

.u-lowercase {
  text-transform: lowercase !important;
}

.u-uppercase {
  text-transform: uppercase !important;
}

.u-titlecase {
  text-transform: capitalize !important;
}

.u-transform-none {
  text-transform: none !important;
}

.u-rounded-corners {
  border-radius: 40px;
}
.u-rounded-corners--top {
  border-radius: 40px 40px 0 0;
}
.u-rounded-corners--top-left {
  border-top-left-radius: 40px;
}
.u-rounded-corners--top-right {
  border-top-right-radius: 40px;
}
.u-rounded-corners--left {
  border-radius: 40px 0 40px 0;
}
.u-rounded-corners--right {
  border-radius: 0 40px 0 40px;
}
.u-rounded-corners--btm {
  border-radius: 0 0 40px 40px;
}
.u-rounded-corners--btm-left {
  border-bottom-left-radius: 40px;
}
.u-rounded-corners--btm-right {
  border-bottom-right-radius: 40px;
}

.u-cursor--pointer {
  cursor: pointer;
}
.u-cursor--default {
  cursor: default;
}

.u-link-styles {
  text-decoration: none;
}
.u-link-styles:hover {
  color: #780000;
  text-decoration: none;
}

.u-flex {
  display: flex;
}
.u-flex-justify--end {
  justify-content: flex-end;
}
.u-flex-justify--start {
  justify-content: flex-start;
}
.u-flex-justify--center {
  justify-content: center;
}
.u-flex-align--end {
  align-items: flex-end;
}
.u-flex-align--start {
  align-items: flex-end;
}
.u-flex-align--center {
  align-items: center;
}

.u-border {
  border: 1px solid #3c3c3c;
}

hr, .u-hr {
  border: 0;
  border-top: 2px solid #f5fafb;
  margin: 0.8888888889rem 0;
}
@media (min-width: 768px) {
  hr, .u-hr {
    margin: 1.3333333333rem 0;
  }
}
hr.content-hr, .u-hr.content-hr {
  margin: 3.5555555556rem 0;
}
hr.content-hr--transparent, .u-hr.content-hr--transparent {
  border-color: transparent;
}

/*===========================
HIDE ASSETS BUT RENDER IN DOM
===========================*/
.u-visually-hidden, .form--nolabel .form__label, .form__label--hide, .u-sr {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/*===========================
HIDE ELEMENTS
===========================*/
.u-hide {
  display: none !important;
}
@media (max-width: 768px) {
  .u-hide--sm {
    display: none !important;
  }
}
@media (medium-width: 768px) {
  .u-hide--med {
    display: none !important;
  }
}

/*===========
SCROLL/OVERFLOW CLASSES
============*/
.u-model--open {
  overflow: hidden;
}

.u-overflow--hidden {
  overflow: hidden;
}
.u-overflow--scroll {
  overflow: scroll;
}
.u-overflow--scroll-y {
  overflow-y: scroll;
}
.u-overflow--scroll-x {
  overflow-x: scroll;
}

/*===========
FONT CLASSES
============*/
.u-txt--small {
  font-size: 0.6666666667rem;
}
.u-txt--large {
  font-size: 0.8888888889rem;
}

/*====================
tooltip styles
====================*/
.tooltip-old {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 20px;
  height: 20px;
  right: 0px;
  top: 0px;
  position: absolute;
}
.tooltip-old .a-icon__svg {
  width: 20px;
  height: 20px;
}
.tooltip-old__wrap {
  position: relative;
  padding-right: 22px;
}

/*====================
Paddings
====================*/
.u-no-margin {
  margin: 0 !important;
}
.u-no-margin--top {
  margin-top: 0 !important;
}
.u-no-margin--bottom {
  margin-bottom: 0 !important;
}
.u-no-margin--right {
  margin-right: 0 !important;
}
.u-no-margin--left {
  margin-left: 0 !important;
}
.u-no-margin--top-bottom {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.u-no-margin--left-right {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.u-no-pad {
  padding: 0 !important;
}
.u-no-pad--top {
  padding-top: 0 !important;
}
.u-no-pad--bottom {
  padding-bottom: 0 !important;
}
.u-no-pad--right {
  padding-right: 0 !important;
}
.u-no-pad--left {
  padding-left: 0 !important;
}
.u-no-pad--top-bottom {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.u-no-pad--left-right {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/*====================
Video
====================*/
.u-video {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
}
.u-video iframe, .u-video embed, .u-video object {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/*======
AJAX LOADER
=======*/
.u-loader {
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><rect fill="%23780000" stroke="%23780000" stroke-width="15" width="30" height="30" x="25" y="85"><animate attributeName="opacity" calcMode="spline" dur="2" values="1;0;1;" keySplines=".5 0 .5 1;.5 0 .5 1" repeatCount="indefinite" begin="-.4"></animate></rect><rect fill="%23780000" stroke="%23780000" stroke-width="15" width="30" height="30" x="85" y="85"><animate attributeName="opacity" calcMode="spline" dur="2" values="1;0;1;" keySplines=".5 0 .5 1;.5 0 .5 1" repeatCount="indefinite" begin="-.2"></animate></rect><rect fill="%23780000" stroke="%23780000" stroke-width="15" width="30" height="30" x="145" y="85"><animate attributeName="opacity" calcMode="spline" dur="2" values="1;0;1;" keySplines=".5 0 .5 1;.5 0 .5 1" repeatCount="indefinite" begin="0"></animate></rect></svg>') no-repeat center;
  min-height: 300px;
  background-size: 100px;
}
.u-loader--overlay {
  z-index: 2;
  height: 100%;
  width: 100%;
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.2);
}

/*====================
COLLAPSABLE TOGGLE
====================*/
.u-collapsable-toggle {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  top: 0;
  left: 0;
}
.u-collapsable-toggle__content {
  display: none;
}
.u-collapsable-toggle:checked + .u-collapsable-toggle__title + .u-collapsable-toggle__content {
  display: block;
}

.l-grid {
  display: grid;
  gap: 1.3333333333rem;
  grid-template-columns: minmax(0, 1fr);
  margin: 1.3333333333rem 0;
}
.l-grid--checkout .l-grid__col:first-child {
  border-right: 2px solid #f5fafb;
  padding-right: 1.3333333333rem;
}
.l-container__inner > .l-grid:first-child, .l-content > .l-grid:first-child {
  margin-top: 0;
}
.l-grid--no-margin {
  margin: 0;
}
@media (min-width: 1000px) {
  .l-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
.l-grid__col--content {
  padding: 1.3333333333rem;
}
@media (min-width: 768px) {
  .l-grid__col--content {
    padding: 2.6666666667rem 3.5555555556rem;
  }
}
@media (min-width: 1000px) {
  .l-grid--3 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  }
}
.l-grid--4 {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
@media (min-width: 768px) {
  .l-grid--4 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media (min-width: 1000px) {
  .l-grid--4 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media (min-width: 768px) {
  .l-grid--50\/50 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media (min-width: 768px) {
  .l-grid--75\/25 {
    grid-template-columns: minmax(0, 1fr) minmax(500px, 500px);
  }
}
@media (min-width: 768px) {
  .l-grid--25\/75 {
    grid-template-columns: minmax(500px, 500px) minmax(0, 1fr);
  }
}

.l-grid-flex {
  display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.3333333333rem;
}
.l-grid-flex > .l-grid__col {
  flex-basis: 100%;
}
@media (min-width: 768px) {
  .l-grid-flex > .l-grid__col {
    flex: 0 1 calc((100% - 4rem) / 2);
  }
}
@media (min-width: 1150px) {
  .l-grid-flex > .l-grid__col {
    flex: 0 1 calc((100% - 4rem) / 4);
  }
}

.l-site__wrapper {
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr auto;
}

.l-container {
  padding: 0.8888888889rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 100vw;
}
.l-container--main, .l-container--breadcrumbs {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
@media (min-width: 768px) {
  .l-container {
    padding: 1.3333333333rem;
  }
}
.l-container__inner {
  width: 100%;
  max-width: 1280px;
}
.l-container--content .l-container__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 1800px;
}
@media (min-width: 768px) {
  .l-container.backtotop {
    padding-left: 0;
    display: flex;
  }
}

@media (min-width: 768px) {
  .l-side-nav {
    background: linear-gradient(to right, #f5fafb 0 50%, #ffffff 50% 100%);
  }
}
.l-side-nav__inner {
  display: grid;
  grid-template-columns: 1fr;
  height: 100%;
  gap: 1.3333333333rem;
}
@media (min-width: 768px) {
  .l-side-nav__inner {
    grid-template-columns: 300px 1fr;
  }
}
.l-side-nav__col {
  padding-top: 2.6666666667rem;
  padding-bottom: 2.6666666667rem;
}
.l-side-nav__col-aside, .l-side-nav__col-main {
  width: 100vw;
  margin-left: -0.8888888889rem;
  padding-left: 0.8888888889rem;
  padding-right: 0.8888888889rem;
}
@media (min-width: 768px) {
  .l-side-nav__col-aside, .l-side-nav__col-main {
    width: auto;
    margin-left: 0;
  }
}
.l-side-nav__col > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.l-side-nav__col-aside {
  background-color: #f5fafb;
}
.l-side-nav__col-main {
  background-color: #ffffff;
}
@media (min-width: 768px) {
  .l-side-nav__col-main {
    padding-left: 2.6666666667rem;
  }
}
.l-side-nav .l-container {
  height: 100%;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.l-side-nav .l-container__inner {
  height: 100%;
}

.l-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding-top: var(--section-space);
  padding-bottom: var(--section-space);
}
.l-section > *:first-child, .l-section > .l-section__inner > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.l-section > *:last-child, .l-section > .l-section__inner > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.l-section__inner {
  width: 100%;
  max-width: 1800px;
}
.l-section__inner--contained {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1280px;
}
.l-section--bg {
  background-color: #f5fafb;
}
.l-section--bg + .l-section--bg {
  padding-top: 0;
}
.l-section:not(.l-section--bg) + .l-section:not(.l-section--bg):not(.l-section--bg) {
  padding-top: 0;
}
.l-section:has(> .l-section__inner > .card--wide:first-child) {
  padding-top: 0;
}

.l-section22 {
  margin-top: 3.5555555556rem;
}
.l-section--bg + .l-section22 {
  margin-top: 0;
}
.l-section22--no-margin, .l-section22--bg + .l-section22--bg {
  margin-top: 0 !important;
}
.l-site__main .l-section22:first-child {
  margin-top: 0;
}
.l-section22--bg {
  background-color: #f5fafb;
  padding-bottom: 3.5555555556rem;
}
.l-section22--bg .l-section__inner:not(:has(> :first-child.card)) {
  padding-top: 1.3333333333rem;
}
@media (min-width: 768px) {
  .l-section22--bg .l-section__inner:not(:has(> :first-child.card)) {
    padding-top: 2.6666666667rem;
  }
}
.l-section22--bg-white {
  background-color: #ffffff;
}
.l-section22__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1900px;
}
.l-section22__inner h2:first-child {
  margin-top: 0;
}
.l-section22__inner > *:last-child {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .l-section22__inner {
    padding: 0 1.3333333333rem;
  }
}
.l-section22__inner--no-pad {
  padding: 0 !important;
}
.l-section22__inner--no-pad > *:not(.card--wide) {
  margin-left: 2.6666666667rem;
  margin-right: 2.6666666667rem;
}
.l-section22__inner--full-bleed {
  max-width: 100%;
}
.l-section22__inner--contained {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1280px;
}

.l-content {
  width: 100%;
  max-width: 1280px;
  padding: 2.6666666667rem 0;
}
.l-content + .l-content {
  padding-top: 0;
}
.l-content img {
  display: block;
  width: 100%;
  max-width: 100%;
}
.l-content--contained {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.l-commerce .l-content--contained {
  max-width: 1280px;
}
.l-content--contained-wide {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.l-content--wide {
  max-width: 1800px;
}
.l-content:first-child {
  padding-top: 0;
}
.product .l-content {
  padding: 0;
}

.content-block {
  max-width: 720px;
  margin: 0 auto;
}
.content-block--wide {
  max-width: none;
}

.l-section__home-last {
  display: flex;
  flex-direction: column;
}
.l-section__home-last .home__tiles {
  order: 2;
}
@media (min-width: 768px) {
  .l-section__home-last .home__tiles {
    order: 2;
    margin-top: 1.3333333333rem;
  }
}

.a-icon__svg {
  height: 16px;
  width: 16px;
  fill: currentColor;
}
.a-icon__svg--x1-5 {
  height: 24px;
  width: 24px;
}
.a-icon__svg--x2 {
  height: 32px;
  width: 32px;
}
.a-icon__svg--x2-5 {
  height: 40px;
  width: 40px;
}
.a-icon__svg--x3 {
  height: 48px;
  width: 48px;
}
.a-icon__svg--x4 {
  height: 64px;
  width: 64px;
}
.a-icon__svg--x5 {
  height: 80px;
  width: 80px;
}

.logo {
  display: none;
  width: 100%;
  max-width: 60px;
}
.logo--sm {
  display: block;
}
@media (min-width: 400px) {
  .logo {
    max-width: 90px;
  }
}
@media (min-width: 768px) {
  .logo {
    display: block;
    max-width: 390px;
    min-width: 390px;
  }
  .logo--sm {
    display: none;
  }
}
.header {
  border-bottom: 2px solid #f5fafb;
  z-index: 900;
}
.header__logout .a-icon__svg {
  width: 29px !important;
}
@media (min-width: 1150px) {
  .search--open .header {
    background-color: transparent;
  }
}
.is-sticky .header {
  position: fixed !important;
  background-color: #ffffff;
  overflow: visible;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 900;
}
@media (min-width: 1150px) {
  .is-sticky .header .header__inner {
    display: none;
  }
}
.header.l-container {
  padding: 0;
  position: relative;
}
@media (min-width: 1150px) {
  .header.l-container {
    padding: 1.3333333333rem 1.3333333333rem 0 1.3333333333rem;
  }
}
.header__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  padding: 1.3333333333rem 0.8888888889rem 0.8888888889rem 0.8888888889rem;
  z-index: 2;
}
.navigation--open .header__inner {
  background-color: #edf7f9;
}
@media (min-width: 1150px) {
  .navigation--open .header__inner {
    background-color: transparent;
  }
}
@media (min-width: 1150px) {
  .header__inner {
    padding: 0;
  }
}
@media (min-width: 1150px) {
  .header__inner {
    position: relative;
  }
}
.header__account-link {
  display: flex;
  align-items: center;
  gap: 5px;
}
.header__account-link:hover {
  text-decoration: none !important;
}
.header__account-link .header__account-text {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.header__account-link:hover {
  color: #780000;
}
.header__account-link:hover .header__account-text {
  text-decoration: none;
  opacity: 1;
  color: #780000;
}
.header__account--logged-in .header__account-link {
  color: #780000;
}
.header__icons {
  color: #3c3c3c;
}
.header__icons:hover {
  color: #780000;
}
.header__icons a {
  color: #3c3c3c;
}
.header__icons a:hover {
  color: #780000;
}
.header__icons .a-icon__svg {
  height: 26px;
  width: 26px;
}
.header__icons--basket {
  position: relative;
  display: flex;
  color: #3c3c3c;
}
.active .header__icons--basket {
  color: #780000;
}
.header__icons--basket .a-icon__svg {
  fill: transparent;
  stroke: currentColor;
  width: 34px;
  height: 30px;
}
.header__left {
  display: flex;
  height: 100%;
  align-items: center;
  gap: 0.8888888889rem;
}
.header .logo__wrap {
  display: flex;
  justify-content: center;
}
.header__basket {
  position: relative;
}
.header__basket-count {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
  top: 8px;
  font-size: 14px;
  line-height: 1;
  margin-top: 4px;
}
@media (min-width: 1150px) {
  .header__basket-count {
    display: inline-block;
  }
}
.header__search-btn {
  display: flex;
  padding: 0;
  border: none;
  background: none;
}
.header__search-btn .a-icon__svg {
  height: 26px;
  width: 26px;
}
.header__account {
  display: flex;
  gap: 0.8333333333rem;
  padding-left: 0.8333333333rem;
  font-size: 0.7777777778rem;
  text-align: center;
}
@media (min-width: 1150px) {
  .header__account {
    text-align: left;
    font-size: 0.8888888889rem;
  }
}
.header__utilities {
  display: flex;
  gap: 15px;
  justify-content: flex-end;
  align-items: center;
}
.header__utilities-links {
  display: none;
}
@media (min-width: 1150px) {
  .header__utilities-links {
    display: block;
  }
}

/*==Content Header==*/
/*==Content Header==*/
.content-header {
  padding-top: 2.6666666667rem;
  padding-bottom: 0.4444444444rem;
}
.l-container--breadcrumbs + .content-header {
  padding-top: 0;
}
.content-header[class*=u-bg-color], .content-header[class^=u-bg-color], .content-header.header--content {
  padding-bottom: 2.6666666667rem;
}
.content-header__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 41.6666666667rem;
}
.content-header__intro {
  max-width: 40.8333333333rem;
}

/*Styles when the header is set to overlay the banners*/
.logo__wrap--dark [class*=logo-white--] {
  display: none;
}
.logo__wrap--white [class*=logo-dark--] {
  display: none;
}
.navigation--open .logo__wrap--white .logo-dark--sm, .is-sticky .logo__wrap--white .logo-dark--sm {
  display: block;
}
.navigation--open .logo__wrap--white .logo-white--sm, .is-sticky .logo__wrap--white .logo-white--sm {
  display: none;
}
@media (min-width: 768px) {
  .navigation--open .logo__wrap--white .logo-dark--sm, .navigation--open .logo__wrap--white .logo-white--sm, .navigation--open .logo__wrap--white .logo-white--lrg, .is-sticky .logo__wrap--white .logo-dark--sm, .is-sticky .logo__wrap--white .logo-white--sm, .is-sticky .logo__wrap--white .logo-white--lrg {
    display: none;
  }
  .navigation--open .logo__wrap--white .logo-dark--lrg, .is-sticky .logo__wrap--white .logo-dark--lrg {
    display: block;
  }
}

.search__submit svg {
  color: #780000 !important;
}

body.header--overlay:not(.is-sticky):not(.navigation--open) header {
  position: absolute !important;
  border-color: transparent !important;
  width: 100%;
  color: #ffffff;
}
body.header--overlay:not(.is-sticky):not(.navigation--open) .navigation__wrapper {
  transition: none !important;
  background-color: transparent;
}
body.header--overlay:not(.is-sticky):not(.navigation--open) .navigation__link, body.header--overlay:not(.is-sticky):not(.navigation--open) svg:not(.search__submit svg), body.header--overlay:not(.is-sticky):not(.navigation--open) .header__basket-count {
  color: #ffffff !important;
}
body.header--overlay:not(.is-sticky):not(.navigation--open) .navigation__link:hover, body.header--overlay:not(.is-sticky):not(.navigation--open) svg:not(.search__submit svg):hover, body.header--overlay:not(.is-sticky):not(.navigation--open) .header__basket-count:hover {
  color: #780000;
}
body.header--overlay:not(.is-sticky):not(.navigation--open) .line {
  background: #ffffff !important;
}
body.header--overlay:not(.is-sticky):not(.navigation--open) .hero__img-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.4) 20%, rgba(0, 0, 0, 0.25) 40%, rgba(0, 0, 0, 0.1) 55%, rgba(0, 0, 0, 0) 70%);
}
body.header--overlay:not(.is-sticky):not(.navigation--open) .header__account-link:hover .header__account-text {
  color: #ffffff;
}
body.header--overlay:not(.is-sticky):not(.navigation--open) .is-open .header__search-input-wrap {
  border-bottom: none;
}
#cc-panel {
  padding: 25px !important;
}
#cc-panel #ccc-necessary-title {
  text-transform: uppercase;
  letter-spacing: 0.3em;
}

#ccc-notify * {
  text-align: center !important;
}

#ccc-button-holder {
  display: flex;
  gap: 0.6666666667rem;
}

#ccc-notify-title > span {
  font-size: 30px;
  color: #780000 !important;
  font-weight: normal;
  display: flex;
  align-items: center;
}

.ccc-notify-text {
  margin: 0 !important;
}
.ccc-notify-text h1 {
  margin: 0 !important;
  padding: 0 !important;
}

#cookie_icon {
  margin-right: 10px;
  fill: #780000 !important;
  color: #780000 !important;
  margin: 0 auto;
}

#cookie_icon svg {
  height: 40px;
  fill: #780000;
}

#ccc .ccc-module--popup #ccc-content {
  background: #ffffff !important;
  border-radius: 0 !important;
  max-height: 61.1111111111rem !important;
}

body #ccc .ccc-notify-button.ccc-accept-button, body #ccc .ccc-notify-button.ccc-reject-button, body #ccc .ccc-notify-button#ccc-notify-reject, #ccc #ccc-button-holder button#ccc-recommended-settings {
  display: inline-block;
  background-color: #ffffff;
  padding: 0.3333333333rem 1.1111111111rem;
  color: #780000;
  transition: background-color 0.5s, color 0.5s;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  border: 1px solid #780000 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  position: relative;
  background-color: transparent;
  border-left: none;
  border-right: none;
  color: #780000;
  padding: 0.5555555556rem 0.2222222222rem 0.5555555556rem 0.5555555556rem;
  border-radius: 0 !important;
  padding-bottom: 0;
  white-space: nowrap;
  margin: 0 auto !important;
}
body #ccc .ccc-notify-button.ccc-accept-button:hover, a.card:hover body #ccc .ccc-notify-button.ccc-accept-button, body #ccc .ccc-notify-button.ccc-reject-button:hover, a.card:hover body #ccc .ccc-notify-button.ccc-reject-button, body #ccc .ccc-notify-button#ccc-notify-reject:hover, a.card:hover body #ccc .ccc-notify-button#ccc-notify-reject, #ccc #ccc-button-holder button#ccc-recommended-settings:hover, a.card:hover #ccc #ccc-button-holder button#ccc-recommended-settings {
  background-color: transparent;
  color: #780000;
}
body #ccc .ccc-notify-button.ccc-accept-button:hover::after, body #ccc .ccc-notify-button.ccc-accept-button:hover::before, a.card:hover body #ccc .ccc-notify-button.ccc-accept-button::after, a.card:hover body #ccc .ccc-notify-button.ccc-accept-button::before, body #ccc .ccc-notify-button.ccc-reject-button:hover::after, body #ccc .ccc-notify-button.ccc-reject-button:hover::before, a.card:hover body #ccc .ccc-notify-button.ccc-reject-button::after, a.card:hover body #ccc .ccc-notify-button.ccc-reject-button::before, body #ccc .ccc-notify-button#ccc-notify-reject:hover::after, body #ccc .ccc-notify-button#ccc-notify-reject:hover::before, a.card:hover body #ccc .ccc-notify-button#ccc-notify-reject::after, a.card:hover body #ccc .ccc-notify-button#ccc-notify-reject::before, #ccc #ccc-button-holder button#ccc-recommended-settings:hover::after, #ccc #ccc-button-holder button#ccc-recommended-settings:hover::before, a.card:hover #ccc #ccc-button-holder button#ccc-recommended-settings::after, a.card:hover #ccc #ccc-button-holder button#ccc-recommended-settings::before {
  height: 100%;
}
body #ccc .ccc-notify-button.ccc-accept-button::after, body #ccc .ccc-notify-button.ccc-accept-button::before, body #ccc .ccc-notify-button.ccc-reject-button::after, body #ccc .ccc-notify-button.ccc-reject-button::before, body #ccc .ccc-notify-button#ccc-notify-reject::after, body #ccc .ccc-notify-button#ccc-notify-reject::before, #ccc #ccc-button-holder button#ccc-recommended-settings::after, #ccc #ccc-button-holder button#ccc-recommended-settings::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 0;
  background: #780000;
  transition: height 0.3s ease;
}
body #ccc .ccc-notify-button.ccc-accept-button::after, body #ccc .ccc-notify-button.ccc-reject-button::after, body #ccc .ccc-notify-button#ccc-notify-reject::after, #ccc #ccc-button-holder button#ccc-recommended-settings::after {
  top: 0;
  right: 0;
}
body #ccc .ccc-notify-button.ccc-accept-button::before, body #ccc .ccc-notify-button.ccc-reject-button::before, body #ccc .ccc-notify-button#ccc-notify-reject::before, #ccc #ccc-button-holder button#ccc-recommended-settings::before {
  bottom: 0;
  left: 0;
}

button.ccc-notify-link span {
  font-size: 1rem;
  color: #780000 !important;
}
button.ccc-notify-link span:hover {
  text-decoration: underline;
  text-decoration-color: #edf7f9;
  background-size: 0% 2px;
  text-underline-offset: 0.2222222222rem;
}

button.ccc-notify-link {
  text-decoration: none;
}

#ccc .ccc-notify-button.ccc-notify-link {
  padding: 0.8888888889rem 0 0 0 !important;
}

.ccc-notify-button span, body #ccc .ccc-notify-button.ccc-accept-button span {
  display: block !important;
}

#ccc-notify-dismiss {
  display: none !important;
}

#ccc, #ccc-title {
  font-family: "Forum", serif !important;
}

#ccc #ccc-notify p {
  font-size: 20px !important;
}

#ccc #ccc-notify {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
@media (min-width: 768px) {
  #ccc #ccc-notify {
    padding: 1.3333333333rem !important;
  }
}

#ccc .checkbox-toggle--dark .checkbox-toggle-toggle {
  background-color: #780000 !important;
}

/*code to center the buttons*/
.ccc-notify-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 1.3333333333rem;
  row-gap: 0.8888888889rem;
  margin-top: 0 !important;
  padding-right: 0 !important;
}

/* Settings button: third child in markup */
.ccc-notify-link {
  order: -1;
  grid-column: 1/-1; /* spans full width, its own row */
  justify-self: center;
  margin: 0 !important;
}

/* Accept and reject sit on the row below, side by side */
.ccc-accept-button {
  order: 1;
}

.ccc-reject-button {
  order: 2;
}

/*====cookie heading icon===*/
.cookies-logo {
  color: #780000;
  --logo-font-size: 2.6666666667rem;
  --logo-letter-spacing: 0.3em;
  --cookie-x: 32px;
  --cookie-y: 8px;
  --cookie-scale: 0.0725;
}

.cookies-logo text {
  font-family: Forum, serif;
  font-size: var(--logo-font-size);
  fill: currentColor;
  letter-spacing: var(--logo-letter-spacing);
}

.cookies-logo__icon {
  fill: currentColor;
  transform: translate(var(--cookie-x), var(--cookie-y)) scale(var(--cookie-scale));
  transform-origin: 0 0;
}

.hamburger {
  position: relative;
  width: 27px;
  height: 43px;
  cursor: pointer;
}
@media (min-width: 1150px) {
  .hamburger {
    display: none;
  }
}
.hamburger .line {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: #3c3c3c;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transform-origin: center center;
}
.hamburger .line:nth-child(1) {
  top: 25%;
}
.hamburger .line:nth-child(2) {
  top: 50%;
}
.hamburger .line:nth-child(3) {
  top: 75%;
}

.hamburger--active .line:nth-child(2) {
  opacity: 0;
}
.hamburger--active .line:nth-child(1),
.hamburger--active .line:nth-child(3) {
  top: 50%;
}
.hamburger--active .line:nth-child(1) {
  transform: rotate(45deg);
}
.hamburger--active .line:nth-child(3) {
  transform: rotate(-45deg);
}

@media (min-width: 1150px) {
  #mainNav.is-sticky {
    position: fixed;
    overflow: visible;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  }
}

.navigation__wrapper {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0%;
  left: 0;
  background-color: #edf7f9;
  width: 100%;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
  display: flex;
  justify-content: center;
}
@media (min-width: 1150px) {
  .navigation__wrapper {
    overflow: visible;
    position: static;
    max-height: none !important;
    height: auto;
    background-color: #ffffff;
  }
}
.navigation--open .navigation__wrapper {
  max-height: 100vh;
  max-height: 100dvh;
}
.navigation__inner {
  padding: 6.6666666667rem 0.8888888889rem 0.8888888889rem 0.8888888889rem;
  overflow: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
}
@media (min-width: 1150px) {
  .navigation__inner {
    overflow: visible;
    max-width: 1100px;
    display: block;
    padding: 0;
  }
}
.navigation__items {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1150px) {
  .navigation__items {
    flex-direction: row;
    justify-content: space-between;
  }
}
.navigation__item {
  font-weight: 600;
  color: #3c3c3c;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  position: relative;
}
@media (min-width: 1150px) {
  .navigation__item {
    margin: 1.5555555556rem 0;
  }
}
@media (min-width: 1150px) {
  .navigation__item {
    position: static;
  }
}
.navigation__item--active .navigation__link, .navigation__item:hover .navigation__link {
  color: #780000;
}
.navigation__item > a, .navigation__item > span, .navigation__item > button {
  appearance: none;
  -webkit-appearance: none;
  transition: color 0.5s;
  color: inherit;
  cursor: pointer;
  font-size: 1rem;
  font-family: "Forum", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  font-weight: 400;
  padding: 0.8333333333rem 0;
  text-decoration: none;
  display: flex;
  align-items: center;
}
@media (min-width: 1150px) {
  .navigation__item > a, .navigation__item > span, .navigation__item > button {
    padding: 0.4444444444rem 0;
  }
}
@media (min-width: 1150px) {
  .navigation__item > a, .navigation__item > span, .navigation__item > button {
    padding: 0;
  }
}
.navigation__footer {
  padding-bottom: 0.8888888889rem;
  padding-top: 1.3333333333rem;
  margin-top: 1.3333333333rem;
  border-top: 1px solid #f5fafb;
}
@media (min-width: 1150px) {
  .navigation__footer {
    display: none;
  }
}
.navigation__footer-list {
  display: flex;
  flex-direction: column;
  gap: 0.4444444444rem;
}
.navigation__footer-item {
  display: flex;
  align-items: center;
  gap: calc(0.4444444444rem - 4px);
  color: #780000;
}
.navigation__footer-item .navigation__footer-item-icon {
  width: 20px;
}
.navigation__footer-link {
  display: flex;
  align-items: center;
  gap: 0.4444444444rem;
}

.side-nav__wrap h2 {
  margin-bottom: 2.6666666667rem;
}
.side-nav ul {
  margin-top: 0;
}
.side-nav__link {
  color: #3c3c3c;
  display: block;
  padding: 0.2222222222rem 0;
}
.side-nav__link:hover {
  color: #780000;
}
.side-nav__item {
  margin: 0;
  padding: 0%;
  list-style: none;
}
.side-nav__item--active .side-nav__link {
  color: #780000;
}
.side-nav__footer {
  margin-top: 1.3333333333rem;
}
.side-nav__footer .side-nav__link {
  text-transform: uppercase;
  letter-spacing: 0.3em;
}

.megamenu {
  background-color: #edf7f9;
  justify-content: center;
  pointer-events: none;
  width: 100%;
  padding: 0 2.6666666667rem;
  text-transform: none;
  opacity: 0;
  visibility: hidden;
  display: flex;
  pointer-events: none;
  z-index: 2;
  padding: 0;
  overflow: hidden;
  height: 0;
}
@media (min-width: 1150px) {
  .megamenu {
    position: absolute;
    top: 0;
    left: 0;
    transition: transform 0.45s ease, opacity 0.45s ease, visibility 0s linear 0.45s;
    transform: translateX(-110%);
    padding: 2.6666666667rem 1.3333333333rem;
    transform: translateX(0);
    visibility: hidden;
    transition: opacity 0.5s ease-in-out, visibility 0s linear 0.5s;
    top: auto;
    left: 0;
    right: auto;
    margin-top: 1.5555555556rem;
  }
}
.megamenu--active .megamenu {
  pointer-events: auto;
  transition: transform 0.45s ease, opacity 0.45s ease, visibility 0s;
  transform: translateX(0); /* slide into view */
  opacity: 1;
  overflow: auto;
  height: auto;
}
@media (max-width: 1150px) {
  .megamenu--active .megamenu {
    min-height: 100%;
    visibility: visible;
  }
}
@media (min-width: 1150px) {
  .navigation__item--has-megamenu:hover .megamenu, .navigation__item--has-megamenu.megamenu--hover-active .megamenu {
    pointer-events: auto;
    transition: opacity 0.5s ease-in-out, visibility 0s;
    visibility: visible;
    opacity: 1;
    height: auto;
  }
}
.megamenu--active .megamenu__close-button {
  transform: rotate(90deg);
}
@media (min-width: 1150px) {
  .megamenu__close-button {
    display: none;
  }
}
.megamenu__inner {
  width: 100%;
  max-width: 1280px;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  position: relative;
}
@media (min-width: 1150px) {
  .megamenu__inner {
    grid-template-columns: 1fr minmax(37.7777777778rem, 1fr);
  }
}
.megamenu__menu {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.megamenu__menu-item {
  margin: 0;
  font-size: 1rem;
  letter-spacing: 0.0722222222em;
}
.megamenu__menu-item a {
  display: inline-block;
  color: #3c3c3c;
  padding: 0.2222222222rem 0;
}
.megamenu__menu-item a:hover {
  color: #780000;
  text-decoration: none;
}
.megamenu__left {
  margin-left: 0.6666666667rem;
}
@media (min-width: 1150px) {
  .megamenu__left {
    margin-left: 0;
  }
}
.megamenu__right {
  margin: 0.6666666667rem;
}
@media (min-width: 1150px) {
  .megamenu__right {
    margin-left: 0;
  }
}
.megamenu__right .l-grid {
  margin: 0;
}
.megamenu .product-card {
  color: #3c3c3c;
}

.navigation__item--has-sub {
  position: relative;
}
.navigation__item--has-sub:hover .sub_navigation {
  visibility: visible;
  opacity: 1;
  margin-top: 0;
  transform: translateY(0);
}

.sub_navigation {
  display: none;
  opacity: 0;
  visibility: hidden;
  text-transform: none;
  letter-spacing: 0.0722222222em;
  margin: 0;
  padding: 0;
  position: relative;
  width: 100vw;
  margin-left: -0.8888888889rem;
  z-index: 1000;
  background: #ffffff;
  padding: 0.6666666667rem 1.3333333333rem;
}
.sub_navigation--active {
  display: block;
}
@media (min-width: 1150px) {
  .sub_navigation {
    position: absolute;
    padding: 0.6666666667rem 0.8888888889rem;
    width: auto;
    margin-left: 0;
    top: 100%;
    transition: all 0.2s ease;
    z-index: 1000;
  }
  .last .sub_navigation {
    left: auto;
  }
}
.navigation__item--has-sub.sub_navigation--hover-active .sub_navigation, .navigation__item--has-sub.sub_navigation--active .sub_navigation {
  display: block;
  opacity: 1;
  visibility: visible;
}
@media (hover: hover) and (pointer: fine) {
  .navigation__item--has-sub:hover .sub_navigation {
    display: block;
    opacity: 1;
    visibility: visible;
  }
}
.sub_navigation .sub_navigation__item {
  white-space: nowrap;
}
.sub_navigation .sub_navigation__item .sub_navigation__link {
  display: block;
  padding: 0.2777777778rem 0;
  color: #3c3c3c;
}
.sub_navigation .sub_navigation__item .sub_navigation__link:hover {
  text-decoration: none;
  color: #780000;
}
.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 1.3333333333rem 0 0.8888888889rem 0;
  font-size: 0.7777777778rem;
  letter-spacing: 0.0722222222em;
}
@media (min-width: 400px) {
  .breadcrumbs {
    font-size: 0.8888888889rem;
  }
}
.breadcrumbs li {
  display: flex;
  align-items: center;
  color: #3c3c3c;
  margin: 0;
  padding: 0;
}
.breadcrumbs li:empty {
  display: none;
}
.breadcrumbs li:not(:first-child)::before {
  content: "/";
  margin: 0 0.5em;
  color: #3c3c3c;
}
.breadcrumbs li a {
  text-decoration: none;
  color: inherit;
}
.breadcrumbs li a:hover {
  text-decoration: underline;
}
.breadcrumbs--back .a-icon__svg {
  margin-right: 5px;
}
.footer__row {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.footer__top {
  background-color: #f5fafb;
  padding: 2.6666666667rem 0;
}
@media (min-width: 1000px) {
  .footer__top {
    padding: 2.6666666667rem 1.3333333333rem 2.6666666667rem 1.3333333333rem;
  }
}
.footer__top .footer__col {
  text-align: center;
}
@media (min-width: 1000px) {
  .footer__top .footer__col {
    text-align: left;
  }
}
.footer__inner {
  width: 100%;
  max-width: 1280px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 0.4444444444rem;
  justify-content: space-between;
}
@media (min-width: 1000px) {
  .footer__inner {
    display: flex;
    flex-wrap: wrap;
    gap: 2.6666666667rem;
  }
}
.footer__btm .footer__inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center;
  gap: 0;
}
.footer__heading {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  padding: 0.4444444444rem 0;
  font-size: 1.1111111111rem;
}
@media (min-width: 1150px) {
  .footer__heading {
    padding: 0;
  }
}
.footer__items {
  display: none;
  background-color: #edf7f9;
  padding: 0.6666666667rem 0;
}
.footer__heading--active + .footer__items {
  display: block;
}
@media (min-width: 1000px) {
  .footer__items {
    display: block;
    background-color: transparent;
    padding: 0.6666666667rem 0 0 0;
  }
}
.footer__items li {
  font-size: 0.9444444444rem;
}
.footer__items a {
  display: block;
  color: #3c3c3c;
  padding: 0.2777777778rem 0;
}
.footer__items a:hover {
  text-decoration: none;
  color: #780000;
}
.footer__btm .footer__socials {
  display: flex;
  flex-direction: column;
  gap: 0.8888888889rem;
  width: 100%;
  justify-content: center;
  margin-bottom: 1.3333333333rem;
}
@media (min-width: 768px) {
  .footer__btm .footer__socials {
    flex-direction: column;
  }
}
@media (min-width: 1150px) {
  .footer__btm .footer__socials {
    display: none;
  }
}
.footer__top .footer__socials {
  display: none;
}
@media (min-width: 1150px) {
  .footer__top .footer__socials {
    display: block;
  }
}
.footer__btm {
  background-color: #ffffff;
  padding: 1.3333333333rem;
}
.footer__btm .footer__socials {
  display: flex;
}
@media (min-width: 1150px) {
  .footer__btm .footer__socials {
    display: none;
  }
}
.footer__legal {
  display: flex;
  gap: 0.8888888889rem;
  flex-direction: column;
}
@media (min-width: 768px) {
  .footer__legal {
    flex-direction: row;
  }
}
.footer__btm-links {
  display: flex;
  justify-content: center;
  width: 100%;
  gap: 0.8888888889rem;
  font-size: 0.8333333333rem;
  flex-direction: column;
}
@media (min-width: 768px) {
  .footer__btm-links {
    flex-direction: row;
  }
}
.footer__btm-links a {
  color: #3c3c3c;
}
.footer__btm-links a:hover {
  text-decoration: none;
  color: #780000;
}
.blockquotes {
  margin: 2.6666666667rem;
}
.blockquotes:last-child {
  margin-bottom: 0;
}
.blockquotes blockquote {
  font-size: 2.7777777778rem;
  text-align: center;
  margin: 0;
}
.blockquotes cite {
  text-align: right;
  width: 100%;
  display: inline-block;
}

.hero__wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1800px;
}
.hero__wrap .f-carousel__viewport {
  width: 100%;
}
.hero__container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.hero__inner {
  width: 100%;
  max-width: 1800px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hero__img {
  max-width: 1800px;
  position: relative;
  width: 100%;
}
.hero__img-caption {
  opacity: 0;
  transition: opacity 0.3s ease;
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgba(245, 250, 251, 0.8);
  width: 100%;
  padding: 0.8888888889rem;
}
.hero__img-caption P:last-child {
  margin-bottom: 0;
}
@media (hover: hover) {
  .hero__img:hover .hero__img-caption {
    opacity: 1;
  }
}
.hero__img--active .hero__img-caption {
  opacity: 1;
}
.hero__img img {
  display: block;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 1/1;
  width: 100%;
}
@media (min-width: 768px) {
  .hero__img img {
    aspect-ratio: auto;
  }
}
.hero__slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.hero__txt {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.3333333333rem;
  text-align: center;
  max-width: 41.6666666667rem;
}
.hero__txt h1, .hero__txt h2 {
  font-size: 1.4444444444rem;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
@media (min-width: 768px) {
  .hero__txt h1, .hero__txt h2 {
    font-size: 1.4444444444rem;
  }
}
@media (min-width: 768px) {
  .hero__txt {
    padding: 2.6666666667rem;
  }
}
.hero-sub {
  display: flex;
  justify-content: center;
}
.hero-sub__img img {
  display: block;
  width: 100%;
}
.hero-sub__inner {
  width: 100%;
  max-width: 1280px;
}
.hero-sub--full-width .hero-sub__inner {
  max-width: none;
}

.hero--video {
  position: relative;
  height: 67vh;
}
.hero--video .hero__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero--video .hero__overlay {
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.hero--video .hero__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  padding: 1.3636363636rem;
  /* background: rgba(246, 242, 235, .5); */
  color: white;
}

/*===================
VARIABLES
====================*/
input, textarea, select, button {
  letter-spacing: 0.0722222222em;
}
input:disabled, textarea:disabled, select:disabled, button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

input[type=number] {
  text-align: center;
  padding-right: 0; /* remove space reserved for spinner */
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  display: none;
  -webkit-appearance: textfield;
  margin: 0;
  appearance: textfield;
}

.placeholder, .form__textarea::placeholder, .form__input::placeholder {
  color: #3c3c3c;
  opacity: 1;
}

.form {
  /*===================
  INPUT
  ====================*/
  /*===================
  TEXT AREA
  ====================*/
  /*===================
  SELECT DROPDOWNS
  ====================*/
  /*===================
  CHECKBOXES
  ====================*/
  /*===================
  RADIO
  ====================*/
}
.form--account {
  margin-bottom: 2.6666666667rem;
}
.form__wrap {
  padding: 1.3333333333rem 2.6666666667rem;
}
.form__wrap--nopad {
  padding: 0;
}
.form__wrap h2 {
  color: #3c3c3c;
}
@media (min-width: 768px) {
  .form__wrap--narrow {
    max-width: 580px;
  }
}
.form__row {
  margin-bottom: 1.1111111111rem;
  display: flex;
  flex-direction: column;
}
.form__row:last-child {
  margin-bottom: 0;
}
.form__row--inline {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.1111111111rem;
}
@media (min-width: 768px) {
  .form__row--inline {
    grid-template-columns: 1fr 1fr;
  }
}
.form__label {
  padding: 0.8888888889rem 0.8888888889rem 0.8888888889rem 0;
}
.form--inline .form__label {
  padding: 0.8888888889rem;
}
.form__text {
  margin: 0.8888888889rem 0 0 0;
}
.form__input {
  padding: 0.8888888889rem;
  border: none;
  width: 100%;
  background-color: #f5fafb;
}
.form--white .form__input {
  background-color: #ffffff;
}
.form__input--wbtn {
  display: flex;
  width: 100%;
}
.form__textarea {
  width: 100%;
  padding: 0.8888888889rem;
  background-color: #f5fafb;
  border: none;
  min-height: 9.1666666667rem;
}
.form--white .form__textarea {
  background-color: #ffffff;
}
.form__select {
  background-color: #f5fafb;
  width: 100%;
  position: relative;
  margin-bottom: auto;
}
.form--white .form__select {
  background-color: #ffffff;
}
.form__select-input {
  appearance: none;
  color: #3c3c3c;
  width: 100%;
  border: none;
  background: none;
  padding: 0.8888888889rem;
}
.form__select-input--icon {
  padding-right: 1.7777777778rem;
}
.form__select-icon {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  display: flex;
  align-items: center;
  padding-right: 0.4444444444rem;
  color: #780000;
  pointer-events: none;
}
.form__checkbox {
  display: block;
  margin-right: 5px;
}
.form__checkbox-label {
  display: flex;
}
.form__checkbox-styled {
  display: block;
  position: relative;
  padding-left: calc(25px + 0.8888888889rem);
  cursor: pointer;
  user-select: none;
}
.form__checkbox-styled ~ .form__checkbox-styled {
  margin-top: 0.8888888889rem;
}
.form__checkbox-styled-tick {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #f5fafb;
}
.form__checkbox-styled-tick::after {
  content: "";
  position: absolute;
  display: none;
  left: 9px;
  top: 5px;
  width: 5px;
  height: 10px;
  border: solid #f5fafb;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}
.form__checkbox-styled input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.form__checkbox-styled input ~ .form__checkbox-styled-tick {
  background-color: #edf7f9;
}
.form__checkbox-styled input:checked ~ .form__checkbox-styled-tick {
  background-color: #780000;
}
.form__checkbox-styled input:checked ~ .form__checkbox-styled-tick::after {
  display: block;
}
.form__radio-styled {
  display: block;
  position: relative;
  padding-left: calc(24px + 0.8888888889rem);
  margin-bottom: 0.8888888889rem;
  cursor: pointer;
  user-select: none;
}
.form__radio-styled-dot {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  width: 24px;
  background-color: transparent;
  border-radius: 50%;
  border: 1px solid #3c3c3c;
}
.form__radio-styled-dot::after {
  content: "";
  display: none;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  background-color: #780000;
}
.form__radio-styled input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.form__radio-styled input:checked ~ .form__radio-styled-dot {
  border-color: #3c3c3c;
  background-color: transparent;
}
.form__radio-styled input:checked ~ .form__radio-styled-dot::after {
  display: block;
}
.form__inline-btn {
  padding: 0 1.3333333333rem;
  background-color: #f5fafb;
}
.form__inline-btn svg {
  fill: #780000;
}

/*====MY DETAILS FORM====*/
.form__wrap--mydetails {
  padding: 0;
}
.form__wrap--mydetails h1 {
  margin-bottom: 2.6666666667rem;
  text-transform: none;
  letter-spacing: 0.0722222222em;
}

.form__toggle {
  display: inline-flex;
  font-size: 0.7777777778rem;
  overflow: hidden;
}
.form__toggle input[type=radio] {
  display: none;
}
.form__toggle input[type=radio]:checked + label {
  border: 1px solid #780000;
}
.form__toggle label {
  padding: 6px 10px;
  cursor: pointer;
  background: #ffffff;
  color: #3c3c3c;
  line-height: 1;
  user-select: none;
  transition: all 0.2s ease;
}

.form-address {
  background-color: #ffffff;
}
.form-address .form__row {
  display: grid;
  grid-template-columns: 16.6666666667rem 1fr;
}
.form-address .form__row.form__row--wide {
  grid-template-columns: 1fr;
}
.form-address .form__row:last-child {
  margin-bottom: 0;
}
/*====CONTACT FORM====*/
.form-contact__icon {
  display: flex;
  justify-self: center;
  justify-content: center;
  align-items: center;
  color: #780000;
}
.form-contact__wrap {
  padding: 1.3333333333rem;
  border: 2px solid #f5fafb;
  display: flex;
  justify-content: center;
  width: 100%;
}
@media (min-width: 768px) {
  .form-contact__wrap {
    padding: 2.6666666667rem 2.6666666667rem 1.3333333333rem 2.6666666667rem;
  }
}
.form-contact__inner {
  width: 100%;
  max-width: 66.6666666667rem;
}

/*===password reveal styles==*/
.input__reveal {
  display: flex;
  background-color: #f5fafb;
}
.input__reveal:focus-within {
  outline: 1px solid #780000;
  outline-offset: 2px;
}
.input__reveal input:focus {
  outline: none;
}
.form--white .input__reveal {
  background-color: #ffffff;
}
.input__reveal button {
  display: flex;
  align-items: center;
  color: #780000;
  padding-right: 5px;
}
.input__reveal button .input__reveal-icon--on {
  display: none;
}
.input__reveal button[aria-pressed=true] .input__reveal-icon--off {
  display: none;
}
.input__reveal button[aria-pressed=true] .input__reveal-icon--on {
  display: block;
}

:root {
  --hsf-global__font-family: Forum, sans-serif;
  --hsf-global__font-size: 18px;
  --hsf-global__color: #3c3c3c;
  --hsf-background__background-color: transparent;
  --hsf-row__horizontal-spacing: 1.3333333333rem;
  --hsf-button__font-family: Forum, sans-serif;
  --hsf-button__color: #780000;
  --hsf-button__background-color: transparent;
  --hsf-button__border-radius: none;
  --hsf-field-input__background-color: #f5fafb;
  --hsf-field-input__border-color: #f5fafb;
  --hsf-field-input__padding: 0.8888888889rem;
  --hsf-field-input__placeholder-color: #3c3c3c;
  --hsf-field-input__border-radius: none;
  --hsf-field-checkbox__background-color: #f5fafb;
  --hsf-field-checkbox__color: #780000;
  --hsf-field-label-requiredindicator__color: #780000;
  --hsf-erroralert__color: #780000;
}

input[type=checkbox] {
  --hsf-field-input__padding: 10px;
}

.hsfc-Button {
  --hsf-default-button__border-color: #780000;
  --hsf-default-button__border-width:1px 0 1px 0;
  --hsf-default-button__border-style: solid;
  --hsf-button__padding: 0.5555555556rem 0.2222222222rem 0.5555555556rem 0.5555555556rem;
  display: inline-block;
  background-color: #ffffff;
  padding: 0.3333333333rem 1.1111111111rem;
  color: #780000;
  transition: background-color 0.5s, color 0.5s;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  margin-right: auto !important;
  position: relative;
  background-color: transparent;
  border-left: none;
  border-right: none;
  color: #780000;
  padding: 0.5555555556rem 0.2222222222rem 0.5555555556rem 0.5555555556rem;
}
.hsfc-Button:hover {
  transform: translateY(0px) !important;
}
.hsfc-Button:hover, a.card:hover .hsfc-Button {
  background-color: transparent;
  color: #780000;
}
.hsfc-Button:hover::after, .hsfc-Button:hover::before, a.card:hover .hsfc-Button::after, a.card:hover .hsfc-Button::before {
  height: 100%;
}
.hsfc-Button::after, .hsfc-Button::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 0;
  background: #780000;
  transition: height 0.3s ease;
}
.hsfc-Button::after {
  top: 0;
  right: 0;
}
.hsfc-Button::before {
  bottom: 0;
  left: 0;
}

.hsfc-NavigationRow__Buttons:has(> :only-child) .hsfc-Button {
  margin-right: 0 !important;
}

.product__tech-table {
  line-height: 1.2;
}
.product__tech-table table + table {
  margin-top: 1.3333333333rem;
}
.product__tech-table th {
  text-transform: capitalize;
  letter-spacing: 0.0722222222em;
}

.profile-widget {
  display: flex;
  visibility: hidden;
  overflow: hidden;
  max-height: 0;
  background-color: #edf7f9;
  justify-content: center;
  width: 100%;
  position: absolute;
  top: var(--header-height);
  left: 0;
  transition: max-height 500ms ease, visibility 500ms ease;
}
.profile-widget__inner {
  padding: 0.8888888889rem;
  max-width: 600px;
  width: 100%;
}
.profile-widget.is-open {
  visibility: visible;
  max-height: 17.7777777778rem;
  opacity: 1;
  display: flex;
}
.profile-widget p {
  margin-bottom: 0.4444444444rem;
}
.profile-widget .form__input, .profile-widget .form__inline-btn {
  background-color: #ffffff;
}
.profile-widget__register {
  width: 100%;
}

.btn {
  display: inline-block;
  background-color: #ffffff;
  padding: 0.3333333333rem 1.1111111111rem;
  color: #780000;
  transition: background-color 0.5s, color 0.5s;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  border: 1px solid #780000;
  align-self: flex-start;
  font-size: 0.8888888889rem;
}
.btn .btn {
  font-size: 1.1111111111rem;
}
.btn--right {
  align-self: flex-end;
}
.btn__wrap {
  padding-top: 0.8888888889rem;
}
.l-site__main .l-content > .btn, .l-site__main .l-grid__col > .btn {
  margin-bottom: 0.8888888889rem;
}
.btn__block {
  display: block;
}
.btn__block:not(.u-no-margin) {
  margin: 0.8888888889rem 0 !important;
}
.btn__block:last-child {
  margin-bottom: 0 !important;
}
.btn__block--right {
  display: flex;
  justify-content: flex-end;
}
.btn__block--center {
  display: flex;
  justify-content: center;
}
.btn--sm {
  margin-left: auto;
  margin-right: auto;
}
.btn:hover, a.card:hover .btn {
  background-color: #780000;
  color: #ffffff;
  text-decoration: none;
}
.btn--alt {
  background-color: #780000;
  padding: 0.8888888889rem;
  color: #edf7f9;
  font-weight: 600;
}
.btn--alt:hover, a.card:hover .btn--alt {
  background-color: #ffffff;
  color: #780000;
}
.btn--outline {
  position: relative;
  margin-top: 5px;
  margin-bottom: 5px;
  border: none;
  background-color: transparent;
}
.btn--outline:before, .btn--outline:after {
  position: absolute;
  top: -5px;
  left: 0;
  content: "";
  height: 2px;
  width: 100%;
  background-color: #780000;
}
.btn--outline:after {
  top: auto;
  bottom: -5px;
}
.btn--buy {
  background-color: #780000;
}
.btn--icon {
  display: flex;
  gap: 0.6666666667rem;
}
.btn--simple {
  position: relative;
  background-color: transparent;
  border-left: none;
  border-right: none;
  color: #780000;
  padding: 0.5555555556rem 0.2222222222rem 0.5555555556rem 0.5555555556rem;
}
.btn--simple:hover, a.card:hover .btn--simple {
  background-color: transparent;
  color: #780000;
}
.btn--simple:hover::after, .btn--simple:hover::before, a.card:hover .btn--simple::after, a.card:hover .btn--simple::before {
  height: 100%;
}
.btn--simple::after, .btn--simple::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 0;
  background: #780000;
  transition: height 0.3s ease;
}
.btn--simple::after {
  top: 0;
  right: 0;
}
.btn--simple::before {
  bottom: 0;
  left: 0;
}

.btn-reset {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
}
.btn-reset svg {
  fill: #780000;
}

.btn-backtotop {
  display: flex;
  align-items: center;
  gap: 0.6666666667rem;
}
.btn-backtotop:hover {
  color: #780000;
}
.btn-backtotop__icon {
  display: flex;
  color: #780000;
}

/*===Button Layout===*/
.btn__group {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.3333333333rem;
  margin-bottom: 1.3333333333rem;
}
.btn__group--2 {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .btn__group--2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.btn__group--3 {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .btn__group--3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1000px) {
  .btn__group--3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.btn__group--4 {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .btn__group--4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1000px) {
  .btn__group--4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
.btn__group-item {
  display: inline;
}

.btn-account {
  text-align: left;
  padding: 0.8888888889rem;
  border: 1px solid #f5fafb;
}
.btn-account--icon {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.btn-account__icon {
  display: flex;
  align-items: center;
}
.btn-account__icon svg {
  fill: #780000;
}

input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.header__search {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1px;
}
@media (min-width: 1150px) {
  .header__search {
    position: relative;
  }
}
.header__search-input-wrap {
  position: relative;
  display: inline-block;
}

.header__search-input {
  padding: 0.4rem 0.6rem;
  border: none;
  width: 100%;
  border-bottom: 1px solid #780000;
  background-color: #ffffff;
}
@media (min-width: 1150px) {
  .header__search-input {
    border-bottom: none;
  }
}
.header__search-input:focus-within, .header__search-input:focus {
  outline: none;
}
.header__search-input-wrap {
  width: 0;
  opacity: 0;
  pointer-events: none;
  border: 0;
  position: absolute;
  left: 0;
  bottom: -3.6111111111rem;
  padding: 0.8888888889rem;
  display: flex;
  justify-content: center;
}
@media (min-width: 1150px) {
  .header__search-input-wrap {
    transition: width 200ms ease, opacity 200ms ease, padding 200ms ease;
    padding: 0 0 0 1.5555555556rem;
    bottom: auto;
  }
}
.is-open .header__search-input-wrap {
  width: 100%; /* adjust */
  opacity: 1;
  pointer-events: auto;
  background-color: #ffffff;
}
@media (min-width: 1150px) {
  .is-open .header__search-input-wrap {
    background-color: transparent;
    border-bottom: 1px solid #780000;
    width: 14rem;
  }
}
.header__search-input-wrap .search__submit {
  display: flex;
  justify-content: center;
  align-items: center;
}
.header__search-input-wrap .search__submit svg {
  fill: #780000;
}
@media (min-width: 1150px) {
  .header__search-input-wrap .search__submit {
    display: none;
  }
}
.header__search-input-inner {
  width: 100%;
  max-width: 600px;
  display: flex;
  background-color: #ffffff;
  padding-right: 0.1666666667rem;
  transition: opacity 900ms ease;
  opacity: 1;
  position: relative;
}
.is-open .header__search-input-inner {
  opacity: 1;
}
@media (min-width: 1150px) {
  .header__search-input-inner {
    background-color: transparent;
  }
}

.search__clear {
  align-items: center;
  display: none;
}

.header__search.has-value .search__clear {
  background: #f5fafb;
  display: flex;
}

#search-typeahead {
  position: fixed;
  z-index: 9999;
  margin: 0;
  padding: 0;
  list-style: none;
  background: #fff;
  border: 1px solid #ddd;
  border-top: none;
  border-radius: 0 0 4px 4px;
  overflow: hidden;
}
#search-typeahead li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  font-size: 14px;
  border-bottom: 1px solid #f0f0f0;
  cursor: pointer;
  transition: background 0.1s ease;
}
#search-typeahead li:last-child {
  border-bottom: none;
}
#search-typeahead li:hover, #search-typeahead li.is-active {
  background: #f5f5f5;
}
#search-typeahead li .search-typeahead__name {
  color: #222;
}
#search-typeahead li .search-typeahead__category {
  font-size: 11px;
  color: #888;
  text-transform: capitalize;
}

.search__item h3 {
  letter-spacing: 0.0722222222em;
}

.search__results h2 {
  letter-spacing: 0.0722222222em;
}

.filters-bar__filters {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.6666666667rem;
}
@media (min-width: 768px) {
  .filters-bar__filters--blog .filters-bar__filters-item {
    grid-column: 3;
  }
}
@media (min-width: 768px) {
  .filters-bar__filters {
    gap: 1.3333333333rem;
    grid-template-columns: repeat(3, 1fr);
  }
}
.filters-bar__filters .btn-reset {
  position: absolute;
  top: -2.05rem;
  right: 0;
}
.filters-bar__wrap {
  padding-top: 2.0555555556rem;
}
#filter-app .filters-bar__wrap {
  padding-top: 0;
}
.filters-bar__wrap + #googlemap {
  margin-top: 1.3333333333rem;
}

a.card {
  text-decoration: none;
}
a.card:hover {
  text-decoration: none;
}

.card {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.3333333333rem;
  align-items: center;
  padding: 0 0.8888888889rem;
}
.l-grid .card, .l-grid-flex .card {
  margin-bottom: 0;
}
.l-grid .l-grid__col:last-child .card {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .card {
    margin-bottom: 0;
  }
}
.card--img {
  padding: 0;
}
.card__img {
  overflow: hidden;
  width: 100%;
}
@media (min-width: 768px) {
  .card__img {
    padding: 0;
  }
}
.card__img img {
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
  width: 100%;
}
@media (min-width: 768px) {
  .card__img--portrait img {
    aspect-ratio: 70/99;
  }
}
.card__details {
  padding: 1.3333333333rem;
}
.card__header {
  font-size: 1.4444444444rem;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .card__header {
    font-size: 1.4444444444rem;
  }
}
.card__txt {
  padding: 1.3333333333rem 1.3333333333rem 0 1.3333333333rem;
  text-align: center;
  max-width: 25rem;
}
.card__txt *:first-child {
  margin-top: 0;
}
.card__txt > *:not(.btn) {
  color: #3c3c3c;
}
.card__txt br {
  display: none;
}
@media (min-width: 768px) {
  .card__txt {
    padding: 2.6666666667rem 1.3333333333rem 0 1.3333333333rem;
  }
  .card__txt br {
    display: inline;
  }
}

a.card--pop {
  transition: scale 0.3s ease;
}
a.card--pop .card__img--landscape {
  background-color: rgba(0, 0, 0, 0.2);
}
a.card--pop .card__img--landscape::before {
  background-color: rgba(0, 0, 0, 0.2);
}
a.card--pop .card__img--landscape + .card__txt .card__header {
  color: #ffffff;
}
a.card--pop:hover {
  scale: 1.02;
}
a.card--pop:hover .card__img--landscape::before {
  background-color: rgba(245, 250, 251, 0.7);
}
a.card--pop:hover .card__img--landscape + .card__txt .card__header {
  color: #3c3c3c;
}

/*======
CARD landscape
======*/
.card__img--landscape {
  padding: 0;
}
.card__img--landscape img {
  aspect-ratio: 2/1;
}

/*======
CARD WIDE
======*/
.carousel .card {
  padding: 0;
  margin-bottom: 0;
}
.carousel .card .card__txt {
  width: 100%;
  max-width: none;
}
.carousel .card .card__header {
  width: 100%;
  text-transform: none;
  margin-bottom: 0;
}
.card--wide {
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 1800px;
  margin-left: auto;
  margin-right: auto;
}
.card--wide .card__img {
  padding: 0;
}
.card--wide .card__img img {
  aspect-ratio: auto;
}
.card--wide .card__txt {
  max-width: 41.6666666667rem;
  text-align: center;
}
.card--simple {
  padding: 0;
}
.card--simple .card__txt {
  padding: 0;
  text-align: left;
  width: 100%;
  padding: 0.4444444444rem 0 0 0;
}
.card--simple .card__header {
  font-size: 1.2222222222rem;
  color: #3c3c3c;
  padding: 0;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
.card--text {
  padding: 0;
  align-items: center;
}
.card--text .card__txt {
  max-width: 50rem;
}
.card--img {
  padding: 0;
  position: relative;
}
.card--img .card__img {
  position: relative;
}
.card--img .card__img::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
}
.card--img .card__txt {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  max-width: none;
}
.card--img .card__header {
  margin: 0;
}

.card--overlay {
  position: relative;
}
.card--overlay .card__txt {
  position: absolute;
  top: 20%;
}

/*==========
CARD CONTACT
===========*/
.card-contact {
  background-color: #f5fafb;
  height: 100%;
}
.card-contact__inner {
  padding: 1.3333333333rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (min-width: 768px) {
  .card-contact__inner {
    padding: 2.6666666667rem 3.5555555556rem;
  }
}
.card-contact__row {
  margin-bottom: 1.1111111111rem;
}
.card-contact P {
  margin: 0;
}
.card-contact__title {
  color: #3c3c3c !important;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
.card-contact a {
  color: #3c3c3c;
  text-decoration: none;
}
.card-contact a:hover {
  color: #780000;
}

#googlemap .card-contact__inner {
  padding: 10px !important;
  background: none !important;
}
#googlemap .card-contact__row {
  margin: 0 !important;
}
#googlemap .card-contact__row.card-contact__title {
  margin-bottom: 10px !important;
}
#googlemap p {
  margin-bottom: 9px !important;
}

.video-thumb {
  width: 100%;
  max-width: 50rem;
  overflow: hidden;
}

.video-thumb video {
  width: 100%;
  display: block;
}

.commerce-loader .c-checkout {
  opacity: 0.3;
}

.checkout {
  position: relative;
}
.checkout__loader {
  position: fixed;
  display: none;
  top: 30vh;
  left: 0;
  height: 30px;
  width: 100%;
}
.commerce-loader .checkout__loader {
  display: block;
}
.checkout__details .l-grid {
  margin-top: 0;
}
.checkout__steps .checkout__step:last-child {
  border: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.checkout__step {
  display: grid;
  margin-bottom: 2.6666666667rem;
  padding-bottom: 2.6666666667rem;
  border-bottom: 2px solid #f5fafb;
}
.checkout__step *:last-child {
  margin-bottom: 0;
}
.checkout__step *:first-child {
  margin-top: 0;
}
.checkout__step-subtitle {
  text-transform: none;
  letter-spacing: 0.0722222222em;
  margin-top: 0;
}
.checkout__step-content {
  padding: 1.3333333333rem 0.8888888889rem;
}
.checkout__step-title {
  color: #3c3c3c !important;
}
.checkout__step-row {
  position: relative;
  margin-bottom: 1.3333333333rem;
}
.checkout__step-details .l-grid {
  margin-top: 0;
}
.checkout-step-option-nopad {
  padding: 0;
}
.checkout-step-option__title {
  background-color: transparent;
  text-align: left;
  padding: 0.8888888889rem;
  border: 1px solid #f5fafb;
  display: flex;
  gap: 1.3333333333rem;
  justify-content: space-between;
}
.checkout-step-option__icon {
  order: 2;
}
.checkout__notes {
  margin-top: 2.6666666667rem;
  padding-top: 2.6666666667rem;
  border-top: 2px solid #f5fafb;
}
.checkout__footer {
  margin-top: 2.6666666667rem;
  border-top: 2px solid #f5fafb;
}
.checkout__footer .l-grid__col:first-child {
  padding-right: 16.6666666667rem;
}

.checkout-payment__logos {
  margin-top: 1.3333333333rem;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}
.checkout-payment__logo {
  border: 1px solid #dae0e1;
  border-radius: 3px;
  overflow: hidden;
}
.checkout-payment__logo img {
  display: block;
  text-align: center;
  flex-shrink: 1;
  min-height: 16px;
  max-height: 48px;
  padding-top: 0;
  padding-left: 0;
}

.checkout-step-option .checkout-step-option__icon--checked {
  display: none;
}
.checkout-step-option .checkout-step-option__icon--unchecked {
  display: block;
}

.checkout-step-option--active + .u-collapsable-toggle__title .checkout-step-option__title, .checkout-step-option--active .u-collapsable-toggle__title .checkout-step-option__title, .u-collapsable-toggle:checked + .u-collapsable-toggle__title .checkout-step-option__title, .u-collapsable-toggle:checked .u-collapsable-toggle__title .checkout-step-option__title {
  background-color: #edf7f9;
  color: #3c3c3c;
}
.checkout-step-option--active + .u-collapsable-toggle__title .checkout-step-option__icon--checked, .checkout-step-option--active .u-collapsable-toggle__title .checkout-step-option__icon--checked, .u-collapsable-toggle:checked + .u-collapsable-toggle__title .checkout-step-option__icon--checked, .u-collapsable-toggle:checked .u-collapsable-toggle__title .checkout-step-option__icon--checked {
  display: block;
}
.checkout-step-option--active + .u-collapsable-toggle__title .checkout-step-option__icon--unchecked, .checkout-step-option--active .u-collapsable-toggle__title .checkout-step-option__icon--unchecked, .u-collapsable-toggle:checked + .u-collapsable-toggle__title .checkout-step-option__icon--unchecked, .u-collapsable-toggle:checked .u-collapsable-toggle__title .checkout-step-option__icon--unchecked {
  display: none;
}
.checkout-step-option--active + .u-collapsable-toggle__title + .checkout__step-content, .checkout-step-option--active .u-collapsable-toggle__title + .checkout__step-content, .u-collapsable-toggle:checked + .u-collapsable-toggle__title + .checkout__step-content, .u-collapsable-toggle:checked .u-collapsable-toggle__title + .checkout__step-content {
  border: 1px solid #f5fafb;
}

.product-card {
  position: relative;
  overflow: hidden;
  color: #3c3c3c;
  display: block;
}
.product-card:hover {
  text-decoration: none;
}
.product-card img {
  display: block;
  width: 100%;
}
.product-card__title {
  display: flex;
  justify-content: space-between;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
.product-card__title:has(.product-card__download:hover) {
  color: #780000;
}
.product-card__title-colourway {
  display: block;
  text-transform: capitalize;
  letter-spacing: 0.0722222222em;
}
.megamenu .product-card__title {
  font-size: 0.7777777778rem;
}
.product-card__img {
  position: relative;
}
.product-card__img-lifestyle {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}
.product-card__img:hover .product-card__img-lifestyle {
  opacity: 1;
}
.product-card__download {
  color: #3c3c3c;
  transition: transform 0.3s ease, color 0.3s ease;
}
.product-card__download .a-icon__svg {
  width: 1.2777777778rem;
  height: 1.2777777778rem;
}
.product-card__download:hover {
  color: #780000;
  transform: scale(1.1);
}
.product-card__footer {
  padding-top: 0.4444444444rem;
}
.product-card__ribbon-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  width: 25%;
  aspect-ratio: 1/1;
  transform: rotate(45deg);
  z-index: 1;
}
.product-card__ribbon-wrap .product-card__ribbon {
  position: absolute;
  width: 400px;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  padding: 5px 0;
  background-color: #f5fafb;
  color: #780000;
}
.megamenu .product-card__ribbon-wrap .product-card__ribbon {
  font-size: 0.5555555556rem;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}

.newsletter-signup {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #edf7f9;
  padding: 2.6666666667rem 1.3333333333rem;
}
@media (min-width: 768px) {
  .newsletter-signup {
    padding: 1.3333333333rem 1.3333333333rem;
  }
}
.newsletter-signup__inner {
  width: 100%;
  max-width: 1280px;
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  gap: 1.3333333333rem;
  position: relative;
}
@media (min-width: 768px) {
  .newsletter-signup__inner {
    display: flex;
    justify-content: center;
  }
  .newsletter-signup__inner .btn-backtotop {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}
.newsletter-signup .btn-backtotop {
  order: 2;
}
@media (max-width: 768px) {
  .newsletter-signup .btn-backtotop {
    margin-left: auto;
    margin-right: auto;
  }
}
.newsletter-signup__btn {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media (max-width: 768px) {
  .newsletter-signup__btn {
    margin-left: auto;
    margin-right: auto;
  }
}
.newsletter-signup__btn .btn {
  align-self: inherit;
}

#newsletterOverlay {
  width: 100%;
  max-width: 580px;
  --f-html-padding: 0;
  --f-close-button-color: setcolor(1);
}
#newsletterOverlay .newsletter-widget {
  border: none;
}

.newsletter-widget {
  margin: auto;
  border: 2px solid #f5fafb;
  max-width: 32.2222222222rem;
  width: 100%;
  padding: 1.3333333333rem;
}
.l-content .newsletter-widget {
  margin: 2.6666666667rem auto;
}
@media (min-width: 768px) {
  .newsletter-widget {
    padding: 3.5555555556rem;
  }
}
.newsletter-widget__top {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.newsletter-widget__title {
  text-transform: uppercase;
  letter-spacing: 0.3em;
  text-align: center;
  margin-top: 0;
}
.newsletter-widget__title span {
  display: block;
  text-transform: none;
  letter-spacing: 0.0722222222em;
}
.newsletter-widget__icon svg {
  fill: #780000;
}

/*===================
styles for the newsletter widget
===================*/
.newsletter-widget--hubspot {
  max-width: 40rem;
  padding: 1.3333333333rem 0.8888888889rem;
}
.newsletter-widget--hubspot form {
  text-align: left;
}

.tiles__wrap {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  gap: 0;
}
@media (min-width: 1000px) {
  .tiles__wrap {
    gap: 1.3333333333rem;
  }
}
.tiles__item {
  padding: 2.6666666667rem;
  background-color: #edf7f9;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}
@media (min-width: 1000px) {
  .tiles__item {
    padding: 1.3333333333rem;
    aspect-ratio: 1/0.5;
  }
}
.tiles__item-heading {
  text-align: center;
  text-transform: uppercase;
}

.product__top {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 2rem;
  row-gap: 0; /* key: no forced vertical gaps */
  align-items: start;
  grid-template-areas: "heading" "left" "right";
}
@media (min-width: 1000px) {
  .product__top {
    padding-bottom: 2.6666666667rem;
    grid-template-columns: minmax(0, 50%) 1fr minmax(0, 650px);
    grid-template-areas: "left . right";
    justify-content: end;
  }
}

.product__left {
  grid-area: left;
}

.product__right {
  grid-area: right;
}

.product__header--desktop {
  display: none;
}
@media (min-width: 1000px) {
  .product__header--desktop {
    display: block;
  }
}
.product__header--mobile {
  grid-area: heading;
}
@media (min-width: 1000px) {
  .product__header--mobile {
    display: none;
  }
}

.product__description--desktop {
  padding-top: 0.8888888889rem;
  display: none;
}
@media (min-width: 1000px) {
  .product__description--desktop {
    display: block;
  }
}
@media (min-width: 1000px) {
  .product__description--mobile {
    display: none;
  }
}

.product h4 {
  color: #3c3c3c;
  margin: 0 0 0.8888888889rem 0;
}
.product__section {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.3333333333rem;
}
.product__section-inner {
  border-top: 2px solid #f5fafb;
  padding-top: 1.3333333333rem;
  width: 100%;
  max-width: 1280px;
}
.product__section h2 {
  text-transform: none;
  letter-spacing: 0.0722222222em;
  text-align: center;
  color: #780000;
  font-weight: normal;
}
.product__title {
  margin-bottom: 0;
}
.product__title-variant {
  padding-top: 0.4444444444rem;
  font-size: 1.1111111111rem;
}
.product__title-variant span {
  font-style: italic;
}
.product__title + .product__title-variant {
  padding-top: 0;
}
.product__price {
  margin: 0.6666666667rem 0;
}
.product__price-fig {
  font-size: 1.1111111111rem;
}
.product__swatches {
  display: grid;
  gap: 0.4444444444rem;
  grid-template-columns: repeat(5, minmax(2.2222222222rem, 1fr));
  padding-bottom: 5px;
}
@media (min-width: 768px) {
  .product__swatches {
    gap: 0.8888888889rem;
    grid-template-columns: repeat(4, minmax(2.2222222222rem, 1fr));
  }
}
@media (min-width: 768px) {
  .product__swatches {
    gap: 0.8888888889rem;
    grid-template-columns: repeat(4, minmax(2.2222222222rem, 1fr));
  }
}
@media (min-width: 1000px) {
  .product__swatches {
    grid-template-columns: repeat(5, minmax(2.2222222222rem, 1fr));
  }
}
@media (min-width: 1150px) {
  .product__swatches {
    gap: 1.3333333333rem;
  }
}
.gallery-thumbnails .product__swatches-item {
  padding: 10px;
}
.product__swatches-item--selected img, .product__swatches-item.is-selected img {
  outline-offset: 3px;
  outline: 1px solid #780000;
}
.product__swatches-item img {
  display: block;
  width: 100%;
}
.product__additional {
  display: grid;
  grid-template-columns: 1fr;
}
.product__tech-details {
  text-align: left;
}
.product__tech-details h4 {
  color: #3c3c3c;
  text-transform: none;
}
.product__tech-details th {
  min-width: 180px;
  padding-right: 50px;
}
.product__tech-details div.product__tech-table tr *:first-child {
  min-width: 180px;
  padding-right: 50px;
}
.product__fabric_care_img {
  width: 100%;
  max-height: 1.1111111111rem;
}
.product__options {
  display: grid;
  grid-template-columns: 1fr;
  padding: 1.3333333333rem 0;
}
.product__options-title {
  text-transform: none;
  color: #3c3c3c;
  font-weight: normal;
  margin-bottom: 0.4444444444rem;
  margin-top: 0.4444444444rem;
}
.product__selection {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: flext-start;
  margin-bottom: 0.4444444444rem;
}
.product__selection-info {
  margin-top: -3px;
}
.product__selection-type {
  width: 100%;
}
.product__meterage-price {
  display: flex;
  align-items: center;
}
.product__form {
  container-type: inline-size;
  background-color: #f5fafb;
  padding: 1.3333333333rem;
}
.product__form-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-bottom: 0.8888888889rem;
}
.product__form .form__select {
  max-width: 7.7777777778rem;
}
.product__form-qty {
  width: 60px;
  border: none;
  text-align: center;
  height: 100%;
  margin: 0 10px;
  padding: 10px 0;
}
.product__form-control {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.2222222222rem 0.5555555556rem;
  background-color: #ffffff;
  color: #780000;
  height: 100%;
  touch-action: manipulation;
}
.product__form-control svg {
  pointer-events: none;
}
.product__form-control-wrap {
  display: flex;
  align-items: center;
  margin-left: auto;
}
.product-links {
  display: flex;
  align-items: flex-end;
}
.product-links__list {
  width: 100%;
  display: flex;
  gap: 0.4444444444rem;
  flex-direction: column;
}
.product-links__item {
  display: flex;
  align-items: center;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  color: #780000;
  font-weight: normal;
}
.product-links__item-icon {
  display: inline-flex;
  margin-right: 0.4444444444rem;
}

.f-button:hover svg {
  color: #780000;
}

#goesWithProduct .f-button {
  top: calc(var(--img-height) / 2) !important;
}

.carousel {
  margin: 1.3333333333rem 2.6666666667rem;
  --per-page: 1;
  --f-carousel-gap: 24px;
  --f-carousel-slide-width: calc(
      (100% - ((var(--per-page) - 1) * var(--f-carousel-gap)))
      / var(--per-page)
  );
  /*ARROWS*/
  --f-arrow-pos: -50px;
}
.carousel .f-button {
  top: calc(var(--img-height) / 2) !important;
  cursor: pointer;
}
.carousel .f-button:hover {
  color: #780000;
}
@media (min-width: 768px) {
  .carousel {
    --per-page: 2;
  }
}
@media (min-width: 1000px) {
  .carousel {
    --per-page: 3;
  }
}
@media (min-width: 1380px) {
  .carousel {
    --per-page: var(--max-per-page, 4);
    margin-left: 0;
    margin-right: 0;
  }
}
.l-section__inner--no-pad .carousel {
  margin-left: 2.6666666667rem !important;
  margin-right: 2.6666666667rem !important;
}
.carousel__cta {
  margin-top: 0;
  margin-bottom: 0;
}

.carousel-columns {
  margin: 1.3333333333rem 1.3333333333rem 0 1.3333333333rem;
  --per-page: 1;
  --f-carousel-gap: 24px;
  --f-carousel-slide-width: calc(
      (100% - ((var(--per-page) - 1) * var(--f-carousel-gap)))
      / var(--per-page)
  );
  /*ARROWS*/
  --f-arrow-pos: -50px;
}
@media (min-width: 1000px) {
  .carousel-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.3333333333rem;
  }
  .carousel-columns .f-carousel__slide {
    grid-area: auto;
  }
}
.l-section__inner--no-pad .carousel-columns {
  margin-left: 2.6666666667rem !important;
  margin-right: 2.6666666667rem !important;
  --f-arrow-pos: -50px !important;
}

/*product carousel*/
#productCarousel.f-carousel {
  --per-page: 5;
  --f-carousel-gap: 10px;
  --f-carousel-slide-width: calc(
      (100% - ((var(--per-page) - 1) * var(--f-carousel-gap)))
      / var(--per-page)
  );
  /*ARROWS*/
  --f-arrow-pos: -50px;
}
@media (min-width: 1000px) {
  #productCarousel.f-carousel {
    --f-carousel-gap: 10px;
  }
}

.gallery-slide a {
  cursor: url("../img/icons/magnifying-glass-solid-full.svg") 8 8, zoom-in;
}

.product-carousel__wrap {
  padding: 1.3333333333rem 2.6666666667rem;
}
.product-carousel .is-prev {
  justify-content: flex-start;
}
.product-carousel .is-next {
  justify-content: flex-end;
}

.gallery-thumbnails {
  display: none;
}
@media (min-width: 1000px) {
  .gallery-thumbnails {
    display: block;
  }
}
.gallery-thumbnails .f-button:hover svg {
  color: #780000;
}

.gallery__main {
  --f-carousel-dots-height: 45px;
}
.gallery__main .f-button {
  background: rgba(0, 0, 0, 0.2);
}
.gallery__main .f-button svg {
  color: white;
}
.gallery__main .f-button:hover {
  background: rgba(0, 0, 0, 0.6);
}
.gallery__main .f-button:hover svg {
  color: #780000;
}
.gallery__main .f-carousel__dots {
  padding: 0.4444444444rem 0 1.3333333333rem 0;
}

.fancybox__backdrop {
  --fancybox-backdrop-bg: #edf7f9 !important;
  --f-drag-opacity: .9;
}

#goesWithProduct.f-carousel {
  margin: 0 1.3333333333rem;
  --per-page: 1;
  --f-carousel-gap: 30px;
  --f-carousel-slide-width: calc(
      (100% - ((var(--per-page) - 1) * var(--f-carousel-gap)))
      / var(--per-page)
  );
  /*ARROWS*/
  --f-arrow-pos: -50px;
}
@media (min-width: 400px) {
  #goesWithProduct.f-carousel {
    --per-page: 2;
  }
}
@media (min-width: 768px) {
  #goesWithProduct.f-carousel {
    --per-page: 3;
  }
}
@media (min-width: 1380px) {
  #goesWithProduct.f-carousel {
    --per-page: 4;
    margin: 0;
    --f-arrow-pos: -50px;
  }
}

.gallery-slide img {
  width: 100%;
  display: block;
}

.blog-card {
  color: #3c3c3c;
  background-color: #f5fafb;
}
.blog-card img {
  width: 100%;
}
.blog-card__details {
  padding: 1.3333333333rem 0.8888888889rem;
}
.blog-card__meta {
  display: flex;
  font-size: 0.8888888889rem;
}
.blog-card__meta-item {
  border-right: 1px solid #780000;
  padding: 0 0.8888888889rem;
}
.blog-card__meta-item:first-child {
  padding-left: 0;
}
.blog-card__meta-item:last-child {
  border-right: none;
}
.blog-card__desc {
  margin-bottom: 1.3333333333rem;
}
.blog-card__title {
  text-transform: uppercase;
}

.article .content-block {
  max-width: 720px;
  margin: 0 auto;
}

.events__wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #f5fafb;
  padding: 0 1.3333333333rem;
  max-width: 55.5555555556rem;
  margin: 0 auto;
}
.events__item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.3333333333rem;
  border-bottom: 1px solid #ffffff;
  width: 100%;
  max-width: 800px;
  font-size: 1.1111111111rem;
  padding: 2.6666666667rem 0.8888888889rem;
}
@media (min-width: 768px) {
  .events__item {
    grid-template-columns: 1fr 6.9444444444rem;
  }
}
.events__item p, .events__item h2 {
  margin: 0;
}
.events__item-date {
  text-transform: uppercase;
  letter-spacing: 0.3em;
  font-size: 1.1111111111rem;
}
.events__item-title {
  font-size: 1.3333333333rem;
  color: #780000;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
.events__item-time {
  font-size: 1.1111111111rem;
}
.events__item-content {
  font-size: 1.1111111111rem;
}
.events__item:last-child {
  border-bottom: none;
}
.events__item-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.events__item .btn {
  width: 100%;
  text-align: center;
  align-self: auto;
}
@media (min-width: 768px) {
  .events__item .btn {
    width: auto;
  }
}

/*=====
WIDGET SAMPLE FORM
======*/
.samples-form {
  background-color: #f5fafb;
  padding: 1.3333333333rem 1.3333333333rem;
  container-type: inline-size;
  position: relative;
}
@media (min-width: 1000px) {
  .samples-form {
    max-width: 31.1111111111rem;
  }
}
.samples-form__row {
  display: flex;
  flex-direction: column;
}
.samples-form__row .product__selection {
  margin-bottom: 0;
}
.samples-form__row .form__label {
  width: 100%;
}
.samples-form__row .form__select-input {
  background: #ffffff;
}
@container (min-width: 600px) {
  .samples-form__row {
    flex-direction: row;
  }
  .samples-form .form__label {
    width: 35%;
  }
}

.widget--3-blocks {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-areas: "content img1 img2";
  gap: 1.3333333333rem;
  row-gap: 0;
}
.widget--3-blocks video, .widget--3-blocks img {
  display: block;
  width: 100%;
  max-width: 100%;
}
.widget--3-blocks .widget__col {
  padding: 1.3333333333rem;
}
.widget--3-blocks .widget__col--content {
  grid-area: content;
  background-color: #f5fafb;
}
.widget--3-blocks .widget__col--img {
  padding: 0;
}
.widget--3-blocks .widget__col--img:nth-of-type(2) {
  grid-area: img1;
}
.widget--3-blocks .widget__col--img:nth-of-type(3) {
  grid-area: img2;
}
@media (max-width: 1000px) {
  .widget--3-blocks {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "img1 img2" "content content";
  }
}
@media (min-width: 1000px) {
  .widget--content-middle {
    grid-template-areas: "img1 content img2";
  }
}

.overlay__wrap {
  margin: auto;
  max-width: 32.2222222222rem;
  width: 100%;
  padding: 1.3333333333rem;
}
.overlay__wrap--narrow {
  max-width: 27.7777777778rem;
}
@media (min-width: 768px) {
  .overlay__wrap {
    padding: 2.6666666667rem 3.5555555556rem;
  }
}

.tooltip {
  position: absolute;
  top: 0;
  right: 0;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
}
.tooltip__trigger {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.tooltip.is-open .tooltip__panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.tooltip__panel {
  position: absolute;
  bottom: calc(100% + 18px); /* Above the trigger */
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  position: absolute;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  z-index: 20;
  color: #3c3c3c;
  padding: 1.3333333333rem;
  width: max-content;
  max-width: 400px;
  min-width: 400px;
  min-height: 100px;
  --a: 90deg; /* angle */
  --h: 1em; /* height */
  --p: 50%; /* triangle position (0%:left 100%:right) */
  --b: 1px; /* border width */
  padding: 1.3333333333rem;
  clip-path: polygon(0 100%, 0 0, 100% 0, 100% 100%, min(100%, var(--p) + var(--h) * tan(var(--a) / 2)) 100%, var(--p) calc(100% + var(--h)), max(0%, var(--p) - var(--h) * tan(var(--a) / 2)) 100%);
  border-image: fill 0//var(--h) 0 conic-gradient(#780000 0 0); /* the border color */
}
.tooltip__panel:before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: var(--b) 0;
  clip-path: polygon(0 100%, 0 0, 100% 0, 100% 100%, min(100% - var(--b), var(--p) + var(--h) * tan(var(--a) / 2) - var(--b) * tan(45deg - var(--a) / 4)) 100%, var(--p) calc(100% + var(--h) + var(--b) * (1 - 1 / sin(var(--a) / 2))), max(var(--b), var(--p) - var(--h) * tan(var(--a) / 2) + var(--b) * tan(45deg - var(--a) / 4)) 100%);
  border-image: fill 0/0 var(--b)/var(--h) 0 conic-gradient(#ffffff 0 0); /* the background color */
}
.tooltip__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 18px;
  height: 18px;
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
}
.tooltip__close::before, .tooltip__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 18px;
  height: 1px;
  background: #222;
}
.tooltip__close::before {
  transform: rotate(45deg);
}
.tooltip__close::after {
  transform: rotate(-45deg);
}
.tooltip__title {
  display: block;
}
.tooltip__content {
  display: block;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.08em;
}
.tooltip .a-icon__svg {
  width: 20px;
  height: 20px;
}
.tooltip__wrap {
  position: relative;
  padding-right: 22px;
}

.calculator__units {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
.calculator input {
  text-align: left;
}

.panels--required {
  color: #780000;
}

.panel-shape__wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 200px;
}
.panel-shape__item {
  background-color: white;
  border: 1px solid #3c3c3c;
  height: 150px;
  width: 150px;
}
.panel-shape__item-width {
  display: flex;
  align-items: center;
  justify-content: center;
}
.panel-shape__item-height {
  display: flex;
  align-items: center;
  justify-content: center;
}
.panel-shape__item-unit {
  padding: 0.4444444444rem;
}

.accordion {
  margin: 0;
  border-bottom: 2px solid #edf7f9;
}
.accordion__heading {
  margin: 0;
  color: #780000;
  border-top: 2px solid #edf7f9;
  letter-spacing: 0.0722222222em;
}
.accordion__heading button {
  color: inherit;
  font-size: inherit;
}
.accordion > li, .accordion > .accordion__item {
  margin: 0;
  list-style: none;
  padding-left: 0;
}
.accordion dd {
  padding: 0;
}
.accordion__trigger {
  background: none;
  display: grid;
  grid-template-columns: 1fr 30px;
  color: hsl(0, 0%, 13%);
  padding-left: 0.8888888889rem;
  font-weight: bold;
  margin: 0;
  padding: 1.3333333333rem 1.3333333333rem 1.3333333333rem 1.3333333333rem;
  position: relative;
  text-align: left;
  width: 100%;
  outline: none;
  border: 0;
  text-transform: none;
  letter-spacing: 0.0722222222em;
}
.accordion__trigger-icon {
  display: flex;
}
.accordion__trigger-icon svg {
  transition: transform 0.2s ease-in-out;
}
.accordion__trigger[aria-expanded=true] {
  background-color: #780000;
  color: #ffffff;
}
.accordion__trigger[aria-expanded=true] .accordion__trigger-icon svg {
  transform: rotate(90deg);
}
.accordion__trigger:focus {
  outline: 4px solid transparent;
}
.accordion__content {
  transition: all 0.5s cubic-bezier(0.41, 0.97, 0.36, 0.78);
  overflow: hidden;
}
.accordion__content-inner {
  padding: 1.3333333333rem;
}
.accordion__content-inner > :last-child {
  margin-bottom: 0;
}
.accordion--expanded {
  background-color: #f5fafb;
}
.accordion--alt .accordion__trigger {
  border: none;
}
.accordion--alt .accordion__content-inner {
  padding-left: 0;
  padding-right: 0;
  margin: 0 1.3333333333rem;
}

.property .accordion__content-inner {
  border-top: 0;
}
.property .accordion__content-inner {
  padding-top: 5px;
}

.glossary {
  border-top: 2px solid #f5fafb;
}
.glossary__item {
  padding: 2.6666666667rem 0;
  border-bottom: 2px solid #f5fafb;
}
.glossary__term {
  color: #3c3c3c;
  text-transform: uppercase;
  margin-top: 0;
}
.glossary__definition p:last-child {
  margin-bottom: 0;
}

.cart {
  container-type: inline-size;
  container-name: cart;
}
.cart__items {
  --cart-columns: 65px 1fr 1fr;
  --cart-areas:
      "image details details"
      "image qty price";
  --cart-columns-gap: 1.3333333333rem;
  --cart-row-gap: 0;
  --cart-item-padding: 0.8888888889rem;
}
@container cart (min-width: 600px) {
  .cart__items {
    --cart-columns: 100px minmax(200px, 1fr) 1fr minmax(60px, max-content) 1fr;
    --cart-areas:
        "image details price qty subtotal";
  }
}
@container cart (min-width: 1000px) {
  .cart__items {
    --cart-columns: 100px 1fr 150px 150px 150px 150px;
    --cart-areas:
     "image details price qty type subtotal";
  }
}
.cart__head, .cart__item {
  display: grid;
  grid-template-columns: var(--cart-columns);
  grid-template-areas: var(--cart-areas);
  column-gap: var(--cart-columns-gap);
  row-gap: var(--cart-row-gap);
}
.cart__head {
  display: none;
}
@container cart (min-width: 600px) {
  .cart__head {
    display: grid;
  }
}
.cart__head-item {
  padding: 0.4444444444rem 0;
}
.cart__head-item:last-child {
  text-align: right;
}
.cart__head-product {
  grid-area: image;
}
.cart__head-details {
  grid-area: details;
}
.cart__head-price {
  grid-area: price;
}
.cart__head-quantity {
  grid-area: qty;
}
.cart__head-type {
  grid-area: type;
}
.cart__head-subtotal {
  grid-area: subtotal;
}
.cart__head-type {
  display: none;
}
@container cart (min-width: 600px) {
  .cart__head-type {
    display: flex;
  }
}
.cart__item {
  align-items: center;
  position: relative;
  border-top: 2px solid #f5fafb;
  padding-top: var(--cart-item-padding);
  margin-bottom: var(--cart-item-padding);
}
.cart__item:last-child {
  padding-bottom: var(--cart-item-padding);
  border-bottom: 2px solid #f5fafb;
}
.cart__item p {
  margin: 0;
}
.cart__item-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.cart__item-col:last-child {
  text-align: right;
}
@container cart (min-width: 600px) {
  .cart__item-col:not(.cart__item-details):not(.cart__item-image) {
    justify-content: flex-end;
    padding-bottom: var(--cart-item-padding);
  }
}
.cart__item-image {
  grid-area: image;
}
.cart__item-details {
  grid-area: details;
}
.cart__item-price {
  grid-area: price;
  text-align: right;
}
@container cart (min-width: 600px) {
  .cart__item-price {
    text-align: left;
  }
}
.cart__item-quantity {
  grid-area: qty;
}
.cart__item-type {
  grid-area: type;
}
.cart__item-subtotal {
  grid-area: subtotal;
}
.cart__item-title {
  margin: 0;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
.cart__item-title a {
  color: #3c3c3c;
}
.cart__item-title a:hover {
  color: #780000;
}
.cart__item-meta-code {
  display: none;
}
@container cart (min-width: 600px) {
  .cart__item-meta-code {
    display: block;
  }
}
.cart__item-type, .cart__item-subtotal {
  display: none;
}
@container cart (min-width: 600px) {
  .cart__item-subtotal {
    display: flex;
  }
}
@container cart (min-width: 1000px) {
  .cart__item-type {
    display: flex;
  }
}
.cart__item-remove {
  position: absolute;
  top: var(--cart-item-padding);
  right: 0;
  font-size: 1.5rem;
  cursor: pointer;
  padding: 0;
  color: #780000;
}
.cart__item-product {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 12px;
  align-items: center;
}
.cart__footer {
  display: flex;
  justify-content: flex-end;
}
.cart__footer button {
  color: #780000;
}

.cart--aside .cart__title {
  color: #3c3c3c;
  margin-top: 0;
}

.cart-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-bottom: 1.3333333333rem;
}
.cart-nav__inner {
  width: 100%;
  max-width: 1280px;
}
.cart-nav__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin: 0;
}
.cart-nav__item {
  position: relative;
  text-align: center;
  background-color: #f5fafb;
  line-height: 1;
  padding: 1.3333333333rem;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  clip-path: polygon(0% 0%, calc(100% - 20px) 0%, 100% 50%, calc(100% - 20px) 100%, 0% 100%, 20px 50%);
}
.cart-nav__item:last-child::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  width: 24px;
  background-color: #f5fafb;
  clip-path: polygon(0% 0%, calc(100% - 20px) 0%, 100% 50%, calc(100% - 20px) 100%, 0% 100%, 20px 50%);
  z-index: -1;
}
.cart-nav__item--active + .cart-nav__item:last-child::before {
  content: none;
}
.cart-nav__item:first-child {
  clip-path: polygon(0% 0%, calc(100% - 20px) 0%, 100% 50%, calc(100% - 20px) 100%, 0% 100%);
}
.cart-nav__item:last-child {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 20px 50%);
}
.cart-nav__item:not(:first-child) {
  margin-left: -20px;
}
.cart-nav__item a {
  color: #3c3c3c;
}
.cart-nav__item--active {
  background-color: #780000;
  color: #ffffff;
  z-index: 2;
}
.cart-nav__item--active a {
  color: #ffffff;
}

.cart-old__head {
  display: none;
}
@media (min-width: 768px) {
  .cart-old__head {
    display: grid;
  }
}
.cart-old__head div:first-child {
  text-align: left;
}
.cart-old__items {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 1rem;
  table-layout: auto;
}
.cart-old__item td {
  padding: 1.3333333333rem;
  vertical-align: middle;
  background-color: #f5fafb;
}
.cart-old__item-cat {
  display: block;
  font-size: 0.7777777778rem;
}
.cart-old__item .cart__item-title {
  text-transform: none !important;
  margin: 0 0 0.4444444444rem 0;
}
.cart-old__item p {
  margin: 0;
}
.cart-old__item-image {
  width: 7rem;
}
.cart-old__item-image img {
  max-width: 100px;
  min-width: 100px;
}
.cart-old__item-details {
  width: 100%;
}
.cart-old__item-price, .cart-old__item-subtotal {
  white-space: nowrap;
}
.cart-old__item-quantity {
  white-space: nowrap;
  text-align: center;
}
.cart-old__item-quantity-wrap {
  display: flex;
}

.cart__summary {
  max-width: 19.4444444444rem;
  margin-left: auto;
  width: 100%;
}
.cart__summary-wrap {
  display: grid;
  gap: 1.3333333333rem;
  grid-template-columns: 1fr 1fr;
  margin-top: 2.6666666667rem;
}
.cart__summary-table {
  width: 100%;
}
.cart__summary-table .value {
  text-align: right;
}
.cart__summary-table th {
  text-align: left;
  font-weight: 800;
}
.cart__summary-btns {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.cart__summary-total-text {
  padding-top: 0.8888888889rem;
  font-size: 1.1111111111rem;
  color: #780000;
  text-transform: uppercase;
}
.cart__summary-total-text td {
  padding-top: 0.8888888889rem;
}

/*=====cart drawer=====*/
body.cart-drawer-open {
  overflow: hidden;
}

.cart-drawer {
  position: fixed;
  inset: 0;
  z-index: 900;
  pointer-events: none;
}
.cart-drawer__header {
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
.cart-drawer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.cart-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  width: min(420px, 90vw);
  height: 100%;
  background: #fff;
  transform: translateX(100%);
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.12);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
}
.cart-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.3333333333rem;
  border-bottom: 1px solid #f5fafb;
}
.cart-drawer__close {
  border: 0;
  background: none;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  color: #780000;
}
.cart-drawer__body {
  flex: 1;
  overflow-y: auto;
  padding: 1.3333333333rem;
}
.cart-drawer__items {
  list-style: none;
  margin: 0;
  padding: 0;
}
.cart-drawer__footer {
  border-top: 1px solid #f5fafb;
  padding: 1.3333333333rem;
}
.cart-drawer__summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.cart-drawer.is-open {
  pointer-events: auto;
}
.cart-drawer.is-open .cart-drawer__overlay {
  opacity: 1;
}
.cart-drawer.is-open .cart-drawer__panel {
  transform: translateX(0);
}

.cart-aside {
  background-color: #f5fafb;
  padding: 1.3333333333rem;
}
.cart-aside__items {
  border-bottom: 1px solid #ffffff;
  padding-bottom: 0.8888888889rem;
  margin: 0 0 0.8888888889rem 0;
}
.cart-aside__item {
  padding: 0.4444444444rem 0;
  margin: 0;
  list-style: none;
}
.cart-aside__item p {
  margin: 0;
}
.cart-aside__item-title {
  font-size: 1rem;
  text-transform: none !important;
  letter-spacing: 0.0722222222em;
  margin: 0;
  color: #780000;
}
.cart-aside__item-top {
  display: flex;
  justify-content: space-between;
  gap: 0.6666666667rem;
}
.cart-aside__item-price {
  font-weight: 600;
}

.cart__edit-cart {
  display: block;
  text-align: right;
}

/*==========
CART SUMMERY
==========*/
.summary-address__icon {
  position: absolute;
  top: 0.8888888889rem;
  right: 0.8888888889rem;
}
.summary-address__type {
  letter-spacing: 0.0722222222em;
  text-transform: none;
  margin-top: 0;
}
.summary-address__wrap {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.3333333333rem;
}
.summary-address__content {
  position: relative;
  padding: 0.8888888889rem;
  background-color: #f5fafb;
}

/*=====cart drawer=====*/
body.cart-drawer-open {
  overflow: hidden;
}

.cart-drawer {
  position: fixed;
  inset: 0;
  z-index: 900;
  pointer-events: none;
}
.cart-drawer__header {
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
.cart-drawer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.cart-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  width: min(420px, 90vw);
  height: 100%;
  background: #fff;
  transform: translateX(100%);
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.12);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
}
.cart-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.3333333333rem;
  border-bottom: 1px solid #f5fafb;
}
.cart-drawer__close {
  border: 0;
  background: none;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  color: #780000;
}
.cart-drawer__body {
  flex: 1;
  overflow-y: auto;
  padding: 1.3333333333rem;
}
.cart-drawer__items {
  list-style: none;
  margin: 0;
  padding: 0;
}
.cart-drawer__footer {
  border-top: 1px solid #f5fafb;
  padding: 1.3333333333rem;
}
.cart-drawer--empty .cart-drawer__footer {
  display: none;
}
.cart-drawer__summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.cart-drawer.is-open {
  pointer-events: auto;
}
.cart-drawer.is-open .cart-drawer__overlay {
  opacity: 1;
}
.cart-drawer.is-open .cart-drawer__panel {
  transform: translateX(0);
}

.cart-aside {
  background-color: #f5fafb;
  padding: 1.3333333333rem;
}
.cart-aside__items {
  border-bottom: 1px solid #ffffff;
  padding-bottom: 0.8888888889rem;
  margin: 0 0 0.8888888889rem 0;
}
.cart-aside__item {
  padding: 0.4444444444rem 0;
  margin: 0;
  list-style: none;
}
.cart-aside__item p {
  margin: 0;
}
.cart-aside__item-title {
  font-size: 1rem;
  text-transform: none !important;
  letter-spacing: 0.0722222222em;
  margin: 0;
  color: #780000;
}
.cart-aside__item-top {
  display: flex;
  justify-content: space-between;
  gap: 0.6666666667rem;
}
.cart-aside__item-price {
  font-weight: 600;
}

.cart__edit-cart {
  display: block;
  text-align: right;
}

.account-addresses__wrap {
  display: flex;
  flex-direction: column;
  gap: 1.3333333333rem;
}
.account-addresses__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.3333333333rem;
}
.account-addresses__fields {
  margin-bottom: 1.3333333333rem;
}
/**
 * Use this file to add in temporary styles.  For example overriding legacy styles.
 * These styles will be added with the intention to remove them  once time to refactor
 *
 */
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9faW5kZXguc2NzcyIsImJhc2UvX2ZvbnRzLnNjc3MiLCJiYXNlL19nZW5lcmFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzIiwiYmFzZS9fcmVzZXQuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImJhc2UvX3V0aWxpdGllcy5zY3NzIiwibGF5b3V0L19ncmlkLnNjc3MiLCJsYXlvdXQvX3NlY3Rpb25zLnNjc3MiLCJsYXlvdXQvX2NvbnRlbnQuc2NzcyIsInBhZ2VzL19ob21lLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzLzAxLUZvdW5kYXRpb25zL0ljb25zL2ljb25zLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzLzAyLWxvZ28vX2xvZ28uc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvMDQtaGVhZGVyL19oZWFkZXIuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvMDQtaGVhZGVyL19oZWFkZXItb3ZlcmxheS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9jb29raWVzL19jb29raWViYW5uZXIuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvMDUtbmF2aWdhdGlvbi9faGFtYnVyZ2VyLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzLzA1LW5hdmlnYXRpb24vX25hdmlnYXRpb24uc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvMDUtbmF2aWdhdGlvbi9fbmF2aWdhdGlvbi1zaWRlLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzLzA1LW5hdmlnYXRpb24vX25hdmlnYXRpb24tbWVnYW1lbnUuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvMDUtbmF2aWdhdGlvbi9fbmF2aWdhdGlvbi1zdWIuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvYnJlYWRjcnVtYnMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzLzA2LWZvb3Rlci9fZm9vdGVyLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL3F1b3Rlcy9fcXVvdGUuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvMDctaGVyby9oZXJvLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzLzA4LUZvcm1zL2Zvcm0uc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvMDgtRm9ybXMvZm9ybXMtaHVic3BvdC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL1Byb2ZpbGUvX3Byb2ZpbGUuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvMDktYnV0dG9ucy9idXR0b24uc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvMTAtU2VhcmNoL3NlYXJjaC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9maWx0ZXJzL2ZpbHRlcnMuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvMTEtQ2FyZHMvY2FyZC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9WaWRlby9fdmlkZW8uc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvQ2hlY2tvdXQvX2NoZWNrb3V0LnNjc3MiLCIuLi8uLi9jb21wb25lbnRzLzExLUNhcmRzL1Byb2R1Y3RzL19wcm9kdWN0LWNhcmQuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvbmV3c2xldHRlci9fbmV3c2xldHRlci5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy90aWxlcy9fdGlsZXMuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvUHJvZHVjdHMvX3Byb2R1Y3Quc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvY2Fyb3VzZWwvX2Nhcm91c2VsLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL2dhbGxlcnkvX2dhbGxlcnkuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvQmxvZy9fYmxvZy5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9ldmVudHMvZXZlbnRzLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL3dpZGdldHMvX3dpZGdldHMuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvb3ZlcmxheS9vdmVybGF5LnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL3Rvb2x0aXBzL190b29sdGlwcy5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9DYWxjdWxhdG9yL19jYWxjdWxhdG9yLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL2FjY29yZGlvbi9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL2dsb3NzYXJ5L19nbG9zc2FyeS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9jYXJ0L2NhcnQuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvY2FydC9jYXJ0LWRyYXdlci5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9jYXJ0L2NhcnQtYXNpZGUuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvYWNjb3VudC9fYWNjb3VudC5zY3NzIiwiX3NoYW1lLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQVNBO0FBQUE7QUFBQTtBQXVLRTtBQUFBO0FBQUE7QUF5Q0Y7QUFBQTtBQUFBO0FBa0JBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQXFCQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUE2QkE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0FBR0E7RUFDRTtFQUdBOztBQTdORTtFQXlOSjtJQU9JO0lBR0M7OztBQW5PRDtFQXlOSjtJQWNJOzs7O0FDeldKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7QUNMSjtBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQU1GO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFPRjtBQUVBO0FBQ0Y7RUFDRTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtJQUNFO0lBQ0E7OztBQzNDSjtBQUVBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0VBR0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQSxRQUNRO0VBQ047OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQSxTQUNTO0VBQ1A7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFB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R047RUFDRTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7O0FBdEROO0VBQ0U7O0FBQ0E7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7OztBQUdOO0VBQ0U7O0FBQ0E7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7OztBQUdOO0VBQ0U7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQXRETjtFQUNFOztBQUNBO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOzs7QUFHTjtFQUNFOztBQUNBO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOzs7QUFHTjtFQUNFOztBQUNBO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOzs7QUF0RE47RUFDRTs7QUFDQTtFQUNJOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTs7O0FBR047RUFDRTs7QUFDQTtFQUNJOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTs7O0FBR047RUFDRTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7O0FBdEROO0VBQ0U7O0FBQ0E7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7OztBQUdOO0VBQ0U7O0FBQ0E7RUFDSTs7QUFFSjtFQUNJ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O0VrRGhQUjs7QUFRSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBLFNsRDJOUTs7QWtEeE5aO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQSxTbERnTlE7O0FrRDlNUjtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUtKO0VBQ0k7O0FBRUE7RUFDQTs7QUFHQTtFQUNBOzs7QUMvRlI7RUFDSTtFQUNBLFNuRHNSWTs7QW1EclJaO0VBQ0k7RUFDQSxnQm5Ea1JRO0VtRGpSUjs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBLGdCbkR1UEY7RW1EdFBFO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0EsS25ENlBJOztBbUQzUFI7RUFDSTs7O0FBSVo7RUFDQztFQUNBOzs7QUM5Qkc7RUFDSTtFQUNBO0VBQ0EsS3BEc1JROztBb0RuUlo7RUFDSTtFQUNBO0VBQ0EsS3BEZ1JROztBb0Q3UVo7RUFDSSxlcER1UVE7O0FxRHpSaEI7QUFBQTtBQUFBO0FBQUE7QUFBQSIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlICdzYXNzOm1hdGgnO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5cbi8vQGZvcndhcmQgXCJtYXBweS1icFwiIGFzIG1icC0qO1xuXG4vLyAkYmFzZS1zaXplOiAyMnB4O1xuJGJhc2Utc2l6ZTogMThweDtcbi8qID09PT09PT09PT09PT09PT0gXG5NSVhJTlMgJiBGVU5DVElPTlMgXG49PT09PT09PT09PSAqL1xuQG1peGluIGJ0bi1zaW1wbGUtc3R5bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDpub25lO1xuICAgIGJvcmRlci1yaWdodDpub25lO1xuICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICBwYWRkaW5nOiByZW0yKDEwcHgpIHJlbTIoNHB4KSByZW0yKDEwcHgpIHJlbTIoMTBweCk7IC8vQWxsb3cgZm9yIGxldHRlciBzcGFjaW5nIHRvIHJpZ2h0IG9mIGZpbmFsIGNoYXJhY3RlclxuICAgICY6aG92ZXIsIGEuY2FyZDpob3ZlciAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgJjo6YWZ0ZXIsICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjo6YWZ0ZXIsICY6OmJlZm9yZXtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBzZXRjb2xvcigyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG59XG5cblxuQG1peGluIGJ0bi1vdXRsaW5lLXN0eWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC01cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoMik7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiAtNXB4O1xuICAgIH1cbn1cblxuXG4vLyBPdXIgZnVuY3Rpb24gZm9yIHNob3J0ZXIgdXNhZ2Ugb2YgbWFwLmdldCgpO1xuQGZ1bmN0aW9uIHNldGNvbG9yKCRpbmRleCwgJHNoYWRlOiAxMDAlKSB7XG4gICAgJHNoYWRlOiAoMTAwIC0gc3RyaXAtdW5pdCgkc2hhZGUpKSArIDAlO1xuICAgICAvL21hcC5nZXQobWFwLmdldCgkbWFpbmNvbG9ycywgJHNjaGVtZSksIGJhc2UpO1xuICAgIEBpZiAkc2hhZGUgPT0gMTAwJSB7XG4gICAgICBAcmV0dXJuIG1hcC5nZXQobWFwLmdldCgkc3dhdGNoZXMsICRpbmRleCksIGhleCk7XG4gICAgfVxuICAgIEByZXR1cm4gY29sb3Iuc2NhbGUoIG1hcC5nZXQobWFwLmdldCgkc3dhdGNoZXMsICRpbmRleCksIGhleCksICRsaWdodG5lc3M6ICRzaGFkZSApO1xuICB9XG4gIFxuICBcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcbiAgQGlmIG1ldGEudHlwZS1vZigkbnVtYmVyKSA9PSAnbnVtYmVyJyBhbmQgbm90IG1hdGguaXMtdW5pdGxlc3MoJG51bWJlcikge1xuICAgIEByZXR1cm4gbWF0aC5kaXYoJG51bWJlciwgMSk7IC8vIFNpbXBsaWZpZWQgZGl2aXNpb25cbiAgfVxuICBAcmV0dXJuICRudW1iZXI7IC8vIFJldHVybiBhcy1pcyBpZiBubyB1bml0XG59XG4gIFxuICAvL0NvbnZlcnQgdmFsdWUgdG8gZW0uXG4gIEBmdW5jdGlvbiBlbSgkc2l6ZSwgJGJhc2UtZm9udC1zaXplOiAkYmFzZS1zaXplKSB7XG4gICAgQHJldHVybiBtYXRoLmRpdiggc3RyaXAtdW5pdCgkc2l6ZSksIHN0cmlwLXVuaXQoJGJhc2UtZm9udC1zaXplKSApICogMWVtO1xuICB9XG4gIFxuICAvLy8gQ29udmVydCB2YWx1ZSB0byByZW0uXG4gIEBmdW5jdGlvbiByZW0yKCRzaXplLCAkYmFzZS1mb250LXNpemU6ICRiYXNlLXNpemUpIHtcbiAgICBAcmV0dXJuIG1hdGguZGl2KCBzdHJpcC11bml0KCRzaXplKSwgc3RyaXAtdW5pdCgkYmFzZS1mb250LXNpemUpICkgKiAxcmVtO1xuICBcbiAgfVxuICBcbiAgLy9HZW5lcmljIGNvbnRhaW5lciBpbm5lciBzdHlsZXNcbiAgQG1peGluIGNvbnRhaW5lci1pbm5lci1zdHlsZXMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6ICRtYXg7XG4gIH1cbiAgXG4gIFxuICAvLyBTaW1wbGUgYm9yZGVyIG1peGluXG4gIEBtaXhpbiBib3JkZXItZGVmYXVsdCgkc2l6ZTogJGJvcmRlci1zaXplLCAkY29sb3I6JGJvcmRlci1jb2xvcikge1xuICAgIGJvcmRlcjogJHNpemUgc29saWQgJGNvbG9yO1xuICB9XG5cbi8vIG1peGluIGdvdCBhcHBseSBjYXBzIGFuZCBsZXR0ZXIgc3BhY2luZyBmb3IgZm9ydW0gZm9udFxuQG1peGluIHVwcGVyY2FzZS1zcGFjZWQoJHNwYWNpbmc6ICRscy1oZWFkaW5ncykge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogJHNwYWNpbmc7XG59XG5AbWl4aW4gdGl0bGVjYXNlLXNwYWNlZCgkc3BhY2luZzogJGxzLWJvZHkpIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIGxldHRlci1zcGFjaW5nOiAkc3BhY2luZztcbn1cblxuLy8vIE1peGluIGZvciBicmVha3BvaW50c1xuLy8vIEBwYXJhbSAkYnJlYWtwb2ludCB7U3RyaW5nfSAtIFRoZSBicmVha3BvaW50IGtleSAoZS5nLiwgJ3NtYWxsJywgJ21lZGl1bScpLlxuLy8vIEBwYXJhbSAkdHlwZSB7U3RyaW5nfSAtIFRoZSBtZWRpYSBxdWVyeSB0eXBlOiAnbWluJyBvciAnbWF4Jy4gRGVmYXVsdHMgdG8gJ21pbicuXG5AbWl4aW4gbWFwcHktYnAoJGJyZWFrcG9pbnQsICR0eXBlOiAnbWluJykge1xuICAkdmFsdWU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCk7XG5cbiAgQGlmICR2YWx1ZSAhPSBudWxsIHtcbiAgICBAbWVkaWEgKCN7JHR5cGV9LXdpZHRoOiAjeyR2YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiQnJlYWtwb2ludCAnI3skYnJlYWtwb2ludH0nIG5vdCBmb3VuZCBpbiB0aGUgXFwkYnJlYWtwb2ludHMgbWFwLlwiO1xuICB9XG59XG4vLy8gQXBwbHkgYSBib3JkZXIgdG8gb25lIG9yIG1vcmUgc2lkZXMuXG4vLy8gQHBhcmFtIHtsaXN0fHN0cmluZ30gJHNpZGVzIC0gdG9wIHwgcmlnaHQgfCBib3R0b20gfCBsZWZ0IHwgeCB8IHkgfCBhbGwgfCAodG9wIHJpZ2h0IC4uLilcbi8vLyBAcGFyYW0ge2xlbmd0aH0gJHdpZHRoXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRzdHlsZVxuLy8vIEBwYXJhbSB7Kn0gJGNvbG9yLWluZGV4IC0gcGFzc2VkIGludG8gc2V0Y29sb3IoKVxuQG1peGluIGJvcmRlci1zaWRlcygkc2lkZXM6IHRvcCwgJHdpZHRoOiAycHgsICRzdHlsZTogc29saWQsICRjb2xvci1pbmRleDogNCkge1xuICAkYm9yZGVyOiAkd2lkdGggJHN0eWxlIHNldGNvbG9yKCRjb2xvci1pbmRleCk7XG5cbiAgQGlmICRzaWRlcyA9PSBhbGwge1xuICAgIGJvcmRlcjogJGJvcmRlcjtcbiAgfSBAZWxzZSBpZiAkc2lkZXMgPT0geCB7XG4gICAgYm9yZGVyLWxlZnQ6ICRib3JkZXI7XG4gICAgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyO1xuICB9IEBlbHNlIGlmICRzaWRlcyA9PSB5IHtcbiAgICBib3JkZXItdG9wOiAkYm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBtZXRhLnR5cGUtb2YoJHNpZGVzKSAhPSBsaXN0IHtcbiAgICAgICRzaWRlczogKCRzaWRlcyk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpZGUgaW4gJHNpZGVzIHtcbiAgICAgIEBpZiAkc2lkZSA9PSB0b3Age1xuICAgICAgICBib3JkZXItdG9wOiAkYm9yZGVyO1xuICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSByaWdodCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGJvcmRlcjtcbiAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gYm90dG9tIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gbGVmdCB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYm9yZGVyO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBlcnJvciBcImJvcmRlci1zaWRlcygpOiBpbnZhbGlkIHNpZGUgJyN7JHNpZGV9Jy4gVXNlIHRvcC9yaWdodC9ib3R0b20vbGVmdCwgeCwgeSwgYWxsLCBvciBhIGxpc3QuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4gIC8qPT09PT09PT09PT09PT0gXG4gIFZBUlMgXG4gID09PT09PT09PT09PT09PT0qL1xuLy9maWdtYSB1c2luZyAgICNGNkY0RjAgZm9yIGxpZ2h0IGNyZWFtLlxuICAvL0NvbG91ciBwYWxldHRlLlxuICAkc3dhdGNoZXM6IChcbiAgICAxOiAoaGV4OiAjM0MzQzNDLCBuYW1lOiAnR3JleScpLFxuICAgIDI6IChoZXg6ICM3ODAwMDAsIG5hbWU6ICdSZWQnKSxcbiAgICAzOiAoaGV4OiAjZWRmN2Y5LCBuYW1lOiAnRGFyayBUdXJxdW9pc2UnKSxcbiAgICA0OiAoaGV4OiAjZjVmYWZiLCBuYW1lOiAnTGlnaHQgVHVycXVvaXNlJyksXG4gICAgNTogKGhleDogI2Y1ZmFmYiwgbmFtZTogJ1JlcGVhdCBvZiA1JyksXG4gICAgNjogKGhleDogI2RhZTBlMSwgbmFtZTogJ0xpZ2h0IG9mZiBXaGl0ZScpLFxuICAgICd3aGl0ZSc6IChoZXg6ICNGRkZGRkYsIG5hbWU6ICdXaGl0ZScpLCBcbik7XG4vLyAgICRzd2F0Y2hlczogKFxuLy8gICAgIDE6IChoZXg6ICMzQzNDM0MsIG5hbWU6ICdHcmV5JyksXG4vLyAgICAgMjogKGhleDogIzc4MDAwMCwgbmFtZTogJ1JlZCcpLFxuLy8gICAgIDM6IChoZXg6ICNkY2Q1YzUsIG5hbWU6ICdCcm93bicpLFxuLy8gICAgIDQ6IChoZXg6ICNlOWU1ZGMsIG5hbWU6ICdCcm93biBBbHQnKSxcbi8vICAgICA1OiAoaGV4OiAjZjZmMmViLCBuYW1lOiAnTGlnaHQgQ3JlYW0nKSxcbi8vICAgICA2OiAoaGV4OiAjZjZmMmVjLCBuYW1lOiAnTGlnaHQgb2ZmIFdoaXRlJyksXG4vLyAgICAgJ3doaXRlJzogKGhleDogI0ZGRkZGRiwgbmFtZTogJ1doaXRlJyksIFxuLy8gKTtcblxuLy9Db2xvdXJzXG4kY29sb3ItbWFpbjogIHNldGNvbG9yKDEpO1xuICRjb2xvci1ib2R5OiBzZXRjb2xvcigxKTtcbiRjb2xvci1hbmNob3I6IHNldGNvbG9yKDIpO1xuJGNvbG9yLWJvcmRlcjogc2V0Y29sb3IoMSk7IC8vR2VuZXJhbCBib3JkZXIgY29sb3VyXG4kY29sb3ItcGxhY2Vob2xkZXI6IHNldGNvbG9yKDEpO1xuXG4vL1RoZW1lIENvbG91cnNcblxuJHRoZW1lLWNvbG9yLTE6IHNldGNvbG9yKDEpOyAvL05hdnlcbiR0aGVtZS1jb2xvci0yOiBzZXRjb2xvcigyKTsgLy9PcmFuZ2UgODAlXG4kdGhlbWUtY29sb3ItMzogc2V0Y29sb3IoMyk7IC8vVHVycXVvaXNlXG4kdGhlbWUtY29sb3ItNDogc2V0Y29sb3IoNCk7IC8vUmVkXG5cblxuXG5cbi8qPT09PT09PT09PT09PT09PT09PVxuQlVUVE9OU1xuPT09PT09PT09PT09PT09PT09PT0qL1xuJGJ0bi1tYWluOiBzZXRjb2xvcigyKTtcbiRidG4tbWFpbi10eHQ6ICNmZmZmZmY7XG4kYnRuLW1haW4tYnJkOiAjZmZmZmZmO1xuJGJ0bi1tYWluLWhvdmVyOiBzZXRjb2xvcigyKTtcbiRidG4tbWFpbi1ob3Zlci10eHQ6ICNmZmZmZmY7XG4kYnRuLW1haW4taG92ZXItYnJkOiAjZmZmZmZmO1xuXG4kYnRuLWFsdDogc2V0Y29sb3IoMik7XG4kYnRuLWFsdC10eHQ6IHNldGNvbG9yKDMpO1xuJGJ0bi1hbHQtaG92ZXItYnJkOiBzZXRjb2xvcigzKTtcbiRidG4tYWx0LWhvdmVyOiAjZmZmZmZmO1xuJGJ0bi1hbHQtaG92ZXItdHh0OiBzZXRjb2xvcigyKTtcbiRidG4tYWx0LWhvdmVyLWJyZDogc2V0Y29sb3IoMyk7XG5cblxuLyo9PT09PT09PT09PT09PT09PT09XG5SQURJVVNcbj09PT09PT09PT09PT09PT09PT09Ki9cbiRyb3VuZGVkLWNvcm5lcjo0MHB4O1xuXG4vKj09PT09PT09PT09PT09PT09PT1cbkZPTlQgRkFNSUxJRVNcbj09PT09PT09PT09PT09PT09PT09Ki9cbiRmb250LW1haW46IFwiRm9ydW1cIiwgc2Fucy1zZXJpZjtcbiRmb250LWFsdDogIFwiRm9ydW1cIiwgc2Fucy1zZXJpZjtcblxuLyo9PT09PT09PT09PT09PT09PT09XG5GT05UIFNJWkVTXG49PT09PT09PT09PT09PT09PT09PSovXG4kYmFzZS1mb250LXNpemU6IDE4cHg7XG4kZm50LXNpemUteGxhcmdlOiByZW0yKDI0cHgpOyAvL0FkanVzdGVkXG4kZm50LXNpemUtbGFyZ2U6ICByZW0yKDE4cHgpOy8vQWRqdXN0ZWRcbiRmbnQtc2l6ZS1ub3JtYWw6IHJlbTIoMThweCk7Ly9BZGp1c3RlZFxuJGZudC1zaXplLXNtYWxsOiAgcmVtMigxNXB4KTsvL0FkanVzdGVkXG4kZm50LXNpemUteHNtYWxsOiByZW0yKDEwcHgpOy8vQWRqdXN0ZWRcblxuLyo9PT09PT09PT09PT09PT09PT09XG5GT05UIFdFSUdIVFNcbj09PT09PT09PT09PT09PT09PT09Ki9cbiRmbnQtd2VpZ2h0LW5vcm1hbDogNDAwO1xuJGZudC13ZWlnaHQtYm9sZDogNzAwO1xuJGZudC13ZWlnaHQteGJvbGQ6IDkwMDsgLy9Ob3QgdXNlZCBhbnltb3JlXG4vKj09PT09PT09PT09PT09PT09PT1cbkxFVFRFUiBTUEFDSU5HXG49PT09PT09PT09PT09PT09PT09PSovXG4kbHMtaGVhZGluZ3M6IDAuM2VtO1xuJGxzLWJvZHk6IGVtKDEuM3B4KTtcblxuLyo9PT09PT09PT09PT09PT09PT09XG5CT1JERVIgU0laRVNcbj09PT09PT09PT09PT09PT09PT09Ki9cbiRib3JkZXItY29sb3I6IHNldGNvbG9yKDEpO1xuJGJvcmRlci1zaXplOjFweDtcbiRib3JkZXItc2l6ZS1scmc6IDJweDtcblxuLyo9PT09PT09PT09PT09PT09PT09XG5HVVRURVJTICYgUEFERElOR1MgU0laRVNcbj09PT09PT09PT09PT09PT09PT09Ki9cbiRlbGVtLXBhZC14eHNtOiByZW0yKDhweCk7IFxuJGVsZW0tcGFkLXhzbTogIHJlbTIoMTJweCk7XG4kZWxlbS1wYWQtc206ICAgcmVtMigxNnB4KTtcbiRlbGVtLXBhZDogICAgICByZW0yKDI0cHgpOyBcbiRlbGVtLXBhZC1scmc6ICByZW0yKDQ4cHgpOyBcbiRlbGVtLXBhZC14bHJnOiByZW0yKDY0cHgpOyAgIFxuJGVsZW0tbWFyZ2luOiAgIHJlbTIoMjBweCk7XG5cbiRndXR0ZXI6ICAgICAgICByZW0yKDI0cHgpOyBcbiRndXR0ZXItbHJnOiAgICByZW0yKDY0cHgpOyBcbiRndXR0ZXIteDogJGd1dHRlcjtcbiRndXR0ZXIteTogJGd1dHRlcjtcblxuJHRleHQtbWF4LXdpZHRoOiByZW0yKDkwMHB4KTtcblxuJGhlcm8tdHh0LW1heC13aWR0aDogcmVtMig3NTBweCk7XG4kY2FyZC10eHQtbWF4LXdpZHRoOiByZW0yKDQ1MHB4KTtcbiRjYXJkLXdpZGUtdHh0LW1heC13aWR0aDogJGhlcm8tdHh0LW1heC13aWR0aDtcbi8qPT09PT09PVxuR1JJRFxuPT09PT09Ki9cbi8vICRncmlkLWNvbDpyZW0yKDcwKTtcbi8vICRncmlkLWdhcDpyZW0yKDMwKTtcblxuXG5cbi8qPT09PT09PT1cblotSU5ERVhcbj09PT09PT09Ki9cbiR6LWluZGV4LS1vbnRvcDogOTAwO1xuLyo9PT09PT09PT09PT09PT09PT09XG5DT0xVTU4gU0laRVNcbj09PT09PT09PT09PT09PT09PT09Ki9cblxuJGFzaWRlLXdpZHRoLW1pbjogNTAwcHg7XG4kYXNpZGUtd2lkdGgtbWF4OiAkYXNpZGUtd2lkdGgtbWluO1xuJGFzaWRlLW1heDogJGFzaWRlLXdpZHRoLW1pbjtcblxuXG4vL0JyZWFrIFBvaW50c1xuJG1heDogMTI4MHB4O1xuJG1heC13aXRoLWd1dHRlcjogJG1heCArIDEwMHB4O1xuJG1heC1mdWxsLWJsZWVkOiAxODAwcHg7XG4kbWF4LWZ1bGwtYmxlZWQtdy1ndXR0ZXI6ICRtYXgtZnVsbC1ibGVlZCArIDEwMHB4O1xuJGNvbnRhaW5lZC1hcnRpY2xlLXdpZHRoOiA3MjBweDtcbiRjb250YWluZWQtd2lkdGg6ICRjb250YWluZWQtYXJ0aWNsZS13aWR0aDtcbiRjb250YWluZWQtd2lkZS13aWR0aDogMTAwMHB4O1xuJGNvbW1lcmNlLXdpZHRoOiAkbWF4O1xuXG4kYnJlYWtwb2ludHM6IChcbiAgJ3hzbWFsbCc6IDQwMHB4LFxuICAnc21hbGwnOiA3NjhweCxcbiAgJ21lZGl1bSc6IDEwMDBweCxcbiAgJ2xhcmdlJzogMTE1MHB4LFxuICAneGxhcmdlJzogMTQwMHB4LFxuICAnbWF4JzogJG1heCxcbiAgJ21heC13aXRoLWd1dHRlcic6ICRtYXgtd2l0aC1ndXR0ZXIsXG4pO1xuXG4vKj09PT09PT09PT09PT09PT09PT1cbldpZHRoc1xuPT09PT09PT09PT09PT09PT09PT0qL1xuLy8gJG1heDogbWFwLmdldCgkYnJlYWtwb2ludHMsIG1heCk7XG4vLyAkbWF4LXdpdGgtZ3V0dGVyOiBtYXAuZ2V0KCRicmVha3BvaW50cywgbWF4LXdpdGgtZ3V0dGVyKTtcblxuXG4vKj09PT09PT09PT09PT09PT09PT1cblJvb3QgY3VzdG9tIHByb3BzXG49PT09PT09PT09PT09PT09PT09PSovXG46cm9vdCB7XG4gIC0taGVhZGVyLWhlaWdodDogI3tyZW0yKDg1cHgpfTsgXG5cbiAgICAvL3BhZGRpbmdzXG4gIC0tc2VjdGlvbi1zcGFjZTogI3skZWxlbS1wYWR9O1xuXG4gIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgLS1oZWFkZXItaGVpZ2h0OiAje3JlbTIoOTZweCl9O1xuXG4gICAgLy9QYWRkaW5nXG4gICAgIC0tc2VjdGlvbi1zcGFjZTogI3skZWxlbS1wYWQtbHJnfTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7IFxuICAgIC0taGVhZGVyLWhlaWdodDogI3tyZW0yKDIwMnB4KX07XG4gIH1cblxufSIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnRk9OVC1OQU1FJztcbiAgICBmb250LXN0eWxlOiAnbm9ybWFsJztcbiAgICBmb250LXdlaWdodDogJzQwMCc7XG4gICAgc3JjOiB1cmwoJy9hc3NldHMvZm9udHMvTkFNRS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcvYXNzZXRzL2ZvbnRzL05BTUUud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbiIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcbi8qPT09PT09Q1NTIFZBUlM9PT09PT09Ki9cblxuOnJvb3Qge1xuICAtLW1haW4tYmctY29sb3I6ICN7c2V0Y29sb3IoNSl9O1xuICAtLW1haW4tYm9keS1jb2xvcjogI3tzZXRjb2xvcigxKX07XG4gIC0tcmVkLWNvbG9yOiN7c2V0Y29sb3IoMil9O1xuICAtLW1haW4tZm9udC1mYW1pbHk6ICN7JGZvbnQtbWFpbn07XG59XG5cbmh0bWwsIGJvZHkge1xuICAgXG59XG5pbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5ib2R5Lm5hdmlnYXRpb24tLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1yaWdodDogMTVweDsgLyogQWRqdXN0IGZvciBzY3JvbGxiYXIgd2lkdGggKHVzdWFsbHkgMTXigJMxN3B4KSAqL1xuICB9XG5cbiAgLmNvbnRlbnQtYmxvY2sge1xuLy9Vc2VkIHRvIHdyYXAgUlRFIGVsZW1lbnRzLlxuICB9XG5cbiAgLypGT0NVUyovXG5cbiAgLyogMSkgQmFzZWxpbmUgZm9yIGV2ZXJ5dGhpbmcgdGhhdCBjYW4gYmUgZm9jdXNlZCAqL1xuOndoZXJlKGEsIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIHN1bW1hcnksIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKSk6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyAvKiBvbmx5IGJlY2F1c2Ugd2UgYWRkIGEgcmVwbGFjZW1lbnQgYmVsb3cgKi9cbn1cblxuLyogMikgU2hvdyB0aGUgcmluZyB3aGVuIGl0IG1hdHRlcnMgKGtleWJvYXJkLCBldGMuKSAqL1xuOndoZXJlKGEsIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIHN1bW1hcnksIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKSk6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDFweCBzb2xpZCBzZXRjb2xvcigyKTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLyogMykgRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9u4oCZdCBzdXBwb3J0IDpmb2N1cy12aXNpYmxlICovXG5Ac3VwcG9ydHMgbm90IHNlbGVjdG9yKDpmb2N1cy12aXNpYmxlKSB7XG4gIDp3aGVyZShhLCBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBzdW1tYXJ5LCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9XCItMVwiXSkpOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgc2V0Y29sb3IoMik7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxufSIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAdXNlIFwiLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzXCI7XG5cblxuLypCYXNpYyBSZXNldCBvZiBzdHlsZXMqL1xuLyoqKiBib3ggc2l6aW5nIGJvcmRlci1ib3ggZm9yIGFsbCBlbGVtZW50cyAqKiovXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXJ7Ym94LXNpemluZzpib3JkZXItYm94O31cbmF7dGV4dC1kZWNvcmF0aW9uOm5vbmU7IGNvbG9yOmluaGVyaXQ7IGN1cnNvcjpwb2ludGVyO31cbmJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyBjb2xvcjppbmhlcml0OyBib3JkZXItd2lkdGg6MDsgcGFkZGluZzowOyBjdXJzb3I6cG9pbnRlcjt9XG5maWd1cmV7bWFyZ2luOjA7fVxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge2JvcmRlcjowOyBwYWRkaW5nOjA7IG1hcmdpbjowO31cbnVsLCBvbCwgZGR7bWFyZ2luOjA7IHBhZGRpbmc6MDsgbGlzdC1zdHlsZTpub25lO31cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDZ7bWFyZ2luOjA7IGZvbnQtc2l6ZTppbmhlcml0OyBmb250LXdlaWdodDppbmhlcml0O31cbnB7bWFyZ2luOjA7fVxuY2l0ZSB7Zm9udC1zdHlsZTpub3JtYWw7fVxuZmllbGRzZXR7Ym9yZGVyLXdpZHRoOjA7IHBhZGRpbmc6MDsgbWFyZ2luOjA7fVxuIiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuXG5cbmh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtbWFpbjtcbiAgICAvLyBmb250LXNpemU6IDE4cHg7XG4gICAgIGZvbnQtc2l6ZTogJGJhc2Utc2l6ZTtcbiAgfVxuXG5cbmJvZHkge1xuICAgIGNvbG9yOiAkY29sb3ItYm9keTtcbiAgICAvLyBsZXR0ZXItc3BhY2luZzogcmVtMigxLjNweCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRscy1ib2R5O1xuICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgLy8gZm9udC1zaXplOiByZW0yKDE1cHgpO1xuICAgIH1cbn1cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gbGluZS1oZWlnaHQ6IDEuMztcbn1cblxucCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGVsZW0tcGFkLXNtO1xuXG4gICAgaW1nICsgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6JGVsZW0tcGFkLXNtO1xuXG4gICAgfVxufVxuLnUtaGVhZGluZy1mb250LXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgdXBwZXJjYXNlLXNwYWNlZCgpO1xufVxuXG4udS10aXRsZWNhc2UtZm9udC1zdHlsZXMge1xuICAgICBAaW5jbHVkZSB0aXRsZWNhc2Utc3BhY2VkKCk7XG59XG4udS1ib2R5LWZvbnQtc3R5bGVzIHtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxzLWJvZHk7XG59XG5cblxuaDEsIGgyLCBoMywgLnUtaDEsIC51LWgyLCAudS1oMyB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWFsdDtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGVsZW0tcGFkLXNtO1xuICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQoKTtcblxufVxuXG5cbmg0LCBoNSwgLnUtaDQsIC51LWg1IHtcbiAgIC8vIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogJGVsZW0tcGFkLXNtO1xufVxuXG5oMiwgaDMsIGg0LCBoNSwgLnUtaDIsIC51LWgzLCAudS1oNCwgLnUtaDUge1xuICAgIFxuICAgIG1hcmdpbi10b3A6ICRlbGVtLXBhZC1zbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIC5sLWNvbnRlbnQgcCArICY6bm90KFtjbGFzc10pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGVsZW0tcGFkLWxyZztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGVsZW0tcGFkO1xuICAgIH1cblxuICAgIC8vIC5sLWNvbnRlbnQgJiB7XG4gICAgLy8gICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgLy8gfVxufVxuXG4uY2hlY2tvdXQge1xuICAgIGgxLCBoMiwgaDMsIC51LWgxLCAudS1oMiwgLnUtaDMge1xuICAgICAgICBjb2xvcjpzZXRjb2xvcigxKSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuaDEsIC51LWgxIHtcbiAgICAvLyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIC8vIGxldHRlci1zcGFjaW5nOiAwLjNlbTtcbiAgICBmb250LXNpemU6IHJlbTIoMjRweCk7IC8vQWRqdXN0ZWRcblxuICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtMigyOHB4KTsgLy9BZGp1c3RlZFxuICAgIH1cbn1cblxuaDIsIC51LWgyIHtcbiAgICBmb250LXNpemU6IHJlbTIoMjJweCk7IC8vQWRqdXN0ZWRcbiAgICAvLyBsZXR0ZXItc3BhY2luZzogJGxzLWhlYWRpbmdzO1xuICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtMigyNnB4KTsgLy9BZGp1c3RlZFxuICAgIH1cbiAgICAubC1ncmlkICZ7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTsgLy9taWdodCBub3QgbmVlZCB0byBiZSB0aGlzIHNwZWNpZmljLCBidXQgZm9yIG5vdyBpdCBpc1xuICAgIH1cbn1cblxuXG5oMywgLnUtaDMge1xuICAgIGZvbnQtc2l6ZTogcmVtMigyMHB4KTsgLy9BZGp1c3RlZFxuXG59XG5cbmg0LCAudS1oNCB7XG4gICAgZm9udC1zaXplOiByZW0yKDE4cHgpOyAgLy9BZGp1c3RlZFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDUsIC51LWg1IHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4vKkxJTktTKi9cbmEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjokY29sb3ItYW5jaG9yO1xuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBzZXRjb2xvcigzKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwJSAycHg7XG4gICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogcmVtMig0cHgpO1xuICAgIH1cblxufVxuXG4uY29udGVudC1oZWFkZXJfX2ludHJvIHtcbiAgICBmb250LXNpemU6IHJlbTIoMThweCk7ICAvL0FkanVzdGVkXG4gICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcblxuICAgIH1cbn1cblxubWFpbiB7XG4gICAgLy9UYXJnZXQgZWxlbWVudHMgdGhhdCBhcmUgcGFydCBvZiB0aGUgbWFpbiB0YWcuICBVc2VmdWwgZm9yIGdlbmVyaWMgZWxlbWVudCB0YWdzIHRoYXQgYSB1c2VyIG1heSBhZGQgdmlhIGFuIFJURVxuICAgIHVsLCBvbCB7XG4gICAgICAgIG1hcmdpbjokZWxlbS1wYWQgMDtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luOjAgMCAxMHB4IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgfVxuICAgIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICAgIH1cbn1cblxuXG5cbi8qPT09PVxudGFnIG9yZGVyIHNwZWNpZmljIHN0eWxlc1xuPT09PT0qL1xuXG5oMiArIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAkZWxlbS1wYWQtbHJnO1xufVxuXG51bCArIGgzLCBwICsgaDMge1xuICAgIG1hcmdpbi10b3A6ICRlbGVtLXBhZC1scmc7XG59XG4iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG5cblxuXG4vKj09PT09PT09PT09PT09PT09PT09XG5DT0xPVVJTXG49PT09PT09PT09PT09PT09PT09PSovXG4udS1iZ3tcbiAgICAmLS01MFxcLzUwIHtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgdG8gcmlnaHQsXG4gICAgICAgICAgICBzZXRjb2xvcig1KSAwIDUwJSxcbiAgICAgICAgICAgICNmZmZmZmYgNTAlIDEwMCVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAgJi0tMzBcXC83MCB7XG4gICAgICAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIHRvIHJpZ2h0LFxuICAgICAgICAgICAgc2V0Y29sb3IoNSkgMCAzMCUsXG4gICAgICAgICAgICAjZmZmZmZmIDMwJSAxMDAlXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AZWFjaCAka2V5LCAkdmFsIGluICRzd2F0Y2hlcyB7XG4gIC51LWJnLWNvbG9yX18jeyRrZXl9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnNldGNvbG9yKCRrZXkpICFpbXBvcnRhbnQ7XG4gICAgJi0tNzUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnNldGNvbG9yKCRrZXksIDc1KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLS01MCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6c2V0Y29sb3IoJGtleSwgNTApICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYtLTI1IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpzZXRjb2xvcigka2V5LCAyNSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLnUtdHh0LWNvbG9yX18jeyRrZXl9IHtcbiAgICBjb2xvcjpzZXRjb2xvcigka2V5KSAhaW1wb3J0YW50O1xuICAgICYtLTc1IHtcbiAgICAgICAgY29sb3I6c2V0Y29sb3IoJGtleSwgNzUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYtLTUwIHtcbiAgICAgICAgY29sb3I6c2V0Y29sb3IoJGtleSwgNTApICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYtLTI1IHtcbiAgICAgICAgY29sb3I6c2V0Y29sb3IoJGtleSwgMjUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC51LWJyZC1jb2xvcl9fI3ska2V5fSB7XG4gICAgYm9yZGVyOiBzb2xpZCAycHggc2V0Y29sb3IoJGtleSkgMnB4ICFpbXBvcnRhbnQ7XG4gICAgJi0tdG9wIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBzZXRjb2xvcigka2V5KTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHggMCAwIDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJi0tYnRtIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBzZXRjb2xvcigka2V5KTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMnB4IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJi0tcmlnaHQge1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHNldGNvbG9yKCRrZXkpO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMnB4IDAgMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLS1sZWZ0IHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBzZXRjb2xvcigka2V5KTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCAycHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgJi0tdG9wLWJ0bSB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogc2V0Y29sb3IoJGtleSk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4IDAgMnB4IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJi0tbGVmdC1yaWdodCB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogIHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHNldGNvbG9yKCRrZXkpO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMnB4IDAgMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT1cbkdFTkVSQUwgRk9STUFUVElOR1xuPT09PT09PT09PT09PT09PT09PT0qL1xuLnUtZXJyb3IsIC5mb3JtX19yb3ctZXJyb3Ige1xuICAgIGNvbG9yOiByZWQgIWltcG9ydGFudDtcbn1cbi51LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi51LWxvd2VyY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50O1xufVxuLnUtdXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG59XG4udS10aXRsZWNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7XG59XG4udS10cmFuc2Zvcm0tbm9uZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cbi51LXJvdW5kZWQtY29ybmVycyB7XG4gICAgYm9yZGVyLXJhZGl1czogJHJvdW5kZWQtY29ybmVyO1xuICAgICYtLXRvcCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6JHJvdW5kZWQtY29ybmVyICRyb3VuZGVkLWNvcm5lciAwIDA7XG4gICAgICAgICYtbGVmdCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiRyb3VuZGVkLWNvcm5lcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtcmlnaHQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyb3VuZGVkLWNvcm5lcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWxlZnQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcm91bmRlZC1jb3JuZXIgMCAkcm91bmRlZC1jb3JuZXIgMDtcbiAgICB9XG4gICAgJi0tcmlnaHQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICRyb3VuZGVkLWNvcm5lciAwICRyb3VuZGVkLWNvcm5lcjtcbiAgICB9XG5cbiAgICAmLS1idG0ge1xuICAgICAgICBib3JkZXItcmFkaXVzOjAgMCAkcm91bmRlZC1jb3JuZXIgJHJvdW5kZWQtY29ybmVyO1xuICAgICAgICAmLWxlZnQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJvdW5kZWQtY29ybmVyO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgICYtcmlnaHQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyb3VuZGVkLWNvcm5lcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnUtY3Vyc29yIHtcbiAgICAmLS1wb2ludGVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAmLS1kZWZhdWx0IHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbn1cbi51LWxpbmstc3R5bGVzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cbi8vRmxleCBhbGlnblxuLnUtZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICYtanVzdGlmeSB7XG4gICAgICAgICYtLWVuZCB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG4gICAgICAgICYtLXN0YXJ0IHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgICAmLS1jZW50ZXIge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWFsaWduIHtcbiAgICAgICAgJi0tZW5kIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgICAgICAmLS1zdGFydCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICAgICAgJi0tY2VudGVyIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi51LWJvcmRlciB7XG4gICAgYm9yZGVyOjFweCBzb2xpZCAkY29sb3ItYm9yZGVyO1xuXG59XG5cbmhyLCAudS1ociB7XG4gICAgYm9yZGVyOiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1zaWRlcyh0b3AsIDJweCk7XG4gICAgbWFyZ2luOiAkZWxlbS1wYWQtc20gMDtcbiAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICBtYXJnaW46ICRlbGVtLXBhZCAwO1xuICAgIH1cbiAgICAmLmNvbnRlbnQtaHIge1xuICAgICAgICBtYXJnaW46ICRlbGVtLXBhZC14bHJnIDA7XG5cbiAgICAgICAgJi0tdHJhbnNwYXJlbnQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgfVxuICAgIFxufVxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkhJREUgQVNTRVRTIEJVVCBSRU5ERVIgSU4gRE9NXG49PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4udS12aXN1YWxseS1oaWRkZW4sIC51LXNyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xufVxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkhJREUgRUxFTUVOVFNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi51LWhpZGUge1xuICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xuXG4gICAgJi0tc20ge1xuICAgICAgICAvL0hpZGUgb24gc21hbGwgc2NyZWVuIG9ubHlcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoJ3NtYWxsJywgJ21heCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW1lZCB7XG4gICAgICAgIC8vSGlkZSBvbiBtZWRpdW0gc2NyZWVucyBhbmQgYmVsb3dcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoJ3NtYWxsJywgJ21lZGl1bScpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKj09PT09PT09PT09XG5TQ1JPTEwvT1ZFUkZMT1cgQ0xBU1NFU1xuPT09PT09PT09PT09Ki9cbi51LW1vZGVsLS1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnUtb3ZlcmZsb3cge1xuICAgICYtLWhpZGRlbiB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgICYtLXNjcm9sbCB7XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgJi0tc2Nyb2xsLXkge1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgJi0tc2Nyb2xsLXgge1xuICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgfVxufVxuLyo9PT09PT09PT09PVxuRk9OVCBDTEFTU0VTXG49PT09PT09PT09PT0qL1xuXG4udS10eHQge1xuICAgICYtLXNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0yKDEycHgpOyAvL0FkanVzdGVkXG4gICAgfVxuICAgICYtLWxhcmdlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0yKDE2cHgpOyAvL0FkanVzdGVkXG4gICAgfVxufVxuXG4vKj09PT09PT09PT09PT09PT09PT09XG50b29sdGlwIHN0eWxlc1xuPT09PT09PT09PT09PT09PT09PT0qL1xuLnRvb2x0aXAtb2xkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvLyBmb250LXNpemU6IHJlbTIoMTNweCk7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIC8vIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAvLyBib3JkZXI6MXB4IHNvbGlkICBzZXRjb2xvcigxKTtcbiAgICByaWdodDowcHg7XG4gICAgdG9wOjBweDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAuYS1pY29uX19zdmcge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cbiAgICAmX193cmFwIHtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6MjJweDtcbiAgICB9XG59XG4vKj09PT09PT09PT09PT09PT09PT09XG5QYWRkaW5nc1xuPT09PT09PT09PT09PT09PT09PT0qL1xuLnUtbm8tbWFyZ2luIHtcbiAgICBtYXJnaW46MCAhaW1wb3J0YW50O1xuICAgICYtLXRvcCB7XG4gICAgICAgIG1hcmdpbi10b3A6MCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLS1ib3R0b20ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOjAgIWltcG9ydGFudDsgICAgXG4gICAgfVxuICAgICYtLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OjAgIWltcG9ydGFudDsgICAgXG4gICAgfVxuICAgICYtLWxlZnQge1xuICAgICAgICBtYXJnaW4tbGVmdDowICFpbXBvcnRhbnQ7ICBcbiAgICB9XG4gICAgJi0tdG9wLWJvdHRvbSB7XG4gICAgICAgIG1hcmdpbi10b3A6MCAhaW1wb3J0YW50OyAgXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgIFxuICAgIH1cbiAgICAgJi0tbGVmdC1yaWdodCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OjAgIWltcG9ydGFudDsgIFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgIFxuICAgIH1cbn1cbi51LW5vLXBhZCB7XG4gICAgcGFkZGluZzowICFpbXBvcnRhbnQ7XG4gICAgJi0tdG9wIHtcbiAgICAgICAgcGFkZGluZy10b3A6MCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLS1ib3R0b20ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTowICFpbXBvcnRhbnQ7ICAgIFxuICAgIH1cbiAgICAmLS1yaWdodCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6MCAhaW1wb3J0YW50OyAgICBcbiAgICB9XG4gICAgJi0tbGVmdCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDowICFpbXBvcnRhbnQ7ICBcbiAgICB9XG4gICAgJi0tdG9wLWJvdHRvbSB7XG4gICAgICAgIHBhZGRpbmctdG9wOjAgIWltcG9ydGFudDsgIFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyAgXG4gICAgfVxuICAgICAmLS1sZWZ0LXJpZ2h0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OjAgIWltcG9ydGFudDsgIFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7ICBcbiAgICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT1cblZpZGVvXG49PT09PT09PT09PT09PT09PT09PSovXG4udS12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7IC8qIDE2OjkgKi9cbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICYgaWZyYW1lLFxuICAgICYgZW1iZWQsXG4gICAgJiBvYmplY3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxufVxuXG5cblxuXG4vKj09PT09PVxuQUpBWCBMT0FERVJcbj09PT09PT0qL1xuLnUtbG9hZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDIwMCAyMDBcIj48cmVjdCBmaWxsPVwiJTIzNzgwMDAwXCIgc3Ryb2tlPVwiJTIzNzgwMDAwXCIgc3Ryb2tlLXdpZHRoPVwiMTVcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiB4PVwiMjVcIiB5PVwiODVcIj48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPVwib3BhY2l0eVwiIGNhbGNNb2RlPVwic3BsaW5lXCIgZHVyPVwiMlwiIHZhbHVlcz1cIjE7MDsxO1wiIGtleVNwbGluZXM9XCIuNSAwIC41IDE7LjUgMCAuNSAxXCIgcmVwZWF0Q291bnQ9XCJpbmRlZmluaXRlXCIgYmVnaW49XCItLjRcIj48L2FuaW1hdGU+PC9yZWN0PjxyZWN0IGZpbGw9XCIlMjM3ODAwMDBcIiBzdHJva2U9XCIlMjM3ODAwMDBcIiBzdHJva2Utd2lkdGg9XCIxNVwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIHg9XCI4NVwiIHk9XCI4NVwiPjxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9XCJvcGFjaXR5XCIgY2FsY01vZGU9XCJzcGxpbmVcIiBkdXI9XCIyXCIgdmFsdWVzPVwiMTswOzE7XCIga2V5U3BsaW5lcz1cIi41IDAgLjUgMTsuNSAwIC41IDFcIiByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIiBiZWdpbj1cIi0uMlwiPjwvYW5pbWF0ZT48L3JlY3Q+PHJlY3QgZmlsbD1cIiUyMzc4MDAwMFwiIHN0cm9rZT1cIiUyMzc4MDAwMFwiIHN0cm9rZS13aWR0aD1cIjE1XCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgeD1cIjE0NVwiIHk9XCI4NVwiPjxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9XCJvcGFjaXR5XCIgY2FsY01vZGU9XCJzcGxpbmVcIiBkdXI9XCIyXCIgdmFsdWVzPVwiMTswOzE7XCIga2V5U3BsaW5lcz1cIi41IDAgLjUgMTsuNSAwIC41IDFcIiByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIiBiZWdpbj1cIjBcIj48L2FuaW1hdGU+PC9yZWN0Pjwvc3ZnPicpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDBweDtcblxuICAgICYtLW92ZXJsYXkge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgfVxufVxuXG5cbi8qPT09PT09PT09PT09PT09PT09PT1cbkNPTExBUFNBQkxFIFRPR0dMRVxuPT09PT09PT09PT09PT09PT09PT0qL1xuLnUtY29sbGFwc2FibGUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICY6Y2hlY2tlZCsudS1jb2xsYXBzYWJsZS10b2dnbGVfX3RpdGxlKy51LWNvbGxhcHNhYmxlLXRvZ2dsZV9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG5cbi5sLWdyaWQge1xuICAgIC8vR2VuZXJpYyBHcmlkIHN5c3RlbSB1c2VkIGFjcm9zcyBtb3N0IG9mIHRoZSBzaXRlLlxuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAkZ3V0dGVyO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gICAgbWFyZ2luOiAkZWxlbS1wYWQgMDtcblxuICAgICYtLWNoZWNrb3V0IHtcblxuICAgICAgICAubC1ncmlkX19jb2wge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgc2V0Y29sb3IoNCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubC1jb250YWluZXJfX2lubmVyID4gJjpmaXJzdC1jaGlsZCwgLmwtY29udGVudCA+ICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgfVxuICAgICYtLW5vLW1hcmdpbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgIG1pbm1heCgwLCAxZnIpO1xuICAgIH1cblxuXG4gICAgXG4gICAgJl9fY29sIHtcblxuICAgICAgICAmLS1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiRlbGVtLXBhZC1scmcgJGVsZW0tcGFkLXhscmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLTMge1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi0tNCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcik7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS01MFxcLzUwe1xuICAgICAgICAvL0VxdWFsIENvbHNcbiAgICAgICAgLy8kYXNpZGUtd2lkdGhcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS03NVxcLzI1e1xuICAgICAgICAvL0xhcmdlIC8gU21hbGwgQ29sc1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgkYXNpZGUtd2lkdGgtbWF4LCAkYXNpZGUtd2lkdGgtbWF4KTtcbiAgICAgICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS0yNVxcLzc1e1xuICAgICAgICAvL1NtYWxsIC8gTGFyZ2UgQ29sc1xuICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoJGFzaWRlLXdpZHRoLW1heCwgJGFzaWRlLXdpZHRoLW1heCkgbWlubWF4KDAsIDFmcik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sLWdyaWQtZmxleCB7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogJGd1dHRlcjtcblxuICAgICYgPiAubC1ncmlkX19jb2wge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgZmxleDogMCAxIGNhbGMoKDEwMCUgLSAjezMgKiAkZ3V0dGVyfSkgLyAyKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgZmxleDogMCAxIGNhbGMoKDEwMCUgLSAjezMgKiAkZ3V0dGVyfSkgLyA0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICAgICAmLS1jYXJkLWltZyB7XG4gICAgLy8gICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gICAgLy8gICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgXG4gICAgLy8gICAgIHBhZGRpbmc6JGVsZW0tcGFkIDA7XG4gICAgLy8gICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgIC8vICAgICAgICAgcGFkZGluZzokZWxlbS1wYWQtbHJnIDA7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAvLyAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcik7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAvLyAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcik7XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuXG4ubC1zaXRlX193cmFwcGVyIHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnIgYXV0bztcblxufVxuXG5cbi5sLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzokZWxlbS1wYWQtc207XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcblxuXG4gICAgJi0tbWFpbiwgJi0tYnJlYWRjcnVtYnN7XG4gICAgICAgIHBhZGRpbmctdG9wOjAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206MCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkO1xuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLWlubmVyLXN0eWxlcztcbiAgICAgICAgLmwtY29udGFpbmVyLS1jb250ZW50ICYge1xuICAgICAgICAgICAgLy9hZGRlZCBjb250ZW50IG1vZGlmaWVyIHNvIGZ1bGwgd2lkdGggY29udGVudCBjYW4gYmUgdXNlZCBvbiBjb250ZW50cGFnZSB3aXRob3V0IGFueSBrbm9jayBvbiBlZmZlY3RzIHRvIG90aGVyIHRlbXBsYXRlcy5cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1heC13aWR0aDogJG1heC1mdWxsLWJsZWVkO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuYmFja3RvdG9wIHtcbiAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDowO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG5cbi5sLXNpZGUtbmF2IHtcbiAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgdG8gcmlnaHQsXG4gICAgICAgICAgICAgICAgc2V0Y29sb3IoNSkgMCA1MCUsXG4gICAgICAgICAgICAgICAgI2ZmZmZmZiA1MCUgMTAwJVxuICAgICAgICAgICAgICAgICk7XG4gICAgfVxuICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZ2FwOiAkZWxlbS1wYWQ7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwMHB4IDFmcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19jb2wge1xuICAgICAgICBwYWRkaW5nLXRvcDogJGVsZW0tcGFkLWxyZztcbiAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkZWxlbS1wYWQtbHJnO1xuXG4gICAgICAgICYtYXNpZGUsICYtbWFpbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRlbGVtLXBhZC1zbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDokZWxlbS1wYWQtc207XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiRlbGVtLXBhZC1zbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6YXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICYtYXNpZGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoNSk7XG4gICAgICAgIH1cbiAgICAgICAgJi1tYWluIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGVsZW0tcGFkLWxyZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfVxuICAgIC5sLWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6MCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTowICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5sLWNvbnRhaW5lcl9faW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgXG59ICAgXG5cbi5sLXNlY3Rpb24ge1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6dmFyKC0tc2VjdGlvbi1zcGFjZSk7XG4gICAgcGFkZGluZy1ib3R0b206dmFyKC0tc2VjdGlvbi1zcGFjZSk7XG4gICAgLmwtc2l0ZV9fbWFpbiA+ICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAvLyBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgJiA+ICo6Zmlyc3QtY2hpbGQsICYgPiAubC1zZWN0aW9uX19pbm5lciA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICYgPiAqOmxhc3QtY2hpbGQsICYgPiAubC1zZWN0aW9uX19pbm5lciA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJl9faW5uZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4LWZ1bGwtYmxlZWQ7XG4gICAgICAgICYtLWNvbnRhaW5lZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDphdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OmF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBjb250YWluZXItaW5uZXItc3R5bGVzO1xuICAgICAgICB9XG4gICAgfVxuICAgICYtLWJnIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoNSk7XG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIC8vUmVtb3ZlIHRvcCBwYWRkaW5nIGlmIGZvbGxvd2luZyBhbm90aGVyIHNlY3Rpb24gd2l0aCBhIGJhY2tncm91bmQsIHRvIGF2b2lkIGxhcmdlIGdhcHMgYmV0d2VlbiBzZWN0aW9uc1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH0gICBcbiAgICB9XG4gICAgJjpub3QoLmwtc2VjdGlvbi0tYmcpIHtcbiAgICAgICAgLy9SZW1vdmUgdG9wIHBhZGRpbmcgaWYgZm9sbG93aW5nIGFub3RoZXIgc2VjdGlvbiB3aXRob3V0IGEgYmFja2dyb3VuZCwgdG8gYXZvaWQgbGFyZ2UgZ2FwcyBiZXR3ZWVuIHNlY3Rpb25zXG4gICAgICAgICYgKyAmOm5vdCgubC1zZWN0aW9uLS1iZykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjpoYXMoPiAubC1zZWN0aW9uX19pbm5lciA+IC5jYXJkLS13aWRlOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbn1cblxuLmwtc2VjdGlvbjIyIHtcbiAgICBtYXJnaW4tdG9wOiAkZ3V0dGVyLWxyZztcbiAgICAvLyAmICsgJiB7XG4gICAgLy8gICAgIG1hcmdpbi10b3A6ICRndXR0ZXI7XG4gICAgLy8gfVxuICAgIC5sLXNlY3Rpb24tLWJnICsgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgICYtLW5vLW1hcmdpbiwgJi0tYmcgKyAgJi0tYmd7XG4gICAgICAgIG1hcmdpbi10b3A6MCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIFxuICAgIC5sLXNpdGVfX21haW4gJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgICYtLWJnIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoNSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkZ3V0dGVyLWxyZztcbiAgICAgICAgLmwtc2VjdGlvbl9faW5uZXI6bm90KDpoYXMoPiA6Zmlyc3QtY2hpbGQuY2FyZCkpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkZWxlbS1wYWQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkZWxlbS1wYWQtbHJnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgJi13aGl0ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB9XG4gICAgICAgICYgKyAubC1zZWN0aW9uICB7XG4gICAgICAgICAgIC8vIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OmF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDphdXRvO1xuICAgICAgICBtYXgtd2lkdGg6ICRtYXgtZnVsbC1ibGVlZC13LWd1dHRlcjtcblxuICAgICAgICAmIGgyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgfVxuICAgICAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nOjAgJGVsZW0tcGFkO1xuICAgICAgICB9XG4gICAgICAgICYtLW5vLXBhZCB7XG4gICAgICAgICAgICBwYWRkaW5nOjAgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJiA+ICo6bm90KC5jYXJkLS13aWRlKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDokZWxlbS1wYWQtbHJnO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiRlbGVtLXBhZC1scmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1mdWxsLWJsZWVkIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAmLS1jb250YWluZWQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6YXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDphdXRvO1xuICAgICAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLWlubmVyLXN0eWxlcztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuLmwtY29udGVudCB7XG4gICAgIEBpbmNsdWRlIGNvbnRhaW5lci1pbm5lci1zdHlsZXM7XG4gICAgcGFkZGluZzokZWxlbS1wYWQtbHJnIDA7XG4gICAgJiArICYge1xuICAgICAgICBwYWRkaW5nLXRvcDowO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAmLS1jb250YWluZWQge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZWQtd2lkdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OmF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDphdXRvO1xuXG4gICAgICAgIC5sLWNvbW1lcmNlICYge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkY29tbWVyY2Utd2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi0tY29udGFpbmVkLXdpZGUge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZWQtd2lkZS13aWR0aDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gICAgJi0td2lkZSB7XG4gICAgICAgIG1heC13aWR0aDogJG1heC1mdWxsLWJsZWVkO1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy10b3A6MDtcbiAgICB9XG5cbiAgICAucHJvZHVjdCAmIHtcbiAgICAgICAgcGFkZGluZzowO1xuICAgIH1cbn1cblxuLmNvbnRlbnQtYmxvY2sge1xuICAgIG1heC13aWR0aDogJGNvbnRhaW5lZC13aWR0aDtcbiAgICBtYXJnaW46MCBhdXRvO1xuXG4gICAgJi0td2lkZSB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuXG4ubC1zZWN0aW9uX19ob21lLWxhc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAubmV3c2xldHRlci1zaWdudXAge1xuICAgICAgIC8vIG9yZGVyOjM7XG4gICAgfVxuXG4gICAgLmhvbWVfX3RpbGVzIHtcbiAgICAgICAgb3JkZXI6MjtcbiAgICAgICAgLy9tYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAuaG9tZV9fdGlsZXMge1xuICAgICAgICAgICAgb3JkZXI6MjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICAkZWxlbS1wYWQgO1xuICAgICAgICB9XG4gICAgICAgIC5uZXdzbGV0dGVyLXNpZ251cCB7XG4gICAgICAgICAgIC8vIG9yZGVyOjE7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuJHN2Z1NpemU6IDE2cHg7XG5cbi5hLWljb24ge1xuICAgICZfX3N2ZyB7XG4gICAgICAgIGhlaWdodDogJHN2Z1NpemU7XG4gICAgICAgIHdpZHRoOiAkc3ZnU2l6ZTtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICAmLS14MS01IHtcbiAgICAgICAgICAgIGhlaWdodDogJHN2Z1NpemUgKiAxLjU7XG4gICAgICAgICAgICB3aWR0aDogJHN2Z1NpemUgKiAxLjU7XG4gICAgICAgIH1cbiAgICAgICAgJi0teDIge1xuICAgICAgICAgICAgaGVpZ2h0OiAkc3ZnU2l6ZSAqIDI7XG4gICAgICAgICAgICB3aWR0aDogJHN2Z1NpemUgKiAyO1xuICAgICAgICB9XG4gICAgICAgICYtLXgyLTUge1xuICAgICAgICAgICAgaGVpZ2h0OiAkc3ZnU2l6ZSAqIDIuNTtcbiAgICAgICAgICAgIHdpZHRoOiAkc3ZnU2l6ZSAqIDIuNTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXgzIHtcbiAgICAgICAgICAgIGhlaWdodDogJHN2Z1NpemUgKiAzO1xuICAgICAgICAgICAgd2lkdGg6ICRzdmdTaXplICogMztcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXg0IHtcbiAgICAgICAgICAgIGhlaWdodDogJHN2Z1NpemUgKiA0O1xuICAgICAgICAgICAgd2lkdGg6ICRzdmdTaXplICogNDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXg1IHtcbiAgICAgICAgICAgIGhlaWdodDogJHN2Z1NpemUgKiA1O1xuICAgICAgICAgICAgd2lkdGg6ICRzdmdTaXplICogNTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG5cbi5sb2dvIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjBweDtcbiAgICAmLS1zbSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtYXBweS1icCh4c21hbGwpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAzOTBweDtcbiAgICAgICAgbWluLXdpZHRoOiAzOTBweDtcbiAgICAgICAgJi0tc20ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgLy8gbWF4LXdpZHRoOiAzOTBweDtcbiAgICB9XG59XG4iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG5cblxuXG4uaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgc2V0Y29sb3IoNCk7XG4gICAgei1pbmRleDogJHotaW5kZXgtLW9udG9wO1xuICAgICZfX2xvZ291dCB7XG4gICAgICAgIC5hLWljb25fX3N2ZyB7XG4gICAgICAgICAgICB3aWR0aDoyOXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgIH1cbiAgICBcbiAgICAuc2VhcmNoLS1vcGVuICYge1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcigzKTtcbiAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgIH1cbiAgICB9XG5cbiAgICBcbiAgICAuaXMtc3RpY2t5ICZ7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTs7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAkei1pbmRleC0tb250b3A7XG4gICAgICAgICAgICAvLyBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLDAsMCwwLjEyKTtcblxuICAgICAgICAgICAgLmhlYWRlcl9faW5uZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgIH1cbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjMWZhZWRkO1xuICAgIC8vIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIC8vIHN2ZyB7XG4gICAgLy8gICAgIGZpbGw6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgLy8gfVxuLy8gcGFkZGluZzokZWxlbS1wYWQ7XG4gICAgJi5sLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzokZWxlbS1wYWQgJGVsZW0tcGFkIDAgJGVsZW0tcGFkO1xuICAgICAgICB9XG4gICAgfVxuICAgJl9faW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAvL2dyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkICRlbGVtLXBhZC1zbSAkZWxlbS1wYWQtc20gJGVsZW0tcGFkLXNtO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAubmF2aWdhdGlvbi0tb3BlbiAmICB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcigzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2Upe1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgIC8vb25seSBvbiBmdWxsIFxuICAgICAgICAgICAgLy8gZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgbWlubWF4KDQwMHB4LCAxZnIpIDFmcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgfVxuICAgXG4gICAgJl9fYWNjb3VudCB7XG5cbiAgICAgICAgJi1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiA1cHg7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmhlYWRlcl9fYWNjb3VudC10ZXh0IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgICAgIC5oZWFkZXJfX2FjY291bnQtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLWxvZ2dlZC1pbiB7XG4gICAgICAgICAgICAuaGVhZGVyX19hY2NvdW50LWxpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOnNldGNvbG9yKDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2ljb25zIHtcbiAgICAgICAgIGNvbG9yOnNldGNvbG9yKDEpO1xuICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjpzZXRjb2xvcigxKTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgIFxuICAgICAgICBcbiAgICAgICAgLmEtaWNvbl9fc3ZnIHtcbiAgICAgICAgICAgIC8vIGNvbG9yOnNldGNvbG9yKDEpO1xuICAgICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi0tYmFza2V0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgICAgICAgICAuYWN0aXZlICYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hLWljb25fX3N2ZyB7XG4gICAgICAgICAgICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgIH1cblxuICAgICZfX2xlZnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDokZWxlbS1wYWQtc207XG4gICAgfVxuXG4gICAgLmxvZ29fX3dyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgJl9fYmFza2V0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYtY291bnQge1xuICAgICAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOjRweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VhcmNoIHtcbiAgICAgICAgJi1idG4ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgLmEtaWNvbl9fc3ZnICB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW4tdG9wOi03cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY2NvdW50IHtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBnYXA6cmVtMigxNXB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OnJlbTIoMTVweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtMigxNHB4KTtcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbTIoMTZweCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdXRpbGl0aWVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOjE1cHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgJi1saW5rcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG59XG5cblxuXG5cbiAgICBcbi8qPT1Db250ZW50IEhlYWRlcj09Ki9cblxuXG4vKj09Q29udGVudCBIZWFkZXI9PSovXG4uY29udGVudC1oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiAkZWxlbS1wYWQtbHJnO1xuICAgIHBhZGRpbmctYm90dG9tOiRlbGVtLXBhZC14eHNtO1xuICAgIC5sLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMgKyAmIHtcbiAgICAgICAgcGFkZGluZy10b3A6MDtcbiAgICB9XG4gICAgJltjbGFzcyo9XCJ1LWJnLWNvbG9yXCJdLCAmW2NsYXNzXj1cInUtYmctY29sb3JcIl0sICYuaGVhZGVyLS1jb250ZW50IHtcbiAgICAgICAgLy8gcGFkZGluZy10b3A6ICRlbGVtLXBhZC14bHJnO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTokZWxlbS1wYWQtbHJnO1xuICAgIH1cbiAgICAmX19pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiAkaGVyby10eHQtbWF4LXdpZHRoO1xuICAgIH1cbiAgICAmX19pbnRybyB7XG4gICAgICAgIG1heC13aWR0aDogcmVtMig3MzVweCk7IC8vQWRqdXN0ZWRcbiAgICB9XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuXG4vKlN0eWxlcyB3aGVuIHRoZSBoZWFkZXIgaXMgc2V0IHRvIG92ZXJsYXkgdGhlIGJhbm5lcnMqL1xuXG4ubG9nb19fd3JhcCB7XG4gICAgJi0tZGFyayB7XG4gICAgICAgIFtjbGFzcyo9XCJsb2dvLXdoaXRlLS1cIl0ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXdoaXRlIHtcbiAgICAgICAgW2NsYXNzKj1cImxvZ28tZGFyay0tXCJdIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2aWdhdGlvbi0tb3BlbiAmLCAuaXMtc3RpY2t5ICYge1xuICAgICAgICAmLS13aGl0ZSB7XG4gICAgICAgICAgICAubG9nby1kYXJrLS1zbSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubG9nby13aGl0ZS0tc20ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkgeyBcbiAgICAgICAgICAgICAgICAubG9nby1kYXJrLS1zbSwgLmxvZ28td2hpdGUtLXNtLCAubG9nby13aGl0ZS0tbHJnIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxvZ28tZGFyay0tbHJnIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG4uc2VhcmNoX19zdWJtaXQge1xuICAgIHN2ZyB7XG4gICAgICAgIC8vUmVzZXQgdGhlIGNvbG91ciB0byBvdmVycmlkZSBnZW5lcmljZSBzdmcgd2hpdGUgc3R5bGVcbiAgICAgICAgY29sb3I6c2V0Y29sb3IoMikgICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuYm9keS5oZWFkZXItLW92ZXJsYXk6bm90KC5pcy1zdGlja3kpOm5vdCgubmF2aWdhdGlvbi0tb3Blbikge1xuICAgIFxuICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgIC8vIC5uYXZpZ2F0aW9uX19pdGVtIHtcbiAgICAgICAgLy8gICAgICBtYXJnaW46cmVtMigxNnB4KSAwOyBcbiAgICAgICAgLy8gfVxuICAgICAgICAvLyAubmF2aWdhdGlvbl9fbGluayB7XG4gICAgICAgIC8vICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgLy8gICAgIHBhZGRpbmc6JGVsZW0tcGFkLXhzbSAkZWxlbS1wYWQtc20gO1xuICAgICAgICBcbiAgICAgICAgLy8gfVxuICAgICAgICAvLyAuc3ViX25hdmlnYXRpb24tLWhvdmVyLWFjdGl2ZSAubmF2aWdhdGlvbl9fbGluayB7XG4gICAgICAgIC8vICAgICBib3JkZXItY29sb3I6I2ZmZmZmZjtcbiAgICAgICAgLy8gfVxuICAgIH1cbiAgICBoZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgfVxuICAgIC5uYXZpZ2F0aW9uX193cmFwcGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAgLm5hdmlnYXRpb25fX2xpbmssIHN2Zzpub3QoLnNlYXJjaF9fc3VibWl0IHN2ZyksIC5oZWFkZXJfX2Jhc2tldC1jb3VudCAge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiNmZmZmZmYgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhlcm9fX2ltZy1vdmVybGF5IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgICAgIHRvIGJvdHRvbSxcbiAgICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjUpIDAlLFxuICAgICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIDAuNCkgMjAlLFxuICAgICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIDAuMjUpIDQwJSxcbiAgICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjEpIDU1JSxcbiAgICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAwKSA3MCVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5oZWFkZXJfX2FjY291bnQtbGluayB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmhlYWRlcl9fYWNjb3VudC10ZXh0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjojZmZmZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5pcy1vcGVuIC5oZWFkZXJfX3NlYXJjaC1pbnB1dC13cmFwIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuXG4gICAgfVxufVxuIiwiXG5AdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG5cblxuI2NjLXBhbmVsIHtcbiAgICAgcGFkZGluZzoyNXB4ICFpbXBvcnRhbnQ7XG5cbiAgICAvLyAgaDIsIGgzLCBoNCB7XG4gICAgLy8gICAgIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keSAhaW1wb3J0YW50O1xuICAgIC8vICB9XG5cbiAgICAgI2NjYy1uZWNlc3NhcnktdGl0bGUge1xuICAgICAgICAgQGluY2x1ZGUgdXBwZXJjYXNlLXNwYWNlZDtcbiAgICAgfVxufVxuI2NjYy1ub3RpZnkge1xuICAgICoge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB9XG59XG4jY2NjLWJ1dHRvbi1ob2xkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiRlbGVtLXBhZC14c207XG59XG4jY2NjLW5vdGlmeS10aXRsZSA+IHNwYW57XG5mb250LXNpemU6MzBweDtcbmNvbG9yOnNldGNvbG9yKDIpICFpbXBvcnRhbnQ7XG5mb250LXdlaWdodDpub3JtYWw7XG5kaXNwbGF5OiBmbGV4O1xuYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5jY2Mtbm90aWZ5LXRleHQge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGgxIHtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG4jY29va2llX2ljb24ge1xuICAgIG1hcmdpbi1yaWdodDoxMHB4O1xuZmlsbDpzZXRjb2xvcigyKSAhaW1wb3J0YW50O1xuY29sb3I6c2V0Y29sb3IoMikgICFpbXBvcnRhbnQ7XG5tYXJnaW46MCBhdXRvO1xufVxuI2Nvb2tpZV9pY29uIHN2Z3tcbmhlaWdodDo0MHB4O1xuXG5maWxsOnNldGNvbG9yKDIpO1xuICAgIFxufVxuI2NjYy10aXRsZSB7XG59XG4jY2NjIC5jY2MtbW9kdWxlLS1wb3B1cCAjY2NjLWNvbnRlbnQge1xuYmFja2dyb3VuZDojZmZmZmZmICFpbXBvcnRhbnQ7XG5ib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG5tYXgtaGVpZ2h0OiByZW0yKDExMDBweCkgIWltcG9ydGFudDtcbn1cbmJvZHkgI2NjYyAuY2NjLW5vdGlmeS1idXR0b24ge1xuXG59XG5ib2R5ICNjY2MgLmNjYy1ub3RpZnktYnV0dG9uLmNjYy1hY2NlcHQtYnV0dG9uLCBib2R5ICNjY2MgLmNjYy1ub3RpZnktYnV0dG9uLmNjYy1yZWplY3QtYnV0dG9uLCBib2R5ICNjY2MgLmNjYy1ub3RpZnktYnV0dG9uI2NjYy1ub3RpZnktcmVqZWN0LCAjY2NjICNjY2MtYnV0dG9uLWhvbGRlciBidXR0b24jY2NjLXJlY29tbWVuZGVkLXNldHRpbmdzICB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogcmVtMig2cHgpIHJlbTIoMjBweCk7XG4gICAgY29sb3I6ICRidG4tbWFpbjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgQGluY2x1ZGUgdXBwZXJjYXNlLXNwYWNlZDtcbiAgICBib3JkZXI6MXB4IHNvbGlkICRidG4tbWFpbiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1sZWZ0OjAgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmlnaHQ6MCAhaW1wb3J0YW50O1xuICAgIFxuICAgIEBpbmNsdWRlIGJ0bi1zaW1wbGUtc3R5bGU7XG4gICAgLy9ib3JkZXItYm90dG9tOjFweCBzb2xpZCBzZXRjb2xvcigyKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6MCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOjA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIG1hcmdpbjowIGF1dG8gIWltcG9ydGFudDtcblxufVxuYm9keSAjY2NjIC5jY2Mtbm90aWZ5LWJ1dHRvbiNjY2Mtbm90aWZ5LXJlamVjdHtcbiAgICBcbiAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAvLyBtYXJnaW4tbGVmdDogJGVsZW0tcGFkICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuYnV0dG9uLmNjYy1ub3RpZnktbGluayBzcGFuIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6c2V0Y29sb3IoMikgIWltcG9ydGFudDtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogc2V0Y29sb3IoMyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMCUgMnB4O1xuICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IHJlbTIoNHB4KTtcbiAgICB9XG59XG5idXR0b24uY2NjLW5vdGlmeS1saW5rIHtcbiB0ZXh0LWRlY29yYXRpb246bm9uZTtcblxufVxuI2NjYyAuY2NjLW5vdGlmeS1idXR0b24uY2NjLW5vdGlmeS1saW5rIHtcbiBwYWRkaW5nOiRlbGVtLXBhZC1zbSAwIDAgMCAhaW1wb3J0YW50O1xufVxuLmNjYy1ub3RpZnktYnV0dG9uIHNwYW4sIGJvZHkgI2NjYyAuY2NjLW5vdGlmeS1idXR0b24uY2NjLWFjY2VwdC1idXR0b24gc3BhbiB7XG4vL3BhZGRpbmctYm90dG9tOjhweDtcbmRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcbi8vYm9yZGVyLWJvdHRvbToxcHggc29saWQgc2V0Y29sb3IoMikgIWltcG9ydGFudDtcbn1cbiNjY2Mtbm90aWZ5LWRpc21pc3Mge1xuZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XG59XG4jY2NjLCAjY2NjLXRpdGxlIHtcbmZvbnQtZmFtaWx5OiBcIkZvcnVtXCIsIHNlcmlmICFpbXBvcnRhbnQ7XG59XG5cbiNjY2MtdGl0bGUge1xuIC8vdGV4dC1hbGlnbjpjZW50ZXIgIWltcG9ydGFudDs7XG59XG5cbiNjY2MgI2NjYy1ub3RpZnkgcCB7XG5mb250LXNpemU6MjBweCAhaW1wb3J0YW50O1xufVxuXG4jY2NjICNjY2Mtbm90aWZ5IHtcbiAgICBkaXNwbGF5OmZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW4gIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgXG5AaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgIHBhZGRpbmc6ICRlbGVtLXBhZCAhaW1wb3J0YW50O1xufVxuXG59XG5cbiNjY2MgI2NjYy1idXR0b24taG9sZGVyIGJ1dHRvbiNjY2MtcmVjb21tZW5kZWQtc2V0dGluZ3Mge1xuLy8gYmFja2dyb3VuZC1jb2xvcjpzZXRjb2xvcigyKSAhaW1wb3J0YW50O1xuLy8gY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuI2NjYyAjY2NjLWJ1dHRvbi1ob2xkZXIgYnV0dG9uI2NjYy1yZWNvbW1lbmRlZC1zZXR0aW5ncyBzcGFue1xuLy8gYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuLy8gY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50O1xuXG59XG4jY2NjIC5jaGVja2JveC10b2dnbGUtLWRhcmsgLmNoZWNrYm94LXRvZ2dsZS10b2dnbGUge1xuYmFja2dyb3VuZC1jb2xvcjpzZXRjb2xvcigyKSAhaW1wb3J0YW50O1xufVxuXG5cblxuLypjb2RlIHRvIGNlbnRlciB0aGUgYnV0dG9ucyovXG4uY2NjLW5vdGlmeS1idXR0b25zIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICBjb2x1bW4tZ2FwOiAkZWxlbS1wYWQ7XG4gIHJvdy1nYXA6ICRlbGVtLXBhZC1zbTtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNldHRpbmdzIGJ1dHRvbjogdGhpcmQgY2hpbGQgaW4gbWFya3VwICovXG4uY2NjLW5vdGlmeS1saW5rIHtcbiAgb3JkZXI6IC0xO1xuICBncmlkLWNvbHVtbjogMSAvIC0xOyAvKiBzcGFucyBmdWxsIHdpZHRoLCBpdHMgb3duIHJvdyAqL1xuICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLyogQWNjZXB0IGFuZCByZWplY3Qgc2l0IG9uIHRoZSByb3cgYmVsb3csIHNpZGUgYnkgc2lkZSAqL1xuLmNjYy1hY2NlcHQtYnV0dG9uIHtcbiAgb3JkZXI6IDE7XG5cbn1cblxuLmNjYy1yZWplY3QtYnV0dG9uIHtcbiAgb3JkZXI6IDI7XG59XG5cblxuXG4vKj09PT1jb29raWUgaGVhZGluZyBpY29uPT09Ki9cbi5jb29raWVzLWxvZ28ge1xuICBjb2xvcjogc2V0Y29sb3IoMik7XG5cbiAgLS1sb2dvLWZvbnQtc2l6ZTogI3tyZW0yKDQ4cHgpfTtcbiAgLS1sb2dvLWxldHRlci1zcGFjaW5nOiAjeyRscy1oZWFkaW5nc307XG5cbiAgLS1jb29raWUteDogMzJweDtcbiAgLS1jb29raWUteTogOHB4O1xuICAtLWNvb2tpZS1zY2FsZTogMC4wNzI1O1xufVxuXG4uY29va2llcy1sb2dvIHRleHQge1xuICBmb250LWZhbWlseTogRm9ydW0sIHNlcmlmO1xuICBmb250LXNpemU6IHZhcigtLWxvZ28tZm9udC1zaXplKTtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbG9nby1sZXR0ZXItc3BhY2luZyk7XG59XG5cbi5jb29raWVzLWxvZ29fX2ljb24ge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLWNvb2tpZS14KSwgdmFyKC0tY29va2llLXkpKSBzY2FsZSh2YXIoLS1jb29raWUtc2NhbGUpKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcblxuLmhhbWJ1cmdlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyN3B4OyAgICAgIC8vIHdoYXRldmVyIHlvdXIgYnVyZ2VyIHdpZHRoIGlzXG4gICAgaGVpZ2h0OiA0M3B4OyAvLzM4cHggICAgLy8gZGl0dG8gZm9yIGhlaWdodFxuICAgIC8vIG1hcmdpbi10b3A6LTdweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5saW5lIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZDogc2V0Y29sb3IoMSk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLCBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuICBcbiAgICAvLyBzdGFjayB0aGVtIGF0IDEvNCwgMS8yLCAzLzQgb2YgdGhlIGNvbnRhaW5lciBoZWlnaHRcbiAgICAubGluZTpudGgtY2hpbGQoMSkgeyB0b3A6IDI1JTsgfVxuICAgIC5saW5lOm50aC1jaGlsZCgyKSB7IHRvcDogNTAlOyB9XG4gICAgLmxpbmU6bnRoLWNoaWxkKDMpIHsgdG9wOiA3NSU7IH1cbiAgfVxuICAuaGFtYnVyZ2VyLS1hY3RpdmUge1xuICAgIC5saW5lOm50aC1jaGlsZCgyKSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAubGluZTpudGgtY2hpbGQoMSksXG4gICAgLmxpbmU6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRvcDogNTAlOyAgICAgICAgICAgICAgLy8gYnJpbmcgYm90aCBvdXRlciBsaW5lcyB0byB0aGUgdmVydGljYWwgY2VudGVyXG4gICAgfVxuICAgIC5saW5lOm50aC1jaGlsZCgxKSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICAgIC5saW5lOm50aC1jaGlsZCgzKSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbiAgfVxuICAiLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG5cbiNtYWluTmF2LmlzLXN0aWNreSB7XG4gICAgXG4gICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTs7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwwLDAsMC4xMik7XG4gICAgfVxufVxuXG4ubmF2aWdhdGlvbiB7XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgLy9mb250LXNpemU6IHJlbTIoMTZweCk7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcigzKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAvLyBtYXJnaW46ICRlbGVtLXBhZC14c20gMDtcbiAgICAgICAgfVxuICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgICAgICAgICBcblxuICAgICAgICAgfVxuICAgICAgICAubmF2aWdhdGlvbi0tb3BlbiAmIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwZHZoO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2lubmVyIHtcbiAgICAgICAgcGFkZGluZzogcmVtMigxMjBweCkgJGVsZW0tcGFkLXNtICRlbGVtLXBhZC1zbSAkZWxlbS1wYWQtc207IC8vQWRqdXN0ZWRcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDExMDBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICB9XG4gICAgfSBcbiAgICAmX19pdGVtcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIC8vIG1hcmdpbjogJGVsZW0tcGFkLXhzbSAwO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICB9ICAgICBcbiAgICBcbiAgICAmX19pdGVtIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKDEpO1xuICAgICAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW46cmVtMigyOHB4KSAwOyAvL0FkanVzdGVkXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIH1cbiAgICAgICAgJi0tYWN0aXZlLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLm5hdmlnYXRpb25fX2xpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgPiBhLCAmID4gc3BhbiwgJiA+IGJ1dHRvbiB7XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjVzO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbTIoMThweCk7IFxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LW1haW47XG4gICAgICAgICAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtMigxNXB4KSAwO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkLXh4c20gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzowOyBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Zvb3RlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkZWxlbS1wYWQtc207XG4gICAgICAgIHBhZGRpbmctdG9wOiAkZWxlbS1wYWQ7XG4gICAgICAgIG1hcmdpbi10b3A6ICRlbGVtLXBhZDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHNldGNvbG9yKDQpO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtbGlzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogJGVsZW0tcGFkLXh4c207XG4gICAgICAgIH1cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiBjYWxjKCRlbGVtLXBhZC14eHNtIC0gNHB4KTtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIC5uYXZpZ2F0aW9uX19mb290ZXItaXRlbS1pY29uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6ICRlbGVtLXBhZC14eHNtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgXG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuLnNpZGUtbmF2IHtcblxuICAgICZfX3dyYXAge1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQtbHJnO1xuICAgICAgICB9XG4gICAgfVxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0yKDRweCkgMDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgIH1cbiAgICAgICBcbiAgICB9XG4gICAgJl9faXRlbSB7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgICBwYWRkaW5nOjAlO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgLnNpZGUtbmF2X19saW5rIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mb290ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAkZWxlbS1wYWQ7XG4gICAgICAgIC5zaWRlLW5hdl9fbGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkO1xuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcblxuXG5cbi5tZWdhbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoMyk7XG4gICAgXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAkZWxlbS1wYWQtbHJnO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIFxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IFxuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZzowIDtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAwO1xuICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOjA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNDVzIGVhc2UsIG9wYWNpdHkgLjQ1cyBlYXNlLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAuNDVzO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTExMCUpO1xuICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQtbHJnICRlbGVtLXBhZDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC41cztcbiAgICAgICAgdG9wOmF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOnJlbTIoMjhweCk7XG4gICAgfVxuICAgIFxuICAgIC5tZWdhbWVudS0tYWN0aXZlICZ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjQ1cyBlYXNlLCBvcGFjaXR5IC40NXMgZWFzZSwgdmlzaWJpbGl0eSAwcztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyAgLyogc2xpZGUgaW50byB2aWV3ICovXG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlLCAnbWF4Jykge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2aWdhdGlvbl9faXRlbS0taGFzLW1lZ2FtZW51OmhvdmVyICYsXG4gICAgLm5hdmlnYXRpb25fX2l0ZW0tLWhhcy1tZWdhbWVudS5tZWdhbWVudS0taG92ZXItYWN0aXZlICYge1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgLy8gYm9yZGVyLXRvcDpyZW0yKDI4cHgpIHNvbGlkICNmZmZmZmY7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwczsgXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfSBcbiAgICB9XG5cbiAgICAmX19jbG9zZS1idXR0b24ge1xuICAgICAgICAubWVnYW1lbnUtLWFjdGl2ZSAmIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBwYWRkaW5nOiRlbGVtLXBhZC14eHNtO1xuICAgICAgICAvLyB0b3A6MDtcbiAgICAgICAgLy8gbGVmdDpyZW0yKC04cHgpOyBcbiAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgLy8gaGVpZ2h0OjI0cHg7XG4gICAgICAgICAgICAvLyB3aWR0aDogMjR4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2lubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLWlubmVyLXN0eWxlcztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBtaW5tYXgocmVtMig2ODBweCksIDFmcik7IC8vQWRqdXN0ZWRcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbTIoMThweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzpyZW0yKDRweCkgMDsgLy9Ob3QgQWRqdXN0ZWRcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHsgXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xlZnQge1xuICAgICAgICBtYXJnaW4tbGVmdDokZWxlbS1wYWQteHNtO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JpZ2h0IHtcbiAgICAgICBtYXJnaW46JGVsZW0tcGFkLXhzbTtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgICAgIH1cbiAgICAgICAgLmwtZ3JpZCB7XG4gICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19tZW51IHtcblxuICAgIH1cblxuICAgIC5wcm9kdWN0LWNhcmQge1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcblxuLm5hdmlnYXRpb25fX2l0ZW0ge1xuXG4gICAgJi0taGFzLXN1YiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuc3ViX25hdmlnYXRpb24ge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN1Yl9uYXZpZ2F0aW9uIHtcbiAgIGRpc3BsYXk6IG5vbmUgO1xuICAgb3BhY2l0eTogMDtcbiAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxzLWJvZHk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXJnaW4tbGVmdDogLSN7JGVsZW0tcGFkLXNtfTtcbiAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgICBcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGJhY2tncm91bmQ6I2ZmZmZmZjtcbiAgICBwYWRkaW5nOiRlbGVtLXBhZC14c20gJGVsZW0tcGFkO1xuICAgIFxuICAgICYtLWFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkLXhzbSAkZWxlbS1wYWQtc207XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAvLyBtaW4td2lkdGg6IDMwMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDowO1xuICAgICAgICBcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAvLyBsZWZ0OiAtI3skZWxlbS1wYWQteHNtfTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgLmxhc3QgJiB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgLy8gcmlnaHQ6IC0jeyRlbGVtLXBhZC14c219O1xuICAgICAgICAgICAgLy8gdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgICBcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICBcbiAgICB9XG4gICAgLm5hdmlnYXRpb25fX2l0ZW0tLWhhcy1zdWIuc3ViX25hdmlnYXRpb24tLWhvdmVyLWFjdGl2ZSAmLCAubmF2aWdhdGlvbl9faXRlbS0taGFzLXN1Yi5zdWJfbmF2aWdhdGlvbi0tYWN0aXZlICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgICAgICAubmF2aWdhdGlvbl9faXRlbS0taGFzLXN1Yjpob3ZlciAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnN1Yl9uYXZpZ2F0aW9uX19pdGVtIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgXG5cbiAgICAgICAgLnN1Yl9uYXZpZ2F0aW9uX19saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtMig1cHgpIDA7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAuc3ViX25hdmlnYXRpb25fX2xpbmsge1xuICAgICAgICAgICAgICAgLy8gY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcbi5icmVhZGNydW1icyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogJGVsZW0tcGFkIDAgJGVsZW0tcGFkLXNtIDA7XG4gICAgZm9udC1zaXplOiByZW0yKDE0cHgpOyBcbiAgICBsZXR0ZXItc3BhY2luZzogJGxzLWJvZHk7XG4gICAgQGluY2x1ZGUgbWFwcHktYnAoeHNtYWxsKSB7XG4gICAgICBmb250LXNpemU6IHJlbTIoMTZweCk7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6IHNldGNvbG9yKDEpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgICY6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICAgIG1hcmdpbjogMCAwLjVlbTtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKDEpO1xuICAgICAgfVxuXG4gICAgICBcbiAgXG4gICAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1iYWNrIHtcbiAgICAgIC5hLWljb25fX3N2ZyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgXG4gICAgICAgIC8vICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAvLyAgICY6OmJlZm9yZSB7XG4gICAgICAgIC8vICAgICAgIGNvbnRlbnQ6IFwiPFwiO1xuICAgICAgICAvLyAgICAgICBtYXJnaW46IDAgMC41ZW07XG4gICAgICAgIC8vICAgICAgIGNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICAgICAgLy8gICB9XG4gICAgICAgIC8vIH1cbiAgICAgIH1cbiAgICB9XG4gIH0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG5cbi5mb290ZXIge1xuICAgICZfX3JvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIFxuICAgIH1cbiAgICAmX190b3Age1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgICAgcGFkZGluZzokZWxlbS1wYWQtbHJnIDA7XG4gICAgICAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkLWxyZyAkZWxlbS1wYWQgJGVsZW0tcGFkLWxyZyAkZWxlbS1wYWQ7XG4gICAgICAgICB9XG4gICAgfVxuICAgICZfX2NvbCB7XG4gICAgICAgIC5mb290ZXJfX3RvcCAmIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci1pbm5lci1zdHlsZXM7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIC8vIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICAgIGdhcDogJGVsZW0tcGFkLXh4c207XG5cbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBnYXA6ICRlbGVtLXBhZC1scmc7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgICAgIC8vICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAvLyB9XG4gICAgICAgIC5mb290ZXJfX2J0bSAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOjA7XG4gICAgICAgIH1cbiAgICB9IFxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQoKTtcbiAgICAgICAgcGFkZGluZzokZWxlbS1wYWQteHhzbSAwOyBcbiAgICAgICAgZm9udC1zaXplOiByZW0yKDIwcHgpO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2l0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoMyk7XG4gICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkLXhzbSAwO1xuICAgICAgICAuZm9vdGVyX19oZWFkaW5nLS1hY3RpdmUgKyAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkLXhzbSAwIDAgMDtcbiAgICAgICAgfVxuICAgICAgICAvLyBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgLy8gICAgIHBhZGRpbmc6MDtcbiAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAvLyB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtMigxN3B4KTtcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgICAgICAgICBwYWRkaW5nOnJlbTIoNXB4KSAwO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJl9fc29jaWFscyB7XG4gICAgICAgIC5mb290ZXJfX2J0bSAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiAkZWxlbS1wYWQtc207XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGVsZW0tcGFkO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5mb290ZXJfX3RvcCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnRtIHsgICAgICAgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkO1xuICAgICAgICAuZm9vdGVyX19zb2NpYWxzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xlZ2FsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiRlbGVtLXBhZC1zbTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fYnRtLWxpbmtzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6JGVsZW0tcGFkLXNtO1xuICAgICAgICBmb250LXNpemU6ICRmbnQtc2l6ZS1zbWFsbDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjpzZXRjb2xvcigxKTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbGVnYWwge1xuICAgICAgICBcbiAgICB9XG59XG4iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG4uYmxvY2txdW90ZXMge1xuICAgIG1hcmdpbjogJGVsZW0tcGFkLWxyZztcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBmb250LXNpemU6IHJlbTIoNTBweCk7IFxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgY2l0ZSB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcblxuLmhlcm8ge1xuXG4gICAgJl9fd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4LWZ1bGwtYmxlZWQ7XG4gICAgICAgIFxuICAgICAgICAuZi1jYXJvdXNlbF9fdmlld3BvcnQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAmX19pbm5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6ICRtYXgtZnVsbC1ibGVlZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgJl9faW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4LWZ1bGwtYmxlZWQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vIGhlaWdodDogY2FsYyg1MHZoIC0gMTEwcHgpO1xuICAgICAgICAvLyBtYXgtaGVpZ2h0OiBjYWxjKDUwdmggLSAxMTBweCk7ICAgICAgICBcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cblxuICAgICAgICAmLWNhcHRpb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoc2V0Y29sb3IoNSksIDAuOCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkLXNtO1xuXG4gICAgICAgICAgICBQIHtcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgICAgLy9QcmV2ZW50IGNhcHRpb24gZnJvbSBzaG93aW5nIG9uIG1vYmlsZSB3aGVuIHRhcHBpbmcgdGhlIGltYWcgYXMgbm8gd2F5IG9mIHVuaG92ZXJpbmdcbiAgICAgICAgICAgICAmOmhvdmVyICYtY2FwdGlvbiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS1hY3RpdmUgJi1jYXB0aW9uIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7IFxuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zbGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX3R4dCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogJGhlcm8tdHh0LW1heC13aWR0aDtcbiAgICAgICAgaDEsIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtMigyNnB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQoKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0yKDI2cHgpOyAvL0FkanVzdGVkXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gQGluY2x1ZGUgY29udGFpbmVyLWlubmVyLXN0eWxlcztcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZC1scmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXN1YiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAmX19pbWcge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19pbm5lciB7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICBAaW5jbHVkZSBjb250YWluZXItaW5uZXItc3R5bGVzO1xuICAgICAgICAgICAgIC5oZXJvLXN1Yi0tZnVsbC13aWR0aCAmIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmhlcm8tLXZpZGVvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA2N3ZoO1xuICAgIC5oZXJvX192aWRlbyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjsgXG4gICAgfVxuICAgIC5oZXJvX19vdmVybGF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDowO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuaGVyb19faW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDEuMzYzNjM2MzYzNnJlbTtcbiAgICAgICAgLyogYmFja2dyb3VuZDogcmdiYSgyNDYsIDI0MiwgMjM1LCAuNSk7ICovXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgIH1cbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG5AdXNlICdiYXNlL3V0aWxpdGllcyc7XG5cbi8qPT09PT09PT09PT09PT09PT09PVxuVkFSSUFCTEVTXG49PT09PT09PT09PT09PT09PT09PSovXG4vL0NoZWNrYm94ZXNcbiRjaGVja2JveC13aWR0aDoyNXB4O1xuJGNoZWNrYm94LWhlaWdodDogJGNoZWNrYm94LXdpZHRoO1xuJGNoZWNrYm94LXRpY2s6ICNmZmZmZmY7XG4kY2hlY2tib3gtdGljay13aWR0aDogNXB4O1xuJGNoZWNrYm94LXRpY2staGVpZ2h0OiAxMHB4O1xuJGNoZWNrYm94LWJnOiBzZXRjb2xvcigzKTtcbiRjaGVja2JveC10aWNrOiBzZXRjb2xvcig1KTtcbiRjaGVja2JveC1hY3RpdmUtYmc6IHNldGNvbG9yKDIpO1xuXG4vL1JhZGlvc1xuJHJhZGlvLXdpZHRoOiAyNHB4O1xuJHJhZGlvLWhlaWdodDogJHJhZGlvLXdpZHRoO1xuJHJhZGlvLWRvdDogc2V0Y29sb3IoMik7O1xuJHJhZGlvLWRvdC13aWR0aDogOHB4O1xuJHJhZGlvLWRvdC1oZWlnaHQ6ICRyYWRpby1kb3Qtd2lkdGg7XG4kcmFkaW8tYm9yZGVyOnNldGNvbG9yKDEpO1xuJHJhZGlvLWFjdGl2ZS1ib3JkZXI6ICRyYWRpby1ib3JkZXI7XG4kcmFkaW8tYmc6IHRyYW5zcGFyZW50O1xuJHJhZGlvLWFjdGl2ZS1iZzogdHJhbnNwYXJlbnQ7XG5cblxuaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QsIGJ1dHRvbiAgIHtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxzLWJvZHk7XG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgY3Vyc29yOm5vdC1hbGxvd2VkO1xuICAgIH1cbn1cbmlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IC8qIHJlbW92ZSBzcGFjZSByZXNlcnZlZCBmb3Igc3Bpbm5lciAqL1xuICBcbn1cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIG1hcmdpbjogMDtcbiAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5cbi8vIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4vLyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbi8vICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4vLyAgICAgbWFyZ2luOiAwO1xuLy8gfVxuXG5cbi5wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvci1wbGFjZWhvbGRlcjtcbiAgICBvcGFjaXR5OiAxO1xufVxuLmZvcm0ge1xuICAgICYtLWFjY291bnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQtbHJnO1xuICAgIH1cbiAgICAmX193cmFwIHtcbiAgICAgICAgcGFkZGluZzokZWxlbS1wYWQgJGVsZW0tcGFkLWxyZztcbiAgICAgICAgJi0tbm9wYWQge1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICB9XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOnNldGNvbG9yKDEpO1xuICAgICAgICB9XG4gICAgICAgICYtLW5hcnJvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fcm93IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGVsZW0tbWFyZ2luO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAvLyAuZm9ybS0taW5saW5lICY6bm90KC5mb3JtX19yb3ctLWJsb2NrKSB7XG4gICAgICAgIC8vICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgJi0taW5saW5lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICAgIGdhcDogJGVsZW0tbWFyZ2luO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIFxuICAgIH1cblxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQtc20gJGVsZW0tcGFkLXNtICRlbGVtLXBhZC1zbSAwO1xuXG4gICAgICAgIC5mb3JtLS1pbmxpbmUgJiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQtc207XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS0tbm9sYWJlbCAmLCAmLS1oaWRlIHtcbiAgICAgICAgICAgIEBleHRlbmQgLnUtdmlzdWFsbHktaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgbWFyZ2luOiAkZWxlbS1wYWQtc20gMCAwIDA7XG4gICAgfVxuXG4gICAgLyo9PT09PT09PT09PT09PT09PT09XG4gICAgSU5QVVRcbiAgICA9PT09PT09PT09PT09PT09PT09PSovXG4gICAgJl9faW5wdXQge1xuICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQtc207XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKDUpO1xuICAgICAgICAvLyBib3JkZXI6MXB4IHNvbGlkICBzZXRjb2xvcig1KTtcbiAgICAgICAgLmZvcm0tLXdoaXRlICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgfVxuICAgICAgICAmLS13YnRuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5wbGFjZWhvbGRlcjtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgXG5cbiAgICAgICAgXG4gICAgfVxuXG4gICAgLyo9PT09PT09PT09PT09PT09PT09XG4gICAgVEVYVCBBUkVBXG4gICAgPT09PT09PT09PT09PT09PT09PT0qL1xuICAgICZfX3RleHRhcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZC1zbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoNSk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgbWluLWhlaWdodDogcmVtMigxNjVweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgLmZvcm0tLXdoaXRlICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgfVxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5wbGFjZWhvbGRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qPT09PT09PT09PT09PT09PT09PVxuICAgIFNFTEVDVCBEUk9QRE9XTlNcbiAgICA9PT09PT09PT09PT09PT09PT09PSovXG4gICAgJl9fc2VsZWN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoNSk7XG4gICAgICAgLy8gYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIFxuICAgICAgIC8vIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTphdXRvO1xuXG4gICAgICAgIC5mb3JtLS13aGl0ZSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIH1cbiAgICAgICAgJi1pbnB1dCB7XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wbGFjZWhvbGRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkLXNtO1xuICAgICAgICAgICAgJi0taWNvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtMigzMnB4KTsgLy9BZGp1c3RlZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cblxuICAgICAgIFxuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtMig4cHgpOyAvL0FkanVzdGVkXG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyo9PT09PT09PT09PT09PT09PT09XG4gICAgQ0hFQ0tCT1hFU1xuICAgID09PT09PT09PT09PT09PT09PT09Ki9cbiAgICAmX19jaGVja2JveCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcblxuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICZfX2NoZWNrYm94LXN0eWxlZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygkY2hlY2tib3gtd2lkdGggKyAkZWxlbS1wYWQtc20pO1xuICAgICAgICBcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgJiB+ICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGVsZW0tcGFkLXNtO1xuICAgICAgICB9XG4gICAgICAgICYtdGljayB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAkY2hlY2tib3gtaGVpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6ICRjaGVja2JveC13aWR0aDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjaGVja2JveC10aWNrO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA5cHg7XG4gICAgICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRjaGVja2JveC10aWNrLXdpZHRoO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGNoZWNrYm94LXRpY2staGVpZ2h0O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogc29saWQgJGNoZWNrYm94LXRpY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDNweCAzcHggMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG5cbiAgICAgICAgICAgICZ+LmZvcm1fX2NoZWNrYm94LXN0eWxlZC10aWNrIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hlY2tib3gtYmc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Y2hlY2tlZH4uZm9ybV9fY2hlY2tib3gtc3R5bGVkLXRpY2sge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjaGVja2JveC1hY3RpdmUtYmc7XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLyo9PT09PT09PT09PT09PT09PT09XG4gICAgUkFESU9cbiAgICA9PT09PT09PT09PT09PT09PT09PSovXG4gICAgJl9fcmFkaW8tc3R5bGVkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKCRyYWRpby13aWR0aCArICRlbGVtLXBhZC1zbSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRlbGVtLXBhZC1zbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICAmLWRvdCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogJHJhZGlvLWhlaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAkcmFkaW8td2lkdGg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRyYWRpby1ib3JkZXI7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkcmFkaW8tZG90LXdpZHRoO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJHJhZGlvLWRvdC1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJhZGlvLWRvdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMDtcblxuICAgICAgICAgICAgJjpjaGVja2Vkfi5mb3JtX19yYWRpby1zdHlsZWQtZG90IHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRyYWRpby1hY3RpdmUtYm9yZGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyYWRpby1hY3RpdmUtYmc7XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgJl9faW5saW5lLWJ0biB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGVsZW0tcGFkO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6IHNldGNvbG9yKDIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qPT09PU1ZIERFVEFJTFMgRk9STT09PT0qL1xuLmZvcm1fX3dyYXAtLW15ZGV0YWlscyB7XG4gICAgcGFkZGluZzowO1xuXG4gICBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGVsZW0tcGFkLWxyZztcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogJGxzLWJvZHk7XG4gICB9XG59XG4uZm9ybV9fdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtMigxNHB4KTsgXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAmOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kOiBzZXRjb2xvcigyKTs7XG4gICAgICAgICAgICAgICAgLy8gY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDEpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgIH1cbn1cblxuXG4uZm9ybS1hZGRyZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuXG4gICAgIC5mb3JtX19yb3cge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVtMigzMDBweCkgMWZyO1xuXG4gICAgICAgICYuZm9ybV9fcm93LS13aWRlIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgLy9iYWNrZ3JvdW5kOiNmZmZmZmY7XG4gICAgfVxuICAgIC5mb3JtX19pbnB1dCB7XG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLmZvcm1fX2xhYmVsIHtcbiAgICAgICAgLy8gcGFkZGluZzogJGVsZW0tcGFkLXNtO1xuICAgICAgICBcbiAgICB9XG4gICAgXG59XG4vKj09PT1DT05UQUNUIEZPUk09PT09Ki9cbi5mb3JtLWNvbnRhY3Qge1xuICAgICZfX2ljb24ge1xuICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogJGVsZW0tcGFkLWxyZztcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgIH1cbiAgICAmX193cmFwIHtcbiAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkO1xuICAgICAgICBib3JkZXI6MnB4IHNvbGlkIHNldGNvbG9yKDUpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkLWxyZyAkZWxlbS1wYWQtbHJnICRlbGVtLXBhZCAkZWxlbS1wYWQtbHJnO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7O1xuICAgICAgICBtYXgtd2lkdGg6IHJlbTIoMTIwMHB4KTtcbiAgICB9XG59XG5cblxuLyo9PT1wYXNzd29yZCByZXZlYWwgc3R5bGVzPT0qL1xuLmlucHV0IHtcbiAgICAmX19yZXZlYWwge1xuICAgICAgICBcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoNSk7XG4gICAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZm9ybS0td2hpdGUgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB9XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6NXB4O1xuICAgICAgICAgICAgLmlucHV0X19yZXZlYWwtaWNvbi0tb2ZmIHtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbnB1dF9fcmV2ZWFsLWljb24tLW9uIHtcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW4tdG9wOi00cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZbYXJpYS1wcmVzc2VkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICAgICAgLmlucHV0X19yZXZlYWwtaWNvbi0tb2ZmIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmlucHV0X19yZXZlYWwtaWNvbi0tb24ge1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuOnJvb3Qge1xuICAtLWhzZi1nbG9iYWxfX2ZvbnQtZmFtaWx5OiAjeyRmb250LW1haW59O1xuICAtLWhzZi1nbG9iYWxfX2ZvbnQtc2l6ZTogMThweDtcbiAgLS1oc2YtZ2xvYmFsX19jb2xvcjogI3tzZXRjb2xvcigxKX07XG4gIC0taHNmLWJhY2tncm91bmRfX2JhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIC8vUm93c1xuICAtLWhzZi1yb3dfX2hvcml6b250YWwtc3BhY2luZzogI3skZWxlbS1wYWR9O1xuXG5cbiAgLy9CdXR0b25zXG4gIC0taHNmLWJ1dHRvbl9fZm9udC1mYW1pbHk6ICN7JGZvbnQtbWFpbn07XG4gIC0taHNmLWJ1dHRvbl9fY29sb3I6ICN7c2V0Y29sb3IoMil9O1xuICAtLWhzZi1idXR0b25fX2JhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLWhzZi1idXR0b25fX2JvcmRlci1yYWRpdXM6IG5vbmU7XG5cblxuXG5cbiAgLy9JTnB1dHNcbiAgLS1oc2YtZmllbGQtaW5wdXRfX2JhY2tncm91bmQtY29sb3I6ICN7c2V0Y29sb3IoNSl9O1xuICAtLWhzZi1maWVsZC1pbnB1dF9fYm9yZGVyLWNvbG9yOiAje3NldGNvbG9yKDUpfTtcbiAgLS1oc2YtZmllbGQtaW5wdXRfX3BhZGRpbmc6ICN7JGVsZW0tcGFkLXNtfTtcbiAgICAtLWhzZi1maWVsZC1pbnB1dF9fcGxhY2Vob2xkZXItY29sb3I6ICN7c2V0Y29sb3IoMSl9O1xuICAtLWhzZi1maWVsZC1pbnB1dF9fYm9yZGVyLXJhZGl1czogbm9uZTtcblxuICAvL0NoZWNrYm94ZXMgIFxuICAgIC0taHNmLWZpZWxkLWNoZWNrYm94X19iYWNrZ3JvdW5kLWNvbG9yOiAje3NldGNvbG9yKDUpfTtcbiAgICAtLWhzZi1maWVsZC1jaGVja2JveF9fY29sb3I6ICN7c2V0Y29sb3IoMil9O1xuXG5cbiAgICAvL1JlcXVpcmVkIGluZGljYXRvclxuICAgIC0taHNmLWZpZWxkLWxhYmVsLXJlcXVpcmVkaW5kaWNhdG9yX19jb2xvcjogI3tzZXRjb2xvcigyKX07XG5cbiAgICAvL0Vycm9yXG4gICAgLS1oc2YtZXJyb3JhbGVydF9fY29sb3I6ICN7c2V0Y29sb3IoMil9O1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgLS1oc2YtZmllbGQtaW5wdXRfX3BhZGRpbmc6IDEwcHg7XG4gICAgLy8gIC0taHNmLWZpZWxkLWlucHV0X19ib3JkZXItY29sb3I6ICN7c2V0Y29sb3IoMSl9O1xufVxuXG4uaHNmYy1CdXR0b257XG4gICAgICAtLWhzZi1kZWZhdWx0LWJ1dHRvbl9fYm9yZGVyLWNvbG9yOiAje3NldGNvbG9yKDIpfTtcbiAgLS1oc2YtZGVmYXVsdC1idXR0b25fX2JvcmRlci13aWR0aDoxcHggMCAxcHggMDtcbiAgLS1oc2YtZGVmYXVsdC1idXR0b25fX2JvcmRlci1zdHlsZTogc29saWQ7XG4gIC0taHNmLWJ1dHRvbl9fcGFkZGluZzogI3tyZW0yKDEwcHgpfSAje3JlbTIoNHB4KX0gI3tyZW0yKDEwcHgpfSAje3JlbTIoMTBweCl9O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IHJlbTIoNnB4KSByZW0yKDIwcHgpO1xuICAgIGNvbG9yOiAkYnRuLW1haW47XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBjb2xvciAwLjVzO1xuICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQ7XG4gICAgLy8gbWFyZ2luLWxlZnQ6YXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDphdXRvICFpbXBvcnRhbnQ7XG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBidG4tc2ltcGxlLXN0eWxlO1xuXG59XG4uaHNmYy1OYXZpZ2F0aW9uUm93X19CdXR0b25zOmhhcyg+Om9ubHktY2hpbGQpIHtcbiAgLmhzZmMtQnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6MCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG4ucHJvZHVjdF9fdGVjaC10YWJsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB0YWJsZSArIHRhYmxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGVsZW0tcGFkO1xuICAgIH1cbiAgICB0aCB7XG4gICAgICAgIC8vIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQoKTtcbiAgICAgICAgQGluY2x1ZGUgdGl0bGVjYXNlLXNwYWNlZCgpO1xuICAgIH1cbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG4ucHJvZmlsZS13aWRnZXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcigzKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgNTAwbXMgZWFzZSwgdmlzaWJpbGl0eSA1MDBtcyBlYXNlO1xuXG4gICAgJl9faW5uZXIge1xuICAgICAgICBwYWRkaW5nOiRlbGVtLXBhZC1zbTtcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBtYXgtaGVpZ2h0OiByZW0yKDMyMHB4KTsgLy9BZGp1c3RlZFxuICAgICAgICAvLyBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQteHhzbTtcbiAgICB9XG4gICAgXG4gICAgLmZvcm1fX2lucHV0LCAuZm9ybV9faW5saW5lLWJ0biB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgfVxuXG4gICAgJl9fcmVnaXN0ZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuXG4uYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiByZW0yKDZweCkgcmVtMigyMHB4KTtcbiAgICBjb2xvcjogJGJ0bi1tYWluO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgY29sb3IgMC41cztcbiAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkO1xuICAgIGJvcmRlcjoxcHggc29saWQgJGJ0bi1tYWluO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgLy8gZm9udC1zaXplOiByZW0yKDE2cHgpO1xuICAgIC8vIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgLy8gICAgIGZvbnQtc2l6ZTogcmVtMigxOHB4KTtcbiAgICAvLyB9XG4gICAgZm9udC1zaXplOiByZW0yKDE2cHgpOyBcbiAgICAuYnRuIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0yKDIwcHgpOyAvL0FkanVzdGVkXG4gICAgfVxuICAgICYtLXJpZ2h0IHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgfVxuICAgICZfX3dyYXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogJGVsZW0tcGFkLXNtO1xuICAgIH1cbiAgICAubC1zaXRlX19tYWluIC5sLWNvbnRlbnQgPiAmLCAubC1zaXRlX19tYWluIC5sLWdyaWRfX2NvbCA+ICYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQtc207XG4gICAgfVxuICAgICZfX2Jsb2NrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICY6bm90KC51LW5vLW1hcmdpbil7XG4gICAgICAgICAgICBtYXJnaW46ICRlbGVtLXBhZC1zbSAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgIH1cbiAgICAgICAgICYtLWNlbnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zbSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OmF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDphdXRvO1xuICAgIH1cbiAgICAmOmhvdmVyLCBhLmNhcmQ6aG92ZXIgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidG4tbWFpbi1ob3ZlcjtcbiAgICAgICAgY29sb3I6ICRidG4tbWFpbi1ob3Zlci10eHQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmLS1hbHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLWFsdDtcbiAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkLXNtO1xuICAgICAgICBjb2xvcjogJGJ0bi1hbHQtdHh0O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIFxuICAgICAgICAmOmhvdmVyLCBhLmNhcmQ6aG92ZXIgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLWFsdC1ob3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkYnRuLWFsdC1ob3Zlci10eHQ7XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW91dGxpbmV7XG4gICAgICAgIEBpbmNsdWRlIGJ0bi1vdXRsaW5lLXN0eWxlO1xuICAgIH1cblxuICAgICYtLWJ1eSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKDIpO1xuICAgIH1cblxuICAgICYtLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6JGVsZW0tcGFkLXhzbTtcbiAgICB9XG5cbiAgICAmLS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBidG4tc2ltcGxlLXN0eWxlO1xuICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAvLyBib3JkZXItbGVmdDpub25lO1xuICAgICAgICAvLyBib3JkZXItcmlnaHQ6bm9uZTtcbiAgICAgICAgLy8gY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICAvLyBwYWRkaW5nOiByZW0yKDEwcHgpIHJlbTIoNHB4KSByZW0yKDEwcHgpIHJlbTIoMTBweCk7IC8vQWxsb3cgZm9yIGxldHRlciBzcGFjaW5nIHRvIHJpZ2h0IG9mIGZpbmFsIGNoYXJhY3RlclxuICAgICAgICAvLyAmOmhvdmVyLCBhLmNhcmQ6aG92ZXIgJiB7XG4gICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgLy8gICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgLy8gICAgICY6OmFmdGVyLCAmOjpiZWZvcmUge1xuICAgICAgICAvLyAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuICAgICAgICAvLyAmOjphZnRlciwgJjo6YmVmb3Jle1xuICAgICAgICAvLyAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIFxuICAgICAgICAvLyAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgLy8gICAgIGhlaWdodDogMDtcbiAgICAgICAgLy8gICAgIGJhY2tncm91bmQ6IHNldGNvbG9yKDIpO1xuICAgICAgICAvLyAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZTtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIC8vICY6OmFmdGVyIHtcbiAgICAgICAgLy8gICAgIHRvcDogMDtcbiAgICAgICAgLy8gICAgIHJpZ2h0OiAwO1xuICAgICAgICAvLyB9XG4gICAgICAgIC8vICY6OmJlZm9yZSB7XG4gICAgICAgIC8vICAgICBib3R0b206IDA7XG4gICAgICAgIC8vICAgICBsZWZ0OiAwO1xuICAgICAgICAvLyB9XG4gICAgfVxufVxuIC5idG4tcmVzZXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDVweDtcblxuICAgIHN2ZyB7XG4gICAgICAgIGZpbGw6c2V0Y29sb3IoMik7XG4gICAgfVxufVxuXG4uYnRuLWJhY2t0b3RvcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogJGVsZW0tcGFkLXhzbTtcbiAgICAvLyBAaW5jbHVkZSB0aXRsZWNhc2Utc3BhY2VkKCk7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgIH1cbn1cblxuLyo9PT1CdXR0b24gTGF5b3V0PT09Ki9cbi5idG5fX2dyb3VwIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdhcDogJGVsZW0tcGFkO1xuICAgIG1hcmdpbi1ib3R0b206ICRlbGVtLXBhZDtcbiAgICAmLS0yIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgIH1cbiAgICB9XG4gICAgJi0tMyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgIH1cbiAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgICAgIH1cbiAgICB9XG4gICAgJi0tNCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgIH1cbiAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuXG4gICAgJi1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbn1cblxuXG4vL0FjY291bnQgZWRpdCBidXR0b25cblxuLmJ0bi1hY2NvdW50IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6ICRlbGVtLXBhZC1zbTtcbiAgICBib3JkZXI6MXB4IHNvbGlkIHNldGNvbG9yKDUpO1xuXG4gICAgJi0taWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgJl9faWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBmaWxsOiBzZXRjb2xvcigyKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4uaGVhZGVyX19zZWFyY2gge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICBtYXJnaW4tdG9wOjFweDsgLy9qdXN0IHNoaWZ0IHRoZSBpY29uIGRvd24gc2xpZ2h0bHkgdG8gYWxpZ24gd2l0aCBoYW1idXJnZXJcbiAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICYtaW5wdXQtd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuLmhlYWRlcl9fc2VhcmNoLWlucHV0e1xuICAgIHBhZGRpbmc6IC40cmVtIC42cmVtO1xuICAgIGJvcmRlcjpub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzZXRjb2xvcigyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICBib3JkZXItYm90dG9tOm5vbmVcbiAgICAgfVxuXG4gICAgJjpmb2N1cy13aXRoaW4sICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICAvLyBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuXG4gICAgLy8gIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG5cbiAgICAvLyAgICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gIH1cbiAgICAmLXdyYXAge1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206cmVtMigtNjVweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgcGFkZGluZzokZWxlbS1wYWQtc207XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobGFyZ2UpIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDIwMG1zIGVhc2UsIG9wYWNpdHkgMjAwbXMgZWFzZSwgcGFkZGluZyAyMDBtcyBlYXNlO1xuICAgICAgICAgICAgcGFkZGluZzowIDAgMCByZW0yKDI4cHgpOyAvL0FkanVzdGVkXG4gICAgICAgICAgICBib3R0b206YXV0bztcbiAgICAgICAgfVxuICAgICAgICAuaXMtb3BlbiAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyAgICAgICAgICAgLyogYWRqdXN0ICovXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICAvLyBib3JkZXItYm90dG9tOjFweCBzb2xpZCBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgc2V0Y29sb3IoMik7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0cmVtOyAgICBcbiAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICAuc2VhcmNoX19zdWJtaXQge1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGZpbGw6IHNldGNvbG9yKDIpOyAvL1NldCBoZXJlIGFzIGlvcyB3YXMgYXBwbGluZyB3aGl0ZSBvbiB0aGUgaG9tZSBwYWdlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cblxuICAgIFxuXG4gICAgJi1pbm5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OnJlbTIoM3B4KTtcbiAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgOTAwbXMgZWFzZTtcbiAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAuaXMtb3BlbiAmIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICB9XG4gICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgfVxuICAgIH1cblxufVxuLnNlYXJjaF9fY2xlYXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vIHJpZ2h0OiAwO1xuICAgIC8vIHRvcDogNTAlO1xuICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGVhZGVyX19zZWFyY2guaGFzLXZhbHVlIC5zZWFyY2hfX2NsZWFyIHtcbiAgICBiYWNrZ3JvdW5kOnNldGNvbG9yKDUpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cblxuI3NlYXJjaC10eXBlYWhlYWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjBmMGYwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLXR5cGVhaGVhZF9fbmFtZSB7XG4gICAgICBjb2xvcjogIzIyMjtcbiAgICB9XG5cbiAgICAuc2VhcmNoLXR5cGVhaGVhZF9fY2F0ZWdvcnkge1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgY29sb3I6ICM4ODg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG4gIH1cbn1cbi8vU2VhcmNoIHJlc3VsdHMgcGFnZVxuLnNlYXJjaF9faXRlbSB7XG4gICAgaDMge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGxzLWJvZHk7XG4gICAgfVxufVxuLnNlYXJjaF9fcmVzdWx0cyB7XG4gICAgaDIge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGxzLWJvZHk7XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcbi5maWx0ZXJzLWJhciB7ICBcbiAgICAmX19maWx0ZXJzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ2FwOiRlbGVtLXBhZC14c207XG5cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgIC5maWx0ZXJzLWJhcl9fZmlsdGVycy0tYmxvZyAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICBnYXA6JGd1dHRlcjtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICAgIH1cbiAgICAgICAgLmJ0bi1yZXNldCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6LTIuMDVyZW07XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJl9fd3JhcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0yKDM3cHgpO1xuXG4gICAgICAgICNmaWx0ZXItYXBwICYge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6MDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAjZ29vZ2xlbWFwIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6JGVsZW0tcGFkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgXG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuXG4uY2FyZHMge1xuICAgIC8vICZfX3dyYXAge1xuICAgICAgICBcbiAgICAvLyAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAvLyAgICAgICAgIHBhZGRpbmc6MCAkZWxlbS1wYWQ7XG4gICAgLy8gICAgIH1cblxuICAgIC8vICAgICAmLS1jb250YWluZWQge1xuICAgIC8vICAgICAgICAgbWFyZ2luLWxlZnQ6YXV0bztcbiAgICAvLyAgICAgICAgIG1hcmdpbi1yaWdodDphdXRvO1xuICAgIC8vICAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLWlubmVyLXN0eWxlcztcbiAgICAvLyAgICAgfVxuICAgIC8vIH1cbn1cblxuYS5jYXJkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG4uY2FyZCB7XG4gICAgLy8gaGVpZ2h0OiA2MHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOjAgJGVsZW0tcGFkLXNtO1xuICAgIC5sLWdyaWQgJiwgLmwtZ3JpZC1mbGV4ICYgeyAgICBcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgLy8gQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIC8vIH1cbiAgICB9XG4gICAgLy8gLmwtZ3JpZCAubC1ncmlkX19jb2w6bGFzdC1jaGlsZCAme1xuICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIC8vIH1cbiAgICAubC1ncmlkIC5sLWdyaWRfX2NvbDpsYXN0LWNoaWxkICZ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmLS1pbWcge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICBcbiAgICAmX19pbWcgeyBcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICAvLyBtYXgtaGVpZ2h0OiA2MHZoO1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgLy8gYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIC8vIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLy8gZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcG9ydHJhaXQge1xuICAgICAgICAgICAgLy9BZGp1c3QgZm9yIGRlc2t0b3Agb25seVxuICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDcwIC8gOTk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBcbiAgICAmX19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkO1xuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtMigyNnB4KTsgLy9BZGp1c3RlZFxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgZm9udC1zaXplOiByZW0yKDI2cHgpOyAvL0FkanVzdGVkXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgICAgIC8vICAgIGZvbnQtc2l6ZTogcmVtMig0MHB4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190eHQge1xuICAgICAgICBwYWRkaW5nOiRlbGVtLXBhZCAkZWxlbS1wYWQgMCAkZWxlbS1wYWQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiAkY2FyZC10eHQtbWF4LXdpZHRoO1xuICAgICAgICAmICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICAmID4gKjpub3QoLmJ0bikge1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDEpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtMigyOHB4KTtcbiAgICAgICAgYnIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiRlbGVtLXBhZC1scmcgJGVsZW0tcGFkIDAgJGVsZW0tcGFkO1xuICAgICAgICAgICAgLy8gcGFkZGluZy10b3A6JGVsZW0tcGFkLXNtO1xuICAgICAgICAgICAgYnIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9DYXJkIHBvcCBvbiBob3ZlclxuYS5jYXJkLS1wb3Age1xuICAgIHRyYW5zaXRpb246IHNjYWxlIDAuM3MgZWFzZTtcbiAgICAuY2FyZF9faW1nLS1sYW5kc2NhcGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgIH1cbiAgICAgICAgJiArIC5jYXJkX190eHQgLmNhcmRfX2hlYWRlciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgc2NhbGU6IDEuMDI7XG4gICAgICAgIFxuICAgICAgICAuY2FyZF9faW1nLS1sYW5kc2NhcGUge1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoc2V0Y29sb3IoNSksIDAuNyk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgKyAuY2FyZF9fdHh0IC5jYXJkX19oZWFkZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKj09PT09PVxuQ0FSRCBsYW5kc2NhcGVcbj09PT09PSovXG4uY2FyZF9faW1nLS1sYW5kc2NhcGUge1xuICAgIHBhZGRpbmc6MDtcbiAgICBpbWcge1xuICAgICAgICBhc3BlY3QtcmF0aW86IDIgLyAxO1xuICAgIH1cbn1cblxuLyo9PT09PT1cbkNBUkQgV0lERVxuPT09PT09Ki9cbi5jYXJkIHtcblxuICAgIC8vICY6bm90KDpoYXMofiAuY2FyZCkpICsgZGl2IHtcbiAgICAvLyAgICAgbWFyZ2luLXRvcDogJGVsZW0tcGFkO1xuICAgIC8vIH1cbiAgICAuY2Fyb3VzZWwgJiB7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICAuY2FyZF9fdHh0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5jYXJkX19oZWFkZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgfSAgICAgICAgICAgIFxuICAgIH1cbiAgICAmLS13aWRlIHtcbiAgICAgICAgcGFkZGluZzowO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6ICRtYXgtZnVsbC1ibGVlZDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgIC8vaGVpZ2h0OiA5MHZoO1xuICAgICAgICB9XG4gICAgICAgIC5jYXJkX19pbWcge1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY2FyZF9faGVhZGVyIHtcbiAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6cmVtMigzMnB4KTsgLy9BZGp1c3RlZFxuICAgICAgICB9XG4gICAgICAgIC5jYXJkX190eHQge1xuICAgICAgICAgICAgLy8gQGluY2x1ZGUgY29udGFpbmVyLWlubmVyLXN0eWxlcztcbiAgICAgICAgICAgIG1heC13aWR0aDogJGNhcmQtd2lkZS10eHQtbWF4LXdpZHRoO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc2ltcGxlIHtcbiAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAuY2FyZF9fdHh0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiRlbGVtLXBhZC14eHNtIDAgMCAwO1xuICAgICAgICB9XG4gICAgICAgIC5jYXJkX19oZWFkZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0yKDIycHgpOyBcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi0tdGV4dCB7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLmNhcmRfX3R4dCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICR0ZXh0LW1heC13aWR0aDtcbiAgICAgICAgfVxuICAgICAgICAvLyAuY2Fyb3VzZWwgJiB7XG4gICAgICAgIC8vICAgICAuY2FyZF9fdHh0IHtcbiAgICAgICAgLy8gICAgICAgIHBhZGRpbmctdG9wOiAkZWxlbS1wYWQ7IFxuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9XG4gICAgfVxuICAgIFxuICAgICYtLWltZyB7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAuY2FyZF9faW1nIHtcbiAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjcpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkX190eHQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5jYXJkX19oZWFkZXIge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5jYXJkIHtcbiAgICAmLS1vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5jYXJkX190eHQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAyMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgIFxufVxuXG5cbi8qPT09PT09PT09PVxuQ0FSRCBDT05UQUNUXG49PT09PT09PT09PSovXG5cbi5jYXJkLWNvbnRhY3R7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoNSk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgICZfX2lubmVyIHtcbiAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQtbHJnICRlbGVtLXBhZC14bHJnO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3JvdyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206JGVsZW0tbWFyZ2luO1xuICAgIH1cbiAgICBQIHtcbiAgICAgICBtYXJnaW46MDtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSkgIWltcG9ydGFudDtcbiAgICAgICAgQGluY2x1ZGUgdXBwZXJjYXNlLXNwYWNlZCgpO1xuICAgICAgICAvL21hcmdpbjowO1xuICAgIH1cbiAgICBhICB7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2dvb2dsZW1hcCB7XG4gICAgLy9DYXJkIGxvYWRpbmcgaW5zaWRlIG9mIGdvb2dsZSBtYXBcbiAgICAuY2FyZC1jb250YWN0X19pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6MTBweCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOm5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLmNhcmQtY29udGFjdF9fcm93IHtcbiAgICAgICAgbWFyZ2luOjAgIWltcG9ydGFudDtcbiAgICAgICAgJi5jYXJkLWNvbnRhY3RfX3RpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH0gIFxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA5cHggIWltcG9ydGFudDtcbiAgICB9XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuLnZpZGVvLXRodW1iIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IHJlbTIoOTAwcHgpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi52aWRlby10aHVtYiB2aWRlbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLy8gY3Vyc29yOiBwb2ludGVyO1xufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcblxuLmNvbW1lcmNlLWxvYWRlciAge1xuICAgIC5jLWNoZWNrb3V0IHtcbiAgICAgICAgb3BhY2l0eTogLjM7XG4gICAgfVxufVxuXG4uY2hlY2tvdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmX19sb2FkZXIge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHRvcDogMzB2aDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgXG4gICAgICAgIC5jb21tZXJjZS1sb2FkZXIgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19kZXRhaWxzIHtcbiAgICAgICAgLmwtZ3JpZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdGVwcyB7XG4gICAgICAgIC5jaGVja291dF9fc3RlcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19zdGVwIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgLy8gZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZW0yKDE5MHB4KSAxZnI7IC8vQWRqdXN0ZWRcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGVsZW0tcGFkLWxyZztcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRlbGVtLXBhZC1scmc7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBzZXRjb2xvcig0KTtcblxuICAgICAgICAqOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICB9XG4gICAgICAgICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1zdWJ0aXRsZXtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRscy1ib2R5O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICB9XG4gICAgICAgICYtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiRlbGVtLXBhZCAkZWxlbS1wYWQtc207XG4gICAgICAgIH1cblxuICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigxKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLy8gbGV0dGVyLXNwYWNpbmc6ICRscy1ib2R5O1xuICAgICAgICAgICAgLy8gbWFyZ2luOjA7XG4gICAgICAgIH1cblxuICAgICAgICAmLXJvdyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQ7XG5cblxuICAgICAgICB9ICBcbiAgICAgICAgJi1kZXRhaWxzIHtcbiAgICAgICAgICAgIC5sLWdyaWQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtc3RlcC1vcHRpb24ge1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgICAgLy8gYm9yZGVyLWxlZnQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAvLyBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLy8gcGFkZGluZzogJGVsZW0tcGFkLXNtO1xuICAgICAgICAvLyBib3JkZXI6MXB4IHNvbGlkIHNldGNvbG9yKDUpO1xuXG4gICAgICAgICYtbm9wYWQge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQtc207XG4gICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkIHNldGNvbG9yKDUpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogJGd1dHRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgIG9yZGVyOjI7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgICZfX25vdGVzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGVsZW0tcGFkLWxyZztcbiAgICAgICAgcGFkZGluZy10b3A6ICRlbGVtLXBhZC1scmc7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCBzZXRjb2xvcig0KTtcbiAgICB9XG5cblxuICAgICZfX2Zvb3RlciB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRlbGVtLXBhZC1scmc7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCBzZXRjb2xvcig0KTtcblxuICAgICAgICAubC1ncmlkX19jb2w6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtMigzMDBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLmNoZWNrb3V0LXBheW1lbnQge1xuICAgICZfX2xvZ29zIHtcbiAgICAgICAgbWFyZ2luLXRvcDokZWxlbS1wYWQ7XG4gICAgICAgIC8vIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCBzZXRjb2xvcig2KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmNoZWNrb3V0LXN0ZXAtb3B0aW9uIHtcbiAgICAuY2hlY2tvdXQtc3RlcC1vcHRpb25fX2ljb24tLWNoZWNrZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyBcbiAgICB9XG4gICAgLmNoZWNrb3V0LXN0ZXAtb3B0aW9uX19pY29uLS11bmNoZWNrZWQge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgfVxufVxuLmNoZWNrb3V0LXN0ZXAtb3B0aW9uLS1hY3RpdmUsIC51LWNvbGxhcHNhYmxlLXRvZ2dsZTpjaGVja2VkIHtcblxuICAgICsudS1jb2xsYXBzYWJsZS10b2dnbGVfX3RpdGxlLCAudS1jb2xsYXBzYWJsZS10b2dnbGVfX3RpdGxlIHtcbiAgICAgICAgLmNoZWNrb3V0LXN0ZXAtb3B0aW9uX190aXRsZSB7XG4gICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoMyk7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgICAgIH1cbiAgICAgICBcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoMyk7XG4gICAgICAgIC8vIGJvcmRlci1jb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgIC5jaGVja291dC1zdGVwLW9wdGlvbl9faWNvbi0tY2hlY2tlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgICAgIH1cbiAgICAgICAgLmNoZWNrb3V0LXN0ZXAtb3B0aW9uX19pY29uLS11bmNoZWNrZWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgXG4gICAgICAgIH1cbiAgICAgICAgKy5jaGVja291dF9fc3RlcC1jb250ZW50IHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHNldGNvbG9yKDUpO1xuICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoNSk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuLnByb2R1Y3Qge1xuXG4gICAgJi1jYXJkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgQGluY2x1ZGUgdXBwZXJjYXNlLXNwYWNlZDtcbiAgICAgICAgICAgICY6aGFzKC5wcm9kdWN0LWNhcmRfX2Rvd25sb2FkOmhvdmVyKSB7XG4gICAgICAgICAgICAgICAgY29sb3I6c2V0Y29sb3IoMik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLWNvbG91cndheSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRpdGxlY2FzZS1zcGFjZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tZWdhbWVudSAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbTIoMTRweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19pbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmLWxpZmVzdHlsZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyICYtbGlmZXN0eWxlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2Rvd25sb2FkIHtcbiAgICAgICAgICAgIGNvbG9yOnNldGNvbG9yKDEpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgY29sb3IgMC4zcyBlYXNlO1xuICAgICAgICAgICAgLmEtaWNvbl9fc3ZnIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtMigyM3B4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbTIoMjNweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjpzZXRjb2xvcigyKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fZm9vdGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiRlbGVtLXBhZC14eHNtO1xuICAgICAgICB9XG4gICAgICAgICZfX3JpYmJvbi13cmFwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgLnByb2R1Y3QtY2FyZF9fcmliYm9uIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKDUpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgIC5tZWdhbWVudSAmIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0yKDEwcHgpOyAvL0FkanVzdGVkXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcblxuXG5cbi5uZXdzbGV0dGVyLXNpZ251cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoMyk7XG4gICAgcGFkZGluZzokZWxlbS1wYWQtbHJnICRlbGVtLXBhZDtcbiAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICBwYWRkaW5nOiRlbGVtLXBhZCAkZWxlbS1wYWQ7XG4gICAgfVxuICAgICZfX2lubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLWlubmVyLXN0eWxlcztcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBnYXA6ICRlbGVtLXBhZDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAuYnRuLWJhY2t0b3RvcCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5idG4tYmFja3RvdG9wIHtcbiAgICAgICAgb3JkZXI6MjtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwsIFwibWF4XCIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2J0biB7XG4gICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwsIFwibWF4XCIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6aW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyAuZm9vdGVyX19pbm5lciB7XG4gICAgLy8gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgLy8gICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgLy8gICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAvLyAgICAgIH1cbiAgICAvLyB9XG4gICAgLy8gJl9fd3JhcCB7XG4gICAgLy8gICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8vICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8vICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoMyk7XG4gICAgLy8gICAgIHBhZGRpbmc6ICRlbGVtLXBhZC1scmcgJGVsZW0tcGFkOyAgICAgICAgXG4gICAgLy8gfVxuICAgIC8vICZfX2lubmVyIHtcbiAgICAvLyAgICAgZm9udC1zaXplOiByZW0yKDIycHgpOyAvL0FkanVzdGVkXG4gICAgLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gICAgIGdhcDogcmVtMigxNnB4KTsgLy9BZGp1c3RlZFxuICAgIC8vICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8vICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8vICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgIC8vICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAvLyAgICAgfVxuICAgIC8vIH1cblxuICAgIC8vICZfX2Zvcm0ge1xuICAgIC8vICAgICB3aWR0aDogMTAwJTtcblxuICAgIC8vICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8vICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8vICAgICBwYWRkaW5nOjAgJGVsZW0tcGFkLXh4c207XG4gICAgLy8gfVxuICAgIC8vICZfX2lucHV0IHtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAvLyAgICAgZm9udC1zaXplOiByZW0yKDE2cHgpOyAvL0FkanVzdGVkXG4gICAgLy8gICAgIGJvcmRlcjpub25lO1xuICAgIC8vICAgICBwYWRkaW5nOiRlbGVtLXBhZC1zbTtcbiAgICAvLyAgICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgIC8vICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gICAgICAgICBtaW4td2lkdGg6IHJlbTIoMjkwcHgpOyAvL0FkanVzdGVkXG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG4gICAgLy8gJl9fYnRuIHtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAvLyB9XG5cbiAgICAvLyAuYmFja3RvdG9wIHtcbiAgICAvLyAgICAgb3JkZXI6NDtcbiAgICAvLyAgICAgLmJ0bi1iYWNrdG90b3Age1xuICAgIC8vICAgICAgICAgbWFyZ2luOjAgYXV0bztcbiAgICAvLyAgICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgIC8vICAgICAgICAgICAgIG1hcmdpbjowO1xuXG4gICAgLy8gICAgICAgICB9XG4gICAgLy8gICAgIH1cbiAgICAvLyAgICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgLy8gICAgICAgICBvcmRlcjppbml0aWFsO1xuICAgIC8vICAgICB9XG4gICAgLy8gfVxuXG5cbiAgICBcbn1cblxuI25ld3NsZXR0ZXJPdmVybGF5e1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgLS1mLWh0bWwtcGFkZGluZzogMDtcbiAgICAtLWYtY2xvc2UtYnV0dG9uLWNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgIC5uZXdzbGV0dGVyLXdpZGdldCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG59XG4ubmV3c2xldHRlci13aWRnZXQge1xuICAgIG1hcmdpbjphdXRvO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHNldGNvbG9yKDUpO1xuICAgIG1heC13aWR0aDogcmVtMig1ODBweCk7IC8vQWRqdXN0ZWRcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAkZWxlbS1wYWQ7XG4gICAgXG4gICAgIC5sLWNvbnRlbnQgJntcbiAgICAgICAgbWFyZ2luOiAkZWxlbS1wYWQtbHJnIGF1dG87XG4gICAgIH1cbiAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQteGxyZztcbiAgICB9XG4gICAgJl9fdG9wIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkKCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGxzLWJvZHk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6c2V0Y29sb3IoMik7XG4gICAgICAgICAgICAvLyB3aWR0aDogcmVtMigzMHB4KTtcbiAgICAgICAgICAgIC8vIGhlaWdodDogYXV0bzs7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxufVxuXG5cbi8qPT09PT09PT09PT09PT09PT09PVxuc3R5bGVzIGZvciB0aGUgbmV3c2xldHRlciB3aWRnZXRcbj09PT09PT09PT09PT09PT09PT0qL1xuLm5ld3NsZXR0ZXItd2lkZ2V0LS1odWJzcG90IHtcbiAgICBtYXgtd2lkdGg6IHJlbTIoNzIwcHgpOyAvL0FkanVzdGVkXG4gICAgcGFkZGluZzogICRlbGVtLXBhZCAkZWxlbS1wYWQtc207XG4gICAgZm9ybSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcbi50aWxlcyB7XG4gICAgLy8gZGlzcGxheTogZ3JpZDtcbiAgICAvLyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuXG4gICAgJl9fd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci1pbm5lci1zdHlsZXM7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6YXV0bztcbiAgICAgICAgZ2FwOiAwO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgICAgIGdhcDogJGd1dHRlcjtcbiAgICAgICAgfVxuICAgICAgICAvLyBkaXNwbGF5OiBncmlkO1xuICAgICAgICAvLyBnYXA6ICRndXR0ZXI7XG4gICAgICAgIC8vIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgIG1pbm1heCgwLCAxZnIpICBtaW5tYXgoMCwgMWZyKTtcbiAgICB9XG4gICAgJl9faXRlbSB7XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZC1scmc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKDMpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQ7XG4gICAgICAgICAgICAvL2FzcGVjdC1yYXRpbzogMSAvIDE7ICBcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDAuNTsgIFxuICAgICAgICB9XG4gICAgICAgICYtaGVhZGluZyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcblxuLnByb2R1Y3Qge1xuICAgIFxuICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgIC8vIG1hcmdpbi10b3A6JGVsZW0tcGFkLWxyZztcbiAgICB9XG59XG4ucHJvZHVjdF9fdG9we1xuICBkaXNwbGF5OmdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBjb2x1bW4tZ2FwOiAycmVtO1xuICByb3ctZ2FwOiAwOyAgICAgICAgICAgICAgLyoga2V5OiBubyBmb3JjZWQgdmVydGljYWwgZ2FwcyAqL1xuICBhbGlnbi1pdGVtczpzdGFydDtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICBcImhlYWRpbmdcIlxuICAgIFwibGVmdFwiXG4gICAgXCJyaWdodFwiO1xuICBcblxuICAgIC8vICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgIC8vICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgLy8gICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgLy8gICAgIFwibGVmdCBoZWFkaW5nXCJcbiAgICAvLyAgICAgXCJsZWZ0IGRldGFpbHNcIlxuICAgIC8vICAgICBcImxlZnQgYWRkaXRpb25hbFwiO1xuICAgIC8vIH1cbiAgICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkZWxlbS1wYWQtbHJnO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCA1MCUpIDFmciBtaW5tYXgoMCwgNjUwcHgpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgIFwibGVmdCAuIHJpZ2h0XCI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZW5kOyBcbiAgICB9XG59XG5cblxuXG4ucHJvZHVjdF9fbGVmdCB7XG4gICAgZ3JpZC1hcmVhOiBsZWZ0OyBcbn1cbi5wcm9kdWN0X19yaWdodCB7XG4gICAgZ3JpZC1hcmVhOiByaWdodDsgXG59XG5cbi5wcm9kdWN0X19oZWFkZXIge1xuICAgICYtLWRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi0tbW9iaWxlIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBoZWFkaW5nO1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7ICAgIFxuICAgICAgICB9XG4gICAgfSAgICAgIFxufVxuXG4ucHJvZHVjdF9fZGVzY3JpcHRpb24ge1xuICAgIFxuXG4gICAgJi0tZGVza3RvcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiRlbGVtLXBhZC1zbTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS1tb2JpbGUge1xuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3Qge1xuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIC8vIG1hcmdpbi1ib3R0b206ICRlbGVtLXBhZC1scmc7XG4gICAgICAgICYtLWJyZCB7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaDQge1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgICAgIG1hcmdpbjowIDAgJGVsZW0tcGFkLXNtIDA7XG4gICAgfSAgXG5cblxuICAgICZfX2RldGFpbHMge1xuIFxuICAgIH1cblxuICAgICZfX3NlY3Rpb24ge1xuICAgICAgIFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiRlbGVtLXBhZDtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6JGVsZW0tcGFkO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1heCkge1xuICAgICAgICAgICAgLy8gbWFyZ2luLXRvcDogJGVsZW0tcGFkLWxyZztcbiAgICAgICAgfVxuICAgICAgICAmLWlubmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1zaWRlcyh0b3AsIDJweCk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGVsZW0tcGFkO1xuICAgICAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLWlubmVyLXN0eWxlcztcbiAgICAgICAgfVxuICAgICAgICAmLS1ndyB7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vIHBhZGRpbmctdG9wOiRlbGVtLXBhZC1scmc7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTokZWxlbS1wYWQtbHJnO1xuICAgICAgICB9XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRscy1ib2R5O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgJi12YXJpYW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkZWxlbS1wYWQteHhzbTtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wcm9kdWN0X190aXRsZSArICYge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0yKDIwcHgpOyAgLy9BZGp1c3RlZFxuICAgICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJpY2Uge1xuICAgICAgICAgbWFyZ2luOiAkZWxlbS1wYWQteHNtIDA7XG4gICAgICAgICYtZmlnIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtMigyMHB4KTsgLy9BZGp1c3RlZFxuICAgICAgICB9XG4gICAgICAgXG4gICAgfVxuXG4gICAgJl9fc3dhdGNoZXMge1xuICAgICAgICAvLyBtYXJnaW46ICRlbGVtLXBhZC14c20gMDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOnJlbTIoOHB4KTsgIC8vQWRqdXN0ZWRcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgbWlubWF4KHJlbTIoNDBweCksIDFmcikpOyAvL0FkanVzdGVkXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7IC8vc2FtZSBhcyBhY3RpdmUgb3V0bGluZSBvZmZzZXQgYW5kIGJvcmRlclxuICAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgIGdhcDpyZW0yKDE2cHgpOyAvL0FkanVzdGVkXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgocmVtMig0MHB4KSwgMWZyKSk7IC8vQWRqdXN0ZWRcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgZ2FwOnJlbTIoMTZweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heChyZW0yKDQwcHgpLCAxZnIpKTsgLy9BZGp1c3RlZFxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBtaW5tYXgocmVtMig0MHB4KSwgMWZyKSk7IC8vQWRqdXN0ZWRcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChsYXJnZSkge1xuICAgICAgICAgICAgZ2FwOnJlbTIoMjRweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgfVxuICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgICAgLmdhbGxlcnktdGh1bWJuYWlscyAmIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1zZWxlY3RlZCwgJi5pcy1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nYWxsZXJ5IHtcblxuICAgICAgICAvLyBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgLy8gICAgIGdyaWQtcm93OiBzcGFuIDI7XG4gICAgICAgIC8vIH1cbiAgICB9XG4gICAgJl9fYWRkaXRpb25hbHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIC8vIGdhcDogJGVsZW0tcGFkLXNtO1xuICAgICAgICBcbiAgICAgICAgLy8gQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgLy8gICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG5cbiAgICAgICAgLy8gICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAvLyB9XG4gICAgICAgIC8vIEBpbmNsdWRlIG1hcHB5LWJwKHhsYXJnZSkge1xuICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgICAvLyAgICAgZ2FwOiAkZWxlbS1wYWQ7XG4gICAgICAgIC8vICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIC8vIH1cbiAgICB9XG4gICAgJl9fdGVjaC1kZXRhaWxzIHtcbiAgICAgICAgLy93aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBjb2xvcjpzZXRjb2xvcigxKTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgIH1cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxODBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7IFxuICAgICAgICB9XG5cbiAgICAgICAgZGl2LnByb2R1Y3RfX3RlY2gtdGFibGUge1xuICAgICAgICAgICAgLy9JZiB3ZSdyZSBpbnNpZGUgYSBkaXYgdGhlbiBzdHlsZSBkaWZmZXJudGx5XG5cbiAgICAgICAgICAgIHRyICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTgwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDsgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZmFicmljX2NhcmVfaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbTIoMjBweCk7IFxuICAgICAgICAvLyBtYXgtd2lkdGg6IHJlbTIoMTQ4cHgpOyBcbiAgICB9XG4gICAgJl9fb3B0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIFxuICAgICAgICAvLyBtYXgtd2lkdGg6IHJlbTIoNTAwcHgpO1xuICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkIDA7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1heCkge1xuICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgICAgICAgLy8gZ2FwOiAkZWxlbS1wYWQ7XG4gICAgICAgICAgICAvLyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTpub25lO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDEpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRlbGVtLXBhZC14eHNtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGVsZW0tcGFkLXh4c207XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fc2VsZWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLy8gcGFkZGluZzowICRlbGVtLXBhZC14eHNtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXh0LXN0YXJ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQteHhzbTtcbiAgICAgICAgJi1pbmZvIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zcHg7IFxuICAgICAgICB9XG4gICAgICAgICYtdHlwZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vICBAY29udGFpbmVyIChtaW4td2lkdGg6IDYxNXB4KSB7XG5cbiAgICAgICAgLy8gICAgICYtdHlwZSB7XG4gICAgICAgIC8vICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgLy8gICAgIH1cblxuICAgICAgICAvLyB9XG5cbiAgICB9XG5cbiAgIFxuICAgICZfX21ldGVyYWdlLXByaWNlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgJl9fZm9ybSB7XG4gICAgICAgIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgICAgcGFkZGluZzokZWxlbS1wYWQ7XG4gICAgICAgICYtaW5uZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQtc207XG4gICAgICAgIH1cbiAgICAgICAgLmZvcm1fX3NlbGVjdCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbTIoMTQwcHgpOyAvL0FkanVzdGVkXG4gICAgICAgIH1cbiAgICAgICAgJi1xdHkge1xuICAgICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46MCAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZzoxMHB4IDA7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgICYtY29udHJvbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzpyZW0yKDRweCkgcmVtMigxMHB4KTsgIC8vQWRqdXN0ZWRcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLXdyYXAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIFxuICAgICAgICAvLyBtYXJnaW4tdG9wOiRlbGVtLXBhZC1zbTtcbiAgICAgICAgLy8gcGFkZGluZy10b3A6JGVsZW0tcGFkO1xuXG4gICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAkZWxlbS1wYWQteHhzbTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQoKTtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0yKDhweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcblxuLy9HZW5lcmFsIGNhcm91c2VsIHN0eWxlc1xuLmYtYnV0dG9uIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2dvZXNXaXRoUHJvZHVjdCB7XG4gICAgLmYtYnV0dG9uIHtcbiAgICAgICAgdG9wOiBjYWxjKHZhcigtLWltZy1oZWlnaHQpIC8gMikgIWltcG9ydGFudDtcbiAgICAgfVxufVxuLmNhcm91c2VsIHtcbiAgICBtYXJnaW46JGVsZW0tcGFkICRlbGVtLXBhZC1scmc7XG4gICAgLS1wZXItcGFnZTogMTtcbiAgICAtLWYtY2Fyb3VzZWwtZ2FwOiAyNHB4O1xuICAgIC0tZi1jYXJvdXNlbC1zbGlkZS13aWR0aDogY2FsYyhcbiAgICAgICAgKDEwMCUgLSAoKHZhcigtLXBlci1wYWdlKSAtIDEpICogdmFyKC0tZi1jYXJvdXNlbC1nYXApKSlcbiAgICAgICAgLyB2YXIoLS1wZXItcGFnZSlcbiAgICApO1xuICAgIC8qQVJST1dTKi9cbiAgICAgICAgIC0tZi1hcnJvdy1wb3M6IC01MHB4O1xuICAgIC5mLWJ1dHRvbiB7XG4gICAgICAgIHRvcDogY2FsYyh2YXIoLS1pbWctaGVpZ2h0KSAvIDIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgIH1cblxuICAgICB9XG4gICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgLy8gbWFyZ2luOiRlbGVtLXBhZCAkZ3V0dGVyICAkZ3V0dGVyICRndXR0ZXI7XG5cbiAgICAgICAgLS1wZXItcGFnZTogMjtcblxuICAgIH1cbiAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgLS1wZXItcGFnZTogMztcblxuICAgIH1cbiAgICBAaW5jbHVkZSBtYXBweS1icChtYXgtd2l0aC1ndXR0ZXIpIHtcbiAgICAgICAgLS1wZXItcGFnZTogdmFyKC0tbWF4LXBlci1wYWdlLCA0KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OjA7XG4gICAgfVxuICAgIC5sLXNlY3Rpb25fX2lubmVyLS1uby1wYWQgJiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiRlbGVtLXBhZC1scmcgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiRlbGVtLXBhZC1scmcgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX19jdGEge1xuICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICB9XG59XG5cblxuLmNhcm91c2VsLWNvbHVtbnMge1xuICAgIG1hcmdpbjokZWxlbS1wYWQgJGd1dHRlciAwICRndXR0ZXI7XG4gICAgLS1wZXItcGFnZTogMTtcbiAgICAtLWYtY2Fyb3VzZWwtZ2FwOiAyNHB4O1xuICAgIC0tZi1jYXJvdXNlbC1zbGlkZS13aWR0aDogY2FsYyhcbiAgICAgICAgKDEwMCUgLSAoKHZhcigtLXBlci1wYWdlKSAtIDEpICogdmFyKC0tZi1jYXJvdXNlbC1nYXApKSlcbiAgICAgICAgLyB2YXIoLS1wZXItcGFnZSlcbiAgICApO1xuICAgIC8qQVJST1dTKi9cbiAgICAtLWYtYXJyb3ctcG9zOiAtNTBweDtcbiAgICAvLyBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgIC8vICAgICAtLXBlci1wYWdlOiAyO1xuXG4gICAgLy8gfVxuICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICAgIGdhcDogJGd1dHRlcjtcbiAgICAgICAgLmYtY2Fyb3VzZWxfX3NsaWRlIHsgXG4gICAgICAgICAgICBncmlkLWFyZWE6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gQGluY2x1ZGUgbWFwcHktYnAobWF4LXdpdGgtZ3V0dGVyKSB7XG4gICAgLy8gICAgIC0tcGVyLXBhZ2U6IHZhcigtLW1heC1wZXItcGFnZSwgNCk7XG4gICAgLy8gICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgLy8gICAgIG1hcmdpbi1yaWdodDowO1xuICAgIC8vICAgICAtLWYtYXJyb3ctcG9zOiAtNTBweDtcbiAgICAvLyB9XG4gICAgLmwtc2VjdGlvbl9faW5uZXItLW5vLXBhZCAmIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6JGVsZW0tcGFkLWxyZyAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6JGVsZW0tcGFkLWxyZyAhaW1wb3J0YW50O1xuICAgICAgICAtLWYtYXJyb3ctcG9zOiAtNTBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuXG4vKnByb2R1Y3QgY2Fyb3VzZWwqL1xuI3Byb2R1Y3RDYXJvdXNlbCB7XG4gICAgJi5mLWNhcm91c2VsIHtcbiAgICAgICAgLS1wZXItcGFnZTogNTtcbiAgICAgICAgLS1mLWNhcm91c2VsLWdhcDogMTBweDtcbiAgICAgICAgLS1mLWNhcm91c2VsLXNsaWRlLXdpZHRoOiBjYWxjKFxuICAgICAgICAgICAgKDEwMCUgLSAoKHZhcigtLXBlci1wYWdlKSAtIDEpICogdmFyKC0tZi1jYXJvdXNlbC1nYXApKSlcbiAgICAgICAgICAgIC8gdmFyKC0tcGVyLXBhZ2UpXG4gICAgICAgICk7XG5cbiAgICAgICAgLypBUlJPV1MqL1xuICAgICAgICAtLWYtYXJyb3ctcG9zOiAtNTBweDtcblxuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgICAgIC0tZi1jYXJvdXNlbC1nYXA6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5nYWxsZXJ5LXNsaWRlIHtcbiAgICBhIHtcbiAgICAgICAgY3Vyc29yOiB1cmwoJy4uL2ltZy9pY29ucy9tYWduaWZ5aW5nLWdsYXNzLXNvbGlkLWZ1bGwuc3ZnJykgOCA4LCB6b29tLWluXG4gICAgfVxufVxuLnByb2R1Y3QtY2Fyb3VzZWx7XG4gICAgJl9fd3JhcCB7XG4gICAgICAgIHBhZGRpbmc6JGVsZW0tcGFkICRlbGVtLXBhZC1scmc7XG4gICAgfVxuXG4gICAgLmlzLXByZXZ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgLmlzLW5leHR7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxufVxuXG4uZ2FsbGVyeS10aHVtYm5haWxzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmYtYnV0dG9uIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5nYWxsZXJ5X19tYWluIHtcbiAgICAtLWYtY2Fyb3VzZWwtZG90cy1oZWlnaHQ6IDQ1cHg7XG4gICAgLmYtYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuICAgIC5mLWNhcm91c2VsX19kb3RzIHtcbiAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkLXh4c20gMCAkZWxlbS1wYWQgMDtcbiAgICB9XG59XG4uZmFuY3lib3hfX2JhY2tkcm9wIHtcbiAgICAtLWZhbmN5Ym94LWJhY2tkcm9wLWJnOiAje3NldGNvbG9yKDMpfSAhaW1wb3J0YW50O1xuICAgIC0tZi1kcmFnLW9wYWNpdHk6IC45O1xuICAgIC8vIG9wYWNpdHk6IC44O1xufVxuXG5cbiNnb2VzV2l0aFByb2R1Y3Qge1xuXG4gICAgJi5mLWNhcm91c2VsIHtcbiAgICAgICAgbWFyZ2luOjAgJGd1dHRlcjtcbiAgICAgICAgLS1wZXItcGFnZTogMTtcbiAgICAgICAgLS1mLWNhcm91c2VsLWdhcDogMzBweDtcbiAgICAgICAgLS1mLWNhcm91c2VsLXNsaWRlLXdpZHRoOiBjYWxjKFxuICAgICAgICAgICAgKDEwMCUgLSAoKHZhcigtLXBlci1wYWdlKSAtIDEpICogdmFyKC0tZi1jYXJvdXNlbC1nYXApKSlcbiAgICAgICAgICAgIC8gdmFyKC0tcGVyLXBhZ2UpXG4gICAgICAgICk7XG5cbiAgICAgICAgLypBUlJPV1MqL1xuICAgICAgICAtLWYtYXJyb3ctcG9zOiAtNTBweDtcbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoeHNtYWxsKSB7XG4gICAgICAgICAgICAtLXBlci1wYWdlOiAyO1xuXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgICAgIC0tcGVyLXBhZ2U6IDM7XG5cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtYXBweS1icChtYXgtd2l0aC1ndXR0ZXIpIHtcbiAgICAgICAgICAgIC0tcGVyLXBhZ2U6IDQ7XG4gICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgIC0tZi1hcnJvdy1wb3M6IC01MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuLmdhbGxlcnkge1xuXG4gICAgJi1zbGlkZSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcbi5ibG9nLWNhcmQge1xuICAgIGNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkICAkZWxlbS1wYWQtc207XG4gICAgfVxuICAgICZfX21ldGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXNpemU6IHJlbTIoMTZweCk7XG4gICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHNldGNvbG9yKDIpO1xuICAgICAgICAgICAgcGFkZGluZzogMCAkZWxlbS1wYWQtc207XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2Rlc2Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiRlbGVtLXBhZDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG59XG5cbi5hcnRpY2xlIHtcbiAgICAuY29udGVudC1ibG9jayB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lZC1hcnRpY2xlLXdpZHRoO1xuICAgICAgICBtYXJnaW46MCBhdXRvO1xuICAgIH1cbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG5cblxuLmV2ZW50cyB7XG4gICAgJl9fd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKDUpO1xuICAgICAgICBwYWRkaW5nOiAwICRlbGVtLXBhZDtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0yKDEwMDBweCk7IC8vbm90IEFkanVzdGVkXG4gICAgICAgIG1hcmdpbjowIGF1dG9cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdhcDogJGd1dHRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2ZmZmZmZjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtMigyMHB4KTtcbiAgICAgICAgcGFkZGluZzokZWxlbS1wYWQtbHJnICAkZWxlbS1wYWQtc207XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciByZW0yKDEyNXB4KTsgLy9BZGp1c3RlZFxuICAgICAgICB9XG5cbiAgICAgICAgcCwgaDIge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgICYtZGF0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkKCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbTIoMjBweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0yKDI0cHgpO1xuICAgICAgICAgICAgY29sb3I6c2V0Y29sb3IoMik7XG4gICAgICAgICAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkKCk7XG4gICAgICAgIH1cbiAgICAgICAgJi10aW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtMigyMHB4KTsgLy9BZGp1c3RlZFxuICAgICAgICB9XG4gICAgICAgICYtY29udGVudCB7XG4gICAgICAgICAgICAgZm9udC1zaXplOiByZW0yKDIwcHgpOyAvL0FkanVzdGVkXG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmLXJpZ2h0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOmF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBtYXBweS1icChzbWFsbCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcbi8qPT09PT1cbldJREdFVCBTQU1QTEUgRk9STVxuPT09PT09Ki9cblxuLnNhbXBsZXMtZm9ybSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoNSk7XG4gICAgcGFkZGluZzogJGVsZW0tcGFkICRlbGVtLXBhZDtcbiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7IFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBtYXBweS1icChtZWRpdW0pIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0yKDU2MHB4KTsgLy9BZGp1c3RlZFxuICAgIH1cbiAgICAmX19yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAucHJvZHVjdF9fc2VsZWN0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgfVxuICAgICAgIC5mb3JtX19sYWJlbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuZm9ybV9fc2VsZWN0LWlucHV0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6I2ZmZmZmZlxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIC5idG4ge1xuICAgIC8vICAgICB3aWR0aDogMTAwJTtcbiAgICAvLyB9XG5cbiAgICBAY29udGFpbmVyIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICZfX3JvdyB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG4gICAgICAgIC5mb3JtX19sYWJlbCB7IFxuICAgICAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4ud2lkZ2V0IHtcbiAgJi0tMy1ibG9ja3Mge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImNvbnRlbnQgaW1nMSBpbWcyXCI7XG4gICAgZ2FwOiAkZ3V0dGVyO1xuICAgIHJvdy1nYXA6IDA7XG4gICAgdmlkZW8sIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAud2lkZ2V0X19jb2wge1xuICAgICAgcGFkZGluZzogJGVsZW0tcGFkO1xuXG4gICAgICAmLS1jb250ZW50IHtcbiAgICAgICAgZ3JpZC1hcmVhOiBjb250ZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgIH1cblxuICAgICAgJi0taW1nIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICBncmlkLWFyZWE6IGltZzE7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgICBncmlkLWFyZWE6IGltZzI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgIEBpbmNsdWRlIG1hcHB5LWJwKG1lZGl1bSwgJ21heCcpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICBcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgIFwiaW1nMSBpbWcyXCJcbiAgICAgICAgXCJjb250ZW50IGNvbnRlbnRcIjtcbiAgICB9XG4gIH1cblxuICAmLS1jb250ZW50LW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgbWFwcHktYnAobWVkaXVtKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImltZzEgY29udGVudCBpbWcyXCI7XG4gICAgfVxuICB9XG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuLm92ZXJsYXkge1xuICAgICZfX3dyYXAge1xuICAgIG1hcmdpbjphdXRvO1xuICAgIG1heC13aWR0aDogcmVtMig1ODBweCk7IFxuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgICAmLS1uYXJyb3cge1xuICAgICAgICAgbWF4LXdpZHRoOiByZW0yKDUwMHB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWFwcHktYnAoc21hbGwpIHtcbiAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkLWxyZyAkZWxlbS1wYWQteGxyZztcbiAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG5cbiAgJl9fdHJpZ2dlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgJi5pcy1vcGVuIHtcbiAgICAudG9vbHRpcF9fcGFuZWwge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgfVxuICAmX19wYW5lbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogY2FsYygxMDAlICsgMThweCk7IC8qIEFib3ZlIHRoZSB0cmlnZ2VyICovXG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDhweCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG9wYWNpdHkgLjJzIGVhc2UsXG4gICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UsXG4gICAgICB2aXNpYmlsaXR5IC4ycztcbiAgICB6LWluZGV4OiAyMDtcblxuICAgIGNvbG9yOiBzZXRjb2xvcigxKTtcbiAgICBwYWRkaW5nOiAkZWxlbS1wYWQ7O1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuXHRcdG1pbi13aWR0aDogNDAwcHg7XG5cdFx0bWluLWhlaWdodDogMTAwcHg7XG4gIC0tYTogOTBkZWc7IC8qIGFuZ2xlICovXG4gIC0taDogMWVtOyAvKiBoZWlnaHQgKi9cblxuICAtLXA6IDUwJTsgLyogdHJpYW5nbGUgcG9zaXRpb24gKDAlOmxlZnQgMTAwJTpyaWdodCkgKi9cbiAgLS1iOiAxcHg7IC8qIGJvcmRlciB3aWR0aCAqL1xuXG4gIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMTAwJSwwIDAsMTAwJSAwLDEwMCUgMTAwJSxcbiAgICBtaW4oMTAwJSx2YXIoLS1wKSArIHZhcigtLWgpKnRhbih2YXIoLS1hKS8yKSkgMTAwJSxcbiAgICB2YXIoLS1wKSBjYWxjKDEwMCUgKyB2YXIoLS1oKSksXG4gICAgbWF4KDAlICAsdmFyKC0tcCkgLSB2YXIoLS1oKSp0YW4odmFyKC0tYSkvMikpIDEwMCUpO1xuICBib3JkZXItaW1hZ2U6ICN7J2ZpbGwgMC8vdmFyKC0taCkgMCd9IGNvbmljLWdyYWRpZW50KCN7c2V0Y29sb3IoMil9IDAgMCk7IC8qIHRoZSBib3JkZXIgY29sb3IgKi9cblxuICAgICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBpbnNldDogdmFyKC0tYikgMDtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDEwMCUsMCAwLDEwMCUgMCwxMDAlIDEwMCUsXG4gICAgICAgIG1pbigxMDAlIC0gdmFyKC0tYiksdmFyKC0tcCkgKyB2YXIoLS1oKSp0YW4odmFyKC0tYSkvMikgLSB2YXIoLS1iKSp0YW4oNDVkZWcgLSB2YXIoLS1hKS80KSkgMTAwJSxcbiAgICAgICAgdmFyKC0tcCkgY2FsYygxMDAlICsgdmFyKC0taCkgKyB2YXIoLS1iKSooMSAtIDEvc2luKHZhcigtLWEpLzIpKSksXG4gICAgICAgIG1heCggICAgICAgdmFyKC0tYiksdmFyKC0tcCkgLSB2YXIoLS1oKSp0YW4odmFyKC0tYSkvMikgKyB2YXIoLS1iKSp0YW4oNDVkZWcgLSB2YXIoLS1hKS80KSkgMTAwJSk7XG4gICAgICBib3JkZXItaW1hZ2U6ICN7J2ZpbGwgMC8wIHZhcigtLWIpL3ZhcigtLWgpIDAgY29uaWMtZ3JhZGllbnQoI2ZmZmZmZiAwIDApJ307IC8qIHRoZSBiYWNrZ3JvdW5kIGNvbG9yICovXG4gICAgfVxuICAgICAgXG4gIH1cblxuICAmX19jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTJweDtcbiAgICByaWdodDogMTJweDtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjIyO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gIH1cblxuICAgICAgLmEtaWNvbl9fc3ZnIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICB9XG4gICAgJl9fd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OjIycHg7XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcbkB1c2UgJ2Jhc2UvdXRpbGl0aWVzJztcblxuLmNhbGN1bGF0b3Ige1xuICAgICZfX3VuaXRzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG59XG5cbi5wYW5lbHMge1xuICAgICYtLXJlcXVpcmVkIHtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgIH1cbn1cbi5wYW5lbC1zaGFwZXtcbiAgICAmX193cmFwIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCBzZXRjb2xvcigxKTtcbiAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuXG4gICAgICAgICYtd2lkdGgge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAmLWhlaWdodCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgICYtdW5pdCB7XG4gICAgICAgICAgICBwYWRkaW5nOiRlbGVtLXBhZC14eHNtO1xuICAgICAgICB9XG4gICAgfVxuXG59IiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuQHVzZSBcInNhc3M6bWFwXCI7XG4uYWNjb3JkaW9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHNldGNvbG9yKDMpO1xuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtMigxNHB4KTsgLy9BZGp1c3RlZFxuICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCBzZXRjb2xvcigzKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRscy1ib2R5O1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cbiAgICA+bGksID4uYWNjb3JkaW9uX19pdGVtIHtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICBcbiAgICAgICAgXG4gICAgfVxuICAgIFxuICAgIGRkIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICZfX3RyaWdnZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzMHB4O1xuICAgICAgICBjb2xvcjogaHNsKDBkZWcgMCUgMTMlKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OnJlbTIoMTZweCk7IC8vQWRqdXN0ZWRcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQgcmVtMigyNHB4KSAkZWxlbS1wYWQgJGVsZW0tcGFkOyAvL0FkanVzdGVkXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvL3RyYW5zZm9ybTogcm90YXRlKDkwZGVnKSA7XG4gICAgICAgICAgICAvL2NvbG9yOnNldGNvbG9yKDEpO1xuICAgICAgICB9XG4gICAgICAgIC8vICY6OmFmdGVyIHtcbiAgICAgICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzgnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00wIDEuNjA0QzAgMS4xNTcuMjY5Ljc1NS42ODIuNTg0YTEuMTA1IDEuMTA1IDAgMCAxIDEuMjAyLjI0TDYgNC45MzggMTAuMTE2LjgyM2ExLjEwMyAxLjEwMyAwIDEgMSAxLjU2IDEuNTYyTDYuNzggNy4yOGExLjEwMyAxLjEwMyAwIDAgMS0uNzguMzIzIDEuMTAzIDEuMTAzIDAgMCAxLS43OC0uMzIzTC4zMjQgMi4zODVBMS4xMDEgMS4xMDEgMCAwIDEgMCAxLjYwNFonIGZpbGw9JyUyMzEyMTIxMicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgLy8gICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICAvLyAgICAgdG9wOiAxcmVtO1xuICAgICAgICAvLyAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgICZbYXJpYS1leHBhbmRlZD10cnVlXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgLy8gYm9yZGVyLXRvcDoycHggc29saWQgc2V0Y29sb3IoMikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIC8vIGJvcmRlci1ib3R0b206MnB4IHNvbGlkIHNldGNvbG9yKDIpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIC5hY2NvcmRpb25fX3RyaWdnZXItaWNvbiB7XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvL2NvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gJjo6YWZ0ZXIge1xuICAgICAgICAgICAgLy8gICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gJjpmb2N1cywgJjpob3ZlciwgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgIC8vICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAvLyAgICAgYmFja2dyb3VuZDogc2V0Y29sb3IoMyk7XG4gICAgICAgIC8vIH1cblxuICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHJnYmEoc2V0Y29sb3IoMiksIDAuMik7XG4gICAgICAgICAgICAvLyBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXMgY3ViaWMtYmV6aWVyKC40MSwuOTcsLjM2LC43OCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJi1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQ7XG5cbiAgICAgICAgICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYtLWV4cGFuZGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoNSk7XG4gICAgfVxuXG5cbiAgICAmLS1hbHQge1xuICAgICAgICA+bGksID4uYWNjb3JkaW9uX19pdGVtIHtcbiAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206ICRlbGVtLXBhZDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQGV4dGVuZCAudS1zaGFkb3cgIW9wdGlvbmFsO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gLmFjY29yZGlvbl9faGVhZGluZyB7XG4gICAgICAgIC8vICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgLmFjY29yZGlvbl9fdHJpZ2dlciB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAvL3BhZGRpbmc6JGVsZW0tcGFkIDA7XG4gICAgICAgICAgICAvLyBtYXJnaW46MCAkZWxlbS1wYWQ7XG4gICAgICAgICAgICAvLyB3aWR0aDogY2FsYygxMDAlIC0gKCRlbGVtLXBhZCAqIDIpKTtcblxuICAgICAgICAgICAgLy8gJjpob3ZlciB7XG4gICAgICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgfVxuICAgICAgICAuYWNjb3JkaW9uX19jb250ZW50LWlubmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW46MCAkZWxlbS1wYWQ7XG4gICAgICAgICAgICAvLyBib3JkZXItdG9wOjFweCBzb2xpZCBzZXRjb2xvcigxKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb3BlcnR5IHtcbiAgICAuYWNjb3JkaW9uX19jb250ZW50LWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDs7XG4gICAgfVxuICAgIC5hY2NvcmRpb25fX2NvbnRlbnQtaW5uZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIH1cbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG4uZ2xvc3Nhcnkge1xuXG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHNldGNvbG9yKDQpO1xuICAgICZfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiRlbGVtLXBhZC1scmcgMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHNldGNvbG9yKDQpO1xuICAgIH1cbiAgICAmX190ZXJtIHtcbiAgICAgICAgY29sb3I6c2V0Y29sb3IoMSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbi10b3A6MDtcblxuICAgIH1cblxuICAgICZfX2RlZmluaXRpb24ge1xuICAgICAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJ2Fic3RyYWN0cy9pbmRleCcgYXMgKjtcblxuLmNhcnQge1xuICAgIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgICBjb250YWluZXItbmFtZTogY2FydDtcbiAgICAkY2FydC1zaXplLXNtOiA2MDBweDsgLy9jc3MgdmFycyBkb24ndCB3b3JraW5nIHdpdGggY29udGFpbmVyXG4gICAgJGNhcnQtc2l6ZS1scmc6IDEwMDBweDtcblxuICAgICZfX2l0ZW1zIHtcbiAgICAgICAgLS1jYXJ0LWNvbHVtbnM6IDY1cHggMWZyIDFmcjtcbiAgICAgICAgLS1jYXJ0LWFyZWFzOlxuICAgICAgICAgICAgXCJpbWFnZSBkZXRhaWxzIGRldGFpbHNcIlxuICAgICAgICAgICAgXCJpbWFnZSBxdHkgcHJpY2VcIjtcbiAgICAgICAgLS1jYXJ0LWNvbHVtbnMtZ2FwOiAjeyRlbGVtLXBhZH07XG4gICAgICAgIC0tY2FydC1yb3ctZ2FwOiAwO1xuICAgICAgICAtLWNhcnQtaXRlbS1wYWRkaW5nOiAjeyRlbGVtLXBhZC1zbX07XG5cbiAgICAgICAgQGNvbnRhaW5lciBjYXJ0IChtaW4td2lkdGg6ICN7JGNhcnQtc2l6ZS1zbX0pIHtcbiAgICAgICAgICAgIC0tY2FydC1jb2x1bW5zOiAxMDBweCBtaW5tYXgoMjAwcHgsIDFmcikgMWZyICBtaW5tYXgoNjBweCwgbWF4LWNvbnRlbnQpIDFmcjtcbiAgICAgICAgICAgIC0tY2FydC1hcmVhczpcbiAgICAgICAgICAgICAgICBcImltYWdlIGRldGFpbHMgcHJpY2UgcXR5IHN1YnRvdGFsXCI7XG4gICAgICAgIH1cbiAgICAgICAgQGNvbnRhaW5lciBjYXJ0IChtaW4td2lkdGg6ICN7JGNhcnQtc2l6ZS1scmd9KSB7XG4gICAgICAgICAgICAvLyBkcm9wIFwidHlwZVwiIGFuZCBcInF0eVwiIGNvbHVtbnMgZW50aXJlbHkgYXQgdGhpcyBicmVha3BvaW50XG4gICAgICAgICAgIC0tY2FydC1jb2x1bW5zOiAxMDBweCAxZnIgMTUwcHggMTUwcHggIDE1MHB4IDE1MHB4O1xuICAgICAgICAgICAtLWNhcnQtYXJlYXM6XG4gICAgICAgICAgICBcImltYWdlIGRldGFpbHMgcHJpY2UgcXR5IHR5cGUgc3VidG90YWxcIjtcblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZCxcbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1jYXJ0LWNvbHVtbnMpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiB2YXIoLS1jYXJ0LWFyZWFzKTtcbiAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY2FydC1jb2x1bW5zLWdhcCk7XG4gICAgICAgIHJvdy1nYXA6IHZhcigtLWNhcnQtcm93LWdhcCk7XG4gICAgfVxuXG4gICAgJl9faGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICBAY29udGFpbmVyIGNhcnQgKG1pbi13aWR0aDogI3skY2FydC1zaXplLXNtfSkge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgfVxuICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkLXh4c20gMDtcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIH1cbiAgICAgICAgJi1wcm9kdWN0ICAgeyBncmlkLWFyZWE6IGltYWdlOyB9XG4gICAgICAgICYtZGV0YWlscyAgIHsgZ3JpZC1hcmVhOiBkZXRhaWxzOyB9XG4gICAgICAgICYtcHJpY2UgICAgIHsgZ3JpZC1hcmVhOiBwcmljZTsgfVxuICAgICAgICAmLXF1YW50aXR5ICB7IGdyaWQtYXJlYTogcXR5OyB9XG4gICAgICAgICYtdHlwZSAgICAgIHsgZ3JpZC1hcmVhOiB0eXBlOyB9XG4gICAgICAgICYtc3VidG90YWwgIHsgZ3JpZC1hcmVhOiBzdWJ0b3RhbDsgfVxuXG4gICAgICAgICYtdHlwZSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgIEBjb250YWluZXIgY2FydCAobWluLXdpZHRoOiAjeyRjYXJ0LXNpemUtc219KSB7XG4gICAgICAgICAgICAmLXR5cGUgeyBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgc2V0Y29sb3IoNCk7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1jYXJ0LWl0ZW0tcGFkZGluZyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNhcnQtaXRlbS1wYWRkaW5nKTtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1jYXJ0LWl0ZW0tcGFkZGluZyk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgc2V0Y29sb3IoNCk7XG5cbiAgICAgICAgfVxuICAgICAgICBwIHsgbWFyZ2luOiAwOyB9XG5cbiAgICAgICAgJi1jb2wge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgICAgICBAY29udGFpbmVyIGNhcnQgKG1pbi13aWR0aDogI3skY2FydC1zaXplLXNtfSkge1xuICAgICAgICAgICAgICAgICY6bm90KC5jYXJ0X19pdGVtLWRldGFpbHMpOm5vdCguY2FydF9faXRlbS1pbWFnZSkge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tY2FydC1pdGVtLXBhZGRpbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaW1hZ2UgICAgIHsgZ3JpZC1hcmVhOiBpbWFnZTsgfVxuICAgICAgICAmLWRldGFpbHMgICB7IGdyaWQtYXJlYTogZGV0YWlsczsgfVxuICAgICAgICAmLXByaWNlICAgICB7IFxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBwcmljZTsgXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIEBjb250YWluZXIgY2FydCAobWluLXdpZHRoOiAjeyRjYXJ0LXNpemUtc219KSB7XG4gICAgICAgICAgICAgICAgJiB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLXF1YW50aXR5ICB7IGdyaWQtYXJlYTogcXR5OyB9XG4gICAgICAgICYtdHlwZSAgICAgIHsgZ3JpZC1hcmVhOiB0eXBlOyB9XG4gICAgICAgICYtc3VidG90YWwgIHsgZ3JpZC1hcmVhOiBzdWJ0b3RhbDsgfVxuICAgICAgICAmLXRpdGxlIHsgXG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbTIoMThweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkKCk7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IFxuICAgICAgICB9XG4gICAgICAgICYtbWV0YSB7XG4gICAgICAgICAgICAmLWNvZGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgQGNvbnRhaW5lciBjYXJ0IChtaW4td2lkdGg6ICN7JGNhcnQtc2l6ZS1zbX0pIHtcbiAgICAgICAgICAgICAgICAgICAgJiB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi10eXBlLCAmLXN1YnRvdGFsIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAY29udGFpbmVyIGNhcnQgKG1pbi13aWR0aDogI3skY2FydC1zaXplLXNtfSkge1xuICAgICAgICAgICAgJi1zdWJ0b3RhbCB7IGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgfVxuICAgICAgICBAY29udGFpbmVyIGNhcnQgKG1pbi13aWR0aDogI3skY2FydC1zaXplLWxyZ30pIHtcbiAgICAgICAgICAgICAmLXR5cGUgeyBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIH1cbiAgICAgICAgJi1yZW1vdmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiB2YXIoLS1jYXJ0LWl0ZW0tcGFkZGluZyk7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtcHJvZHVjdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA3MHB4IDFmcjtcbiAgICAgICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mb290ZXJ7XG4gICAgICAgIFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgY29sb3I6c2V0Y29sb3IoMik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXJ0LS1hc2lkZSB7XG4gICAgLmNhcnRfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKDEpO1xuICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgfVxufVxuXG4uY2FydC1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRlbGVtLXBhZDtcbiAgICAmX19pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci1pbm5lci1zdHlsZXM7XG4gICAgfVxuICAgICZfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICBtYXJnaW46MDtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKDUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcGFkZGluZzogJGVsZW0tcGFkO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQoKTtcbiAgICAgICAgXG4gICAgICAgIC8vIFRoZSBjaGV2cm9uIHNoYXBlOiBwb2ludCBvdXQgb24gdGhlIHJpZ2h0LCBub3RjaCBpbiBvbiB0aGUgbGVmdFxuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oXG4gICAgICAgICAgICAwJSAwJSxcbiAgICAgICAgICAgIGNhbGMoMTAwJSAtIDIwcHgpIDAlLFxuICAgICAgICAgICAgMTAwJSA1MCUsXG4gICAgICAgICAgICBjYWxjKDEwMCUgLSAyMHB4KSAxMDAlLFxuICAgICAgICAgICAgMCUgMTAwJSxcbiAgICAgICAgICAgIDIwcHggNTAlXG4gICAgICAgICk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMXB4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig0KTsgLy8geW91ciBib3JkZXIgY29sb3VyXG4gICAgICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKFxuICAgICAgICAgICAgICAgICAgICAwJSAwJSxcbiAgICAgICAgICAgICAgICAgICAgY2FsYygxMDAlIC0gMjBweCkgMCUsXG4gICAgICAgICAgICAgICAgICAgIDEwMCUgNTAlLFxuICAgICAgICAgICAgICAgICAgICBjYWxjKDEwMCUgLSAyMHB4KSAxMDAlLFxuICAgICAgICAgICAgICAgICAgICAwJSAxMDAlLFxuICAgICAgICAgICAgICAgICAgICAyMHB4IDUwJVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY2FydC1uYXZfX2l0ZW0tLWFjdGl2ZSArICYge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAvLyBGaXJzdCBpdGVtIGRvZXNuJ3QgbmVlZCB0aGUgbGVmdCBub3RjaFxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbihcbiAgICAgICAgICAgICAgICAwJSAwJSxcbiAgICAgICAgICAgICAgICBjYWxjKDEwMCUgLSAyMHB4KSAwJSxcbiAgICAgICAgICAgICAgICAxMDAlIDUwJSxcbiAgICAgICAgICAgICAgICBjYWxjKDEwMCUgLSAyMHB4KSAxMDAlLFxuICAgICAgICAgICAgICAgIDAlIDEwMCVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMYXN0IGl0ZW0gZG9lc24ndCBuZWVkIHRoZSByaWdodCBwb2ludFxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKFxuICAgICAgICAgICAgICAgIDAlIDAlLFxuICAgICAgICAgICAgICAgIDEwMCUgMCUsXG4gICAgICAgICAgICAgICAgMTAwJSAxMDAlLFxuICAgICAgICAgICAgICAgIDAlIDEwMCUsXG4gICAgICAgICAgICAgICAgMjBweCA1MCVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQdWxsIGl0ZW1zIHRvZ2V0aGVyIHNvIHRoZSBub3RjaC9wb2ludCBvdmVybGFwIHNsaWdodGx5IChvcHRpb25hbCwgYXZvaWRzIGdhcHMpXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDEpO1xuICAgICAgICB9XG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgICAgIGNvbG9yOiNmZmZmZmY7XG4gICAgICAgICAgICB6LWluZGV4OiAyOyAvLyBzaXRzIG9uIHRvcCBzbyBpdHMgcG9pbnQgb3ZlcmxhcHMgdGhlIG5leHQgaXRlbSdzIG5vdGNoIGNsZWFubHlcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiNmZmZmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4uY2FydC1vbGQge1xuICAgICZfX2hlYWQge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsKSB7XG4gICAgICAgICAgICBkaXNwbGF5OmdyaWQ7XG4gICAgICAgIH1cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgICBib3JkZXItc3BhY2luZzogMCAxcmVtO1xuICAgICAgICB0YWJsZS1sYXlvdXQ6IGF1dG87XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgICAgfVxuICAgICAgICAmLWNhdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtMigxNHB4KTsgLy9BZGp1c3RlZFxuICAgICAgICB9XG4gICAgICAgIC5jYXJ0X19pdGVtLXRpdGxlIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkZWxlbS1wYWQteHhzbSAwO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA3cmVtO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tZGV0YWlscyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX2l0ZW0tcHJpY2UsXG4gICAgJl9faXRlbS1zdWJ0b3RhbCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgJl9faXRlbS1xdWFudGl0eSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgJi13cmFwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5idG4ge1xuICAgICYtLXJlbW92ZSB7XG4gICAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgLy8gbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgICAgICAgLy8gcGFkZGluZzogMDtcbiAgICAgICAgLy8gYm9yZGVyOiAwO1xuICAgICAgICAvLyBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAvLyBjb2xvcjogI2MwMzkyYjtcbiAgICAgICAgLy8gZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgLy8gY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC8vICY6aG92ZXIge1xuICAgICAgICAvLyAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIC8vIH1cbiAgICB9XG59XG5cbi8vIEBpbmNsdWRlIG1hcHB5LWJwKHNtYWxsLCBtYXgpIHtcbi8vICAgICAuY2FydCB7XG4vLyAgICAgICAgICZfX2l0ZW1zLFxuLy8gICAgICAgICAmX19pdGVtcyB0Ym9keSxcbi8vICAgICAgICAgJl9faXRlbXMgdHIsXG4vLyAgICAgICAgICZfX2l0ZW1zIHRkIHtcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgICAgIH1cblxuLy8gICAgICAgICAmX19pdGVtcyB7XG4vLyAgICAgICAgICAgICBib3JkZXItc3BhY2luZzogMDtcbi8vICAgICAgICAgfVxuXG4vLyAgICAgICAgICZfX2l0ZW0ge1xuLy8gICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuLy8gICAgICAgICAgICAgdGQge1xuLy8gICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbi8vICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4vLyAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZThlOGU4O1xuLy8gICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlOGU4ZTg7XG4vLyAgICAgICAgICAgICB9XG5cbi8vICAgICAgICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbi8vICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U4ZThlODtcbi8vICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxcmVtO1xuLy8gICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxcmVtO1xuLy8gICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4vLyAgICAgICAgICAgICB9XG5cbi8vICAgICAgICAgICAgIHRkOmxhc3QtY2hpbGQge1xuLy8gICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU4O1xuLy8gICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuLy8gICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxcmVtO1xuLy8gICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDFyZW07XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cblxuLy8gICAgICAgICAmX19pdGVtLWltYWdlIHtcbi8vICAgICAgICAgICAgIGltZyB7XG4vLyAgICAgICAgICAgICAgICAgd2lkdGg6IDZyZW07XG4vLyAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2cmVtO1xuLy8gICAgICAgICAgICAgfVxuLy8gICAgICAgICB9XG5cbi8vICAgICAgICAgJl9faXRlbS1wcmljZSxcbi8vICAgICAgICAgJl9faXRlbS1xdWFudGl0eSxcbi8vICAgICAgICAgJl9faXRlbS1zdWJ0b3RhbCB7XG4vLyAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG4vLyB9XG5cblxuXG4uY2FydF9fc3VtbWFyeXtcbiAgICBtYXgtd2lkdGg6IHJlbTIoMzUwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgICYtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogJGVsZW0tcGFkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IC8vQWRqdXN0ZWRcbiAgICAgICAgbWFyZ2luLXRvcDogJGVsZW0tcGFkLWxyZztcbiAgICB9XG4gICAgJi10YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi1idG5zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cbiAgICAmLXRvdGFsLXRleHQge1xuICAgICAgICBwYWRkaW5nLXRvcDogJGVsZW0tcGFkLXNtO1xuICAgICAgICBmb250LXNpemU6IHJlbTIoMjBweCk7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRlbGVtLXBhZC1zbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cblxuLyo9PT09PWNhcnQgZHJhd2VyPT09PT0qL1xuYm9keS5jYXJ0LWRyYXdlci1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmNhcnQtZHJhd2VyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogJHotaW5kZXgtLW9udG9wO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICZfX2hlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQoKTtcbiAgICB9XG4gICAgJl9fb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgIH1cblxuICAgICZfX3BhbmVsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB3aWR0aDogbWluKDQyMHB4LCA5MHZ3KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgIGJveC1zaGFkb3c6IC04cHggMCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzZXRjb2xvcig0KTtcbiAgICB9XG4gICAgLy8gICAmX190aXRsZSB7XG4gICAgLy8gICAgIG1hcmdpbjogMDtcbiAgICAvLyAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIC8vICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIC8vICAgfVxuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQ7XG4gICAgfVxuXG4gICAgJl9faXRlbXMge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9fZm9vdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHNldGNvbG9yKDQpO1xuICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQ7XG4gICAgfVxuXG4gICAgJl9fc3VtbWFyeSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIH1cblxuXG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgICAgICAuY2FydC1kcmF3ZXJfX292ZXJsYXkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQtZHJhd2VyX19wYW5lbCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLmNhcnQtaXRlbS1vbGQge1xuLy8gICAgIGRpc3BsYXk6IGdyaWQ7XG4vLyAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZW0yKDY1cHgpIDFmcjsgLy9BZGp1c3RlZFxuLy8gICAgIGdhcDogMXJlbTtcbi8vICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbi8vICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuLy8gICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzZXRjb2xvcig0KTtcbi8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbi8vICAgICAmX19tZXRhIHtcbi8vICAgICAgICAgbWFyZ2luOjA7XG4vLyAgICAgfVxuLy8gICAgICY6bGFzdC1jaGlsZCB7XG4vLyAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4vLyAgICAgfVxuXG4vLyAgICAgJl9faW1hZ2Uge1xuLy8gICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuLy8gICAgICAgICBpbWcge1xuLy8gICAgICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgICAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgICAgIGhlaWdodDogYXV0bztcbi8vICAgICAgICAgfVxuLy8gICAgIH1cblxuLy8gICAgICZfX2NvbnRlbnQge1xuLy8gICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0yKDE2cHgpOyAvL0FkanVzdGVkXG4vLyAgICAgfVxuXG5cbi8vICAgICAmX190aXRsZSB7XG4vLyAgICAgICAgIG1hcmdpbjogMDtcbi8vICAgICAgICAgZm9udC1zaXplOiByZW0yKDE4cHgpO1xuLy8gICAgICAgICBAaW5jbHVkZSB1cHBlcmNhc2Utc3BhY2VkKCk7XG4vLyAgICAgICAgIGEge1xuLy8gICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDEpO1xuLy8gICAgICAgICAgICAgJjpob3ZlciB7XG4vLyAgICAgICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuLy8gICAgICAgICAgICAgfVxuLy8gICAgICAgICB9XG4vLyAgICAgfVxuXG4vLyAgICAgJl9fZm9vdGVyIHtcbi8vICAgICAgICAgZGlzcGxheTogZmxleDtcbi8vICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuLy8gICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuLy8gICAgICAgICBnYXA6IDFyZW07XG4vLyAgICAgICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG4vLyAgICAgfVxuXG4vLyAgICAgJl9fcXR5IHtcblxuLy8gICAgIH1cblxuXG5cbi8vICAgICAmX19yZW1vdmUge1xuLy8gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICAgICAgIHRvcDogMDtcbi8vICAgICAgICAgcmlnaHQ6IDA7XG4vLyAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuLy8gICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4vLyAgICAgICAgIHBhZGRpbmc6IDA7XG4vLyAgICAgICAgIGNvbG9yOiBzZXRjb2xvcigyKTtcbi8vICAgICB9XG4vLyB9XG5cblxuLmNhcnQtYXNpZGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKDUpO1xuICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgICAmX19pdGVtcyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNmZmZmZmY7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiRlbGVtLXBhZC1zbTtcbiAgICAgICAgbWFyZ2luOjAgMCAkZWxlbS1wYWQtc20gMDtcbiAgICB9XG4gICAgJl9faXRlbSB7XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZC14eHNtIDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTs7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0yKDE4cHgpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICB9XG4gICAgICAgICYtdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBnYXA6ICRlbGVtLXBhZC14c207XG4gICAgICAgIH1cbiAgICAgICAgJi1wcmljZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgfVxufVxuLmNhcnRfX2VkaXQtY2FydCB7XG4gZGlzcGxheTogYmxvY2s7XG4gdGV4dC1hbGlnbjogcmlnaHQ7XG59ICAgXG5cblxuXG4vKj09PT09PT09PT1cbkNBUlQgU1VNTUVSWVxuPT09PT09PT09PSovXG5cbi5zdW1tYXJ5IHtcbiAgICAmLWFkZHJlc3Mge1xuICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogJGVsZW0tcGFkLXNtO1xuICAgICAgICAgICAgcmlnaHQ6ICRlbGVtLXBhZC1zbTtcbiAgICAgICAgfVxuICAgICAgICAmX190eXBlIHtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICB9XG4gICAgICAgICZfX3dyYXAge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbS1wYWQ7XG4gICAgICAgIH1cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZWxlbS1wYWQtc207XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcig1KTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlICdhYnN0cmFjdHMvaW5kZXgnIGFzICo7XG4vKj09PT09Y2FydCBkcmF3ZXI9PT09PSovXG5ib2R5LmNhcnQtZHJhd2VyLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uY2FydC1kcmF3ZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAkei1pbmRleC0tb250b3A7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdXBwZXJjYXNlLXNwYWNlZCgpO1xuICAgIH1cbiAgICAmX19vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgfVxuXG4gICAgJl9fcGFuZWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiBtaW4oNDIwcHgsIDkwdncpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgYm94LXNoYWRvdzogLThweCAwIDI0cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHNldGNvbG9yKDQpO1xuICAgIH1cbiAgICAvLyAgICZfX3RpdGxlIHtcbiAgICAvLyAgICAgbWFyZ2luOiAwO1xuICAgIC8vICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgLy8gICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgLy8gICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgICB9XG5cbiAgICAmX19pdGVtcyB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX19mb290ZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgc2V0Y29sb3IoNCk7XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcblxuICAgICAgICAuY2FydC1kcmF3ZXItLWVtcHR5ICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1bW1hcnkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG5cblxuICAgICYuaXMtb3BlbiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXG4gICAgICAgIC5jYXJ0LWRyYXdlcl9fb3ZlcmxheSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FydC1kcmF3ZXJfX3BhbmVsIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAuY2FydC1pdGVtLW9sZCB7XG4vLyAgICAgZGlzcGxheTogZ3JpZDtcbi8vICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlbTIoNjVweCkgMWZyOyAvL0FkanVzdGVkXG4vLyAgICAgZ2FwOiAxcmVtO1xuLy8gICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuLy8gICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4vLyAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHNldGNvbG9yKDQpO1xuLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuLy8gICAgICZfX21ldGEge1xuLy8gICAgICAgICBtYXJnaW46MDtcbi8vICAgICB9XG4vLyAgICAgJjpsYXN0LWNoaWxkIHtcbi8vICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbi8vICAgICB9XG5cbi8vICAgICAmX19pbWFnZSB7XG4vLyAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4vLyAgICAgICAgIGltZyB7XG4vLyAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICAgICAgICB3aWR0aDogMTAwJTtcbi8vICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuLy8gICAgICAgICB9XG4vLyAgICAgfVxuXG4vLyAgICAgJl9fY29udGVudCB7XG4vLyAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbTIoMTZweCk7IC8vQWRqdXN0ZWRcbi8vICAgICB9XG5cblxuLy8gICAgICZfX3RpdGxlIHtcbi8vICAgICAgICAgbWFyZ2luOiAwO1xuLy8gICAgICAgICBmb250LXNpemU6IHJlbTIoMThweCk7XG4vLyAgICAgICAgIEBpbmNsdWRlIHVwcGVyY2FzZS1zcGFjZWQoKTtcbi8vICAgICAgICAgYSB7XG4vLyAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMSk7XG4vLyAgICAgICAgICAgICAmOmhvdmVyIHtcbi8vICAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoMik7XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG5cbi8vICAgICAmX19mb290ZXIge1xuLy8gICAgICAgICBkaXNwbGF5OiBmbGV4O1xuLy8gICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4vLyAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vLyAgICAgICAgIGdhcDogMXJlbTtcbi8vICAgICAgICAgbWFyZ2luLXRvcDogMC43NXJlbTtcbi8vICAgICB9XG5cbi8vICAgICAmX19xdHkge1xuXG4vLyAgICAgfVxuXG5cblxuLy8gICAgICZfX3JlbW92ZSB7XG4vLyAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgICAgICAgdG9wOiAwO1xuLy8gICAgICAgICByaWdodDogMDtcbi8vICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4vLyAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbi8vICAgICAgICAgcGFkZGluZzogMDtcbi8vICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuLy8gICAgIH1cbi8vIH1cblxuIiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuLmNhcnQtYXNpZGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKDUpO1xuICAgIHBhZGRpbmc6ICRlbGVtLXBhZDtcbiAgICAmX19pdGVtcyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNmZmZmZmY7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiRlbGVtLXBhZC1zbTtcbiAgICAgICAgbWFyZ2luOjAgMCAkZWxlbS1wYWQtc20gMDtcbiAgICB9XG4gICAgJl9faXRlbSB7XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtLXBhZC14eHNtIDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTs7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0yKDE4cHgpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkbHMtYm9keTtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKDIpO1xuICAgICAgICB9XG4gICAgICAgICYtdG9wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBnYXA6ICRlbGVtLXBhZC14c207XG4gICAgICAgIH1cbiAgICAgICAgJi1wcmljZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgfVxufVxuLmNhcnRfX2VkaXQtY2FydCB7XG4gZGlzcGxheTogYmxvY2s7XG4gdGV4dC1hbGlnbjogcmlnaHQ7XG59ICAgIiwiQHVzZSAnYWJzdHJhY3RzL2luZGV4JyBhcyAqO1xuXG5cblxuLmFjY291bnQtYWRkcmVzc2VzIHtcbiAgICAmX193cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAkZ3V0dGVyO1xuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICBnYXA6ICRndXR0ZXI7XG4gICAgfVxuXG4gICAgJl9fZmllbGRzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGVsZW0tcGFkO1xuICAgIH1cbiAgICAmX19jb2wge1xuICAgICAgICBcbiAgICB9XG59IiwiLyoqXG4gKiBVc2UgdGhpcyBmaWxlIHRvIGFkZCBpbiB0ZW1wb3Jhcnkgc3R5bGVzLiAgRm9yIGV4YW1wbGUgb3ZlcnJpZGluZyBsZWdhY3kgc3R5bGVzLlxuICogVGhlc2Ugc3R5bGVzIHdpbGwgYmUgYWRkZWQgd2l0aCB0aGUgaW50ZW50aW9uIHRvIHJlbW92ZSB0aGVtICBvbmNlIHRpbWUgdG8gcmVmYWN0b3JcbiAqXG4gKi9cblxuXG4gYm9keSwgaHRtbCB7XG4gICAvLyBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDsgLy9PdmVyd3JpdGUgYm9vdHN0cmFwIHN0eWxlXG4gfSJdfQ== */
