/**
 * Foundation for Sites by ZURB
 * Version 6.5.1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
@import url("https://fonts.googleapis.com/css?family=IBM+Plex+Serif:400,500|Montserrat:200,400,300,500,600,700");
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-family: monospace, monospace;
  font-size: 1em; }

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted; }

b,
strong {
  font-weight: bolder; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: 0.35em 0.75em 0.625em; }

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }

html {
  box-sizing: border-box;
  font-size: 100%; }

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

/*
  My custom styles:
  Add your scss files below to structure your project styles
*/
/**
 * @file
 * Variables
 *
 * Contains global variables available to the theme.
 */
/**
  * Fonts
  *
  */
/**
 * Breakpoints
 */
/**
 * Colors
 */
/**
 * @file
 * Mixins
 * 
 * Contains global SCSS mixins
 */
/**
 * @file
 * Animations
 * 
 * Contains all keyframe animations in use on the site.
 */
/*! normalize.css v7.0.0 | 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
 *    IE on Windows Phone and in iOS.
 */
* {
  box-sizing: border-box; }

html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  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
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

figure {
  margin: 0; }

/**
 * 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
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 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 */ }

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

/**
 * 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 style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #FFFF00;
  color: #000000; }

/**
 * 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
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

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

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border-radius: 0; }

select::-ms-expand {
  display: none; }

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

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

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: none;
  /* 2 */ }

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

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Remove the default vertical scrollbar in IE.
 */
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 and cancel buttons in Chrome and Safari on macOS.
 */
[type='search']::-webkit-search-cancel-button,
[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 IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

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

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

/**
 * Add the correct display in IE.
 */
template {
  display: none; }

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

body.logged-in.admin-bar .site-header:not(.js-slideUp), body.logged-in.admin-bar .site-header.js-top {
  top: 46px; }
  @media (min-width: 700px) {
    body.logged-in.admin-bar .site-header:not(.js-slideUp), body.logged-in.admin-bar .site-header.js-top {
      top: 32px; } }

/**
 * @file
 * Base theme styles
 */
html,
body {
  overflow-x: hidden; }
  html.js-fixed,
  body.js-fixed {
    position: fixed;
    width: 100vw;
    overflow: visible;
    height: 100%; }
    @media all and (-ms-high-contrast: none) {
      html.js-fixed,
      body.js-fixed {
        overflow: hidden; } }

body {
  font-family: "Montserrat", sans-serif;
  color: #000000;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.69;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  padding-top: 88px; }
  @media (min-width: 700px) {
    body {
      padding-top: 121px; } }
  @media screen and (min-width: 1025px) {
    body {
      font-size: 18px;
      padding-top: 135px; } }

* > p:last-child,
* > ul:last-child,
* > ol:last-child {
  margin-bottom: 0; }

.visually-hidden {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px); }

.back-top {
  position: fixed;
  bottom: 17px;
  right: 17px;
  z-index: 100; }
  @media (min-width: 700px) {
    .back-top {
      right: 28px; } }
  @media (min-width: 1600px) {
    .back-top {
      right: calc((100vw - 1600px) / 2 + 28px); } }
  .back-top a {
    position: relative;
    display: block;
    width: 36px;
    height: 36px;
    border-radius: 100%;
    background-color: #CC0033;
    color: #FFFFFF; }
    .back-top a:after {
      content: '';
      position: absolute;
      top: calc(50% - 4px);
      right: -2px;
      width: 4px;
      height: 4px;
      border-top: 2px solid #FFFFFF;
      border-left: 2px solid #FFFFFF;
      transform: translateX(-50%) rotate(-135deg);
      box-sizing: content-box;
      pointer-events: none; }
      @media screen and (min-width: 700px) {
        .back-top a:after {
          top: calc(50% - 2px); } }
    .back-top a:after {
      top: 54%;
      left: 50%;
      width: 8px;
      height: 8px;
      transform: translateX(-50%) translateY(-50%) rotate(45deg); }

a.skip-link {
  color: #980529;
  position: fixed;
  top: 0;
  left: 0; }
  a.skip-link.visually-hidden:focus {
    background-color: #FFFFFF;
    padding: 3px 10px;
    z-index: 10000;
    clip: unset;
    width: 230px;
    height: 40px; }

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 500;
  background: rgba(255, 255, 255, 0.8);
  display: none; }
  .overlay.js-open, .overlay.js-active {
    display: block;
    animation: fade-in 0.3s forwards; }

table {
  display: block;
  margin: 6px 0 33px;
  padding-bottom: 1em; }
  @media (min-width: 700px) {
    table {
      margin: 6px 0 34px;
      overflow: auto; } }
  @media (min-width: 1025px) {
    table {
      position: relative;
      width: 100vw !important;
      left: 50%;
      margin: 8px 0 47px;
      transform: translateX(-50%); } }
  @media screen and (min-width: 1600px) {
    table {
      width: 1600px !important; } }
  table tbody {
    border: none; }
    table tbody tr:nth-child(even) {
      background-color: #FFFFFF; }
    table tbody tr:first-child td {
      font-size: 14px;
      font-weight: 500 !important; }
      @media (min-width: 700px) {
        table tbody tr:first-child td {
          font-size: 15px; } }
      @media (min-width: 700px) {
        table tbody tr:first-child td {
          font-size: 16px; } }
    table tbody tr {
      border-bottom: 1px solid #B8B8B8 !important; }
    table tbody td {
      padding: 0.8rem 1rem 0.44rem 1.2rem;
      font-size: 13px;
      font-weight: 500; }
      @media (min-width: 700px) {
        table tbody td {
          padding: 0.8rem 1.6rem .4rem; } }
      @media (min-width: 1025px) {
        table tbody td {
          padding: .9rem 1.3rem .7rem;
          font-size: 15px; } }
      @media screen and (min-width: 1025px) {
        table tbody td:first-child {
          padding-left: 50px; } }
      @media screen and (min-width: 1025px) {
        table tbody td:last-child {
          padding-right: 50px; } }

table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: #FFFFFF !important; }

table.is-style-stripes tbody tr:nth-child(even) {
  background-color: #ECECEC; }

table.is-style-stripes tbody tr:last-child td,
table.is-style-stripes tbody tr:first-child td {
  border-bottom: 1px solid #B8B8B8 !important; }

figcaption {
  margin: 0.5em 0 0;
  font-size: 0.875em; }

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

.wp-block-audio,
.wp-block-video {
  margin: 0 0 1em; }

.wp-block-button {
  display: inline-block;
  position: relative;
  text-decoration: none;
  overflow: hidden;
  color: #008190; }
  .wp-block-button__link {
    border-radius: 3px;
    padding: 6px 19px;
    font-size: 16px;
    font-weight: 600;
    background: #FFFFFF;
    border: #CC0033 2px solid;
    transition: 0.3s ease-in-out; }
    .wp-block-button__link:hover, .wp-block-button__link:focus {
      background-color: #CC0033;
      color: #FFFFFF; }
  .wp-block-button.red .wp-block-button__link {
    padding: 8px 19px;
    background: #CC0033;
    color: #FFFFFF;
    transition: 0.3s ease-in-out; }
    .wp-block-button.red .wp-block-button__link:before {
      height: 3px;
      width: 100%;
      background: #FFFFFF;
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: 9;
      content: '';
      transition: 0.3s ease-in-out; }
    .wp-block-button.red .wp-block-button__link:hover {
      background-color: #980529; }
      .wp-block-button.red .wp-block-button__link:hover:before {
        height: 7px; }

article.type-news, article.type-events {
  position: relative; }

@media (min-width: 1025px) {
  .addthis_tool {
    width: auto; } }

.addthis_tool .at-style-responsive .at-share-btn {
  padding: 3px 0; }

.wp-block-file a {
  display: block;
  margin: 0 0 0.75em; }

.wp-block-file a.wp-block-file__button {
  border-radius: 3px;
  padding: 10px 19px;
  font-size: 16px;
  font-weight: 600;
  color: #008190;
  background: #FFFFFF;
  border: #CC0033 2px solid;
  transition: 0.3s ease-in-out; }
  .wp-block-file a.wp-block-file__button:visited:not(:hover) {
    color: #008190; }
  .wp-block-file a.wp-block-file__button:hover {
    background-color: #CC0033;
    color: #FFFFFF; }

/**
 * @file
 * Sitewide typography
 */
h1 {
  position: relative;
  font-family: "IBM Plex Serif", serif;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.23;
  text-align: center; }
  @media (max-width: 699px) {
    h1 {
      margin-bottom: 1.25em; } }
  @media screen and (min-width: 700px) {
    h1 {
      font-size: 58px; } }
  @media screen and (min-width: 1025px) {
    h1 {
      font-size: 60px; } }
  h1:after {
    content: '';
    position: absolute;
    bottom: -0.25em;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 2px;
    background-color: #9B9B9B; }
  h1.page-title {
    padding: 0 40px; }

h2 {
  font-family: "IBM Plex Serif", serif;
  font-weight: 400;
  margin: 1.2em 0 0.8em;
  font-size: 25px;
  line-height: 1.21;
  text-align: center; }
  @media screen and (min-width: 700px) {
    h2 {
      font-size: 41px; } }
  @media (min-width: 1025px) {
    h2 {
      margin: 1.2em 0 0.7em; } }

h3 {
  margin: 1.8em 0 0.8em;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.3; }
  @media screen and (min-width: 700px) {
    h3 {
      font-size: 34px;
      margin: 1.6em 0 0.3em; } }
  @media (min-width: 1025px) {
    h3 {
      margin-top: 1.5em; } }

h4 {
  margin: 2.2em 0 0.8em;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.39; }
  @media screen and (min-width: 700px) {
    h4 {
      font-size: 24px;
      margin: 2.2em 0 0.5em; } }
  @media (min-width: 1025px) {
    h4 {
      margin-top: 1.9em; } }

h5 {
  margin: 2.5em 0 0.3em;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.93; }
  @media screen and (min-width: 700px) {
    h5 {
      font-size: 18px;
      margin: 2.9em 0 0.1em; } }
  @media (min-width: 1025px) {
    h5 {
      margin-top: 2.4em; } }

h6 {
  margin: 2.2em 0 0.8em;
  color: #767676;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.67; }
  @media (min-width: 700px) {
    h6 {
      margin: 3.7em 0 0.6em; } }
  @media screen and (min-width: 1025px) {
    h6 {
      font-size: 14px;
      margin-bottom: 0.5em; } }

.last-word {
  position: relative;
  display: inline-block;
  padding-right: 20px; }
  .last-word:after {
    content: '';
    position: absolute;
    top: calc(50% - 4px);
    right: -2px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #CC0033;
    border-left: 2px solid #CC0033;
    transform: translateX(-50%) rotate(-135deg);
    box-sizing: content-box;
    pointer-events: none; }
    @media screen and (min-width: 700px) {
      .last-word:after {
        top: calc(50% - 2px); } }
  .last-word:after {
    position: absolute;
    display: inline-block;
    margin-bottom: 2px;
    right: 4px;
    transform: rotate(135deg); }

.entry-content h2 {
  position: relative;
  margin-top: 3.6em; }
  @media (min-width: 1025px) {
    .entry-content h2 {
      margin-top: 4.2em; } }
  @media screen and (min-width: 1600px) {
    .entry-content h2 {
      margin-top: 5.2em; } }
  .entry-content h2:after {
    content: '';
    position: absolute;
    top: -5em;
    left: 50%;
    width: 1220px;
    height: 100px;
    background-image: url("../images/h2-line.svg");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    transform: translateX(-50%);
    pointer-events: none; }
    @media (min-width: 700px) {
      .entry-content h2:after {
        top: -4.25em;
        left: 50%;
        width: 1763px;
        height: 150px; } }
    @media (min-width: 1025px) {
      .entry-content h2:after {
        top: -4.7em;
        height: 155px;
        width: 1876px; } }
    @media (min-width: 1900px) {
      .entry-content h2:after {
        width: 1900px; } }

.entry-content .wp-block-cover + h2,
.entry-content .wp-block-media-text.quote + h2,
.entry-content h2.no-chevron {
  margin-top: 1.1em; }
  @media screen and (min-width: 1025px) {
    .entry-content .wp-block-cover + h2,
    .entry-content .wp-block-media-text.quote + h2,
    .entry-content h2.no-chevron {
      margin-top: 0; } }
  .entry-content .wp-block-cover + h2:after,
  .entry-content .wp-block-media-text.quote + h2:after,
  .entry-content h2.no-chevron:after {
    content: none; }

p {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.79;
  margin: 0 0 1em; }
  @media (min-width: 700px) {
    p {
      font-size: 16px; } }
  p:empty {
    display: none; }

a {
  color: #008190;
  text-decoration: none;
  font-weight: 700;
  transition: color 0.3s ease; }
  a:hover {
    color: #000000; }

.wp-block-quote p {
  font-size: 18px; }

figcaption {
  color: #9B9B9B; }

span.blue {
  color: #000000;
  font-weight: 400; }

strong {
  font-weight: 700; }

.entry-content ol,
.entry-content ul {
  margin: 1em 0; }
  @media (min-width: 700px) {
    .entry-content ol,
    .entry-content ul {
      margin: 1em 0; } }
  .entry-content ol li,
  .entry-content ul li {
    margin: 0;
    font-weight: 500; }
    @media (min-width: 700px) {
      .entry-content ol li,
      .entry-content ul li {
        margin: 0 0 5px;
        font-size: 16px; } }

.entry-content ol {
  padding-left: 11px;
  counter-reset: ordered-list;
  list-style: none; }
  @media (min-width: 700px) {
    .entry-content ol {
      padding-left: 44px; } }
  @media (min-width: 1025px) {
    .entry-content ol {
      padding-left: 55px; } }
  .entry-content ol > li:before {
    counter-increment: ordered-list;
    content: counter(ordered-list);
    width: 5px;
    display: inline-block;
    margin-right: 13px;
    color: #00626D; }
    @media (min-width: 700px) {
      .entry-content ol > li:before {
        margin-right: 21px; } }
    @media (min-width: 1025px) {
      .entry-content ol > li:before {
        margin-right: 27px; } }

.entry-content ul:not([class]) {
  list-style: none;
  padding-left: 8px; }
  @media (min-width: 700px) {
    .entry-content ul:not([class]) {
      padding-left: 52px; } }
  @media (min-width: 1025px) {
    .entry-content ul:not([class]) {
      padding-left: 56px; } }
  .entry-content ul:not([class]) > li:not(.posts):not(.event) {
    position: relative;
    padding-left: 20px; }
    @media (min-width: 1025px) {
      .entry-content ul:not([class]) > li:not(.posts):not(.event) {
        padding-left: 2em; } }
    .entry-content ul:not([class]) > li:not(.posts):not(.event):before {
      position: absolute;
      left: 5px;
      top: 11px;
      content: '';
      height: 5px;
      width: 5px;
      background-color: #00626D;
      border-radius: 50%; }
      @media (min-width: 700px) {
        .entry-content ul:not([class]) > li:not(.posts):not(.event):before {
          left: -7px;
          height: 6px;
          width: 6px; } }
      @media (min-width: 1025px) {
        .entry-content ul:not([class]) > li:not(.posts):not(.event):before {
          top: 11px;
          left: 0; } }
    .entry-content ul:not([class]) > li:not(.posts):not(.event) > ul {
      padding: 0; }
    @media (min-width: 700px) {
      .entry-content ul:not([class]) > li:not(.posts):not(.event) > ol {
        padding: 0;
        margin-left: -8px; } }
    @media (min-width: 1025px) {
      .entry-content ul:not([class]) > li:not(.posts):not(.event) > ol {
        margin-left: 0; } }
  .entry-content ul:not([class]) ul {
    padding-left: 20px; }
    @media (min-width: 1025px) {
      .entry-content ul:not([class]) ul {
        padding-left: 2em; } }

@media (min-width: 700px) {
  .entry-content ol:not([class]) > li > ol {
    padding-left: 20px; } }

@media (min-width: 1025px) {
  .entry-content ol:not([class]) > li > ol {
    padding-left: 30px; } }

.entry-content ol:not([class]) > li > ul {
  padding-left: 20px; }
  @media (min-width: 700px) {
    .entry-content ol:not([class]) > li > ul {
      padding-left: 28px; } }

.entry-content .intro {
  font-size: 18px;
  line-height: 1.73;
  margin: 0 0 2em; }
  @media (min-width: 700px) {
    .entry-content .intro {
      font-size: 24px;
      line-height: 1.55;
      margin: 0 0 1.9em; } }
  @media (min-width: 1025px) {
    .entry-content .intro {
      font-size: 24px;
      line-height: 1.65;
      margin: 0 0 2.3em; } }

.wp-block-image.feature + h2,
.wp-block-media-text + h2 {
  margin: 1.2em 0 0.7em; }
  .wp-block-image.feature + h2:after,
  .wp-block-media-text + h2:after {
    content: none; }

#wpadminbar {
  position: fixed !important; }

body.admin-bar.f-topbar-fixed .sticky.fixed {
  margin-top: 2rem; }

body.admin-bar.offcanvas .off-canvas.is-open {
  top: 2.875rem; }
  @media (min-width: 700px) {
    body.admin-bar.offcanvas .off-canvas.is-open {
      top: 2rem; } }

.wp-caption > figcaption {
  max-width: 100%;
  font-size: 0.8rem;
  color: #999;
  padding: 0.25rem 0; }

p.wp-caption-text {
  font-size: 90%;
  color: #666;
  padding: 0.625rem 0; }

.alignleft {
  float: left;
  padding-right: 1rem;
  margin: 0; }

.alignright {
  float: right;
  padding-left: 1rem;
  margin: 0; }

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.gallery {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .gallery.gallery-columns-1 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-1 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-1 > .gallery-item {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-2 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-2 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-2 > .gallery-item {
      width: calc(50% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-3 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-3 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-3 > .gallery-item {
      width: calc(33.33333% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-4 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-4 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-4 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-5 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-5 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-5 > .gallery-item {
      width: calc(20% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-6 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-6 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-6 > .gallery-item {
      width: calc(16.66667% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-7 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-7 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-7 > .gallery-item {
      width: calc(14.28571% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-8 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-8 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-8 > .gallery-item {
      width: calc(12.5% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-9 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-9 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-9 > .gallery-item {
      width: calc(11.11111% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery .gallery-icon > a {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 1rem;
    border: 4px solid #fefefe;
    border-radius: 0;
    box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
    line-height: 0;
    transition: box-shadow 200ms ease-out; }
    .gallery .gallery-icon > a:hover, .gallery .gallery-icon > a:focus {
      box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }
    .gallery .gallery-icon > a image {
      box-shadow: none; }
  .gallery .gallery-icon > img {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 1rem;
    border: 4px solid #fefefe;
    border-radius: 0;
    box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
    line-height: 0; }

.home h1 {
  border: 0;
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  clip: rect(1px, 1px, 1px, 1px); }

.home .breadcrumbs {
  display: none; }

.home .entry-content {
  margin-top: 0;
  margin-bottom: 0; }

.detail {
  padding-top: 20px; }
  .detail__top {
    margin-bottom: 40px; }
    @media (max-width: 699px) {
      .detail__top {
        text-align: center; } }
  .detail__header {
    font-weight: 500;
    font-size: 25px;
    line-height: 1.3;
    font-weight: 400;
    margin-top: 0;
    margin-bottom: 18px; }
    @media (min-width: 700px) {
      .detail__header {
        font-size: 41px;
        text-align: left;
        margin-bottom: 15px; } }
    .detail__header:after {
      content: none; }
  .detail__date {
    color: #767676;
    font-size: 14px;
    font-weight: 500; }
  .detail__image {
    margin-bottom: 40px; }

.posts-list,
.news-list {
  margin: 0 auto !important;
  padding: 8px 0 0;
  list-style: none;
  opacity: 0;
  transition: opacity 0.3s ease; }
  @media (min-width: 700px) {
    .posts-list,
    .news-list {
      padding-top: 5px; } }
  @media (min-width: 1025px) {
    .posts-list,
    .news-list {
      padding-top: 30px; } }
  .posts-list__item,
  .news-list__item {
    text-align: center;
    padding: 0;
    margin: 0 auto; }
    @media (min-width: 700px) {
      .posts-list__item:after,
      .news-list__item:after {
        display: table;
        content: '';
        clear: both; } }
    .posts-list__item .posts__media,
    .posts-list__item .news__media,
    .news-list__item .posts__media,
    .news-list__item .news__media {
      margin: 0 17px 21px 20px; }
      @media (min-width: 700px) {
        .posts-list__item .posts__media,
        .posts-list__item .news__media,
        .news-list__item .posts__media,
        .news-list__item .news__media {
          width: calc(100%/2 - 86px);
          margin: 14px 25px 7px 0;
          float: left; } }
      @media (min-width: 1025px) {
        .posts-list__item .posts__media,
        .posts-list__item .news__media,
        .news-list__item .posts__media,
        .news-list__item .news__media {
          width: calc(100%/2 - 22px);
          margin: 12px 25px 6px 0; } }
    .posts-list__item .posts__title,
    .posts-list__item .news__title,
    .news-list__item .posts__title,
    .news-list__item .news__title {
      position: relative;
      margin-bottom: 5px;
      font-weight: 500;
      font-size: 20px;
      line-height: 1.45; }
      @media (min-width: 700px) {
        .posts-list__item .posts__title,
        .posts-list__item .news__title,
        .news-list__item .posts__title,
        .news-list__item .news__title {
          display: block;
          padding-top: 27px;
          text-align: left; } }
      @media (min-width: 1025px) {
        .posts-list__item .posts__title,
        .posts-list__item .news__title,
        .news-list__item .posts__title,
        .news-list__item .news__title {
          padding-top: 25px; } }
      .posts-list__item .posts__title:after,
      .posts-list__item .news__title:after,
      .news-list__item .posts__title:after,
      .news-list__item .news__title:after {
        top: initial;
        right: -22px;
        transform: translateX(-50%) rotate(135deg);
        margin-top: 12px; }
        @media (min-width: 700px) {
          .posts-list__item .posts__title:after,
          .posts-list__item .news__title:after,
          .news-list__item .posts__title:after,
          .news-list__item .news__title:after {
            right: initial;
            margin-left: 14px; } }
    .posts-list__item .posts__date,
    .posts-list__item .news__date,
    .news-list__item .posts__date,
    .news-list__item .news__date {
      margin: 0.6em 0 2em;
      color: #767676; }
      .posts-list__item .posts__date span:nth-of-type(3):not(:empty):before,
      .posts-list__item .news__date span:nth-of-type(3):not(:empty):before,
      .news-list__item .posts__date span:nth-of-type(3):not(:empty):before,
      .news-list__item .news__date span:nth-of-type(3):not(:empty):before {
        margin-left: -3px;
        content: ', '; }
      @media (min-width: 700px) {
        .posts-list__item .posts__date,
        .posts-list__item .news__date,
        .news-list__item .posts__date,
        .news-list__item .news__date {
          margin: 0.7em 0 2em;
          font-size: 14px;
          text-align: left; } }
      @media (min-width: 1025px) {
        .posts-list__item .posts__date,
        .posts-list__item .news__date,
        .news-list__item .posts__date,
        .news-list__item .news__date {
          margin: 1.1em 0 2em; } }
  .posts-list.js-sorted,
  .news-list.js-sorted {
    opacity: 1; }

.posts-grid {
  display: -ms-flexbox;
  display: flex;
  margin: 1.8em 0 !important;
  padding: 0;
  -ms-flex-flow: column nowrap;
      flex-flow: column nowrap;
  list-style: none;
  text-align: center; }
  @media (min-width: 700px) {
    .posts-grid {
      margin: 0;
      text-align: left; } }
  @media (min-width: 1025px) {
    .posts-grid {
      margin: 2em -40px !important;
      padding-top: 16px;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
      -ms-flex-pack: start;
          justify-content: flex-start; } }
  .posts-grid .posts-grid__item {
    margin: 0 0; }
    @media (min-width: 700px) {
      .posts-grid .posts-grid__item {
        margin: 0 0 0.667em; } }
    @media (min-width: 1025px) {
      .posts-grid .posts-grid__item {
        -ms-flex: 1;
            flex: 1; } }
    @media (min-width: 1025px) {
      .posts-grid .posts-grid__item:nth-child(2) {
        margin: 0 26px; } }
  .posts-grid .posts__media {
    margin: 0 17px 21px 20px; }
    @media (min-width: 700px) {
      .posts-grid .posts__media {
        width: calc(100%/2 - 86px);
        margin: 18px 25px 7px 0;
        float: left; } }
    @media (min-width: 1025px) {
      .posts-grid .posts__media {
        width: 100%;
        margin: 0 auto !important;
        float: none; } }
  .posts-grid .posts__title {
    position: relative;
    margin-bottom: 5px;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.45;
    text-align: center; }
    @media (min-width: 700px) {
      .posts-grid .posts__title {
        display: block;
        padding-top: 32px;
        text-align: left; } }
    @media (min-width: 1025px) {
      .posts-grid .posts__title {
        padding-top: 25px; } }
    .posts-grid .posts__title:after {
      top: initial;
      right: -22px;
      transform: translateX(-50%) rotate(135deg);
      margin-top: 12px; }
      @media (min-width: 700px) {
        .posts-grid .posts__title:after {
          right: initial;
          margin-left: 14px; } }
  .posts-grid .posts__date {
    margin: 0.6em 0 2em;
    color: #767676; }
    @media (min-width: 700px) {
      .posts-grid .posts__date {
        margin: 0.8em 0 2em;
        font-size: 14px;
        text-align: left; } }

.events-grid, .events-list {
  margin: -10px 0 0 !important;
  padding: 0;
  text-align: center;
  opacity: 0;
  transition: opacity 0.3s ease; }
  @media (min-width: 700px) {
    .events-grid, .events-list {
      text-align: left; } }
  @media (min-width: 1025px) {
    .events-grid, .events-list {
      margin-top: 0 !important; } }
  .events-grid li, .events-list li {
    list-style: none;
    margin: 0 0 2.4em !important; }
    @media (min-width: 700px) {
      .events-grid li, .events-list li {
        margin: 0 0 0.667em !important; }
        .events-grid li:after, .events-list li:after {
          display: table;
          content: '';
          clear: both; } }
    @media (min-width: 1025px) {
      .events-grid li, .events-list li {
        margin: 0 0 1.9em !important; } }
  @media (min-width: 700px) {
    .events-grid .event__date-field, .events-list .event__date-field {
      float: left;
      margin: 20px 38px 0 0; } }
  @media (min-width: 1025px) {
    .events-grid .event__date-field, .events-list .event__date-field {
      margin: 0 40px 0 0; } }
  .events-grid.js-sorted, .events-list.js-sorted {
    opacity: 1; }

.events__title {
  position: relative;
  margin-bottom: 5px;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.45; }
  @media (min-width: 700px) {
    .events__title {
      display: block;
      padding-top: 44px;
      text-align: left;
      line-height: 1.4; } }
  @media (min-width: 1025px) {
    .events__title {
      padding-top: 25px;
      line-height: 1.3; } }
  .events__title:after {
    top: initial;
    right: -22px;
    transform: translateX(-50%) rotate(135deg);
    margin-top: 12px; }
    @media (min-width: 700px) {
      .events__title:after {
        right: initial;
        margin-left: 14px; } }

.events__subtitle {
  margin: 0.6em 0 2em;
  color: #767676; }
  @media (min-width: 700px) {
    .events__subtitle {
      margin: 0.8em 0 2em;
      font-size: 14px;
      text-align: left; } }
  @media (min-width: 1025px) {
    .events__subtitle {
      margin: 0.7em 0 2em; } }

@media (min-width: 1025px) {
  .events-grid {
    display: -ms-flexbox;
    display: flex;
    margin: 0 -40px !important;
    -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
    -ms-flex-pack: start;
        justify-content: flex-start; } }

@media (min-width: 1025px) {
  .events-grid__item {
    -ms-flex: 1;
        flex: 1; } }

@media (min-width: 1025px) {
  .events-grid__item:nth-child(2) {
    margin: 0 26px !important; } }

@media (min-width: 1025px) {
  .events-grid .events__title, .events-grid .events__subtitle {
    text-align: center; } }

@media (min-width: 1025px) {
  .events-grid .events__title {
    padding-top: 0;
    margin: -3px 0 0; } }

@media (min-width: 1025px) {
  .events-grid .events__subtitle {
    margin: 0.7em 0 2em; } }

@media (min-width: 1025px) {
  .events-grid .event__date-field {
    float: none;
    margin: 58px auto 0; } }

@media (min-width: 700px) {
  .wp-block-column h2 {
    line-height: 1.31; } }

@media (min-width: 1025px) {
  .wp-block-column h2 {
    text-align: left;
    margin-top: 0 !important;
    line-height: 1.21; } }

.wp-block-column .events-list {
  margin: 1.7em 0 0 !important;
  opacity: 0;
  transition: opacity 0.3s ease; }
  @media (min-width: 700px) {
    .wp-block-column .events-list {
      margin: -14px 0 0 !important; } }
  @media (min-width: 1025px) {
    .wp-block-column .events-list {
      margin: 43px 0 0 !important; } }
  .wp-block-column .events-list__item {
    margin-bottom: 2.8em !important; }
    @media (min-width: 700px) {
      .wp-block-column .events-list__item {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: center;
            justify-content: center;
        margin-bottom: 14px !important; } }
    @media (min-width: 1025px) {
      .wp-block-column .events-list__item {
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
        margin-bottom: 20px !important; } }
  @media (min-width: 700px) {
    .wp-block-column .events-list .events__title {
      padding-top: 0;
      margin-top: -10px;
      text-align: center; } }
  @media (min-width: 1025px) {
    .wp-block-column .events-list .events__title {
      text-align: left; } }
  .wp-block-column .events-list .events__subtitle {
    margin: 0.8em 0 2em; }
    @media (min-width: 700px) {
      .wp-block-column .events-list .events__subtitle {
        text-align: center; } }
    @media (min-width: 1025px) {
      .wp-block-column .events-list .events__subtitle {
        text-align: left; } }
  @media (min-width: 700px) {
    .wp-block-column .events-list .event__date-field {
      float: none;
      margin: 0 auto; } }
  @media (min-width: 1025px) {
    .wp-block-column .events-list .event__date-field {
      margin: 0 36px 0 0; } }
  @media (min-width: 1025px) {
    .wp-block-column .events-list .event__content {
      -ms-flex: 1;
          flex: 1;
      margin-top: 35px; } }
  .wp-block-column .events-list.js-sorted {
    opacity: 1; }

@media (min-width: 700px) {
  .wp-block-column .news-list {
    padding-top: 0; } }

@media (min-width: 1025px) {
  .wp-block-column .news-list {
    padding-top: 22px; } }

@media (min-width: 1025px) {
  .wp-block-column .news-list__item {
    margin: 0 0 28px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
        flex-flow: row nowrap; } }

.wp-block-column .news-list .news__media {
  display: block;
  position: relative;
  width: calc(100% - 33px);
  height: 100%;
  padding-bottom: 70%;
  overflow: hidden;
  margin: 0 auto 20px; }
  @media (min-width: 700px) {
    .wp-block-column .news-list .news__media {
      padding-bottom: 60%;
      width: calc(100% - 70px);
      float: none;
      margin: 0 auto; } }
  @media (min-width: 1025px) {
    .wp-block-column .news-list .news__media {
      width: calc(100%/2 - 22px);
      margin: 0 25px 0 0;
      padding-bottom: 38.3%; } }
  .wp-block-column .news-list .news__media img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    object-fit: cover; }

@media (min-width: 1025px) {
  .wp-block-column .news-list .news__content {
    width: calc(100%/2);
    margin-top: 15px; } }

@media (min-width: 700px) {
  .wp-block-column .news-list .news__title, .wp-block-column .news-list .news__date {
    text-align: center; } }

@media (min-width: 1025px) {
  .wp-block-column .news-list .news__title, .wp-block-column .news-list .news__date {
    text-align: left; } }

@media (min-width: 700px) {
  .wp-block-column .news-list .news__title {
    padding-top: 23px; } }

@media (min-width: 1025px) {
  .wp-block-column .news-list .news__title {
    padding-top: 0;
    line-height: 1.4; } }

@media (min-width: 1025px) {
  .wp-block-column .news-list .news__date {
    margin: 0; } }

.item__sort-date {
  display: none; }

#search-results .entry-title {
  margin: 0 0 0.7em; }
  @media (min-width: 1025px) {
    #search-results .entry-title a {
      font-size: 18px; } }

#search-results .result {
  margin-bottom: 1.7em; }

.main-content,
.entry-content {
  padding-left: 40px;
  padding-right: 40px;
  max-width: 720px;
  margin: 0 auto; }
  @media screen and (min-width: 700px) {
    .main-content,
    .entry-content {
      padding-left: 60px;
      padding-right: 60px; } }
  @media (min-width: 1025px) {
    .main-content,
    .entry-content {
      padding: 0; } }
  .main-content--dir,
  .entry-content--dir {
    max-width: 962px;
    padding: 0; }
    .main-content--dir .main-container[role='main'],
    .entry-content--dir .main-container[role='main'] {
      padding: 0; }

.entry-content,
#search-results {
  margin-bottom: 2em; }
  @media (min-width: 1025px) {
    .entry-content,
    #search-results {
      margin-top: 2.3em; } }

.page-template-page--directory .main-content,
.page-template-page--directory .entry-content {
  max-width: 962px; }

.callout {
  background-color: #CC0033;
  color: #FFFFFF; }
  @media (min-width: 1600px) {
    .callout {
      position: relative;
      max-width: 1600px;
      left: 50%;
      transform: translateX(-50%); } }
  .callout__inner {
    position: relative;
    padding: 0 20px 12px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media (min-width: 700px) {
      .callout__inner {
        padding-top: 8px;
        padding-bottom: 18px; } }
  .callout__icon {
    display: block;
    -ms-flex: 0 0 51px;
        flex: 0 0 51px;
    width: 51px;
    height: 51px;
    background: url("../../../src/assets/images/alert.svg") transparent no-repeat center;
    background-size: 100% 100%;
    margin-right: 15px; }
    @media (min-width: 1025px) {
      .callout__icon {
        margin-right: 38px; } }
  .callout p {
    font-weight: 600;
    line-height: 1.4;
    margin: 0; }
    @media (min-width: 1025px) {
      .callout p {
        font-size: 18px; } }

.alert {
  background-color: #CC0033;
  color: #FFFFFF;
  padding: 17px 30px;
  border-radius: 5px; }
  @media (min-width: 700px) {
    .alert {
      padding: 38px 34px; } }
  @media (min-width: 1025px) {
    .alert {
      padding: 38px 50px; } }
  .alert a {
    color: #EBE3D1; }
    .alert a:focus, .alert a:hover {
      color: #FFFFFF; }

.wp-block-cover {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  display: block !important;
  background: transparent;
  min-height: auto;
  background-position: center center;
  background-size: 100%;
  background-repeat: no-repeat; }
  @media (max-width: 699px) {
    .wp-block-cover {
      padding-bottom: 40px; } }
  @media (min-width: 700px) {
    .wp-block-cover:before {
      content: '';
      position: absolute;
      bottom: -1px;
      left: 50%;
      width: 110%;
      height: 100%;
      background-image: url("../images/arrow-mask.svg");
      background-size: 100% auto;
      background-repeat: no-repeat;
      background-position: bottom center;
      z-index: 2;
      pointer-events: none;
      transform: translateX(-50%); } }
  .wp-block-cover:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    pointer-events: none; }
    @media (max-width: 699px) {
      .wp-block-cover:after {
        top: calc(100% - 40px);
        left: 50%;
        transform: translate(-50%);
        border-left: 50vw solid transparent;
        border-right: 50vw solid transparent;
        border-top: 40px solid #ECECEC;
        z-index: -1; } }
    @media (min-width: 700px) {
      .wp-block-cover:after {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(255, 0, 0, 0));
        z-index: 1; } }
  .wp-block-cover.js-videoactive:not(.js-loaded):after {
    position: absolute;
    top: 25vw;
    left: 50%;
    display: inline-block;
    width: 70px;
    height: 70px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: spin 1s ease-in-out infinite;
    -webkit-animation: spin 1s ease-in-out infinite;
    transform: translate(-50%, -50%);
    z-index: 1; }
    @media screen and (min-width: 1025px) {
      .wp-block-cover.js-videoactive:not(.js-loaded):after {
        top: 50%; } }

@keyframes spin {
  to {
    -webkit-transform: translate(-50%, -50%) rotate(360deg); } }
  @media (min-width: 700px) {
    .wp-block-cover {
      height: 0;
      min-height: unset;
      margin-bottom: 55px;
      padding-bottom: calc(100vw * .5625); } }
  @media (min-width: 1025px) {
    .wp-block-cover {
      padding-bottom: calc((60vw / 16) * 9);
      margin-bottom: 35px; } }
  @media (min-width: 1900px) {
    .wp-block-cover {
      left: calc((720px - 1900px) / 2);
      right: auto;
      margin-left: 0;
      width: 1900px;
      padding-bottom: 641px; } }
  .wp-block-cover__video-background {
    display: block;
    object-fit: cover;
    object-position: center center;
    font-family: 'object-fit: cover; object-position: left top;';
    background-color: #000000;
    outline-offset: -6px; }
    @media (max-width: 699px) {
      .wp-block-cover__video-background {
        position: static;
        transform: translate(0, 0); } }
  .wp-block-cover object-fit {
    top: 0 !important;
    left: 0 !important;
    z-index: -1; }
  .wp-block-cover .focus-indicator {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    box-shadow: 0px 0px 6px 5px rgba(0, 136, 255, 0.7);
    transform: translateX(-50%) translateY(-50%);
    pointer-events: none; }
  .wp-block-cover .wp-block-cover__inner-container {
    color: #000000;
    background-color: #ECECEC;
    width: 100%;
    padding: 12px 40px;
    max-width: none;
    pointer-events: none;
    z-index: 2; }
    @media (min-width: 700px) {
      .wp-block-cover .wp-block-cover__inner-container {
        position: absolute;
        left: 50%;
        bottom: 10%;
        width: 93%;
        color: #FFFFFF;
        background-color: transparent;
        opacity: 0;
        transition: opacity 0.3s ease;
        transform: translateX(-50%); } }
    @media (min-width: 1025px) {
      .wp-block-cover .wp-block-cover__inner-container {
        width: 80%; } }
  .wp-block-cover p {
    font-family: "IBM Plex Serif", serif;
    font-size: 36px;
    font-weight: 300;
    line-height: 1.2; }
    @media (min-width: 700px) {
      .wp-block-cover p {
        font-size: 58px; } }
    @media screen and (min-width: 1125px) {
      .wp-block-cover p {
        font-size: 82px;
        line-height: 0.9; } }
  .wp-block-cover a {
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 600;
    display: inline-block;
    position: relative;
    text-decoration: none;
    overflow: hidden;
    width: 124px;
    padding: 12px 19px;
    margin: 15px auto 0;
    background: #CC0033;
    border-radius: 4px 4px 0 0;
    color: #FFFFFF;
    transition: 0.3s ease-in-out;
    pointer-events: all; }
    @media (min-width: 1025px) {
      .wp-block-cover a {
        margin: 10px auto 0;
        padding: 14px 19px; } }
    .wp-block-cover a:before {
      height: 3px;
      width: 100%;
      background: #FFFFFF;
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: 9;
      content: '';
      transition: 0.3s ease-in-out; }
    .wp-block-cover a:hover {
      background-color: #980529; }
      .wp-block-cover a:hover:before {
        height: 7px; }
    .wp-block-cover a:last-of-type {
      margin: 0; }
  .wp-block-cover.has-background-dim {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-bottom: 82.25%; }
    @media (max-width: 699px) {
      .wp-block-cover.has-background-dim {
        overflow: visible;
        margin-bottom: calc(1.5em + 40px); } }
    .wp-block-cover.has-background-dim:after {
      content: none; }
    .wp-block-cover.has-background-dim:before {
      left: 50%;
      opacity: 1; }
    .wp-block-cover.has-background-dim .wp-block-cover-text {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%; }
      @media (min-width: 700px) {
        .wp-block-cover.has-background-dim .wp-block-cover-text {
          left: 50%;
          bottom: 50%;
          width: 100%;
          transform: translateX(-50%) translateY(50%); } }
      .wp-block-cover.has-background-dim .wp-block-cover-text:after {
        content: '';
        position: absolute;
        width: 0;
        height: 0; }
        @media (max-width: 699px) {
          .wp-block-cover.has-background-dim .wp-block-cover-text:after {
            top: 100%;
            left: 50%;
            transform: translate(-50%);
            border-left: 50vw solid transparent;
            border-right: 50vw solid transparent;
            border-top: 40px solid #ECECEC;
            z-index: -1; } }
    .wp-block-cover.has-background-dim .wp-block-cover__inner-container {
      bottom: 20%; }
  @media (max-width: 699px) {
    .wp-block-cover[style]:not(.has-background-dim) {
      overflow: visible;
      margin-bottom: calc(1.5em + 40px);
      padding-bottom: 82.25%; }
      .wp-block-cover[style]:not(.has-background-dim) .wp-block-cover__inner-container {
        position: absolute;
        width: 100%;
        padding-bottom: 0 !important;
        bottom: 0 !important; } }
    @media (max-width: 699px) and (max-width: 699px) {
      .wp-block-cover[style]:not(.has-background-dim) .wp-block-cover__inner-container {
        padding-bottom: 40px; } }
    @media (max-width: 699px) and (min-width: 700px) {
      .wp-block-cover[style]:not(.has-background-dim) .wp-block-cover__inner-container:before {
        content: '';
        position: absolute;
        bottom: -1px;
        left: 50%;
        width: 110%;
        height: 100%;
        background-image: url("../images/arrow-mask.svg");
        background-size: 100% auto;
        background-repeat: no-repeat;
        background-position: bottom center;
        z-index: 2;
        pointer-events: none;
        transform: translateX(-50%); } }
  @media (max-width: 699px) {
        .wp-block-cover[style]:not(.has-background-dim) .wp-block-cover__inner-container:after {
          content: '';
          position: absolute;
          width: 0;
          height: 0;
          pointer-events: none; } }
      @media (max-width: 699px) and (max-width: 699px) {
        .wp-block-cover[style]:not(.has-background-dim) .wp-block-cover__inner-container:after {
          top: calc(100% - 40px);
          left: 50%;
          transform: translate(-50%);
          border-left: 50vw solid transparent;
          border-right: 50vw solid transparent;
          border-top: 40px solid #ECECEC;
          z-index: -1; } }
      @media (max-width: 699px) and (min-width: 700px) {
        .wp-block-cover[style]:not(.has-background-dim) .wp-block-cover__inner-container:after {
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background-image: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(255, 0, 0, 0));
          z-index: 1; } }
  @media (max-width: 699px) {
        .wp-block-cover[style]:not(.has-background-dim) .wp-block-cover__inner-container:after {
          top: 100%; } }
  .wp-block-cover.js-active .wp-block-cover__inner-container {
    opacity: 1; }

body:not(.home) .wp-block-cover:not(.has-background-dim) .wp-block-cover__inner-container {
  bottom: 20%; }

.wp-block-pullquote {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  background-color: #008190;
  color: #FFFFFF;
  padding: 40px 40px 32px 100px;
  margin-top: 4.5em;
  margin-bottom: 4.5em;
  text-align: left;
  overflow: visible; }
  @media (min-width: 700px) {
    .wp-block-pullquote {
      padding: 40px 60px 44px 126px; } }
  @media (min-width: 1025px) {
    .wp-block-pullquote {
      padding: 55px calc((100vw - 1000px) / 2) 70px calc((100vw - 1000px) / 2 + 160px);
      margin-top: 5.5em;
      margin-bottom: 5.5em; } }
  @media (min-width: 1600px) {
    .wp-block-pullquote {
      width: 1600px;
      left: calc((720px - 1600px) / 2);
      margin-left: auto;
      padding: 55px calc((1600px - 1000px) / 2) 70px calc((1600px - 1000px) / 2 + 160px); } }
  .wp-block-pullquote.is-style-solid-color a:not(.wp-block-button__link) {
    color: #DFD2B3; }
    .wp-block-pullquote.is-style-solid-color a:not(.wp-block-button__link):hover {
      color: #FFFFFF; }
  .wp-block-pullquote blockquote, .wp-block-pullquote.is-style-solid-color blockquote {
    position: relative;
    margin: 0;
    max-width: none; }
    .wp-block-pullquote blockquote:before, .wp-block-pullquote.is-style-solid-color blockquote:before {
      content: '';
      position: absolute;
      top: -2px;
      left: -81px;
      width: 64px;
      height: 64px;
      background-image: url("../images/quote-white.svg");
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center center; }
      @media (min-width: 700px) {
        .wp-block-pullquote blockquote:before, .wp-block-pullquote.is-style-solid-color blockquote:before {
          top: 0;
          left: -110px;
          width: 91px;
          height: 91px; } }
      @media (min-width: 1025px) {
        .wp-block-pullquote blockquote:before, .wp-block-pullquote.is-style-solid-color blockquote:before {
          top: -10px;
          left: -161px;
          width: 122px;
          height: 122px; } }
    .wp-block-pullquote blockquote p, .wp-block-pullquote.is-style-solid-color blockquote p {
      font-size: 18px;
      line-height: 1.65;
      margin-bottom: 12px; }
      @media (min-width: 700px) {
        .wp-block-pullquote blockquote p, .wp-block-pullquote.is-style-solid-color blockquote p {
          font-size: 24px;
          margin-bottom: 16px; } }
      @media (min-width: 1025px) {
        .wp-block-pullquote blockquote p, .wp-block-pullquote.is-style-solid-color blockquote p {
          line-height: 1.5;
          margin-bottom: 10px; } }
    .wp-block-pullquote blockquote cite, .wp-block-pullquote.is-style-solid-color blockquote cite {
      font-size: 14px;
      font-weight: 500;
      font-style: normal; }
  .wp-block-pullquote:not(.is-style-solid-color) {
    color: #000000; }
    .wp-block-pullquote:not(.is-style-solid-color) blockquote:before {
      background-image: url("../images/quote-red.svg"); }
  .wp-block-pullquote + .wp-block-pullquote {
    margin-top: -4.5em; }
    @media (min-width: 1025px) {
      .wp-block-pullquote + .wp-block-pullquote {
        margin-top: -5.5em; } }

h2 + .wp-block-pullquote {
  margin-top: 0; }

.wp-block-media-text {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  margin-top: 37px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  background-color: #008190;
  color: #FFFFFF;
  padding-bottom: 40px;
  margin-top: 4em;
  margin-bottom: 7.5em;
  overflow: visible; }
  @media (min-width: 700px) {
    .wp-block-media-text {
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center;
      padding: 45px 60px;
      margin-bottom: 8.7em; } }
  @media (min-width: 1025px) {
    .wp-block-media-text {
      padding: 65px 160px;
      margin-top: 2.7em;
      margin-bottom: 160px; } }
  @media (min-width: 1900px) {
    .wp-block-media-text {
      width: 1900px;
      left: calc((720px - 1900px) / 2);
      margin-left: auto;
      margin-bottom: 200px; } }
  .wp-block-media-text:after {
    content: '';
    position: absolute;
    bottom: -8.4vw;
    left: 50%;
    transform: translate(-50%);
    border-left: 50vw solid transparent;
    border-right: 50vw solid transparent;
    border-top: 8.5vw solid #008190;
    z-index: -1; }
    @media (min-width: 1900px) {
      .wp-block-media-text:after {
        bottom: -162px;
        border-left: calc(1900px / 2) solid transparent;
        border-right: calc(1900px / 2) solid transparent;
        border-top: 162px solid #008190; } }
  .wp-block-media-text .wp-block-button__link {
    padding: 8px 19px;
    background: #424B4F;
    color: #FFFFFF;
    border: none;
    transition: 0.3s ease-in-out; }
    .wp-block-media-text .wp-block-button__link:before {
      height: 3px;
      width: 100%;
      background: #FFFFFF;
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: 9;
      content: '';
      transition: 0.3s ease-in-out; }
    .wp-block-media-text .wp-block-button__link:hover, .wp-block-media-text .wp-block-button__link:focus {
      background-color: #000000; }
      .wp-block-media-text .wp-block-button__link:hover:before, .wp-block-media-text .wp-block-button__link:focus:before {
        height: 7px; }
  .wp-block-media-text .wp-block-media-text__media {
    position: relative;
    -ms-flex-order: 0;
        order: 0;
    width: 200px;
    height: 200px;
    margin: -15px auto 7px;
    border-radius: 100%;
    overflow: hidden;
    z-index: 1; }
    @media (min-width: 700px) {
      .wp-block-media-text .wp-block-media-text__media {
        -ms-flex: 0 0 264px;
            flex: 0 0 264px;
        height: 264px;
        margin: -65px 40px -65px -40px; } }
    @media screen and (min-width: 1025px) {
      .wp-block-media-text .wp-block-media-text__media {
        -ms-flex: 0 0 317px;
            flex: 0 0 317px;
        height: 317px;
        margin: -95px 3vw -95px 0; } }
    .wp-block-media-text .wp-block-media-text__media img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .wp-block-media-text .wp-block-media-text__content {
    -ms-flex-order: 1;
        order: 1;
    width: 100%;
    padding: 10px 40px; }
    @media (min-width: 700px) {
      .wp-block-media-text .wp-block-media-text__content {
        padding: 0;
        -ms-flex-item-align: start;
            align-self: flex-start; } }
    .wp-block-media-text .wp-block-media-text__content .has-large-font-size {
      font-size: 18px;
      font-weight: 500; }
      @media (min-width: 700px) {
        .wp-block-media-text .wp-block-media-text__content .has-large-font-size {
          line-height: 1.55; } }
  @media (min-width: 700px) {
    .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
      -ms-flex-order: 1;
          order: 1;
      margin: -65px -40px -65px 40px; } }
  @media screen and (min-width: 1025px) {
    .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
      margin: -95px 3vw -95px 0; } }
  @media (min-width: 1025px) {
    .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
      margin: -95px 0 -95px 3vw; } }
  @media (min-width: 1440px) {
    .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
      margin: -95px 0 -95px 43.2px; } }
  @media (min-width: 700px) {
    .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
      -ms-flex-order: 0;
          order: 0; } }
  .wp-block-media-text:not(.quote-teal):not(.quote-grey) + .wp-block-media-text:not(.quote-teal):not(.quote-grey),
  .wp-block-media-text.quote-teal + .wp-block-media-text.quote-teal,
  .wp-block-media-text.quote-grey + .wp-block-media-text.quote-grey,
  .wp-block-media-text.quote-grey + .wp-block-media-text.quote-teal,
  .wp-block-media-text.quote-teal + .wp-block-media-text.quote-grey {
    margin-top: -7.5em; }
    @media (min-width: 700px) {
      .wp-block-media-text:not(.quote-teal):not(.quote-grey) + .wp-block-media-text:not(.quote-teal):not(.quote-grey),
      .wp-block-media-text.quote-teal + .wp-block-media-text.quote-teal,
      .wp-block-media-text.quote-grey + .wp-block-media-text.quote-grey,
      .wp-block-media-text.quote-grey + .wp-block-media-text.quote-teal,
      .wp-block-media-text.quote-teal + .wp-block-media-text.quote-grey {
        margin-top: -8.7em; } }
    @media (min-width: 1025px) {
      .wp-block-media-text:not(.quote-teal):not(.quote-grey) + .wp-block-media-text:not(.quote-teal):not(.quote-grey),
      .wp-block-media-text.quote-teal + .wp-block-media-text.quote-teal,
      .wp-block-media-text.quote-grey + .wp-block-media-text.quote-grey,
      .wp-block-media-text.quote-grey + .wp-block-media-text.quote-teal,
      .wp-block-media-text.quote-teal + .wp-block-media-text.quote-grey {
        margin-top: -160px; } }
    @media (min-width: 1600px) {
      .wp-block-media-text:not(.quote-teal):not(.quote-grey) + .wp-block-media-text:not(.quote-teal):not(.quote-grey),
      .wp-block-media-text.quote-teal + .wp-block-media-text.quote-teal,
      .wp-block-media-text.quote-grey + .wp-block-media-text.quote-grey,
      .wp-block-media-text.quote-grey + .wp-block-media-text.quote-teal,
      .wp-block-media-text.quote-teal + .wp-block-media-text.quote-grey {
        margin-top: -200px; } }
  @media (min-width: 700px) {
    .wp-block-media-text.quote-grey .wp-block-media-text__media, .wp-block-media-text.quote-teal .wp-block-media-text__media {
      opacity: 0;
      transition: opacity 0.3s ease; } }
  .wp-block-media-text.quote-grey .wp-block-media-text__content, .wp-block-media-text.quote-teal .wp-block-media-text__content {
    position: relative;
    padding-left: 80px; }
    @media (min-width: 700px) {
      .wp-block-media-text.quote-grey .wp-block-media-text__content, .wp-block-media-text.quote-teal .wp-block-media-text__content {
        opacity: 0;
        transition: opacity 0.3s ease; } }
    @media (min-width: 1025px) {
      .wp-block-media-text.quote-grey .wp-block-media-text__content, .wp-block-media-text.quote-teal .wp-block-media-text__content {
        padding-left: 135px; } }
    .wp-block-media-text.quote-grey .wp-block-media-text__content:before, .wp-block-media-text.quote-teal .wp-block-media-text__content:before {
      content: '';
      position: absolute;
      top: 10px;
      left: 11px;
      width: 54px;
      height: 54px;
      background-image: url("../images/quote-white.svg");
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center center; }
      @media (min-width: 700px) {
        .wp-block-media-text.quote-grey .wp-block-media-text__content:before, .wp-block-media-text.quote-teal .wp-block-media-text__content:before {
          top: 0;
          left: -42px;
          width: 91px;
          height: 91px; } }
      @media (min-width: 1025px) {
        .wp-block-media-text.quote-grey .wp-block-media-text__content:before, .wp-block-media-text.quote-teal .wp-block-media-text__content:before {
          top: -10px;
          left: 0;
          width: 100px;
          height: 100px; } }
    .wp-block-media-text.quote-grey .wp-block-media-text__content .has-large-font-size, .wp-block-media-text.quote-teal .wp-block-media-text__content .has-large-font-size {
      margin-bottom: 6px; }
    @media (min-width: 700px) {
      .wp-block-media-text.quote-grey .wp-block-media-text__content p:not(.has-large-font-size), .wp-block-media-text.quote-teal .wp-block-media-text__content p:not(.has-large-font-size) {
        font-size: 14px; } }
  .wp-block-media-text.quote-grey.js-active .wp-block-media-text__media, .wp-block-media-text.quote-grey.js-active .wp-block-media-text__content, .wp-block-media-text.quote-teal.js-active .wp-block-media-text__media, .wp-block-media-text.quote-teal.js-active .wp-block-media-text__content {
    opacity: 1; }
  .wp-block-media-text.quote-teal, .wp-block-media-text.teal {
    background-color: #008190;
    color: #FFFFFF; }
    .wp-block-media-text.quote-teal a:not(.wp-block-button__link), .wp-block-media-text.teal a:not(.wp-block-button__link) {
      color: #DFD2B3; }
      .wp-block-media-text.quote-teal a:not(.wp-block-button__link):hover, .wp-block-media-text.teal a:not(.wp-block-button__link):hover {
        color: #FFFFFF; }
  .wp-block-media-text.quote-grey, .wp-block-media-text.grey {
    color: #000000;
    background-color: #ECECEC; }
    .wp-block-media-text.quote-grey .wp-block-media-text__content:before, .wp-block-media-text.grey .wp-block-media-text__content:before {
      background-image: url("../images/quote-red.svg"); }
      @media (min-width: 700px) {
        .wp-block-media-text.quote-grey .wp-block-media-text__content:before, .wp-block-media-text.grey .wp-block-media-text__content:before {
          left: -32px; } }
      @media (min-width: 1025px) {
        .wp-block-media-text.quote-grey .wp-block-media-text__content:before, .wp-block-media-text.grey .wp-block-media-text__content:before {
          left: 0; } }
    .wp-block-media-text.quote-grey:after, .wp-block-media-text.grey:after {
      content: '';
      position: absolute;
      bottom: -8.4vw;
      left: 50%;
      transform: translate(-50%);
      border-left: 50vw solid transparent;
      border-right: 50vw solid transparent;
      border-top: 8.5vw solid #ECECEC;
      z-index: -1; }
      @media (min-width: 1900px) {
        .wp-block-media-text.quote-grey:after, .wp-block-media-text.grey:after {
          bottom: -162px;
          border-left: calc(1900px / 2) solid transparent;
          border-right: calc(1900px / 2) solid transparent;
          border-top: 162px solid #ECECEC; } }
  @media screen and (min-width: 700px) {
    .wp-block-media-text--last-of-type {
      padding-bottom: 0; } }

.breadcrumbs {
  padding: 26px 0 19px;
  margin: 0; }
  @media (max-width: 1024px) {
    .breadcrumbs {
      display: none; } }
  .breadcrumbs li {
    font-size: 14px;
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    max-width: 200px;
    text-overflow: ellipsis;
    font-weight: 400; }
    .breadcrumbs li:not(:last-of-type) {
      position: relative;
      margin-right: 6px; }
      .breadcrumbs li:not(:last-of-type):after {
        content: '';
        position: absolute;
        top: calc(50% - 4px);
        right: -2px;
        width: 4px;
        height: 4px;
        border-top: 2px solid #000000;
        border-left: 2px solid #000000;
        transform: translateX(-50%) rotate(-135deg);
        box-sizing: content-box;
        pointer-events: none; }
        @media screen and (min-width: 700px) {
          .breadcrumbs li:not(:last-of-type):after {
            top: calc(50% - 2px); } }
      .breadcrumbs li:not(:last-of-type):after {
        top: calc(50% - 3px);
        transform: translateX(-50%) rotate(130deg); }
  .breadcrumbs a {
    text-decoration: none;
    padding-right: 16px;
    font-weight: 600; }

.featured-image {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  margin-bottom: 1.3em;
  background-color: #000000;
  min-height: 8.5rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
      align-items: flex-end; }
  @media (min-width: 700px) {
    .featured-image {
      min-height: 13.75rem; } }
  @media (min-width: 1025px) {
    .featured-image {
      min-height: 19rem;
      margin-bottom: 4px; } }
  @media (min-width: 1900px) {
    .featured-image {
      width: 1900px;
      margin-left: 0;
      transform: translateX(-50%); } }
  .featured-image__media {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%; }
    .featured-image__media:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(transparent, rgba(0, 0, 0, 0.5)); }
  .featured-image__inner {
    position: relative;
    width: 100%;
    padding: 0 40px;
    color: #FFFFFF;
    text-align: center; }
    .featured-image__inner h1 {
      font-weight: 400;
      margin: 0.67em 0; }
      @media (min-width: 700px) {
        .featured-image__inner h1 {
          font-size: 48px; } }
      @media (min-width: 1025px) {
        .featured-image__inner h1 {
          font-size: 58px; } }
      .featured-image__inner h1:after {
        content: none; }

.featured-hero {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }

.section-navigation {
  opacity: 0;
  padding: 0 40px;
  margin: 1.6em 0 1.8em;
  transition: opacity 0.3s ease; }
  @media (min-width: 700px) {
    .section-navigation {
      position: relative;
      max-width: 720px;
      padding: 0 60px;
      margin: 1.4em auto 3em; } }
  @media (min-width: 1025px) {
    .section-navigation {
      left: -40px;
      padding: 0 35px 0;
      margin: 1.3em auto 0; } }
  @media (min-width: 1201px) {
    .section-navigation {
      left: -240px;
      top: 0;
      margin: 1.3em auto -3.1em; } }
  .section-navigation .widgettitle {
    margin: 0 0 -8px;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 700;
    text-align: left;
    padding-bottom: 18px; }
    @media (min-width: 700px) {
      .section-navigation .widgettitle {
        margin: 0 0 0 -17px;
        padding-bottom: 11px; } }
  .section-navigation ul {
    -webkit-padding-start: 15px;
            padding-inline-start: 15px;
    display: block;
    list-style: none; }
    @media (min-width: 700px) {
      .section-navigation ul {
        -webkit-padding-start: 27px;
                padding-inline-start: 27px; } }
    .section-navigation ul li a {
      text-decoration: none;
      color: #000000;
      font-size: 13px;
      font-weight: 500;
      line-height: 3; }
      .section-navigation ul li a:before {
        border-top: 1px solid #B8B8B8;
        content: '';
        margin: 0 16px;
        left: 0;
        right: 0;
        position: absolute; }
  .section-navigation .bsn-list {
    display: none;
    position: relative;
    background-color: #FFFFFF;
    padding: 20px 33px 10px;
    margin: -1px 0 0 0;
    border: 2px solid #CC0033;
    border-radius: 3px;
    z-index: 10; }
    @media (min-width: 700px) {
      .section-navigation .bsn-list {
        position: absolute;
        top: 41px;
        min-width: 455px;
        margin: 0; } }
    @media (min-width: 1025px) {
      .section-navigation .bsn-list {
        top: 40px;
        left: 35px; } }
    .section-navigation .bsn-list .current_page_item > a {
      padding: 5px 10px 7px;
      background-color: #ECECEC;
      border-radius: 3px; }
    .section-navigation .bsn-list .current_page_item.is-active a {
      font-weight: 600; }
    @media (max-width: 699px) {
      .section-navigation .bsn-list[aria-hidden='false'] {
        border-top: 0;
        border-radius: 0 0 3px 3px; } }
  .section-navigation .children {
    display: none; }
  .section-navigation__main-button {
    position: relative;
    width: 100%;
    margin: 0 auto;
    border: 2px solid #CC0033;
    border-radius: 2px;
    background-color: #FFFFFF;
    padding: 10px 0 12px 22px;
    text-align: left;
    color: #008190;
    font-family: inherit;
    font-weight: 600;
    z-index: 15;
    cursor: pointer; }
    .section-navigation__main-button:after {
      content: '';
      position: absolute;
      top: calc(50% - 4px);
      right: -2px;
      width: 4px;
      height: 4px;
      border-top: 2px solid #CC0033;
      border-left: 2px solid #CC0033;
      transform: translateX(-50%) rotate(-135deg);
      box-sizing: content-box;
      pointer-events: none; }
      @media screen and (min-width: 700px) {
        .section-navigation__main-button:after {
          top: calc(50% - 2px); } }
    @media (min-width: 700px) {
      .section-navigation__main-button {
        max-width: 168px; } }
    @media (min-width: 1025px) {
      .section-navigation__main-button {
        padding: 10px 0 10px 16px;
        font-size: 16px; } }
    .section-navigation__main-button:after {
      right: 13px; }
      @media (min-width: 1025px) {
        .section-navigation__main-button:after {
          right: 10px; } }
    .section-navigation__main-button[aria-expanded='true'] {
      border-bottom: 0 solid transparent; }
      @media (min-width: 700px) {
        .section-navigation__main-button[aria-expanded='true'] {
          padding-bottom: 14px; } }
      @media (min-width: 1025px) {
        .section-navigation__main-button[aria-expanded='true'] {
          padding-bottom: 12px; } }
      .section-navigation__main-button[aria-expanded='true']:after {
        transform: translateX(-50%) rotate(45deg); }
    .section-navigation__main-button[aria-expanded='false'] {
      transition: border-bottom 0s 0.3s, padding-bottom 0s 0.3s; }
    .section-navigation__main-button span {
      pointer-events: none; }
  .section-navigation__button {
    position: absolute;
    right: 0;
    cursor: pointer;
    transition: all 0.3s ease; }
    .section-navigation__button:after {
      content: '';
      position: absolute;
      top: calc(50% - 4px);
      right: -2px;
      width: 4px;
      height: 4px;
      border-top: 2px solid #FFFFFF;
      border-left: 2px solid #FFFFFF;
      transform: translateX(-50%) rotate(-135deg);
      box-sizing: content-box;
      pointer-events: none; }
      @media screen and (min-width: 700px) {
        .section-navigation__button:after {
          top: calc(50% - 2px); } }
    .section-navigation__button:before {
      position: relative;
      display: block;
      width: 25px;
      height: 25px;
      border: 0;
      background: #CC0033;
      right: 0;
      margin-right: 28px;
      top: 8px;
      border-radius: 100%;
      content: ''; }
    .section-navigation__button:after {
      top: 15px;
      right: 0;
      margin-right: 33px;
      width: 5px;
      height: 5px; }
    .section-navigation__button[aria-expanded='true']:after {
      top: 17px;
      transform: translateX(-50%) rotate(45deg); }
  .section-navigation.js-visible {
    opacity: 1; }

.site-header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  max-width: 1900px;
  z-index: 100;
  transition: top 0.3s ease; }
  @media (min-width: 1900px) {
    .site-header {
      left: 50%;
      transform: translateX(-50%); } }
  .site-header.js-slideUp {
    top: -88px; }
    @media (min-width: 700px) {
      .site-header.js-slideUp {
        top: -121px; } }
    @media (min-width: 1025px) {
      .site-header.js-slideUp {
        top: -135px; } }
  .site-header.js-top {
    top: 0; }
  .site-header .search {
    margin-left: 12px; }
    @media (min-width: 1025px) {
      .site-header .search {
        margin-left: 26px; } }
    .site-header .search__button {
      position: relative;
      display: block;
      width: 36px;
      height: 36px;
      border: 0;
      background-color: #CC0033;
      border-radius: 100%;
      box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.3);
      cursor: pointer; }
      .site-header .search__button:after {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 20px;
        height: 20px;
        transform: translateX(-50%) translateY(-50%);
        background: url("../../../src/assets/images/search.svg") transparent no-repeat center; }
      .site-header .search__button span {
        color: #000000;
        background-color: #FFFFFF; }
    .site-header .search #searchform .input-group {
      position: relative;
      background-color: #FFFFFF;
      border-radius: 4px;
      margin-bottom: 22px; }
    .site-header .search #searchform input[type='text'] {
      width: calc(100% - 40px);
      height: 40px;
      border: 0;
      padding: 0 15px;
      font-size: 16px;
      background: transparent; }
    .site-header .search #searchform input[type='submit'] {
      position: absolute;
      top: 0;
      right: 0;
      width: 40px;
      height: 40px;
      background: url("../../../src/assets/images/search.svg") transparent no-repeat center;
      background-size: 18px 18px;
      color: transparent;
      border: 0;
      filter: invert(100%);
      cursor: pointer; }
    .site-header .search .dropdown {
      position: absolute;
      top: 0;
      right: -100vw;
      width: calc(100vw - 18px);
      max-width: 302px;
      height: 100vh;
      color: #FFFFFF;
      background: #980529;
      visibility: hidden;
      z-index: 102;
      transition: right 0.3s ease; }
      @media (min-width: 1025px) {
        .site-header .search .dropdown {
          max-width: 246px; } }
      .site-header .search .dropdown[aria-hidden='true'] {
        transition: right 0.3s 0s, visibility 0s 0.3s; }
      .site-header .search .dropdown[aria-hidden='false'] {
        visibility: visible;
        right: 0; }
      .site-header .search .dropdown__inner {
        padding: 34px 33px; }
        @media (min-width: 700px) {
          .site-header .search .dropdown__inner {
            padding: 34px 35px 21px; } }
      .site-header .search .dropdown__close {
        position: absolute;
        top: 38px;
        left: -18px;
        display: block;
        width: 36px;
        height: 36px;
        border: 0;
        background-color: #CC0033;
        border-radius: 100%;
        box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.3);
        cursor: pointer; }
        .site-header .search .dropdown__close:after, .site-header .search .dropdown__close:before {
          content: '';
          position: absolute;
          top: 50%;
          left: 50%;
          width: 15px;
          height: 2px;
          background-color: #FFFFFF; }
        .site-header .search .dropdown__close:before {
          transform: translateX(-50%) translateY(-50%) rotate(-45deg); }
        .site-header .search .dropdown__close:after {
          transform: translateX(-50%) translateY(-50%) rotate(45deg); }
        .site-header .search .dropdown__close span {
          color: #000000;
          background-color: #FFFFFF; }
      .site-header .search .dropdown ul {
        padding: 0;
        margin: 0; }
      .site-header .search .dropdown li {
        margin-bottom: 13px; }
        @media (min-width: 1025px) {
          .site-header .search .dropdown li {
            margin-bottom: -2px; } }
      .site-header .search .dropdown a {
        color: #FFFFFF;
        font-size: 14px;
        font-weight: 500;
        text-decoration: none; }
    .site-header .search .common__title {
      color: #FFFFFF;
      font-weight: 700;
      font-size: 14px;
      border-bottom: 1px solid #DFD2B3;
      padding-bottom: 14px;
      margin-bottom: 13px; }
      @media (min-width: 1025px) {
        .site-header .search .common__title {
          padding-bottom: 5px;
          margin-bottom: 0; } }

.site-nav {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  height: 88px;
  padding: 15px 20px;
  background-color: #FFFFFF;
  border-bottom: 12px solid #CC0033; }
  @media (min-width: 700px) {
    .site-nav {
      height: 121px;
      padding: 15px 35px; } }
  @media (min-width: 1025px) {
    .site-nav {
      height: 135px;
      border-bottom: 14px solid #CC0033; } }
  .site-nav:before {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: calc(100% - 184px);
    height: 1px;
    background-color: #CBCBCB;
    transform: translateY(-50%);
    z-index: 0; }
    @media (min-width: 700px) {
      .site-nav:before {
        width: calc(100% - 255px); } }
    @media (min-width: 1025px) {
      .site-nav:before {
        width: calc(100% - 312px); } }
  .site-nav__logo {
    width: 151px;
    margin-right: auto; }
    @media (min-width: 700px) {
      .site-nav__logo {
        width: 200px; } }
    @media (min-width: 1025px) {
      .site-nav__logo {
        width: 258px; } }
    .site-nav__logo img {
      transition: opacity 0.3s ease; }
    .site-nav__logo a:hover img {
      opacity: 0.8; }
  @media (min-width: 1025px) {
    .site-nav__content {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: justify;
          justify-content: space-between;
      height: 80px; } }
  @media (min-width: 1025px) {
    .site-nav__content-top {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: end;
          justify-content: flex-end; } }
  .site-nav ul {
    list-style: none; }
  .site-nav .info-for {
    display: none;
    position: relative;
    padding: 0 10px 0;
    background-color: #2F2F2F;
    border-radius: 4px; }
    @media (min-width: 1025px) {
      .site-nav .info-for {
        display: block;
        font-size: 14px;
        border-radius: 4px 4px 0 0;
        padding: 0;
        margin-left: 29px;
        background-color: #ECECEC; } }
    .site-nav .info-for__button {
      position: relative;
      width: 100%;
      padding: 11px 0;
      border: 0;
      font-family: "Montserrat", sans-serif;
      font-weight: 500;
      color: #FFFFFF;
      background-color: transparent;
      text-align: left;
      cursor: pointer; }
      .site-nav .info-for__button:after {
        content: '';
        position: absolute;
        top: calc(50% - 4px);
        right: -2px;
        width: 4px;
        height: 4px;
        border-top: 2px solid #FFFFFF;
        border-left: 2px solid #FFFFFF;
        transform: translateX(-50%) rotate(-135deg);
        box-sizing: content-box;
        pointer-events: none; }
        @media screen and (min-width: 700px) {
          .site-nav .info-for__button:after {
            top: calc(50% - 2px); } }
      @media (min-width: 1025px) {
        .site-nav .info-for__button {
          color: #000000;
          padding: 9px 27px 9px 10px; }
          .site-nav .info-for__button:after {
            content: '';
            position: absolute;
            top: calc(50% - 4px);
            right: -2px;
            width: 4px;
            height: 4px;
            border-top: 2px solid #CC0033;
            border-left: 2px solid #CC0033;
            transform: translateX(-50%) rotate(-135deg);
            box-sizing: content-box;
            pointer-events: none; } }
    @media screen and (min-width: 1025px) and (min-width: 700px) {
      .site-nav .info-for__button:after {
        top: calc(50% - 2px); } }
      @media (min-width: 1025px) {
          .site-nav .info-for__button:after {
            right: 10px; } }
      .site-nav .info-for__button[aria-expanded='true']:after {
        transform: translateX(-50%) rotate(45deg); }
      .site-nav .info-for__button span {
        pointer-events: none;
        background-color: #ECECEC; }
    .site-nav .info-for__dropdown {
      display: none; }
      @media (min-width: 1025px) {
        .site-nav .info-for__dropdown {
          position: absolute;
          top: 100%;
          left: 0;
          width: 100%;
          background-color: #ECECEC;
          padding: 0 10px;
          border-radius: 0 0 4px 4px;
          z-index: 102; } }
      .site-nav .info-for__dropdown ul {
        padding: 0;
        margin: 0; }
      @media (min-width: 1025px) {
        .site-nav .info-for__dropdown a {
          color: #000000;
          font-weight: 500;
          text-decoration: none; } }
    .site-nav .info-for--mobile {
      display: block; }
      @media (min-width: 1025px) {
        .site-nav .info-for--mobile {
          display: none; } }
  .site-nav .address {
    display: none;
    color: #424B4F;
    font-size: 14px; }
    @media (min-width: 700px) and (max-width: 1024px) {
      .site-nav .address {
        position: absolute;
        top: 65px;
        right: 140px; } }
    @media (min-width: 700px) {
      .site-nav .address {
        display: block; } }
    @media (min-width: 1025px) {
      .site-nav .address {
        margin: 0; } }
    .site-nav .address--mobile {
      color: #FFFFFF;
      line-height: 1.71;
      margin-bottom: 16px; }
      @media (min-width: 700px) {
        .site-nav .address--mobile {
          display: none; } }

.main-nav__button {
  position: relative;
  display: block;
  width: 36px;
  height: 36px;
  border: 0;
  background-color: #CC0033;
  border-radius: 100%;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.3);
  cursor: pointer; }
  @media (min-width: 1025px) {
    .main-nav__button {
      display: none; } }
  .main-nav__button span:not(:nth-child(1)) {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 2px;
    background-color: #FFFFFF;
    transform: translateX(-50%) translateY(-50%); }
  .main-nav__button span:nth-child(2) {
    top: calc(50% - 6px); }
  .main-nav__button span:nth-child(4) {
    top: calc(50% + 6px); }

.main-nav__dropdown {
  z-index: 101;
  transition: right 0.3s ease; }
  @media (max-width: 1024px) {
    .main-nav__dropdown {
      position: absolute;
      top: 0;
      right: -100vw;
      width: calc(100vw - 18px);
      max-width: 321px;
      height: 100vh;
      visibility: hidden;
      overflow-y: scroll;
      padding-bottom: 120px;
      padding-left: 18px; }
      .main-nav__dropdown:after {
        content: '';
        position: fixed;
        top: 0;
        right: -100vw;
        width: calc(100% - 18px);
        max-width: 303px;
        height: 100%;
        background: #424B4F;
        z-index: -1;
        transition: right 0.3s ease; } }
  @media (min-width: 1025px) {
    .main-nav__dropdown {
      display: block; } }
  .main-nav__dropdown .nav-dropdown__close {
    position: fixed;
    top: 38px;
    right: -100vw;
    display: block;
    width: 36px;
    height: 36px;
    border: 0;
    background-color: #CC0033;
    border-radius: 100%;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.3);
    transition: right 0.3s ease;
    cursor: pointer; }
    @media (min-width: 1025px) {
      .main-nav__dropdown .nav-dropdown__close {
        display: none; } }
    .main-nav__dropdown .nav-dropdown__close:after, .main-nav__dropdown .nav-dropdown__close:before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      width: 15px;
      height: 2px;
      background-color: #FFFFFF; }
    .main-nav__dropdown .nav-dropdown__close:before {
      transform: translateX(-50%) translateY(-50%) rotate(-45deg); }
    .main-nav__dropdown .nav-dropdown__close:after {
      transform: translateX(-50%) translateY(-50%) rotate(45deg); }
  .main-nav__dropdown .nav-dropdown__inner {
    padding: 34px 33px; }
    @media (min-width: 700px) {
      .main-nav__dropdown .nav-dropdown__inner {
        padding: 21px 35px; } }
    @media (min-width: 1025px) {
      .main-nav__dropdown .nav-dropdown__inner {
        padding: 0; } }
    .main-nav__dropdown .nav-dropdown__inner a {
      display: inline-block;
      color: #DFD2B3;
      font-weight: 500;
      font-size: 14px;
      text-decoration: none;
      padding: 5px 0; }
      @media (min-width: 700px) {
        .main-nav__dropdown .nav-dropdown__inner a {
          padding: 6px 0; } }
      @media (min-width: 1025px) {
        .main-nav__dropdown .nav-dropdown__inner a {
          color: #000000;
          font-size: 16px;
          padding: 4px 10px; } }
      .main-nav__dropdown .nav-dropdown__inner a:hover {
        opacity: 0.8; }
    .main-nav__dropdown .nav-dropdown__inner .desktop-menu {
      padding: 0;
      margin-bottom: 20px; }
      @media (min-width: 1025px) {
        .main-nav__dropdown .nav-dropdown__inner .desktop-menu {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-pack: end;
              justify-content: flex-end;
          margin: 0; } }
  @media all and (min-width: 1025px) and (-ms-high-contrast: none) {
    .main-nav__dropdown .nav-dropdown__inner .desktop-menu {
      margin: 18px 0 20px; } }
      @media (min-width: 1025px) {
        .main-nav__dropdown .nav-dropdown__inner .desktop-menu > .menu-item.menu-item-has-children:hover > a {
          background-color: #ECECEC; }
          .main-nav__dropdown .nav-dropdown__inner .desktop-menu > .menu-item.menu-item-has-children:hover > a:after {
            transform: translateX(-50%) rotate(45deg); }
        .main-nav__dropdown .nav-dropdown__inner .desktop-menu > .menu-item.menu-item-has-children:hover .dropdown.vertical {
          display: block !important; } }
      .main-nav__dropdown .nav-dropdown__inner .desktop-menu > .menu-item.menu-item-has-children .menu-item__button {
        position: absolute;
        display: block;
        width: 22px;
        height: 22px;
        top: 5px;
        right: 6px;
        background-color: #CC0033;
        border: 0;
        border-radius: 100%;
        cursor: pointer; }
        .main-nav__dropdown .nav-dropdown__inner .desktop-menu > .menu-item.menu-item-has-children .menu-item__button:after {
          content: '';
          position: absolute;
          top: calc(50% - 4px);
          right: -2px;
          width: 4px;
          height: 4px;
          border-top: 2px solid #FFFFFF;
          border-left: 2px solid #FFFFFF;
          transform: translateX(-50%) rotate(-135deg);
          box-sizing: content-box;
          pointer-events: none; }
          @media screen and (min-width: 700px) {
            .main-nav__dropdown .nav-dropdown__inner .desktop-menu > .menu-item.menu-item-has-children .menu-item__button:after {
              top: calc(50% - 2px); } }
        @media (min-width: 1025px) {
          .main-nav__dropdown .nav-dropdown__inner .desktop-menu > .menu-item.menu-item-has-children .menu-item__button {
            display: none; } }
        .main-nav__dropdown .nav-dropdown__inner .desktop-menu > .menu-item.menu-item-has-children .menu-item__button:after {
          top: 50%;
          left: 50%;
          transform: translateX(-50%) translateY(-50%) rotate(-135deg); }
        .main-nav__dropdown .nav-dropdown__inner .desktop-menu > .menu-item.menu-item-has-children .menu-item__button[aria-expanded='true']:after {
          transform: translateX(-50%) translateY(-50%) rotate(45deg); }
      @media (min-width: 1025px) {
        .main-nav__dropdown .nav-dropdown__inner .desktop-menu > .menu-item.menu-item-has-children > a {
          position: relative;
          padding-right: 16px;
          border-radius: 4px 4px 0 0; }
          .main-nav__dropdown .nav-dropdown__inner .desktop-menu > .menu-item.menu-item-has-children > a:after {
            content: '';
            position: absolute;
            top: calc(50% - 4px);
            right: -2px;
            width: 4px;
            height: 4px;
            border-top: 2px solid #CC0033;
            border-left: 2px solid #CC0033;
            transform: translateX(-50%) rotate(-135deg);
            box-sizing: content-box;
            pointer-events: none; } }
    @media screen and (min-width: 1025px) and (min-width: 700px) {
      .main-nav__dropdown .nav-dropdown__inner .desktop-menu > .menu-item.menu-item-has-children > a:after {
        top: calc(50% - 2px); } }
      @media (min-width: 1025px) {
          .main-nav__dropdown .nav-dropdown__inner .desktop-menu > .menu-item.menu-item-has-children > a:after {
            right: 1px;
            transition: transform 0.3s ease; } }
      @media (max-width: 1024px) {
        .main-nav__dropdown .nav-dropdown__inner .desktop-menu > .menu-item:not(:last-of-type) {
          border-bottom: 1px solid #CBCBCB; } }
      @media (min-width: 1025px) {
        .main-nav__dropdown .nav-dropdown__inner .desktop-menu > .menu-item:not(:last-of-type) {
          margin-right: 11px; } }
      .main-nav__dropdown .nav-dropdown__inner .desktop-menu .menu-item-has-children {
        position: relative; }
      @media (min-width: 1025px) {
        .main-nav__dropdown .nav-dropdown__inner .desktop-menu > .menu-item
> .dropdown.vertical {
          position: absolute;
          top: 100%;
          left: 0;
          min-width: 238px; } }
      .main-nav__dropdown .nav-dropdown__inner .desktop-menu .dropdown.vertical {
        padding: 5px 0 2px 18px;
        display: none; }
        @media (min-width: 1025px) {
          .main-nav__dropdown .nav-dropdown__inner .desktop-menu .dropdown.vertical {
            padding: 12px;
            border-radius: 0 0 4px 4px;
            background-color: #ECECEC; }
            .main-nav__dropdown .nav-dropdown__inner .desktop-menu .dropdown.vertical a {
              font-size: 14px; } }
  .main-nav__dropdown[aria-hidden='false'] {
    right: 0;
    visibility: visible; }
    .main-nav__dropdown[aria-hidden='false']:after {
      right: 0; }
    .main-nav__dropdown[aria-hidden='false'] .nav-dropdown__close {
      right: 285px; }
  .main-nav__dropdown[aria-hidden='true'] {
    transition: right 0.3s 0s, visibility 0s 0.3s; }

.footer {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  z-index: 0; }
  @media (min-width: 1900px) {
    .footer {
      width: 1900px;
      left: calc((100% - 1900px) / 2);
      margin-left: 0; } }
  .footer__top {
    background-color: #424B4F;
    padding: 19px 35px; }
    @media (min-width: 700px) {
      .footer__top {
        display: -ms-flexbox;
        display: flex;
        padding: 20px 40px 55px; } }
    @media (min-width: 1025px) {
      .footer__top {
        padding: 20px 35px 35px; } }
    .footer__top a {
      font-size: 14px;
      font-weight: 600; }
  .footer__bottom {
    background-color: #000000;
    padding: 36px 35px 55px; }
    @media (min-width: 700px) {
      .footer__bottom {
        padding: 36px 35px 55px; } }
    @media (min-width: 1025px) {
      .footer__bottom {
        padding: 20px 40px 55px; } }
  @media (max-width: 699px) {
    .footer__left {
      margin-bottom: 22px; } }
  @media (min-width: 700px) {
    .footer__left {
      margin-right: 44px; } }
  @media (min-width: 1025px) {
    .footer__left {
      margin-right: auto; } }
  @media (min-width: 700px) {
    .footer__right {
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; } }
  @media (min-width: 1025px) {
    .footer__right {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex: none;
          flex: none;
      width: calc(100% - 214px); } }
  @media (min-width: 1225px) {
    .footer__right {
      width: calc(100% - 25%); } }
  @media (min-width: 700px) and (max-width: 1024px) {
    .footer__right {
      margin-top: 18px; } }
  .footer__logo img {
    width: 170px; }
  .footer__location {
    margin-bottom: 14px; }
    @media (min-width: 700px) {
      .footer__location {
        margin-bottom: 10px; } }
    @media (min-width: 1025px) {
      .footer__location {
        margin-top: 13px; } }
    .footer__location p, .footer__location li {
      color: #FFFFFF;
      margin-bottom: 5px; }
      @media (min-width: 700px) {
        .footer__location p, .footer__location li {
          font-size: 14px;
          margin-bottom: 3px; } }
  .footer__ancillary {
    margin-bottom: 23px; }
    @media (min-width: 700px) {
      .footer__ancillary {
        margin-bottom: 14px; } }
    @media (min-width: 1025px) {
      .footer__ancillary {
        margin-top: 7px; } }
    .footer__ancillary ul {
      margin: 0;
      padding: 0; }
    .footer__ancillary li {
      list-style: none;
      margin-bottom: 7px; }
      @media (min-width: 700px) {
        .footer__ancillary li {
          display: inline-block; } }
      @media (min-width: 700px) {
        .footer__ancillary li:not(:last-of-type) {
          margin-right: 14px; } }
  .footer__social {
    padding-bottom: 18px; }
    @media (min-width: 1025px) {
      .footer__social {
        padding: 0; } }
    .footer__social ul {
      margin: 0;
      padding: 0;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: distribute;
          justify-content: space-around; }
      @media (min-width: 700px) {
        .footer__social ul {
          width: 248px; } }
      @media (min-width: 1025px) {
        .footer__social ul {
          width: 123px;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
    .footer__social a {
      position: relative;
      display: block;
      width: 36px;
      height: 36px; }
      @media (min-width: 1025px) {
        .footer__social a {
          margin-bottom: 5px; } }
      .footer__social a:hover {
        opacity: 0.8; }
      .footer__social a img {
        position: absolute;
        top: 0;
        left: 0; }
    .footer__social li {
      display: block;
      list-style: none; }
    .footer__social .icon__facebook a {
      background-image: url("../images/social-facebook.png");
      background-size: 100% 100%;
      background-repeat: no-repeat; }
    .footer__social .icon__twitter a {
      background-image: url("../images/social-twitter.png");
      background-size: 100% 100%;
      background-repeat: no-repeat; }
    .footer__social .icon__flickr a {
      background-image: url("../images/social-flickr.png");
      background-size: 100% 100%;
      background-repeat: no-repeat; }
    .footer__social .icon__instagram a {
      background-image: url("../images/social-instagram.png");
      background-size: 100% 100%;
      background-repeat: no-repeat; }
    .footer__social .icon__linkedin a {
      background-image: url("../images/social-linkedin.png");
      background-size: 100% 100%;
      background-repeat: no-repeat; }
    .footer__social .icon__youtube a {
      background-image: url("../images/social-youtube.png");
      background-size: 100% 100%;
      background-repeat: no-repeat; }
  .footer__copyright {
    color: #FFFFFF; }
    @media (min-width: 1025px) {
      .footer__copyright {
        width: 100%; } }
    .footer__copyright p {
      font-size: 12px;
      margin-bottom: 20px;
      line-height: 1.29; }
      @media (min-width: 700px) {
        .footer__copyright p {
          margin-bottom: 5px; } }
    .footer__copyright br {
      margin-bottom: 10px; }

.get-started {
  overflow: hidden; }
  .get-started__inner {
    position: relative;
    width: 100%;
    height: 300px;
    padding: 30px 40px 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-direction: column;
        flex-direction: column;
    background-image: url("../../../src/assets/images/getting-started-bg.jpg");
    background-size: auto 100%;
    background-position: center center;
    background-repeat: no-repeat; }
    @media (min-width: 700px) {
      .get-started__inner {
        background-size: 100%;
        padding-top: 58px;
        height: 270px; } }
    @media (min-width: 1025px) {
      .get-started__inner {
        height: 358px;
        padding-top: 121px; } }
    .get-started__inner:after {
      content: '';
      position: absolute;
      top: 0;
      left: 50%;
      display: block;
      border-left: 50vw solid transparent;
      border-right: 50vw solid transparent;
      border-top: 8.5vw solid #FFFFFF;
      transform: translateX(-50%); }
      @media (min-width: 1600px) {
        .get-started__inner:after {
          border-top: 162px solid #FFFFFF; } }
    .get-started__inner .menu {
      padding: 0;
      margin: 0;
      list-style: none;
      z-index: 2; }
      @media (min-width: 700px) {
        .get-started__inner .menu {
          display: -ms-flexbox;
          display: flex; } }
      .get-started__inner .menu li {
        text-align: center; }
        @media (min-width: 700px) {
          .get-started__inner .menu li {
            display: -ms-flexbox;
            display: flex; } }
        @media (max-width: 699px) {
          .get-started__inner .menu li:not(:last-of-type) {
            margin-bottom: 10px; } }
        @media (min-width: 700px) {
          .get-started__inner .menu li:not(:last-of-type) {
            margin-right: 20px; } }
    .get-started__inner a {
      display: block;
      position: relative;
      color: #FFFFFF;
      text-decoration: none;
      padding: 8px 12px;
      border-radius: 4px;
      background-color: #CC0033;
      font-weight: 600;
      font-size: 16px;
      transition: 0.3s ease-in-out; }
      @media (min-width: 700px) {
        .get-started__inner a {
          -ms-flex-align: center;
              align-items: center;
          display: -ms-flexbox;
          display: flex;
          padding: 8px 45px; } }
      @media (min-width: 1025px) {
        .get-started__inner a {
          padding: 5px 55px; } }
      .get-started__inner a:before {
        height: 2px;
        width: 100%;
        background: #FFFFFF;
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: 9;
        content: '';
        transition: 0.3s ease-in-out; }
      .get-started__inner a:hover {
        background-color: #980529; }
        .get-started__inner a:hover:before {
          height: 4px; }
    .get-started__inner h2 {
      margin-top: 0;
      z-index: 2; }

.footer-grid {
  position: relative;
  color: #FFFFFF;
  font-size: 14px;
  border-top: 12px solid #CC0033; }
  @media (min-width: 700px) {
    .footer-grid {
      background-color: #424B4F; } }
  .footer-grid a {
    color: #DFD2B3;
    text-decoration: none; }
    .footer-grid a:hover {
      color: #FFFFFF; }
  .footer-grid p {
    line-height: 1.39;
    color: #FFFFFF; }

.pager__items {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  padding: 0;
  margin: 0;
  list-style: none; }
  @media (max-width: 699px) {
    .pager__items {
      -ms-flex-pack: center;
          justify-content: center; } }

.pager__item {
  padding: 0;
  margin: 0;
  height: 25px; }
  .pager__item:not(:last-of-type) {
    margin-right: 4px; }
  .pager__item:before {
    content: none; }
  .pager__item a {
    color: #000000;
    font-size: 14px;
    font-weight: 500;
    width: 25px;
    height: 100%;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    text-decoration: none;
    padding: 5px 10px;
    text-shadow: none;
    box-shadow: none;
    opacity: 1;
    transition: opacity 0.3s ease;
    border-radius: 100%; }
    @media (min-width: 700px) {
      .pager__item a {
        padding: 5px 14px; } }
    .pager__item a:hover {
      opacity: 0.5; }
  .pager__item--first, .pager__item--last, .pager__item--next, .pager__item--prev {
    position: relative; }
    .pager__item--first a, .pager__item--last a, .pager__item--next a, .pager__item--prev a {
      padding: 5px 15px; }
      @media (min-width: 700px) {
        .pager__item--first a, .pager__item--last a, .pager__item--next a, .pager__item--prev a {
          padding: 5px 19px; } }
      .pager__item--first a:hover, .pager__item--last a:hover, .pager__item--next a:hover, .pager__item--prev a:hover {
        opacity: 1; }
        .pager__item--first a:hover span, .pager__item--last a:hover span, .pager__item--next a:hover span, .pager__item--prev a:hover span {
          color: #000000; }
      .pager__item--first a span, .pager__item--last a span, .pager__item--next a span, .pager__item--prev a span {
        transition: color 0.3s ease; }
    .pager__item--first span, .pager__item--last span, .pager__item--next span, .pager__item--prev span {
      position: absolute;
      top: 50%;
      left: 50%;
      color: #CC0033;
      font-size: 20px;
      font-weight: 700;
      transform: translateY(-50%) translateX(-50%); }
  .pager__item.active a {
    background-color: #ECECEC; }

.pager li:first-child, .pager li:nth-child(2), .pager li:nth-child(3), .pager li:nth-last-child(2), .pager li:nth-last-child(3), .pager li.active-sibling, .pager li.active,
.pager li.active + li, .pager li:last-child {
  display: inline-block !important; }

.pager li:first-child:nth-last-child(n+8) ~ li {
  display: none; }
  .pager li:first-child:nth-last-child(n+8) ~ li.active-sibling {
    position: relative; }
    .pager li:first-child:nth-last-child(n+8) ~ li.active-sibling:before {
      content: "\2026";
      font-size: 24px;
      position: relative;
      top: -12px;
      display: inline-block;
      vertical-align: top;
      width: 25px;
      height: 25px;
      background: transparent;
      margin-right: 2.5px; }
  .pager li:first-child:nth-last-child(n+8) ~ li.active + li {
    position: relative; }
    .pager li:first-child:nth-last-child(n+8) ~ li.active + li:after {
      content: "\2026";
      font-size: 24px;
      position: relative;
      top: -12px;
      display: inline-block;
      vertical-align: top;
      width: 25px;
      height: 25px;
      background: transparent;
      margin-left: 2.5px; }
  .pager li:first-child:nth-last-child(n+8) ~ li:nth-last-child(-n+5) {
    display: inline-block; }
  .pager li:first-child:nth-last-child(n+8) ~ li:nth-last-child(5) {
    position: relative; }
    .pager li:first-child:nth-last-child(n+8) ~ li:nth-last-child(5):after {
      content: "\2026";
      font-size: 24px;
      position: relative;
      top: -12px;
      display: inline-block;
      vertical-align: top;
      width: 25px;
      height: 25px;
      background: transparent;
      margin-right: 2.5px; }
  .pager li:first-child:nth-last-child(n+8) ~ li:nth-child(-n+2):before, .pager li:first-child:nth-last-child(n+8) ~ li:nth-child(-n+2):after, .pager li:first-child:nth-last-child(n+8) ~ li:nth-last-child(-n+2):before, .pager li:first-child:nth-last-child(n+8) ~ li:nth-last-child(-n+2):after, .pager li:first-child:nth-last-child(n+8) ~ li.active-sibling:nth-last-child(-n+4):before, .pager li:first-child:nth-last-child(n+8) ~ li.active-sibling:nth-last-child(-n+4):after {
    display: none !important; }

.pager li:first-child:nth-last-child(n+8).active ~ li:nth-last-child(-n+5),
.pager li:first-child:nth-last-child(n+8) ~ li.active ~ li:nth-last-child(-n+5) {
  display: none; }
  .pager li:first-child:nth-last-child(n+8).active ~ li:nth-last-child(-n+5):before,
  .pager li:first-child:nth-last-child(n+8) ~ li.active ~ li:nth-last-child(-n+5):before {
    display: none; }

.pager li:first-child:nth-last-child(n+8).active ~ li:nth-child(-n+5),
.pager li:first-child:nth-last-child(n+8) ~ li.active ~ li:nth-child(-n+5) {
  display: inline-block; }

.pager li:first-child:nth-last-child(n+8).active ~ li:nth-child(-n+4):after,
.pager li:first-child:nth-last-child(n+8) ~ li.active ~ li:nth-child(-n+4):after {
  display: none; }

.pager li:first-child:nth-last-child(n+8).active ~ li:nth-child(5),
.pager li:first-child:nth-last-child(n+8) ~ li.active ~ li:nth-child(5) {
  position: relative; }
  .pager li:first-child:nth-last-child(n+8).active ~ li:nth-child(5):after,
  .pager li:first-child:nth-last-child(n+8) ~ li.active ~ li:nth-child(5):after {
    content: "\2026";
    font-size: 24px;
    position: relative;
    top: -12px;
    display: inline-block;
    vertical-align: top;
    width: 25px;
    height: 25px;
    background: transparent;
    margin-left: 2.5px; }

.pager li:first-child:nth-last-child(n+8).active:before, .pager li:first-child:nth-last-child(n+8).active:after,
.pager li:first-child:nth-last-child(n+8) ~ li.active:before,
.pager li:first-child:nth-last-child(n+8) ~ li.active:after {
  display: none; }

ul.pagination {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  padding: 0;
  margin: 2.5em 0 0;
  list-style: none; }
  @media (max-width: 699px) {
    ul.pagination {
      -ms-flex-pack: center;
          justify-content: center; } }
  ul.pagination li {
    position: relative;
    padding: 0;
    margin: 0;
    width: 25px;
    height: 25px; }
    ul.pagination li:not(:last-of-type) {
      margin-right: 4px; }
    ul.pagination li:before {
      content: none; }
    ul.pagination li a {
      color: #000000;
      font-size: 14px;
      font-weight: 500;
      width: 100%;
      height: 100%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      text-decoration: none;
      padding: 5px 10px;
      text-shadow: none;
      box-shadow: none;
      opacity: 1;
      transition: opacity 0.3s ease;
      border-radius: 100%; }
      @media (min-width: 700px) {
        ul.pagination li a {
          padding: 5px 14px; } }
      ul.pagination li a:hover {
        opacity: 0.5;
        background-color: transparent; }
    ul.pagination li span {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%); }
    ul.pagination li .current:before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
      width: 25px;
      height: 25px;
      border-radius: 100%;
      background-color: #ECECEC;
      z-index: -1; }
    ul.pagination li span:not(.dots) {
      position: absolute;
      top: 50%;
      left: 50%;
      color: #000000;
      padding: 0 7px;
      font-size: 14px;
      font-weight: 500;
      transform: translateY(-50%) translateX(-50%); }
  ul.pagination .current {
    background-color: #ECECEC;
    border-radius: 100%; }
  ul.pagination .next,
  ul.pagination .prev {
    color: #CC0033;
    font-size: 20px;
    font-weight: 600; }

.wp-block-image .alignleft,
.wp-block-image .alignright {
  float: none;
  width: 100%;
  padding: 0;
  margin-bottom: 1.6em; }
  @media (min-width: 700px) {
    .wp-block-image .alignleft,
    .wp-block-image .alignright {
      max-width: 50%;
      padding: 0 1rem 0; } }

.wp-block-image .alignleft {
  margin-left: 0 !important; }
  @media (min-width: 700px) {
    .wp-block-image .alignleft {
      margin-left: 35px !important;
      padding: 0;
      float: right; } }

.wp-block-image .alignright {
  margin-left: 0 !important; }
  @media (min-width: 700px) {
    .wp-block-image .alignright {
      margin-left: 35px !important;
      padding: 0;
      float: right; } }

.wp-block-image.feature {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  margin-top: 3em;
  margin-bottom: 1em;
  max-width: none;
  overflow: hidden;
  padding-bottom: 0 !important; }
  @media (max-width: 699px) {
    .wp-block-image.feature {
      padding-bottom: 40px; } }
  @media (min-width: 700px) {
    .wp-block-image.feature:before {
      content: '';
      position: absolute;
      bottom: -1px;
      left: 50%;
      width: 110%;
      height: 100%;
      background-image: url("../images/arrow-mask.svg");
      background-size: 100% auto;
      background-repeat: no-repeat;
      background-position: bottom center;
      z-index: 2;
      pointer-events: none;
      transform: translateX(-50%); } }
  .wp-block-image.feature:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    pointer-events: none; }
    @media (max-width: 699px) {
      .wp-block-image.feature:after {
        top: calc(100% - 40px);
        left: 50%;
        transform: translate(-50%);
        border-left: 50vw solid transparent;
        border-right: 50vw solid transparent;
        border-top: 40px solid #ECECEC;
        z-index: -1; } }
    @media (min-width: 700px) {
      .wp-block-image.feature:after {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(255, 0, 0, 0));
        z-index: 1; } }
  @media (min-width: 700px) {
    .wp-block-image.feature {
      margin-top: 4em;
      margin-bottom: 4.1em;
      min-height: 53vw;
      background-color: #000000; } }
  @media (min-width: 1025px) {
    .wp-block-image.feature {
      height: calc((70vw / 16) * 9);
      margin-bottom: 3.3em;
      min-height: 0; } }
  @media (min-width: 1350px) {
    .wp-block-image.feature {
      left: calc((720px - 1350px) / 2);
      right: auto;
      margin-left: 0;
      width: 1350px;
      height: 550px;
      margin-top: 2.8em;
      margin-bottom: 4.2em; } }
  .wp-block-image.feature:before {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 50%;
    width: 110%;
    height: 100%;
    background-image: url("../images/arrow-mask.svg");
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: bottom center;
    z-index: 2;
    pointer-events: none;
    transform: translateX(-50%); }
    @media (max-width: 699px) {
      .wp-block-image.feature:before {
        height: calc(79.7vw + 1px);
        top: 2px; } }
    @media (max-width: 460px) {
      .wp-block-image.feature:before {
        height: 79.7vw; } }
  .wp-block-image.feature:after {
    top: 0;
    left: 0;
    transform: none;
    border: none;
    z-index: initial; }
    @media (min-width: 700px) {
      .wp-block-image.feature:after {
        position: absolute;
        width: 100%;
        height: 100%;
        background-image: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(255, 0, 0, 0));
        opacity: 40%;
        z-index: 1; } }
  .wp-block-image.feature img {
    position: relative;
    object-fit: cover;
    padding-bottom: 0;
    height: 100%; }
  .wp-block-image.feature figcaption {
    margin: 0;
    padding: 30px 40px;
    font-size: 14px; }
    @media (max-width: 699px) {
      .wp-block-image.feature figcaption {
        color: #555d66; } }
    @media (min-width: 700px) {
      .wp-block-image.feature figcaption {
        position: absolute;
        left: 50%;
        bottom: 0;
        width: 32%;
        padding: 6px 0 5%;
        color: #FFFFFF;
        font-weight: 600;
        transform: translate(-50%, 0);
        z-index: 2; } }
    @media (min-width: 1025px) {
      .wp-block-image.feature figcaption {
        width: 33%;
        padding: 28px 0 7%; } }
    @media (min-width: 700px) {
      .wp-block-image.feature figcaption:after {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        width: 70%;
        height: 1px;
        background-color: #FFFFFF;
        transform: translateX(-50%); } }
    @media (min-width: 1025px) {
      .wp-block-image.feature figcaption:after {
        width: 67%; } }

.wp-block-columns.icons {
  margin: 30px auto 38px; }
  @media (max-width: 699px) {
    .wp-block-columns.icons {
      display: block; } }
  @media (min-width: 700px) {
    .wp-block-columns.icons {
      margin-top: 40px;
      margin-bottom: 50px;
      -ms-flex-wrap: unset;
          flex-wrap: unset;
      -ms-flex-pack: justify;
          justify-content: space-between; } }
  @media (min-width: 1025px) {
    .wp-block-columns.icons {
      padding: 0 70px; } }
  .wp-block-columns.icons .wp-block-image {
    width: 112px;
    height: 112px;
    border-radius: 100%;
    margin: 0 auto 13px;
    border: 1px solid #424B4F;
    background-color: #ECECEC;
    overflow: hidden; }
    @media (min-width: 700px) {
      .wp-block-columns.icons .wp-block-image {
        margin: 0 auto 18px;
        width: 100%;
        max-width: 145px;
        height: auto;
        transform: scale(0.6);
        transition: 0.3s ease; } }
    @media screen and (min-width: 1025px) {
      .wp-block-columns.icons .wp-block-image {
        margin: 0 auto; } }
    .wp-block-columns.icons .wp-block-image img {
      transition: 0.3s ease;
      border-radius: 100%; }
    .wp-block-columns.icons .wp-block-image a:hover img,
    .wp-block-columns.icons .wp-block-image a:focus img {
      transform: scale(0.8); }
  .wp-block-columns.icons .wp-block-column {
    margin: 0 0 45px; }
    @media (max-width: 699px) {
      .wp-block-columns.icons .wp-block-column {
        margin: 0 auto 1.5em;
        max-width: 270px; } }
    @media (min-width: 700px) {
      .wp-block-columns.icons .wp-block-column {
        opacity: 0;
        margin: 0 15px;
        transition: 0.3s ease; } }
    .wp-block-columns.icons .wp-block-column:nth-child(2) {
      transition-delay: 0.2s; }
    .wp-block-columns.icons .wp-block-column:nth-child(3) {
      transition-delay: 0.4s; }
    .wp-block-columns.icons .wp-block-column:nth-child(4) {
      transition-delay: 0.6s; }
    @media (min-width: 600px) {
      .wp-block-columns.icons .wp-block-column:nth-child(2n), .wp-block-columns.icons .wp-block-column:nth-child(3n) {
        margin-left: auto; } }
    @media (min-width: 700px) {
      .wp-block-columns.icons .wp-block-column:nth-child(2n), .wp-block-columns.icons .wp-block-column:nth-child(3n) {
        margin-left: 15px; } }
    @media (min-width: 700px) {
      .wp-block-columns.icons .wp-block-column:first-of-type {
        margin-left: 0; } }
  @media screen and (min-width: 700px) and (-ms-high-contrast: none) {
    .wp-block-columns.icons .wp-block-column:first-of-type {
      margin: 0 15px; } }
    @media (min-width: 700px) {
      .wp-block-columns.icons .wp-block-column:last-of-type {
        margin-right: 0; } }
  @media screen and (min-width: 700px) and (-ms-high-contrast: none) {
    .wp-block-columns.icons .wp-block-column:last-of-type {
      margin: 0 15px; } }
    .wp-block-columns.icons .wp-block-column h2, .wp-block-columns.icons .wp-block-column h3, .wp-block-columns.icons .wp-block-column h4, .wp-block-columns.icons .wp-block-column h5, .wp-block-columns.icons .wp-block-column h6 {
      margin-top: 0; }
    .wp-block-columns.icons .wp-block-column h3 {
      font-size: 18px;
      text-align: center; }
      @media (min-width: 700px) {
        .wp-block-columns.icons .wp-block-column h3 {
          font-size: 21px;
          margin-bottom: 0.7em; } }
      .wp-block-columns.icons .wp-block-column h3 a {
        position: relative;
        display: inline-block;
        font-weight: 500;
        word-break: keep-all; }
        .wp-block-columns.icons .wp-block-column h3 a:after {
          bottom: 7px;
          right: initial;
          margin-left: 7px;
          top: initial;
          transform: translateX(-50%) rotate(135deg); }
          @media (min-width: 700px) {
            .wp-block-columns.icons .wp-block-column h3 a:after {
              bottom: 10px;
              margin-left: 11px; } }
  .wp-block-columns.icons.js-active .wp-block-image {
    transform: scale(1); }
  .wp-block-columns.icons.js-active .wp-block-column {
    opacity: 1; }
  @media screen and (min-width: 1025px) {
    .wp-block-columns.icons.has-6-columns, .wp-block-columns.icons.has-5-columns {
      padding: 0; } }

.wp-block-embed {
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  margin-bottom: 2.5em;
  margin-top: 2.5em; }
  @media (min-width: 1025px) {
    .wp-block-embed {
      max-width: 573px; } }
  .wp-block-embed iframe {
    margin-left: -20px !important;
    margin-right: -20px !important;
    width: calc(100% + 40px) !important;
    max-width: calc(100% + 40px) !important;
    min-width: 0 !important; }
    @media (min-width: 700px) {
      .wp-block-embed iframe {
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important; } }
    @media (min-width: 1025px) {
      .wp-block-embed iframe {
        max-width: 573px !important; } }
  .wp-block-embed-youtube .wp-block-embed__wrapper {
    position: relative;
    height: 0;
    margin-left: -40px;
    margin-right: -40px;
    padding-bottom: 74%; }
    @media (min-width: 700px) {
      .wp-block-embed-youtube .wp-block-embed__wrapper {
        margin-left: -32px;
        margin-right: -32px;
        padding-bottom: 62.2%; } }
  .wp-block-embed-youtube iframe {
    top: 0;
    width: 100% !important;
    height: 100%;
    position: absolute;
    margin-left: auto !important;
    margin-right: auto !important; }
    @media (min-width: 1025px) {
      .wp-block-embed-youtube iframe {
        max-width: 796px !important;
        width: 796px !important; } }
  @media (min-width: 1025px) {
    .wp-block-embed-youtube {
      max-width: 796px !important; } }
  .wp-block-embed-twitter .wp-block-embed__wrapper {
    overflow: auto;
    margin-left: -20px;
    margin-right: -20px;
    width: calc(100% + 40px); }
    @media (min-width: 700px) {
      .wp-block-embed-twitter .wp-block-embed__wrapper {
        overflow: hidden; } }
    .wp-block-embed-twitter .wp-block-embed__wrapper iframe {
      height: 450px !important;
      width: 100% !important;
      margin: 0 auto !important; }
      @media (min-width: 700px) {
        .wp-block-embed-twitter .wp-block-embed__wrapper iframe {
          height: 850px !important;
          margin: 0 auto;
          width: 100%;
          max-width: 100%; } }
  .wp-block-embed-flickr .wp-block-embed__wrapper {
    width: calc(100% + 40px) !important;
    margin-left: -20px !important;
    position: relative;
    height: 0;
    padding-bottom: 78%; }
    @media (min-width: 700px) {
      .wp-block-embed-flickr .wp-block-embed__wrapper {
        width: 100% !important;
        padding-bottom: 66.5%;
        margin-left: auto !important; } }
  .wp-block-embed-flickr iframe {
    top: 0;
    width: 100% !important;
    height: 100% !important;
    position: absolute;
    margin-left: auto !important;
    margin-right: auto !important; }
    @media (min-width: 700px) {
      .wp-block-embed-flickr iframe {
        width: 100% !important; } }
  .wp-block-embed .fb_iframe_widget {
    display: block !important; }
    @media (min-width: 700px) {
      .wp-block-embed .fb_iframe_widget {
        margin: 0 auto !important;
        width: 100% !important; } }
    .wp-block-embed .fb_iframe_widget span {
      left: calc(50%);
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%); }
      .wp-block-embed .fb_iframe_widget span iframe {
        position: absolute !important;
        left: calc(50%);
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        margin: 0 auto !important;
        max-width: 100% !important; }
        @media (max-width: 420px) {
          .wp-block-embed .fb_iframe_widget span iframe {
            width: 320px !important; } }
        @media (min-width: 700px) {
          .wp-block-embed .fb_iframe_widget span iframe {
            width: 500px !important; } }

.at-share-btn-elements {
  text-align: center; }
  @media (min-width: 1025px) {
    .at-share-btn-elements {
      text-align: left; } }

.js-table-container {
  position: relative;
  width: calc(100% + 40px);
  left: 0;
  right: -40px; }
  @media (min-width: 700px) {
    .js-table-container {
      width: 100%;
      margin: 0 auto;
      left: 0;
      right: 0; } }
  .js-table-container .table__inner {
    margin: 0 auto;
    overflow-x: auto; }
    @media (min-width: 700px) {
      .js-table-container .table__inner {
        overflow: initial; } }
  .js-table-container .wp-block-table {
    min-width: 630px; }
    @media (min-width: 700px) {
      .js-table-container .wp-block-table {
        width: 100%;
        min-width: 0; } }
  .js-table-container + .wp-block-button {
    display: block;
    text-align: center;
    margin-left: auto;
    margin-right: auto; }

.table__scroll {
  font-family: inherit;
  display: none;
  white-space: nowrap; }
  .table__scroll--left, .table__scroll--right {
    display: block;
    position: absolute;
    top: 0;
    border: 0;
    cursor: pointer;
    font-size: 12px;
    font-weight: 500;
    z-index: 3; }
    .table__scroll--left:after, .table__scroll--right:after {
      content: '';
      position: absolute;
      top: calc(50% - 4px);
      right: -2px;
      width: 4px;
      height: 4px;
      border-top: 2px solid #CC0033;
      border-left: 2px solid #CC0033;
      transform: translateX(-50%) rotate(-135deg);
      box-sizing: content-box;
      pointer-events: none; }
      @media screen and (min-width: 700px) {
        .table__scroll--left:after, .table__scroll--right:after {
          top: calc(50% - 2px); } }
    .table__scroll--left:after, .table__scroll--right:after {
      transform: translateX(120%) rotate(135deg);
      top: calc(50% - 2px); }
    @media (min-width: 700px) {
      .table__scroll--left, .table__scroll--right {
        display: none !important; } }
  .table__scroll--left {
    display: none;
    left: -7px; }
    .table__scroll--left:after {
      transform: translateX(120%) rotate(-45deg);
      left: -17px; }
  .table__scroll--right {
    right: 34px; }
    .table__scroll--right:after {
      right: -3px; }

.table-js-scroll-left .table__scroll--left {
  display: none; }

.table-js-scroll-left .table__scroll--right {
  display: block; }

.table-js-scroll-right .table__scroll--right {
  display: none; }

.table-js-scroll-right .table__scroll--left {
  display: block; }

.nf-form-wrap li {
  margin: 0;
  padding: 0;
  list-style: none; }
  .nf-form-wrap li:before {
    content: none !important; }

.nf-form-wrap .nf-response-msg {
  margin: 3.2em 0; }
  .nf-form-wrap .nf-response-msg p {
    font-size: 14px;
    font-weight: 600; }
    @media (min-width: 1025px) {
      .nf-form-wrap .nf-response-msg p {
        font-size: 16px; } }

.nf-form-wrap .nf-error {
  color: #CC0033;
  font-weight: 600;
  font-size: 14px; }
  @media (min-width: 1025px) {
    .nf-form-wrap .nf-error {
      font-size: 16px; } }
  .nf-form-wrap .nf-error .ninja-forms-field {
    border: 1px solid #CC0033; }

.nf-form-wrap label,
.nf-form-wrap input,
.nf-form-wrap select,
.nf-form-wrap .ninja-forms-req-symbol {
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 500 !important;
  color: #000000; }
  @media (min-width: 1025px) {
    .nf-form-wrap label,
    .nf-form-wrap input,
    .nf-form-wrap select,
    .nf-form-wrap .ninja-forms-req-symbol {
      font-size: 16px; } }
  .nf-form-wrap label::-webkit-input-placeholder,
  .nf-form-wrap input::-webkit-input-placeholder,
  .nf-form-wrap select::-webkit-input-placeholder,
  .nf-form-wrap .ninja-forms-req-symbol::-webkit-input-placeholder {
    color: #767676; }
  .nf-form-wrap label:-ms-input-placeholder,
  .nf-form-wrap input:-ms-input-placeholder,
  .nf-form-wrap select:-ms-input-placeholder,
  .nf-form-wrap .ninja-forms-req-symbol:-ms-input-placeholder {
    color: #767676; }
  .nf-form-wrap label::placeholder,
  .nf-form-wrap input::placeholder,
  .nf-form-wrap select::placeholder,
  .nf-form-wrap .ninja-forms-req-symbol::placeholder {
    color: #767676; }

@media (min-width: 1025px) {
  .nf-form-wrap .field-wrap:not(.checkbox-wrap) .nf-field-label label {
    font-weight: 600 !important; } }

.nf-form-wrap .nf-form-fields-required {
  margin-bottom: 20px; }

.nf-form-wrap .nf-field-container {
  margin-bottom: 20px; }
  @media (min-width: 700px) {
    .nf-form-wrap .nf-field-container {
      margin-bottom: 30px; } }

.nf-form-wrap .ninja-forms-field {
  border: 1px solid #000000; }

@media (min-width: 700px) {
  .nf-form-wrap .textbox-wrap {
    max-width: 278px; } }

.nf-form-wrap .textarea-wrap .ninja-forms-field {
  font-family: "Montserrat", sans-serif;
  height: 100px; }
  @media (min-width: 1025px) {
    .nf-form-wrap .textarea-wrap .ninja-forms-field {
      height: 142px; } }

.nf-form-wrap .checkbox-container {
  margin-bottom: 9px; }
  @media (min-width: 700px) {
    .nf-form-wrap .checkbox-container {
      margin-bottom: 20px; } }
  .nf-form-wrap .checkbox-container .checkbox-wrap {
    display: block; }
    .nf-form-wrap .checkbox-container .checkbox-wrap.js-focused {
      position: relative; }
      .nf-form-wrap .checkbox-container .checkbox-wrap.js-focused:after {
        position: absolute;
        display: inline-block;
        left: 0;
        top: 0;
        height: 16px;
        width: 16px;
        content: '';
        outline: 0;
        box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5);
        cursor: pointer;
        pointer-events: none; }
    .nf-form-wrap .checkbox-container .checkbox-wrap .nf-field-element {
      border: 0;
      height: 1px;
      overflow: hidden;
      padding: 0;
      position: absolute !important;
      width: 1px;
      clip: rect(1px, 1px, 1px, 1px); }
    .nf-form-wrap .checkbox-container .checkbox-wrap .nf-field-label {
      padding: 0; }
  .nf-form-wrap .checkbox-container label {
    display: block;
    position: relative;
    padding: 0 0 0 25px;
    margin: 0 !important;
    text-transform: none;
    font-weight: 300;
    font-size: 15px;
    line-height: 1.5em; }
    .nf-form-wrap .checkbox-container label:before {
      position: absolute;
      display: inline-block;
      left: 0;
      top: 0;
      height: 16px;
      width: 16px;
      content: '';
      border: 1px solid #767676;
      cursor: pointer; }
    .nf-form-wrap .checkbox-container label.nf-checked-label:after {
      content: '';
      position: absolute;
      top: 6px;
      left: 4px;
      width: 10px;
      height: 4px;
      border-left: 2px solid #008190;
      border-bottom: 2px solid #008190;
      transform: rotate(-45deg); }
  .nf-form-wrap .checkbox-container li {
    margin: 0 0 8px !important; }

.nf-form-wrap .listcheckbox-container {
  margin-bottom: 9px; }
  @media (min-width: 700px) {
    .nf-form-wrap .listcheckbox-container {
      margin-bottom: 20px; } }
  .nf-form-wrap .listcheckbox-container .listcheckbox-wrap .nf-field-element li.js-focused:after {
    position: absolute;
    display: inline-block;
    left: 0;
    top: 0;
    height: 16px;
    width: 16px;
    content: '';
    outline: 0;
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5);
    cursor: pointer;
    pointer-events: none; }
  .nf-form-wrap .listcheckbox-container .listcheckbox-wrap .nf-field-element input {
    border: 0;
    height: 1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    clip: rect(1px, 1px, 1px, 1px); }
    .nf-form-wrap .listcheckbox-container .listcheckbox-wrap .nf-field-element input.nf-checked + label:after {
      content: '';
      position: absolute;
      top: 6px;
      left: 4px;
      width: 10px;
      height: 4px;
      border-left: 2px solid #008190;
      border-bottom: 2px solid #008190;
      transform: rotate(-45deg); }
  .nf-form-wrap .listcheckbox-container .listcheckbox-wrap .nf-field-element label {
    display: block;
    position: relative;
    padding: 0 0 0 25px;
    margin: 0 !important;
    text-transform: none;
    font-weight: 300;
    font-size: 15px;
    line-height: 1.5em; }
    .nf-form-wrap .listcheckbox-container .listcheckbox-wrap .nf-field-element label:before {
      position: absolute;
      display: inline-block;
      left: 0;
      top: 0;
      height: 16px;
      width: 16px;
      content: '';
      border: 1px solid #767676;
      cursor: pointer; }
  .nf-form-wrap .listcheckbox-container .listcheckbox-wrap .nf-field-element li {
    margin: 0 0 8px !important; }

@media (min-width: 700px) {
  .nf-form-wrap .listradio-wrap {
    margin-bottom: 20px !important; } }

.nf-form-wrap .listradio-wrap .nf-field-element li.js-focused:after {
  position: absolute;
  display: inline-block;
  left: 0;
  top: 0;
  height: 16px;
  width: 16px;
  content: '';
  outline: 0;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5);
  cursor: pointer;
  pointer-events: none; }

.nf-form-wrap .listradio-wrap .nf-field-element input {
  border: 0;
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  clip: rect(1px, 1px, 1px, 1px); }
  .nf-form-wrap .listradio-wrap .nf-field-element input.nf-checked + label:after {
    content: '';
    position: absolute;
    top: 4px;
    left: 4px;
    width: 8px;
    height: 8px;
    border-radius: 100%;
    background-color: #008190;
    transform: rotate(-45deg); }

.nf-form-wrap .listradio-wrap .nf-field-element label {
  display: block;
  position: relative;
  padding: 0 0 0 25px;
  margin: 0 !important;
  text-transform: none;
  font-weight: 300;
  font-size: 15px;
  line-height: 1.5em; }
  .nf-form-wrap .listradio-wrap .nf-field-element label:before {
    position: absolute;
    display: inline-block;
    left: 0;
    top: 0;
    height: 16px;
    width: 16px;
    border-radius: 100%;
    content: '';
    border: 1px solid #000000;
    cursor: pointer; }

@media (min-width: 700px) {
  .nf-form-wrap .listselect-wrap {
    max-width: 278px; } }

.nf-form-wrap .listselect-wrap .nf-field-element {
  position: relative; }
  .nf-form-wrap .listselect-wrap .nf-field-element:after {
    content: '';
    position: absolute;
    top: calc(50% - 4px);
    right: -2px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #CC0033;
    border-left: 2px solid #CC0033;
    transform: translateX(-50%) rotate(-135deg);
    box-sizing: content-box;
    pointer-events: none; }
    @media screen and (min-width: 700px) {
      .nf-form-wrap .listselect-wrap .nf-field-element:after {
        top: calc(50% - 2px); } }
  .nf-form-wrap .listselect-wrap .nf-field-element:after {
    top: calc(50% - 3px);
    right: 13px; }

.nf-form-wrap .listselect-wrap select {
  color: #767676;
  font-size: 14px;
  padding: 10px 30px 10px 14px;
  background-image: none; }

.nf-form-wrap .submit-container {
  margin-top: 35px; }
  @media (min-width: 700px) {
    .nf-form-wrap .submit-container {
      margin-top: 45px; } }
  .nf-form-wrap .submit-container .textbox-wrap > .nf-field-element {
    width: 150px;
    position: relative;
    text-decoration: none;
    overflow: hidden;
    border: 0;
    border-radius: 4px 4px 0 0;
    background: #CC0033;
    transition: 0.3s ease-in-out; }
    .nf-form-wrap .submit-container .textbox-wrap > .nf-field-element:before {
      height: 3px;
      width: 100%;
      background: #FFFFFF;
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: 9;
      content: '';
      transition: 0.3s ease-in-out; }
    .nf-form-wrap .submit-container .textbox-wrap > .nf-field-element:hover, .nf-form-wrap .submit-container .textbox-wrap > .nf-field-element:focus {
      background-color: #980529; }
      .nf-form-wrap .submit-container .textbox-wrap > .nf-field-element:hover:before, .nf-form-wrap .submit-container .textbox-wrap > .nf-field-element:focus:before {
        height: 7px; }
  .nf-form-wrap .submit-container input {
    font-family: "Montserrat", sans-serif;
    cursor: pointer;
    padding: 14px 19px;
    width: 100% !important;
    height: 100%;
    font-size: 16px;
    font-weight: 600 !important;
    color: #FFFFFF;
    border: 0;
    background-color: transparent; }

.nf-form-wrap nf-field {
  margin-bottom: 1.5em; }

.nf-form-wrap .nf-static,
.nf-form-wrap .nf-element {
  padding: 0.5rem;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 500 !important;
  color: #000000; }

.nf-form-wrap .product-container {
  margin-bottom: 0; }

.nf-form-wrap .nf-product-field {
  border: none; }
  .nf-form-wrap .nf-product-field .nf-product-price-label,
  .nf-form-wrap .nf-product-field .nf-product-price,
  .nf-form-wrap .nf-product-field .nf-product-quantity-label {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 500 !important;
    color: #000000; }
  .nf-form-wrap .nf-product-field .nf-product-quantity input {
    width: 100%;
    border: 1px solid #000000; }

.wp-block-image figure:not(.alignleft),
.wp-block-image figure:not(.alignright) {
  width: 100%; }

.wp-block-image figcaption {
  font-size: 14px;
  font-weight: 500;
  margin-top: 1.05em;
  margin-bottom: 1.78em; }
  @media (min-width: 700px) {
    .wp-block-image figcaption {
      margin-top: 1.05em;
      margin-bottom: 1.25em; } }
  @media (min-width: 1025px) {
    .wp-block-image figcaption {
      margin-top: 1.25em; } }

.wp-block-gallery.columns-3 {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  padding: 0;
  margin: 0 0 44px -50vw; }
  @media (min-width: 700px) {
    .wp-block-gallery.columns-3 {
      margin: 0 0 1.5em -50vw; } }
  @media (min-width: 1025px) {
    .wp-block-gallery.columns-3 {
      margin: 50px 0 70px -50vw; } }
  @media (min-width: 1600px) {
    .wp-block-gallery.columns-3 {
      width: 1350px;
      left: calc((720px - 1350px) / 2);
      right: 0;
      margin: 0 auto 70px; } }
  .wp-block-gallery.columns-3 .blocks-gallery-item {
    display: block;
    padding: 0;
    height: 0;
    margin: 0 0 8px; }
    @media (min-width: 700px) {
      .wp-block-gallery.columns-3 .blocks-gallery-item {
        margin-bottom: 16px; } }
    @media (min-width: 1025px) {
      .wp-block-gallery.columns-3 .blocks-gallery-item {
        margin-bottom: 25px; } }
    .wp-block-gallery.columns-3 .blocks-gallery-item:before {
      content: none; }
    .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(1), .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(6n+6) {
      position: relative;
      -ms-flex: 1 0 30%;
          flex: 1 0 30%;
      margin-right: 8px;
      padding-bottom: 45%; }
      @media (min-width: 700px) {
        .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(1), .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(6n+6) {
          margin-right: 16px; } }
      @media (min-width: 1025px) {
        .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(1), .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(6n+6) {
          margin-right: 25px; } }
    .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(2), .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(6n+7) {
      position: relative;
      -ms-flex: 1 0 30%;
          flex: 1 0 30%;
      margin-right: 8px;
      padding-bottom: 45%; }
      @media (min-width: 700px) {
        .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(2), .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(6n+7) {
          margin-right: 16px; } }
      @media (min-width: 1025px) {
        .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(2), .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(6n+7) {
          margin-right: 25px; } }
    .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(3), .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(6n+8) {
      position: relative;
      -ms-flex: 1 0 30%;
          flex: 1 0 30%;
      padding-bottom: 45%; }
    .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(4), .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(6n+9) {
      -ms-flex: 1 0 48%;
          flex: 1 0 48%;
      margin-right: 8px;
      padding-bottom: 35%; }
      @media (min-width: 700px) {
        .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(4), .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(6n+9) {
          margin-right: 16px; } }
      @media (min-width: 1025px) {
        .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(4), .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(6n+9) {
          margin-right: 25px; } }
    .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(5), .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(6n+10) {
      -ms-flex: 1 0 48%;
          flex: 1 0 48%;
      padding-bottom: 35%; }
      @media (min-width: 700px) {
        .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(5), .wp-block-gallery.columns-3 .blocks-gallery-item:nth-child(6n+10) {
          margin-right: 0; } }
    .wp-block-gallery.columns-3 .blocks-gallery-item:last-of-type {
      margin-right: 0; }
    .wp-block-gallery.columns-3 .blocks-gallery-item figure {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      .wp-block-gallery.columns-3 .blocks-gallery-item figure img {
        display: block;
        width: 100%;
        height: 100%; }

.wp-block-columns.has-2-columns {
  margin-bottom: 1.7em; }
  @media (min-width: 700px) {
    .wp-block-columns.has-2-columns {
      margin-bottom: 60px; } }
  @media (min-width: 1025px) {
    .wp-block-columns.has-2-columns {
      margin-left: -90px;
      margin-right: -90px;
      margin-bottom: 4.3em; } }
  @media (min-width: 1025px) {
    .wp-block-columns.has-2-columns .wp-block-column {
      -ms-flex-preferred-size: calc(50% - 23px);
          flex-basis: calc(50% - 23px);
      margin-bottom: 0; } }
  @media (min-width: 1025px) {
    .wp-block-columns.has-2-columns .wp-block-column:not(:first-child) {
      margin-left: 52px; } }
  .wp-block-columns.has-2-columns .wp-block-column figure.wp-block-image figcaption {
    margin-bottom: 2.8em; }
    @media (min-width: 700px) {
      .wp-block-columns.has-2-columns .wp-block-column figure.wp-block-image figcaption {
        margin-bottom: 2.3em; } }
  .wp-block-columns.has-2-columns h2 {
    margin-top: 1.1em;
    text-align: left; }
    .wp-block-columns.has-2-columns h2:after {
      content: none; }
  @media screen and (min-width: 1025px) {
    .wp-block-columns.has-2-columns.news-events-list {
      margin-bottom: 0.3em; } }

.wp-block-column:not(:last-of-type) {
  margin-bottom: 2.7em; }

@media screen and (min-width: 700px) {
  .wp-block-columns.has-6-columns {
    position: relative;
    width: calc(100vw - 100px);
    max-width: 900px;
    left: 50%;
    transform: translateX(-50%); } }

@media screen and (min-width: 1025px) and (-ms-high-contrast: none) {
  .wp-block-columns.has-6-columns:not(.icons) .wp-block-column:first-of-type {
    margin: 0 0 0 32px; } }

@media screen and (min-width: 1025px) and (-ms-high-contrast: none) {
  .wp-block-columns.has-6-columns:not(.icons) .wp-block-column:last-of-type {
    margin: 0 32px 0 0; } }

.wp-block-columns.has-6-columns .wp-block-column {
  -ms-flex: 1 1 100%;
      flex: 1 1 100%; }
  @media screen and (min-width: 700px) {
    .wp-block-columns.has-6-columns .wp-block-column h3 {
      font-size: 15px; } }

.wp-block-meowapps-faq .meow-faq-question {
  display: block;
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0.8em 4em 0.8em 1.3em;
  background: transparent;
  color: #000000;
  font-weight: 600;
  font-size: 14px;
  border-top: 1px solid #767676;
  cursor: pointer; }
  .wp-block-meowapps-faq .meow-faq-question:after {
    content: '';
    position: absolute;
    top: calc(50% - 4px);
    right: -2px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #FFFFFF;
    border-left: 2px solid #FFFFFF;
    transform: translateX(-50%) rotate(-135deg);
    box-sizing: content-box;
    pointer-events: none; }
    @media screen and (min-width: 700px) {
      .wp-block-meowapps-faq .meow-faq-question:after {
        top: calc(50% - 2px); } }
  @media (min-width: 700px) {
    .wp-block-meowapps-faq .meow-faq-question {
      font-size: 16px; } }
  .wp-block-meowapps-faq .meow-faq-question:before {
    content: '';
    position: absolute;
    top: calc(50% - 12px);
    right: 9px;
    width: 24px;
    height: 24px;
    background-color: #CC0033;
    border-radius: 100%; }
  .wp-block-meowapps-faq .meow-faq-question:after {
    right: 15px; }
  .wp-block-meowapps-faq .meow-faq-question[aria-expanded='true']:after {
    top: calc(50% - 2px);
    right: 18px;
    transform: rotate(45deg); }

.wp-block-meowapps-faq .meow-tab-answer {
  display: none;
  padding: 0 1.3em 0.8em;
  font-weight: 500;
  font-size: 14px; }
  @media (min-width: 700px) {
    .wp-block-meowapps-faq .meow-tab-answer {
      font-size: 16px; } }

.wp-block-meowapps-faq.last {
  border-bottom: 1px solid #767676;
  margin-bottom: 5.1em; }

.news-events-listing h2 {
  text-align: center; }
  @media (min-width: 1025px) {
    .news-events-listing h2 {
      text-align: left; } }

.news-listing {
  margin-bottom: 1.5em; }
  @media (min-width: 700px) {
    .news-listing {
      margin-bottom: 2em; } }
  @media (min-width: 1025px) {
    .news-listing {
      margin-bottom: 2em; } }
  .news-listing__list {
    list-style: none;
    padding: 0;
    margin: 0; }
    @media (min-width: 700px) {
      .news-listing__list {
        margin-bottom: 39px; } }
    @media (min-width: 1025px) {
      .news-listing__list {
        margin-bottom: 62px; } }
  .news-listing__item {
    margin-bottom: 30px !important; }
    .news-listing__item a {
      display: inline-block;
      text-decoration: none;
      margin-bottom: 4px;
      font-weight: 500; }
      @media (min-width: 700px) {
        .news-listing__item a {
          margin-bottom: 8px; } }
    .news-listing__item p {
      margin-bottom: 4px;
      font-weight: 500;
      line-height: 1.69; }
      @media (min-width: 700px) {
        .news-listing__item p {
          margin-bottom: 8px; } }
    @media (min-width: 700px) {
      .news-listing__item .item__inner {
        display: -ms-flexbox;
        display: flex; } }
    .news-listing__item .item__image {
      width: 205px; }
      @media (max-width: 699px) {
        .news-listing__item .item__image {
          margin-bottom: 22px; } }
      @media (min-width: 700px) {
        .news-listing__item .item__image {
          -ms-flex: 0 0 205px;
              flex: 0 0 205px;
          width: auto;
          margin-right: 24px; } }
      .news-listing__item .item__image + .item__content {
        margin-top: 10px; }
    .news-listing__item .item__link {
      position: relative;
      display: inline;
      padding-right: 12px;
      font-size: 20px;
      line-height: 1.45; }
      @media (min-width: 700px) {
        .news-listing__item .item__link {
          font-size: 21px; } }
      .news-listing__item .item__link:after {
        top: auto;
        bottom: 8px;
        transform: rotate(135deg); }
    .news-listing__item .item__desc {
      font-size: 16px;
      margin-top: 10px;
      margin-bottom: 13px; }
    .news-listing__item .item__date {
      color: #767676;
      font-size: 14px;
      font-weight: 500; }
    @media (min-width: 700px) {
      .news-listing__item.first .item__image {
        -ms-flex: 0 0 338px;
            flex: 0 0 338px; } }
    @media (min-width: 700px) {
      .news-listing__item.first .item__content {
        margin-top: 0; } }
    @media (min-width: 700px) {
      .news-listing__item.first .item__link {
        font-size: 34px;
        line-height: 1.3; } }
    @media (min-width: 700px) {
      .news-listing__item.first .item__link .last-word:after {
        width: 8px;
        height: 8px;
        border-top: 4px solid #CC0033;
        border-left: 4px solid #CC0033; } }
    @media (min-width: 700px) {
      .news-listing__item.first .item__desc {
        margin-top: 14px;
        margin-bottom: 18px; } }

.event__month {
  text-transform: uppercase;
  font-size: 21px;
  font-weight: 400;
  padding-bottom: 2px;
  border-bottom: 1px solid #9B9B9B; }

.event__year {
  font-size: 21px;
  font-weight: 400; }

.event__date-field {
  width: 100px;
  text-align: center;
  margin: 0 auto -12px; }
  @media (min-width: 700px) {
    .event__date-field {
      margin: 0; } }

.event__date {
  font-size: 70px;
  color: #CC0033;
  font-weight: 200;
  margin-top: -20px; }

.event__link {
  position: relative;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.3;
  text-decoration: none; }
  .event__link:after {
    top: auto;
    right: -14px;
    bottom: 8px;
    width: 4px;
    height: 4px;
    transform: rotate(135deg); }

.event__subtitle {
  font-size: 14px;
  margin-top: 10px;
  color: #767676; }
  @media (min-width: 700px) {
    .event__subtitle {
      margin-top: 5px; } }

.events-listing {
  margin-bottom: 1.5em; }
  @media (min-width: 700px) {
    .events-listing {
      margin-bottom: 2em; } }
  @media (min-width: 1025px) {
    .events-listing {
      margin-bottom: 2em; } }
  .events-listing__list {
    list-style: none;
    padding: 0;
    margin: 0; }
    @media (min-width: 700px) {
      .events-listing__list {
        margin-bottom: 39px; } }
    @media (min-width: 1025px) {
      .events-listing__list {
        margin-bottom: 62px; } }
  .events-listing__item {
    margin-bottom: 30px !important; }
    @media (max-width: 699px) {
      .events-listing__item {
        text-align: center; } }
    @media (min-width: 700px) {
      .events-listing__item .item__inner {
        display: -ms-flexbox;
        display: flex; } }
    @media (min-width: 700px) {
      .events-listing__item .item__content {
        margin-left: 37px;
        margin-top: 25px; } }
    @media (min-width: 700px) {
      .events-listing__item .event__date-field {
        -ms-flex: 0 0 100px;
            flex: 0 0 100px; } }

.detail--event .event__date-field {
  margin-bottom: 13px; }
  @media (min-width: 700px) {
    .detail--event .event__date-field {
      -ms-flex: 0 0 100px;
          flex: 0 0 100px;
      margin-right: 40px; } }

.detail--event .event__date {
  margin-bottom: -28px; }

.detail--event .detail__top {
  margin-bottom: 28px; }
  @media (min-width: 700px) {
    .detail--event .detail__top {
      display: -ms-flexbox;
      display: flex; } }

.detail--event .detail__header {
  margin-bottom: 15px; }
  .detail--event .detail__header:after {
    content: none; }

.dir {
  margin-bottom: 1.5em; }
  @media (min-width: 700px) {
    .dir {
      margin-bottom: 2em; } }
  @media (min-width: 1025px) {
    .dir {
      margin-top: -0.4em;
      margin-bottom: 2em; } }
  .dir ul {
    list-style: none;
    padding: 0;
    margin: 0; }
  @media (min-width: 700px) {
    .dir__list {
      margin-bottom: 39px; } }
  .dir__filter {
    margin-bottom: 29px;
    max-width: 750px; }
    .dir__filter a {
      font-size: 14px;
      text-decoration: none; }
      @media (min-width: 700px) {
        .dir__filter a {
          font-size: 16px; } }
      .dir__filter a.js-active {
        color: #000000; }
  .dir__clear {
    font-size: 14px;
    margin-bottom: 10px; }
    .dir__clear button {
      border: 0;
      border-radius: 4px;
      padding: 10px 10px 10px 25px;
      font-weight: 600;
      background-color: #CC0033;
      color: #FFFFFF;
      cursor: pointer;
      transition: opacity 0.3s ease; }
      @media (min-width: 700px) {
        .dir__clear button {
          padding: 10px 14px 10px 27px; } }
      .dir__clear button:hover {
        opacity: 0.8; }
      .dir__clear button span {
        position: relative; }
        .dir__clear button span:before, .dir__clear button span:after {
          content: '';
          position: absolute;
          top: 50%;
          left: -10px;
          width: 2px;
          height: 10px;
          background-color: #FFFFFF;
          transform: translateY(-50%) rotate(45deg); }
        .dir__clear button span:after {
          transform: translateY(-50%) rotate(-45deg); }
  .dir__facstaff ul, .dir__alph ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .dir__facstaff a, .dir__alph a {
    color: #CC0033;
    font-weight: 600; }
    .dir__facstaff a:hover, .dir__alph a:hover {
      color: #000000; }
  .dir__facstaff li, .dir__alph li {
    padding: 0; }
    .dir__facstaff li:not(:last-of-type):after, .dir__alph li:not(:last-of-type):after {
      content: '|';
      color: #767676;
      font-weight: 300;
      margin: 0 6px;
      font-size: 13px;
      vertical-align: text-bottom; }
      @media (min-width: 700px) {
        .dir__facstaff li:not(:last-of-type):after, .dir__alph li:not(:last-of-type):after {
          margin: 0 7px; } }
  .dir__facstaff {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    margin-bottom: 10px; }
    .dir__facstaff a {
      font-weight: 600; }
      .dir__facstaff a.js-active {
        font-weight: 400; }
    .dir__facstaff .facstaff__inner {
      display: -ms-inline-flexbox;
      display: inline-flex; }
  .dir__alph {
    display: inline-block;
    width: 100%;
    margin-bottom: 17px; }
    @media (min-width: 1025px) {
      .dir__alph {
        margin-bottom: 29px; } }
    .dir__alph a,
    .dir__alph span {
      text-transform: uppercase; }
    .dir__alph span.js-disabled {
      color: #ECECEC; }
  .dir__more .more {
    position: relative; }
    .dir__more .more__btt {
      width: 158px;
      border: 0;
      border-radius: 4px;
      padding: 6px 0;
      background-color: #ECECEC;
      cursor: pointer; }
      .dir__more .more__btt span {
        position: relative;
        padding-right: 20px;
        font-family: "Montserrat", sans-serif;
        font-size: 14px;
        font-weight: 500;
        pointer-events: none; }
        .dir__more .more__btt span:after {
          content: '';
          position: absolute;
          top: calc(50% - 4px);
          right: -2px;
          width: 4px;
          height: 4px;
          border-top: 2px solid #CC0033;
          border-left: 2px solid #CC0033;
          transform: translateX(-50%) rotate(-135deg);
          box-sizing: content-box;
          pointer-events: none; }
          @media screen and (min-width: 700px) {
            .dir__more .more__btt span:after {
              top: calc(50% - 2px); } }
    .dir__more .more__dropdown {
      position: absolute;
      top: 100%;
      left: 0;
      background-color: #ECECEC;
      margin-top: -2px;
      padding: 9px 27px 7px;
      border-radius: 0 4px 4px 4px;
      display: none;
      z-index: 1; }
      .dir__more .more__dropdown p {
        font-weight: 500;
        margin-bottom: 4px; }
      .dir__more .more__dropdown li {
        margin-bottom: 13px;
        line-height: 1.2; }
  .dir__item {
    margin-bottom: 30px !important; }
    .dir__item img {
      width: 128px;
      margin-bottom: 10px; }
      @media (min-width: 700px) {
        .dir__item img {
          width: 156px;
          height: 100%; } }
    .dir__item a {
      display: inline-block;
      text-decoration: none;
      margin-bottom: 4px;
      font-weight: 500; }
      @media (min-width: 700px) {
        .dir__item a {
          margin-bottom: 8px; } }
    .dir__item p {
      margin-bottom: 4px;
      font-weight: 500;
      line-height: 1.69; }
      @media (min-width: 700px) {
        .dir__item p {
          margin-bottom: 8px;
          line-height: 1.56; } }
    @media (min-width: 700px) {
      .dir__item .item__inner {
        display: -ms-flexbox;
        display: flex; } }
    .dir__item .item__link {
      position: relative;
      padding-right: 17px;
      font-size: 18px; }
      @media (min-width: 700px) {
        .dir__item .item__link {
          font-size: 24px; } }
      .dir__item .item__link:after {
        top: calc(50% - 2px);
        transform: translateX(-50%) rotate(135deg); }
    @media (min-width: 700px) {
      .dir__item .info {
        margin: -5px 0 0 24px;
        -ms-flex: 1;
            flex: 1; } }
    @media (min-width: 700px) {
      .dir__item .info__content {
        display: -ms-flexbox;
        display: flex; } }
    @media (min-width: 700px) {
      .dir__item .info__left {
        -ms-flex: 1;
            flex: 1;
        margin-right: 10px; } }
    @media (min-width: 700px) {
      .dir__item .info__right {
        -ms-flex: 1;
            flex: 1; } }
    .dir__item .item__position {
      font-weight: 600; }
    .dir__item .item__divisions {
      margin-bottom: 5px; }
    .dir__item .item__email {
      font-weight: 600;
      font-size: 14px; }
      @media (min-width: 700px) {
        .dir__item .item__email {
          font-size: 16px; } }
  .dir .clear-all {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    position: relative;
    color: #CC0033;
    font-weight: 600;
    padding-left: 15px;
    margin-left: 15px;
    cursor: pointer;
    transition: color 0.3s ease; }
    @media screen and (min-width: 700px) {
      .dir .clear-all {
        font-size: 16px; } }
    .dir .clear-all:hover {
      color: #000000; }
      .dir .clear-all:hover:before, .dir .clear-all:hover:after {
        background-color: #000000; }
    .dir .clear-all:before {
      content: '';
      position: absolute;
      top: calc(50% - 1px);
      left: 0;
      transform: translateY(-50%) rotate(45deg);
      width: 10px;
      height: 1px;
      background-color: #CC0033;
      transition: background-color 0.3s ease; }
    .dir .clear-all:after {
      content: '';
      position: absolute;
      top: calc(50% - 1px);
      left: 0;
      transform: translateY(-50%) rotate(-45deg);
      width: 10px;
      height: 1px;
      background-color: #CC0033;
      transition: background-color 0.3s ease; }

.detail--dir {
  margin-bottom: 15px;
  font-weight: 500; }
  .detail--dir p {
    margin-bottom: 2px; }
    @media (min-width: 700px) {
      .detail--dir p {
        margin-bottom: 4px; } }
  .detail--dir a {
    text-decoration: none;
    font-weight: 600; }
  .detail--dir .detail__header {
    text-align: center; }
    @media (min-width: 700px) {
      .detail--dir .detail__header {
        text-align: left;
        margin-bottom: 24px; } }
    .detail--dir .detail__header:after {
      content: none; }
  .detail--dir .dir-detail__position {
    font-weight: 600; }
  @media (min-width: 700px) {
    .detail--dir .content {
      display: -ms-flexbox;
      display: flex; } }
  .detail--dir .content__left {
    width: 100%;
    margin-bottom: 21px; }
    @media (min-width: 700px) {
      .detail--dir .content__left {
        max-width: 385px;
        margin-right: 28px; } }
  @media (min-width: 700px) {
    .detail--dir .content__right {
      margin-top: 10px; } }

.tablepress-table-description {
  font-weight: 500;
  margin-bottom: 2em; }

table.tablepress {
  overflow-x: auto; }
  @media screen and (max-width: 699px) {
    table.tablepress {
      width: calc(100% + 50px); } }
  table.tablepress .odd td {
    background-color: #ECECEC; }
  table.tablepress tbody td, table.tablepress .tablepress tfoot th {
    border: none; }
  table.tablepress tbody tr {
    border: none !important; }
    table.tablepress tbody tr.even:hover td {
      background-color: transparent !important; }
    table.tablepress tbody tr.odd:hover td {
      background-color: #ECECEC !important; }
  table.tablepress th {
    font-size: 13px;
    padding-left: 0.44rem; }
    @media screen and (min-width: 700px) {
      table.tablepress th {
        padding-left: 0.8rem; } }
    @media screen and (min-width: 1025px) {
      table.tablepress th {
        font-size: 15px; } }
  table.tablepress td {
    padding: 0.8rem 1rem 0.44rem 1.2rem;
    font-size: 13px; }
    @media screen and (min-width: 700px) {
      table.tablepress td {
        padding: 0.8rem 0.8rem .4rem; } }
    @media screen and (min-width: 1025px) {
      table.tablepress td {
        padding: .9rem 0.8rem .7rem;
        font-size: 15px; } }

div.dataTables_length, div.dataTables_filter {
  font-size: 14px;
  font-weight: 500;
  margin: 0 0 2em; }
  @media screen and (min-width: 1025px) {
    div.dataTables_length, div.dataTables_filter {
      font-size: 16px; } }

div.dataTables_length select {
  height: 40px;
  padding: 0 6px;
  margin: 0 0 0 1em;
  font-size: 16px;
  background: transparent;
  border-radius: 4px;
  border: 1px solid #424B4F;
  text-align: center; }

div.dataTables_filter input {
  width: calc(100% - 40px);
  height: 40px;
  padding: 0 15px;
  margin: 0 0 0 1em;
  font-size: 16px;
  background: transparent;
  border-radius: 4px;
  border: 1px solid #424B4F; }

div.dataTables_info, div.dataTables_paginate {
  font-size: 14px;
  font-weight: 500;
  margin: 2em 0 0 0; }
  @media screen and (min-width: 1025px) {
    div.dataTables_info, div.dataTables_paginate {
      font-size: 16px; } }

div.dataTables_paginate a {
  position: relative;
  color: #000000 !important; }
  div.dataTables_paginate a.paginate_button.previous {
    transition: color 0.3s ease; }
    div.dataTables_paginate a.paginate_button.previous:after {
      content: '';
      position: absolute;
      top: calc(50% - 4px);
      right: -2px;
      width: 4px;
      height: 4px;
      border-top: 2px solid #CC0033;
      border-left: 2px solid #CC0033;
      transform: translateX(-50%) rotate(-135deg);
      box-sizing: content-box;
      pointer-events: none; }
      @media screen and (min-width: 700px) {
        div.dataTables_paginate a.paginate_button.previous:after {
          top: calc(50% - 2px); } }
    div.dataTables_paginate a.paginate_button.previous:after {
      right: auto;
      left: -10px;
      top: calc(50% - 4px);
      transform: rotate(-45deg); }
    div.dataTables_paginate a.paginate_button.previous:before {
      content: none !important; }
  div.dataTables_paginate a.paginate_button.next {
    transition: color 0.3s ease; }
    div.dataTables_paginate a.paginate_button.next:after {
      content: '';
      position: absolute;
      top: calc(50% - 4px);
      right: -2px;
      width: 4px;
      height: 4px;
      border-top: 2px solid #CC0033;
      border-left: 2px solid #CC0033;
      transform: translateX(-50%) rotate(-135deg);
      box-sizing: content-box;
      pointer-events: none; }
      @media screen and (min-width: 700px) {
        div.dataTables_paginate a.paginate_button.next:after {
          top: calc(50% - 2px); } }
    div.dataTables_paginate a.paginate_button.next:after {
      top: calc(50% - 4px);
      right: -10px;
      width: 4px;
      height: 4px;
      margin: 0;
      transform: rotate(135deg); }
  div.dataTables_paginate a.paginate_button:before, div.dataTables_paginate a.paginate_button:after {
    border-color: #424B4F;
    transition: border-color 0.3s ease; }
  div.dataTables_paginate a.paginate_button.disabled {
    color: #424B4F !important; }
    div.dataTables_paginate a.paginate_button.disabled:before, div.dataTables_paginate a.paginate_button.disabled:after {
      border-color: #424B4F; }
  div.dataTables_paginate a.paginate_button:not(.disabled) {
    color: #008190 !important;
    text-decoration: none; }
    div.dataTables_paginate a.paginate_button:not(.disabled):hover {
      color: #000000 !important; }
      div.dataTables_paginate a.paginate_button:not(.disabled):hover:before, div.dataTables_paginate a.paginate_button:not(.disabled):hover:after {
        border-color: #000000; }

div.dataTables_scrollHead .tablepress th {
  background-color: transparent; }
  div.dataTables_scrollHead .tablepress th:hover {
    background-color: #ECECEC; }
  div.dataTables_scrollHead .tablepress th.sorting:before {
    content: '';
    position: absolute;
    top: 50%;
    right: 6px;
    width: 5px;
    height: 5px;
    border-top: 2px solid #CC0033;
    border-left: 2px solid #CC0033;
    transform: rotate(-135deg); }
  div.dataTables_scrollHead .tablepress th.sorting:after {
    content: '';
    top: -4px;
    width: 5px;
    height: 5px;
    border-top: 2px solid #CC0033;
    border-left: 2px solid #CC0033;
    transform: rotate(45deg); }
  div.dataTables_scrollHead .tablepress th.sorting_asc:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 2px solid #CC0033;
    border-left: 2px solid #CC0033;
    transform: rotate(45deg); }
  div.dataTables_scrollHead .tablepress th.sorting_desc:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 2px solid #CC0033;
    border-left: 2px solid #CC0033;
    transform: rotate(-135deg); }
  div.dataTables_scrollHead .tablepress th tfoot th, div.dataTables_scrollHead .tablepress th .tablepress thead th {
    background-color: transparent !important; }

div.dataTables_scrollFootInner .tablepress tfoot th, div.dataTables_scrollFootInner .tablepress thead th {
  background-color: transparent;
  border-top: 1px solid #ddd; }

.dir-detail__department { font-size:16px; }
ul.commaSep {
  display: inline;
  list-style: none;
  margin:0;
  padding: 0;
}

ul.commaSep li {
  display: inline;
}

ul.commaSep li:after {
  content: ", ";
}

ul.commaSep li:last-child:after {
    content: "";
}

body.page-template-page--noheaderfooter-php { padding-top: 0; }

body.page-id-10525 {
    background-image: linear-gradient(180deg, rgba(71,71,71,0) 0%, rgba(0,0,0,0) 45%, rgba(255,255,255,1) 70%), linear-gradient(90deg, rgba(255,255,255,0.5) 0%, rgba(255,255,255,1) 25%, rgba(255,255,255,1) 25%, rgba(255,255,255,1) 75%, rgba(255,255,255,1) 75%, rgba(255,255,255,0.5) 100%), url(https://dev-ru-sn.pantheonsite.io/wp-content/uploads/2021/04/1241F.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}

.advanced-sidebar-menu {
  border: 2px solid #CC0033;  
  padding:20px;
}
.advanced-sidebar-menu .parent-sidebar-menu {
    list-style: none;
    padding: 0;
}
.advanced-sidebar-menu .child-sidebar-menu {
  padding: 0 0 0 10px;
  list-style: none;
}
.advanced-sidebar-menu .grandchild-sidebar-menu {
 padding: 0 0 0 10px;
 list-style: none; 
}

.advanced-sidebar-menu .parent-sidebar-menu ul li { border-top: 1px solid #eee; }
.advanced-sidebar-menu .parent-sidebar-menu ul li a {
    text-decoration: none;
    color: #000000;
    font-size: 13px;
    font-weight: 500;
    line-height: 3;
}

.advanced-sidebar-menu h2 {
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    margin: -20px -20px 0 -20px;
    font-weight: 700;
    text-align: left;
    padding: 20px;
    background: #c03;
    color: #fff;
}


@media (min-width: 1024px) {

  .table-full-width table{
    width: 100vw !important;
    table-layout: fixed;
  }

    .table-two-third table{
    width: 66.6vw !important;
    table-layout: fixed;
  }

    .table-one-half table{
    width: 50vw !important;
    table-layout: fixed;
  }
    .table-one-third table{
    width: 33.3vw !important;
    table-layout: fixed;
  }

}
@media (max-width: 1024px) {
    
  body.page-id-10525 {
    background-image: linear-gradient(90deg, rgba(255,255,255,0.5) 0%, rgba(255,255,255,1) 15%, rgba(255,255,255,1) 15%, rgba(255,255,255,1) 85%, rgba(255,255,255,1) 85%, rgba(255,255,255,0.5) 100%), url(https://dev-ru-sn.pantheonsite.io/wp-content/uploads/2019/02/20170803-20170803-IMG_3225.jpg);
  }

}
@media (max-width: 900px) {
    
  body.page-id-10525 {
    background-image: inherit;
  }

}
@media (max-width: 699px) {
    .news-events-list h2 { border-top:2px solid #cc0833; }
}


/**
 * @file
 * Print specific styliing
 */
@media print {
  .footer,
  .site-nav__content,
  .site-nav__content-bott,
  .section-navigation,
  .site-nav .search {
    display: none; }
  .site-header {
    position: static; }
  h2:after {
    content: none !important; }
  .meow-tab-answer {
    display: block !important; } }


/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCJhYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwiYXBwLmNzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiYXBwLnNjc3MiLCJhYnN0cmFjdHMvX21peGlucy5zY3NzIiwiYWJzdHJhY3RzL19hbmltYXRpb24uc2NzcyIsImJhc2UvX25vcm1hbGl6ZS5zY3NzIiwiYmFzZS9fYWRtaW4uc2NzcyIsImJhc2UvX2Jhc2Uuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImdsb2JhbC9fd3AtYWRtaW4uc2NzcyIsImdsb2JhbC9fd3Atb3ZlcnJpZGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwibGF5b3V0L19ob21lLnNjc3MiLCJsYXlvdXQvX2RldGFpbC5zY3NzIiwibGF5b3V0L19saXN0aW5nLnNjc3MiLCJsYXlvdXQvX3NlYXJjaC5zY3NzIiwibGF5b3V0L19tYWluLWNvbnRhaW5lci5zY3NzIiwiY29tcG9uZW50cy9fYWxlcnQuc2NzcyIsImNvbXBvbmVudHMvX2hlcm8uc2NzcyIsImNvbXBvbmVudHMvX3F1b3RlLnNjc3MiLCJjb21wb25lbnRzL19wZW9wbGUuc2NzcyIsImNvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJjb21wb25lbnRzL19mZWF0dXJlZC1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fc2VjdGlvbi1uYXZpZ2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL19uYXYuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fcGFnZXIuc2NzcyIsImNvbXBvbmVudHMvX2lubGluZS1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9faWNvbnMtYmxvY2suc2NzcyIsImNvbXBvbmVudHMvX3NvY2lhbC5zY3NzIiwiY29tcG9uZW50cy9fdGFibGUtc2Nyb2xsLnNjc3MiLCJjb21wb25lbnRzL19mb3JtLnNjc3MiLCJjb21wb25lbnRzL19sYXJnZS1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fZ2FsbGVyeS5zY3NzIiwiY29tcG9uZW50cy9fdHdvLWNvbHVtbi5zY3NzIiwiY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJjb21wb25lbnRzL19uZXdzLWV2ZW50cy1saXN0aW5nLnNjc3MiLCJub2RlL19uZXdzLnNjc3MiLCJub2RlL19ldmVudHMuc2NzcyIsIm5vZGUvX2RpcmVjdG9yeS5zY3NzIiwidmVuZG9yL3RhYmxlcHJlc3Muc2NzcyIsImJhc2UvX3ByaW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBw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Z0Q2SlQsK0JoRDdKUztJZ0Q4SlQsMkJBQTBCLEVBQzNCO0VBeklUO0lBNElVLFlBQVc7SUFDWCxVQUFTO0lBQ1QsV0FBVTtJQUNWLFlBQVc7SUFDWCw4QmhEdEtTO0lnRHVLVCwrQmhEdktTO0lnRHdLVCx5QkFBd0IsRUFDekI7RUFuSlQ7SUFzSlUsWUFBVztJQUNYLFdBQVU7SUFDVixZQUFXO0lBQ1gsOEJoRC9LUztJZ0RnTFQsK0JoRGhMUztJZ0RpTFQseUJBQXdCLEVBQ3pCO0VBNUpUO0lBK0pVLFlBQVc7SUFDWCxXQUFVO0lBQ1YsWUFBVztJQUNYLDhCaER4TFM7SWdEeUxULCtCaER6TFM7SWdEMExULDJCQUEwQixFQUMzQjtFQXJLVDtJQXlLUSx5Q0FBd0MsRUFDekM7O0FBMUtQO0VBZ0xNLDhCQUE2QjtFQUM3QiwyQkFDRixFQUFDOztBQ2xQTDs7O0dBR0c7QUFFSDtFQUNFOzs7OztJQUtFLGNBQWEsRUFDZDtFQUVEO0lBQ0UsaUJBQWdCLEVBQ2pCO0VBRUQ7SUFFSSx5QkFBd0IsRUFDekI7RUFHSDtJQUNFLDBCQUF5QixFQUMxQixFQUFBIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi41LjFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAndmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG4vLyBCYXNpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBDb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvKipcbiAqIEBmaWxlXG4gKiBWYXJpYWJsZXNcbiAqXG4gKiBDb250YWlucyBnbG9iYWwgdmFyaWFibGVzIGF2YWlsYWJsZSB0byB0aGUgdGhlbWUuXG4gKi9cblxuLyoqXG4gICogRm9udHNcbiAgKlxuICAqL1xuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1JQk0rUGxleCtTZXJpZjo0MDAsNTAwfE1vbnRzZXJyYXQ6MjAwLDQwMCwzMDAsNTAwLDYwMCw3MDAnKTtcblxuJGZvbnQtaWJtOiAnSUJNIFBsZXggU2VyaWYnLCBzZXJpZjsgLy8gRm9udC13ZWlnaHQgcmVndWxhciAtIDQwMCwgbWVkaXVtIC0gNTAwXG4kZm9udC1tb250c2VycmF0OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7IC8vIEZvbnQtd2VpZ2h0IGV4dHJhLWxpZ2h0IC0gMjAwLCBsaWdodCAtIDMwMCwgcmVndWxhciAtIDQwMCwgbWVkaXVtIC0gNTAwLCBzZW1pLWJvbGQgLSA2MDAsIGJvbGQgLSA3MDBcblxuXG4vKipcbiAqIEJyZWFrcG9pbnRzXG4gKi9cbiRicmVhay14LWxhcmdlOiAxMjAxcHg7XG4kYnJlYWstbGFyZ2U6IDEwMjVweDtcbiRicmVhay1tZWRpdW06IDcwMHB4O1xuJGNvbnRlbnQtbWF4OiAxNjAwcHg7XG4kY29udGVudC1tYXgtMjogMTkwMHB4O1xuXG4vKipcbiAqIENvbG9yc1xuICovXG4kY29sb3Itd2hpdGU6ICNGRkZGRkY7XG4kY29sb3ItYmxhY2s6ICMwMDAwMDA7XG4kY29sb3ItZ3JleTogI0VDRUNFQzsgLy8gR3JleSBwYW5lbHMsIERyb3Bkb3duIG1lbnVzXG4kY29sb3ItZ3JleTI6ICM0MjRCNEY7IC8vIE1vYmlsZSBtZW51IHBhbmVsOyBNZWRpYSBhbmQgdGV4dCBibG9jayBidXR0b25zXG4kY29sb3ItZ3JleTM6ICMyRjJGMkY7IC8vIEluZm9ybWF0aW9uIGZvciBCdXR0b24gb24gbW9iaWxlIG1lbnUgcGFuZWxcbiRjb2xvci1ncmV5NDogIzMyMzIzMjsgLy8gSDEgaG9tZSBjb2xvclxuJGNvbG9yLWdyZXk1OiAjNzY3Njc2OyAvLyBINiBjb2xvclxuJGNvbG9yLWdyZXk2OiAjOUI5QjlCOyAvLyBGaWdjYXB0aW9uIGNvbG9yXG4kY29sb3ItZ3JleTc6ICNDQkNCQ0I7IC8vIE1haW4gbmF2aWdhdGlvbiBsaW5lXG4kY29sb3ItZ3JleTg6ICNCOEI4Qjg7IC8vIFRhYmxlIGJvcmRlciBhbmQgc2VjdGlvbiBuYXYgYm9yZGVyXG4kY29sb3ItdGVhbDogIzAwODE5MDsgLy8gTWVkaWEgYW5kIHRleHQgYmxvY2s7IElubGluZSBsaW5rc1xuJGNvbG9yLXRlYWwyOiAjMDA2MjZEOyAvLyBTZWNvbmRhcnkgYnV0dG9uIHRleHQ7IExhcmdlIGxpbmtzXG4kY29sb3ItdGVhbDM6ICNCM0RDRDk7IC8vIEdldCBTdGFydGVkIGJnIG92ZXJsYXlcbiRjb2xvci1yZWQ6ICNDQzAwMzM7IC8vIERyb3Bkb3duIGFycm93czsgQnV0dG9uczsgQWxlcnQgYmxvY2tzXG4kY29sb3ItcmVkMjogIzk4MDUyOTsgLy8gU2VhcmNoIHBhbmVsXG4kY29sb3ItdGFuOiAjREZEMkIzOyAvLyBMaW5rcyBpbiBmb290ZXJcbiRjb2xvci10YW4yOiAjRUJFM0QxOyAvLyBMaW5rcyBpbiBJbmxpbmUgQWxlcnRcblxuLy8gWi1pbmRleFxuJHotb3ZlcmxheTogMDtcbiR6LWJ0dDogMTAwOyIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjUuMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUlCTStQbGV4K1NlcmlmOjQwMCw1MDB8TW9udHNlcnJhdDoyMDAsNDAwLDMwMCw1MDAsNjAwLDcwMFwiKTtcbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7IH1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLypcbiAgTXkgY3VzdG9tIHN0eWxlczpcbiAgQWRkIHlvdXIgc2NzcyBmaWxlcyBiZWxvdyB0byBzdHJ1Y3R1cmUgeW91ciBwcm9qZWN0IHN0eWxlc1xuKi9cbi8qKlxuICogQGZpbGVcbiAqIFZhcmlhYmxlc1xuICpcbiAqIENvbnRhaW5zIGdsb2JhbCB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIHRoZSB0aGVtZS5cbiAqL1xuLyoqXG4gICogRm9udHNcbiAgKlxuICAqL1xuLyoqXG4gKiBCcmVha3BvaW50c1xuICovXG4vKipcbiAqIENvbG9yc1xuICovXG4vKipcbiAqIEBmaWxlXG4gKiBNaXhpbnNcbiAqIFxuICogQ29udGFpbnMgZ2xvYmFsIFNDU1MgbWl4aW5zXG4gKi9cbi8qKlxuICogQGZpbGVcbiAqIEFuaW1hdGlvbnNcbiAqIFxuICogQ29udGFpbnMgYWxsIGtleWZyYW1lIGFuaW1hdGlvbnMgaW4gdXNlIG9uIHRoZSBzaXRlLlxuICovXG4vKiEgbm9ybWFsaXplLmNzcyB2Ny4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4ge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRjAwO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9J2J1dHRvbiddLFxuW3R5cGU9J3Jlc2V0J10sXG5bdHlwZT0nc3VibWl0J10ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPSdidXR0b24nXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPSdyZXNldCddOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9J3N1Ym1pdCddOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT0nYnV0dG9uJ106LW1vei1mb2N1c3JpbmcsXG5bdHlwZT0ncmVzZXQnXTotbW96LWZvY3VzcmluZyxcblt0eXBlPSdzdWJtaXQnXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPSdzZWFyY2gnXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzLFxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJvZHkubG9nZ2VkLWluLmFkbWluLWJhciAuc2l0ZS1oZWFkZXI6bm90KC5qcy1zbGlkZVVwKSwgYm9keS5sb2dnZWQtaW4uYWRtaW4tYmFyIC5zaXRlLWhlYWRlci5qcy10b3Age1xuICB0b3A6IDQ2cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgYm9keS5sb2dnZWQtaW4uYWRtaW4tYmFyIC5zaXRlLWhlYWRlcjpub3QoLmpzLXNsaWRlVXApLCBib2R5LmxvZ2dlZC1pbi5hZG1pbi1iYXIgLnNpdGUtaGVhZGVyLmpzLXRvcCB7XG4gICAgICB0b3A6IDMycHg7IH0gfVxuXG4vKipcbiAqIEBmaWxlXG4gKiBCYXNlIHRoZW1lIHN0eWxlc1xuICovXG5odG1sLFxuYm9keSB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuICBodG1sLmpzLWZpeGVkLFxuICBib2R5LmpzLWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgaHRtbC5qcy1maXhlZCxcbiAgICAgIGJvZHkuanMtZml4ZWQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjk7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBwYWRkaW5nLXRvcDogODhweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICBib2R5IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMjFweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIGJvZHkge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgcGFkZGluZy10b3A6IDEzNXB4OyB9IH1cblxuKiA+IHA6bGFzdC1jaGlsZCxcbiogPiB1bDpsYXN0LWNoaWxkLFxuKiA+IG9sOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTtcbiAgLyogSUU2LCBJRTcgKi9cbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpOyB9XG5cbi5iYWNrLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAxN3B4O1xuICByaWdodDogMTdweDtcbiAgei1pbmRleDogMTAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC5iYWNrLXRvcCB7XG4gICAgICByaWdodDogMjhweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAuYmFjay10b3Age1xuICAgICAgcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gMTYwMHB4KSAvIDIgKyAyOHB4KTsgfSB9XG4gIC5iYWNrLXRvcCBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0NDMDAzMztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5iYWNrLXRvcCBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDRweCk7XG4gICAgICByaWdodDogLTJweDtcbiAgICAgIHdpZHRoOiA0cHg7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjRkZGRkZGO1xuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjRkZGRkZGO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIC5iYWNrLXRvcCBhOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMnB4KTsgfSB9XG4gICAgLmJhY2stdG9wIGE6YWZ0ZXIge1xuICAgICAgdG9wOiA1NCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogOHB4O1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpOyB9XG5cbmEuc2tpcC1saW5rIHtcbiAgY29sb3I6ICM5ODA1Mjk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG4gIGEuc2tpcC1saW5rLnZpc3VhbGx5LWhpZGRlbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBwYWRkaW5nOiAzcHggMTBweDtcbiAgICB6LWluZGV4OiAxMDAwMDtcbiAgICBjbGlwOiB1bnNldDtcbiAgICB3aWR0aDogMjMwcHg7XG4gICAgaGVpZ2h0OiA0MHB4OyB9XG5cbi5vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDUwMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5vdmVybGF5LmpzLW9wZW4sIC5vdmVybGF5LmpzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYW5pbWF0aW9uOiBmYWRlLWluIDAuM3MgZm9yd2FyZHM7IH1cblxudGFibGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA2cHggMCAzM3B4O1xuICBwYWRkaW5nLWJvdHRvbTogMWVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIHRhYmxlIHtcbiAgICAgIG1hcmdpbjogNnB4IDAgMzRweDtcbiAgICAgIG92ZXJmbG93OiBhdXRvOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIHRhYmxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luOiA4cHggMCA0N3B4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IDE2MDBweCAhaW1wb3J0YW50OyB9IH1cbiAgdGFibGUgdGJvZHkge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyB9XG4gICAgdGFibGUgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgdGFibGUgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgdGFibGUgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gICAgdGFibGUgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCOEI4QjggIWltcG9ydGFudDsgfVxuICAgIHRhYmxlIHRib2R5IHRkIHtcbiAgICAgIHBhZGRpbmc6IDAuOHJlbSAxcmVtIDAuNDRyZW0gMS4ycmVtO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIHRhYmxlIHRib2R5IHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjhyZW0gMS42cmVtIC40cmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgdGFibGUgdGJvZHkgdGQge1xuICAgICAgICAgIHBhZGRpbmc6IC45cmVtIDEuM3JlbSAuN3JlbTtcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgIHRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgIHRhYmxlIHRib2R5IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH0gfVxuXG50YWJsZS5pcy1zdHlsZS1zdHJpcGVzIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG5cbnRhYmxlLmlzLXN0eWxlLXN0cmlwZXMgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VDRUNFQzsgfVxuXG50YWJsZS5pcy1zdHlsZS1zdHJpcGVzIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQsXG50YWJsZS5pcy1zdHlsZS1zdHJpcGVzIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCOEI4QjggIWltcG9ydGFudDsgfVxuXG5maWdjYXB0aW9uIHtcbiAgbWFyZ2luOiAwLjVlbSAwIDA7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi53cC1ibG9jay1hdWRpbyxcbi53cC1ibG9jay12aWRlbyB7XG4gIG1hcmdpbjogMCAwIDFlbTsgfVxuXG4ud3AtYmxvY2stYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICMwMDgxOTA7IH1cbiAgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmc6IDZweCAxOXB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm9yZGVyOiAjQ0MwMDMzIDJweCBzb2xpZDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0MwMDMzO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLndwLWJsb2NrLWJ1dHRvbi5yZWQgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgcGFkZGluZzogOHB4IDE5cHg7XG4gICAgYmFja2dyb3VuZDogI0NDMDAzMztcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgLndwLWJsb2NrLWJ1dHRvbi5yZWQgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiA5O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgLndwLWJsb2NrLWJ1dHRvbi5yZWQgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTgwNTI5OyB9XG4gICAgICAud3AtYmxvY2stYnV0dG9uLnJlZCAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogN3B4OyB9XG5cbmFydGljbGUudHlwZS1uZXdzLCBhcnRpY2xlLnR5cGUtZXZlbnRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmFkZHRoaXNfdG9vbCB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uYWRkdGhpc190b29sIC5hdC1zdHlsZS1yZXNwb25zaXZlIC5hdC1zaGFyZS1idG4ge1xuICBwYWRkaW5nOiAzcHggMDsgfVxuXG4ud3AtYmxvY2stZmlsZSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDAuNzVlbTsgfVxuXG4ud3AtYmxvY2stZmlsZSBhLndwLWJsb2NrLWZpbGVfX2J1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZzogMTBweCAxOXB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMDA4MTkwO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6ICNDQzAwMzMgMnB4IHNvbGlkO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gIC53cC1ibG9jay1maWxlIGEud3AtYmxvY2stZmlsZV9fYnV0dG9uOnZpc2l0ZWQ6bm90KDpob3Zlcikge1xuICAgIGNvbG9yOiAjMDA4MTkwOyB9XG4gIC53cC1ibG9jay1maWxlIGEud3AtYmxvY2stZmlsZV9fYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0MwMDMzO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi8qKlxuICogQGZpbGVcbiAqIFNpdGV3aWRlIHR5cG9ncmFwaHlcbiAqL1xuaDEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtZmFtaWx5OiBcIklCTSBQbGV4IFNlcmlmXCIsIHNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjIzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDY5OXB4KSB7XG4gICAgaDEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNWVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDU4cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDYwcHg7IH0gfVxuICBoMTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOUI5QjlCOyB9XG4gIGgxLnBhZ2UtdGl0bGUge1xuICAgIHBhZGRpbmc6IDAgNDBweDsgfVxuXG5oMiB7XG4gIGZvbnQtZmFtaWx5OiBcIklCTSBQbGV4IFNlcmlmXCIsIHNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW46IDEuMmVtIDAgMC44ZW07XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogNDFweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICBoMiB7XG4gICAgICBtYXJnaW46IDEuMmVtIDAgMC43ZW07IH0gfVxuXG5oMyB7XG4gIG1hcmdpbjogMS44ZW0gMCAwLjhlbTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgbWFyZ2luOiAxLjZlbSAwIDAuM2VtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNWVtOyB9IH1cblxuaDQge1xuICBtYXJnaW46IDIuMmVtIDAgMC44ZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBtYXJnaW46IDIuMmVtIDAgMC41ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgaDQge1xuICAgICAgbWFyZ2luLXRvcDogMS45ZW07IH0gfVxuXG5oNSB7XG4gIG1hcmdpbjogMi41ZW0gMCAwLjNlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS45MzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIGg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbjogMi45ZW0gMCAwLjFlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICBoNSB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjRlbTsgfSB9XG5cbmg2IHtcbiAgbWFyZ2luOiAyLjJlbSAwIDAuOGVtO1xuICBjb2xvcjogIzc2NzY3NjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS42NzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICBoNiB7XG4gICAgICBtYXJnaW46IDMuN2VtIDAgMC42ZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICBoNiB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfSB9XG5cbi5sYXN0LXdvcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAubGFzdC13b3JkOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDRweCk7XG4gICAgcmlnaHQ6IC0ycHg7XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI0NDMDAzMztcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNDQzAwMzM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAubGFzdC13b3JkOmFmdGVyIHtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDJweCk7IH0gfVxuICAubGFzdC13b3JkOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICByaWdodDogNHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7IH1cblxuLmVudHJ5LWNvbnRlbnQgaDIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDMuNmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuZW50cnktY29udGVudCBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiA0LjJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAgIC5lbnRyeS1jb250ZW50IGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IDUuMmVtOyB9IH1cbiAgLmVudHJ5LWNvbnRlbnQgaDI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC01ZW07XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxMjIwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaDItbGluZS5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5lbnRyeS1jb250ZW50IGgyOmFmdGVyIHtcbiAgICAgICAgdG9wOiAtNC4yNWVtO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHdpZHRoOiAxNzYzcHg7XG4gICAgICAgIGhlaWdodDogMTUwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5lbnRyeS1jb250ZW50IGgyOmFmdGVyIHtcbiAgICAgICAgdG9wOiAtNC43ZW07XG4gICAgICAgIGhlaWdodDogMTU1cHg7XG4gICAgICAgIHdpZHRoOiAxODc2cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxOTAwcHgpIHtcbiAgICAgIC5lbnRyeS1jb250ZW50IGgyOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDE5MDBweDsgfSB9XG5cbi5lbnRyeS1jb250ZW50IC53cC1ibG9jay1jb3ZlciArIGgyLFxuLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUgKyBoMixcbi5lbnRyeS1jb250ZW50IGgyLm5vLWNoZXZyb24ge1xuICBtYXJnaW4tdG9wOiAxLjFlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuZW50cnktY29udGVudCAud3AtYmxvY2stY292ZXIgKyBoMixcbiAgICAuZW50cnktY29udGVudCAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZSArIGgyLFxuICAgIC5lbnRyeS1jb250ZW50IGgyLm5vLWNoZXZyb24ge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIC5lbnRyeS1jb250ZW50IC53cC1ibG9jay1jb3ZlciArIGgyOmFmdGVyLFxuICAuZW50cnktY29udGVudCAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZSArIGgyOmFmdGVyLFxuICAuZW50cnktY29udGVudCBoMi5uby1jaGV2cm9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lOyB9XG5cbnAge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjc5O1xuICBtYXJnaW46IDAgMCAxZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICBwOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbmEge1xuICBjb2xvcjogIzAwODE5MDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7IH1cbiAgYTpob3ZlciB7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLndwLWJsb2NrLXF1b3RlIHAge1xuICBmb250LXNpemU6IDE4cHg7IH1cblxuZmlnY2FwdGlvbiB7XG4gIGNvbG9yOiAjOUI5QjlCOyB9XG5cbnNwYW4uYmx1ZSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmVudHJ5LWNvbnRlbnQgb2wsXG4uZW50cnktY29udGVudCB1bCB7XG4gIG1hcmdpbjogMWVtIDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgLmVudHJ5LWNvbnRlbnQgb2wsXG4gICAgLmVudHJ5LWNvbnRlbnQgdWwge1xuICAgICAgbWFyZ2luOiAxZW0gMDsgfSB9XG4gIC5lbnRyeS1jb250ZW50IG9sIGxpLFxuICAuZW50cnktY29udGVudCB1bCBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5lbnRyeS1jb250ZW50IG9sIGxpLFxuICAgICAgLmVudHJ5LWNvbnRlbnQgdWwgbGkge1xuICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbi5lbnRyeS1jb250ZW50IG9sIHtcbiAgcGFkZGluZy1sZWZ0OiAxMXB4O1xuICBjb3VudGVyLXJlc2V0OiBvcmRlcmVkLWxpc3Q7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgLmVudHJ5LWNvbnRlbnQgb2wge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0NHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5lbnRyeS1jb250ZW50IG9sIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNTVweDsgfSB9XG4gIC5lbnRyeS1jb250ZW50IG9sID4gbGk6YmVmb3JlIHtcbiAgICBjb3VudGVyLWluY3JlbWVudDogb3JkZXJlZC1saXN0O1xuICAgIGNvbnRlbnQ6IGNvdW50ZXIob3JkZXJlZC1saXN0KTtcbiAgICB3aWR0aDogNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG4gICAgY29sb3I6ICMwMDYyNkQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5lbnRyeS1jb250ZW50IG9sID4gbGk6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMXB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAuZW50cnktY29udGVudCBvbCA+IGxpOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjdweDsgfSB9XG5cbi5lbnRyeS1jb250ZW50IHVsOm5vdChbY2xhc3NdKSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogOHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC5lbnRyeS1jb250ZW50IHVsOm5vdChbY2xhc3NdKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDUycHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmVudHJ5LWNvbnRlbnQgdWw6bm90KFtjbGFzc10pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNTZweDsgfSB9XG4gIC5lbnRyeS1jb250ZW50IHVsOm5vdChbY2xhc3NdKSA+IGxpOm5vdCgucG9zdHMpOm5vdCguZXZlbnQpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLmVudHJ5LWNvbnRlbnQgdWw6bm90KFtjbGFzc10pID4gbGk6bm90KC5wb3N0cyk6bm90KC5ldmVudCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbTsgfSB9XG4gICAgLmVudHJ5LWNvbnRlbnQgdWw6bm90KFtjbGFzc10pID4gbGk6bm90KC5wb3N0cyk6bm90KC5ldmVudCk6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDVweDtcbiAgICAgIHRvcDogMTFweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjI2RDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIC5lbnRyeS1jb250ZW50IHVsOm5vdChbY2xhc3NdKSA+IGxpOm5vdCgucG9zdHMpOm5vdCguZXZlbnQpOmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogLTdweDtcbiAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICB3aWR0aDogNnB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLmVudHJ5LWNvbnRlbnQgdWw6bm90KFtjbGFzc10pID4gbGk6bm90KC5wb3N0cyk6bm90KC5ldmVudCk6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgICAgbGVmdDogMDsgfSB9XG4gICAgLmVudHJ5LWNvbnRlbnQgdWw6bm90KFtjbGFzc10pID4gbGk6bm90KC5wb3N0cyk6bm90KC5ldmVudCkgPiB1bCB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAuZW50cnktY29udGVudCB1bDpub3QoW2NsYXNzXSkgPiBsaTpub3QoLnBvc3RzKTpub3QoLmV2ZW50KSA+IG9sIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5lbnRyeS1jb250ZW50IHVsOm5vdChbY2xhc3NdKSA+IGxpOm5vdCgucG9zdHMpOm5vdCguZXZlbnQpID4gb2wge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIC5lbnRyeS1jb250ZW50IHVsOm5vdChbY2xhc3NdKSB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLmVudHJ5LWNvbnRlbnQgdWw6bm90KFtjbGFzc10pIHVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgLmVudHJ5LWNvbnRlbnQgb2w6bm90KFtjbGFzc10pID4gbGkgPiBvbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuZW50cnktY29udGVudCBvbDpub3QoW2NsYXNzXSkgPiBsaSA+IG9sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH0gfVxuXG4uZW50cnktY29udGVudCBvbDpub3QoW2NsYXNzXSkgPiBsaSA+IHVsIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC5lbnRyeS1jb250ZW50IG9sOm5vdChbY2xhc3NdKSA+IGxpID4gdWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyOHB4OyB9IH1cblxuLmVudHJ5LWNvbnRlbnQgLmludHJvIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS43MztcbiAgbWFyZ2luOiAwIDAgMmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC5lbnRyeS1jb250ZW50IC5pbnRybyB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICAgIG1hcmdpbjogMCAwIDEuOWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5lbnRyeS1jb250ZW50IC5pbnRybyB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICAgIG1hcmdpbjogMCAwIDIuM2VtOyB9IH1cblxuLndwLWJsb2NrLWltYWdlLmZlYXR1cmUgKyBoMixcbi53cC1ibG9jay1tZWRpYS10ZXh0ICsgaDIge1xuICBtYXJnaW46IDEuMmVtIDAgMC43ZW07IH1cbiAgLndwLWJsb2NrLWltYWdlLmZlYXR1cmUgKyBoMjphZnRlcixcbiAgLndwLWJsb2NrLW1lZGlhLXRleHQgKyBoMjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTsgfVxuXG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbmJvZHkuYWRtaW4tYmFyLmYtdG9wYmFyLWZpeGVkIC5zdGlja3kuZml4ZWQge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbmJvZHkuYWRtaW4tYmFyLm9mZmNhbnZhcyAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgdG9wOiAyLjg3NXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICBib2R5LmFkbWluLWJhci5vZmZjYW52YXMgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgICB0b3A6IDJyZW07IH0gfVxuXG4ud3AtY2FwdGlvbiA+IGZpZ2NhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogIzk5OTtcbiAgcGFkZGluZzogMC4yNXJlbSAwOyB9XG5cbnAud3AtY2FwdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwOyB9XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uZ2FsbGVyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTEgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTEgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTIgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTIgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0zID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMyA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMyA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTQgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy00ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy00ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTUgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTUgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy02ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTcgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy03ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy03ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtOCA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTggPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTggPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTkgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy05ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy05ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygxMS4xMTExMSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeSAuZ2FsbGVyeS1pY29uID4gYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICNmZWZlZmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgICAuZ2FsbGVyeSAuZ2FsbGVyeS1pY29uID4gYTpob3ZlciwgLmdhbGxlcnkgLmdhbGxlcnktaWNvbiA+IGE6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgyMywgMTIxLCAxODYsIDAuNSk7IH1cbiAgICAuZ2FsbGVyeSAuZ2FsbGVyeS1pY29uID4gYSBpbWFnZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5nYWxsZXJ5IC5nYWxsZXJ5LWljb24gPiBpbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjZmVmZWZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yKTtcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuXG4uaG9tZSBoMSB7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7IH1cblxuLmhvbWUgLmJyZWFkY3J1bWJzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaG9tZSAuZW50cnktY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmRldGFpbCB7XG4gIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gIC5kZXRhaWxfX3RvcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2OTlweCkge1xuICAgICAgLmRldGFpbF9fdG9wIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgLmRldGFpbF9faGVhZGVyIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAuZGV0YWlsX19oZWFkZXIge1xuICAgICAgICBmb250LXNpemU6IDQxcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICAgIC5kZXRhaWxfX2hlYWRlcjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gIC5kZXRhaWxfX2RhdGUge1xuICAgIGNvbG9yOiAjNzY3Njc2O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5kZXRhaWxfX2ltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi5wb3N0cy1saXN0LFxuLm5ld3MtbGlzdCB7XG4gIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDhweCAwIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC5wb3N0cy1saXN0LFxuICAgIC5uZXdzLWxpc3Qge1xuICAgICAgcGFkZGluZy10b3A6IDVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAucG9zdHMtbGlzdCxcbiAgICAubmV3cy1saXN0IHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4OyB9IH1cbiAgLnBvc3RzLWxpc3RfX2l0ZW0sXG4gIC5uZXdzLWxpc3RfX2l0ZW0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAucG9zdHMtbGlzdF9faXRlbTphZnRlcixcbiAgICAgIC5uZXdzLWxpc3RfX2l0ZW06YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9IH1cbiAgICAucG9zdHMtbGlzdF9faXRlbSAucG9zdHNfX21lZGlhLFxuICAgIC5wb3N0cy1saXN0X19pdGVtIC5uZXdzX19tZWRpYSxcbiAgICAubmV3cy1saXN0X19pdGVtIC5wb3N0c19fbWVkaWEsXG4gICAgLm5ld3MtbGlzdF9faXRlbSAubmV3c19fbWVkaWEge1xuICAgICAgbWFyZ2luOiAwIDE3cHggMjFweCAyMHB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLnBvc3RzLWxpc3RfX2l0ZW0gLnBvc3RzX19tZWRpYSxcbiAgICAgICAgLnBvc3RzLWxpc3RfX2l0ZW0gLm5ld3NfX21lZGlhLFxuICAgICAgICAubmV3cy1saXN0X19pdGVtIC5wb3N0c19fbWVkaWEsXG4gICAgICAgIC5uZXdzLWxpc3RfX2l0ZW0gLm5ld3NfX21lZGlhIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlLzIgLSA4NnB4KTtcbiAgICAgICAgICBtYXJnaW46IDE0cHggMjVweCA3cHggMDtcbiAgICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgIC5wb3N0cy1saXN0X19pdGVtIC5wb3N0c19fbWVkaWEsXG4gICAgICAgIC5wb3N0cy1saXN0X19pdGVtIC5uZXdzX19tZWRpYSxcbiAgICAgICAgLm5ld3MtbGlzdF9faXRlbSAucG9zdHNfX21lZGlhLFxuICAgICAgICAubmV3cy1saXN0X19pdGVtIC5uZXdzX19tZWRpYSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJS8yIC0gMjJweCk7XG4gICAgICAgICAgbWFyZ2luOiAxMnB4IDI1cHggNnB4IDA7IH0gfVxuICAgIC5wb3N0cy1saXN0X19pdGVtIC5wb3N0c19fdGl0bGUsXG4gICAgLnBvc3RzLWxpc3RfX2l0ZW0gLm5ld3NfX3RpdGxlLFxuICAgIC5uZXdzLWxpc3RfX2l0ZW0gLnBvc3RzX190aXRsZSxcbiAgICAubmV3cy1saXN0X19pdGVtIC5uZXdzX190aXRsZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAucG9zdHMtbGlzdF9faXRlbSAucG9zdHNfX3RpdGxlLFxuICAgICAgICAucG9zdHMtbGlzdF9faXRlbSAubmV3c19fdGl0bGUsXG4gICAgICAgIC5uZXdzLWxpc3RfX2l0ZW0gLnBvc3RzX190aXRsZSxcbiAgICAgICAgLm5ld3MtbGlzdF9faXRlbSAubmV3c19fdGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAyN3B4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAucG9zdHMtbGlzdF9faXRlbSAucG9zdHNfX3RpdGxlLFxuICAgICAgICAucG9zdHMtbGlzdF9faXRlbSAubmV3c19fdGl0bGUsXG4gICAgICAgIC5uZXdzLWxpc3RfX2l0ZW0gLnBvc3RzX190aXRsZSxcbiAgICAgICAgLm5ld3MtbGlzdF9faXRlbSAubmV3c19fdGl0bGUge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAyNXB4OyB9IH1cbiAgICAgIC5wb3N0cy1saXN0X19pdGVtIC5wb3N0c19fdGl0bGU6YWZ0ZXIsXG4gICAgICAucG9zdHMtbGlzdF9faXRlbSAubmV3c19fdGl0bGU6YWZ0ZXIsXG4gICAgICAubmV3cy1saXN0X19pdGVtIC5wb3N0c19fdGl0bGU6YWZ0ZXIsXG4gICAgICAubmV3cy1saXN0X19pdGVtIC5uZXdzX190aXRsZTphZnRlciB7XG4gICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgICAgcmlnaHQ6IC0yMnB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDEzNWRlZyk7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgICAgLnBvc3RzLWxpc3RfX2l0ZW0gLnBvc3RzX190aXRsZTphZnRlcixcbiAgICAgICAgICAucG9zdHMtbGlzdF9faXRlbSAubmV3c19fdGl0bGU6YWZ0ZXIsXG4gICAgICAgICAgLm5ld3MtbGlzdF9faXRlbSAucG9zdHNfX3RpdGxlOmFmdGVyLFxuICAgICAgICAgIC5uZXdzLWxpc3RfX2l0ZW0gLm5ld3NfX3RpdGxlOmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE0cHg7IH0gfVxuICAgIC5wb3N0cy1saXN0X19pdGVtIC5wb3N0c19fZGF0ZSxcbiAgICAucG9zdHMtbGlzdF9faXRlbSAubmV3c19fZGF0ZSxcbiAgICAubmV3cy1saXN0X19pdGVtIC5wb3N0c19fZGF0ZSxcbiAgICAubmV3cy1saXN0X19pdGVtIC5uZXdzX19kYXRlIHtcbiAgICAgIG1hcmdpbjogMC42ZW0gMCAyZW07XG4gICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgICAgLnBvc3RzLWxpc3RfX2l0ZW0gLnBvc3RzX19kYXRlIHNwYW46bnRoLW9mLXR5cGUoMyk6bm90KDplbXB0eSk6YmVmb3JlLFxuICAgICAgLnBvc3RzLWxpc3RfX2l0ZW0gLm5ld3NfX2RhdGUgc3BhbjpudGgtb2YtdHlwZSgzKTpub3QoOmVtcHR5KTpiZWZvcmUsXG4gICAgICAubmV3cy1saXN0X19pdGVtIC5wb3N0c19fZGF0ZSBzcGFuOm50aC1vZi10eXBlKDMpOm5vdCg6ZW1wdHkpOmJlZm9yZSxcbiAgICAgIC5uZXdzLWxpc3RfX2l0ZW0gLm5ld3NfX2RhdGUgc3BhbjpudGgtb2YtdHlwZSgzKTpub3QoOmVtcHR5KTpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTNweDtcbiAgICAgICAgY29udGVudDogJywgJzsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIC5wb3N0cy1saXN0X19pdGVtIC5wb3N0c19fZGF0ZSxcbiAgICAgICAgLnBvc3RzLWxpc3RfX2l0ZW0gLm5ld3NfX2RhdGUsXG4gICAgICAgIC5uZXdzLWxpc3RfX2l0ZW0gLnBvc3RzX19kYXRlLFxuICAgICAgICAubmV3cy1saXN0X19pdGVtIC5uZXdzX19kYXRlIHtcbiAgICAgICAgICBtYXJnaW46IDAuN2VtIDAgMmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLnBvc3RzLWxpc3RfX2l0ZW0gLnBvc3RzX19kYXRlLFxuICAgICAgICAucG9zdHMtbGlzdF9faXRlbSAubmV3c19fZGF0ZSxcbiAgICAgICAgLm5ld3MtbGlzdF9faXRlbSAucG9zdHNfX2RhdGUsXG4gICAgICAgIC5uZXdzLWxpc3RfX2l0ZW0gLm5ld3NfX2RhdGUge1xuICAgICAgICAgIG1hcmdpbjogMS4xZW0gMCAyZW07IH0gfVxuICAucG9zdHMtbGlzdC5qcy1zb3J0ZWQsXG4gIC5uZXdzLWxpc3QuanMtc29ydGVkIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5wb3N0cy1ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAxLjhlbSAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC5wb3N0cy1ncmlkIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLnBvc3RzLWdyaWQge1xuICAgICAgbWFyZ2luOiAyZW0gLTQwcHggIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgLnBvc3RzLWdyaWQgLnBvc3RzLWdyaWRfX2l0ZW0ge1xuICAgIG1hcmdpbjogMCAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAucG9zdHMtZ3JpZCAucG9zdHMtZ3JpZF9faXRlbSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuNjY3ZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5wb3N0cy1ncmlkIC5wb3N0cy1ncmlkX19pdGVtIHtcbiAgICAgICAgZmxleDogMTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLnBvc3RzLWdyaWQgLnBvc3RzLWdyaWRfX2l0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgbWFyZ2luOiAwIDI2cHg7IH0gfVxuICAucG9zdHMtZ3JpZCAucG9zdHNfX21lZGlhIHtcbiAgICBtYXJnaW46IDAgMTdweCAyMXB4IDIwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5wb3N0cy1ncmlkIC5wb3N0c19fbWVkaWEge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlLzIgLSA4NnB4KTtcbiAgICAgICAgbWFyZ2luOiAxOHB4IDI1cHggN3B4IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAucG9zdHMtZ3JpZCAucG9zdHNfX21lZGlhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0OiBub25lOyB9IH1cbiAgLnBvc3RzLWdyaWQgLnBvc3RzX190aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5wb3N0cy1ncmlkIC5wb3N0c19fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy10b3A6IDMycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5wb3N0cy1ncmlkIC5wb3N0c19fdGl0bGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjVweDsgfSB9XG4gICAgLnBvc3RzLWdyaWQgLnBvc3RzX190aXRsZTphZnRlciB7XG4gICAgICB0b3A6IGluaXRpYWw7XG4gICAgICByaWdodDogLTIycHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDEzNWRlZyk7XG4gICAgICBtYXJnaW4tdG9wOiAxMnB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLnBvc3RzLWdyaWQgLnBvc3RzX190aXRsZTphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDE0cHg7IH0gfVxuICAucG9zdHMtZ3JpZCAucG9zdHNfX2RhdGUge1xuICAgIG1hcmdpbjogMC42ZW0gMCAyZW07XG4gICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5wb3N0cy1ncmlkIC5wb3N0c19fZGF0ZSB7XG4gICAgICAgIG1hcmdpbjogMC44ZW0gMCAyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5ldmVudHMtZ3JpZCwgLmV2ZW50cy1saXN0IHtcbiAgbWFyZ2luOiAtMTBweCAwIDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAuZXZlbnRzLWdyaWQsIC5ldmVudHMtbGlzdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5ldmVudHMtZ3JpZCwgLmV2ZW50cy1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfSB9XG4gIC5ldmVudHMtZ3JpZCBsaSwgLmV2ZW50cy1saXN0IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDIuNGVtICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5ldmVudHMtZ3JpZCBsaSwgLmV2ZW50cy1saXN0IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC42NjdlbSAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5ldmVudHMtZ3JpZCBsaTphZnRlciwgLmV2ZW50cy1saXN0IGxpOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBjbGVhcjogYm90aDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLmV2ZW50cy1ncmlkIGxpLCAuZXZlbnRzLWxpc3QgbGkge1xuICAgICAgICBtYXJnaW46IDAgMCAxLjllbSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgLmV2ZW50cy1ncmlkIC5ldmVudF9fZGF0ZS1maWVsZCwgLmV2ZW50cy1saXN0IC5ldmVudF9fZGF0ZS1maWVsZCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMjBweCAzOHB4IDAgMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuZXZlbnRzLWdyaWQgLmV2ZW50X19kYXRlLWZpZWxkLCAuZXZlbnRzLWxpc3QgLmV2ZW50X19kYXRlLWZpZWxkIHtcbiAgICAgIG1hcmdpbjogMCA0MHB4IDAgMDsgfSB9XG4gIC5ldmVudHMtZ3JpZC5qcy1zb3J0ZWQsIC5ldmVudHMtbGlzdC5qcy1zb3J0ZWQge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmV2ZW50c19fdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMS40NTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAuZXZlbnRzX190aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctdG9wOiA0NHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmV2ZW50c19fdGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4zOyB9IH1cbiAgLmV2ZW50c19fdGl0bGU6YWZ0ZXIge1xuICAgIHRvcDogaW5pdGlhbDtcbiAgICByaWdodDogLTIycHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgxMzVkZWcpO1xuICAgIG1hcmdpbi10b3A6IDEycHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5ldmVudHNfX3RpdGxlOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNHB4OyB9IH1cblxuLmV2ZW50c19fc3VidGl0bGUge1xuICBtYXJnaW46IDAuNmVtIDAgMmVtO1xuICBjb2xvcjogIzc2NzY3NjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAuZXZlbnRzX19zdWJ0aXRsZSB7XG4gICAgICBtYXJnaW46IDAuOGVtIDAgMmVtO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuZXZlbnRzX19zdWJ0aXRsZSB7XG4gICAgICBtYXJnaW46IDAuN2VtIDAgMmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuZXZlbnRzLWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwIC00MHB4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmV2ZW50cy1ncmlkX19pdGVtIHtcbiAgICBmbGV4OiAxOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuZXZlbnRzLWdyaWRfX2l0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICBtYXJnaW46IDAgMjZweCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuZXZlbnRzLWdyaWQgLmV2ZW50c19fdGl0bGUsIC5ldmVudHMtZ3JpZCAuZXZlbnRzX19zdWJ0aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuZXZlbnRzLWdyaWQgLmV2ZW50c19fdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIG1hcmdpbjogLTNweCAwIDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5ldmVudHMtZ3JpZCAuZXZlbnRzX19zdWJ0aXRsZSB7XG4gICAgbWFyZ2luOiAwLjdlbSAwIDJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmV2ZW50cy1ncmlkIC5ldmVudF9fZGF0ZS1maWVsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luOiA1OHB4IGF1dG8gMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAud3AtYmxvY2stY29sdW1uIGgyIHtcbiAgICBsaW5lLWhlaWdodDogMS4zMTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLndwLWJsb2NrLWNvbHVtbiBoMiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjE7IH0gfVxuXG4ud3AtYmxvY2stY29sdW1uIC5ldmVudHMtbGlzdCB7XG4gIG1hcmdpbjogMS43ZW0gMCAwICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC53cC1ibG9jay1jb2x1bW4gLmV2ZW50cy1saXN0IHtcbiAgICAgIG1hcmdpbjogLTE0cHggMCAwICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLndwLWJsb2NrLWNvbHVtbiAuZXZlbnRzLWxpc3Qge1xuICAgICAgbWFyZ2luOiA0M3B4IDAgMCAhaW1wb3J0YW50OyB9IH1cbiAgLndwLWJsb2NrLWNvbHVtbiAuZXZlbnRzLWxpc3RfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDIuOGVtICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC53cC1ibG9jay1jb2x1bW4gLmV2ZW50cy1saXN0X19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweCAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAud3AtYmxvY2stY29sdW1uIC5ldmVudHMtbGlzdF9faXRlbSB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgLndwLWJsb2NrLWNvbHVtbiAuZXZlbnRzLWxpc3QgLmV2ZW50c19fdGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAud3AtYmxvY2stY29sdW1uIC5ldmVudHMtbGlzdCAuZXZlbnRzX190aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLndwLWJsb2NrLWNvbHVtbiAuZXZlbnRzLWxpc3QgLmV2ZW50c19fc3VidGl0bGUge1xuICAgIG1hcmdpbjogMC44ZW0gMCAyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC53cC1ibG9jay1jb2x1bW4gLmV2ZW50cy1saXN0IC5ldmVudHNfX3N1YnRpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAud3AtYmxvY2stY29sdW1uIC5ldmVudHMtbGlzdCAuZXZlbnRzX19zdWJ0aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAud3AtYmxvY2stY29sdW1uIC5ldmVudHMtbGlzdCAuZXZlbnRfX2RhdGUtZmllbGQge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAud3AtYmxvY2stY29sdW1uIC5ldmVudHMtbGlzdCAuZXZlbnRfX2RhdGUtZmllbGQge1xuICAgICAgbWFyZ2luOiAwIDM2cHggMCAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC53cC1ibG9jay1jb2x1bW4gLmV2ZW50cy1saXN0IC5ldmVudF9fY29udGVudCB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWFyZ2luLXRvcDogMzVweDsgfSB9XG4gIC53cC1ibG9jay1jb2x1bW4gLmV2ZW50cy1saXN0LmpzLXNvcnRlZCB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgLndwLWJsb2NrLWNvbHVtbiAubmV3cy1saXN0IHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLndwLWJsb2NrLWNvbHVtbiAubmV3cy1saXN0IHtcbiAgICBwYWRkaW5nLXRvcDogMjJweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLndwLWJsb2NrLWNvbHVtbiAubmV3cy1saXN0X19pdGVtIHtcbiAgICBtYXJnaW46IDAgMCAyOHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9IH1cblxuLndwLWJsb2NrLWNvbHVtbiAubmV3cy1saXN0IC5uZXdzX19tZWRpYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzM3B4KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogNzAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDAgYXV0byAyMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC53cC1ibG9jay1jb2x1bW4gLm5ld3MtbGlzdCAubmV3c19fbWVkaWEge1xuICAgICAgcGFkZGluZy1ib3R0b206IDYwJTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLndwLWJsb2NrLWNvbHVtbiAubmV3cy1saXN0IC5uZXdzX19tZWRpYSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlLzIgLSAyMnB4KTtcbiAgICAgIG1hcmdpbjogMCAyNXB4IDAgMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzOC4zJTsgfSB9XG4gIC53cC1ibG9jay1jb2x1bW4gLm5ld3MtbGlzdCAubmV3c19fbWVkaWEgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC53cC1ibG9jay1jb2x1bW4gLm5ld3MtbGlzdCAubmV3c19fY29udGVudCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJS8yKTtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gIC53cC1ibG9jay1jb2x1bW4gLm5ld3MtbGlzdCAubmV3c19fdGl0bGUsIC53cC1ibG9jay1jb2x1bW4gLm5ld3MtbGlzdCAubmV3c19fZGF0ZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAud3AtYmxvY2stY29sdW1uIC5uZXdzLWxpc3QgLm5ld3NfX3RpdGxlLCAud3AtYmxvY2stY29sdW1uIC5uZXdzLWxpc3QgLm5ld3NfX2RhdGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgLndwLWJsb2NrLWNvbHVtbiAubmV3cy1saXN0IC5uZXdzX190aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IDIzcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC53cC1ibG9jay1jb2x1bW4gLm5ld3MtbGlzdCAubmV3c19fdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC53cC1ibG9jay1jb2x1bW4gLm5ld3MtbGlzdCAubmV3c19fZGF0ZSB7XG4gICAgbWFyZ2luOiAwOyB9IH1cblxuLml0ZW1fX3NvcnQtZGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI3NlYXJjaC1yZXN1bHRzIC5lbnRyeS10aXRsZSB7XG4gIG1hcmdpbjogMCAwIDAuN2VtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAjc2VhcmNoLXJlc3VsdHMgLmVudHJ5LXRpdGxlIGEge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cblxuI3NlYXJjaC1yZXN1bHRzIC5yZXN1bHQge1xuICBtYXJnaW4tYm90dG9tOiAxLjdlbTsgfVxuXG4ubWFpbi1jb250ZW50LFxuLmVudHJ5LWNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIG1heC13aWR0aDogNzIwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgLm1haW4tY29udGVudCxcbiAgICAuZW50cnktY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5tYWluLWNvbnRlbnQsXG4gICAgLmVudHJ5LWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5tYWluLWNvbnRlbnQtLWRpcixcbiAgLmVudHJ5LWNvbnRlbnQtLWRpciB7XG4gICAgbWF4LXdpZHRoOiA5NjJweDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLm1haW4tY29udGVudC0tZGlyIC5tYWluLWNvbnRhaW5lcltyb2xlPSdtYWluJ10sXG4gICAgLmVudHJ5LWNvbnRlbnQtLWRpciAubWFpbi1jb250YWluZXJbcm9sZT0nbWFpbiddIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cblxuLmVudHJ5LWNvbnRlbnQsXG4jc2VhcmNoLXJlc3VsdHMge1xuICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5lbnRyeS1jb250ZW50LFxuICAgICNzZWFyY2gtcmVzdWx0cyB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjNlbTsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtLWRpcmVjdG9yeSAubWFpbi1jb250ZW50LFxuLnBhZ2UtdGVtcGxhdGUtcGFnZS0tZGlyZWN0b3J5IC5lbnRyeS1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiA5NjJweDsgfVxuXG4uY2FsbG91dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDQzAwMzM7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAuY2FsbG91dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfSB9XG4gIC5jYWxsb3V0X19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgMjBweCAxMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLmNhbGxvdXRfX2lubmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE4cHg7IH0gfVxuICAuY2FsbG91dF9faWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMCAwIDUxcHg7XG4gICAgd2lkdGg6IDUxcHg7XG4gICAgaGVpZ2h0OiA1MXB4O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL3NyYy9hc3NldHMvaW1hZ2VzL2FsZXJ0LnN2Z1wiKSB0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5jYWxsb3V0X19pY29uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzOHB4OyB9IH1cbiAgLmNhbGxvdXQgcCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5jYWxsb3V0IHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuXG4uYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0MwMDMzO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgcGFkZGluZzogMTdweCAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgLmFsZXJ0IHtcbiAgICAgIHBhZGRpbmc6IDM4cHggMzRweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuYWxlcnQge1xuICAgICAgcGFkZGluZzogMzhweCA1MHB4OyB9IH1cbiAgLmFsZXJ0IGEge1xuICAgIGNvbG9yOiAjRUJFM0QxOyB9XG4gICAgLmFsZXJ0IGE6Zm9jdXMsIC5hbGVydCBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi53cC1ibG9jay1jb3ZlciB7XG4gIHdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG1pbi1oZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjk5cHgpIHtcbiAgICAud3AtYmxvY2stY292ZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAud3AtYmxvY2stY292ZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgd2lkdGg6IDExMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctbWFzay5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cbiAgLndwLWJsb2NrLWNvdmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY5OXB4KSB7XG4gICAgICAud3AtYmxvY2stY292ZXI6YWZ0ZXIge1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgICAgICBib3JkZXItbGVmdDogNTB2dyBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiA1MHZ3IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOiA0MHB4IHNvbGlkICNFQ0VDRUM7XG4gICAgICAgIHotaW5kZXg6IC0xOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC53cC1ibG9jay1jb3ZlcjphZnRlciB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjYpLCByZ2JhKDI1NSwgMCwgMCwgMCkpO1xuICAgICAgICB6LWluZGV4OiAxOyB9IH1cbiAgLndwLWJsb2NrLWNvdmVyLmpzLXZpZGVvYWN0aXZlOm5vdCguanMtbG9hZGVkKTphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjV2dztcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG4gICAgYW5pbWF0aW9uOiBzcGluIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzcGluIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC53cC1ibG9jay1jb3Zlci5qcy12aWRlb2FjdGl2ZTpub3QoLmpzLWxvYWRlZCk6YWZ0ZXIge1xuICAgICAgICB0b3A6IDUwJTsgfSB9XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMzYwZGVnKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC53cC1ibG9jay1jb3ZlciB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtaW4taGVpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDB2dyAqIC41NjI1KTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAud3AtYmxvY2stY292ZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoKDYwdncgLyAxNikgKiA5KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTkwMHB4KSB7XG4gICAgLndwLWJsb2NrLWNvdmVyIHtcbiAgICAgIGxlZnQ6IGNhbGMoKDcyMHB4IC0gMTkwMHB4KSAvIDIpO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxOTAwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjQxcHg7IH0gfVxuICAud3AtYmxvY2stY292ZXJfX3ZpZGVvLWJhY2tncm91bmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvdmVyOyBvYmplY3QtcG9zaXRpb246IGxlZnQgdG9wOyc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICBvdXRsaW5lLW9mZnNldDogLTZweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2OTlweCkge1xuICAgICAgLndwLWJsb2NrLWNvdmVyX192aWRlby1iYWNrZ3JvdW5kIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH0gfVxuICAud3AtYmxvY2stY292ZXIgb2JqZWN0LWZpdCB7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIC53cC1ibG9jay1jb3ZlciAuZm9jdXMtaW5kaWNhdG9yIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEwcHgpO1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggNnB4IDVweCByZ2JhKDAsIDEzNiwgMjU1LCAwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC53cC1ibG9jay1jb3ZlciAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VDRUNFQztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMnB4IDQwcHg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC53cC1ibG9jay1jb3ZlciAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3R0b206IDEwJTtcbiAgICAgICAgd2lkdGg6IDkzJTtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAud3AtYmxvY2stY292ZXIgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogODAlOyB9IH1cbiAgLndwLWJsb2NrLWNvdmVyIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIklCTSBQbGV4IFNlcmlmXCIsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC53cC1ibG9jay1jb3ZlciBwIHtcbiAgICAgICAgZm9udC1zaXplOiA1OHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTI1cHgpIHtcbiAgICAgIC53cC1ibG9jay1jb3ZlciBwIHtcbiAgICAgICAgZm9udC1zaXplOiA4MnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMC45OyB9IH1cbiAgLndwLWJsb2NrLWNvdmVyIGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMjRweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE5cHg7XG4gICAgbWFyZ2luOiAxNXB4IGF1dG8gMDtcbiAgICBiYWNrZ3JvdW5kOiAjQ0MwMDMzO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC53cC1ibG9jay1jb3ZlciBhIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMDtcbiAgICAgICAgcGFkZGluZzogMTRweCAxOXB4OyB9IH1cbiAgICAud3AtYmxvY2stY292ZXIgYTpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiA5O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgLndwLWJsb2NrLWNvdmVyIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk4MDUyOTsgfVxuICAgICAgLndwLWJsb2NrLWNvdmVyIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiA3cHg7IH1cbiAgICAud3AtYmxvY2stY292ZXIgYTpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC53cC1ibG9jay1jb3Zlci5oYXMtYmFja2dyb3VuZC1kaW0ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IDgyLjI1JTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2OTlweCkge1xuICAgICAgLndwLWJsb2NrLWNvdmVyLmhhcy1iYWNrZ3JvdW5kLWRpbSB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDEuNWVtICsgNDBweCk7IH0gfVxuICAgIC53cC1ibG9jay1jb3Zlci5oYXMtYmFja2dyb3VuZC1kaW06YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZTsgfVxuICAgIC53cC1ibG9jay1jb3Zlci5oYXMtYmFja2dyb3VuZC1kaW06YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAud3AtYmxvY2stY292ZXIuaGFzLWJhY2tncm91bmQtZGltIC53cC1ibG9jay1jb3Zlci10ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIC53cC1ibG9jay1jb3Zlci5oYXMtYmFja2dyb3VuZC1kaW0gLndwLWJsb2NrLWNvdmVyLXRleHQge1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBib3R0b206IDUwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSg1MCUpOyB9IH1cbiAgICAgIC53cC1ibG9jay1jb3Zlci5oYXMtYmFja2dyb3VuZC1kaW0gLndwLWJsb2NrLWNvdmVyLXRleHQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2OTlweCkge1xuICAgICAgICAgIC53cC1ibG9jay1jb3Zlci5oYXMtYmFja2dyb3VuZC1kaW0gLndwLWJsb2NrLWNvdmVyLXRleHQ6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogNTB2dyBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogNTB2dyBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDQwcHggc29saWQgI0VDRUNFQztcbiAgICAgICAgICAgIHotaW5kZXg6IC0xOyB9IH1cbiAgICAud3AtYmxvY2stY292ZXIuaGFzLWJhY2tncm91bmQtZGltIC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyIHtcbiAgICAgIGJvdHRvbTogMjAlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2OTlweCkge1xuICAgIC53cC1ibG9jay1jb3ZlcltzdHlsZV06bm90KC5oYXMtYmFja2dyb3VuZC1kaW0pIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYygxLjVlbSArIDQwcHgpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDgyLjI1JTsgfVxuICAgICAgLndwLWJsb2NrLWNvdmVyW3N0eWxlXTpub3QoLmhhcy1iYWNrZ3JvdW5kLWRpbSkgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY5OXB4KSBhbmQgKG1heC13aWR0aDogNjk5cHgpIHtcbiAgICAgIC53cC1ibG9jay1jb3ZlcltzdHlsZV06bm90KC5oYXMtYmFja2dyb3VuZC1kaW0pIC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2OTlweCkgYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAud3AtYmxvY2stY292ZXJbc3R5bGVdOm5vdCguaGFzLWJhY2tncm91bmQtZGltKSAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDExMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LW1hc2suc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2OTlweCkge1xuICAgICAgICAud3AtYmxvY2stY292ZXJbc3R5bGVdOm5vdCguaGFzLWJhY2tncm91bmQtZGltKSAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjk5cHgpIGFuZCAobWF4LXdpZHRoOiA2OTlweCkge1xuICAgICAgICAud3AtYmxvY2stY292ZXJbc3R5bGVdOm5vdCguaGFzLWJhY2tncm91bmQtZGltKSAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDUwdncgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiA1MHZ3IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci10b3A6IDQwcHggc29saWQgI0VDRUNFQztcbiAgICAgICAgICB6LWluZGV4OiAtMTsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjk5cHgpIGFuZCAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAud3AtYmxvY2stY292ZXJbc3R5bGVdOm5vdCguaGFzLWJhY2tncm91bmQtZGltKSAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC42KSwgcmdiYSgyNTUsIDAsIDAsIDApKTtcbiAgICAgICAgICB6LWluZGV4OiAxOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDY5OXB4KSB7XG4gICAgICAgIC53cC1ibG9jay1jb3ZlcltzdHlsZV06bm90KC5oYXMtYmFja2dyb3VuZC1kaW0pIC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDEwMCU7IH0gfVxuICAud3AtYmxvY2stY292ZXIuanMtYWN0aXZlIC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbmJvZHk6bm90KC5ob21lKSAud3AtYmxvY2stY292ZXI6bm90KC5oYXMtYmFja2dyb3VuZC1kaW0pIC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyIHtcbiAgYm90dG9tOiAyMCU7IH1cblxuLndwLWJsb2NrLXB1bGxxdW90ZSB7XG4gIHdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODE5MDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDQwcHggNDBweCAzMnB4IDEwMHB4O1xuICBtYXJnaW4tdG9wOiA0LjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogNC41ZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC53cC1ibG9jay1wdWxscXVvdGUge1xuICAgICAgcGFkZGluZzogNDBweCA2MHB4IDQ0cHggMTI2cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLndwLWJsb2NrLXB1bGxxdW90ZSB7XG4gICAgICBwYWRkaW5nOiA1NXB4IGNhbGMoKDEwMHZ3IC0gMTAwMHB4KSAvIDIpIDcwcHggY2FsYygoMTAwdncgLSAxMDAwcHgpIC8gMiArIDE2MHB4KTtcbiAgICAgIG1hcmdpbi10b3A6IDUuNWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNS41ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gICAgLndwLWJsb2NrLXB1bGxxdW90ZSB7XG4gICAgICB3aWR0aDogMTYwMHB4O1xuICAgICAgbGVmdDogY2FsYygoNzIwcHggLSAxNjAwcHgpIC8gMik7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDU1cHggY2FsYygoMTYwMHB4IC0gMTAwMHB4KSAvIDIpIDcwcHggY2FsYygoMTYwMHB4IC0gMTAwMHB4KSAvIDIgKyAxNjBweCk7IH0gfVxuICAud3AtYmxvY2stcHVsbHF1b3RlLmlzLXN0eWxlLXNvbGlkLWNvbG9yIGE6bm90KC53cC1ibG9jay1idXR0b25fX2xpbmspIHtcbiAgICBjb2xvcjogI0RGRDJCMzsgfVxuICAgIC53cC1ibG9jay1wdWxscXVvdGUuaXMtc3R5bGUtc29saWQtY29sb3IgYTpub3QoLndwLWJsb2NrLWJ1dHRvbl9fbGluayk6aG92ZXIge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLndwLWJsb2NrLXB1bGxxdW90ZSBibG9ja3F1b3RlLCAud3AtYmxvY2stcHVsbHF1b3RlLmlzLXN0eWxlLXNvbGlkLWNvbG9yIGJsb2NrcXVvdGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gICAgLndwLWJsb2NrLXB1bGxxdW90ZSBibG9ja3F1b3RlOmJlZm9yZSwgLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvciBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTJweDtcbiAgICAgIGxlZnQ6IC04MXB4O1xuICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcXVvdGUtd2hpdGUuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAud3AtYmxvY2stcHVsbHF1b3RlIGJsb2NrcXVvdGU6YmVmb3JlLCAud3AtYmxvY2stcHVsbHF1b3RlLmlzLXN0eWxlLXNvbGlkLWNvbG9yIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogLTExMHB4O1xuICAgICAgICAgIHdpZHRoOiA5MXB4O1xuICAgICAgICAgIGhlaWdodDogOTFweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgIC53cC1ibG9jay1wdWxscXVvdGUgYmxvY2txdW90ZTpiZWZvcmUsIC53cC1ibG9jay1wdWxscXVvdGUuaXMtc3R5bGUtc29saWQtY29sb3IgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgbGVmdDogLTE2MXB4O1xuICAgICAgICAgIHdpZHRoOiAxMjJweDtcbiAgICAgICAgICBoZWlnaHQ6IDEyMnB4OyB9IH1cbiAgICAud3AtYmxvY2stcHVsbHF1b3RlIGJsb2NrcXVvdGUgcCwgLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvciBibG9ja3F1b3RlIHAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLndwLWJsb2NrLXB1bGxxdW90ZSBibG9ja3F1b3RlIHAsIC53cC1ibG9jay1wdWxscXVvdGUuaXMtc3R5bGUtc29saWQtY29sb3IgYmxvY2txdW90ZSBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgIC53cC1ibG9jay1wdWxscXVvdGUgYmxvY2txdW90ZSBwLCAud3AtYmxvY2stcHVsbHF1b3RlLmlzLXN0eWxlLXNvbGlkLWNvbG9yIGJsb2NrcXVvdGUgcCB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgICAud3AtYmxvY2stcHVsbHF1b3RlIGJsb2NrcXVvdGUgY2l0ZSwgLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvciBibG9ja3F1b3RlIGNpdGUge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICAud3AtYmxvY2stcHVsbHF1b3RlOm5vdCguaXMtc3R5bGUtc29saWQtY29sb3IpIHtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC53cC1ibG9jay1wdWxscXVvdGU6bm90KC5pcy1zdHlsZS1zb2xpZC1jb2xvcikgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3F1b3RlLXJlZC5zdmdcIik7IH1cbiAgLndwLWJsb2NrLXB1bGxxdW90ZSArIC53cC1ibG9jay1wdWxscXVvdGUge1xuICAgIG1hcmdpbi10b3A6IC00LjVlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC53cC1ibG9jay1wdWxscXVvdGUgKyAud3AtYmxvY2stcHVsbHF1b3RlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTUuNWVtOyB9IH1cblxuaDIgKyAud3AtYmxvY2stcHVsbHF1b3RlIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4ud3AtYmxvY2stbWVkaWEtdGV4dCB7XG4gIHdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgbWFyZ2luLXRvcDogMzdweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODE5MDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICBtYXJnaW4tdG9wOiA0ZW07XG4gIG1hcmdpbi1ib3R0b206IDcuNWVtO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAud3AtYmxvY2stbWVkaWEtdGV4dCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDQ1cHggNjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDguN2VtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC53cC1ibG9jay1tZWRpYS10ZXh0IHtcbiAgICAgIHBhZGRpbmc6IDY1cHggMTYwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAyLjdlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE5MDBweCkge1xuICAgIC53cC1ibG9jay1tZWRpYS10ZXh0IHtcbiAgICAgIHdpZHRoOiAxOTAwcHg7XG4gICAgICBsZWZ0OiBjYWxjKCg3MjBweCAtIDE5MDBweCkgLyAyKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7IH0gfVxuICAud3AtYmxvY2stbWVkaWEtdGV4dDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTguNHZ3O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgICBib3JkZXItbGVmdDogNTB2dyBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDUwdncgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogOC41dncgc29saWQgIzAwODE5MDtcbiAgICB6LWluZGV4OiAtMTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxOTAwcHgpIHtcbiAgICAgIC53cC1ibG9jay1tZWRpYS10ZXh0OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAtMTYycHg7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBjYWxjKDE5MDBweCAvIDIpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6IGNhbGMoMTkwMHB4IC8gMikgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IDE2MnB4IHNvbGlkICMwMDgxOTA7IH0gfVxuICAud3AtYmxvY2stbWVkaWEtdGV4dCAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBwYWRkaW5nOiA4cHggMTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjNDI0QjRGO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgLndwLWJsb2NrLW1lZGlhLXRleHQgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiA5O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgLndwLWJsb2NrLW1lZGlhLXRleHQgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLW1lZGlhLXRleHQgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAud3AtYmxvY2stbWVkaWEtdGV4dCAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyOmJlZm9yZSwgLndwLWJsb2NrLW1lZGlhLXRleHQgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1czpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDdweDsgfVxuICAud3AtYmxvY2stbWVkaWEtdGV4dCAud3AtYmxvY2stbWVkaWEtdGV4dF9fbWVkaWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvcmRlcjogMDtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICBtYXJnaW46IC0xNXB4IGF1dG8gN3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAud3AtYmxvY2stbWVkaWEtdGV4dCAud3AtYmxvY2stbWVkaWEtdGV4dF9fbWVkaWEge1xuICAgICAgICBmbGV4OiAwIDAgMjY0cHg7XG4gICAgICAgIGhlaWdodDogMjY0cHg7XG4gICAgICAgIG1hcmdpbjogLTY1cHggNDBweCAtNjVweCAtNDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAud3AtYmxvY2stbWVkaWEtdGV4dCAud3AtYmxvY2stbWVkaWEtdGV4dF9fbWVkaWEge1xuICAgICAgICBmbGV4OiAwIDAgMzE3cHg7XG4gICAgICAgIGhlaWdodDogMzE3cHg7XG4gICAgICAgIG1hcmdpbjogLTk1cHggM3Z3IC05NXB4IDA7IH0gfVxuICAgIC53cC1ibG9jay1tZWRpYS10ZXh0IC53cC1ibG9jay1tZWRpYS10ZXh0X19tZWRpYSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuICAud3AtYmxvY2stbWVkaWEtdGV4dCAud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudCB7XG4gICAgb3JkZXI6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweCA0MHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAud3AtYmxvY2stbWVkaWEtdGV4dCAud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC53cC1ibG9jay1tZWRpYS10ZXh0IC53cC1ibG9jay1tZWRpYS10ZXh0X19jb250ZW50IC5oYXMtbGFyZ2UtZm9udC1zaXplIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAud3AtYmxvY2stbWVkaWEtdGV4dCAud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudCAuaGFzLWxhcmdlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAud3AtYmxvY2stbWVkaWEtdGV4dC5oYXMtbWVkaWEtb24tdGhlLXJpZ2h0IC53cC1ibG9jay1tZWRpYS10ZXh0X19tZWRpYSB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIG1hcmdpbjogLTY1cHggLTQwcHggLTY1cHggNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC53cC1ibG9jay1tZWRpYS10ZXh0Lmhhcy1tZWRpYS1vbi10aGUtcmlnaHQgLndwLWJsb2NrLW1lZGlhLXRleHRfX21lZGlhIHtcbiAgICAgIG1hcmdpbjogLTk1cHggM3Z3IC05NXB4IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLndwLWJsb2NrLW1lZGlhLXRleHQuaGFzLW1lZGlhLW9uLXRoZS1yaWdodCAud3AtYmxvY2stbWVkaWEtdGV4dF9fbWVkaWEge1xuICAgICAgbWFyZ2luOiAtOTVweCAwIC05NXB4IDN2dzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAud3AtYmxvY2stbWVkaWEtdGV4dC5oYXMtbWVkaWEtb24tdGhlLXJpZ2h0IC53cC1ibG9jay1tZWRpYS10ZXh0X19tZWRpYSB7XG4gICAgICBtYXJnaW46IC05NXB4IDAgLTk1cHggNDMuMnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgLndwLWJsb2NrLW1lZGlhLXRleHQuaGFzLW1lZGlhLW9uLXRoZS1yaWdodCAud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudCB7XG4gICAgICBvcmRlcjogMDsgfSB9XG4gIC53cC1ibG9jay1tZWRpYS10ZXh0Om5vdCgucXVvdGUtdGVhbCk6bm90KC5xdW90ZS1ncmV5KSArIC53cC1ibG9jay1tZWRpYS10ZXh0Om5vdCgucXVvdGUtdGVhbCk6bm90KC5xdW90ZS1ncmV5KSxcbiAgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtdGVhbCArIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLXRlYWwsXG4gIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLWdyZXkgKyAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS1ncmV5LFxuICAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS1ncmV5ICsgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtdGVhbCxcbiAgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtdGVhbCArIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLWdyZXkge1xuICAgIG1hcmdpbi10b3A6IC03LjVlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLndwLWJsb2NrLW1lZGlhLXRleHQ6bm90KC5xdW90ZS10ZWFsKTpub3QoLnF1b3RlLWdyZXkpICsgLndwLWJsb2NrLW1lZGlhLXRleHQ6bm90KC5xdW90ZS10ZWFsKTpub3QoLnF1b3RlLWdyZXkpLFxuICAgICAgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtdGVhbCArIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLXRlYWwsXG4gICAgICAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS1ncmV5ICsgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtZ3JleSxcbiAgICAgIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLWdyZXkgKyAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS10ZWFsLFxuICAgICAgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtdGVhbCArIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLWdyZXkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtOC43ZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC53cC1ibG9jay1tZWRpYS10ZXh0Om5vdCgucXVvdGUtdGVhbCk6bm90KC5xdW90ZS1ncmV5KSArIC53cC1ibG9jay1tZWRpYS10ZXh0Om5vdCgucXVvdGUtdGVhbCk6bm90KC5xdW90ZS1ncmV5KSxcbiAgICAgIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLXRlYWwgKyAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS10ZWFsLFxuICAgICAgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtZ3JleSArIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLWdyZXksXG4gICAgICAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS1ncmV5ICsgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtdGVhbCxcbiAgICAgIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLXRlYWwgKyAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS1ncmV5IHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTE2MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gICAgICAud3AtYmxvY2stbWVkaWEtdGV4dDpub3QoLnF1b3RlLXRlYWwpOm5vdCgucXVvdGUtZ3JleSkgKyAud3AtYmxvY2stbWVkaWEtdGV4dDpub3QoLnF1b3RlLXRlYWwpOm5vdCgucXVvdGUtZ3JleSksXG4gICAgICAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS10ZWFsICsgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtdGVhbCxcbiAgICAgIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLWdyZXkgKyAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS1ncmV5LFxuICAgICAgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtZ3JleSArIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLXRlYWwsXG4gICAgICAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS10ZWFsICsgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtZ3JleSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yMDBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLWdyZXkgLndwLWJsb2NrLW1lZGlhLXRleHRfX21lZGlhLCAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS10ZWFsIC53cC1ibG9jay1tZWRpYS10ZXh0X19tZWRpYSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7IH0gfVxuICAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS1ncmV5IC53cC1ibG9jay1tZWRpYS10ZXh0X19jb250ZW50LCAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS10ZWFsIC53cC1ibG9jay1tZWRpYS10ZXh0X19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS1ncmV5IC53cC1ibG9jay1tZWRpYS10ZXh0X19jb250ZW50LCAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS10ZWFsIC53cC1ibG9jay1tZWRpYS10ZXh0X19jb250ZW50IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLWdyZXkgLndwLWJsb2NrLW1lZGlhLXRleHRfX2NvbnRlbnQsIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLXRlYWwgLndwLWJsb2NrLW1lZGlhLXRleHRfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEzNXB4OyB9IH1cbiAgICAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS1ncmV5IC53cC1ibG9jay1tZWRpYS10ZXh0X19jb250ZW50OmJlZm9yZSwgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtdGVhbCAud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAxMXB4O1xuICAgICAgd2lkdGg6IDU0cHg7XG4gICAgICBoZWlnaHQ6IDU0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcXVvdGUtd2hpdGUuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS1ncmV5IC53cC1ibG9jay1tZWRpYS10ZXh0X19jb250ZW50OmJlZm9yZSwgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtdGVhbCAud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudDpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAtNDJweDtcbiAgICAgICAgICB3aWR0aDogOTFweDtcbiAgICAgICAgICBoZWlnaHQ6IDkxcHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS1ncmV5IC53cC1ibG9jay1tZWRpYS10ZXh0X19jb250ZW50OmJlZm9yZSwgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtdGVhbCAud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudDpiZWZvcmUge1xuICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMDBweDsgfSB9XG4gICAgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtZ3JleSAud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudCAuaGFzLWxhcmdlLWZvbnQtc2l6ZSwgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtdGVhbCAud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudCAuaGFzLWxhcmdlLWZvbnQtc2l6ZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLWdyZXkgLndwLWJsb2NrLW1lZGlhLXRleHRfX2NvbnRlbnQgcDpub3QoLmhhcy1sYXJnZS1mb250LXNpemUpLCAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS10ZWFsIC53cC1ibG9jay1tZWRpYS10ZXh0X19jb250ZW50IHA6bm90KC5oYXMtbGFyZ2UtZm9udC1zaXplKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLWdyZXkuanMtYWN0aXZlIC53cC1ibG9jay1tZWRpYS10ZXh0X19tZWRpYSwgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtZ3JleS5qcy1hY3RpdmUgLndwLWJsb2NrLW1lZGlhLXRleHRfX2NvbnRlbnQsIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLXRlYWwuanMtYWN0aXZlIC53cC1ibG9jay1tZWRpYS10ZXh0X19tZWRpYSwgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtdGVhbC5qcy1hY3RpdmUgLndwLWJsb2NrLW1lZGlhLXRleHRfX2NvbnRlbnQge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtdGVhbCwgLndwLWJsb2NrLW1lZGlhLXRleHQudGVhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODE5MDtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLXRlYWwgYTpub3QoLndwLWJsb2NrLWJ1dHRvbl9fbGluayksIC53cC1ibG9jay1tZWRpYS10ZXh0LnRlYWwgYTpub3QoLndwLWJsb2NrLWJ1dHRvbl9fbGluaykge1xuICAgICAgY29sb3I6ICNERkQyQjM7IH1cbiAgICAgIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLXRlYWwgYTpub3QoLndwLWJsb2NrLWJ1dHRvbl9fbGluayk6aG92ZXIsIC53cC1ibG9jay1tZWRpYS10ZXh0LnRlYWwgYTpub3QoLndwLWJsb2NrLWJ1dHRvbl9fbGluayk6aG92ZXIge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS1ncmV5LCAud3AtYmxvY2stbWVkaWEtdGV4dC5ncmV5IHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNFQ0VDOyB9XG4gICAgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtZ3JleSAud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudDpiZWZvcmUsIC53cC1ibG9jay1tZWRpYS10ZXh0LmdyZXkgLndwLWJsb2NrLW1lZGlhLXRleHRfX2NvbnRlbnQ6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9xdW90ZS1yZWQuc3ZnXCIpOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtZ3JleSAud3AtYmxvY2stbWVkaWEtdGV4dF9fY29udGVudDpiZWZvcmUsIC53cC1ibG9jay1tZWRpYS10ZXh0LmdyZXkgLndwLWJsb2NrLW1lZGlhLXRleHRfX2NvbnRlbnQ6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAtMzJweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgIC53cC1ibG9jay1tZWRpYS10ZXh0LnF1b3RlLWdyZXkgLndwLWJsb2NrLW1lZGlhLXRleHRfX2NvbnRlbnQ6YmVmb3JlLCAud3AtYmxvY2stbWVkaWEtdGV4dC5ncmV5IC53cC1ibG9jay1tZWRpYS10ZXh0X19jb250ZW50OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogMDsgfSB9XG4gICAgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtZ3JleTphZnRlciwgLndwLWJsb2NrLW1lZGlhLXRleHQuZ3JleTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTguNHZ3O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgICBib3JkZXItbGVmdDogNTB2dyBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogNTB2dyBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDguNXZ3IHNvbGlkICNFQ0VDRUM7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE5MDBweCkge1xuICAgICAgICAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZS1ncmV5OmFmdGVyLCAud3AtYmxvY2stbWVkaWEtdGV4dC5ncmV5OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IC0xNjJweDtcbiAgICAgICAgICBib3JkZXItbGVmdDogY2FsYygxOTAwcHggLyAyKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IGNhbGMoMTkwMHB4IC8gMikgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMTYycHggc29saWQgI0VDRUNFQzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgLndwLWJsb2NrLW1lZGlhLXRleHQtLWxhc3Qtb2YtdHlwZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG5cbi5icmVhZGNydW1icyB7XG4gIHBhZGRpbmc6IDI2cHggMCAxOXB4O1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5icmVhZGNydW1icyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1yaWdodDogNnB4OyB9XG4gICAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LW9mLXR5cGUpOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDRweCk7XG4gICAgICAgIHJpZ2h0OiAtMnB4O1xuICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMwMDAwMDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzAwMDAwMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1vZi10eXBlKTphZnRlciB7XG4gICAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMnB4KTsgfSB9XG4gICAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LW9mLXR5cGUpOmFmdGVyIHtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDNweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTMwZGVnKTsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZmVhdHVyZWQtaW1hZ2Uge1xuICB3aWR0aDogMTAwdnc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gIG1hcmdpbi1ib3R0b206IDEuM2VtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBtaW4taGVpZ2h0OiA4LjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAuZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgbWluLWhlaWdodDogMTMuNzVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmZlYXR1cmVkLWltYWdlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDE5cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE5MDBweCkge1xuICAgIC5mZWF0dXJlZC1pbWFnZSB7XG4gICAgICB3aWR0aDogMTkwMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuICAuZmVhdHVyZWQtaW1hZ2VfX21lZGlhIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuZmVhdHVyZWQtaW1hZ2VfX21lZGlhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuNSkpOyB9XG4gIC5mZWF0dXJlZC1pbWFnZV9faW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZlYXR1cmVkLWltYWdlX19pbm5lciBoMSB7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIC5mZWF0dXJlZC1pbWFnZV9faW5uZXIgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNDhweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgIC5mZWF0dXJlZC1pbWFnZV9faW5uZXIgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNThweDsgfSB9XG4gICAgICAuZmVhdHVyZWQtaW1hZ2VfX2lubmVyIGgxOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZTsgfVxuXG4uZmVhdHVyZWQtaGVybyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uc2VjdGlvbi1uYXZpZ2F0aW9uIHtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogMCA0MHB4O1xuICBtYXJnaW46IDEuNmVtIDAgMS44ZW07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC5zZWN0aW9uLW5hdmlnYXRpb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICAgIHBhZGRpbmc6IDAgNjBweDtcbiAgICAgIG1hcmdpbjogMS40ZW0gYXV0byAzZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLnNlY3Rpb24tbmF2aWdhdGlvbiB7XG4gICAgICBsZWZ0OiAtNDBweDtcbiAgICAgIHBhZGRpbmc6IDAgMzVweCAwO1xuICAgICAgbWFyZ2luOiAxLjNlbSBhdXRvIDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gICAgLnNlY3Rpb24tbmF2aWdhdGlvbiB7XG4gICAgICBsZWZ0OiAtMjQwcHg7XG4gICAgICB0b3A6IDA7XG4gICAgICBtYXJnaW46IDEuM2VtIGF1dG8gLTMuMWVtOyB9IH1cbiAgLnNlY3Rpb24tbmF2aWdhdGlvbiAud2lkZ2V0dGl0bGUge1xuICAgIG1hcmdpbjogMCAwIC04cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDE4cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5zZWN0aW9uLW5hdmlnYXRpb24gLndpZGdldHRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAtMTdweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDExcHg7IH0gfVxuICAuc2VjdGlvbi1uYXZpZ2F0aW9uIHVsIHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMTVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAuc2VjdGlvbi1uYXZpZ2F0aW9uIHVsIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDI3cHg7IH0gfVxuICAgIC5zZWN0aW9uLW5hdmlnYXRpb24gdWwgbGkgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMzsgfVxuICAgICAgLnNlY3Rpb24tbmF2aWdhdGlvbiB1bCBsaSBhOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQjhCOEI4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbWFyZ2luOiAwIDE2cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnNlY3Rpb24tbmF2aWdhdGlvbiAuYnNuLWxpc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgcGFkZGluZzogMjBweCAzM3B4IDEwcHg7XG4gICAgbWFyZ2luOiAtMXB4IDAgMCAwO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNDQzAwMzM7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHotaW5kZXg6IDEwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAuc2VjdGlvbi1uYXZpZ2F0aW9uIC5ic24tbGlzdCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0MXB4O1xuICAgICAgICBtaW4td2lkdGg6IDQ1NXB4O1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5zZWN0aW9uLW5hdmlnYXRpb24gLmJzbi1saXN0IHtcbiAgICAgICAgdG9wOiA0MHB4O1xuICAgICAgICBsZWZ0OiAzNXB4OyB9IH1cbiAgICAuc2VjdGlvbi1uYXZpZ2F0aW9uIC5ic24tbGlzdCAuY3VycmVudF9wYWdlX2l0ZW0gPiBhIHtcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4IDdweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0VDRUM7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgICAuc2VjdGlvbi1uYXZpZ2F0aW9uIC5ic24tbGlzdCAuY3VycmVudF9wYWdlX2l0ZW0uaXMtYWN0aXZlIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2OTlweCkge1xuICAgICAgLnNlY3Rpb24tbmF2aWdhdGlvbiAuYnNuLWxpc3RbYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgM3B4IDNweDsgfSB9XG4gIC5zZWN0aW9uLW5hdmlnYXRpb24gLmNoaWxkcmVuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zZWN0aW9uLW5hdmlnYXRpb25fX21haW4tYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYm9yZGVyOiAycHggc29saWQgI0NDMDAzMztcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTJweCAyMnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICMwMDgxOTA7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB6LWluZGV4OiAxNTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2VjdGlvbi1uYXZpZ2F0aW9uX19tYWluLWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSA0cHgpO1xuICAgICAgcmlnaHQ6IC0ycHg7XG4gICAgICB3aWR0aDogNHB4O1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgI0NDMDAzMztcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI0NDMDAzMztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoLTEzNWRlZyk7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAuc2VjdGlvbi1uYXZpZ2F0aW9uX19tYWluLWJ1dHRvbjphZnRlciB7XG4gICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDJweCk7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLnNlY3Rpb24tbmF2aWdhdGlvbl9fbWFpbi1idXR0b24ge1xuICAgICAgICBtYXgtd2lkdGg6IDE2OHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAuc2VjdGlvbi1uYXZpZ2F0aW9uX19tYWluLWJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDE2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gICAgLnNlY3Rpb24tbmF2aWdhdGlvbl9fbWFpbi1idXR0b246YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDEzcHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLnNlY3Rpb24tbmF2aWdhdGlvbl9fbWFpbi1idXR0b246YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAxMHB4OyB9IH1cbiAgICAuc2VjdGlvbi1uYXZpZ2F0aW9uX19tYWluLWJ1dHRvblthcmlhLWV4cGFuZGVkPSd0cnVlJ10ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIC5zZWN0aW9uLW5hdmlnYXRpb25fX21haW4tYnV0dG9uW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDE0cHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAuc2VjdGlvbi1uYXZpZ2F0aW9uX19tYWluLWJ1dHRvblthcmlhLWV4cGFuZGVkPSd0cnVlJ10ge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4OyB9IH1cbiAgICAgIC5zZWN0aW9uLW5hdmlnYXRpb25fX21haW4tYnV0dG9uW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoNDVkZWcpOyB9XG4gICAgLnNlY3Rpb24tbmF2aWdhdGlvbl9fbWFpbi1idXR0b25bYXJpYS1leHBhbmRlZD0nZmFsc2UnXSB7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tIDBzIDAuM3MsIHBhZGRpbmctYm90dG9tIDBzIDAuM3M7IH1cbiAgICAuc2VjdGlvbi1uYXZpZ2F0aW9uX19tYWluLWJ1dHRvbiBzcGFuIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5zZWN0aW9uLW5hdmlnYXRpb25fX2J1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG4gICAgLnNlY3Rpb24tbmF2aWdhdGlvbl9fYnV0dG9uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDRweCk7XG4gICAgICByaWdodDogLTJweDtcbiAgICAgIHdpZHRoOiA0cHg7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjRkZGRkZGO1xuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjRkZGRkZGO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIC5zZWN0aW9uLW5hdmlnYXRpb25fX2J1dHRvbjphZnRlciB7XG4gICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDJweCk7IH0gfVxuICAgIC5zZWN0aW9uLW5hdmlnYXRpb25fX2J1dHRvbjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjVweDtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNDQzAwMzM7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMjhweDtcbiAgICAgIHRvcDogOHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgLnNlY3Rpb24tbmF2aWdhdGlvbl9fYnV0dG9uOmFmdGVyIHtcbiAgICAgIHRvcDogMTVweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzM3B4O1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogNXB4OyB9XG4gICAgLnNlY3Rpb24tbmF2aWdhdGlvbl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTphZnRlciB7XG4gICAgICB0b3A6IDE3cHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDQ1ZGVnKTsgfVxuICAuc2VjdGlvbi1uYXZpZ2F0aW9uLmpzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLnNpdGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgbWF4LXdpZHRoOiAxOTAwcHg7XG4gIHotaW5kZXg6IDEwMDtcbiAgdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTkwMHB4KSB7XG4gICAgLnNpdGUtaGVhZGVyIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfSB9XG4gIC5zaXRlLWhlYWRlci5qcy1zbGlkZVVwIHtcbiAgICB0b3A6IC04OHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAuc2l0ZS1oZWFkZXIuanMtc2xpZGVVcCB7XG4gICAgICAgIHRvcDogLTEyMXB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAuc2l0ZS1oZWFkZXIuanMtc2xpZGVVcCB7XG4gICAgICAgIHRvcDogLTEzNXB4OyB9IH1cbiAgLnNpdGUtaGVhZGVyLmpzLXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5zaXRlLWhlYWRlciAuc2VhcmNoIHtcbiAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5zaXRlLWhlYWRlciAuc2VhcmNoIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI2cHg7IH0gfVxuICAgIC5zaXRlLWhlYWRlciAuc2VhcmNoX19idXR0b24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMzZweDtcbiAgICAgIGhlaWdodDogMzZweDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDQzAwMzM7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuc2l0ZS1oZWFkZXIgLnNlYXJjaF9fYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi8uLi9zcmMvYXNzZXRzL2ltYWdlcy9zZWFyY2guc3ZnXCIpIHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXI7IH1cbiAgICAgIC5zaXRlLWhlYWRlciAuc2VhcmNoX19idXR0b24gc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLnNpdGUtaGVhZGVyIC5zZWFyY2ggI3NlYXJjaGZvcm0gLmlucHV0LWdyb3VwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XG4gICAgLnNpdGUtaGVhZGVyIC5zZWFyY2ggI3NlYXJjaGZvcm0gaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLnNpdGUtaGVhZGVyIC5zZWFyY2ggI3NlYXJjaGZvcm0gaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL3NyYy9hc3NldHMvaW1hZ2VzL3NlYXJjaC5zdmdcIikgdHJhbnNwYXJlbnQgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMThweCAxOHB4O1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgZmlsdGVyOiBpbnZlcnQoMTAwJSk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2l0ZS1oZWFkZXIgLnNlYXJjaCAuZHJvcGRvd24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IC0xMDB2dztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMThweCk7XG4gICAgICBtYXgtd2lkdGg6IDMwMnB4O1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgYmFja2dyb3VuZDogIzk4MDUyOTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHotaW5kZXg6IDEwMjtcbiAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuM3MgZWFzZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAuc2l0ZS1oZWFkZXIgLnNlYXJjaCAuZHJvcGRvd24ge1xuICAgICAgICAgIG1heC13aWR0aDogMjQ2cHg7IH0gfVxuICAgICAgLnNpdGUtaGVhZGVyIC5zZWFyY2ggLmRyb3Bkb3duW2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIDBzLCB2aXNpYmlsaXR5IDBzIDAuM3M7IH1cbiAgICAgIC5zaXRlLWhlYWRlciAuc2VhcmNoIC5kcm9wZG93blthcmlhLWhpZGRlbj0nZmFsc2UnXSB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAuc2l0ZS1oZWFkZXIgLnNlYXJjaCAuZHJvcGRvd25fX2lubmVyIHtcbiAgICAgICAgcGFkZGluZzogMzRweCAzM3B4OyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAgIC5zaXRlLWhlYWRlciAuc2VhcmNoIC5kcm9wZG93bl9faW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMzRweCAzNXB4IDIxcHg7IH0gfVxuICAgICAgLnNpdGUtaGVhZGVyIC5zZWFyY2ggLmRyb3Bkb3duX19jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzOHB4O1xuICAgICAgICBsZWZ0OiAtMThweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0NDMDAzMztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICAgLnNpdGUtaGVhZGVyIC5zZWFyY2ggLmRyb3Bkb3duX19jbG9zZTphZnRlciwgLnNpdGUtaGVhZGVyIC5zZWFyY2ggLmRyb3Bkb3duX19jbG9zZTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgICAuc2l0ZS1oZWFkZXIgLnNlYXJjaCAuZHJvcGRvd25fX2Nsb3NlOmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC00NWRlZyk7IH1cbiAgICAgICAgLnNpdGUtaGVhZGVyIC5zZWFyY2ggLmRyb3Bkb3duX19jbG9zZTphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTsgfVxuICAgICAgICAuc2l0ZS1oZWFkZXIgLnNlYXJjaCAuZHJvcGRvd25fX2Nsb3NlIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC5zaXRlLWhlYWRlciAuc2VhcmNoIC5kcm9wZG93biB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLnNpdGUtaGVhZGVyIC5zZWFyY2ggLmRyb3Bkb3duIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5zZWFyY2ggLmRyb3Bkb3duIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0ycHg7IH0gfVxuICAgICAgLnNpdGUtaGVhZGVyIC5zZWFyY2ggLmRyb3Bkb3duIGEge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuc2l0ZS1oZWFkZXIgLnNlYXJjaCAuY29tbW9uX190aXRsZSB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RGRDJCMztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAuc2l0ZS1oZWFkZXIgLnNlYXJjaCAuY29tbW9uX190aXRsZSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLnNpdGUtbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDg4cHg7XG4gIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLWJvdHRvbTogMTJweCBzb2xpZCAjQ0MwMDMzOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC5zaXRlLW5hdiB7XG4gICAgICBoZWlnaHQ6IDEyMXB4O1xuICAgICAgcGFkZGluZzogMTVweCAzNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5zaXRlLW5hdiB7XG4gICAgICBoZWlnaHQ6IDEzNXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMTRweCBzb2xpZCAjQ0MwMDMzOyB9IH1cbiAgLnNpdGUtbmF2OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxODRweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0NCQ0JDQjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgei1pbmRleDogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLnNpdGUtbmF2OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNTVweCk7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5zaXRlLW5hdjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzEycHgpOyB9IH1cbiAgLnNpdGUtbmF2X19sb2dvIHtcbiAgICB3aWR0aDogMTUxcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAuc2l0ZS1uYXZfX2xvZ28ge1xuICAgICAgICB3aWR0aDogMjAwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5zaXRlLW5hdl9fbG9nbyB7XG4gICAgICAgIHdpZHRoOiAyNThweDsgfSB9XG4gICAgLnNpdGUtbmF2X19sb2dvIGltZyB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTsgfVxuICAgIC5zaXRlLW5hdl9fbG9nbyBhOmhvdmVyIGltZyB7XG4gICAgICBvcGFjaXR5OiAwLjg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5zaXRlLW5hdl9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGhlaWdodDogODBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuc2l0ZS1uYXZfX2NvbnRlbnQtdG9wIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gIC5zaXRlLW5hdiB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuc2l0ZS1uYXYgLmluZm8tZm9yIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDEwcHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkYyRjJGO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5zaXRlLW5hdiAuaW5mby1mb3Ige1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI5cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0VDRUM7IH0gfVxuICAgIC5zaXRlLW5hdiAuaW5mby1mb3JfX2J1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDExcHggMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLnNpdGUtbmF2IC5pbmZvLWZvcl9fYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDRweCk7XG4gICAgICAgIHJpZ2h0OiAtMnB4O1xuICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNGRkZGRkY7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI0ZGRkZGRjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgICAgLnNpdGUtbmF2IC5pbmZvLWZvcl9fYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAycHgpOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLnNpdGUtbmF2IC5pbmZvLWZvcl9fYnV0dG9uIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICBwYWRkaW5nOiA5cHggMjdweCA5cHggMTBweDsgfVxuICAgICAgICAgIC5zaXRlLW5hdiAuaW5mby1mb3JfX2J1dHRvbjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSA0cHgpO1xuICAgICAgICAgICAgcmlnaHQ6IC0ycHg7XG4gICAgICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgI0NDMDAzMztcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI0NDMDAzMztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoLTEzNWRlZyk7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLnNpdGUtbmF2IC5pbmZvLWZvcl9fYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDJweCk7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAgIC5zaXRlLW5hdiAuaW5mby1mb3JfX2J1dHRvbjphZnRlciB7XG4gICAgICAgICAgICByaWdodDogMTBweDsgfSB9XG4gICAgICAuc2l0ZS1uYXYgLmluZm8tZm9yX19idXR0b25bYXJpYS1leHBhbmRlZD0ndHJ1ZSddOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAgIC5zaXRlLW5hdiAuaW5mby1mb3JfX2J1dHRvbiBzcGFuIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0VDRUM7IH1cbiAgICAuc2l0ZS1uYXYgLmluZm8tZm9yX19kcm9wZG93biB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgIC5zaXRlLW5hdiAuaW5mby1mb3JfX2Ryb3Bkb3duIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VDRUNFQztcbiAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG4gICAgICAgICAgei1pbmRleDogMTAyOyB9IH1cbiAgICAgIC5zaXRlLW5hdiAuaW5mby1mb3JfX2Ryb3Bkb3duIHVsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgIC5zaXRlLW5hdiAuaW5mby1mb3JfX2Ryb3Bkb3duIGEge1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9IH1cbiAgICAuc2l0ZS1uYXYgLmluZm8tZm9yLS1tb2JpbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLnNpdGUtbmF2IC5pbmZvLWZvci0tbW9iaWxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnNpdGUtbmF2IC5hZGRyZXNzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGNvbG9yOiAjNDI0QjRGO1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLnNpdGUtbmF2IC5hZGRyZXNzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDY1cHg7XG4gICAgICAgIHJpZ2h0OiAxNDBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAuc2l0ZS1uYXYgLmFkZHJlc3Mge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLnNpdGUtbmF2IC5hZGRyZXNzIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAuc2l0ZS1uYXYgLmFkZHJlc3MtLW1vYmlsZSB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjcxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIC5zaXRlLW5hdiAuYWRkcmVzcy0tbW9iaWxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm1haW4tbmF2X19idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDQzAwMzM7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAubWFpbi1uYXZfX2J1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm1haW4tbmF2X19idXR0b24gc3Bhbjpub3QoOm50aC1jaGlsZCgxKSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAubWFpbi1uYXZfX2J1dHRvbiBzcGFuOm50aC1jaGlsZCgyKSB7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDZweCk7IH1cbiAgLm1haW4tbmF2X19idXR0b24gc3BhbjpudGgtY2hpbGQoNCkge1xuICAgIHRvcDogY2FsYyg1MCUgKyA2cHgpOyB9XG5cbi5tYWluLW5hdl9fZHJvcGRvd24ge1xuICB6LWluZGV4OiAxMDE7XG4gIHRyYW5zaXRpb246IHJpZ2h0IDAuM3MgZWFzZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLm1haW4tbmF2X19kcm9wZG93biB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogLTEwMHZ3O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAxOHB4KTtcbiAgICAgIG1heC13aWR0aDogMzIxcHg7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxOHB4OyB9XG4gICAgICAubWFpbi1uYXZfX2Ryb3Bkb3duOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogLTEwMHZ3O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMThweCk7XG4gICAgICAgIG1heC13aWR0aDogMzAzcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogIzQyNEI0RjtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuM3MgZWFzZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAubWFpbi1uYXZfX2Ryb3Bkb3duIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm1haW4tbmF2X19kcm9wZG93biAubmF2LWRyb3Bkb3duX19jbG9zZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMzhweDtcbiAgICByaWdodDogLTEwMHZ3O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0NDMDAzMztcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIGVhc2U7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLm1haW4tbmF2X19kcm9wZG93biAubmF2LWRyb3Bkb3duX19jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5tYWluLW5hdl9fZHJvcGRvd24gLm5hdi1kcm9wZG93bl9fY2xvc2U6YWZ0ZXIsIC5tYWluLW5hdl9fZHJvcGRvd24gLm5hdi1kcm9wZG93bl9fY2xvc2U6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5tYWluLW5hdl9fZHJvcGRvd24gLm5hdi1kcm9wZG93bl9fY2xvc2U6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLm1haW4tbmF2X19kcm9wZG93biAubmF2LWRyb3Bkb3duX19jbG9zZTphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpOyB9XG4gIC5tYWluLW5hdl9fZHJvcGRvd24gLm5hdi1kcm9wZG93bl9faW5uZXIge1xuICAgIHBhZGRpbmc6IDM0cHggMzNweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLm1haW4tbmF2X19kcm9wZG93biAubmF2LWRyb3Bkb3duX19pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDIxcHggMzVweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLm1haW4tbmF2X19kcm9wZG93biAubmF2LWRyb3Bkb3duX19pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5tYWluLW5hdl9fZHJvcGRvd24gLm5hdi1kcm9wZG93bl9faW5uZXIgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb2xvcjogI0RGRDJCMztcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwYWRkaW5nOiA1cHggMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIC5tYWluLW5hdl9fZHJvcGRvd24gLm5hdi1kcm9wZG93bl9faW5uZXIgYSB7XG4gICAgICAgICAgcGFkZGluZzogNnB4IDA7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAubWFpbi1uYXZfX2Ryb3Bkb3duIC5uYXYtZHJvcGRvd25fX2lubmVyIGEge1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBwYWRkaW5nOiA0cHggMTBweDsgfSB9XG4gICAgICAubWFpbi1uYXZfX2Ryb3Bkb3duIC5uYXYtZHJvcGRvd25fX2lubmVyIGE6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjg7IH1cbiAgICAubWFpbi1uYXZfX2Ryb3Bkb3duIC5uYXYtZHJvcGRvd25fX2lubmVyIC5kZXNrdG9wLW1lbnUge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLm1haW4tbmF2X19kcm9wZG93biAubmF2LWRyb3Bkb3duX19pbm5lciAuZGVza3RvcC1tZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgLm1haW4tbmF2X19kcm9wZG93biAubmF2LWRyb3Bkb3duX19pbm5lciAuZGVza3RvcC1tZW51IHtcbiAgICAgIG1hcmdpbjogMThweCAwIDIwcHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAubWFpbi1uYXZfX2Ryb3Bkb3duIC5uYXYtZHJvcGRvd25fX2lubmVyIC5kZXNrdG9wLW1lbnUgPiAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNFQ0VDOyB9XG4gICAgICAgICAgLm1haW4tbmF2X19kcm9wZG93biAubmF2LWRyb3Bkb3duX19pbm5lciAuZGVza3RvcC1tZW51ID4gLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyID4gYTphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDQ1ZGVnKTsgfVxuICAgICAgICAubWFpbi1uYXZfX2Ryb3Bkb3duIC5uYXYtZHJvcGRvd25fX2lubmVyIC5kZXNrdG9wLW1lbnUgPiAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgLmRyb3Bkb3duLnZlcnRpY2FsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgICAgIC5tYWluLW5hdl9fZHJvcGRvd24gLm5hdi1kcm9wZG93bl9faW5uZXIgLmRlc2t0b3AtbWVudSA+IC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAubWVudS1pdGVtX19idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgcmlnaHQ6IDZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0NDMDAzMztcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICAgLm1haW4tbmF2X19kcm9wZG93biAubmF2LWRyb3Bkb3duX19pbm5lciAuZGVza3RvcC1tZW51ID4gLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5tZW51LWl0ZW1fX2J1dHRvbjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSA0cHgpO1xuICAgICAgICAgIHJpZ2h0OiAtMnB4O1xuICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNGRkZGRkY7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjRkZGRkZGO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoLTEzNWRlZyk7XG4gICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAgICAgLm1haW4tbmF2X19kcm9wZG93biAubmF2LWRyb3Bkb3duX19pbm5lciAuZGVza3RvcC1tZW51ID4gLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5tZW51LWl0ZW1fX2J1dHRvbjphZnRlciB7XG4gICAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAycHgpOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAgIC5tYWluLW5hdl9fZHJvcGRvd24gLm5hdi1kcm9wZG93bl9faW5uZXIgLmRlc2t0b3AtbWVudSA+IC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAubWVudS1pdGVtX19idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAgIC5tYWluLW5hdl9fZHJvcGRvd24gLm5hdi1kcm9wZG93bl9faW5uZXIgLmRlc2t0b3AtbWVudSA+IC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAubWVudS1pdGVtX19idXR0b246YWZ0ZXIge1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTEzNWRlZyk7IH1cbiAgICAgICAgLm1haW4tbmF2X19kcm9wZG93biAubmF2LWRyb3Bkb3duX19pbm5lciAuZGVza3RvcC1tZW51ID4gLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5tZW51LWl0ZW1fX2J1dHRvblthcmlhLWV4cGFuZGVkPSd0cnVlJ106YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLm1haW4tbmF2X19kcm9wZG93biAubmF2LWRyb3Bkb3duX19pbm5lciAuZGVza3RvcC1tZW51ID4gLm1lbnUtaXRlbS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7IH1cbiAgICAgICAgICAubWFpbi1uYXZfX2Ryb3Bkb3duIC5uYXYtZHJvcGRvd25fX2lubmVyIC5kZXNrdG9wLW1lbnUgPiAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDRweCk7XG4gICAgICAgICAgICByaWdodDogLTJweDtcbiAgICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjQ0MwMDMzO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjQ0MwMDMzO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkgYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAubWFpbi1uYXZfX2Ryb3Bkb3duIC5uYXYtZHJvcGRvd25fX2lubmVyIC5kZXNrdG9wLW1lbnUgPiAubWVudS1pdGVtLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOmFmdGVyIHtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDJweCk7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAgIC5tYWluLW5hdl9fZHJvcGRvd24gLm5hdi1kcm9wZG93bl9faW5uZXIgLmRlc2t0b3AtbWVudSA+IC5tZW51LWl0ZW0ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IDFweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAubWFpbi1uYXZfX2Ryb3Bkb3duIC5uYXYtZHJvcGRvd25fX2lubmVyIC5kZXNrdG9wLW1lbnUgPiAubWVudS1pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDQkNCQ0I7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAubWFpbi1uYXZfX2Ryb3Bkb3duIC5uYXYtZHJvcGRvd25fX2lubmVyIC5kZXNrdG9wLW1lbnUgPiAubWVudS1pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMXB4OyB9IH1cbiAgICAgIC5tYWluLW5hdl9fZHJvcGRvd24gLm5hdi1kcm9wZG93bl9faW5uZXIgLmRlc2t0b3AtbWVudSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAubWFpbi1uYXZfX2Ryb3Bkb3duIC5uYXYtZHJvcGRvd25fX2lubmVyIC5kZXNrdG9wLW1lbnUgPiAubWVudS1pdGVtXG4+IC5kcm9wZG93bi52ZXJ0aWNhbCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG1pbi13aWR0aDogMjM4cHg7IH0gfVxuICAgICAgLm1haW4tbmF2X19kcm9wZG93biAubmF2LWRyb3Bkb3duX19pbm5lciAuZGVza3RvcC1tZW51IC5kcm9wZG93bi52ZXJ0aWNhbCB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDJweCAxOHB4O1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgICAubWFpbi1uYXZfX2Ryb3Bkb3duIC5uYXYtZHJvcGRvd25fX2lubmVyIC5kZXNrdG9wLW1lbnUgLmRyb3Bkb3duLnZlcnRpY2FsIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0VDRUM7IH1cbiAgICAgICAgICAgIC5tYWluLW5hdl9fZHJvcGRvd24gLm5hdi1kcm9wZG93bl9faW5uZXIgLmRlc2t0b3AtbWVudSAuZHJvcGRvd24udmVydGljYWwgYSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gIC5tYWluLW5hdl9fZHJvcGRvd25bYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xuICAgIHJpZ2h0OiAwO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAubWFpbi1uYXZfX2Ryb3Bkb3duW2FyaWEtaGlkZGVuPSdmYWxzZSddOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLm1haW4tbmF2X19kcm9wZG93blthcmlhLWhpZGRlbj0nZmFsc2UnXSAubmF2LWRyb3Bkb3duX19jbG9zZSB7XG4gICAgICByaWdodDogMjg1cHg7IH1cbiAgLm1haW4tbmF2X19kcm9wZG93blthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIDBzLCB2aXNpYmlsaXR5IDBzIDAuM3M7IH1cblxuLmZvb3RlciB7XG4gIHdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgei1pbmRleDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTkwMHB4KSB7XG4gICAgLmZvb3RlciB7XG4gICAgICB3aWR0aDogMTkwMHB4O1xuICAgICAgbGVmdDogY2FsYygoMTAwJSAtIDE5MDBweCkgLyAyKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgLmZvb3Rlcl9fdG9wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI0QjRGO1xuICAgIHBhZGRpbmc6IDE5cHggMzVweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLmZvb3Rlcl9fdG9wIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMjBweCA0MHB4IDU1cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5mb290ZXJfX3RvcCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMzVweCAzNXB4OyB9IH1cbiAgICAuZm9vdGVyX190b3AgYSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5mb290ZXJfX2JvdHRvbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICBwYWRkaW5nOiAzNnB4IDM1cHggNTVweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLmZvb3Rlcl9fYm90dG9tIHtcbiAgICAgICAgcGFkZGluZzogMzZweCAzNXB4IDU1cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5mb290ZXJfX2JvdHRvbSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggNDBweCA1NXB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDY5OXB4KSB7XG4gICAgLmZvb3Rlcl9fbGVmdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgLmZvb3Rlcl9fbGVmdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQ0cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmZvb3Rlcl9fbGVmdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAuZm9vdGVyX19yaWdodCB7XG4gICAgICBmbGV4OiAxIDAgYXV0bzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuZm9vdGVyX19yaWdodCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIxNHB4KTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjI1cHgpIHtcbiAgICAuZm9vdGVyX19yaWdodCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjUlKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5mb290ZXJfX3JpZ2h0IHtcbiAgICAgIG1hcmdpbi10b3A6IDE4cHg7IH0gfVxuICAuZm9vdGVyX19sb2dvIGltZyB7XG4gICAgd2lkdGg6IDE3MHB4OyB9XG4gIC5mb290ZXJfX2xvY2F0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAuZm9vdGVyX19sb2NhdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5mb290ZXJfX2xvY2F0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTNweDsgfSB9XG4gICAgLmZvb3Rlcl9fbG9jYXRpb24gcCwgLmZvb3Rlcl9fbG9jYXRpb24gbGkge1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAuZm9vdGVyX19sb2NhdGlvbiBwLCAuZm9vdGVyX19sb2NhdGlvbiBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNweDsgfSB9XG4gIC5mb290ZXJfX2FuY2lsbGFyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjNweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLmZvb3Rlcl9fYW5jaWxsYXJ5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLmZvb3Rlcl9fYW5jaWxsYXJ5IHtcbiAgICAgICAgbWFyZ2luLXRvcDogN3B4OyB9IH1cbiAgICAuZm9vdGVyX19hbmNpbGxhcnkgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5mb290ZXJfX2FuY2lsbGFyeSBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogN3B4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLmZvb3Rlcl9fYW5jaWxsYXJ5IGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIC5mb290ZXJfX2FuY2lsbGFyeSBsaTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDsgfSB9XG4gIC5mb290ZXJfX3NvY2lhbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDE4cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAuZm9vdGVyX19zb2NpYWwge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuZm9vdGVyX19zb2NpYWwgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIC5mb290ZXJfX3NvY2lhbCB1bCB7XG4gICAgICAgICAgd2lkdGg6IDI0OHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLmZvb3Rlcl9fc29jaWFsIHVsIHtcbiAgICAgICAgICB3aWR0aDogMTIzcHg7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgICAuZm9vdGVyX19zb2NpYWwgYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgaGVpZ2h0OiAzNnB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgIC5mb290ZXJfX3NvY2lhbCBhIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuICAgICAgLmZvb3Rlcl9fc29jaWFsIGE6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjg7IH1cbiAgICAgIC5mb290ZXJfX3NvY2lhbCBhIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgLmZvb3Rlcl9fc29jaWFsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5mb290ZXJfX3NvY2lhbCAuaWNvbl9fZmFjZWJvb2sgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc29jaWFsLWZhY2Vib29rLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIC5mb290ZXJfX3NvY2lhbCAuaWNvbl9fdHdpdHRlciBhIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zb2NpYWwtdHdpdHRlci5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAuZm9vdGVyX19zb2NpYWwgLmljb25fX2ZsaWNrciBhIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zb2NpYWwtZmxpY2tyLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIC5mb290ZXJfX3NvY2lhbCAuaWNvbl9faW5zdGFncmFtIGEge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NvY2lhbC1pbnN0YWdyYW0ucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgLmZvb3Rlcl9fc29jaWFsIC5pY29uX19saW5rZWRpbiBhIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zb2NpYWwtbGlua2VkaW4ucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgLmZvb3Rlcl9fc29jaWFsIC5pY29uX195b3V0dWJlIGEge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NvY2lhbC15b3V0dWJlLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAuZm9vdGVyX19jb3B5cmlnaHQge1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLmZvb3Rlcl9fY29weXJpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5mb290ZXJfX2NvcHlyaWdodCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yOTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIC5mb290ZXJfX2NvcHlyaWdodCBwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuICAgIC5mb290ZXJfX2NvcHlyaWdodCBiciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5nZXQtc3RhcnRlZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmdldC1zdGFydGVkX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgcGFkZGluZzogMzBweCA0MHB4IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vc3JjL2Fzc2V0cy9pbWFnZXMvZ2V0dGluZy1zdGFydGVkLWJnLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5nZXQtc3RhcnRlZF9faW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1OHB4O1xuICAgICAgICBoZWlnaHQ6IDI3MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAuZ2V0LXN0YXJ0ZWRfX2lubmVyIHtcbiAgICAgICAgaGVpZ2h0OiAzNThweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEyMXB4OyB9IH1cbiAgICAuZ2V0LXN0YXJ0ZWRfX2lubmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItbGVmdDogNTB2dyBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogNTB2dyBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDguNXZ3IHNvbGlkICNGRkZGRkY7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgICAgLmdldC1zdGFydGVkX19pbm5lcjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMTYycHggc29saWQgI0ZGRkZGRjsgfSB9XG4gICAgLmdldC1zdGFydGVkX19pbm5lciAubWVudSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAuZ2V0LXN0YXJ0ZWRfX2lubmVyIC5tZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICAgIC5nZXQtc3RhcnRlZF9faW5uZXIgLm1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgICAgLmdldC1zdGFydGVkX19pbm5lciAubWVudSBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY5OXB4KSB7XG4gICAgICAgICAgLmdldC1zdGFydGVkX19pbm5lciAubWVudSBsaTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAgIC5nZXQtc3RhcnRlZF9faW5uZXIgLm1lbnUgbGk6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfSB9XG4gICAgLmdldC1zdGFydGVkX19pbm5lciBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDQzAwMzM7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIC5nZXQtc3RhcnRlZF9faW5uZXIgYSB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIHBhZGRpbmc6IDhweCA0NXB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLmdldC1zdGFydGVkX19pbm5lciBhIHtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggNTVweDsgfSB9XG4gICAgICAuZ2V0LXN0YXJ0ZWRfX2lubmVyIGE6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAuZ2V0LXN0YXJ0ZWRfX2lubmVyIGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTgwNTI5OyB9XG4gICAgICAgIC5nZXQtc3RhcnRlZF9faW5uZXIgYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGhlaWdodDogNHB4OyB9XG4gICAgLmdldC1zdGFydGVkX19pbm5lciBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgei1pbmRleDogMjsgfVxuXG4uZm9vdGVyLWdyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJvcmRlci10b3A6IDEycHggc29saWQgI0NDMDAzMzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAuZm9vdGVyLWdyaWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQyNEI0RjsgfSB9XG4gIC5mb290ZXItZ3JpZCBhIHtcbiAgICBjb2xvcjogI0RGRDJCMztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuZm9vdGVyLWdyaWQgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuZm9vdGVyLWdyaWQgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzk7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxuLnBhZ2VyX19pdGVtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjk5cHgpIHtcbiAgICAucGFnZXJfX2l0ZW1zIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cblxuLnBhZ2VyX19pdGVtIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBoZWlnaHQ6IDI1cHg7IH1cbiAgLnBhZ2VyX19pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cbiAgLnBhZ2VyX19pdGVtOmJlZm9yZSB7XG4gICAgY29udGVudDogbm9uZTsgfVxuICAucGFnZXJfX2l0ZW0gYSB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAucGFnZXJfX2l0ZW0gYSB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNHB4OyB9IH1cbiAgICAucGFnZXJfX2l0ZW0gYTpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLnBhZ2VyX19pdGVtLS1maXJzdCwgLnBhZ2VyX19pdGVtLS1sYXN0LCAucGFnZXJfX2l0ZW0tLW5leHQsIC5wYWdlcl9faXRlbS0tcHJldiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnBhZ2VyX19pdGVtLS1maXJzdCBhLCAucGFnZXJfX2l0ZW0tLWxhc3QgYSwgLnBhZ2VyX19pdGVtLS1uZXh0IGEsIC5wYWdlcl9faXRlbS0tcHJldiBhIHtcbiAgICAgIHBhZGRpbmc6IDVweCAxNXB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLnBhZ2VyX19pdGVtLS1maXJzdCBhLCAucGFnZXJfX2l0ZW0tLWxhc3QgYSwgLnBhZ2VyX19pdGVtLS1uZXh0IGEsIC5wYWdlcl9faXRlbS0tcHJldiBhIHtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMTlweDsgfSB9XG4gICAgICAucGFnZXJfX2l0ZW0tLWZpcnN0IGE6aG92ZXIsIC5wYWdlcl9faXRlbS0tbGFzdCBhOmhvdmVyLCAucGFnZXJfX2l0ZW0tLW5leHQgYTpob3ZlciwgLnBhZ2VyX19pdGVtLS1wcmV2IGE6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgIC5wYWdlcl9faXRlbS0tZmlyc3QgYTpob3ZlciBzcGFuLCAucGFnZXJfX2l0ZW0tLWxhc3QgYTpob3ZlciBzcGFuLCAucGFnZXJfX2l0ZW0tLW5leHQgYTpob3ZlciBzcGFuLCAucGFnZXJfX2l0ZW0tLXByZXYgYTpob3ZlciBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLnBhZ2VyX19pdGVtLS1maXJzdCBhIHNwYW4sIC5wYWdlcl9faXRlbS0tbGFzdCBhIHNwYW4sIC5wYWdlcl9faXRlbS0tbmV4dCBhIHNwYW4sIC5wYWdlcl9faXRlbS0tcHJldiBhIHNwYW4ge1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7IH1cbiAgICAucGFnZXJfX2l0ZW0tLWZpcnN0IHNwYW4sIC5wYWdlcl9faXRlbS0tbGFzdCBzcGFuLCAucGFnZXJfX2l0ZW0tLW5leHQgc3BhbiwgLnBhZ2VyX19pdGVtLS1wcmV2IHNwYW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBjb2xvcjogI0NDMDAzMztcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAucGFnZXJfX2l0ZW0uYWN0aXZlIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0VDRUM7IH1cblxuLnBhZ2VyIGxpOmZpcnN0LWNoaWxkLCAucGFnZXIgbGk6bnRoLWNoaWxkKDIpLCAucGFnZXIgbGk6bnRoLWNoaWxkKDMpLCAucGFnZXIgbGk6bnRoLWxhc3QtY2hpbGQoMiksIC5wYWdlciBsaTpudGgtbGFzdC1jaGlsZCgzKSwgLnBhZ2VyIGxpLmFjdGl2ZS1zaWJsaW5nLCAucGFnZXIgbGkuYWN0aXZlLFxuLnBhZ2VyIGxpLmFjdGl2ZSArIGxpLCAucGFnZXIgbGk6bGFzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG5cbi5wYWdlciBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZChuKzgpIH4gbGkge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlciBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZChuKzgpIH4gbGkuYWN0aXZlLXNpYmxpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5wYWdlciBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZChuKzgpIH4gbGkuYWN0aXZlLXNpYmxpbmc6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwyMDI2XCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0xMnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuNXB4OyB9XG4gIC5wYWdlciBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZChuKzgpIH4gbGkuYWN0aXZlICsgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5wYWdlciBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZChuKzgpIH4gbGkuYWN0aXZlICsgbGk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXDIwMjZcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTEycHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyLjVweDsgfVxuICAucGFnZXIgbGk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQobis4KSB+IGxpOm50aC1sYXN0LWNoaWxkKC1uKzUpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnBhZ2VyIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKG4rOCkgfiBsaTpudGgtbGFzdC1jaGlsZCg1KSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnBhZ2VyIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKG4rOCkgfiBsaTpudGgtbGFzdC1jaGlsZCg1KTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcMjAyNlwiO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMTJweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB3aWR0aDogMjVweDtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjVweDsgfVxuICAucGFnZXIgbGk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQobis4KSB+IGxpOm50aC1jaGlsZCgtbisyKTpiZWZvcmUsIC5wYWdlciBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZChuKzgpIH4gbGk6bnRoLWNoaWxkKC1uKzIpOmFmdGVyLCAucGFnZXIgbGk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQobis4KSB+IGxpOm50aC1sYXN0LWNoaWxkKC1uKzIpOmJlZm9yZSwgLnBhZ2VyIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKG4rOCkgfiBsaTpudGgtbGFzdC1jaGlsZCgtbisyKTphZnRlciwgLnBhZ2VyIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKG4rOCkgfiBsaS5hY3RpdmUtc2libGluZzpudGgtbGFzdC1jaGlsZCgtbis0KTpiZWZvcmUsIC5wYWdlciBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZChuKzgpIH4gbGkuYWN0aXZlLXNpYmxpbmc6bnRoLWxhc3QtY2hpbGQoLW4rNCk6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucGFnZXIgbGk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQobis4KS5hY3RpdmUgfiBsaTpudGgtbGFzdC1jaGlsZCgtbis1KSxcbi5wYWdlciBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZChuKzgpIH4gbGkuYWN0aXZlIH4gbGk6bnRoLWxhc3QtY2hpbGQoLW4rNSkge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlciBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZChuKzgpLmFjdGl2ZSB+IGxpOm50aC1sYXN0LWNoaWxkKC1uKzUpOmJlZm9yZSxcbiAgLnBhZ2VyIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKG4rOCkgfiBsaS5hY3RpdmUgfiBsaTpudGgtbGFzdC1jaGlsZCgtbis1KTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhZ2VyIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKG4rOCkuYWN0aXZlIH4gbGk6bnRoLWNoaWxkKC1uKzUpLFxuLnBhZ2VyIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKG4rOCkgfiBsaS5hY3RpdmUgfiBsaTpudGgtY2hpbGQoLW4rNSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnBhZ2VyIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKG4rOCkuYWN0aXZlIH4gbGk6bnRoLWNoaWxkKC1uKzQpOmFmdGVyLFxuLnBhZ2VyIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKG4rOCkgfiBsaS5hY3RpdmUgfiBsaTpudGgtY2hpbGQoLW4rNCk6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wYWdlciBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZChuKzgpLmFjdGl2ZSB+IGxpOm50aC1jaGlsZCg1KSxcbi5wYWdlciBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZChuKzgpIH4gbGkuYWN0aXZlIH4gbGk6bnRoLWNoaWxkKDUpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wYWdlciBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZChuKzgpLmFjdGl2ZSB+IGxpOm50aC1jaGlsZCg1KTphZnRlcixcbiAgLnBhZ2VyIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKG4rOCkgfiBsaS5hY3RpdmUgfiBsaTpudGgtY2hpbGQoNSk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDI2XCI7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBtYXJnaW4tbGVmdDogMi41cHg7IH1cblxuLnBhZ2VyIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKG4rOCkuYWN0aXZlOmJlZm9yZSwgLnBhZ2VyIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKG4rOCkuYWN0aXZlOmFmdGVyLFxuLnBhZ2VyIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKG4rOCkgfiBsaS5hY3RpdmU6YmVmb3JlLFxuLnBhZ2VyIGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKG4rOCkgfiBsaS5hY3RpdmU6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbnVsLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDIuNWVtIDAgMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjk5cHgpIHtcbiAgICB1bC5wYWdpbmF0aW9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgdWwucGFnaW5hdGlvbiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGk6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XG4gICAgdWwucGFnaW5hdGlvbiBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGkgYSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICB1bC5wYWdpbmF0aW9uIGxpIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAxNHB4OyB9IH1cbiAgICAgIHVsLnBhZ2luYXRpb24gbGkgYTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICB1bC5wYWdpbmF0aW9uIGxpIHNwYW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGkgLmN1cnJlbnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0VDRUM7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGkgc3Bhbjpub3QoLmRvdHMpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBwYWRkaW5nOiAwIDdweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTsgfVxuICB1bC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNFQ0VDO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7IH1cbiAgdWwucGFnaW5hdGlvbiAubmV4dCxcbiAgdWwucGFnaW5hdGlvbiAucHJldiB7XG4gICAgY29sb3I6ICNDQzAwMzM7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLndwLWJsb2NrLWltYWdlIC5hbGlnbmxlZnQsXG4ud3AtYmxvY2staW1hZ2UgLmFsaWducmlnaHQge1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuNmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC53cC1ibG9jay1pbWFnZSAuYWxpZ25sZWZ0LFxuICAgIC53cC1ibG9jay1pbWFnZSAuYWxpZ25yaWdodCB7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDAgMXJlbSAwOyB9IH1cblxuLndwLWJsb2NrLWltYWdlIC5hbGlnbmxlZnQge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC53cC1ibG9jay1pbWFnZSAuYWxpZ25sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLndwLWJsb2NrLWltYWdlIC5hbGlnbnJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAud3AtYmxvY2staW1hZ2UgLmFsaWducmlnaHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDM1cHggIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4ud3AtYmxvY2staW1hZ2UuZmVhdHVyZSB7XG4gIHdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgbWFyZ2luLXRvcDogM2VtO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIG1heC13aWR0aDogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjk5cHgpIHtcbiAgICAud3AtYmxvY2staW1hZ2UuZmVhdHVyZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC53cC1ibG9jay1pbWFnZS5mZWF0dXJlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiAxMTAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LW1hc2suc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfSB9XG4gIC53cC1ibG9jay1pbWFnZS5mZWF0dXJlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY5OXB4KSB7XG4gICAgICAud3AtYmxvY2staW1hZ2UuZmVhdHVyZTphZnRlciB7XG4gICAgICAgIHRvcDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1MHZ3IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDUwdncgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IDQwcHggc29saWQgI0VDRUNFQztcbiAgICAgICAgei1pbmRleDogLTE7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLndwLWJsb2NrLWltYWdlLmZlYXR1cmU6YWZ0ZXIge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC42KSwgcmdiYSgyNTUsIDAsIDAsIDApKTtcbiAgICAgICAgei1pbmRleDogMTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC53cC1ibG9jay1pbWFnZS5mZWF0dXJlIHtcbiAgICAgIG1hcmdpbi10b3A6IDRlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuMWVtO1xuICAgICAgbWluLWhlaWdodDogNTN2dztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLndwLWJsb2NrLWltYWdlLmZlYXR1cmUge1xuICAgICAgaGVpZ2h0OiBjYWxjKCg3MHZ3IC8gMTYpICogOSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjNlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTM1MHB4KSB7XG4gICAgLndwLWJsb2NrLWltYWdlLmZlYXR1cmUge1xuICAgICAgbGVmdDogY2FsYygoNzIwcHggLSAxMzUwcHgpIC8gMik7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEzNTBweDtcbiAgICAgIGhlaWdodDogNTUwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAyLjhlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuMmVtOyB9IH1cbiAgLndwLWJsb2NrLWltYWdlLmZlYXR1cmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMXB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMTEwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LW1hc2suc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2OTlweCkge1xuICAgICAgLndwLWJsb2NrLWltYWdlLmZlYXR1cmU6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDc5Ljd2dyArIDFweCk7XG4gICAgICAgIHRvcDogMnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDYwcHgpIHtcbiAgICAgIC53cC1ibG9jay1pbWFnZS5mZWF0dXJlOmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogNzkuN3Z3OyB9IH1cbiAgLndwLWJsb2NrLWltYWdlLmZlYXR1cmU6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgei1pbmRleDogaW5pdGlhbDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLndwLWJsb2NrLWltYWdlLmZlYXR1cmU6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC42KSwgcmdiYSgyNTUsIDAsIDAsIDApKTtcbiAgICAgICAgb3BhY2l0eTogNDAlO1xuICAgICAgICB6LWluZGV4OiAxOyB9IH1cbiAgLndwLWJsb2NrLWltYWdlLmZlYXR1cmUgaW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC53cC1ibG9jay1pbWFnZS5mZWF0dXJlIGZpZ2NhcHRpb24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAzMHB4IDQwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY5OXB4KSB7XG4gICAgICAud3AtYmxvY2staW1hZ2UuZmVhdHVyZSBmaWdjYXB0aW9uIHtcbiAgICAgICAgY29sb3I6ICM1NTVkNjY7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLndwLWJsb2NrLWltYWdlLmZlYXR1cmUgZmlnY2FwdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAzMiU7XG4gICAgICAgIHBhZGRpbmc6IDZweCAwIDUlO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gICAgICAgIHotaW5kZXg6IDI7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC53cC1ibG9jay1pbWFnZS5mZWF0dXJlIGZpZ2NhcHRpb24ge1xuICAgICAgICB3aWR0aDogMzMlO1xuICAgICAgICBwYWRkaW5nOiAyOHB4IDAgNyU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLndwLWJsb2NrLWltYWdlLmZlYXR1cmUgZmlnY2FwdGlvbjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAud3AtYmxvY2staW1hZ2UuZmVhdHVyZSBmaWdjYXB0aW9uOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDY3JTsgfSB9XG5cbi53cC1ibG9jay1jb2x1bW5zLmljb25zIHtcbiAgbWFyZ2luOiAzMHB4IGF1dG8gMzhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjk5cHgpIHtcbiAgICAud3AtYmxvY2stY29sdW1ucy5pY29ucyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC53cC1ibG9jay1jb2x1bW5zLmljb25zIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgZmxleC13cmFwOiB1bnNldDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAud3AtYmxvY2stY29sdW1ucy5pY29ucyB7XG4gICAgICBwYWRkaW5nOiAwIDcwcHg7IH0gfVxuICAud3AtYmxvY2stY29sdW1ucy5pY29ucyAud3AtYmxvY2staW1hZ2Uge1xuICAgIHdpZHRoOiAxMTJweDtcbiAgICBoZWlnaHQ6IDExMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0QjRGO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0VDRUM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLndwLWJsb2NrLWNvbHVtbnMuaWNvbnMgLndwLWJsb2NrLWltYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMThweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTQ1cHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2U7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLndwLWJsb2NrLWNvbHVtbnMuaWNvbnMgLndwLWJsb2NrLWltYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAgIC53cC1ibG9jay1jb2x1bW5zLmljb25zIC53cC1ibG9jay1pbWFnZSBpbWcge1xuICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuICAgIC53cC1ibG9jay1jb2x1bW5zLmljb25zIC53cC1ibG9jay1pbWFnZSBhOmhvdmVyIGltZyxcbiAgICAud3AtYmxvY2stY29sdW1ucy5pY29ucyAud3AtYmxvY2staW1hZ2UgYTpmb2N1cyBpbWcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9XG4gIC53cC1ibG9jay1jb2x1bW5zLmljb25zIC53cC1ibG9jay1jb2x1bW4ge1xuICAgIG1hcmdpbjogMCAwIDQ1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjk5cHgpIHtcbiAgICAgIC53cC1ibG9jay1jb2x1bW5zLmljb25zIC53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxLjVlbTtcbiAgICAgICAgbWF4LXdpZHRoOiAyNzBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAud3AtYmxvY2stY29sdW1ucy5pY29ucyAud3AtYmxvY2stY29sdW1uIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZTsgfSB9XG4gICAgLndwLWJsb2NrLWNvbHVtbnMuaWNvbnMgLndwLWJsb2NrLWNvbHVtbjpudGgtY2hpbGQoMikge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yczsgfVxuICAgIC53cC1ibG9jay1jb2x1bW5zLmljb25zIC53cC1ibG9jay1jb2x1bW46bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNHM7IH1cbiAgICAud3AtYmxvY2stY29sdW1ucy5pY29ucyAud3AtYmxvY2stY29sdW1uOm50aC1jaGlsZCg0KSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjZzOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAud3AtYmxvY2stY29sdW1ucy5pY29ucyAud3AtYmxvY2stY29sdW1uOm50aC1jaGlsZCgybiksIC53cC1ibG9jay1jb2x1bW5zLmljb25zIC53cC1ibG9jay1jb2x1bW46bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC53cC1ibG9jay1jb2x1bW5zLmljb25zIC53cC1ibG9jay1jb2x1bW46bnRoLWNoaWxkKDJuKSwgLndwLWJsb2NrLWNvbHVtbnMuaWNvbnMgLndwLWJsb2NrLWNvbHVtbjpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLndwLWJsb2NrLWNvbHVtbnMuaWNvbnMgLndwLWJsb2NrLWNvbHVtbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MDBweCkgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgIC53cC1ibG9jay1jb2x1bW5zLmljb25zIC53cC1ibG9jay1jb2x1bW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW46IDAgMTVweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAud3AtYmxvY2stY29sdW1ucy5pY29ucyAud3AtYmxvY2stY29sdW1uOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgLndwLWJsb2NrLWNvbHVtbnMuaWNvbnMgLndwLWJsb2NrLWNvbHVtbjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luOiAwIDE1cHg7IH0gfVxuICAgIC53cC1ibG9jay1jb2x1bW5zLmljb25zIC53cC1ibG9jay1jb2x1bW4gaDIsIC53cC1ibG9jay1jb2x1bW5zLmljb25zIC53cC1ibG9jay1jb2x1bW4gaDMsIC53cC1ibG9jay1jb2x1bW5zLmljb25zIC53cC1ibG9jay1jb2x1bW4gaDQsIC53cC1ibG9jay1jb2x1bW5zLmljb25zIC53cC1ibG9jay1jb2x1bW4gaDUsIC53cC1ibG9jay1jb2x1bW5zLmljb25zIC53cC1ibG9jay1jb2x1bW4gaDYge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC53cC1ibG9jay1jb2x1bW5zLmljb25zIC53cC1ibG9jay1jb2x1bW4gaDMge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLndwLWJsb2NrLWNvbHVtbnMuaWNvbnMgLndwLWJsb2NrLWNvbHVtbiBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuN2VtOyB9IH1cbiAgICAgIC53cC1ibG9jay1jb2x1bW5zLmljb25zIC53cC1ibG9jay1jb2x1bW4gaDMgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB3b3JkLWJyZWFrOiBrZWVwLWFsbDsgfVxuICAgICAgICAud3AtYmxvY2stY29sdW1ucy5pY29ucyAud3AtYmxvY2stY29sdW1uIGgzIGE6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogN3B4O1xuICAgICAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA3cHg7XG4gICAgICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTM1ZGVnKTsgfVxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAgICAgLndwLWJsb2NrLWNvbHVtbnMuaWNvbnMgLndwLWJsb2NrLWNvbHVtbiBoMyBhOmFmdGVyIHtcbiAgICAgICAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTFweDsgfSB9XG4gIC53cC1ibG9jay1jb2x1bW5zLmljb25zLmpzLWFjdGl2ZSAud3AtYmxvY2staW1hZ2Uge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgLndwLWJsb2NrLWNvbHVtbnMuaWNvbnMuanMtYWN0aXZlIC53cC1ibG9jay1jb2x1bW4ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLndwLWJsb2NrLWNvbHVtbnMuaWNvbnMuaGFzLTYtY29sdW1ucywgLndwLWJsb2NrLWNvbHVtbnMuaWNvbnMuaGFzLTUtY29sdW1ucyB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLndwLWJsb2NrLWVtYmVkIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDIuNWVtO1xuICBtYXJnaW4tdG9wOiAyLjVlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLndwLWJsb2NrLWVtYmVkIHtcbiAgICAgIG1heC13aWR0aDogNTczcHg7IH0gfVxuICAud3AtYmxvY2stZW1iZWQgaWZyYW1lIHtcbiAgICBtYXJnaW4tbGVmdDogLTIwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KSAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAud3AtYmxvY2stZW1iZWQgaWZyYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAud3AtYmxvY2stZW1iZWQgaWZyYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1NzNweCAhaW1wb3J0YW50OyB9IH1cbiAgLndwLWJsb2NrLWVtYmVkLXlvdXR1YmUgLndwLWJsb2NrLWVtYmVkX193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC00MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3NCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC53cC1ibG9jay1lbWJlZC15b3V0dWJlIC53cC1ibG9jay1lbWJlZF9fd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMzJweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMzJweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDYyLjIlOyB9IH1cbiAgLndwLWJsb2NrLWVtYmVkLXlvdXR1YmUgaWZyYW1lIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAud3AtYmxvY2stZW1iZWQteW91dHViZSBpZnJhbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDc5NnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA3OTZweCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC53cC1ibG9jay1lbWJlZC15b3V0dWJlIHtcbiAgICAgIG1heC13aWR0aDogNzk2cHggIWltcG9ydGFudDsgfSB9XG4gIC53cC1ibG9jay1lbWJlZC10d2l0dGVyIC53cC1ibG9jay1lbWJlZF9fd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAud3AtYmxvY2stZW1iZWQtdHdpdHRlciAud3AtYmxvY2stZW1iZWRfX3dyYXBwZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgICAud3AtYmxvY2stZW1iZWQtdHdpdHRlciAud3AtYmxvY2stZW1iZWRfX3dyYXBwZXIgaWZyYW1lIHtcbiAgICAgIGhlaWdodDogNDUwcHggIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLndwLWJsb2NrLWVtYmVkLXR3aXR0ZXIgLndwLWJsb2NrLWVtYmVkX193cmFwcGVyIGlmcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiA4NTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIC53cC1ibG9jay1lbWJlZC1mbGlja3IgLndwLWJsb2NrLWVtYmVkX193cmFwcGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgNDBweCkgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogLTIwcHggIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA3OCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC53cC1ibG9jay1lbWJlZC1mbGlja3IgLndwLWJsb2NrLWVtYmVkX193cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDY2LjUlO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9IH1cbiAgLndwLWJsb2NrLWVtYmVkLWZsaWNrciBpZnJhbWUge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAud3AtYmxvY2stZW1iZWQtZmxpY2tyIGlmcmFtZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuICAud3AtYmxvY2stZW1iZWQgLmZiX2lmcmFtZV93aWRnZXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC53cC1ibG9jay1lbWJlZCAuZmJfaWZyYW1lX3dpZGdldCB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuICAgIC53cC1ibG9jay1lbWJlZCAuZmJfaWZyYW1lX3dpZGdldCBzcGFuIHtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gICAgICAud3AtYmxvY2stZW1iZWQgLmZiX2lmcmFtZV93aWRnZXQgc3BhbiBpZnJhbWUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAgICAgICAud3AtYmxvY2stZW1iZWQgLmZiX2lmcmFtZV93aWRnZXQgc3BhbiBpZnJhbWUge1xuICAgICAgICAgICAgd2lkdGg6IDMyMHB4ICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgICAud3AtYmxvY2stZW1iZWQgLmZiX2lmcmFtZV93aWRnZXQgc3BhbiBpZnJhbWUge1xuICAgICAgICAgICAgd2lkdGg6IDUwMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4uYXQtc2hhcmUtYnRuLWVsZW1lbnRzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuYXQtc2hhcmUtYnRuLWVsZW1lbnRzIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uanMtdGFibGUtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAtNDBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAuanMtdGFibGUtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7IH0gfVxuICAuanMtdGFibGUtY29udGFpbmVyIC50YWJsZV9faW5uZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5qcy10YWJsZS1jb250YWluZXIgLnRhYmxlX19pbm5lciB7XG4gICAgICAgIG92ZXJmbG93OiBpbml0aWFsOyB9IH1cbiAgLmpzLXRhYmxlLWNvbnRhaW5lciAud3AtYmxvY2stdGFibGUge1xuICAgIG1pbi13aWR0aDogNjMwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5qcy10YWJsZS1jb250YWluZXIgLndwLWJsb2NrLXRhYmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDsgfSB9XG4gIC5qcy10YWJsZS1jb250YWluZXIgKyAud3AtYmxvY2stYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi50YWJsZV9fc2Nyb2xsIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLnRhYmxlX19zY3JvbGwtLWxlZnQsIC50YWJsZV9fc2Nyb2xsLS1yaWdodCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgICAudGFibGVfX3Njcm9sbC0tbGVmdDphZnRlciwgLnRhYmxlX19zY3JvbGwtLXJpZ2h0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDRweCk7XG4gICAgICByaWdodDogLTJweDtcbiAgICAgIHdpZHRoOiA0cHg7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjQ0MwMDMzO1xuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjQ0MwMDMzO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIC50YWJsZV9fc2Nyb2xsLS1sZWZ0OmFmdGVyLCAudGFibGVfX3Njcm9sbC0tcmlnaHQ6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAycHgpOyB9IH1cbiAgICAudGFibGVfX3Njcm9sbC0tbGVmdDphZnRlciwgLnRhYmxlX19zY3JvbGwtLXJpZ2h0OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMjAlKSByb3RhdGUoMTM1ZGVnKTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAycHgpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAudGFibGVfX3Njcm9sbC0tbGVmdCwgLnRhYmxlX19zY3JvbGwtLXJpZ2h0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgLnRhYmxlX19zY3JvbGwtLWxlZnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogLTdweDsgfVxuICAgIC50YWJsZV9fc2Nyb2xsLS1sZWZ0OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMjAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIGxlZnQ6IC0xN3B4OyB9XG4gIC50YWJsZV9fc2Nyb2xsLS1yaWdodCB7XG4gICAgcmlnaHQ6IDM0cHg7IH1cbiAgICAudGFibGVfX3Njcm9sbC0tcmlnaHQ6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IC0zcHg7IH1cblxuLnRhYmxlLWpzLXNjcm9sbC1sZWZ0IC50YWJsZV9fc2Nyb2xsLS1sZWZ0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udGFibGUtanMtc2Nyb2xsLWxlZnQgLnRhYmxlX19zY3JvbGwtLXJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRhYmxlLWpzLXNjcm9sbC1yaWdodCAudGFibGVfX3Njcm9sbC0tcmlnaHQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50YWJsZS1qcy1zY3JvbGwtcmlnaHQgLnRhYmxlX19zY3JvbGwtLWxlZnQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubmYtZm9ybS13cmFwIGxpIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5uZi1mb3JtLXdyYXAgbGk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLm5mLWZvcm0td3JhcCAubmYtcmVzcG9uc2UtbXNnIHtcbiAgbWFyZ2luOiAzLjJlbSAwOyB9XG4gIC5uZi1mb3JtLXdyYXAgLm5mLXJlc3BvbnNlLW1zZyBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5uZi1mb3JtLXdyYXAgLm5mLXJlc3BvbnNlLW1zZyBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuLm5mLWZvcm0td3JhcCAubmYtZXJyb3Ige1xuICBjb2xvcjogI0NDMDAzMztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAubmYtZm9ybS13cmFwIC5uZi1lcnJvciB7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICAubmYtZm9ybS13cmFwIC5uZi1lcnJvciAubmluamEtZm9ybXMtZmllbGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQzAwMzM7IH1cblxuLm5mLWZvcm0td3JhcCBsYWJlbCxcbi5uZi1mb3JtLXdyYXAgaW5wdXQsXG4ubmYtZm9ybS13cmFwIHNlbGVjdCxcbi5uZi1mb3JtLXdyYXAgLm5pbmphLWZvcm1zLXJlcS1zeW1ib2wge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLm5mLWZvcm0td3JhcCBsYWJlbCxcbiAgICAubmYtZm9ybS13cmFwIGlucHV0LFxuICAgIC5uZi1mb3JtLXdyYXAgc2VsZWN0LFxuICAgIC5uZi1mb3JtLXdyYXAgLm5pbmphLWZvcm1zLXJlcS1zeW1ib2wge1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgLm5mLWZvcm0td3JhcCBsYWJlbDo6cGxhY2Vob2xkZXIsXG4gIC5uZi1mb3JtLXdyYXAgaW5wdXQ6OnBsYWNlaG9sZGVyLFxuICAubmYtZm9ybS13cmFwIHNlbGVjdDo6cGxhY2Vob2xkZXIsXG4gIC5uZi1mb3JtLXdyYXAgLm5pbmphLWZvcm1zLXJlcS1zeW1ib2w6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzc2NzY3NjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5uZi1mb3JtLXdyYXAgLmZpZWxkLXdyYXA6bm90KC5jaGVja2JveC13cmFwKSAubmYtZmllbGQtbGFiZWwgbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDsgfSB9XG5cbi5uZi1mb3JtLXdyYXAgLm5mLWZvcm0tZmllbGRzLXJlcXVpcmVkIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ubmYtZm9ybS13cmFwIC5uZi1maWVsZC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC5uZi1mb3JtLXdyYXAgLm5mLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cblxuLm5mLWZvcm0td3JhcCAubmluamEtZm9ybXMtZmllbGQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAubmYtZm9ybS13cmFwIC50ZXh0Ym94LXdyYXAge1xuICAgIG1heC13aWR0aDogMjc4cHg7IH0gfVxuXG4ubmYtZm9ybS13cmFwIC50ZXh0YXJlYS13cmFwIC5uaW5qYS1mb3Jtcy1maWVsZCB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgaGVpZ2h0OiAxMDBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLm5mLWZvcm0td3JhcCAudGV4dGFyZWEtd3JhcCAubmluamEtZm9ybXMtZmllbGQge1xuICAgICAgaGVpZ2h0OiAxNDJweDsgfSB9XG5cbi5uZi1mb3JtLXdyYXAgLmNoZWNrYm94LWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDlweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAubmYtZm9ybS13cmFwIC5jaGVja2JveC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gIC5uZi1mb3JtLXdyYXAgLmNoZWNrYm94LWNvbnRhaW5lciAuY2hlY2tib3gtd3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAubmYtZm9ybS13cmFwIC5jaGVja2JveC1jb250YWluZXIgLmNoZWNrYm94LXdyYXAuanMtZm9jdXNlZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5uZi1mb3JtLXdyYXAgLmNoZWNrYm94LWNvbnRhaW5lciAuY2hlY2tib3gtd3JhcC5qcy1mb2N1c2VkOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDAsIDEyMywgMjU1LCAwLjUpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLm5mLWZvcm0td3JhcCAuY2hlY2tib3gtY29udGFpbmVyIC5jaGVja2JveC13cmFwIC5uZi1maWVsZC1lbGVtZW50IHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7IH1cbiAgICAubmYtZm9ybS13cmFwIC5jaGVja2JveC1jb250YWluZXIgLmNoZWNrYm94LXdyYXAgLm5mLWZpZWxkLWxhYmVsIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLm5mLWZvcm0td3JhcCAuY2hlY2tib3gtY29udGFpbmVyIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAwIDAgMjVweDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07IH1cbiAgICAubmYtZm9ybS13cmFwIC5jaGVja2JveC1jb250YWluZXIgbGFiZWw6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5uZi1mb3JtLXdyYXAgLmNoZWNrYm94LWNvbnRhaW5lciBsYWJlbC5uZi1jaGVja2VkLWxhYmVsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA2cHg7XG4gICAgICBsZWZ0OiA0cHg7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjMDA4MTkwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMDgxOTA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIC5uZi1mb3JtLXdyYXAgLmNoZWNrYm94LWNvbnRhaW5lciBsaSB7XG4gICAgbWFyZ2luOiAwIDAgOHB4ICFpbXBvcnRhbnQ7IH1cblxuLm5mLWZvcm0td3JhcCAubGlzdGNoZWNrYm94LWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDlweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAubmYtZm9ybS13cmFwIC5saXN0Y2hlY2tib3gtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAubmYtZm9ybS13cmFwIC5saXN0Y2hlY2tib3gtY29udGFpbmVyIC5saXN0Y2hlY2tib3gtd3JhcCAubmYtZmllbGQtZWxlbWVudCBsaS5qcy1mb2N1c2VkOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTZweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDAsIDEyMywgMjU1LCAwLjUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAubmYtZm9ybS13cmFwIC5saXN0Y2hlY2tib3gtY29udGFpbmVyIC5saXN0Y2hlY2tib3gtd3JhcCAubmYtZmllbGQtZWxlbWVudCBpbnB1dCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4O1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTsgfVxuICAgIC5uZi1mb3JtLXdyYXAgLmxpc3RjaGVja2JveC1jb250YWluZXIgLmxpc3RjaGVja2JveC13cmFwIC5uZi1maWVsZC1lbGVtZW50IGlucHV0Lm5mLWNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNnB4O1xuICAgICAgbGVmdDogNHB4O1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzAwODE5MDtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDA4MTkwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAubmYtZm9ybS13cmFwIC5saXN0Y2hlY2tib3gtY29udGFpbmVyIC5saXN0Y2hlY2tib3gtd3JhcCAubmYtZmllbGQtZWxlbWVudCBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtOyB9XG4gICAgLm5mLWZvcm0td3JhcCAubGlzdGNoZWNrYm94LWNvbnRhaW5lciAubGlzdGNoZWNrYm94LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQgbGFiZWw6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubmYtZm9ybS13cmFwIC5saXN0Y2hlY2tib3gtY29udGFpbmVyIC5saXN0Y2hlY2tib3gtd3JhcCAubmYtZmllbGQtZWxlbWVudCBsaSB7XG4gICAgbWFyZ2luOiAwIDAgOHB4ICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gIC5uZi1mb3JtLXdyYXAgLmxpc3RyYWRpby13cmFwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4ubmYtZm9ybS13cmFwIC5saXN0cmFkaW8td3JhcCAubmYtZmllbGQtZWxlbWVudCBsaS5qcy1mb2N1c2VkOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMTZweDtcbiAgY29udGVudDogJyc7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDAsIDEyMywgMjU1LCAwLjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5uZi1mb3JtLXdyYXAgLmxpc3RyYWRpby13cmFwIC5uZi1maWVsZC1lbGVtZW50IGlucHV0IHtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTsgfVxuICAubmYtZm9ybS13cmFwIC5saXN0cmFkaW8td3JhcCAubmYtZmllbGQtZWxlbWVudCBpbnB1dC5uZi1jaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDRweDtcbiAgICBsZWZ0OiA0cHg7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDgxOTA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4ubmYtZm9ybS13cmFwIC5saXN0cmFkaW8td3JhcCAubmYtZmllbGQtZWxlbWVudCBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMCAwIDI1cHg7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cbiAgLm5mLWZvcm0td3JhcCAubGlzdHJhZGlvLXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQgbGFiZWw6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTZweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAubmYtZm9ybS13cmFwIC5saXN0c2VsZWN0LXdyYXAge1xuICAgIG1heC13aWR0aDogMjc4cHg7IH0gfVxuXG4ubmYtZm9ybS13cmFwIC5saXN0c2VsZWN0LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm5mLWZvcm0td3JhcCAubGlzdHNlbGVjdC13cmFwIC5uZi1maWVsZC1lbGVtZW50OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDRweCk7XG4gICAgcmlnaHQ6IC0ycHg7XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI0NDMDAzMztcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNDQzAwMzM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAubmYtZm9ybS13cmFwIC5saXN0c2VsZWN0LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQ6YWZ0ZXIge1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMnB4KTsgfSB9XG4gIC5uZi1mb3JtLXdyYXAgLmxpc3RzZWxlY3Qtd3JhcCAubmYtZmllbGQtZWxlbWVudDphZnRlciB7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDNweCk7XG4gICAgcmlnaHQ6IDEzcHg7IH1cblxuLm5mLWZvcm0td3JhcCAubGlzdHNlbGVjdC13cmFwIHNlbGVjdCB7XG4gIGNvbG9yOiAjNzY3Njc2O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDEwcHggMzBweCAxMHB4IDE0cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLm5mLWZvcm0td3JhcCAuc3VibWl0LWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDM1cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgLm5mLWZvcm0td3JhcCAuc3VibWl0LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiA0NXB4OyB9IH1cbiAgLm5mLWZvcm0td3JhcCAuc3VibWl0LWNvbnRhaW5lciAudGV4dGJveC13cmFwID4gLm5mLWZpZWxkLWVsZW1lbnQge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xuICAgIGJhY2tncm91bmQ6ICNDQzAwMzM7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDsgfVxuICAgIC5uZi1mb3JtLXdyYXAgLnN1Ym1pdC1jb250YWluZXIgLnRleHRib3gtd3JhcCA+IC5uZi1maWVsZC1lbGVtZW50OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDk7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgICAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC50ZXh0Ym94LXdyYXAgPiAubmYtZmllbGQtZWxlbWVudDpob3ZlciwgLm5mLWZvcm0td3JhcCAuc3VibWl0LWNvbnRhaW5lciAudGV4dGJveC13cmFwID4gLm5mLWZpZWxkLWVsZW1lbnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk4MDUyOTsgfVxuICAgICAgLm5mLWZvcm0td3JhcCAuc3VibWl0LWNvbnRhaW5lciAudGV4dGJveC13cmFwID4gLm5mLWZpZWxkLWVsZW1lbnQ6aG92ZXI6YmVmb3JlLCAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIC50ZXh0Ym94LXdyYXAgPiAubmYtZmllbGQtZWxlbWVudDpmb2N1czpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDdweDsgfVxuICAubmYtZm9ybS13cmFwIC5zdWJtaXQtY29udGFpbmVyIGlucHV0IHtcbiAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDE0cHggMTlweDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ubmYtZm9ybS13cmFwIG5mLWZpZWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cblxuLm5mLWZvcm0td3JhcCAubmYtc3RhdGljLFxuLm5mLWZvcm0td3JhcCAubmYtZWxlbWVudCB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLm5mLWZvcm0td3JhcCAucHJvZHVjdC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5uZi1mb3JtLXdyYXAgLm5mLXByb2R1Y3QtZmllbGQge1xuICBib3JkZXI6IG5vbmU7IH1cbiAgLm5mLWZvcm0td3JhcCAubmYtcHJvZHVjdC1maWVsZCAubmYtcHJvZHVjdC1wcmljZS1sYWJlbCxcbiAgLm5mLWZvcm0td3JhcCAubmYtcHJvZHVjdC1maWVsZCAubmYtcHJvZHVjdC1wcmljZSxcbiAgLm5mLWZvcm0td3JhcCAubmYtcHJvZHVjdC1maWVsZCAubmYtcHJvZHVjdC1xdWFudGl0eS1sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAubmYtZm9ybS13cmFwIC5uZi1wcm9kdWN0LWZpZWxkIC5uZi1wcm9kdWN0LXF1YW50aXR5IGlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyB9XG5cbi53cC1ibG9jay1pbWFnZSBmaWd1cmU6bm90KC5hbGlnbmxlZnQpLFxuLndwLWJsb2NrLWltYWdlIGZpZ3VyZTpub3QoLmFsaWducmlnaHQpIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLndwLWJsb2NrLWltYWdlIGZpZ2NhcHRpb24ge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi10b3A6IDEuMDVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS43OGVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC53cC1ibG9jay1pbWFnZSBmaWdjYXB0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuMDVlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAud3AtYmxvY2staW1hZ2UgZmlnY2FwdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjI1ZW07IH0gfVxuXG4ud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTMge1xuICB3aWR0aDogMTAwdnc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDQ0cHggLTUwdnc7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0zIHtcbiAgICAgIG1hcmdpbjogMCAwIDEuNWVtIC01MHZ3OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtMyB7XG4gICAgICBtYXJnaW46IDUwcHggMCA3MHB4IC01MHZ3OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAgIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtMyB7XG4gICAgICB3aWR0aDogMTM1MHB4O1xuICAgICAgbGVmdDogY2FsYygoNzIwcHggLSAxMzUwcHgpIC8gMik7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDcwcHg7IH0gfVxuICAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTMgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogMCAwIDhweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0zIC5ibG9ja3MtZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0zIC5ibG9ja3MtZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfSB9XG4gICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0zIC5ibG9ja3MtZ2FsbGVyeS1pdGVtOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0zIC5ibG9ja3MtZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgxKSwgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0zIC5ibG9ja3MtZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg2bis2KSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4OiAxIDAgMzAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDUlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0zIC5ibG9ja3MtZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgxKSwgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0zIC5ibG9ja3MtZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg2bis2KSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0zIC5ibG9ja3MtZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgxKSwgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0zIC5ibG9ja3MtZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg2bis2KSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4OyB9IH1cbiAgICAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTMgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDIpLCAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTMgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDZuKzcpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXg6IDEgMCAzMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0NSU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTMgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDIpLCAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTMgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDZuKzcpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTMgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDIpLCAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTMgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDZuKzcpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7IH0gfVxuICAgIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtMyAuYmxvY2tzLWdhbGxlcnktaXRlbTpudGgtY2hpbGQoMyksIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtMyAuYmxvY2tzLWdhbGxlcnktaXRlbTpudGgtY2hpbGQoNm4rOCkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleDogMSAwIDMwJTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0NSU7IH1cbiAgICAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTMgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDQpLCAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTMgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDZuKzkpIHtcbiAgICAgIGZsZXg6IDEgMCA0OCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzNSU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTMgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDQpLCAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTMgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDZuKzkpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTMgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDQpLCAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTMgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDZuKzkpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7IH0gfVxuICAgIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtMyAuYmxvY2tzLWdhbGxlcnktaXRlbTpudGgtY2hpbGQoNSksIC53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtMyAuYmxvY2tzLWdhbGxlcnktaXRlbTpudGgtY2hpbGQoNm4rMTApIHtcbiAgICAgIGZsZXg6IDEgMCA0OCU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzUlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0zIC5ibG9ja3MtZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg1KSwgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0zIC5ibG9ja3MtZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg2bisxMCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgLndwLWJsb2NrLWdhbGxlcnkuY29sdW1ucy0zIC5ibG9ja3MtZ2FsbGVyeS1pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTMgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW0gZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAud3AtYmxvY2stZ2FsbGVyeS5jb2x1bW5zLTMgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW0gZmlndXJlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi53cC1ibG9jay1jb2x1bW5zLmhhcy0yLWNvbHVtbnMge1xuICBtYXJnaW4tYm90dG9tOiAxLjdlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAud3AtYmxvY2stY29sdW1ucy5oYXMtMi1jb2x1bW5zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTItY29sdW1ucyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTkwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC05MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNC4zZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTItY29sdW1ucyAud3AtYmxvY2stY29sdW1uIHtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjNweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC53cC1ibG9jay1jb2x1bW5zLmhhcy0yLWNvbHVtbnMgLndwLWJsb2NrLWNvbHVtbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tbGVmdDogNTJweDsgfSB9XG4gIC53cC1ibG9jay1jb2x1bW5zLmhhcy0yLWNvbHVtbnMgLndwLWJsb2NrLWNvbHVtbiBmaWd1cmUud3AtYmxvY2staW1hZ2UgZmlnY2FwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi44ZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC53cC1ibG9jay1jb2x1bW5zLmhhcy0yLWNvbHVtbnMgLndwLWJsb2NrLWNvbHVtbiBmaWd1cmUud3AtYmxvY2staW1hZ2UgZmlnY2FwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuM2VtOyB9IH1cbiAgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTItY29sdW1ucyBoMiB7XG4gICAgbWFyZ2luLXRvcDogMS4xZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC53cC1ibG9jay1jb2x1bW5zLmhhcy0yLWNvbHVtbnMgaDI6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAud3AtYmxvY2stY29sdW1ucy5oYXMtMi1jb2x1bW5zLm5ld3MtZXZlbnRzLWxpc3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zZW07IH0gfVxuXG4ud3AtYmxvY2stY29sdW1uOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gIG1hcmdpbi1ib3R0b206IDIuN2VtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gIC53cC1ibG9jay1jb2x1bW5zLmhhcy02LWNvbHVtbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIDEwMHB4KTtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLndwLWJsb2NrLWNvbHVtbnMuaGFzLTYtY29sdW1uczpub3QoLmljb25zKSAud3AtYmxvY2stY29sdW1uOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogMCAwIDAgMzJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAud3AtYmxvY2stY29sdW1ucy5oYXMtNi1jb2x1bW5zOm5vdCguaWNvbnMpIC53cC1ibG9jay1jb2x1bW46bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW46IDAgMzJweCAwIDA7IH0gfVxuXG4ud3AtYmxvY2stY29sdW1ucy5oYXMtNi1jb2x1bW5zIC53cC1ibG9jay1jb2x1bW4ge1xuICBmbGV4OiAxIDEgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC53cC1ibG9jay1jb2x1bW5zLmhhcy02LWNvbHVtbnMgLndwLWJsb2NrLWNvbHVtbiBoMyB7XG4gICAgICBmb250LXNpemU6IDE1cHg7IH0gfVxuXG4ud3AtYmxvY2stbWVvd2FwcHMtZmFxIC5tZW93LWZhcS1xdWVzdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuOGVtIDRlbSAwLjhlbSAxLjNlbTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNzY3Njc2O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLndwLWJsb2NrLW1lb3dhcHBzLWZhcSAubWVvdy1mYXEtcXVlc3Rpb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gNHB4KTtcbiAgICByaWdodDogLTJweDtcbiAgICB3aWR0aDogNHB4O1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjRkZGRkZGO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI0ZGRkZGRjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKC0xMzVkZWcpO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC53cC1ibG9jay1tZW93YXBwcy1mYXEgLm1lb3ctZmFxLXF1ZXN0aW9uOmFmdGVyIHtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDJweCk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAud3AtYmxvY2stbWVvd2FwcHMtZmFxIC5tZW93LWZhcS1xdWVzdGlvbiB7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICAud3AtYmxvY2stbWVvd2FwcHMtZmFxIC5tZW93LWZhcS1xdWVzdGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTJweCk7XG4gICAgcmlnaHQ6IDlweDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0NDMDAzMztcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlOyB9XG4gIC53cC1ibG9jay1tZW93YXBwcy1mYXEgLm1lb3ctZmFxLXF1ZXN0aW9uOmFmdGVyIHtcbiAgICByaWdodDogMTVweDsgfVxuICAud3AtYmxvY2stbWVvd2FwcHMtZmFxIC5tZW93LWZhcS1xdWVzdGlvblthcmlhLWV4cGFuZGVkPSd0cnVlJ106YWZ0ZXIge1xuICAgIHRvcDogY2FsYyg1MCUgLSAycHgpO1xuICAgIHJpZ2h0OiAxOHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4ud3AtYmxvY2stbWVvd2FwcHMtZmFxIC5tZW93LXRhYi1hbnN3ZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAwIDEuM2VtIDAuOGVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE0cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgLndwLWJsb2NrLW1lb3dhcHBzLWZhcSAubWVvdy10YWItYW5zd2VyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbi53cC1ibG9jay1tZW93YXBwcy1mYXEubGFzdCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNzY3Njc2O1xuICBtYXJnaW4tYm90dG9tOiA1LjFlbTsgfVxuXG4ubmV3cy1ldmVudHMtbGlzdGluZyBoMiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLm5ld3MtZXZlbnRzLWxpc3RpbmcgaDIge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5uZXdzLWxpc3Rpbmcge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAubmV3cy1saXN0aW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAubmV3cy1saXN0aW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfSB9XG4gIC5uZXdzLWxpc3RpbmdfX2xpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5uZXdzLWxpc3RpbmdfX2xpc3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzOXB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAubmV3cy1saXN0aW5nX19saXN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjJweDsgfSB9XG4gIC5uZXdzLWxpc3RpbmdfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudDsgfVxuICAgIC5uZXdzLWxpc3RpbmdfX2l0ZW0gYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLm5ld3MtbGlzdGluZ19faXRlbSBhIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH0gfVxuICAgIC5uZXdzLWxpc3RpbmdfX2l0ZW0gcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjk7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAubmV3cy1saXN0aW5nX19pdGVtIHAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAubmV3cy1saXN0aW5nX19pdGVtIC5pdGVtX19pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIC5uZXdzLWxpc3RpbmdfX2l0ZW0gLml0ZW1fX2ltYWdlIHtcbiAgICAgIHdpZHRoOiAyMDVweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY5OXB4KSB7XG4gICAgICAgIC5uZXdzLWxpc3RpbmdfX2l0ZW0gLml0ZW1fX2ltYWdlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMnB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAubmV3cy1saXN0aW5nX19pdGVtIC5pdGVtX19pbWFnZSB7XG4gICAgICAgICAgZmxleDogMCAwIDIwNXB4O1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMjRweDsgfSB9XG4gICAgICAubmV3cy1saXN0aW5nX19pdGVtIC5pdGVtX19pbWFnZSArIC5pdGVtX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIC5uZXdzLWxpc3RpbmdfX2l0ZW0gLml0ZW1fX2xpbmsge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLm5ld3MtbGlzdGluZ19faXRlbSAuaXRlbV9fbGluayB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMXB4OyB9IH1cbiAgICAgIC5uZXdzLWxpc3RpbmdfX2l0ZW0gLml0ZW1fX2xpbms6YWZ0ZXIge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogOHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4gICAgLm5ld3MtbGlzdGluZ19faXRlbSAuaXRlbV9fZGVzYyB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDsgfVxuICAgIC5uZXdzLWxpc3RpbmdfX2l0ZW0gLml0ZW1fX2RhdGUge1xuICAgICAgY29sb3I6ICM3Njc2NzY7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAubmV3cy1saXN0aW5nX19pdGVtLmZpcnN0IC5pdGVtX19pbWFnZSB7XG4gICAgICAgIGZsZXg6IDAgMCAzMzhweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAubmV3cy1saXN0aW5nX19pdGVtLmZpcnN0IC5pdGVtX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAubmV3cy1saXN0aW5nX19pdGVtLmZpcnN0IC5pdGVtX19saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5uZXdzLWxpc3RpbmdfX2l0ZW0uZmlyc3QgLml0ZW1fX2xpbmsgLmxhc3Qtd29yZDphZnRlciB7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgI0NDMDAzMztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjQ0MwMDMzOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5uZXdzLWxpc3RpbmdfX2l0ZW0uZmlyc3QgLml0ZW1fX2Rlc2Mge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4OyB9IH1cblxuLmV2ZW50X19tb250aCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5QjlCOUI7IH1cblxuLmV2ZW50X195ZWFyIHtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5ldmVudF9fZGF0ZS1maWVsZCB7XG4gIHdpZHRoOiAxMDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0byAtMTJweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAuZXZlbnRfX2RhdGUtZmllbGQge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLmV2ZW50X19kYXRlIHtcbiAgZm9udC1zaXplOiA3MHB4O1xuICBjb2xvcjogI0NDMDAzMztcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgbWFyZ2luLXRvcDogLTIwcHg7IH1cblxuLmV2ZW50X19saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuZXZlbnRfX2xpbms6YWZ0ZXIge1xuICAgIHRvcDogYXV0bztcbiAgICByaWdodDogLTE0cHg7XG4gICAgYm90dG9tOiA4cHg7XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG5cbi5ldmVudF9fc3VidGl0bGUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGNvbG9yOiAjNzY3Njc2OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC5ldmVudF9fc3VidGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogNXB4OyB9IH1cblxuLmV2ZW50cy1saXN0aW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgLmV2ZW50cy1saXN0aW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuZXZlbnRzLWxpc3Rpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtOyB9IH1cbiAgLmV2ZW50cy1saXN0aW5nX19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAuZXZlbnRzLWxpc3RpbmdfX2xpc3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzOXB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAuZXZlbnRzLWxpc3RpbmdfX2xpc3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MnB4OyB9IH1cbiAgLmV2ZW50cy1saXN0aW5nX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjk5cHgpIHtcbiAgICAgIC5ldmVudHMtbGlzdGluZ19faXRlbSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAuZXZlbnRzLWxpc3RpbmdfX2l0ZW0gLml0ZW1fX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAuZXZlbnRzLWxpc3RpbmdfX2l0ZW0gLml0ZW1fX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzdweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAuZXZlbnRzLWxpc3RpbmdfX2l0ZW0gLmV2ZW50X19kYXRlLWZpZWxkIHtcbiAgICAgICAgZmxleDogMCAwIDEwMHB4OyB9IH1cblxuLmRldGFpbC0tZXZlbnQgLmV2ZW50X19kYXRlLWZpZWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTNweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAuZGV0YWlsLS1ldmVudCAuZXZlbnRfX2RhdGUtZmllbGQge1xuICAgICAgZmxleDogMCAwIDEwMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9IH1cblxuLmRldGFpbC0tZXZlbnQgLmV2ZW50X19kYXRlIHtcbiAgbWFyZ2luLWJvdHRvbTogLTI4cHg7IH1cblxuLmRldGFpbC0tZXZlbnQgLmRldGFpbF9fdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogMjhweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAuZGV0YWlsLS1ldmVudCAuZGV0YWlsX190b3Age1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi5kZXRhaWwtLWV2ZW50IC5kZXRhaWxfX2hlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLmRldGFpbC0tZXZlbnQgLmRldGFpbF9faGVhZGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lOyB9XG5cbi5kaXIge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAuZGlyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuZGlyIHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjRlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfSB9XG4gIC5kaXIgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgLmRpcl9fbGlzdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzOXB4OyB9IH1cbiAgLmRpcl9fZmlsdGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyOXB4O1xuICAgIG1heC13aWR0aDogNzUwcHg7IH1cbiAgICAuZGlyX19maWx0ZXIgYSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAuZGlyX19maWx0ZXIgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgICAgIC5kaXJfX2ZpbHRlciBhLmpzLWFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5kaXJfX2NsZWFyIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC5kaXJfX2NsZWFyIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAyNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDQzAwMzM7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLmRpcl9fY2xlYXIgYnV0dG9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE0cHggMTBweCAyN3B4OyB9IH1cbiAgICAgIC5kaXJfX2NsZWFyIGJ1dHRvbjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuODsgfVxuICAgICAgLmRpcl9fY2xlYXIgYnV0dG9uIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmRpcl9fY2xlYXIgYnV0dG9uIHNwYW46YmVmb3JlLCAuZGlyX19jbGVhciBidXR0b24gc3BhbjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAgICAgLmRpcl9fY2xlYXIgYnV0dG9uIHNwYW46YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTQ1ZGVnKTsgfVxuICAuZGlyX19mYWNzdGFmZiB1bCwgLmRpcl9fYWxwaCB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmRpcl9fZmFjc3RhZmYgYSwgLmRpcl9fYWxwaCBhIHtcbiAgICBjb2xvcjogI0NDMDAzMztcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmRpcl9fZmFjc3RhZmYgYTpob3ZlciwgLmRpcl9fYWxwaCBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5kaXJfX2ZhY3N0YWZmIGxpLCAuZGlyX19hbHBoIGxpIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmRpcl9fZmFjc3RhZmYgbGk6bm90KDpsYXN0LW9mLXR5cGUpOmFmdGVyLCAuZGlyX19hbHBoIGxpOm5vdCg6bGFzdC1vZi10eXBlKTphZnRlciB7XG4gICAgICBjb250ZW50OiAnfCc7XG4gICAgICBjb2xvcjogIzc2NzY3NjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBtYXJnaW46IDAgNnB4O1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLmRpcl9fZmFjc3RhZmYgbGk6bm90KDpsYXN0LW9mLXR5cGUpOmFmdGVyLCAuZGlyX19hbHBoIGxpOm5vdCg6bGFzdC1vZi10eXBlKTphZnRlciB7XG4gICAgICAgICAgbWFyZ2luOiAwIDdweDsgfSB9XG4gIC5kaXJfX2ZhY3N0YWZmIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgLmRpcl9fZmFjc3RhZmYgYSB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAuZGlyX19mYWNzdGFmZiBhLmpzLWFjdGl2ZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAuZGlyX19mYWNzdGFmZiAuZmFjc3RhZmZfX2lubmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gIC5kaXJfX2FscGgge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxN3B4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLmRpcl9fYWxwaCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI5cHg7IH0gfVxuICAgIC5kaXJfX2FscGggYSxcbiAgICAuZGlyX19hbHBoIHNwYW4ge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5kaXJfX2FscGggc3Bhbi5qcy1kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogI0VDRUNFQzsgfVxuICAuZGlyX19tb3JlIC5tb3JlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZGlyX19tb3JlIC5tb3JlX19idHQge1xuICAgICAgd2lkdGg6IDE1OHB4O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgcGFkZGluZzogNnB4IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNFQ0VDO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuZGlyX19tb3JlIC5tb3JlX19idHQgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgICAgIC5kaXJfX21vcmUgLm1vcmVfX2J0dCBzcGFuOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDRweCk7XG4gICAgICAgICAgcmlnaHQ6IC0ycHg7XG4gICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgI0NDMDAzMztcbiAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNDQzAwMzM7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgICAgICAuZGlyX19tb3JlIC5tb3JlX19idHQgc3BhbjphZnRlciB7XG4gICAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAycHgpOyB9IH1cbiAgICAuZGlyX19tb3JlIC5tb3JlX19kcm9wZG93biB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VDRUNFQztcbiAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICBwYWRkaW5nOiA5cHggMjdweCA3cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggNHB4O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC5kaXJfX21vcmUgLm1vcmVfX2Ryb3Bkb3duIHAge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cbiAgICAgIC5kaXJfX21vcmUgLm1vcmVfX2Ryb3Bkb3duIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAuZGlyX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuZGlyX19pdGVtIGltZyB7XG4gICAgICB3aWR0aDogMTI4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLmRpcl9faXRlbSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxNTZweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAgIC5kaXJfX2l0ZW0gYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLmRpcl9faXRlbSBhIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH0gfVxuICAgIC5kaXJfX2l0ZW0gcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjk7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgICAuZGlyX19pdGVtIHAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41NjsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAuZGlyX19pdGVtIC5pdGVtX19pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIC5kaXJfX2l0ZW0gLml0ZW1fX2xpbmsge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1yaWdodDogMTdweDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIC5kaXJfX2l0ZW0gLml0ZW1fX2xpbmsge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gICAgICAuZGlyX19pdGVtIC5pdGVtX19saW5rOmFmdGVyIHtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDJweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTM1ZGVnKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLmRpcl9faXRlbSAuaW5mbyB7XG4gICAgICAgIG1hcmdpbjogLTVweCAwIDAgMjRweDtcbiAgICAgICAgZmxleDogMTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAuZGlyX19pdGVtIC5pbmZvX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAuZGlyX19pdGVtIC5pbmZvX19sZWZ0IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5kaXJfX2l0ZW0gLmluZm9fX3JpZ2h0IHtcbiAgICAgICAgZmxleDogMTsgfSB9XG4gICAgLmRpcl9faXRlbSAuaXRlbV9fcG9zaXRpb24ge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5kaXJfX2l0ZW0gLml0ZW1fX2RpdmlzaW9ucyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICAuZGlyX19pdGVtIC5pdGVtX19lbWFpbCB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgLmRpcl9faXRlbSAuaXRlbV9fZW1haWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gIC5kaXIgLmNsZWFyLWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICNDQzAwMzM7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAuZGlyIC5jbGVhci1hbGwge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICAgIC5kaXIgLmNsZWFyLWFsbDpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLmRpciAuY2xlYXItYWxsOmhvdmVyOmJlZm9yZSwgLmRpciAuY2xlYXItYWxsOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuICAgIC5kaXIgLmNsZWFyLWFsbDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0MwMDMzO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7IH1cbiAgICAuZGlyIC5jbGVhci1hbGw6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0NDMDAzMztcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlOyB9XG5cbi5kZXRhaWwtLWRpciB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLmRldGFpbC0tZGlyIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDJweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgICAgLmRldGFpbC0tZGlyIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH0gfVxuICAuZGV0YWlsLS1kaXIgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmRldGFpbC0tZGlyIC5kZXRhaWxfX2hlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAuZGV0YWlsLS1kaXIgLmRldGFpbF9faGVhZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsgfSB9XG4gICAgLmRldGFpbC0tZGlyIC5kZXRhaWxfX2hlYWRlcjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gIC5kZXRhaWwtLWRpciAuZGlyLWRldGFpbF9fcG9zaXRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgLmRldGFpbC0tZGlyIC5jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuZGV0YWlsLS1kaXIgLmNvbnRlbnRfX2xlZnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDIxcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIC5kZXRhaWwtLWRpciAuY29udGVudF9fbGVmdCB7XG4gICAgICAgIG1heC13aWR0aDogMzg1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjhweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDBweCkge1xuICAgIC5kZXRhaWwtLWRpciAuY29udGVudF9fcmlnaHQge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG5cbi50YWJsZXByZXNzLXRhYmxlLWRlc2NyaXB0aW9uIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG5cbnRhYmxlLnRhYmxlcHJlc3Mge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5OXB4KSB7XG4gICAgdGFibGUudGFibGVwcmVzcyB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgNTBweCk7IH0gfVxuICB0YWJsZS50YWJsZXByZXNzIC5vZGQgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0VDRUM7IH1cbiAgdGFibGUudGFibGVwcmVzcyB0Ym9keSB0ZCwgdGFibGUudGFibGVwcmVzcyAudGFibGVwcmVzcyB0Zm9vdCB0aCB7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIHRhYmxlLnRhYmxlcHJlc3MgdGJvZHkgdHIge1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgdGFibGUudGFibGVwcmVzcyB0Ym9keSB0ci5ldmVuOmhvdmVyIHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgICB0YWJsZS50YWJsZXByZXNzIHRib2R5IHRyLm9kZDpob3ZlciB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNFQ0VDICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUudGFibGVwcmVzcyB0aCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHBhZGRpbmctbGVmdDogMC40NHJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICB0YWJsZS50YWJsZXByZXNzIHRoIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjhyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgdGFibGUudGFibGVwcmVzcyB0aCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG4gIHRhYmxlLnRhYmxlcHJlc3MgdGQge1xuICAgIHBhZGRpbmc6IDAuOHJlbSAxcmVtIDAuNDRyZW0gMS4ycmVtO1xuICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICB0YWJsZS50YWJsZXByZXNzIHRkIHtcbiAgICAgICAgcGFkZGluZzogMC44cmVtIDAuOHJlbSAuNHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICB0YWJsZS50YWJsZXByZXNzIHRkIHtcbiAgICAgICAgcGFkZGluZzogLjlyZW0gMC44cmVtIC43cmVtO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7IH0gfVxuXG5kaXYuZGF0YVRhYmxlc19sZW5ndGgsIGRpdi5kYXRhVGFibGVzX2ZpbHRlciB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luOiAwIDAgMmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIGRpdi5kYXRhVGFibGVzX2xlbmd0aCwgZGl2LmRhdGFUYWJsZXNfZmlsdGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbmRpdi5kYXRhVGFibGVzX2xlbmd0aCBzZWxlY3Qge1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAgNnB4O1xuICBtYXJnaW46IDAgMCAwIDFlbTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDI0QjRGO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuZGl2LmRhdGFUYWJsZXNfZmlsdGVyIGlucHV0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgbWFyZ2luOiAwIDAgMCAxZW07XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQyNEI0RjsgfVxuXG5kaXYuZGF0YVRhYmxlc19pbmZvLCBkaXYuZGF0YVRhYmxlc19wYWdpbmF0ZSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luOiAyZW0gMCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgZGl2LmRhdGFUYWJsZXNfaW5mbywgZGl2LmRhdGFUYWJsZXNfcGFnaW5hdGUge1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuZGl2LmRhdGFUYWJsZXNfcGFnaW5hdGUgYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsgfVxuICBkaXYuZGF0YVRhYmxlc19wYWdpbmF0ZSBhLnBhZ2luYXRlX2J1dHRvbi5wcmV2aW91cyB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlOyB9XG4gICAgZGl2LmRhdGFUYWJsZXNfcGFnaW5hdGUgYS5wYWdpbmF0ZV9idXR0b24ucHJldmlvdXM6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gNHB4KTtcbiAgICAgIHJpZ2h0OiAtMnB4O1xuICAgICAgd2lkdGg6IDRweDtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNDQzAwMzM7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNDQzAwMzM7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKC0xMzVkZWcpO1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgZGl2LmRhdGFUYWJsZXNfcGFnaW5hdGUgYS5wYWdpbmF0ZV9idXR0b24ucHJldmlvdXM6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAycHgpOyB9IH1cbiAgICBkaXYuZGF0YVRhYmxlc19wYWdpbmF0ZSBhLnBhZ2luYXRlX2J1dHRvbi5wcmV2aW91czphZnRlciB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDRweCk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgZGl2LmRhdGFUYWJsZXNfcGFnaW5hdGUgYS5wYWdpbmF0ZV9idXR0b24ucHJldmlvdXM6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICBkaXYuZGF0YVRhYmxlc19wYWdpbmF0ZSBhLnBhZ2luYXRlX2J1dHRvbi5uZXh0IHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7IH1cbiAgICBkaXYuZGF0YVRhYmxlc19wYWdpbmF0ZSBhLnBhZ2luYXRlX2J1dHRvbi5uZXh0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDRweCk7XG4gICAgICByaWdodDogLTJweDtcbiAgICAgIHdpZHRoOiA0cHg7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjQ0MwMDMzO1xuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjQ0MwMDMzO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgICAgIGRpdi5kYXRhVGFibGVzX3BhZ2luYXRlIGEucGFnaW5hdGVfYnV0dG9uLm5leHQ6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAycHgpOyB9IH1cbiAgICBkaXYuZGF0YVRhYmxlc19wYWdpbmF0ZSBhLnBhZ2luYXRlX2J1dHRvbi5uZXh0OmFmdGVyIHtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSA0cHgpO1xuICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgd2lkdGg6IDRweDtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgfVxuICBkaXYuZGF0YVRhYmxlc19wYWdpbmF0ZSBhLnBhZ2luYXRlX2J1dHRvbjpiZWZvcmUsIGRpdi5kYXRhVGFibGVzX3BhZ2luYXRlIGEucGFnaW5hdGVfYnV0dG9uOmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICM0MjRCNEY7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3MgZWFzZTsgfVxuICBkaXYuZGF0YVRhYmxlc19wYWdpbmF0ZSBhLnBhZ2luYXRlX2J1dHRvbi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICM0MjRCNEYgIWltcG9ydGFudDsgfVxuICAgIGRpdi5kYXRhVGFibGVzX3BhZ2luYXRlIGEucGFnaW5hdGVfYnV0dG9uLmRpc2FibGVkOmJlZm9yZSwgZGl2LmRhdGFUYWJsZXNfcGFnaW5hdGUgYS5wYWdpbmF0ZV9idXR0b24uZGlzYWJsZWQ6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNDI0QjRGOyB9XG4gIGRpdi5kYXRhVGFibGVzX3BhZ2luYXRlIGEucGFnaW5hdGVfYnV0dG9uOm5vdCguZGlzYWJsZWQpIHtcbiAgICBjb2xvcjogIzAwODE5MCAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIGRpdi5kYXRhVGFibGVzX3BhZ2luYXRlIGEucGFnaW5hdGVfYnV0dG9uOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIGRpdi5kYXRhVGFibGVzX3BhZ2luYXRlIGEucGFnaW5hdGVfYnV0dG9uOm5vdCguZGlzYWJsZWQpOmhvdmVyOmJlZm9yZSwgZGl2LmRhdGFUYWJsZXNfcGFnaW5hdGUgYS5wYWdpbmF0ZV9idXR0b246bm90KC5kaXNhYmxlZCk6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cblxuZGl2LmRhdGFUYWJsZXNfc2Nyb2xsSGVhZCAudGFibGVwcmVzcyB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIGRpdi5kYXRhVGFibGVzX3Njcm9sbEhlYWQgLnRhYmxlcHJlc3MgdGg6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0VDRUM7IH1cbiAgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsSGVhZCAudGFibGVwcmVzcyB0aC5zb3J0aW5nOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDVweDtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI0NDMDAzMztcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNDQzAwMzM7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7IH1cbiAgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsSGVhZCAudGFibGVwcmVzcyB0aC5zb3J0aW5nOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB0b3A6IC00cHg7XG4gICAgd2lkdGg6IDVweDtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI0NDMDAzMztcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNDQzAwMzM7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIGRpdi5kYXRhVGFibGVzX3Njcm9sbEhlYWQgLnRhYmxlcHJlc3MgdGguc29ydGluZ19hc2M6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiA1cHg7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNDQzAwMzM7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjQ0MwMDMzO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICBkaXYuZGF0YVRhYmxlc19zY3JvbGxIZWFkIC50YWJsZXByZXNzIHRoLnNvcnRpbmdfZGVzYzphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDVweDtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI0NDMDAzMztcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNDQzAwMzM7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7IH1cbiAgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsSGVhZCAudGFibGVwcmVzcyB0aCB0Zm9vdCB0aCwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsSGVhZCAudGFibGVwcmVzcyB0aCAudGFibGVwcmVzcyB0aGVhZCB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuXG5kaXYuZGF0YVRhYmxlc19zY3JvbGxGb290SW5uZXIgLnRhYmxlcHJlc3MgdGZvb3QgdGgsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEZvb3RJbm5lciAudGFibGVwcmVzcyB0aGVhZCB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDsgfVxuXG4vKipcbiAqIEBmaWxlXG4gKiBQcmludCBzcGVjaWZpYyBzdHlsaWluZ1xuICovXG5AbWVkaWEgcHJpbnQge1xuICAuZm9vdGVyLFxuICAuc2l0ZS1uYXZfX2NvbnRlbnQsXG4gIC5zaXRlLW5hdl9fY29udGVudC1ib3R0LFxuICAuc2VjdGlvbi1uYXZpZ2F0aW9uLFxuICAuc2l0ZS1uYXYgLnNlYXJjaCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2l0ZS1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgaDI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAubWVvdy10YWItYW5zd2VyIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0J3MgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVyIHRoYW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XG5cblxuQGltcG9ydCAnc2V0dGluZ3MnO1xuQGltcG9ydCAnZm91bmRhdGlvbic7XG5AaW1wb3J0ICdtb3Rpb24tdWknO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG5cbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuLy8gLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuLy8gLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yYW5nZS1pbnB1dDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4vLyAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuLy8gLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4vLyAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4vLyAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbi8vIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbi8vIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbi8vIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4vLyAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4vLyAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcblxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcblxuLy8gQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuLy8gQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XG5cbi8qXG4gIE15IGN1c3RvbSBzdHlsZXM6XG4gIEFkZCB5b3VyIHNjc3MgZmlsZXMgYmVsb3cgdG8gc3RydWN0dXJlIHlvdXIgcHJvamVjdCBzdHlsZXNcbiovXG5cbi8vIEdsb2JhbFxuQGltcG9ydCBcImFic3RyYWN0cy92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJhYnN0cmFjdHMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiYWJzdHJhY3RzL2FuaW1hdGlvblwiO1xuXG5AaW1wb3J0IFwiYmFzZS9ub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJiYXNlL2FkbWluXCI7XG5AaW1wb3J0IFwiYmFzZS9iYXNlXCI7XG5AaW1wb3J0IFwiYmFzZS90eXBvZ3JhcGh5XCI7XG5cbkBpbXBvcnQgXCJnbG9iYWwvd3AtYWRtaW5cIjtcbkBpbXBvcnQgXCJnbG9iYWwvd3Atb3ZlcnJpZGVzXCI7XG4vLyBAaW1wb3J0IFwiZ2xvYmFsL2d1dGVuYmVyZ1wiO1xuXG5AaW1wb3J0IFwibGF5b3V0L2hvbWVcIjtcbkBpbXBvcnQgXCJsYXlvdXQvZGV0YWlsXCI7XG5AaW1wb3J0IFwibGF5b3V0L2xpc3RpbmdcIjtcbkBpbXBvcnQgXCJsYXlvdXQvc2VhcmNoXCI7XG5AaW1wb3J0IFwibGF5b3V0L21haW4tY29udGFpbmVyXCI7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJjb21wb25lbnRzL2FsZXJ0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9oZXJvXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9xdW90ZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGVvcGxlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9icmVhZGNydW1ic1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZmVhdHVyZWQtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NlY3Rpb24tbmF2aWdhdGlvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbmF2XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb290ZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhZ2VyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9pbmxpbmUtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ljb25zLWJsb2NrXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zb2NpYWxcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RhYmxlLXNjcm9sbFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbGFyZ2UtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2dhbGxlcnlcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3R3by1jb2x1bW5cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2FjY29yZGlvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbmV3cy1ldmVudHMtbGlzdGluZ1wiO1xuXG4vLyBOb2Rlc1xuQGltcG9ydCBcIm5vZGUvbmV3c1wiO1xuQGltcG9ydCBcIm5vZGUvZXZlbnRzXCI7XG5AaW1wb3J0IFwibm9kZS9kaXJlY3RvcnlcIjtcblxuQGltcG9ydCBcInZlbmRvci90YWJsZXByZXNzXCI7XG5cbkBpbXBvcnQgXCJiYXNlL3ByaW50XCI7XG4iLCIvKipcbiAqIEBmaWxlXG4gKiBNaXhpbnNcbiAqIFxuICogQ29udGFpbnMgZ2xvYmFsIFNDU1MgbWl4aW5zXG4gKi9cblxuLy8vIENsZWFyZml4XG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBJbWFnZSByZXBsYWNlbWVudFxuQG1peGluIGlyIHtcbiAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogMDsgICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgYm9yZGVyIGZyb20gZWxlbWVudHMgbGlrZSA8YnV0dG9uPlxuICBmb250OiAwLzAgYTsgICAgICAgICAgICAgICAgICAgLy8gQ3J1c2ggdGhlIHRleHQgZG93biB0byB0YWtlIHVwIG5vIHNwYWNlXG4gIHRleHQtc2hhZG93OiBub25lOyAgICAgICAgICAgICAvLyBSZW1vdmUgYW55IHRleHQgc2hhZG93c1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7ICAgICAgICAgICAgLy8gSGlkZSBhbnkgcmVzaWR1YWwgdGV4dCBpbiBTYWZhcmkgNCBhbmQgYW55IG1vYmlsZSBkZXZpY2VzIHRoYXQgbWF5IG5lZWQgaXRcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEhpZGUgdGhlIGRlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBlbGVtZW50cyBsaWtlIDxidXR0b24+XG59XG5cbi8vLyBJbnZpc2libGUgZWxlbWVudHNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG59XG5cbi8vLyBTaG93IGFuIGludmlzaWJsZSBlbGVtZW50XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBjbGlwOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy8vIFNob3cgaW52aXNpYmxlIGVsZW1lbnQgd2hlbiBmb2N1c2VkXG5AbWl4aW4gZWxlbWVudC1mb2N1c2FibGUge1xuICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcblxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICB9XG59XG5cbi8vLyBGdWxsIHdpZHRoIG1peGluIHRvIGJyZWFrIGNvbnRlbnQgb3V0IGludG8gZ3V0dGVyc1xuQG1peGluIGZ1bGwtd2lkdGgoKSB7XG4gIHdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNTB2dztcbn1cbiAgXG5AbWl4aW4gZWxsaXBzaXMoJGJlZm9yZTp0cnVlKSB7XG4gIGNvbnRlbnQ6IFwiXFwyMDI2XCI7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgQGlmKCRiZWZvcmUpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuNXB4O1xuICB9IEBlbHNlIHtcbiAgICBtYXJnaW4tbGVmdDogMi41cHg7XG4gIH1cbn1cblxuLy8vIENvbnRlbnQgR3V0dGVyXG5AbWl4aW4gZ3V0dGVyIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICB9XG59XG5cbi8vLyBNYXhpbXVtIHdpZHRoIE9iamVjdFxuQG1peGluIGNvbnRlbnQtZnVsbCB7XG4gIG1heC13aWR0aDogJGNvbnRlbnQtbWF4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLy8gR3JhZGllbnQgb3ZlcmxheVxuQG1peGluIHNvbGlkLW92ZXJsYXkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLWJsYWNrLCAwLjIpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHotaW5kZXg6ICR6LW92ZXJsYXk7XG4gIH1cbn1cblxuLy8vIEdyYWRpZW50IG92ZXJsYXlcbkBtaXhpbiBncmFkaWVudC1vdmVybGF5IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3ItYmxhY2ssIDAuMyk7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogJHotb3ZlcmxheTtcbiAgfVxufVxuXG4vLyBBcnJvdyBhZnRlclxuQG1peGluIGFycm93LWFmdGVyKCRjb2xvcikge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDRweCk7XG4gICAgcmlnaHQ6IC0ycHg7XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGNvbG9yO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKXJvdGF0ZSgtMTM1ZGVnKTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAycHgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBEb3dud2FyZCBGYWNpbmcgQXJyb3dcbkBtaXhpbiBhcnJvdy1kb3duKCkge1xuICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrLW1lZGl1bSAtIDEpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogMTEwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Fycm93LW1hc2suc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrLW1lZGl1bSAtIDEpIHtcbiAgICAgIHRvcDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgICAgIGJvcmRlci1sZWZ0OiA1MHZ3IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiA1MHZ3IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcDogNDBweCBzb2xpZCAkY29sb3ItZ3JleTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNiksIHJnYmEoMjU1LCAwLCAwLCAwKSk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUGx1cyBtaW51c1xuQG1peGluIHBsdXMtbWludXMoJGNvbG9yLCAkaGVpZ2h0LCAkd2lkdGgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoOTBkZWcpO1xuICB9XG59XG5cbkBtaXhpbiB1bmRlcmxpbmUoJGRlZmF1bHQtY29sb3IsICRob3Zlci1jb2xvcikge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgJGNvbG9yLXdoaXRlLCBpbnNldCAwIC0ycHggJGRlZmF1bHQtY29sb3I7XG4gIHRleHQtc2hhZG93OiAtMXB4IC0xcHggJGNvbG9yLXdoaXRlLCAtMXB4IDFweCAkY29sb3Itd2hpdGUsIDFweCAtMXB4ICRjb2xvci13aGl0ZSwgMXB4IDFweCAkY29sb3Itd2hpdGU7XG4gIHRyYW5zaXRpb246IDAuMnMgZWFzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAkY29sb3Itd2hpdGUsIGluc2V0IDAgLTJweCAkaG92ZXItY29sb3I7XG4gIH1cbn1cblxuLy8vIFBsYWNlaG9sZGVyIG1peGluXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudFxuICB9XG5cbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudFxuICB9XG5cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnRcbiAgfVxuXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudFxuICB9XG59XG5cbiIsIi8qKlxuICogQGZpbGVcbiAqIEFuaW1hdGlvbnNcbiAqIFxuICogQ29udGFpbnMgYWxsIGtleWZyYW1lIGFuaW1hdGlvbnMgaW4gdXNlIG9uIHRoZSBzaXRlLlxuICovIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjcuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gUmVtb3ZlIGZpZ3VyZSBtYXJnaW4uXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0gYW5kIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRjAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5odG1sIFt0eXBlPSdidXR0b24nXSxcbi8qIDEgKi9cblt0eXBlPSdyZXNldCddLFxuW3R5cGU9J3N1Ym1pdCddIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT0nYnV0dG9uJ106Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT0ncmVzZXQnXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPSdzdWJtaXQnXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9J2J1dHRvbiddOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9J3Jlc2V0J106LW1vei1mb2N1c3JpbmcsXG5bdHlwZT0nc3VibWl0J106LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT0nc2VhcmNoJ10ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzLFxuLyogMSAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsImJvZHkubG9nZ2VkLWluLmFkbWluLWJhciB7XG4gIC5zaXRlLWhlYWRlciB7XG4gICAgJjpub3QoLmpzLXNsaWRlVXApLFxuICAgICYuanMtdG9wIHtcbiAgICAgIHRvcDogNDZweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgdG9wOiAzMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qKlxuICogQGZpbGVcbiAqIEJhc2UgdGhlbWUgc3R5bGVzXG4gKi9cbmh0bWwsXG5ib2R5IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gIC8vIEZpeGVkIGNsYXNzIHRvIHByZXZlbnQgc2Nyb2xsaW5nXG4gICYuanMtZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0Om5vbmUpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG59XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogJGZvbnQtbW9udHNlcnJhdDtcbiAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS42OTtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIHBhZGRpbmctdG9wOiA4OHB4O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgcGFkZGluZy10b3A6IDEyMXB4O1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMzVweDtcbiAgfVxufVxuXG4vLyBSZW1vdmUgbWFyZ2luIG9uIGxhc3QgZWxlbWVudHNcbiogPiAge1xuICBwOmxhc3QtY2hpbGQsXG4gIHVsOmxhc3QtY2hpbGQsXG4gIG9sOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8gVmlzdWFsbHkgaGlkZGVuIHRleHRcbi52aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTsgLyogSUU2LCBJRTcgKi9cbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xufVxuXG4vLyBCYWNrIHRvIHRvcFxuLmJhY2stdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDE3cHg7XG4gIHJpZ2h0OiAxN3B4O1xuICB6LWluZGV4OiAxMDA7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICByaWdodDogMjhweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkY29udGVudC1tYXgpIHtcbiAgICByaWdodDogY2FsYygoMTAwdncgLSAjeyRjb250ZW50LW1heH0pIC8gMiArIDI4cHgpO1xuICB9XG5cbiAgYSB7XG4gICAgQGluY2x1ZGUgYXJyb3ctYWZ0ZXIoJGNvbG9yLXdoaXRlKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXJlZDtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICB0b3A6IDU0JTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiA4cHg7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKXRyYW5zbGF0ZVkoLTUwJSlyb3RhdGUoNDVkZWcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTa2lwIHRvIGNvbnRlbnRcbmEuc2tpcC1saW5rIHtcbiAgY29sb3I6ICRjb2xvci1yZWQyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICAmLnZpc3VhbGx5LWhpZGRlbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIHBhZGRpbmc6IDNweCAxMHB4O1xuICAgIHotaW5kZXg6IDEwMDAwO1xuICAgIGNsaXA6IHVuc2V0O1xuICAgIHdpZHRoOiAyMzBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gIH1cbn1cblxuLy8gT3ZlcmxheVxuLm92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogNTAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvci13aGl0ZSwgMC44KTtcbiAgZGlzcGxheTogbm9uZTtcblxuICAmLmpzLW9wZW4sXG4gICYuanMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBhbmltYXRpb246IGZhZGUtaW4gMC4zcyBmb3J3YXJkcztcbiAgfVxufVxuXG4vLyBUYWJsZSBTdHlsZXNcblxudGFibGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA2cHggMCAzM3B4O1xuICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAvLyB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgbWFyZ2luOiA2cHggMCAzNHB4O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luOiA4cHggMCA0N3B4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRjb250ZW50LW1heCkge1xuICAgIHdpZHRoOiAxNjAwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIHRib2R5IHtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICB0cjpudGgtY2hpbGQoZXZlbil7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgfVxuXG4gICAgdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgdGQge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXk4IWltcG9ydGFudDtcbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAwLjhyZW0gMXJlbSAwLjQ0cmVtIDEuMnJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbSAxLjZyZW0gLjRyZW1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiAuOXJlbSAxLjNyZW0gLjdyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxudGFibGUge1xuICAmLmlzLXN0eWxlLXN0cmlwZXMge1xuICAgIHRib2R5IHtcbiAgICAgIHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXk7XG4gICAgICB9XG5cbiAgICAgIHRyOmxhc3QtY2hpbGQsXG4gICAgICB0cjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHRkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXk4IWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbmZpZ2NhcHRpb24ge1xuICBtYXJnaW46IDAuNWVtIDAgMDtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xufVxuXG4vLyBJbWFnZXNcbmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEF1ZGlvIC8gVmlkZW8gYmxvY2tzXG5cbi53cC1ibG9jay1hdWRpbyxcbi53cC1ibG9jay12aWRlbyB7XG4gIG1hcmdpbjogMCAwIDFlbTtcbn1cblxuLy8gQnV0dG9uc1xuLndwLWJsb2NrLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3ItdGVhbDtcblxuICAmX19saW5rIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgcGFkZGluZzogNnB4IDE5cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgIGJvcmRlcjogJGNvbG9yLXJlZCAycHggc29saWQ7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcmVkO1xuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICB9XG4gIH1cblxuICAmLnJlZCB7XG4gICAgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgICBwYWRkaW5nOiA4cHggMTlweDtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1yZWQ7XG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiA5O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1yZWQyO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5hcnRpY2xlIHtcbiAgJi50eXBlLW5ld3MsXG4gICYudHlwZS1ldmVudHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4vLyBBZGRUaGlzIGJsb2NrIGZvciBOZXdzIGFuZCBFdmVudHMgRGV0YWlsIFBhZ2VzXG4uYWRkdGhpc190b29sIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLmF0LXN0eWxlLXJlc3BvbnNpdmUgLmF0LXNoYXJlLWJ0biB7XG4gICAgcGFkZGluZzogM3B4IDA7XG4gIH1cbn1cblxuLy8gRmlsZSBCbG9ja1xuLndwLWJsb2NrLWZpbGUge1xuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgMCAwLjc1ZW07XG4gIH1cblxuICBhLndwLWJsb2NrLWZpbGVfX2J1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmc6IDEwcHggMTlweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogJGNvbG9yLXRlYWw7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgIGJvcmRlcjogJGNvbG9yLXJlZCAycHggc29saWQ7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcblxuICAgICY6dmlzaXRlZDpub3QoOmhvdmVyKSB7XG4gICAgICBjb2xvcjogJGNvbG9yLXRlYWw7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcmVkO1xuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICB9XG4gIH1cbn0iLCIvKipcbiAqIEBmaWxlXG4gKiBTaXRld2lkZSB0eXBvZ3JhcGh5XG4gKi9cblxuLy8jIyBIZWFkZXJzXG5oMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1mYW1pbHk6ICRmb250LWlibTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBsaW5lLWhlaWdodDogMS4yMztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWstbWVkaXVtIC0gMSkge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVlbTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICBmb250LXNpemU6IDU4cHg7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5NjtcbiAgfVxuXG4gICYucGFnZS10aXRsZSB7XG4gICAgcGFkZGluZzogMCA0MHB4O1xuICB9XG59XG5cbmgyIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWlibTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luOiAxLjJlbSAwIDAuOGVtO1xuICBmb250LXNpemU6IDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjIxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogNDFweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBtYXJnaW46IDEuMmVtIDAgMC43ZW07XG4gIH1cbn1cblxuaDMge1xuICBtYXJnaW46IDEuOGVtIDAgMC44ZW07XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiAzNHB4O1xuICAgIG1hcmdpbjogMS42ZW0gMCAwLjNlbTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgfVxufVxuXG5oNCB7XG4gIG1hcmdpbjogMi4yZW0gMCAwLjhlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4zOTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbjogMi4yZW0gMCAwLjVlbTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBtYXJnaW4tdG9wOiAxLjllbTtcbiAgfVxufVxuXG5oNSB7XG4gIG1hcmdpbjogMi41ZW0gMCAwLjNlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS45MztcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbjogMi45ZW0gMCAwLjFlbTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBtYXJnaW4tdG9wOiAyLjRlbTtcbiAgfVxufVxuXG5oNiB7XG4gIG1hcmdpbjogMi4yZW0gMCAwLjhlbTtcbiAgY29sb3I6ICRjb2xvci1ncmV5NTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS42NztcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgIG1hcmdpbjogMy43ZW0gMCAwLjZlbTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgfVxufVxuXG4vLyMjIExpbmsgQXJyb3dcbi5sYXN0LXdvcmQge1xuICBAaW5jbHVkZSBhcnJvdy1hZnRlcigkY29sb3ItcmVkKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgcmlnaHQ6IDRweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICB9XG59XG5cbi8vIyMgV1lTSVdZRyBIMiBhcnJvd1xuLmVudHJ5LWNvbnRlbnQge1xuICBoMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDMuNmVtO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgbWFyZ2luLXRvcDogNC4yZW07XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGNvbnRlbnQtbWF4KSB7XG4gICAgICBtYXJnaW4tdG9wOiA1LjJlbTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtNWVtO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgd2lkdGg6IDEyMjBweDtcbiAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9oMi1saW5lLnN2ZycpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIHRvcDogLTQuMjVlbTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogMTc2M3B4O1xuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgIHRvcDogLTQuN2VtO1xuICAgICAgICBoZWlnaHQ6IDE1NXB4O1xuICAgICAgICB3aWR0aDogMTg3NnB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGNvbnRlbnQtbWF4LTIpIHtcbiAgICAgICAgd2lkdGg6ICRjb250ZW50LW1heC0yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53cC1ibG9jay1jb3ZlciArIGgyLFxuICAud3AtYmxvY2stbWVkaWEtdGV4dC5xdW90ZSArIGgyLFxuICBoMi5uby1jaGV2cm9uIHtcbiAgICBtYXJnaW4tdG9wOiAxLjFlbTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIyMgUGFyYWdyYXBoc1xucCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNzk7XG4gIG1hcmdpbjogMCAwIDFlbTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuYSB7XG4gIGNvbG9yOiAkY29sb3ItdGVhbDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgfVxufVxuXG4vLyBCbG9jayBxdW90ZVxuLndwLWJsb2NrLXF1b3RlIHtcbiAgcCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG59XG5cbi8vIENhcHRpb25zXG5maWdjYXB0aW9uIHtcbiAgY29sb3I6ICRjb2xvci1ncmV5Njtcbn1cblxuLy8jIyBIaWdobGlnaHRlZCBjb250ZW50XG5zcGFuIHtcbiAgJi5ibHVlIHtcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbn1cblxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLy8jIyBQYWdlIGNvbnRlbnQgb25seSBzdHlsZXMuXG4uZW50cnktY29udGVudCB7XG4gIC8vIExpc3RzXG4gIG9sLFxuICB1bCB7XG4gICAgbWFyZ2luOiAxZW0gMDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICBtYXJnaW46IDFlbSAwO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XG4gICAgY291bnRlci1yZXNldDogb3JkZXJlZC1saXN0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0NHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNTVweDtcbiAgICB9XG5cbiAgICAgPiBsaSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBvcmRlcmVkLWxpc3Q7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIob3JkZXJlZC1saXN0KTtcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGVhbDI7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIxcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyN3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdWw6bm90KFtjbGFzc10pIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNTJweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDU2cHg7XG4gICAgfVxuXG4gICAgID4gbGk6bm90KC5wb3N0cyk6bm90KC5ldmVudCkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRlYWwyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgICBsZWZ0OiAtN3B4O1xuICAgICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgICAgdG9wOiAxMXB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgID4gdWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAgPiBvbCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbDpub3QoW2NsYXNzXSkge1xuICAgICA+IGxpID4gb2wge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAgPiBsaSA+IHVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEludHJvIFRleHRcblxuICAuaW50cm8ge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS43MztcbiAgICBtYXJnaW46IDAgMCAyZW07XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgICBtYXJnaW46IDAgMCAxLjllbTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICAgIG1hcmdpbjogMCAwIDIuM2VtO1xuICAgIH1cbiAgfVxufVxuXG4vLyMjIElmIGVsZW1lbnQgaGFzIGRvd24gYXJyb3cgYW5kIGlzIGZvbGxvd2VkIGJ5IEgyLCBSZW1vdiBIMiBhcnJvd1xuLndwLWJsb2NrLWltYWdlLmZlYXR1cmUsXG4ud3AtYmxvY2stbWVkaWEtdGV4dCB7XG4gICYgKyBoMiB7XG4gICAgbWFyZ2luOiAxLjJlbSAwIDAuN2VtO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRml4IHRoZSBpc3N1ZSB3aGVyZSB0aGUgV1AgYWRtaW4tYmFyIG92ZXJsYXBzIHRoZSBtb2JpbGUgbWVudVxuI3dwYWRtaW5iYXIge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuLy8gTWFrZSBzdXJlIHRoYXQgdGhlIFdQIGFkbWluLWJhciBkb2VzIG5vdCBvdmVybGFwIEZvdW5kYXRpb24gY29tcG9uZW50c1xuYm9keS5hZG1pbi1iYXIge1xuICAvLyBPZmZzZXQgc3RpY2t5IHRvcCBiYXJcbiAgJi5mLXRvcGJhci1maXhlZCB7XG4gICAgLnN0aWNreS5maXhlZCB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMik7XG4gICAgfVxuICB9XG4gIC8vIE9mZnNldCBtb2JpbGUgb2ZmLWNhbnZhcyBtZW51XG4gICYub2ZmY2FudmFzIHtcbiAgICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICAgIHRvcDogcmVtLWNhbGMoNDYpO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgdG9wOiByZW0tY2FsYygzMik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIud3AtY2FwdGlvbiA+IGZpZ2NhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogIzk5OTtcbiAgcGFkZGluZzogMC4yNXJlbSAwO1xufVxuXG5wLndwLWNhcHRpb24tdGV4dHtcbiAgZm9udC1zaXplOjkwJTtcbiAgY29sb3I6ICM2NjY7XG4gIHBhZGRpbmc6cmVtLWNhbGMoMTApIDA7XG59XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXJnaW46IDA7XG59XG5cbi5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uZ2FsbGVyeSB7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcbiAgICAmLmdhbGxlcnktY29sdW1ucy0jeyRpfSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgyLCAnLmdhbGxlcnktaXRlbScsIHRydWUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAmLmdhbGxlcnktY29sdW1ucy0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KDQsICcuZ2FsbGVyeS1pdGVtJywgdHJ1ZSwgKHNtYWxsOiAzMHB4KSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICYuZ2FsbGVyeS1jb2x1bW5zLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuZ2FsbGVyeS1pdGVtJywgdHJ1ZSwgKHNtYWxsOiAzMHB4KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5nYWxsZXJ5LWljb24gPiBhIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbiAgLmdhbGxlcnktaWNvbiA+IGltZyB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJGdyaWQtY29udGFpbmVyLXBhZGRpbmddIC0gcGFkZGluZ3Mgb2YgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtIC4wMDEyNTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8zYC5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIG4gb2YgbiBhbmQgbnVtYmVyIGNvdW50c1xuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRzaXplKSA9PSAnJScge1xuICAgICAgJHNpemU6ICRzaXplO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkc2l6ZSA8IDEge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSAvICRncmlkLWNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJHNpemUpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkc2l6ZSkgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIgb3IgXCJuL25cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZShudGgoJHNpemUsIDEpIC8gbnRoKCRzaXplLCAzKSk7XG4gICAgfVxuICB9XG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIiAvIFwibi9uXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHNpemU7XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCBvciBgZ3Jvd2AuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBiYXNlIHN0eWxlLCBhbGwgb3RoZXJzIGluaGVyaXQgZnJvbSBpdFxuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHdpZHRoLCBoZWlnaHQpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8gU2V0cyBvdXIgY2VsbCB3aWR0aHMgb3IgaGVpZ2h0cyBkZXBlbmRpbmcgb24gZ3V0dGVyIHR5cGUuXG5AbWl4aW4gLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJG1hcmdpbi1ndXR0ZXIsICR2ZXJ0aWNhbCkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICN7eHktY2VsbC1zaXplKCRzaXplKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJHNpemUpfSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGJwLWlzLWZhbGxiYWNrOiBmYWxzZTtcblxuICBAaWYoJGJyZWFrcG9pbnQgPT0gbnVsbCkge1xuICAgIC8vIElmIGAkYnAtc2l6ZWAgaXMgYXZhaWxhYmxlIHRoZW4gdXNlIHRoaXMsIG90aGVyd2lzZSByZXZlcnQgdG8gdGhlIHNtYWxsZXN0IGJwLlxuICAgIEBpZih2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi1zaXplO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICAgICAkYnAtaXMtZmFsbGJhY2s6IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IHRoZSBndXR0ZXIgZm9yIHRoZSBnaXZlbiBicmVha3BvaW50L3ZhbHVlLlxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIGZhbGxiYWNrLCB1c2UgYSBmYWxsYmFjayBndXR0ZXIgYXMgd2VsbFxuICBAaWYgKCRicC1pcy1mYWxsYmFjayA9PSB0cnVlIGFuZCAkZ3V0dGVyID09IG51bGwpIHtcbiAgICAkZ3V0dGVyOiAwO1xuICB9XG5cbiAgQGlmKCRndXR0ZXIgIT0gbnVsbCkge1xuICAgIC8vIEJhc2UgZmxleCBwcm9wZXJ0aWVzXG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICAgIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGlmICRndXR0ZXItb3V0cHV0IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICd4eS1jZWxsOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIiwgY2VsbCB3YXMgbm90IGdlbmVyYXRlZGAnXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICAvLyBJZiB3ZSB3YW50IHRvIG91dHB1dCB0aGUgZ3V0dGVyc1xuICBAaWYoJGd1dHRlci1vdXRwdXQpIHtcbiAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IGlmIHdlIG5lZWQgdG8gcGFzcyBicmVha3BvaW50IGluIGhlcmUgdG9vLlxuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xuXG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcblxuICBsaW5lLWhlaWdodDogMDtcbn1cblxuQG1peGluIHRodW1ibmFpbC1saW5rIHtcbiAgdHJhbnNpdGlvbjogJHRodW1ibmFpbC10cmFuc2l0aW9uO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG5cbiAgYS50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbC1saW5rO1xuICB9XG59XG4iLCIuaG9tZSB7XG4gIGgxIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuICAuYnJlYWRjcnVtYnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZW50cnktY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59IiwiLmRldGFpbCB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuXG4gICZfX3RvcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWstbWVkaXVtIC0gMSkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICBmb250LXNpemU6IDQxcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fZGF0ZSB7XG4gICAgY29sb3I6ICRjb2xvci1ncmV5NTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG59IiwiLy8gTmV3c1xuLnBvc3RzLWxpc3QsXG4ubmV3cy1saXN0IHtcbiAgbWFyZ2luOiAwIGF1dG8haW1wb3J0YW50O1xuICBwYWRkaW5nOiA4cHggMCAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAucG9zdHMsXG4gICAgLm5ld3Mge1xuICAgICAgJl9fbWVkaWEge1xuICAgICAgICBtYXJnaW46IDAgMTdweCAyMXB4IDIwcHg7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlLzIgLSA4NnB4KTtcbiAgICAgICAgICBtYXJnaW46IDE0cHggMjVweCA3cHggMDtcbiAgICAgICAgICBmbG9hdDogbGVmdDsgIC8vIHRpdGxlIGFuZCBkYXRlIGVsZW1lbnQgbGFja3MgY29udGFpbmVyLCByZXNvcnRpbmcgdG8gZmxvYXRcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlLzIgLSAyMnB4KTtcbiAgICAgICAgICBtYXJnaW46IDEycHggMjVweCA2cHggMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDI3cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgICAgICByaWdodDogLTIycHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTRweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fZGF0ZSB7XG4gICAgICAgIG1hcmdpbjogMC42ZW0gMCAyZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTU7XG5cbiAgICAgICAgc3BhbjpudGgtb2YtdHlwZSgzKTpub3QoOmVtcHR5KSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0zcHg7XG4gICAgICAgICAgICBjb250ZW50OiAnLCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgICAgbWFyZ2luOiAwLjdlbSAwIDJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICBtYXJnaW46IDEuMWVtIDAgMmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5qcy1zb3J0ZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLy8gTmV3cyBHcmlkXG5cbi5wb3N0cy1ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAxLjhlbSAwIWltcG9ydGFudDtcbiAgcGFkZGluZzogMDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBtYXJnaW46IDJlbSAtNDBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAucG9zdHMge1xuICAgICYtZ3JpZF9faXRlbSB7XG4gICAgICBtYXJnaW46IDAgMDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC42NjdlbTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICBtYXJnaW46IDAgMjZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX21lZGlhIHtcbiAgICAgIG1hcmdpbjogMCAxN3B4IDIxcHggMjBweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJS8yIC0gODZweCk7XG4gICAgICAgIG1hcmdpbjogMThweCAyNXB4IDdweCAwO1xuICAgICAgICBmbG9hdDogbGVmdDsgIC8vIHRpdGxlIGFuZCBkYXRlIGVsZW1lbnQgbGFja3MgY29udGFpbmVyLCByZXNvcnRpbmcgdG8gZmxvYXRcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8haW1wb3J0YW50O1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLXRvcDogMzJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgICAgcmlnaHQ6IC0yMnB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDEzNWRlZyk7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2RhdGUge1xuICAgICAgbWFyZ2luOiAwLjZlbSAwIDJlbTtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTU7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbjogMC44ZW0gMCAyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRXZlbnRzXG4uZXZlbnRzIHtcbiAgJi1ncmlkLFxuICAmLWxpc3Qge1xuICAgIG1hcmdpbjogLTEwcHggMCAwIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgbWFyZ2luLXRvcDogMCFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAwIDIuNGVtIWltcG9ydGFudDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuNjY3ZW0haW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuOWVtIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZXZlbnRfX2RhdGUtZmllbGQge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMjBweCAzOHB4IDAgMDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luOiAwIDQwcHggMCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuanMtc29ydGVkIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogNDRweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgIHJpZ2h0OiAtMjJweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTM1ZGVnKTtcbiAgICAgIG1hcmdpbi10b3A6IDEycHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zdWJ0aXRsZSB7XG4gICAgbWFyZ2luOiAwLjZlbSAwIDJlbTtcbiAgICBjb2xvcjogJGNvbG9yLWdyZXk1O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIG1hcmdpbjogMC44ZW0gMCAyZW07XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgIG1hcmdpbjogMC43ZW0gMCAyZW07XG4gICAgfVxuICB9XG5cbi8vIEV2ZW50IEdyaWQgTGlzdCBzdHlsZSBmb3IgTGFyZ2UgU2NyZWVuc1xuICAmLWdyaWQge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW46IDAgLTQwcHggIWltcG9ydGFudDtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDI2cHghaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmV2ZW50cyB7XG4gICAgICAmX190aXRsZSxcbiAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICBtYXJnaW46IC0zcHggMCAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICAgIG1hcmdpbjogMC43ZW0gMCAyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZXZlbnRfX2RhdGUtZmllbGQge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiA1OHB4IGF1dG8gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVXBjb21pbmcgRXZlbnQgbGlzdCAtIEJsb2NrIGNvbHVtblxuLndwLWJsb2NrLWNvbHVtbiB7XG4gIGgyIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzFcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbi10b3A6IDAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjFcbiAgICB9XG4gIH1cbiAgLmV2ZW50cy1saXN0IHtcbiAgIG1hcmdpbjogMS43ZW0gMCAwICFpbXBvcnRhbnQ7XG4gICBvcGFjaXR5OiAwO1xuICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgbWFyZ2luOiAtMTRweCAwIDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBtYXJnaW46IDQzcHggMCAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjhlbSAhaW1wb3J0YW50O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmV2ZW50cyB7XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwLjhlbSAwIDJlbTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5ldmVudF9fZGF0ZS1maWVsZCB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgIG1hcmdpbjogMCAzNnB4IDAgMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZXZlbnRfX2NvbnRlbnQge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuanMtc29ydGVkIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLm5ld3MtbGlzdCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMnB4O1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICBtYXJnaW46IDAgMCAyOHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5ld3Mge1xuICAgICAgJl9fbWVkaWEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzNweCk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDcwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2MCU7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUvMiAtIDIycHgpO1xuICAgICAgICAgIG1hcmdpbjogMCAyNXB4IDAgMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzguMyU7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJS8yKTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX3RpdGxlLFxuICAgICAgJl9fZGF0ZSB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMjNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2RhdGUge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEhpZGUgZGF0ZSBmaWVsZCB1c2VkIHRvIHNvcnQgb24gZnJvbnQgZW5kXG4uaXRlbV9fc29ydC1kYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuIiwiI3NlYXJjaC1yZXN1bHRzIHtcbiAgLmVudHJ5LXRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAwLjdlbTtcblxuICAgIGEge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJlc3VsdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS43ZW07XG4gIH1cbn0iLCIvLyBNYWluIHNpdGUgY29udGVudCBsYXlvdXRcbi5tYWluLWNvbnRlbnQsXG4uZW50cnktY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbiAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgbWF4LXdpZHRoOiA3MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAmLS1kaXIge1xuICAgIG1heC13aWR0aDogOTYycHg7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5tYWluLWNvbnRhaW5lcltyb2xlPSdtYWluJ10ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuLmVudHJ5LWNvbnRlbnQsXG4jc2VhcmNoLXJlc3VsdHMge1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgIG1hcmdpbi10b3A6IDIuM2VtO1xuICB9XG59XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtLWRpcmVjdG9yeSB7XG4gIC5tYWluLWNvbnRlbnQsXG4gIC5lbnRyeS1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDk2MnB4O1xuICB9XG59XG4iLCIuY2FsbG91dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1yZWQ7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250ZW50LW1heCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6ICRjb250ZW50LW1heDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG5cbiAgJl9faW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDIwcHggMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxOHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXg6IDAgMCA1MXB4O1xuICAgIHdpZHRoOiA1MXB4O1xuICAgIGhlaWdodDogNTFweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uLy4uL3NyYy9hc3NldHMvaW1hZ2VzL2FsZXJ0LnN2ZycpIHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzOHB4O1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuICB9XG59XG5cbi8vIElubGluZSBhbGVydFxuXG4uYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcmVkO1xuICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICBwYWRkaW5nOiAxN3B4IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgIHBhZGRpbmc6IDM4cHggMzRweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBwYWRkaW5nOiAzOHB4IDUwcHg7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJGNvbG9yLXRhbjI7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi53cC1ibG9jay1jb3ZlciB7XG4gIEBpbmNsdWRlIGFycm93LWRvd247XG4gIEBpbmNsdWRlIGZ1bGwtd2lkdGg7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBtaW4taGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgJi5qcy12aWRlb2FjdGl2ZTpub3QoLmpzLWxvYWRlZCkge1xuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyNXZ3O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4zKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG4gICAgICBhbmltYXRpb246IHNwaW4gMXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgICAtd2Via2l0LWFuaW1hdGlvbjogc3BpbiAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgc3BpbiB7XG4gICAgICB0byB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDM2MGRlZyk7IH1cbiAgICB9XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xuICAgICAgdG8geyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgzNjBkZWcpOyB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWluLWhlaWdodDogdW5zZXQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDB2dyAqIC41NjI1KTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygoNjB2dyAvIDE2KSAqIDkpO1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGNvbnRlbnQtbWF4LTIpIHtcbiAgICBsZWZ0OiBjYWxjKCg3MjBweCAtICN7JGNvbnRlbnQtbWF4LTJ9KSAvIDIpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHdpZHRoOiAkY29udGVudC1tYXgtMjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjQxcHg7XG4gIH1cblxuICAmX192aWRlby1iYWNrZ3JvdW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOiBsZWZ0IHRvcDsnO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICBvdXRsaW5lLW9mZnNldDogLTZweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWstbWVkaXVtIC0gMSkge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gSUUxMSBvYmplY3QgZml0IHBvbHlmaWxsIGVkaXRzXG4gIG9iamVjdC1maXQge1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIC5mb2N1cy1pbmRpY2F0b3Ige1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTBweCk7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCA2cHggNXB4IHJnYmEoMCwxMzYsMjU1LDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMnB4IDQwcHg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm90dG9tOiAxMCU7XG4gICAgICB3aWR0aDogOTMlO1xuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWlibTtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogNThweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UgKyAxMDApIHtcbiAgICAgIGZvbnQtc2l6ZTogODJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjk7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LW1vbnRzZXJyYXQ7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTI0cHg7XG4gICAgcGFkZGluZzogMTJweCAxOXB4O1xuICAgIG1hcmdpbjogMTVweCBhdXRvIDA7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXJlZDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgIG1hcmdpbjogMTBweCBhdXRvIDA7XG4gICAgICBwYWRkaW5nOiAxNHB4IDE5cHg7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDk7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcmVkMjtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFja2dyb3VuZCB2YXJpYW50XG4gICYuaGFzLWJhY2tncm91bmQtZGltIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBhZGRpbmctYm90dG9tOiA4Mi4yNSU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrLW1lZGl1bSAtIDEpIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYygxLjVlbSArIDQwcHgpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC53cC1ibG9jay1jb3Zlci10ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3R0b206IDUwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKXRyYW5zbGF0ZVkoNTAlKTtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVhay1tZWRpdW0gLSAxKSB7XG4gICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgICAgICAgICBib3JkZXItbGVmdDogNTB2dyBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDUwdncgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXRvcDogNDBweCBzb2xpZCAkY29sb3ItZ3JleTtcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyIHtcbiAgICAgIGJvdHRvbTogMjAlO1xuICAgIH1cbiAgfVxuXG4gIC8vIElGIGJhY2tncm91bmQgaW1hZ2Ugb3B0aW9uICsgbm8gZml4ZWQgYmFja2dyb3VuZFxuICAmW3N0eWxlXTpub3QoLmhhcy1iYWNrZ3JvdW5kLWRpbSkge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWstbWVkaXVtIC0gMSkge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDEuNWVtICsgNDBweCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODIuMjUlO1xuXG4gICAgICAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGFycm93LWRvd247XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuanMtYWN0aXZlIHtcbiAgICAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGQgYm90dG9tIHBhZGRpbmcgaWYgY292ZXIgYXBwZWFycyBvbiBub24taG9tZXBhZ2VzXG5ib2R5Om5vdCguaG9tZSkge1xuICAud3AtYmxvY2stY292ZXI6bm90KC5oYXMtYmFja2dyb3VuZC1kaW0pIHtcbiAgICAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgICBib3R0b206IDIwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi53cC1ibG9jay1wdWxscXVvdGUge1xuICBAaW5jbHVkZSBmdWxsLXdpZHRoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGVhbDtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgcGFkZGluZzogNDBweCA0MHB4IDMycHggMTAwcHg7XG4gIG1hcmdpbi10b3A6IDQuNWVtO1xuICBtYXJnaW4tYm90dG9tOiA0LjVlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICBwYWRkaW5nOiA0MHB4IDYwcHggNDRweCAxMjZweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBwYWRkaW5nOiA1NXB4IGNhbGMoKDEwMHZ3IC0gMTAwMHB4KSAvIDIpIDcwcHggY2FsYygoMTAwdncgLSAxMDAwcHgpIC8gMiArIDE2MHB4KTtcbiAgICBtYXJnaW4tdG9wOiA1LjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA1LjVlbTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkY29udGVudC1tYXgpIHtcbiAgICB3aWR0aDogJGNvbnRlbnQtbWF4O1xuICAgIGxlZnQ6IGNhbGMoKDcyMHB4IC0gI3skY29udGVudC1tYXh9KSAvIDIpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDU1cHggY2FsYygoI3skY29udGVudC1tYXh9IC0gMTAwMHB4KSAvIDIpIDcwcHggY2FsYygoI3skY29udGVudC1tYXh9IC0gMTAwMHB4KSAvIDIgKyAxNjBweCk7XG4gIH1cblxuICAmLmlzLXN0eWxlLXNvbGlkLWNvbG9yIHtcbiAgICBhOm5vdCgud3AtYmxvY2stYnV0dG9uX19saW5rKSB7XG4gICAgICBjb2xvcjogJGNvbG9yLXRhbjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJixcbiAgJi5pcy1zdHlsZS1zb2xpZC1jb2xvciB7XG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICBsZWZ0OiAtODFweDtcbiAgICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvcXVvdGUtd2hpdGUuc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAtMTEwcHg7XG4gICAgICAgICAgd2lkdGg6IDkxcHg7XG4gICAgICAgICAgaGVpZ2h0OiA5MXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgbGVmdDogLTE2MXB4O1xuICAgICAgICAgIHdpZHRoOiAxMjJweDtcbiAgICAgICAgICBoZWlnaHQ6IDEyMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY1O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNpdGUge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOm5vdCguaXMtc3R5bGUtc29saWQtY29sb3IpIHtcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuXG4gICAgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvcXVvdGUtcmVkLnN2ZycpO1xuICAgIH1cbiAgfVxuXG4gICYgKyAud3AtYmxvY2stcHVsbHF1b3RlIHtcbiAgICBtYXJnaW4tdG9wOiAtNC41ZW07XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAtNS41ZW07XG4gICAgfVxuICB9XG59XG5cbmgyICsgLndwLWJsb2NrLXB1bGxxdW90ZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4iLCIud3AtYmxvY2stbWVkaWEtdGV4dCB7XG4gIEBpbmNsdWRlIGZ1bGwtd2lkdGg7XG4gIG1hcmdpbi10b3A6IDM3cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10ZWFsO1xuICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgbWFyZ2luLXRvcDogNGVtO1xuICBtYXJnaW4tYm90dG9tOiA3LjVlbTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDQ1cHggNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4LjdlbTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBwYWRkaW5nOiA2NXB4IDE2MHB4O1xuICAgIG1hcmdpbi10b3A6IDIuN2VtO1xuICAgIG1hcmdpbi1ib3R0b206IDE2MHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250ZW50LW1heC0yKSB7XG4gICAgd2lkdGg6ICRjb250ZW50LW1heC0yO1xuICAgIGxlZnQ6IGNhbGMoKDcyMHB4IC0gI3skY29udGVudC1tYXgtMn0pIC8gMik7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMjAwcHg7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtOC40dnc7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgIGJvcmRlci1sZWZ0OiA1MHZ3IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogNTB2dyBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA4LjV2dyBzb2xpZCAkY29sb3ItdGVhbDtcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkY29udGVudC1tYXgtMikge1xuICAgICAgYm90dG9tOiAtMTYycHg7XG4gICAgICBib3JkZXItbGVmdDogY2FsYygjeyRjb250ZW50LW1heC0yfSAvIDIpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiBjYWxjKCN7JGNvbnRlbnQtbWF4LTJ9IC8gMikgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wOiAxNjJweCBzb2xpZCAkY29sb3ItdGVhbDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZhdWx0IHRvIGdyZXkgYnV0dG9uIHN0eWxpbmdcbiAgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgcGFkZGluZzogOHB4IDE5cHg7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXkyO1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogOTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsYWNrO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53cC1ibG9jay1tZWRpYS10ZXh0IHtcbiAgICAmX19tZWRpYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvcmRlcjogMDtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICBtYXJnaW46IC0xNXB4IGF1dG8gN3B4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICBmbGV4OiAwIDAgMjY0cHg7XG4gICAgICAgIGhlaWdodDogMjY0cHg7XG4gICAgICAgIG1hcmdpbjogLTY1cHggNDBweCAtNjVweCAtNDBweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgIGZsZXg6IDAgMCAzMTdweDtcbiAgICAgICAgaGVpZ2h0OiAzMTdweDtcbiAgICAgICAgbWFyZ2luOiAtOTVweCAzdncgLTk1cHggMDtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMTBweCA0MHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuXG4gICAgICAuaGFzLWxhcmdlLWZvbnQtc2l6ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5oYXMtbWVkaWEtb24tdGhlLXJpZ2h0IHtcbiAgICAud3AtYmxvY2stbWVkaWEtdGV4dCB7XG4gICAgICAmX19tZWRpYSB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgbWFyZ2luOiAtNjVweCAtNDBweCAtNjVweCA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgICAgbWFyZ2luOiAtOTVweCAzdncgLTk1cHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICBtYXJnaW46IC05NXB4IDAgLTk1cHggM3Z3O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgICAgICAgIG1hcmdpbjogLTk1cHggMCAtOTVweCA0My4ycHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fY29udGVudCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOm5vdCgucXVvdGUtdGVhbCk6bm90KC5xdW90ZS1ncmV5KSArIC53cC1ibG9jay1tZWRpYS10ZXh0Om5vdCgucXVvdGUtdGVhbCk6bm90KC5xdW90ZS1ncmV5KSxcbiAgJi5xdW90ZS10ZWFsICsgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtdGVhbCxcbiAgJi5xdW90ZS1ncmV5ICsgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtZ3JleSxcbiAgJi5xdW90ZS1ncmV5ICsgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtdGVhbCxcbiAgJi5xdW90ZS10ZWFsICsgLndwLWJsb2NrLW1lZGlhLXRleHQucXVvdGUtZ3JleSB7XG4gICAgbWFyZ2luLXRvcDogLTcuNWVtO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IC04LjdlbTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMTYwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250ZW50LW1heCkge1xuICAgICAgbWFyZ2luLXRvcDogLTIwMHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIFF1b3RlIFNwZWNpZmljIHN0eWxpbmdcbiAgJi5xdW90ZS1ncmV5LFxuICAmLnF1b3RlLXRlYWwge1xuICAgIC53cC1ibG9jay1tZWRpYS10ZXh0IHtcbiAgICAgICZfX21lZGlhIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogODBweDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMzVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIGxlZnQ6IDExcHg7XG4gICAgICAgICAgd2lkdGg6IDU0cHg7XG4gICAgICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3F1b3RlLXdoaXRlLnN2ZycpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogLTQycHg7XG4gICAgICAgICAgICB3aWR0aDogOTFweDtcbiAgICAgICAgICAgIGhlaWdodDogOTFweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhhcy1sYXJnZS1mb250LXNpemUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHA6bm90KC5oYXMtbGFyZ2UtZm9udC1zaXplKSB7XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmpzLWFjdGl2ZSB7XG4gICAgICAud3AtYmxvY2stbWVkaWEtdGV4dCB7XG4gICAgICAgICZfX21lZGlhLFxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5xdW90ZS10ZWFsLFxuICAmLnRlYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10ZWFsO1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cbiAgICBhOm5vdCgud3AtYmxvY2stYnV0dG9uX19saW5rKSB7XG4gICAgICBjb2xvcjogJGNvbG9yLXRhbjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5xdW90ZS1ncmV5LFxuICAmLmdyZXkge1xuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXk7XG5cbiAgICAud3AtYmxvY2stbWVkaWEtdGV4dCB7XG4gICAgICAmX19jb250ZW50IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3F1b3RlLXJlZC5zdmcnKTtcblxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgICAgICBsZWZ0OiAtMzJweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC04LjR2dztcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgICAgYm9yZGVyLWxlZnQ6IDUwdncgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDUwdncgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wOiA4LjV2dyBzb2xpZCAkY29sb3ItZ3JleTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGNvbnRlbnQtbWF4LTIpIHtcbiAgICAgICAgYm90dG9tOiAtMTYycHg7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBjYWxjKCN7JGNvbnRlbnQtbWF4LTJ9IC8gMikgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogY2FsYygjeyRjb250ZW50LW1heC0yfSAvIDIpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOiAxNjJweCBzb2xpZCAkY29sb3ItZ3JleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1sYXN0LW9mLXR5cGUge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWJzIHtcbiAgcGFkZGluZzogMjZweCAwIDE5cHg7XG4gIG1hcmdpbjogMDtcblxuICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrLWxhcmdlIC0gMSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBsaSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgQGluY2x1ZGUgYXJyb3ctYWZ0ZXIoJGNvbG9yLWJsYWNrKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDNweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTMwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG59IiwiLmZlYXR1cmVkLWltYWdlIHtcbiAgQGluY2x1ZGUgZnVsbC13aWR0aDtcbiAgbWFyZ2luLWJvdHRvbTogMS4zZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcbiAgbWluLWhlaWdodDogOC41cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAxMy43NXJlbTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBtaW4taGVpZ2h0OiAxOXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGNvbnRlbnQtbWF4LTIpIHtcbiAgICB3aWR0aDogJGNvbnRlbnQtbWF4LTI7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG5cbiAgJl9fbWVkaWEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwwLDAsIDAuNSkpO1xuICAgIH1cbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCA0MHB4O1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaDEge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbjogMC42N2VtIDA7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IDU4cHg7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZmVhdHVyZWQtaGVybyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbiIsIi5zZWN0aW9uLW5hdmlnYXRpb24ge1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiAwIDQwcHg7XG4gIG1hcmdpbjogMS42ZW0gMCAxLjhlbTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICBwYWRkaW5nOiAwIDYwcHg7XG4gICAgbWFyZ2luOiAxLjRlbSBhdXRvIDNlbTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBsZWZ0OiAtNDBweDtcbiAgICBwYWRkaW5nOiAwIDM1cHggMDtcbiAgICBtYXJnaW46IDEuM2VtIGF1dG8gMDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWsteC1sYXJnZSkge1xuICAgIGxlZnQ6IC0yNDBweDtcbiAgICB0b3A6IDA7XG4gICAgbWFyZ2luOiAxLjNlbSBhdXRvIC0zLjFlbTtcbiAgfVxuXG4gIC53aWRnZXR0aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMC04cHg7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LW1vbnRzZXJyYXQ7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMThweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICBtYXJnaW46IDAgMCAwIC0xN3B4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDExcHg7XG4gICAgfVxuICB9XG5cbiAgdWwge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAxNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDI3cHg7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMztcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICAkY29sb3ItZ3JleTg7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgbWFyZ2luOiAwIDE2cHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ic24tbGlzdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIHBhZGRpbmc6IDIwcHggMzNweCAxMHB4O1xuICAgIG1hcmdpbjogLTFweCAwIDAgMDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItcmVkO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDQxcHg7XG4gICAgICBtaW4td2lkdGg6IDQ1NXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgIHRvcDogNDBweDtcbiAgICAgIGxlZnQ6IDM1cHg7XG4gICAgfVxuXG4gICAgLmN1cnJlbnRfcGFnZV9pdGVtIHtcbiAgICAgICYgPiBhIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHggN3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgfVxuXG4gICAgICAmLmlzLWFjdGl2ZSBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2FyaWEtaGlkZGVuPSdmYWxzZSddIHtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWstbWVkaXVtIC0gMSkge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgM3B4IDNweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2hpbGRyZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmX19tYWluLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1yZWQ7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTJweCAyMnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICRjb2xvci10ZWFsO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgei1pbmRleDogMTU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIGFycm93LWFmdGVyKCRjb2xvci1yZWQpO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIG1heC13aWR0aDogMTY4cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgcGFkZGluZzogMTBweCAwIDEwcHggMTZweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAxM3B4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDAgc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJlthcmlhLWV4cGFuZGVkPSdmYWxzZSddIHtcbiAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWJvdHRvbSAwcyAwLjNzLCBwYWRkaW5nLWJvdHRvbSAwcyAwLjNzO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIGFycm93LWFmdGVyKCRjb2xvci13aGl0ZSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcmVkO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI4cHg7XG4gICAgICB0b3A6IDhweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBjb250ZW50OiAnJztcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogMTVweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzM3B4O1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgIH1cblxuICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0b3A6IDE3cHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuanMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuIiwiLnNpdGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgbWF4LXdpZHRoOiAkY29udGVudC1tYXgtMjtcbiAgei1pbmRleDogMTAwO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4zcyBlYXNlO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkY29udGVudC1tYXgtMikge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICAmLmpzLXNsaWRlVXAge1xuICAgIHRvcDogLTg4cHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgdG9wOiAtMTIxcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgdG9wOiAtMTM1cHg7XG4gICAgfVxuICB9XG5cbiAgJi5qcy10b3Age1xuICAgIHRvcDogMDtcbiAgfVxuXG4gIC5zZWFyY2gge1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI2cHg7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcmVkO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoJGNvbG9yLWJsYWNrICwwLjMpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKXRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vLi4vc3JjL2Fzc2V0cy9pbWFnZXMvc2VhcmNoLnN2ZycpIHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3NlYXJjaGZvcm0ge1xuICAgICAgLmlucHV0LWdyb3VwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjJweDtcbiAgICAgIH1cblxuICAgICAgaW5wdXQge1xuICAgICAgICAmW3R5cGU9J3RleHQnXSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICZbdHlwZT0nc3VibWl0J10ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vLi4vc3JjL2Fzc2V0cy9pbWFnZXMvc2VhcmNoLnN2ZycpIHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxOHB4IDE4cHg7XG4gICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBmaWx0ZXI6IGludmVydCgxMDAlKTtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZHJvcGRvd24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IC0xMDB2dztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMThweCk7XG4gICAgICBtYXgtd2lkdGg6IDMwMnB4O1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcmVkMjtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHotaW5kZXg6IDEwMjtcbiAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuM3MgZWFzZTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICBtYXgtd2lkdGg6IDI0NnB4O1xuICAgICAgfVxuXG4gICAgICAmW2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIDBzLCB2aXNpYmlsaXR5IDBzIDAuM3M7XG4gICAgICB9XG5cbiAgICAgICZbYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgJl9faW5uZXIge1xuICAgICAgICBwYWRkaW5nOiAzNHB4IDMzcHg7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nOiAzNHB4IDM1cHggMjFweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzOHB4O1xuICAgICAgICBsZWZ0OiAtMThweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXJlZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgkY29sb3ItYmxhY2sgLDAuMyk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpdHJhbnNsYXRlWSgtNTAlKXJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpdHJhbnNsYXRlWSgtNTAlKXJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tbW9uIHtcbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXRhbjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2l0ZS1uYXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogODhweDtcbiAgcGFkZGluZzogMTVweCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIGJvcmRlci1ib3R0b206IDEycHggc29saWQgJGNvbG9yLXJlZDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgIGhlaWdodDogMTIxcHg7XG4gICAgcGFkZGluZzogMTVweCAzNXB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgIGhlaWdodDogMTM1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMTRweCBzb2xpZCAkY29sb3ItcmVkO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTg0cHgpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5NztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgei1pbmRleDogMDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjU1cHgpO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMTJweCk7XG4gICAgfVxuICB9XG5cbiAgJl9fbG9nbyB7XG4gICAgd2lkdGg6IDE1MXB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgd2lkdGg6IDI1OHB4O1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICB9XG5cbiAgICBhOmhvdmVyIGltZyB7XG4gICAgICBvcGFjaXR5OiAwLjg7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudC10b3Age1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC5pbmZvLWZvciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAxMHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXkzO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDI5cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleTtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgQGluY2x1ZGUgYXJyb3ctYWZ0ZXIoJGNvbG9yLXdoaXRlKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMTFweCAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LW1vbnRzZXJyYXQ7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBhcnJvdy1hZnRlcigkY29sb3ItcmVkKTtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgcGFkZGluZzogOXB4IDI3cHggOXB4IDEwcHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJlthcmlhLWV4cGFuZGVkPSd0cnVlJ10ge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5O1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2Ryb3Bkb3duIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleTtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcbiAgICAgICAgei1pbmRleDogMTAyO1xuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFkZHJlc3Mge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29sb3I6ICRjb2xvci1ncmV5MjtcbiAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkgYW5kIChtYXgtd2lkdGg6ICRicmVhay1sYXJnZSAtIDEpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNjVweDtcbiAgICAgIHJpZ2h0OiAxNDBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICYtLW1vYmlsZSB7XG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubWFpbi1uYXYge1xuICAmX19idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1yZWQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKCRjb2xvci1ibGFjayAsMC4zKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHNwYW46bm90KDpudGgtY2hpbGQoMSkpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKXRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuXG4gICAgc3BhbjpudGgtY2hpbGQoMikge1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDZweCk7XG4gICAgfVxuXG4gICAgc3BhbjpudGgtY2hpbGQoNCkge1xuICAgICAgdG9wOiBjYWxjKDUwJSArIDZweCk7XG4gICAgfVxuICB9XG5cbiAgJl9fZHJvcGRvd24ge1xuICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gICAgei1pbmRleDogMTAxO1xuICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuM3MgZWFzZTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWstbGFyZ2UgLSAxKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogLTEwMHZ3O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAxOHB4KTtcbiAgICAgIG1heC13aWR0aDogMzIxcHg7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogLTEwMHZ3O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMThweCk7XG4gICAgICAgIG1heC13aWR0aDogMzAzcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXkyO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMC4zcyBlYXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5uYXYtZHJvcGRvd24ge1xuICAgICAgJl9fY2xvc2Uge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMzhweDtcbiAgICAgICAgcmlnaHQ6IC0xMDB2dztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXJlZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgkY29sb3ItYmxhY2sgLDAuMyk7XG4gICAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuM3MgZWFzZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlcixcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKXRyYW5zbGF0ZVkoLTUwJSlyb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKXRyYW5zbGF0ZVkoLTUwJSlyb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2lubmVyIHtcbiAgICAgICAgcGFkZGluZzogMzRweCAzM3B4O1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZzogMjFweCAzNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci10YW47XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuXG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweCAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZGVza3RvcC1tZW51IHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0Om5vbmUpIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAxOHB4IDAgMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAgPiAubWVudS1pdGVtIHtcbiAgICAgICAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleTtcblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAuZHJvcGRvd24udmVydGljYWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5tZW51LWl0ZW1fX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYXJyb3ctYWZ0ZXIoJGNvbG9yLXdoaXRlKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXJlZDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTEzNWRlZyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPSd0cnVlJ10ge1xuICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYXJyb3ctYWZ0ZXIoJGNvbG9yLXJlZCk7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVhay1sYXJnZSAtIDEpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXk3O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTFweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IC5tZW51LWl0ZW1cbiAgICAgICAgICA+IC5kcm9wZG93bi52ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICBtaW4td2lkdGg6IDIzOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIDJuZCBMZXZlbCB1bm9yZGVyZWQgbGlzdFxuICAgICAgICAgIC5kcm9wZG93bi52ZXJ0aWNhbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMCAycHggMThweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5O1xuXG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZbYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC5uYXYtZHJvcGRvd25fX2Nsb3NlIHtcbiAgICAgICAgcmlnaHQ6IDI4NXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICZbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIDBzLCB2aXNpYmlsaXR5IDBzIDAuM3M7XG4gICAgfVxuICB9XG59XG4iLCIuZm9vdGVyIHtcbiAgQGluY2x1ZGUgZnVsbC13aWR0aDtcbiAgei1pbmRleDogMDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGNvbnRlbnQtbWF4LTIpIHtcbiAgICB3aWR0aDogJGNvbnRlbnQtbWF4LTI7XG4gICAgbGVmdDogY2FsYygoMTAwJSAtICN7JGNvbnRlbnQtbWF4LTJ9KSAvIDIpO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgJl9fdG9wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleTI7XG4gICAgcGFkZGluZzogMTlweCAzNXB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nOiAyMHB4IDQwcHggNTVweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDM1cHggMzVweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG5cbiAgJl9fYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgcGFkZGluZzogMzZweCAzNXB4IDU1cHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgcGFkZGluZzogMzZweCAzNXB4IDU1cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgcGFkZGluZzogMjBweCA0MHB4IDU1cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbGVmdCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVhay1tZWRpdW0gLSAxKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQ0cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICZfX3JpZ2h0IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMTRweCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSArIDIwMCkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI1JSk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbGFyZ2UgLSAxKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2xvZ28ge1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTcwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbG9jYXRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxM3B4O1xuICAgIH1cblxuICAgIHAsIGxpIHtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2FuY2lsbGFyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjNweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3NvY2lhbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDE4cHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAyNDhweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICB3aWR0aDogMTIzcHg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICBoZWlnaHQ6IDM2cHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgJl9fZmFjZWJvb2sge1xuICAgICAgICBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9zb2NpYWwtZmFjZWJvb2sucG5nJyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX190d2l0dGVyIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvc29jaWFsLXR3aXR0ZXIucG5nJyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19mbGlja3Ige1xuICAgICAgICBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9zb2NpYWwtZmxpY2tyLnBuZycpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9faW5zdGFncmFtIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvc29jaWFsLWluc3RhZ3JhbS5wbmcnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2xpbmtlZGluIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvc29jaWFsLWxpbmtlZGluLnBuZycpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9feW91dHViZSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3NvY2lhbC15b3V0dWJlLnBuZycpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb3B5cmlnaHQge1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yOTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGJyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICB9XG59XG5cbi5nZXQtc3RhcnRlZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJl9faW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIHBhZGRpbmc6IDMwcHggNDBweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vc3JjL2Fzc2V0cy9pbWFnZXMvZ2V0dGluZy1zdGFydGVkLWJnLmpwZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogNThweDtcbiAgICAgIGhlaWdodDogMjcwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgaGVpZ2h0OiAzNThweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMjFweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItbGVmdDogNTB2dyBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogNTB2dyBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDguNXZ3IHNvbGlkICRjb2xvci13aGl0ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250ZW50LW1heCkge1xuICAgICAgICBib3JkZXItdG9wOiAxNjJweCBzb2xpZCAkY29sb3Itd2hpdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICB6LWluZGV4OiAyO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVhay1tZWRpdW0gLSAxKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1yZWQ7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogOHB4IDQ1cHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDU1cHg7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcmVkMjtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci1ncmlkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJvcmRlci10b3A6IDEycHggc29saWQgJGNvbG9yLXJlZDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5MjtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkY29sb3ItdGFuO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBsaW5lLWhlaWdodDogMS4zOTtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICB9XG59IiwiLnBhZ2VyIHtcbiAgJl9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVhay1tZWRpdW0gLSAxKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBoZWlnaHQ6IDI1cHg7XG5cbiAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB3aWR0aDogMjVweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTRweDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1maXJzdCxcbiAgICAmLS1sYXN0LFxuICAgICYtLW5leHQsXG4gICAgJi0tcHJldiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAxOXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgY29sb3I6ICRjb2xvci1yZWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleTtcbiAgICB9XG4gIH1cblxuICBsaSB7XG4gICAgJjpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAmOm50aC1jaGlsZCgzKSxcbiAgICAmOm50aC1sYXN0LWNoaWxkKDIpLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoMyksXG4gICAgJi5hY3RpdmUtc2libGluZyxcbiAgICAmLmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSArIGxpLFxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLy8gVGhlcmUgYXJlID49IDcgcGFnZXNcbiAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKG4rOCkge1xuICAgICAgJGhvdy1tYW55LW9uLWVuZHM6IDU7IC8vIDEsMiwzLDQsNSwuLi4sMTAgfHwgMSwuLi42LDcsOCw5LDEwXG4gICAgICBcbiAgICAgICZ+bGkge1xuICAgICAgICAvLyBTdGFydCBvdXQgd2l0aCBhbGwgc2libGluZ3MgaGlkZGVuXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIFxuICAgICAgICAvLyBTaG93IGVsbGlwc2lzIGJlZm9yZSB0aGUgcHJldmlvdXMgb25lXG4gICAgICAgICYuYWN0aXZlLXNpYmxpbmcge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgIFxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGVsbGlwc2lzKHRydWUpOyAgICAgICAgXG4gICAgICAgICAgfSAgIFxuICAgICAgICB9XG4gICAgICAgIC8vIFNob3cgZWxsaXBzaXMgYWZ0ZXIgdGhlIG5leHQgb25lXG4gICAgICAgICYuYWN0aXZlICsgbGkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZWxsaXBzaXMoZmFsc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAvLyBTaG93IHRoZSBsYXN0IGNoaWxkcmVuIGluIHRoZSBsaXN0IGJ5IGRlZmF1bHRcbiAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgtbisjeyRob3ctbWFueS1vbi1lbmRzfSkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLy8gVGhlIGNoaWxkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxhc3QgZ3JvdXAgc2hvd3MgZWxsaXBzaXMgZm9yIHRoZSBncm91cFxuICAgICAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGhvdy1tYW55LW9uLWVuZHN9KSB7XG4gICAgICAgICAgJiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBlbGxpcHNpcyh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC8vIFRoZSB2ZXJ5IGJlZ2lubmluZyBlbGVtZW50cyBkbyBub3QgbmVlZCB0byBzaG93IGVsbGlwc2lzXG4gICAgICAgICY6bnRoLWNoaWxkKC1uKyN7JGhvdy1tYW55LW9uLWVuZHMgLSAzfSksXG4gICAgICAgIC8vIFRoZSB2ZXJ5IGVuZCBlbGVtZW50cyBkbyBub3QgbmVlZCB0byBzaG93IGVsbGlwc2lzXG4gICAgICAgICY6bnRoLWxhc3QtY2hpbGQoLW4rI3skaG93LW1hbnktb24tZW5kcyAtIDN9KSxcbiAgICAgICAgLy8gRXZlbiBpZiBpdCdzIGEgc2libGluZyB0byBcImFjdGl2ZVwiXG4gICAgICAgICYuYWN0aXZlLXNpYmxpbmc6bnRoLWxhc3QtY2hpbGQoLW4rI3skaG93LW1hbnktb24tZW5kcyAtIDF9KSB7XG4gICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICAmfmxpLmFjdGl2ZSB7XG4gICAgICAgICBcbiAgICAgICAgIC8vIEhpZGUgdGhlIGxhc3QgZ3JvdXAgaWYgXCJhY3RpdmVcIiBjb21lcyBiZWZvcmUgdGhlbVxuICAgICAgICAgJn5saTpudGgtbGFzdC1jaGlsZCgtbisjeyRob3ctbWFueS1vbi1lbmRzfSkge1xuICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICBcbiAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgb3ZlcmxhcCwgdGhlIGVsZW1lbnQgd2lsbCBzaG93LCBidXQgaGlkZSBpdCdzIGVsbGlwc2lzXG4gICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgICAgIFxuICAgICAgICAgLy8gU2hvdyB0aGUgZmlyc3QgZ3JvdXAgdG9nZXRoZXIgaWYgXCJhY3RpdmVcIiBjb21lcyBiZWZvcmUgdGhlbVxuICAgICAgICAgJn5saTpudGgtY2hpbGQoLW4rI3skaG93LW1hbnktb24tZW5kc30pIHtcbiAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgfVxuICAgICAgICAgXG4gICAgICAgICAvLyBJZiBcImFjdGl2ZVwiIGlzIGJlZm9yZSB0aGUgbGFzdCBtZW1iZXIgaW4gdGhlIGdyb3VwLCBkb24ndCBzaG93IGVsbGlwc2lzXG4gICAgICAgICAmfmxpOm50aC1jaGlsZCgtbisjeyRob3ctbWFueS1vbi1lbmRzIC0gMX0pIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgICAgXG4gICAgICAgICBcbiAgICAgICAgLy8gVGhlIGNoaWxkIGF0IHRoZSBlbmQgb2YgdGhlIGZpcnN0IGdyb3VwIHNob3dzIGVsbGlwc2lzIGZvciB0aGUgZ3JvdXBcbiAgICAgICAgJn5saTpudGgtY2hpbGQoI3skaG93LW1hbnktb24tZW5kc30pIHtcbiAgICAgICAgICAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGVsbGlwc2lzKGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgIFxuICAgICAgICAgLy8gXCJhY3RpdmVcIiBzaG91bGQgbmV2ZXIgc2hvdyBlbGxpcHNpc1xuICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZvdW5kYXRpb25wcmVzcyBvdmVyd3JpdGVzXG5cbnVsLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDIuNWVtIDAgMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrLW1lZGl1bSAtIDEpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTRweDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICAgIC5jdXJyZW50IHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5O1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuOm5vdCguZG90cykge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgcGFkZGluZzogMCA3cHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgLmN1cnJlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIH1cblxuICAubmV4dCxcbiAgLnByZXYge1xuICAgIGNvbG9yOiAkY29sb3ItcmVkO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG59IiwiLndwLWJsb2NrLWltYWdlIHtcbiAgLmFsaWdubGVmdCxcbiAgLmFsaWducmlnaHQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS42ZW07XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nOiAwIDFyZW0gMDtcbiAgICB9XG4gIH1cblxuICAuYWxpZ25sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5hbGlnbnJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEZlYXR1cmVkIEltYWdlXG4gICYuZmVhdHVyZSB7XG4gICAgQGluY2x1ZGUgYXJyb3ctZG93bjtcbiAgICBAaW5jbHVkZSBmdWxsLXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IDNlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IDAhaW1wb3J0YW50O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IDRlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuMWVtO1xuICAgICAgbWluLWhlaWdodDogNTN2dztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoKDcwdncgLyAxNikgKiA5KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuM2VtO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTM1MHB4KSB7XG4gICAgICBsZWZ0OiBjYWxjKCg3MjBweCAtIDEzNTBweCkgLyAyKTtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTM1MHB4O1xuICAgICAgaGVpZ2h0OiA1NTBweDtcbiAgICAgIG1hcmdpbi10b3A6IDIuOGVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNC4yZW07XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogMTEwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Fycm93LW1hc2suc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrLW1lZGl1bSAtIDEpIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDc5Ljd2dyArIDFweCk7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDYwcHgpIHtcbiAgICAgICAgaGVpZ2h0OiA3OS43dnc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgei1pbmRleDogaW5pdGlhbDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKCRjb2xvci1ibGFjaywgMC42KSwgcmdiYSgyNTUsMCwwLDApKTtcbiAgICAgICAgb3BhY2l0eTogNDAlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMzBweCA0MHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrLW1lZGl1bSAtIDEpIHtcbiAgICAgICAgY29sb3I6ICM1NTVkNjY7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAzMiU7XG4gICAgICAgIHBhZGRpbmc6IDZweCAwIDUlO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICB3aWR0aDogMzMlO1xuICAgICAgICBwYWRkaW5nOiAyOHB4IDAgNyU7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgICB3aWR0aDogNjclO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIud3AtYmxvY2stY29sdW1ucy5pY29ucyB7XG4gIG1hcmdpbjogMzBweCBhdXRvIDM4cHg7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVhay1tZWRpdW0gLSAxKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICBmbGV4LXdyYXA6IHVuc2V0O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBwYWRkaW5nOiAwIDcwcHg7XG4gIH1cblxuICAud3AtYmxvY2staW1hZ2Uge1xuICAgIHdpZHRoOiAxMTJweDtcbiAgICBoZWlnaHQ6IDExMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JleTI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICBtYXJnaW46IDAgYXV0byAxOHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDE0NXB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpO1xuICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgfVxuXG4gICAgYTpob3ZlcixcbiAgICBhOmZvY3VzIHtcbiAgICAgIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud3AtYmxvY2stY29sdW1uIHtcbiAgICBtYXJnaW46IDAgMCA0NXB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVhay1tZWRpdW0gLSAxKSB7XG4gICAgICBtYXJnaW46IDAgYXV0byAxLjVlbTtcbiAgICAgIG1heC13aWR0aDogMjcwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNHM7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC42cztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgybiksXG4gICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDpub25lKSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0Om5vbmUpIHtcbiAgICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjdlbTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB3b3JkLWJyZWFrOiBrZWVwLWFsbDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDdweDtcbiAgICAgICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDEzNWRlZyk7XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDExcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5qcy1hY3RpdmUge1xuICAgIC53cC1ibG9jay1pbWFnZSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cblxuICAgIC53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmLmhhcy02LWNvbHVtbnMsXG4gICYuaGFzLTUtY29sdW1ucyB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLndwLWJsb2NrLWVtYmVkIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8haW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8haW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDIuNWVtO1xuICBtYXJnaW4tdG9wOiAyLjVlbTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgbWF4LXdpZHRoOiA1NzNweDtcbiAgfVxuXG4gIGlmcmFtZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMHB4IWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4IWltcG9ydGFudDtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgNDBweCkhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlICsgNDBweCkhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMCFpbXBvcnRhbnQ7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0byFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgbWF4LXdpZHRoOiA1NzNweCFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJi15b3V0dWJlIHtcbiAgICAud3AtYmxvY2stZW1iZWRfX3dyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtNDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3NCU7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMzJweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMzJweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDYyLjIlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmcmFtZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3OTZweCFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA3OTZweCFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgbWF4LXdpZHRoOiA3OTZweCFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJi10d2l0dGVyIHtcbiAgICAud3AtYmxvY2stZW1iZWRfX3dyYXBwZXIge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIGhlaWdodDogNDUwcHghaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIWltcG9ydGFudDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgIGhlaWdodDogODUwcHghaW1wb3J0YW50O1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgJi1mbGlja3Ige1xuICAgIC53cC1ibG9jay1lbWJlZF9fd3JhcHBlciB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgNDBweCkhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4IWltcG9ydGFudDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3OCU7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDY2LjUlO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWZyYW1lIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmJfaWZyYW1lX3dpZGdldCB7XG4gICAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgICBpZnJhbWUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUhaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlIWltcG9ydGFudDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAgICAgICB3aWR0aDogMzIwcHghaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgICB3aWR0aDogNTAwcHghaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNoYXJlIHRoaXMgU3R5bGVzXG5cbi5hdC1zaGFyZS1idG4tZWxlbWVudHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn0iLCIvLyB0YWJsZSBzdHlsZXNcblxuLmpzLXRhYmxlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xuICBsZWZ0OiAwO1xuICByaWdodDogLTQwcHg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgLnRhYmxlIHtcbiAgICAmX19pbm5lciB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53cC1ibG9jay10YWJsZSB7XG4gICAgbWluLXdpZHRoOiA2MzBweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAmICsgLndwLWJsb2NrLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuXG5cblxuLy8gYnV0dG9uIHN0eWxlc1xuXG4udGFibGUge1xuICAmX19zY3JvbGwge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICYtLWxlZnQsXG4gICAgJi0tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgYXJyb3ctYWZ0ZXIoJGNvbG9yLXJlZCk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEyMCUpIHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMnB4KTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tbGVmdCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbGVmdDogLTdweDtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMjAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgbGVmdDogLTE3cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tcmlnaHQge1xuICAgICAgcmlnaHQ6IDM0cHg7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICByaWdodDogLTNweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWpzLXNjcm9sbC1sZWZ0IHtcbiAgICAudGFibGVfX3Njcm9sbCB7XG4gICAgICAmLS1sZWZ0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZVxuICAgICAgfVxuXG4gICAgICAmLS1yaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtanMtc2Nyb2xsLXJpZ2h0IHtcbiAgICAudGFibGVfX3Njcm9sbCB7XG4gICAgICAmLS1yaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAmLS1sZWZ0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubmYtZm9ybS13cmFwIHtcbiAgbGkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5mLXJlc3BvbnNlLW1zZyB7XG4gICAgbWFyZ2luOiAzLjJlbSAwO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmYtZXJyb3Ige1xuICAgIGNvbG9yOiAkY29sb3ItcmVkO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgIC5uaW5qYS1mb3Jtcy1maWVsZCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItcmVkO1xuICAgIH1cbiAgfVxuXG4gIGxhYmVsLFxuICBpbnB1dCxcbiAgc2VsZWN0LFxuICAubmluamEtZm9ybXMtcmVxLXN5bWJvbCB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LW1vbnRzZXJyYXQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTU7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLXdyYXA6bm90KC5jaGVja2JveC13cmFwKSAubmYtZmllbGQtbGFiZWwgbGFiZWwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudFxuICAgIH1cbiAgfVxuXG4gIC5uZi1mb3JtLWZpZWxkcy1yZXF1aXJlZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIC5uZi1maWVsZC1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gIH1cblxuICAubmluamEtZm9ybXMtZmllbGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ibGFjaztcbiAgfVxuXG4gIC50ZXh0Ym94LXdyYXAge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICBtYXgtd2lkdGg6IDI3OHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRleHRhcmVhXG4gIC50ZXh0YXJlYS13cmFwIHtcbiAgICAubmluamEtZm9ybXMtZmllbGQge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LW1vbnRzZXJyYXQ7XG4gICAgICBoZWlnaHQ6IDEwMHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgIGhlaWdodDogMTQycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2luZ2xlIENoZWNrYm94XG4gICAvLyBDaGVja2JveFxuICAgLmNoZWNrYm94LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogOXB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLmNoZWNrYm94LXdyYXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICYuanMtZm9jdXNlZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDAsIDEyMywgMjU1LCAuNSk7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5uZi1maWVsZC1lbGVtZW50IHtcbiAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gICAgICB9XG5cbiAgICAgIC5uZi1maWVsZC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAyNXB4O1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmV5NTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuXG4gICAgICAmLm5mLWNoZWNrZWQtbGFiZWwge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgbGVmdDogNHB4O1xuICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGNvbG9yLXRlYWw7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvci10ZWFsO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW46IDAgMCA4cHghaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrYm94XG4gIC5saXN0Y2hlY2tib3gtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAubGlzdGNoZWNrYm94LXdyYXAge1xuICAgICAgLm5mLWZpZWxkLWVsZW1lbnQge1xuICAgICAgICBsaS5qcy1mb2N1c2VkIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDAsIDEyMywgMjU1LCAuNSk7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG5cbiAgICAgICAgICAmLm5mLWNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgICAgIGxlZnQ6IDRweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRjb2xvci10ZWFsO1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yLXRlYWw7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyNXB4O1xuICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyZXk1O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCA4cHghaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmFkaW8gQnV0dG9uc1xuICAubGlzdHJhZGlvLXdyYXAge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm5mLWZpZWxkLWVsZW1lbnQge1xuICAgICAgbGkuanMtZm9jdXNlZCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMCwgMTIzLCAyNTUsIC41KTtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcblxuICAgICAgICAmLm5mLWNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgICAgbGVmdDogNHB4O1xuICAgICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10ZWFsO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAyNXB4O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ibGFjaztcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTZWxlY3QgRHJvcGRvd25cbiAgLmxpc3RzZWxlY3Qtd3JhcCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIG1heC13aWR0aDogMjc4cHg7XG4gICAgfVxuXG4gICAgLm5mLWZpZWxkLWVsZW1lbnQge1xuICAgICAgQGluY2x1ZGUgYXJyb3ctYWZ0ZXIoJGNvbG9yLXJlZCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gM3B4KTtcbiAgICAgICAgcmlnaHQ6IDEzcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTU7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBwYWRkaW5nOiAxMHB4IDMwcHggMTBweCAxNHB4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBTdWJtaXQgQnV0dG9uXG4gIC5zdWJtaXQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgfVxuXG4gICAgLnRleHRib3gtd3JhcCA+IC5uZi1maWVsZC1lbGVtZW50IHtcbiAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1yZWQ7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1yZWQyO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1tb250c2VycmF0O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcGFkZGluZzogMTRweCAxOXB4O1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIG5mLWZpZWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgfVxuXG4gIC5uZi1zdGF0aWMsXG4gIC5uZi1lbGVtZW50IHtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICB9XG5cbiAgLy9BZGRpdGlvbmFsIEZpZWxkc1xuICAucHJvZHVjdC1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAubmYtcHJvZHVjdC1maWVsZCB7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgLm5mLXByb2R1Y3QtcHJpY2UtbGFiZWwsXG4gICAgLm5mLXByb2R1Y3QtcHJpY2UsXG4gICAgLm5mLXByb2R1Y3QtcXVhbnRpdHktbGFiZWwge1xuICAgICAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgfVxuXG4gICAgLm5mLXByb2R1Y3QtcXVhbnRpdHkge1xuICAgICAgaW5wdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi53cC1ibG9jay1pbWFnZSB7XG4gIGZpZ3VyZTpub3QoLmFsaWdubGVmdCksXG4gIGZpZ3VyZTpub3QoLmFsaWducmlnaHQpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIGZpZ2NhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi10b3A6IDEuMDVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjc4ZW07XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgbWFyZ2luLXRvcDogMS4wNWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNWVtO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuMjVlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlbW92ZSBkZWZhdWx0IGd1dGVuYmVyZyBtYXJnaW5cbi53cC1ibG9jay1nYWxsZXJ5LmNvbHVtbnMtMyB7XG4gIEBpbmNsdWRlIGZ1bGwtd2lkdGg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDQ0cHggLTUwdnc7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICBtYXJnaW46IDAgMCAxLjVlbSAtNTB2dztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBtYXJnaW46IDUwcHggMCA3MHB4IC01MHZ3O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRjb250ZW50LW1heCkge1xuICAgIHdpZHRoOiAxMzUwcHg7XG4gICAgbGVmdDogY2FsYygoNzIwcHggLSAxMzUwcHgpIC8gMik7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG8gNzBweDtcbiAgfVxuXG4gIC5ibG9ja3MtZ2FsbGVyeS1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDAgMCA4cHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMSksXG4gICAgJjpudGgtY2hpbGQoNm4rNikge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleDogMSAwIDMwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQ1JTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAmOm50aC1jaGlsZCg2bis3KSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4OiAxIDAgMzAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDUlO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDMpLFxuICAgICY6bnRoLWNoaWxkKDZuKzgpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXg6IDEgMCAzMCU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDUlO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDQpLFxuICAgICY6bnRoLWNoaWxkKDZuKzkpIHtcbiAgICAgIGZsZXg6IDEgMCA0OCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzNSU7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoNSksXG4gICAgJjpudGgtY2hpbGQoNm4rMTApIHtcbiAgICAgIGZsZXg6IDEgMCA0OCU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzUlO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIud3AtYmxvY2stY29sdW1ucy5oYXMtMi1jb2x1bW5zIHtcbiAgbWFyZ2luLWJvdHRvbTogMS43ZW07XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgIG1hcmdpbi1sZWZ0OiAtOTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC05MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQuM2VtO1xuICB9XG5cbiAgLndwLWJsb2NrLWNvbHVtbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAyM3B4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1MnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZpZ3VyZS53cC1ibG9jay1pbWFnZSBmaWdjYXB0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuOGVtO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjNlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgbWFyZ2luLXRvcDogMS4xZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLm5ld3MtZXZlbnRzLWxpc3Qge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zZW07XG4gICAgfVxuICB9XG59XG5cbi53cC1ibG9jay1jb2x1bW46bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgbWFyZ2luLWJvdHRvbTogMi43ZW07XG59XG5cbi53cC1ibG9jay1jb2x1bW5zLmhhcy02LWNvbHVtbnMge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMTAwcHgpO1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICY6bm90KC5pY29ucykge1xuICAgICAgLndwLWJsb2NrLWNvbHVtbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0Om5vbmUpIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDMycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgXG4gICAgICAud3AtYmxvY2stY29sdW1uOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDpub25lKSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDMycHggMCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndwLWJsb2NrLWNvbHVtbiB7XG4gICAgZmxleDogMSAxIDEwMCU7XG5cbiAgICBoMyB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi53cC1ibG9jay1tZW93YXBwcy1mYXEge1xuICAubWVvdy1mYXEtcXVlc3Rpb24ge1xuICAgIEBpbmNsdWRlIGFycm93LWFmdGVyKCRjb2xvci13aGl0ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjhlbSA0ZW0gMC44ZW0gMS4zZW07XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZXk1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMTJweCk7XG4gICAgICByaWdodDogOXB4O1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcmVkO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgIH1cblxuICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMnB4KTtcbiAgICAgICAgcmlnaHQ6IDE4cHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVvdy10YWItYW5zd2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IDAgMS4zZW0gMC44ZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cbiAgfVxuXG4gICYubGFzdCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmV5NTtcbiAgICBtYXJnaW4tYm90dG9tOiA1LjFlbTtcbiAgfVxufVxuIiwiLm5ld3MtZXZlbnRzLWxpc3Rpbmcge1xuICBoMiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbn0iLCIvLyBOZXdzIExpc3Rpbmdcbi5uZXdzLWxpc3Rpbmcge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIH1cblxuICAmX19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM5cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjJweDtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42OTtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtIHtcbiAgICAgICZfX2lubmVyIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDIwNXB4O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWstbWVkaXVtIC0gMSkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgIGZsZXg6IDAgMCAyMDVweDtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAgKyAuaXRlbV9fY29udGVudCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgYm90dG9tOiA4cHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19kZXNjIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgICAgfVxuXG4gICAgICAmX19kYXRlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5NTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZmlyc3Qge1xuICAgICAgLml0ZW0ge1xuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMzhweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubGFzdC13b3JkOmFmdGVyIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgJGNvbG9yLXJlZDtcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkY29sb3ItcmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Rlc2Mge1xuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5ldmVudCB7XG4gICZfX21vbnRoIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmV5NjtcbiAgfVxuXG4gICZfX3llYXIge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG5cbiAgJl9fZGF0ZS1maWVsZCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0byAtMTJweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fZGF0ZSB7XG4gICAgZm9udC1zaXplOiA3MHB4O1xuICAgIGNvbG9yOiAkY29sb3ItcmVkO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gIH1cblxuICAmX19saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHJpZ2h0OiAtMTRweDtcbiAgICAgIGJvdHRvbTogOHB4O1xuICAgICAgd2lkdGg6IDRweDtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG4gIH1cblxuICAmX19zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgY29sb3I6ICRjb2xvci1ncmV5NTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgfVxuICB9XG59XG5cbi8vIEV2ZW50cyBMaXN0aW5nXG4uZXZlbnRzLWxpc3Rpbmcge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIH1cblxuICAmX19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM5cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjJweDtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrLW1lZGl1bSAtIDEpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaXRlbSB7XG4gICAgICAmX19pbm5lciB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19jb250ZW50IHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMzdweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmV2ZW50X19kYXRlLWZpZWxkIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmRldGFpbC0tZXZlbnQge1xuICAuZXZlbnQge1xuICAgICZfX2RhdGUtZmllbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgZmxleDogMCAwIDEwMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGF0ZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMjhweDtcbiAgICB9XG4gIH1cblxuICAuZGV0YWlsIHtcbiAgICAgICZfX3RvcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRGlyZWN0b3J5IExpc3Rpbmdcbi5kaXIge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBtYXJnaW4tdG9wOiAtMC40ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19saXN0IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzlweDtcbiAgICB9XG4gIH1cblxuICAmX19maWx0ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDI5cHg7XG4gICAgbWF4LXdpZHRoOiA3NTBweDtcblxuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB9XG5cbiAgICAgICYuanMtYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jbGVhciB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cblxuICAgIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAyNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1yZWQ7XG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTRweCAxMHB4IDI3cHg7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKXJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZmFjc3RhZmYsXG4gICZfX2FscGgge1xuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNvbG9yLXJlZDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJ3wnO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBtYXJnaW46IDAgNnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDdweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19mYWNzdGFmZiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgJi5qcy1hY3RpdmUge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mYWNzdGFmZl9faW5uZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfVxuICB9XG5cbiAgJl9fYWxwaCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyOXB4O1xuICAgIH1cblxuICAgIGEsXG4gICAgc3BhbiB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgJi5qcy1kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19tb3JlIHtcbiAgICAubW9yZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICZfX2J0dCB7XG4gICAgICAgIHdpZHRoOiAxNThweDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIHBhZGRpbmc6IDZweCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIEBpbmNsdWRlIGFycm93LWFmdGVyKCRjb2xvci1yZWQpO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1tb250c2VycmF0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2Ryb3Bkb3duIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICBwYWRkaW5nOiA5cHggMjdweCA3cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCA0cHg7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMjhweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAxNTZweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY5O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtIHtcbiAgICAgICZfX2lubmVyIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2xpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE3cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAycHgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTM1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZvIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbjogLTVweCAwIDAgMjRweDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cblxuICAgICAgJl9fY29udGVudCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19sZWZ0IHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19yaWdodCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtIHtcbiAgICAgICZfX3Bvc2l0aW9uIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cblxuICAgICAgJl9fZGl2aXNpb25zIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuXG4gICAgICAmX19lbWFpbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jbGVhci1hbGwge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1tb250c2VycmF0O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICRjb2xvci1yZWQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG5cbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1yZWQ7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1yZWQ7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGlyZWN0b3J5IERldGFpbFxuLmRldGFpbC0tZGlyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLmRldGFpbCB7XG4gICAgJl9faGVhZGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRpci1kZXRhaWwge1xuICAgICZfX3Bvc2l0aW9uIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWstbWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgICZfX2xlZnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMXB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgICBtYXgtd2lkdGg6IDM4NXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDI4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmlnaHQge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIudGFibGVwcmVzcy10YWJsZS1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbn1cblxudGFibGUudGFibGVwcmVzcyB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1lZGl1bSAtIDEpIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgNTBweCk7XG4gIH1cblxuICAub2RkIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleTtcbiAgfVxuXG4gIHRib2R5IHRkLCAudGFibGVwcmVzcyB0Zm9vdCB0aCB7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgJi5ldmVuIHtcbiAgICAgICY6aG92ZXIgdGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICYub2RkIHtcbiAgICAgICY6aG92ZXIgdGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRoIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjQ0cmVtO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjhyZW07XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgdGQge1xuICAgIHBhZGRpbmc6IDAuOHJlbSAxcmVtIDAuNDRyZW0gMS4ycmVtO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IDAuOHJlbSAwLjhyZW0gLjRyZW07XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBwYWRkaW5nOiAuOXJlbSAwLjhyZW0gLjdyZW07XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbmRpdi5kYXRhVGFibGVzIHtcbiAgJl9sZW5ndGgsXG4gICZfZmlsdGVyIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW46IDAgMCAyZW07XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG4gIH1cblxuICAmX2xlbmd0aCB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgICAgbWFyZ2luOiAwIDAgMCAxZW07XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmV5MjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTZWFyY2ggaW5wdXRcbiAgJl9maWx0ZXIge1xuICAgIGlucHV0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgIG1hcmdpbjogMCAwIDAgMWVtO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JleTI7XG4gICAgfVxuICB9XG5cbiAgJl9pbmZvLFxuICAmX3BhZ2luYXRlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW46IDJlbSAwIDAgMDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cbiAgfVxuXG4gICZfcGFnaW5hdGUge1xuICAgIGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1ibGFjayAhaW1wb3J0YW50O1xuXG4gICAgICAmLnBhZ2luYXRlX2J1dHRvbiB7XG4gICAgICAgICYucHJldmlvdXMge1xuICAgICAgICAgIEBpbmNsdWRlIGFycm93LWFmdGVyKCRjb2xvci1yZWQpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSA0cHgpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5uZXh0IHtcbiAgICAgICAgICBAaW5jbHVkZSBhcnJvdy1hZnRlcigkY29sb3ItcmVkKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSA0cHgpO1xuICAgICAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZ3JleTI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3MgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTIgIWltcG9ydGFudDtcblxuICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZ3JleTI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci10ZWFsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfc2Nyb2xsSGVhZCAudGFibGVwcmVzcyB7XG4gICAgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleTtcbiAgICAgIH1cblxuICAgICAgJi5zb3J0aW5nIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICByaWdodDogNnB4O1xuICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvci1yZWQ7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkY29sb3ItcmVkO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgdG9wOiAtNHB4O1xuICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvci1yZWQ7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkY29sb3ItcmVkO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfYXNjOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3ItcmVkO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGNvbG9yLXJlZDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmX2Rlc2M6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvci1yZWQ7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkY29sb3ItcmVkO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRmb290IHRoLCAudGFibGVwcmVzcyB0aGVhZCB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9zY3JvbGxGb290SW5uZXIge1xuICAgIC50YWJsZXByZXNzIHRmb290IHRoLCAudGFibGVwcmVzcyB0aGVhZCB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkXG4gICAgfVxuICB9XG59XG5cblxuXG4iLCIvKipcbiAqIEBmaWxlXG4gKiBQcmludCBzcGVjaWZpYyBzdHlsaWluZ1xuICovXG5cbkBtZWRpYSBwcmludCB7XG4gIC5mb290ZXIsXG4gIC5zaXRlLW5hdl9fY29udGVudCxcbiAgLnNpdGUtbmF2X19jb250ZW50LWJvdHQsXG4gIC5zZWN0aW9uLW5hdmlnYXRpb24sXG4gIC5zaXRlLW5hdiAuc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnNpdGUtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG5cbiAgaDIge1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5tZW93LXRhYi1hbnN3ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiJdfQ== */
