@charset "UTF-8";
/*! sanitize.css v5.0.0 | CC0 License | github.com/jonathantneal/sanitize.css */
/* Document (https://html.spec.whatwg.org/multipage/semantics.html#semantics)
   ========================================================================== */
/**
 * 1. Remove repeating backgrounds in all browsers (opinionated).
 * 2. Add box sizing inheritence in all browsers (opinionated).
 */
*,
::before,
::after {
  background-repeat: no-repeat;
  /* 1 */
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
  /* 2 */ }

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritence in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit;
  /* 1 */
  vertical-align: inherit;
  /* 2 */ }

/**
 * 1. Add border box sizing in all browsers (opinionated).
 * 2. Add the default cursor in all browsers (opinionated).
 * 3. Prevent font size adjustments after orientation changes in IE and iOS.
 */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  cursor: default;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

/* Sections (https://html.spec.whatwg.org/multipage/semantics.html#sections)
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

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

/* Grouping content (https://html.spec.whatwg.org/multipage/semantics.html#grouping-content)
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

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

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
  list-style: none; }

/**
 * 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 (https://html.spec.whatwg.org/multipage/semantics.html#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 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: -.25em; }

sup {
  top: -.5em; }

/* Embedded content (https://html.spec.whatwg.org/multipage/embedded-content.html#embedded-content)
   ========================================================================== */
/*
 * Change the alignment on media elements in all browers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

/**
 * 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;
  max-width: 100%; }

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg {
  fill: currentColor; }

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

/* Tabular data (https://html.spec.whatwg.org/multipage/tables.html#tables)
   ========================================================================== */
/**
 * Collapse border spacing
 */
table {
  border-collapse: collapse; }

/* Forms (https://html.spec.whatwg.org/multipage/forms.html#forms)
   ========================================================================== */
/**
 * Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  margin: 0; }

/**
 * Inherit styling in all browsers (opinionated).
 */
button,
input,
select,
textarea {
  color: inherit;
  font-size: inherit;
  line-height: inherit; }

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

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

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

/**
 * 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 {
  -webkit-box-sizing: border-box;
          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 */ }

/**
 * 1. Remove the default vertical scrollbar in IE.
 * 2. Change the resize direction on textareas in all browsers (opinionated).
 */
textarea {
  overflow: auto;
  /* 1 */
  resize: vertical;
  /* 2 */ }

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          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 elements (https://html.spec.whatwg.org/multipage/forms.html#interactive-elements)
   ========================================================================== */
/*
 * 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 (https://html.spec.whatwg.org/multipage/scripting.html#scripting-3)
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

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

/* User interaction (https://html.spec.whatwg.org/multipage/interaction.html#editing)
   ========================================================================== */
/*
 * Remove the tapping delay on clickable elements (opinionated).
 * 1. Remove the tapping delay in IE 10.
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
  /* 1 */
  touch-action: manipulation; }

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

/* ARIA (https://w3c.github.io/html-aria/)
   ========================================================================== */
/**
 * Change the cursor on busy elements (opinionated).
 */
[aria-busy="true"] {
  cursor: progress; }

/*
 * Change the cursor on control elements (opinionated).
 */
[aria-controls] {
  cursor: pointer; }

/*
 * Change the display on visually hidden accessible elements (opinionated).
 */
[aria-hidden="false"][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  display: inherit;
  position: absolute; }

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements (opinionated).
 */
[aria-disabled] {
  cursor: default; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir='rtl'] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent; }

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent; }

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1; }

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: .25; }

.slick-prev:before,
.slick-next:before {
  font-size: 20px;
  line-height: 1;
  opacity: .75;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }

[dir='rtl'] .slick-prev {
  right: -25px;
  left: auto; }

.slick-prev:before {
  content: '←'; }

[dir='rtl'] .slick-prev:before {
  content: '→'; }

.slick-next {
  right: -25px; }

[dir='rtl'] .slick-next {
  right: auto;
  left: -25px; }

.slick-next:before {
  content: '→'; }

[dir='rtl'] .slick-next:before {
  content: '←'; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center; }

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer; }

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent; }

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none; }

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1; }

.slick-dots li button:before {
  font-size: 6px;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: '•';
  text-align: center;
  opacity: .25;
  color: black;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-dots li.slick-active button:before {
  opacity: .75;
  color: black; }

.wrapper {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px; }
  .wrapper::after {
    clear: both;
    content: "";
    display: block; }
  @media (min-width: 60em) {
    .wrapper {
      padding-left: 60px;
      padding-right: 60px; } }
  @media (min-width: calc($wrapper + 120px)) {
    .wrapper {
      padding-left: 0;
      padding-right: 0; } }

@media (min-width: 60em) {
  .grid {
    margin-left: -40px;
    margin-right: -40px;
    width: -webkit-calc(100% + 80px);
    width: calc(100% + 80px); }
    .grid:before, .grid:after {
      content: '';
      display: table;
      clear: both; } }

@media (min-width: 60em) {
  .g-oneThird {
    width: -webkit-calc(33.33333% - 53.33333px);
    width: calc(33.33333% - 53.33333px);
    float: left;
    margin-left: 40px; }
  .g-twoThirds {
    width: -webkit-calc(66.66667% - 66.66667px);
    width: calc(66.66667% - 66.66667px);
    float: left;
    margin-left: 40px; }
  .project__description {
    width: -webkit-calc(58.33333% - 63.33333px);
    width: calc(58.33333% - 63.33333px);
    float: left;
    margin-left: 40px; }
  .project__details {
    width: -webkit-calc(41.66667% - 56.66667px);
    width: calc(41.66667% - 56.66667px);
    float: left;
    margin-left: 40px; }
  .featured__link {
    width: -webkit-calc(50% - 60px);
    width: calc(50% - 60px);
    float: left;
    margin-left: 40px; }
  .col__even {
    width: -webkit-calc(50% - 60px);
    width: calc(50% - 60px);
    float: left;
    margin-left: 40px; } }

.col__even + .col__even,
.grid + .grid {
  margin-top: 40px; }
  @media (min-width: 60em) {
    .col__even + .col__even,
    .grid + .grid {
      margin-top: 0; } }

#map {
  height: 400px; }

body {
  font-family: "proxima-nova", sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: #000;
  line-height: 1.5; }

input, textarea, select, button {
  font-family: "proxima-nova", sans-serif; }

h1, .h1, h2, .h2 {
  font-size: 21px;
  color: #fdc533;
  font-weight: 300;
  margin-top: 0; }
  @media (min-width: 60em) {
    h1, .h1, h2, .h2 {
      font-size: 31px; } }

h3, h4, h5, h6 {
  font-size: 16px;
  font-weight: 300;
  margin-top: 0; }
  @media (min-width: 60em) {
    h3, h4, h5, h6 {
      font-size: 21px; } }

p, .p {
  margin-top: 0;
  font-size: inherit; }

ul.list__inline {
  list-style-type: none;
  padding: 0;
  margin: 0; }
  ul.list__inline li {
    display: inline-block;
    padding-left: 5px;
    padding-right: 5px; }
    ul.list__inline li:first-child {
      padding-left: 0; }
    ul.list__inline li:last-child {
      padding-right: 0; }

ul.list__unstyled {
  padding: 0;
  margin: 0;
  list-style-type: none;
  font-weight: 700; }

a {
  color: inherit;
  text-decoration: underline;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip: ink;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto; }

a[href^="tel:"] {
  text-decoration: none; }

u {
  color: inherit;
  text-decoration: underline;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip: ink; }

.main__header {
  background-color: #272727;
  padding: 20px 0; }
  .main__header .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }

.logo {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .logo a {
    display: inline-block; }
  .logo img {
    max-width: 200px; }

.main__footer {
  background: #272727;
  color: #fff;
  padding: 25px 0;
  font-size: 14px; }
  .main__footer a {
    color: #fff; }
  .main__footer .col__even:last-of-type {
    text-align: right; }

.footer__logo {
  display: block;
  width: 200px;
  margin-bottom: 40px; }

.social__list {
  list-style-type: none;
  padding: 0;
  display: none; }
  @media (min-width: 60em) {
    .social__list {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .social__list li:not(:last-child) {
        margin-right: 17px; } }

.accreds__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  list-style-type: none;
  padding: 0;
  margin: 80px 0 50px; }
  .accreds__list h3 {
    margin-bottom: 0; }

.social__link {
  -webkit-transition: 0.3s all ease-in-out;
  transition: 0.3s all ease-in-out; }
  .social__link .social__info {
    width: 30px;
    display: none;
    visibility: hidden;
    opacity: 0;
    margin-left: 10px;
    -webkit-transform: translateX(65px);
        -ms-transform: translateX(65px);
            transform: translateX(65px);
    -webkit-transition: 0.3s all ease-in-out;
    transition: 0.3s all ease-in-out; }
  .social__link:hover .social__info, .social__link:focus .social__info {
    max-width: 150px;
    width: 100%;
    display: inline-block;
    visibility: visible;
    opacity: 1;
    -webkit-transform: translateX(0px);
        -ms-transform: translateX(0px);
            transform: translateX(0px);
    -webkit-transition: 0.3s all ease-in-out;
    transition: 0.3s all ease-in-out; }

.social__icon {
  width: 25px;
  height: 25px;
  fill: white; }

.main__nav {
  background-color: #4C4C4C;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  position: relative;
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  display: none; }
  @media (min-width: 60em) {
    .main__nav {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      opacity: 1;
      visibility: visible;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }

.nav-active .main__nav {
  opacity: 1;
  visibility: visible;
  display: block; }

.nav__link {
  display: block;
  padding: 10px 30px;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background: none;
  border: 0;
  cursor: pointer; }
  @media (min-width: 60em) {
    .nav__link:not(:last-child) {
      border-right: 1px solid #272727; } }

.nav__link-dropdown:hover + .nav__dropdown {
  opacity: 1;
  visibility: visible; }

.nav__dropdown {
  display: block;
  position: absolute;
  background-color: #fdc533;
  width: 100%;
  height: 100%;
  color: #272727;
  top: 0;
  left: 0px;
  opacity: 0;
  z-index: 5;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  visibility: hidden; }
  .nav__dropdown:hover {
    opacity: 1;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
    visibility: visible; }
  .nav__dropdown ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0;
    padding: 0; }
    @media (min-width: 60em) {
      .nav__dropdown ul {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
  @media (min-width: 60em) {
    .nav__dropdown {
      height: auto;
      top: 100%; } }

.dropdown__link {
  display: block;
  padding: 10px 30px;
  text-decoration: none;
  word-wrap: normal;
  word-break: normal;
  -webkit-hyphens: none;
      -ms-hyphens: none;
          hyphens: none;
  text-align: center; }

.hamburger {
  cursor: pointer;
  -webkit-transition-property: opacity, -webkit-filter;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  @media (min-width: 60em) {
    .hamburger {
      display: none;
      visibility: hidden; } }

.hamburger:hover,
.hamburger:focus {
  opacity: 0.7;
  outline: none; }

.nav-active .hamburger:hover {
  opacity: 0.7; }

.nav-active .hamburger .hamburger__inner,
.nav-active .hamburger .hamburger__inner::before,
.nav-active .hamburger .hamburger__inner::after {
  background-color: white; }

.hamburger__box {
  width: 40px;
  height: 24px;
  display: inline-block;
  position: relative;
  -webkit-perspective: 80px;
          perspective: 80px; }

.hamburger__inner {
  display: block;
  top: 50%;
  margin-top: -2px;
  -webkit-transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger__inner, .hamburger__inner::before, .hamburger__inner::after {
  width: 40px;
  height: 4px;
  background-color: white;
  border-radius: 4px;
  position: absolute;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease; }

.hamburger__inner::before,
.hamburger__inner::after {
  content: "";
  display: block;
  -webkit-transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger__inner::before {
  top: -10px; }

.hamburger__inner::after {
  bottom: -10px; }

.nav-active .hamburger .hamburger__inner {
  background-color: transparent !important;
  -webkit-transform: rotateX(180deg) rotateY(180deg);
          transform: rotateX(180deg) rotateY(180deg); }

.nav-active .hamburger .hamburger__inner::before {
  -webkit-transform: translate3d(0, 10px, 0) rotate(45deg);
          transform: translate3d(0, 10px, 0) rotate(45deg); }

.nav-active .hamburger .hamburger__inner::after {
  -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg);
          transform: translate3d(0, -10px, 0) rotate(-45deg); }

.slider__wrapper {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 300px; }
  @media (min-width: 60em) {
    .slider__wrapper {
      height: 681px; } }

.slider__info {
  position: absolute;
  bottom: 0;
  background-color: white;
  padding: 10px 25px;
  -webkit-transform: skew(-15deg);
      -ms-transform: skew(-15deg);
          transform: skew(-15deg);
  right: 10%; }
  .slider__info h3 {
    -webkit-transform: skew(15deg);
        -ms-transform: skew(15deg);
            transform: skew(15deg);
    margin-bottom: 0; }

.intro {
  font-size: 24px;
  line-height: 1.3;
  padding: 30px 0;
  background-color: white;
  color: #646463; }
  @media (min-width: 60em) {
    .intro {
      font-size: 31px;
      padding: 100px 0; } }
  .intro .g-oneThird {
    text-align: right; }

.btn {
  max-width: 220px;
  width: 100%;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  display: inline-block;
  text-align: left;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  padding: 15px 80px 15px 25px;
  border: 1px solid;
  border-radius: 40px;
  -webkit-transition: 0.3s all ease-in-out;
  transition: 0.3s all ease-in-out;
  text-decoration: none;
  background: none;
  position: relative;
  font-size: 16px;
  overflow: hidden; }
  .btn span {
    position: relative;
    z-index: 10; }
  @media (min-width: 60em) {
    .btn {
      font-size: 21px; } }
  .btn.disabled, .btn:disabled {
    opacity: .65; }
  .btn:before {
    content: '';
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%);
    display: block;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
  .btn:focus, .btn:hover {
    outline: none; }
    .btn:focus:before, .btn:hover:before {
      -webkit-transform: translateX(0);
          -ms-transform: translateX(0);
              transform: translateX(0); }
  .btn:after {
    content: '';
    position: absolute;
    overflow: hidden;
    display: inline-block;
    font-size: 3px;
    width: 4em;
    height: 4em;
    margin-top: -2em;
    top: 50%;
    border-top: 1px solid;
    border-right: 1px solid;
    -webkit-transform: rotate(54deg) skew(20deg);
        -ms-transform: rotate(54deg) skew(20deg);
            transform: rotate(54deg) skew(20deg);
    right: 20px; }
    @media (min-width: 60em) {
      .btn:after {
        font-size: 5px; } }

.btn__primary {
  border-color: #fdc533;
  color: #fdc533; }
  .btn__primary:before {
    background-color: #fdc533; }
  .btn__primary:after {
    border-color: #fdc533; }
  .btn__primary:hover, .btn__primary:focus {
    color: white; }
    .btn__primary:hover:after, .btn__primary:focus:after {
      border-color: white; }

.btn__secondary {
  border-color: #272727;
  color: #272727; }
  .btn__secondary:before {
    background-color: #272727; }
  .btn__secondary:after {
    border-color: #272727; }
  .btn__secondary:hover, .btn__secondary:focus {
    color: white; }
    .btn__secondary:hover:after, .btn__secondary:focus:after {
      border-color: white; }

.btn__white {
  border-color: white;
  color: white; }
  .btn__white:before {
    background-color: white; }
  .btn__white:after {
    border-color: white; }
  .btn__white:hover, .btn__white:focus {
    color: #fdc533; }
    .btn__white:hover:after, .btn__white:focus:after {
      border-color: #fdc533; }

.white__stroke {
  stroke: white; }

.white__fill {
  fill: white; }

.grey__stroke {
  stroke: #4C4C4C; }

.grey__fill {
  fill: #4C4C4C; }

.black__stroke {
  stroke: #272727; }

.black__fill {
  fill: #272727; }

.primary__stroke {
  stroke: #fdc533; }

.primary__fill {
  fill: #fdc533; }

.primary__color {
  color: #fdc533; }

.input__wrapper {
  position: relative;
  overflow: hidden; }
  .input__wrapper:before, .input__wrapper:after {
    content: '';
    display: block;
    width: -webkit-calc(100% - 2px);
    width: calc(100% - 2px);
    height: 58px;
    position: absolute;
    top: 1px;
    left: 1px; }
  .input__wrapper:before {
    background-color: #fdc533;
    z-index: 10; }
  .input__wrapper:after {
    background-color: white;
    -webkit-transform: translate(-100%, 0);
        -ms-transform: translate(-100%, 0);
            transform: translate(-100%, 0);
    display: block;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    pointer-events: none;
    z-index: 20; }
  .input__wrapper:focus:after, .input__wrapper:hover:after {
    -webkit-transform: translate(1px, 0px);
        -ms-transform: translate(1px, 0px);
            transform: translate(1px, 0px); }
  .input__wrapper:focus input::-webkit-input-placeholder, .input__wrapper:hover input::-webkit-input-placeholder {
    color: #8c8c8c8c; }
  .input__wrapper:focus input:-ms-input-placeholder, .input__wrapper:hover input:-ms-input-placeholder {
    color: #8c8c8c8c; }
  .input__wrapper:focus input::placeholder, .input__wrapper:hover input::placeholder {
    color: #8c8c8c8c; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'], textarea {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 60px;
  padding: 15px;
  margin: 0;
  z-index: 30;
  background-color: transparent;
  border: 1px solid #fdc533;
  color: #272727; }
  [type='text']::-webkit-input-placeholder, [type='password']::-webkit-input-placeholder, [type='date']::-webkit-input-placeholder, [type='datetime']::-webkit-input-placeholder, [type='datetime-local']::-webkit-input-placeholder, [type='month']::-webkit-input-placeholder, [type='week']::-webkit-input-placeholder, [type='email']::-webkit-input-placeholder, [type='number']::-webkit-input-placeholder, [type='search']::-webkit-input-placeholder, [type='tel']::-webkit-input-placeholder, [type='time']::-webkit-input-placeholder, [type='url']::-webkit-input-placeholder, [type='color']::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    color: white; }
  [type='text']:-ms-input-placeholder, [type='password']:-ms-input-placeholder, [type='date']:-ms-input-placeholder, [type='datetime']:-ms-input-placeholder, [type='datetime-local']:-ms-input-placeholder, [type='month']:-ms-input-placeholder, [type='week']:-ms-input-placeholder, [type='email']:-ms-input-placeholder, [type='number']:-ms-input-placeholder, [type='search']:-ms-input-placeholder, [type='tel']:-ms-input-placeholder, [type='time']:-ms-input-placeholder, [type='url']:-ms-input-placeholder, [type='color']:-ms-input-placeholder, textarea:-ms-input-placeholder {
    color: white; }
  [type='text']::placeholder, [type='password']::placeholder, [type='date']::placeholder, [type='datetime']::placeholder, [type='datetime-local']::placeholder, [type='month']::placeholder, [type='week']::placeholder, [type='email']::placeholder, [type='number']::placeholder, [type='search']::placeholder, [type='tel']::placeholder, [type='time']::placeholder, [type='url']::placeholder, [type='color']::placeholder, textarea::placeholder {
    color: white; }
  [type='text']:focus, [type='text']:hover, [type='password']:focus, [type='password']:hover, [type='date']:focus, [type='date']:hover, [type='datetime']:focus, [type='datetime']:hover, [type='datetime-local']:focus, [type='datetime-local']:hover, [type='month']:focus, [type='month']:hover, [type='week']:focus, [type='week']:hover, [type='email']:focus, [type='email']:hover, [type='number']:focus, [type='number']:hover, [type='search']:focus, [type='search']:hover, [type='tel']:focus, [type='tel']:hover, [type='time']:focus, [type='time']:hover, [type='url']:focus, [type='url']:hover, [type='color']:focus, [type='color']:hover, textarea:focus, textarea:hover {
    outline: none; }
    [type='text']:focus::-webkit-input-placeholder, [type='text']:hover::-webkit-input-placeholder, [type='password']:focus::-webkit-input-placeholder, [type='password']:hover::-webkit-input-placeholder, [type='date']:focus::-webkit-input-placeholder, [type='date']:hover::-webkit-input-placeholder, [type='datetime']:focus::-webkit-input-placeholder, [type='datetime']:hover::-webkit-input-placeholder, [type='datetime-local']:focus::-webkit-input-placeholder, [type='datetime-local']:hover::-webkit-input-placeholder, [type='month']:focus::-webkit-input-placeholder, [type='month']:hover::-webkit-input-placeholder, [type='week']:focus::-webkit-input-placeholder, [type='week']:hover::-webkit-input-placeholder, [type='email']:focus::-webkit-input-placeholder, [type='email']:hover::-webkit-input-placeholder, [type='number']:focus::-webkit-input-placeholder, [type='number']:hover::-webkit-input-placeholder, [type='search']:focus::-webkit-input-placeholder, [type='search']:hover::-webkit-input-placeholder, [type='tel']:focus::-webkit-input-placeholder, [type='tel']:hover::-webkit-input-placeholder, [type='time']:focus::-webkit-input-placeholder, [type='time']:hover::-webkit-input-placeholder, [type='url']:focus::-webkit-input-placeholder, [type='url']:hover::-webkit-input-placeholder, [type='color']:focus::-webkit-input-placeholder, [type='color']:hover::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder, textarea:hover::-webkit-input-placeholder {
      color: #8c8c8c8c; }
    [type='text']:focus:-ms-input-placeholder, [type='text']:hover:-ms-input-placeholder, [type='password']:focus:-ms-input-placeholder, [type='password']:hover:-ms-input-placeholder, [type='date']:focus:-ms-input-placeholder, [type='date']:hover:-ms-input-placeholder, [type='datetime']:focus:-ms-input-placeholder, [type='datetime']:hover:-ms-input-placeholder, [type='datetime-local']:focus:-ms-input-placeholder, [type='datetime-local']:hover:-ms-input-placeholder, [type='month']:focus:-ms-input-placeholder, [type='month']:hover:-ms-input-placeholder, [type='week']:focus:-ms-input-placeholder, [type='week']:hover:-ms-input-placeholder, [type='email']:focus:-ms-input-placeholder, [type='email']:hover:-ms-input-placeholder, [type='number']:focus:-ms-input-placeholder, [type='number']:hover:-ms-input-placeholder, [type='search']:focus:-ms-input-placeholder, [type='search']:hover:-ms-input-placeholder, [type='tel']:focus:-ms-input-placeholder, [type='tel']:hover:-ms-input-placeholder, [type='time']:focus:-ms-input-placeholder, [type='time']:hover:-ms-input-placeholder, [type='url']:focus:-ms-input-placeholder, [type='url']:hover:-ms-input-placeholder, [type='color']:focus:-ms-input-placeholder, [type='color']:hover:-ms-input-placeholder, textarea:focus:-ms-input-placeholder, textarea:hover:-ms-input-placeholder {
      color: #8c8c8c8c; }
    [type='text']:focus::placeholder, [type='text']:hover::placeholder, [type='password']:focus::placeholder, [type='password']:hover::placeholder, [type='date']:focus::placeholder, [type='date']:hover::placeholder, [type='datetime']:focus::placeholder, [type='datetime']:hover::placeholder, [type='datetime-local']:focus::placeholder, [type='datetime-local']:hover::placeholder, [type='month']:focus::placeholder, [type='month']:hover::placeholder, [type='week']:focus::placeholder, [type='week']:hover::placeholder, [type='email']:focus::placeholder, [type='email']:hover::placeholder, [type='number']:focus::placeholder, [type='number']:hover::placeholder, [type='search']:focus::placeholder, [type='search']:hover::placeholder, [type='tel']:focus::placeholder, [type='tel']:hover::placeholder, [type='time']:focus::placeholder, [type='time']:hover::placeholder, [type='url']:focus::placeholder, [type='url']:hover::placeholder, [type='color']:focus::placeholder, [type='color']:hover::placeholder, textarea:focus::placeholder, textarea:hover::placeholder {
      color: #8c8c8c8c; }
  [type='text']:disabled, [type='text'][readonly], [type='password']:disabled, [type='password'][readonly], [type='date']:disabled, [type='date'][readonly], [type='datetime']:disabled, [type='datetime'][readonly], [type='datetime-local']:disabled, [type='datetime-local'][readonly], [type='month']:disabled, [type='month'][readonly], [type='week']:disabled, [type='week'][readonly], [type='email']:disabled, [type='email'][readonly], [type='number']:disabled, [type='number'][readonly], [type='search']:disabled, [type='search'][readonly], [type='tel']:disabled, [type='tel'][readonly], [type='time']:disabled, [type='time'][readonly], [type='url']:disabled, [type='url'][readonly], [type='color']:disabled, [type='color'][readonly], textarea:disabled, textarea[readonly] {
    background-color: black;
    cursor: not-allowed; }

.input__wrapper + .input__wrapper [type='text'], .input__wrapper + .input__wrapper [type='email'], .input__wrapper + .input__wrapper textarea {
  border-top: none; }

textarea {
  max-width: 100%;
  height: 60px;
  resize: none;
  overflow: hidden; }

select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: white;
  border-radius: 0;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+");
  background-position: 100% center;
  background-repeat: no-repeat;
  line-height: normal;
  width: 100%;
  height: 40px;
  padding: 0 5px;
  border: 0;
  margin: 0 0 16px;
  font-family: "proxima-nova", sans-serif;
  font-size: 16px;
  color: #000;
  -webkit-box-shadow: none;
          box-shadow: none;
  border-radius: 6px; }

input[type='radio'] {
  -webkit-appearance: radio; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline; }

input[type='submit'],
input[type='button'] {
  border-radius: 0px;
  -webkit-appearance: none;
  -moz-appearance: none;
  height: auto;
  padding: 10px 30px; }

input[type='submit'],
input[type='button'] {
  border-radius: 0px;
  -webkit-appearance: none;
  -moz-appearance: none;
  height: auto; }

/* Change Autocomplete styles in Chrome*/
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus
input:-webkit-autofill,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  border: none;
  -webkit-text-fill-color: #333;
  -webkit-box-shadow: 0 0 0px 1000px transparent inset;
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s; }

form .btn {
  margin-top: 40px; }

.hero {
  background-color: #fdc533;
  height: 100vh; }

.featured__projects {
  background-color: #f1f1f1;
  padding-top: 60px;
  padding-bottom: 60px;
  font-size: 16px; }
  @media (min-width: 60em) {
    .featured__projects {
      font-size: 21px; } }

.featured__link {
  text-decoration: none;
  margin-bottom: 40px;
  display: block;
  word-wrap: normal;
  word-break: normal;
  -webkit-hyphens: none;
      -ms-hyphens: none;
          hyphens: none; }
  .featured__link:hover .featured__image, .featured__link:focus .featured__image {
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1); }
  .featured__link:hover .btn, .featured__link:focus .btn {
    outline: none;
    color: white; }
    .featured__link:hover .btn:before, .featured__link:focus .btn:before {
      -webkit-transform: translateX(0);
          -ms-transform: translateX(0);
              transform: translateX(0); }
    .featured__link:hover .btn:after, .featured__link:focus .btn:after {
      border-color: white; }

.featured__header {
  background-color: #272727;
  display: block;
  padding: 25px; }
  .featured__header h4 {
    color: white;
    margin-bottom: 0; }
  .featured__header h5 {
    color: #fdc533;
    margin-bottom: 0; }
  @media (min-width: 60em) {
    .featured__header {
      padding: 25px 35px; } }

.featured__image-wrapper {
  overflow: hidden;
  height: 270px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }

.featured__image {
  height: 270px;
  background-size: cover;
  background-repeat: no-repeat;
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-transition: -webkit-transform 3s ease-out;
  transition: -webkit-transform 3s ease-out;
  transition: transform 3s ease-out;
  transition: transform 3s ease-out, -webkit-transform 3s ease-out; }

.featured__info {
  display: block;
  background-color: white;
  padding: 25px; }
  .featured__info .btn {
    display: block;
    margin-top: 30px; }
  @media (min-width: 60em) {
    .featured__info {
      padding: 25px 35px; } }

.latest__tweet {
  background-color: #272727;
  padding-top: 60px;
  padding-bottom: 60px; }

.twitter__handle {
  color: #fff;
  font-size: 21px; }

#twitter {
  color: white;
  font-size: 21px; }
  #twitter ul {
    list-style-type: none;
    padding: 0;
    margin: 0; }

.news__wrapper {
  background-color: #f1f1f1; }

.latest__news {
  background-color: white;
  font-size: 16px;
  padding-top: 60px;
  padding-bottom: 60px; }
  @media (min-width: 60em) {
    .latest__news {
      font-size: 21px; } }

.latest__news-date {
  margin-bottom: 0;
  color: #272727; }

.latest__news-title {
  color: #fdc533;
  font-size: 21px;
  margin-bottom: 12px; }

.latest__news-excerpt {
  margin-bottom: 32px;
  width: 90%;
  color: #4C4C4C;
  overflow-wrap: break-word;
  word-break: break-word;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto; }

.news__block {
  background-color: white;
  margin-top: 40px; }
  .news__block .btn {
    margin-top: 30px; }

.news__info {
  padding: 25px 30px; }

.news__image {
  margin-top: 20px;
  margin-bottom: 30px; }

.news-share {
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 0;
  margin: 40px 0 0; }
  .news-share svg {
    height: 25px; }
  .news-share li:not(:last-child) {
    margin-right: 15px; }
  .news-share a {
    display: block;
    margin-bottom: 0; }
  @media (min-width: 60em) {
    .news-share {
      margin: 0; } }

.contact {
  background-color: white;
  padding-top: 60px;
  padding-bottom: 60px;
  font-size: 16px; }
  .contact h6 {
    margin-bottom: 0; }
  .contact .grid {
    margin-top: 80px; }
  @media (min-width: 60em) {
    .contact {
      font-size: 21px; }
      .contact .col__even:last-of-type {
        padding-left: 100px; } }

.content {
  padding-top: 60px;
  padding-bottom: 60px;
  font-size: 21px; }
  .content p:last-of-type {
    margin-bottom: 0; }

.content-grey {
  background-color: #f1f1f1; }

.content-intro {
  margin-bottom: 30px;
  margin-top: 10px;
  font-size: 31px;
  line-height: 1.3; }
  @media (min-width: 60em) {
    .content-intro {
      max-width: 800px; } }

@media (min-width: 60em) {
  .content-body {
    max-width: 600px; } }

.link__box {
  background-color: white;
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none; }
  .link__box:hover, .link__box:focus {
    background-color: #4C4C4C; }
    .link__box:hover span, .link__box:focus span {
      color: #fdc533; }
  .link__box img {
    width: auto;
    height: 140px;
    margin-right: 25px; }
  .link__box span {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    font-size: 21px;
    margin-right: 25px;
    color: #646463; }

.project__list {
  list-style-type: none;
  padding: 0;
  margin: 0; }

.project__item {
  margin-top: 40px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: grey;
  background-blend-mode: soft-light;
  color: white;
  padding-left: 30px;
  padding-right: 30px; }
  .project__item:hover .btn, .project__item:focus .btn {
    outline: none;
    color: #fdc533; }
    .project__item:hover .btn:before, .project__item:focus .btn:before {
      -webkit-transform: translateX(0);
          -ms-transform: translateX(0);
              transform: translateX(0); }
    .project__item:hover .btn:after, .project__item:focus .btn:after {
      border-color: #fdc533; }
  @media (min-width: 60em) {
    .project__item {
      height: 140px; } }

.project__title {
  font-size: 21px;
  display: block; }
  @media (min-width: 60em) {
    .project__title {
      font-size: 31px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }

.project__link {
  text-decoration: none;
  width: 100%;
  padding-top: 30px;
  padding-bottom: 30px; }
  .project__link .btn {
    margin-top: 30px; }
  @media (min-width: 60em) {
    .project__link {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-top: 0;
      padding-bottom: 0; }
      .project__link .btn {
        margin-top: 0; } }

.project__header {
  background-color: white;
  padding: 35px 0px; }
  .project__header h1 {
    color: #272727;
    margin-bottom: 0; }
  .project__header h2 {
    color: grey;
    margin-bottom: 0; }

.project__wrapper {
  background-color: white;
  font-size: 21px; }

.project__details,
.project__description {
  padding-top: 60px;
  padding-bottom: 60px; }

.project__details {
  background-color: #828282;
  color: white;
  padding-left: 40px;
  padding-right: 40px;
  color: white; }

.project__info {
  font-size: 21px;
  margin-bottom: 20px; }
  .project__info h5 {
    color: #fdc533;
    margin-bottom: 0; }
  .project__info p {
    margin-bottom: 0; }
  .project__info .btn {
    margin-top: 40px; }

.iframe__wrapper {
  position: relative;
  overflow: hidden;
  padding-top: 56.25%;
  margin-top: 40px; }

.iframe__embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0; }

.form__field {
    margin-bottom: 15px;
}

.intsagram {
  /*display: none;*/
  background-color: #f1f1f1;
  padding-top: 60px;
  padding-bottom: 60px;
  font-size: 16px; 
}

.insta_link {
    height: 100%;
    width: 100%;
    margin: 15px 20px 15px 0px;
    text-decoration: none;
}

.insta_link:hover > .instagram-bg {
    background-blend-mode: multiply;
}

.insta_link p {
    margin-top: 15px;
}


#instafeed {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.instagram-bg {
  width: 100%;

  height: 350px;
  background-size: cover;
  background-position: center;
  background-color: #fdc533; 
}

@media (min-width: 60em) {

  #instafeed {
      flex-direction: row;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwibGlicy9zYW5pdGl6ZS5zY3NzIiwibGlicy9zbGljay5zY3NzIiwiZ2xvYmFsL19sYXlvdXQuc2NzcyIsImdsb2JhbC9fdmFyaWFibGVzLnNjc3MiLCJsaWJzL25lYXQvbWl4aW5zL19ncmlkLWNvbnRhaW5lci5zY3NzIiwibGlicy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvX2JyZWFrcG9pbnQuc2NzcyIsImxpYnMvbmVhdC9taXhpbnMvX2dyaWQtY29sbGFwc2Uuc2NzcyIsImxpYnMvbmVhdC9taXhpbnMvX2dyaWQtY29sdW1uLnNjc3MiLCJsaWJzL25lYXQvZnVuY3Rpb25zL19uZWF0LWZsb2F0LWRpcmVjdGlvbi5zY3NzIiwiZ2xvYmFsL190eXBvZ3JhcGh5LnNjc3MiLCJtb2R1bGVzL19oZWFkZXIuc2NzcyIsIm1vZHVsZXMvX2Zvb3Rlci5zY3NzIiwibW9kdWxlcy9fc29jaWFsLnNjc3MiLCJtb2R1bGVzL19uYXYuc2NzcyIsIm1vZHVsZXMvX2hhbWJ1cmdlci5zY3NzIiwibW9kdWxlcy9fc2xpZGVyLnNjc3MiLCJtb2R1bGVzL19pbnRyby5zY3NzIiwibW9kdWxlcy9fYnV0dG9ucy5zY3NzIiwibW9kdWxlcy9fY29sb3Iuc2NzcyIsIm1vZHVsZXMvX2Zvcm1zLnNjc3MiLCJtb2R1bGVzL19oZXJvLnNjc3MiLCJtb2R1bGVzL19mZWF0dXJlZC5zY3NzIiwiZ2xvYmFsL191dGlsaXRpZXMuc2NzcyIsIm1vZHVsZXMvX3R3ZWV0LnNjc3MiLCJtb2R1bGVzL19uZXdzLnNjc3MiLCJtb2R1bGVzL19jb250YWN0LnNjc3MiLCJtb2R1bGVzL19jb250ZW50LnNjc3MiLCJtb2R1bGVzL19saW5rX19ib3guc2NzcyIsIm1vZHVsZXMvX3Byb2plY3Quc2NzcyIsIm1vZHVsZXMvX2lmcmFtZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQixnRkFBZ0Y7QUFFaEY7Z0ZBQ2dGO0FBRWhGOzs7R0FH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ZXpCekRnQjtJeUIwRGhCLGlCQUFnQixFQUNoQjtFQVBGO0lBU0UsWUFBVztJQUNYLGlCQUFnQixFQUNoQjs7QUFHRjtFQUNDLHdCQUF1QjtFQUN2QixnQkFBZSxFQUNmOztBQUVEOztFTlJDLGtCQUFpQjtFQUNqQixxQkFBb0IsRU1VcEI7O0FBTUQ7RUFDQywwQkFBeUI7RUFDekIsYUFBWTtFQUNaLG1CQUFrQjtFQUNsQixvQkFBbUI7RUFDbkIsYUFBWSxFQUNaOztBQUVEO0VBQ0MsZ0JBQWU7RUFDZixvQkFBbUIsRUFjbkI7RUFoQkQ7SUFLRSxlekIvRnFCO0l5QmdHckIsaUJBQWdCLEVBQ2hCO0VBUEY7SUFVRSxpQkFBZ0IsRUFDaEI7RUFYRjtJQWNFLGlCQUFnQixFQUNoQjs7QUMxSEY7RUFDQyxtQkFBa0I7RUFDZixpQkFBZ0I7RUFDaEIsb0JBQW1CO0VBQ25CLGlCQUFnQixFQUNuQjs7QUFFRDtFQUNDLG1CQUFrQjtFQUNmLE9BQU07RUFDTixRQUFPO0VBQ1AsWUFBVztFQUNYLGFBQVk7RUFDWixVQUFTLEVBQ1oiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qISBzYW5pdGl6ZS5jc3MgdjUuMC4wIHwgQ0MwIExpY2Vuc2UgfCBnaXRodWIuY29tL2pvbmF0aGFudG5lYWwvc2FuaXRpemUuY3NzICovXG4vKiBEb2N1bWVudCAoaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2VtYW50aWNzLmh0bWwjc2VtYW50aWNzKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gUmVtb3ZlIHJlcGVhdGluZyBiYWNrZ3JvdW5kcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIEFkZCBib3ggc2l6aW5nIGluaGVyaXRlbmNlIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG4qLFxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiAxLiBBZGQgdGV4dCBkZWNvcmF0aW9uIGluaGVyaXRhbmNlIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQWRkIHZlcnRpY2FsIGFsaWdubWVudCBpbmhlcml0ZW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiAxLiBBZGQgYm9yZGVyIGJveCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBBZGQgdGhlIGRlZmF1bHQgY3Vyc29yIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMy4gUHJldmVudCBmb250IHNpemUgYWRqdXN0bWVudHMgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TLlxuICovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovIH1cblxuLyogU2VjdGlvbnMgKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI3NlY3Rpb25zKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnQgKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI2dyb3VwaW5nLWNvbnRlbnQpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGxpc3Qgc3R5bGUgb24gbmF2aWdhdGlvbiBsaXN0cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xubmF2IG9sLFxubmF2IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzIChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRpY3MuaHRtbCN0ZXh0LWxldmVsLXNlbWFudGljcylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmMDA7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0uMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0uNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnQgKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2VtYmVkZGVkLWNvbnRlbnQuaHRtbCNlbWJlZGRlZC1jb250ZW50KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBDaGFuZ2UgdGhlIGFsaWdubWVudCBvbiBtZWRpYSBlbGVtZW50cyBpbiBhbGwgYnJvd2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBmaWxsIGNvbG9yIHRvIG1hdGNoIHRoZSB0ZXh0IGNvbG9yIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5zdmcge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIFRhYnVsYXIgZGF0YSAoaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvdGFibGVzLmh0bWwjdGFibGVzKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ29sbGFwc2UgYm9yZGVyIHNwYWNpbmdcbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9XG5cbi8qIEZvcm1zIChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9mb3Jtcy5odG1sI2Zvcm1zKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gKiBJbmhlcml0IHN0eWxpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICogMi4gQ2hhbmdlIHRoZSByZXNpemUgZGlyZWN0aW9uIG9uIHRleHRhcmVhcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLyogMSAqL1xuICByZXNpemU6IHZlcnRpY2FsO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyogSW50ZXJhY3RpdmUgZWxlbWVudHMgKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Zvcm1zLmh0bWwjaW50ZXJhY3RpdmUtZWxlbWVudHMpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzLFxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogU2NyaXB0aW5nIChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zY3JpcHRpbmcuaHRtbCNzY3JpcHRpbmctMylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFVzZXIgaW50ZXJhY3Rpb24gKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2ludGVyYWN0aW9uLmh0bWwjZWRpdGluZylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVtb3ZlIHRoZSB0YXBwaW5nIGRlbGF5IG9uIGNsaWNrYWJsZSBlbGVtZW50cyAob3BpbmlvbmF0ZWQpLlxuICogMS4gUmVtb3ZlIHRoZSB0YXBwaW5nIGRlbGF5IGluIElFIDEwLlxuICovXG5hLFxuYXJlYSxcbmJ1dHRvbixcbmlucHV0LFxubGFiZWwsXG5zZWxlY3QsXG5zdW1tYXJ5LFxudGV4dGFyZWEsXG5bdGFiaW5kZXhdIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAvKiAxICovXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogQVJJQSAoaHR0cHM6Ly93M2MuZ2l0aHViLmlvL2h0bWwtYXJpYS8pXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBDaGFuZ2UgdGhlIGN1cnNvciBvbiBidXN5IGVsZW1lbnRzIChvcGluaW9uYXRlZCkuXG4gKi9cblthcmlhLWJ1c3k9XCJ0cnVlXCJdIHtcbiAgY3Vyc29yOiBwcm9ncmVzczsgfVxuXG4vKlxuICogQ2hhbmdlIHRoZSBjdXJzb3Igb24gY29udHJvbCBlbGVtZW50cyAob3BpbmlvbmF0ZWQpLlxuICovXG5bYXJpYS1jb250cm9sc10ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIENoYW5nZSB0aGUgZGlzcGxheSBvbiB2aXN1YWxseSBoaWRkZW4gYWNjZXNzaWJsZSBlbGVtZW50cyAob3BpbmlvbmF0ZWQpLlxuICovXG5bYXJpYS1oaWRkZW49XCJmYWxzZVwiXVtoaWRkZW5dOm5vdCg6Zm9jdXMpIHtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgZGlzcGxheTogaW5oZXJpdDtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi8qXG4gKiBDaGFuZ2UgdGhlIGN1cnNvciBvbiBkaXNhYmxlZCwgbm90LWVkaXRhYmxlLCBvciBvdGhlcndpc2VcbiAqIGlub3BlcmFibGUgZWxlbWVudHMgKG9waW5pb25hdGVkKS5cbiAqL1xuW2FyaWEtZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uc2xpY2stbGlzdDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnNsaWNrLWxpc3QuZHJhZ2dpbmcge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5zbGljay10cmFjazpiZWZvcmUsXG4uc2xpY2stdHJhY2s6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyc7IH1cblxuLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDsgfVxuXG5bZGlyPSdydGwnXSAuc2xpY2stc2xpZGUge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnNsaWNrLXNsaWRlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stcHJldjpob3Zlcixcbi5zbGljay1wcmV2OmZvY3VzLFxuLnNsaWNrLW5leHQ6aG92ZXIsXG4uc2xpY2stbmV4dDpmb2N1cyB7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLXByZXY6aG92ZXI6YmVmb3JlLFxuLnNsaWNrLXByZXY6Zm9jdXM6YmVmb3JlLFxuLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlLFxuLnNsaWNrLW5leHQ6Zm9jdXM6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2xpY2stcHJldi5zbGljay1kaXNhYmxlZDpiZWZvcmUsXG4uc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICBvcGFjaXR5OiAuMjU7IH1cblxuLnNsaWNrLXByZXY6YmVmb3JlLFxuLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgb3BhY2l0eTogLjc1O1xuICBjb2xvcjogd2hpdGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTI1cHg7IH1cblxuW2Rpcj0ncnRsJ10gLnNsaWNrLXByZXYge1xuICByaWdodDogLTI1cHg7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgY29udGVudDogJ+KGkCc7IH1cblxuW2Rpcj0ncnRsJ10gLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgY29udGVudDogJ+KGkic7IH1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogLTI1cHg7IH1cblxuW2Rpcj0ncnRsJ10gLnNsaWNrLW5leHQge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogLTI1cHg7IH1cblxuLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgY29udGVudDogJ+KGkic7IH1cblxuW2Rpcj0ncnRsJ10gLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgY29udGVudDogJ+KGkCc7IH1cblxuLyogRG90cyAqL1xuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5zbGljay1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0yNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zbGljay1kb3RzIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbjogMCA1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc2xpY2stZG90cyBsaSBidXR0b24ge1xuICBmb250LXNpemU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgcGFkZGluZzogNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsXG4uc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlcjpiZWZvcmUsXG4uc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXM6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgZm9udC1zaXplOiA2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgY29udGVudDogJ+KAoic7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogLjI1O1xuICBjb2xvcjogYmxhY2s7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgb3BhY2l0eTogLjc1O1xuICBjb2xvcjogYmxhY2s7IH1cblxuLndyYXBwZXIge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gIC53cmFwcGVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogY2FsYygkd3JhcHBlciArIDEyMHB4KSkge1xuICAgIC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuZ3JpZCB7XG4gICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTQwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDgwcHgpOyB9XG4gICAgLmdyaWQ6YmVmb3JlLCAuZ3JpZDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuZy1vbmVUaGlyZCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gNTMuMzMzMzNweCk7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7IH1cbiAgLmctdHdvVGhpcmRzIHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSA2Ni42NjY2N3B4KTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogNDBweDsgfVxuICAucHJvamVjdF9fZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDYzLjMzMzMzcHgpO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9XG4gIC5wcm9qZWN0X19kZXRhaWxzIHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSA1Ni42NjY2N3B4KTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogNDBweDsgfVxuICAuZmVhdHVyZWRfX2xpbmsge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDYwcHgpO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9XG4gIC5jb2xfX2V2ZW4ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDYwcHgpO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9IH1cblxuLmNvbF9fZXZlbiArIC5jb2xfX2V2ZW4sXG4uZ3JpZCArIC5ncmlkIHtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC5jb2xfX2V2ZW4gKyAuY29sX19ldmVuLFxuICAgIC5ncmlkICsgLmdyaWQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbiNtYXAge1xuICBoZWlnaHQ6IDQwMHB4OyB9XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogIzAwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG5pbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCwgYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCIsIHNhbnMtc2VyaWY7IH1cblxuaDEsIC5oMSwgaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgY29sb3I6ICNmZGM1MzM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1hcmdpbi10b3A6IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgICBoMSwgLmgxLCBoMiwgLmgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMzFweDsgfSB9XG5cbmgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gICAgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgZm9udC1zaXplOiAyMXB4OyB9IH1cblxucCwgLnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwubGlzdF9faW5saW5lIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cbiAgdWwubGlzdF9faW5saW5lIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4OyB9XG4gICAgdWwubGlzdF9faW5saW5lIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIHVsLmxpc3RfX2lubGluZSBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxudWwubGlzdF9fdW5zdHlsZWQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb24tc2tpcDogaW5rO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIGh5cGhlbnM6IGF1dG87IH1cblxuYVtocmVmXj1cInRlbDpcIl0ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxudSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXA6IGluazsgfVxuXG4ubWFpbl9faGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI3MjcyNztcbiAgcGFkZGluZzogMjBweCAwOyB9XG4gIC5tYWluX19oZWFkZXIgLndyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4ubG9nbyB7XG4gIGZsZXgtZ3JvdzogMTsgfVxuICAubG9nbyBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmxvZ28gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4OyB9XG5cbi5tYWluX19mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjcyNzI3O1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMjVweCAwO1xuICBmb250LXNpemU6IDE0cHg7IH1cbiAgLm1haW5fX2Zvb3RlciBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubWFpbl9fZm9vdGVyIC5jb2xfX2V2ZW46bGFzdC1vZi10eXBlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uZm9vdGVyX19sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyMDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4uc29jaWFsX19saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gICAgLnNvY2lhbF9fbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLnNvY2lhbF9fbGlzdCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxN3B4OyB9IH1cblxuLmFjY3JlZHNfX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDgwcHggMCA1MHB4OyB9XG4gIC5hY2NyZWRzX19saXN0IGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5zb2NpYWxfX2xpbmsge1xuICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlLWluLW91dDsgfVxuICAuc29jaWFsX19saW5rIC5zb2NpYWxfX2luZm8ge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDY1cHgpO1xuICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2UtaW4tb3V0OyB9XG4gIC5zb2NpYWxfX2xpbms6aG92ZXIgLnNvY2lhbF9faW5mbywgLnNvY2lhbF9fbGluazpmb2N1cyAuc29jaWFsX19pbmZvIHtcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZS1pbi1vdXQ7IH1cblxuLnNvY2lhbF9faWNvbiB7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIGZpbGw6IHdoaXRlOyB9XG5cbi5tYWluX19uYXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEM0QzRDO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC5tYWluX19uYXYge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi5uYXYtYWN0aXZlIC5tYWluX19uYXYge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubmF2X19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgICAubmF2X19saW5rOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzI3MjcyNzsgfSB9XG5cbi5uYXZfX2xpbmstZHJvcGRvd246aG92ZXIgKyAubmF2X19kcm9wZG93biB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLm5hdl9fZHJvcGRvd24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRjNTMzO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb2xvcjogIzI3MjcyNztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwcHg7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm5hdl9fZHJvcGRvd246aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLm5hdl9fZHJvcGRvd24gdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gICAgICAubmF2X19kcm9wZG93biB1bCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC5uYXZfX2Ryb3Bkb3duIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHRvcDogMTAwJTsgfSB9XG5cbi5kcm9wZG93bl9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgaHlwaGVuczogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5oYW1idXJnZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC5oYW1idXJnZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfSB9XG5cbi5oYW1idXJnZXI6aG92ZXIsXG4uaGFtYnVyZ2VyOmZvY3VzIHtcbiAgb3BhY2l0eTogMC43O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5uYXYtYWN0aXZlIC5oYW1idXJnZXI6aG92ZXIge1xuICBvcGFjaXR5OiAwLjc7IH1cblxuLm5hdi1hY3RpdmUgLmhhbWJ1cmdlciAuaGFtYnVyZ2VyX19pbm5lcixcbi5uYXYtYWN0aXZlIC5oYW1idXJnZXIgLmhhbWJ1cmdlcl9faW5uZXI6OmJlZm9yZSxcbi5uYXYtYWN0aXZlIC5oYW1idXJnZXIgLmhhbWJ1cmdlcl9faW5uZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuLmhhbWJ1cmdlcl9fYm94IHtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogMjRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBlcnNwZWN0aXZlOiA4MHB4OyB9XG5cbi5oYW1idXJnZXJfX2lubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMnB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG5cbi5oYW1idXJnZXJfX2lubmVyLCAuaGFtYnVyZ2VyX19pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyX19pbm5lcjo6YWZ0ZXIge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7IH1cblxuLmhhbWJ1cmdlcl9faW5uZXI6OmJlZm9yZSxcbi5oYW1idXJnZXJfX2lubmVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cblxuLmhhbWJ1cmdlcl9faW5uZXI6OmJlZm9yZSB7XG4gIHRvcDogLTEwcHg7IH1cblxuLmhhbWJ1cmdlcl9faW5uZXI6OmFmdGVyIHtcbiAgYm90dG9tOiAtMTBweDsgfVxuXG4ubmF2LWFjdGl2ZSAuaGFtYnVyZ2VyIC5oYW1idXJnZXJfX2lubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgcm90YXRlWSgxODBkZWcpOyB9XG5cbi5uYXYtYWN0aXZlIC5oYW1idXJnZXIgLmhhbWJ1cmdlcl9faW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgcm90YXRlKDQ1ZGVnKTsgfVxuXG4ubmF2LWFjdGl2ZSAuaGFtYnVyZ2VyIC5oYW1idXJnZXJfX2lubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi5zbGlkZXJfX3dyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgaGVpZ2h0OiAzMDBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC5zbGlkZXJfX3dyYXBwZXIge1xuICAgICAgaGVpZ2h0OiA2ODFweDsgfSB9XG5cbi5zbGlkZXJfX2luZm8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgdHJhbnNmb3JtOiBza2V3KC0xNWRlZyk7XG4gIHJpZ2h0OiAxMCU7IH1cbiAgLnNsaWRlcl9faW5mbyBoMyB7XG4gICAgdHJhbnNmb3JtOiBza2V3KDE1ZGVnKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5pbnRybyB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgcGFkZGluZzogMzBweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICM2NDY0NjM7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgICAuaW50cm8ge1xuICAgICAgZm9udC1zaXplOiAzMXB4O1xuICAgICAgcGFkZGluZzogMTAwcHggMDsgfSB9XG4gIC5pbnRybyAuZy1vbmVUaGlyZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmJ0biB7XG4gIG1heC13aWR0aDogMjIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW1hc2staW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KHdoaXRlLCBibGFjayk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHBhZGRpbmc6IDE1cHggODBweCAxNXB4IDI1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlLWluLW91dDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuYnRuIHNwYW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC5idG4ge1xuICAgICAgZm9udC1zaXplOiAyMXB4OyB9IH1cbiAgLmJ0bi5kaXNhYmxlZCwgLmJ0bjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogLjY1OyB9XG4gIC5idG46YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmJ0bjpmb2N1cywgLmJ0bjpob3ZlciB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC5idG46Zm9jdXM6YmVmb3JlLCAuYnRuOmhvdmVyOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgLmJ0bjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogM3B4O1xuICAgIHdpZHRoOiA0ZW07XG4gICAgaGVpZ2h0OiA0ZW07XG4gICAgbWFyZ2luLXRvcDogLTJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNTRkZWcpIHNrZXcoMjBkZWcpO1xuICAgIHJpZ2h0OiAyMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgICAgIC5idG46YWZ0ZXIge1xuICAgICAgICBmb250LXNpemU6IDVweDsgfSB9XG5cbi5idG5fX3ByaW1hcnkge1xuICBib3JkZXItY29sb3I6ICNmZGM1MzM7XG4gIGNvbG9yOiAjZmRjNTMzOyB9XG4gIC5idG5fX3ByaW1hcnk6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRjNTMzOyB9XG4gIC5idG5fX3ByaW1hcnk6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2ZkYzUzMzsgfVxuICAuYnRuX19wcmltYXJ5OmhvdmVyLCAuYnRuX19wcmltYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuYnRuX19wcmltYXJ5OmhvdmVyOmFmdGVyLCAuYnRuX19wcmltYXJ5OmZvY3VzOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogd2hpdGU7IH1cblxuLmJ0bl9fc2Vjb25kYXJ5IHtcbiAgYm9yZGVyLWNvbG9yOiAjMjcyNzI3O1xuICBjb2xvcjogIzI3MjcyNzsgfVxuICAuYnRuX19zZWNvbmRhcnk6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjcyNzI3OyB9XG4gIC5idG5fX3NlY29uZGFyeTphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjcyNzI3OyB9XG4gIC5idG5fX3NlY29uZGFyeTpob3ZlciwgLmJ0bl9fc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuYnRuX19zZWNvbmRhcnk6aG92ZXI6YWZ0ZXIsIC5idG5fX3NlY29uZGFyeTpmb2N1czphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6IHdoaXRlOyB9XG5cbi5idG5fX3doaXRlIHtcbiAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5idG5fX3doaXRlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgLmJ0bl9fd2hpdGU6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogd2hpdGU7IH1cbiAgLmJ0bl9fd2hpdGU6aG92ZXIsIC5idG5fX3doaXRlOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZkYzUzMzsgfVxuICAgIC5idG5fX3doaXRlOmhvdmVyOmFmdGVyLCAuYnRuX193aGl0ZTpmb2N1czphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNmZGM1MzM7IH1cblxuLndoaXRlX19zdHJva2Uge1xuICBzdHJva2U6IHdoaXRlOyB9XG5cbi53aGl0ZV9fZmlsbCB7XG4gIGZpbGw6IHdoaXRlOyB9XG5cbi5ncmV5X19zdHJva2Uge1xuICBzdHJva2U6ICM0QzRDNEM7IH1cblxuLmdyZXlfX2ZpbGwge1xuICBmaWxsOiAjNEM0QzRDOyB9XG5cbi5ibGFja19fc3Ryb2tlIHtcbiAgc3Ryb2tlOiAjMjcyNzI3OyB9XG5cbi5ibGFja19fZmlsbCB7XG4gIGZpbGw6ICMyNzI3Mjc7IH1cblxuLnByaW1hcnlfX3N0cm9rZSB7XG4gIHN0cm9rZTogI2ZkYzUzMzsgfVxuXG4ucHJpbWFyeV9fZmlsbCB7XG4gIGZpbGw6ICNmZGM1MzM7IH1cblxuLnByaW1hcnlfX2NvbG9yIHtcbiAgY29sb3I6ICNmZGM1MzM7IH1cblxuLmlucHV0X193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pbnB1dF9fd3JhcHBlcjpiZWZvcmUsIC5pbnB1dF9fd3JhcHBlcjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7XG4gICAgaGVpZ2h0OiA1OHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDFweDtcbiAgICBsZWZ0OiAxcHg7IH1cbiAgLmlucHV0X193cmFwcGVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkYzUzMztcbiAgICB6LWluZGV4OiAxMDsgfVxuICAuaW5wdXRfX3dyYXBwZXI6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAyMDsgfVxuICAuaW5wdXRfX3dyYXBwZXI6Zm9jdXM6YWZ0ZXIsIC5pbnB1dF9fd3JhcHBlcjpob3ZlcjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAwcHgpOyB9XG4gIC5pbnB1dF9fd3JhcHBlcjpmb2N1cyBpbnB1dDo6cGxhY2Vob2xkZXIsIC5pbnB1dF9fd3JhcHBlcjpob3ZlciBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjOGM4YzhjOGM7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLCB0ZXh0YXJlYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDYwcHg7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogMzA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmRjNTMzO1xuICBjb2xvcjogIzI3MjcyNzsgfVxuICBbdHlwZT0ndGV4dCddOjpwbGFjZWhvbGRlciwgW3R5cGU9J3Bhc3N3b3JkJ106OnBsYWNlaG9sZGVyLCBbdHlwZT0nZGF0ZSddOjpwbGFjZWhvbGRlciwgW3R5cGU9J2RhdGV0aW1lJ106OnBsYWNlaG9sZGVyLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTo6cGxhY2Vob2xkZXIsIFt0eXBlPSdtb250aCddOjpwbGFjZWhvbGRlciwgW3R5cGU9J3dlZWsnXTo6cGxhY2Vob2xkZXIsIFt0eXBlPSdlbWFpbCddOjpwbGFjZWhvbGRlciwgW3R5cGU9J251bWJlciddOjpwbGFjZWhvbGRlciwgW3R5cGU9J3NlYXJjaCddOjpwbGFjZWhvbGRlciwgW3R5cGU9J3RlbCddOjpwbGFjZWhvbGRlciwgW3R5cGU9J3RpbWUnXTo6cGxhY2Vob2xkZXIsIFt0eXBlPSd1cmwnXTo6cGxhY2Vob2xkZXIsIFt0eXBlPSdjb2xvciddOjpwbGFjZWhvbGRlciwgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3RleHQnXTpob3ZlciwgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmhvdmVyLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmhvdmVyLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106aG92ZXIsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpob3ZlciwgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmhvdmVyLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nd2VlayddOmhvdmVyLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106aG92ZXIsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J251bWJlciddOmhvdmVyLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpob3ZlciwgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGVsJ106aG92ZXIsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106aG92ZXIsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J3VybCddOmhvdmVyLCBbdHlwZT0nY29sb3InXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106aG92ZXIsIHRleHRhcmVhOmZvY3VzLCB0ZXh0YXJlYTpob3ZlciB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAgIFt0eXBlPSd0ZXh0J106Zm9jdXM6OnBsYWNlaG9sZGVyLCBbdHlwZT0ndGV4dCddOmhvdmVyOjpwbGFjZWhvbGRlciwgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXM6OnBsYWNlaG9sZGVyLCBbdHlwZT0ncGFzc3dvcmQnXTpob3Zlcjo6cGxhY2Vob2xkZXIsIFt0eXBlPSdkYXRlJ106Zm9jdXM6OnBsYWNlaG9sZGVyLCBbdHlwZT0nZGF0ZSddOmhvdmVyOjpwbGFjZWhvbGRlciwgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXM6OnBsYWNlaG9sZGVyLCBbdHlwZT0nZGF0ZXRpbWUnXTpob3Zlcjo6cGxhY2Vob2xkZXIsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzOjpwbGFjZWhvbGRlciwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106aG92ZXI6OnBsYWNlaG9sZGVyLCBbdHlwZT0nbW9udGgnXTpmb2N1czo6cGxhY2Vob2xkZXIsIFt0eXBlPSdtb250aCddOmhvdmVyOjpwbGFjZWhvbGRlciwgW3R5cGU9J3dlZWsnXTpmb2N1czo6cGxhY2Vob2xkZXIsIFt0eXBlPSd3ZWVrJ106aG92ZXI6OnBsYWNlaG9sZGVyLCBbdHlwZT0nZW1haWwnXTpmb2N1czo6cGxhY2Vob2xkZXIsIFt0eXBlPSdlbWFpbCddOmhvdmVyOjpwbGFjZWhvbGRlciwgW3R5cGU9J251bWJlciddOmZvY3VzOjpwbGFjZWhvbGRlciwgW3R5cGU9J251bWJlciddOmhvdmVyOjpwbGFjZWhvbGRlciwgW3R5cGU9J3NlYXJjaCddOmZvY3VzOjpwbGFjZWhvbGRlciwgW3R5cGU9J3NlYXJjaCddOmhvdmVyOjpwbGFjZWhvbGRlciwgW3R5cGU9J3RlbCddOmZvY3VzOjpwbGFjZWhvbGRlciwgW3R5cGU9J3RlbCddOmhvdmVyOjpwbGFjZWhvbGRlciwgW3R5cGU9J3RpbWUnXTpmb2N1czo6cGxhY2Vob2xkZXIsIFt0eXBlPSd0aW1lJ106aG92ZXI6OnBsYWNlaG9sZGVyLCBbdHlwZT0ndXJsJ106Zm9jdXM6OnBsYWNlaG9sZGVyLCBbdHlwZT0ndXJsJ106aG92ZXI6OnBsYWNlaG9sZGVyLCBbdHlwZT0nY29sb3InXTpmb2N1czo6cGxhY2Vob2xkZXIsIFt0eXBlPSdjb2xvciddOmhvdmVyOjpwbGFjZWhvbGRlciwgdGV4dGFyZWE6Zm9jdXM6OnBsYWNlaG9sZGVyLCB0ZXh0YXJlYTpob3Zlcjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICM4YzhjOGM4YzsgfVxuICBbdHlwZT0ndGV4dCddOmRpc2FibGVkLCBbdHlwZT0ndGV4dCddW3JlYWRvbmx5XSwgW3R5cGU9J3Bhc3N3b3JkJ106ZGlzYWJsZWQsIFt0eXBlPSdwYXNzd29yZCddW3JlYWRvbmx5XSwgW3R5cGU9J2RhdGUnXTpkaXNhYmxlZCwgW3R5cGU9J2RhdGUnXVtyZWFkb25seV0sIFt0eXBlPSdkYXRldGltZSddOmRpc2FibGVkLCBbdHlwZT0nZGF0ZXRpbWUnXVtyZWFkb25seV0sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmRpc2FibGVkLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXVtyZWFkb25seV0sIFt0eXBlPSdtb250aCddOmRpc2FibGVkLCBbdHlwZT0nbW9udGgnXVtyZWFkb25seV0sIFt0eXBlPSd3ZWVrJ106ZGlzYWJsZWQsIFt0eXBlPSd3ZWVrJ11bcmVhZG9ubHldLCBbdHlwZT0nZW1haWwnXTpkaXNhYmxlZCwgW3R5cGU9J2VtYWlsJ11bcmVhZG9ubHldLCBbdHlwZT0nbnVtYmVyJ106ZGlzYWJsZWQsIFt0eXBlPSdudW1iZXInXVtyZWFkb25seV0sIFt0eXBlPSdzZWFyY2gnXTpkaXNhYmxlZCwgW3R5cGU9J3NlYXJjaCddW3JlYWRvbmx5XSwgW3R5cGU9J3RlbCddOmRpc2FibGVkLCBbdHlwZT0ndGVsJ11bcmVhZG9ubHldLCBbdHlwZT0ndGltZSddOmRpc2FibGVkLCBbdHlwZT0ndGltZSddW3JlYWRvbmx5XSwgW3R5cGU9J3VybCddOmRpc2FibGVkLCBbdHlwZT0ndXJsJ11bcmVhZG9ubHldLCBbdHlwZT0nY29sb3InXTpkaXNhYmxlZCwgW3R5cGU9J2NvbG9yJ11bcmVhZG9ubHldLCB0ZXh0YXJlYTpkaXNhYmxlZCwgdGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5pbnB1dF9fd3JhcHBlciArIC5pbnB1dF9fd3JhcHBlciBbdHlwZT0ndGV4dCddLCAuaW5wdXRfX3dyYXBwZXIgKyAuaW5wdXRfX3dyYXBwZXIgW3R5cGU9J2VtYWlsJ10sIC5pbnB1dF9fd3JhcHBlciArIC5pbnB1dF9fd3JhcHBlciB0ZXh0YXJlYSB7XG4gIGJvcmRlci10b3A6IG5vbmU7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNjBweDtcbiAgcmVzaXplOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbnNlbGVjdCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWmxjbk5wYjI0OUlqRXVNU0lnZUQwaU1USndlQ0lnZVQwaU1IQjRJaUIzYVdSMGFEMGlNalJ3ZUNJZ2FHVnBaMmgwUFNJemNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBMklETWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJRFlnTXlJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSStQSEJ2YkhsbmIyNGdjRzlwYm5SelBTSTFMams1TWl3d0lESXVPVGt5TERNZ0xUQXVNREE0TERBZ0lpOCtQQzl6ZG1jK1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMCAwIDE2cHg7XG4gIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjMDAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItcmFkaXVzOiA2cHg7IH1cblxuaW5wdXRbdHlwZT0ncmFkaW8nXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogcmFkaW87IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbmlucHV0W3R5cGU9J3N1Ym1pdCddLFxuaW5wdXRbdHlwZT0nYnV0dG9uJ10ge1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDEwcHggMzBweDsgfVxuXG5pbnB1dFt0eXBlPSdzdWJtaXQnXSxcbmlucHV0W3R5cGU9J2J1dHRvbiddIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qIENoYW5nZSBBdXRvY29tcGxldGUgc3R5bGVzIGluIENocm9tZSovXG5pbnB1dDotd2Via2l0LWF1dG9maWxsLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXNcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsLFxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbDpob3ZlclxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsLFxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyB7XG4gIGJvcmRlcjogbm9uZTtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICMzMzM7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDBweCAxMDAwcHggdHJhbnNwYXJlbnQgaW5zZXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwMHMgZWFzZS1pbi1vdXQgMHM7IH1cblxuZm9ybSAuYnRuIHtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4uaGVybyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGM1MzM7XG4gIGhlaWdodDogMTAwdmg7IH1cblxuLmZlYXR1cmVkX19wcm9qZWN0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gICAgLmZlYXR1cmVkX19wcm9qZWN0cyB7XG4gICAgICBmb250LXNpemU6IDIxcHg7IH0gfVxuXG4uZmVhdHVyZWRfX2xpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICBoeXBoZW5zOiBub25lOyB9XG4gIC5mZWF0dXJlZF9fbGluazpob3ZlciAuZmVhdHVyZWRfX2ltYWdlLCAuZmVhdHVyZWRfX2xpbms6Zm9jdXMgLmZlYXR1cmVkX19pbWFnZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAuZmVhdHVyZWRfX2xpbms6aG92ZXIgLmJ0biwgLmZlYXR1cmVkX19saW5rOmZvY3VzIC5idG4ge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmZlYXR1cmVkX19saW5rOmhvdmVyIC5idG46YmVmb3JlLCAuZmVhdHVyZWRfX2xpbms6Zm9jdXMgLmJ0bjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gICAgLmZlYXR1cmVkX19saW5rOmhvdmVyIC5idG46YWZ0ZXIsIC5mZWF0dXJlZF9fbGluazpmb2N1cyAuYnRuOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogd2hpdGU7IH1cblxuLmZlYXR1cmVkX19oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjcyNzI3O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMjVweDsgfVxuICAuZmVhdHVyZWRfX2hlYWRlciBoNCB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZlYXR1cmVkX19oZWFkZXIgaDUge1xuICAgIGNvbG9yOiAjZmRjNTMzO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgICAuZmVhdHVyZWRfX2hlYWRlciB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDM1cHg7IH0gfVxuXG4uZmVhdHVyZWRfX2ltYWdlLXdyYXBwZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDI3MHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZlYXR1cmVkX19pbWFnZSB7XG4gIGhlaWdodDogMjcwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDNzIGVhc2Utb3V0OyB9XG5cbi5mZWF0dXJlZF9faW5mbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMjVweDsgfVxuICAuZmVhdHVyZWRfX2luZm8gLmJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC5mZWF0dXJlZF9faW5mbyB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDM1cHg7IH0gfVxuXG4ubGF0ZXN0X190d2VldCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNzI3Mjc7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfVxuXG4udHdpdHRlcl9faGFuZGxlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMjFweDsgfVxuXG4jdHdpdHRlciB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAyMXB4OyB9XG4gICN0d2l0dGVyIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cblxuLm5ld3NfX3dyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyB9XG5cbi5sYXRlc3RfX25ld3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nLXRvcDogNjBweDtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgICAubGF0ZXN0X19uZXdzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDsgfSB9XG5cbi5sYXRlc3RfX25ld3MtZGF0ZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiAjMjcyNzI3OyB9XG5cbi5sYXRlc3RfX25ld3MtdGl0bGUge1xuICBjb2xvcjogI2ZkYzUzMztcbiAgZm9udC1zaXplOiAyMXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG5cbi5sYXRlc3RfX25ld3MtZXhjZXJwdCB7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIHdpZHRoOiA5MCU7XG4gIGNvbG9yOiAjNEM0QzRDO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBoeXBoZW5zOiBhdXRvOyB9XG5cbi5uZXdzX19ibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gIC5uZXdzX19ibG9jayAuYnRuIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi5uZXdzX19pbmZvIHtcbiAgcGFkZGluZzogMjVweCAzMHB4OyB9XG5cbi5uZXdzX19pbWFnZSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLm5ld3Mtc2hhcmUge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogNDBweCAwIDA7IH1cbiAgLm5ld3Mtc2hhcmUgc3ZnIHtcbiAgICBoZWlnaHQ6IDI1cHg7IH1cbiAgLm5ld3Mtc2hhcmUgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gIC5uZXdzLXNoYXJlIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgICAubmV3cy1zaGFyZSB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG4uY29udGFjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nLXRvcDogNjBweDtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuICAuY29udGFjdCBoNiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY29udGFjdCAuZ3JpZCB7XG4gICAgbWFyZ2luLXRvcDogODBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC5jb250YWN0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDsgfVxuICAgICAgLmNvbnRhY3QgLmNvbF9fZXZlbjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9IH1cblxuLmNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogNjBweDtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIGZvbnQtc2l6ZTogMjFweDsgfVxuICAuY29udGVudCBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY29udGVudC1ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTsgfVxuXG4uY29udGVudC1pbnRybyB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMzFweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC5jb250ZW50LWludHJvIHtcbiAgICAgIG1heC13aWR0aDogODAwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuY29udGVudC1ib2R5IHtcbiAgICBtYXgtd2lkdGg6IDYwMHB4OyB9IH1cblxuLmxpbmtfX2JveCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmxpbmtfX2JveDpob3ZlciwgLmxpbmtfX2JveDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRDNEM0QzsgfVxuICAgIC5saW5rX19ib3g6aG92ZXIgc3BhbiwgLmxpbmtfX2JveDpmb2N1cyBzcGFuIHtcbiAgICAgIGNvbG9yOiAjZmRjNTMzOyB9XG4gIC5saW5rX19ib3ggaW1nIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDE0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjVweDsgfVxuICAubGlua19fYm94IHNwYW4ge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgIGNvbG9yOiAjNjQ2NDYzOyB9XG5cbi5wcm9qZWN0X19saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLnByb2plY3RfX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IGdyZXk7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogc29mdC1saWdodDtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cbiAgLnByb2plY3RfX2l0ZW06aG92ZXIgLmJ0biwgLnByb2plY3RfX2l0ZW06Zm9jdXMgLmJ0biB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjb2xvcjogI2ZkYzUzMzsgfVxuICAgIC5wcm9qZWN0X19pdGVtOmhvdmVyIC5idG46YmVmb3JlLCAucHJvamVjdF9faXRlbTpmb2N1cyAuYnRuOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgICAucHJvamVjdF9faXRlbTpob3ZlciAuYnRuOmFmdGVyLCAucHJvamVjdF9faXRlbTpmb2N1cyAuYnRuOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZkYzUzMzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC5wcm9qZWN0X19pdGVtIHtcbiAgICAgIGhlaWdodDogMTQwcHg7IH0gfVxuXG4ucHJvamVjdF9fdGl0bGUge1xuICBmb250LXNpemU6IDIxcHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gICAgLnByb2plY3RfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMzFweDtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG5cbi5wcm9qZWN0X19saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gIC5wcm9qZWN0X19saW5rIC5idG4ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgICAucHJvamVjdF9fbGluayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgIC5wcm9qZWN0X19saW5rIC5idG4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLnByb2plY3RfX2hlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAzNXB4IDBweDsgfVxuICAucHJvamVjdF9faGVhZGVyIGgxIHtcbiAgICBjb2xvcjogIzI3MjcyNztcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5wcm9qZWN0X19oZWFkZXIgaDIge1xuICAgIGNvbG9yOiBncmV5O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnByb2plY3RfX3dyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAyMXB4OyB9XG5cbi5wcm9qZWN0X19kZXRhaWxzLFxuLnByb2plY3RfX2Rlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IDYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG5cbi5wcm9qZWN0X19kZXRhaWxzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgyODI4MjtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4ucHJvamVjdF9faW5mbyB7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAucHJvamVjdF9faW5mbyBoNSB7XG4gICAgY29sb3I6ICNmZGM1MzM7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucHJvamVjdF9faW5mbyBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5wcm9qZWN0X19pbmZvIC5idG4ge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cblxuLmlmcmFtZV9fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4uaWZyYW1lX19lbWJlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDA7IH1cbiIsIi8qISBzYW5pdGl6ZS5jc3MgdjUuMC4wIHwgQ0MwIExpY2Vuc2UgfCBnaXRodWIuY29tL2pvbmF0aGFudG5lYWwvc2FuaXRpemUuY3NzICovXG5cbi8qIERvY3VtZW50IChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRpY3MuaHRtbCNzZW1hbnRpY3MpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSByZXBlYXRpbmcgYmFja2dyb3VuZHMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBBZGQgYm94IHNpemluZyBpbmhlcml0ZW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG4qLFxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgLyogMSAqL1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRleHQgZGVjb3JhdGlvbiBpbmhlcml0YW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIEFkZCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW5oZXJpdGVuY2UgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQWRkIGJvcmRlciBib3ggc2l6aW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQWRkIHRoZSBkZWZhdWx0IGN1cnNvciBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDMuIFByZXZlbnQgZm9udCBzaXplIGFkanVzdG1lbnRzIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgYW5kIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjdXJzb3I6IGRlZmF1bHQ7IC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG59XG5cbi8qIFNlY3Rpb25zIChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRpY3MuaHRtbCNzZWN0aW9ucylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnQgKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI2dyb3VwaW5nLWNvbnRlbnQpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgbGlzdCBzdHlsZSBvbiBuYXZpZ2F0aW9uIGxpc3RzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbm5hdiBvbCxcbm5hdiB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3MgKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI3RleHQtbGV2ZWwtc2VtYW50aWNzKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLS41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnQgKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2VtYmVkZGVkLWNvbnRlbnQuaHRtbCNlbWJlZGRlZC1jb250ZW50KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENoYW5nZSB0aGUgYWxpZ25tZW50IG9uIG1lZGlhIGVsZW1lbnRzIGluIGFsbCBicm93ZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGZpbGwgY29sb3IgdG8gbWF0Y2ggdGhlIHRleHQgY29sb3IgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuc3ZnIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogVGFidWxhciBkYXRhIChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS90YWJsZXMuaHRtbCN0YWJsZXMpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvbGxhcHNlIGJvcmRlciBzcGFjaW5nXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG4vKiBGb3JtcyAoaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZm9ybXMuaHRtbCNmb3JtcylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBJbmhlcml0IHN0eWxpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKiAyLiBDaGFuZ2UgdGhlIHJlc2l6ZSBkaXJlY3Rpb24gb24gdGV4dGFyZWFzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8qIDEgKi9cbiAgcmVzaXplOiB2ZXJ0aWNhbDsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZSBlbGVtZW50cyAoaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZm9ybXMuaHRtbCNpbnRlcmFjdGl2ZS1lbGVtZW50cylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzLCAvKiAxICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nIChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zY3JpcHRpbmcuaHRtbCNzY3JpcHRpbmctMylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogVXNlciBpbnRlcmFjdGlvbiAoaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCNlZGl0aW5nKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0aGUgdGFwcGluZyBkZWxheSBvbiBjbGlja2FibGUgZWxlbWVudHMgKG9waW5pb25hdGVkKS5cbiAqIDEuIFJlbW92ZSB0aGUgdGFwcGluZyBkZWxheSBpbiBJRSAxMC5cbiAqL1xuXG5hLFxuYXJlYSxcbmJ1dHRvbixcbmlucHV0LFxubGFiZWwsXG5zZWxlY3QsXG5zdW1tYXJ5LFxudGV4dGFyZWEsXG5bdGFiaW5kZXhdIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyAvKiAxICovXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEFSSUEgKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9odG1sLWFyaWEvKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGN1cnNvciBvbiBidXN5IGVsZW1lbnRzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuW2FyaWEtYnVzeT1cInRydWVcIl0ge1xuICBjdXJzb3I6IHByb2dyZXNzO1xufVxuXG4vKlxuICogQ2hhbmdlIHRoZSBjdXJzb3Igb24gY29udHJvbCBlbGVtZW50cyAob3BpbmlvbmF0ZWQpLlxuICovXG5cblthcmlhLWNvbnRyb2xzXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLypcbiAqIENoYW5nZSB0aGUgZGlzcGxheSBvbiB2aXN1YWxseSBoaWRkZW4gYWNjZXNzaWJsZSBlbGVtZW50cyAob3BpbmlvbmF0ZWQpLlxuICovXG5cblthcmlhLWhpZGRlbj1cImZhbHNlXCJdW2hpZGRlbl06bm90KDpmb2N1cykge1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBkaXNwbGF5OiBpbmhlcml0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi8qXG4gKiBDaGFuZ2UgdGhlIGN1cnNvciBvbiBkaXNhYmxlZCwgbm90LWVkaXRhYmxlLCBvciBvdGhlcndpc2VcbiAqIGlub3BlcmFibGUgZWxlbWVudHMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5bYXJpYS1kaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59IiwiLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyXG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgICAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zbGljay1saXN0XG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuLnNsaWNrLWxpc3Q6Zm9jdXNcbntcbiAgICBvdXRsaW5lOiBub25lO1xufVxuLnNsaWNrLWxpc3QuZHJhZ2dpbmdcbntcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kO1xufVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3RcbntcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2tcbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4uc2xpY2stdHJhY2s6YmVmb3JlLFxuLnNsaWNrLXRyYWNrOmFmdGVyXG57XG4gICAgZGlzcGxheTogdGFibGU7XG5cbiAgICBjb250ZW50OiAnJztcbn1cbi5zbGljay10cmFjazphZnRlclxue1xuICAgIGNsZWFyOiBib3RoO1xufVxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrXG57XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpY2stc2xpZGVcbntcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbn1cbltkaXI9J3J0bCddIC5zbGljay1zbGlkZVxue1xuICAgIGZsb2F0OiByaWdodDtcbn1cbi5zbGljay1zbGlkZSBpbWdcbntcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZ1xue1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4uc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nXG57XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlXG57XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGVcbntcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlXG57XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dFxue1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBsaW5lLWhlaWdodDogMDtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stcHJldjpob3Zlcixcbi5zbGljay1wcmV2OmZvY3VzLFxuLnNsaWNrLW5leHQ6aG92ZXIsXG4uc2xpY2stbmV4dDpmb2N1c1xue1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLXByZXY6aG92ZXI6YmVmb3JlLFxuLnNsaWNrLXByZXY6Zm9jdXM6YmVmb3JlLFxuLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlLFxuLnNsaWNrLW5leHQ6Zm9jdXM6YmVmb3JlXG57XG4gICAgb3BhY2l0eTogMTtcbn1cbi5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOmJlZm9yZSxcbi5zbGljay1uZXh0LnNsaWNrLWRpc2FibGVkOmJlZm9yZVxue1xuICAgIG9wYWNpdHk6IC4yNTtcbn1cblxuLnNsaWNrLXByZXY6YmVmb3JlLFxuLnNsaWNrLW5leHQ6YmVmb3JlXG57XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgb3BhY2l0eTogLjc1O1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5zbGljay1wcmV2XG57XG4gICAgbGVmdDogLTI1cHg7XG59XG5bZGlyPSdydGwnXSAuc2xpY2stcHJldlxue1xuICAgIHJpZ2h0OiAtMjVweDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuLnNsaWNrLXByZXY6YmVmb3JlXG57XG4gICAgY29udGVudDogJ+KGkCc7XG59XG5bZGlyPSdydGwnXSAuc2xpY2stcHJldjpiZWZvcmVcbntcbiAgICBjb250ZW50OiAn4oaSJztcbn1cblxuLnNsaWNrLW5leHRcbntcbiAgICByaWdodDogLTI1cHg7XG59XG5bZGlyPSdydGwnXSAuc2xpY2stbmV4dFxue1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IC0yNXB4O1xufVxuLnNsaWNrLW5leHQ6YmVmb3JlXG57XG4gICAgY29udGVudDogJ+KGkic7XG59XG5bZGlyPSdydGwnXSAuc2xpY2stbmV4dDpiZWZvcmVcbntcbiAgICBjb250ZW50OiAn4oaQJztcbn1cblxuLyogRG90cyAqL1xuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXJcbntcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90c1xue1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yNXB4O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc2xpY2stZG90cyBsaVxue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc2xpY2stZG90cyBsaSBidXR0b25cbntcbiAgICBmb250LXNpemU6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiA1cHg7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsXG4uc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXNcbntcbiAgICBvdXRsaW5lOiBub25lO1xufVxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOmJlZm9yZSxcbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1czpiZWZvcmVcbntcbiAgICBvcGFjaXR5OiAxO1xufVxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZVxue1xuICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuXG4gICAgY29udGVudDogJ+KAoic7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgb3BhY2l0eTogLjI1O1xuICAgIGNvbG9yOiBibGFjaztcblxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG4uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZVxue1xuICAgIG9wYWNpdHk6IC43NTtcbiAgICBjb2xvcjogYmxhY2s7XG59XG4iLCIvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyAtIC0gbGF5b3V0XG4vLyBnbG9iYWwgbGF5b3V0IGNsYXNzZXMgLSBoZWlnaHQsIHdpZHRoLCBwYWRkaW5nLCBtYXJnaW4sIGV0Yy5cblxuXG4vLyBVc2luZyBOZWF0IGdyaWQgZm9yIGRvY3VtZW50YXRpb25cbi8vIGh0dHBzOi8vbmVhdC5ib3VyYm9uLmlvL2RvY3MvbGF0ZXN0L1xuXG5cbi8vIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbi8vIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEwLCAkbmVhdC1ncmlkLWZpdmUpO1xuXG4ud3JhcHBlciB7XG5cdEBpbmNsdWRlIGdyaWQtY29udGFpbmVyKCk7XG5cdG1heC13aWR0aDogJHdyYXBwZXI7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cblx0cGFkZGluZy1sZWZ0OiAyMHB4O1xuXHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFjdGlvbikge1xuXHRcdHBhZGRpbmctbGVmdDogNjBweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuXHR9XG5cblx0Ly8gbWludXMgb3V0IHRoZSBwYWRkaW5nXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoY2FsYygkd3JhcHBlciArIDEyMHB4KSkge1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHR9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoJGFjdGlvbikge1xuXHQuZ3JpZCB7XG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2xsYXBzZTtcblx0XHQmOmJlZm9yZSxcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0XHRjbGVhcjogYm90aDtcblx0XHR9XG5cdH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkYWN0aW9uKSB7XG5cdC5nLW9uZVRoaXJkIHtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbig0KTtcblx0fVxuXG5cdC5nLXR3b1RoaXJkcyB7XG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7XG5cdH1cblxuXHQucHJvamVjdF9fZGVzY3JpcHRpb24ge1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDcpO1xuXHR9XG5cblx0LnByb2plY3RfX2RldGFpbHMge1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDUpO1xuXHR9XG5cblx0LmZlYXR1cmVkX19saW5rIHtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcblx0fVxuXG5cdC5jb2xfX2V2ZW4ge1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuXHR9XG59XG5cbi5jb2xfX2V2ZW4gKyAuY29sX19ldmVuLFxuLmdyaWQgKyAuZ3JpZCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhY3Rpb24pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG59XG5cblxuXG4jbWFwIHtcbiAgICBoZWlnaHQ6IDQwMHB4O1xufSIsIi8vIENvbG91cnNcbi8vIEFsbCBjb2xvdXIgdmFyaWFibGUgbmFtZXMgc2hvdWxkIGNvbWUgZnJvbSBodHRwOi8vY2hpci5hZy9wcm9qZWN0cy9uYW1lLXRoYXQtY29sb3IvXG5cblxuLy8gU29jaWFsIE1lZGlhIENvbG9yc1xuJHNvY2lhbC1jb2xvcnM6IChcbiAgdHdpdHRlcjogICAgIzAwQUNFRCxcbiAgeW91dHViZTogICAgI0NEMjAxRixcbiAgcGludGVyZXN0OiAgI0NCMjAyNyxcbiAgZ2l0aHViOiAgICAgIzMzMzMzMyxcbiAgZHJpYmJibGU6ICAgI0VBNEM4OCxcbiAgaW5zdGFncmFtOiAgIzUxN0ZBNCxcbiAgZmFjZWJvb2s6ICAgIzNCNTk5OVxuKTtcblxuLy8gdG8gdXNlIHRoaXMgY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1jb2xvcnMsIHR3aXR0ZXIpO1xuXG4kcHJpbWFyeS1jb2xvcjogI2ZkYzUzMztcbiRzZWNvbmRhcnktY29sb3I6ICMyNzI3Mjc7XG4kYmxhY2s6ICAgICMyNzI3Mjc7XG4kZ3JleTogICAgIzRDNEM0QztcblxuXG4vLyBUeXBvZ3JhcGh5XG4kYmFzZS1mb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIixzYW5zLXNlcmlmOztcbiRiYXNlLWZvbnQtc2l6ZTogMTZweDtcbiRiYXNlLWZvbnQtd2VpZ2h0OiAzMDA7XG4kYmFzZS1mb250LWNvbG9yOiAjMDAwO1xuJGJhc2UtbGluZS1oZWlnaHQ6IDEuNTtcblxuJGhlYWRpbmctZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuJGhlYWRpbmctZm9udC13ZWlnaHQ6IDMwMDtcblxuXG5cbi8vIEdyaWRcblxuJG5lYXQtZ3JpZDogKFxuICBjb2x1bW5zOiAxMixcbiAgZ3V0dGVyOiA0MHB4LFxuKTtcblxuJG5lYXQtZ3JpZC1maXZlOiAoXG4gIGNvbHVtbnM6IDEwLFxuICBndXR0ZXI6IDIwcHgsXG4pO1xuXG5cbi8vIE1lZGlhIFF1ZXJpZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCd0byBlbXMnLCB0cnVlKTtcblxuJG5hczogNTAwcHg7XG4kd3V0YW5nOiA3NjhweDtcbiRhY3Rpb246IDk2MHB4O1xuJGRyZTogMTIwMHB4O1xuJGtlbmRyaWNrOiAxNDQwcHg7XG4kYmlnZ2llOiAxNjAwcHg7XG4kd3JhcHBlcjogJGtlbmRyaWNrOyIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb250YWluZXIgd2l0aCBjbGVhcmZpeC5cbi8vL1xuLy8vIEBncm91cCBmZWF0dXJlc1xuLy8vXG4vLy8gQG5hbWUgR3JpZCBjb250YWluZXJcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgZ3JpZC1jb250YWluZXI7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3Ncbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgIH1cblxuQG1peGluIGdyaWQtY29udGFpbmVyKCRncmlkOiAkbmVhdC1ncmlkKSB7XG4gIEBpZiAkZ3JpZCAhPSAkbmVhdC1ncmlkIHtcbiAgICBAd2FybiBcImBncmlkLWNvbnRhaW5lcmAgZG9lcyBub3QgdXNlIGdyaWQgcHJvcGVydGVzLlxuICAgICAgQ3VzdG9tIGdyaWRzIGRvIG5vdCBuZWVkIHRvIGJlIHBhc3NlZCBpbiB0byB0aGlzIG1peGluLlwiO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRGVmYXVsdCBWYXJpYWJsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJEJyZWFrcG9pbnQtU2V0dGluZ3M6IChcbiAgJ2RlZmF1bHQgbWVkaWEnOiBhbGwsXG4gICdkZWZhdWx0IGZlYXR1cmUnOiBtaW4td2lkdGgsXG4gICdkZWZhdWx0IHBhaXInOiB3aWR0aCxcblxuICAnZm9yY2UgYWxsIG1lZGlhIHR5cGUnOiBmYWxzZSxcbiAgJ3RvIGVtcyc6IGZhbHNlLFxuICAndHJhbnNmb3JtIHJlc29sdXRpb25zJzogdHJ1ZSxcblxuICAnbm8gcXVlcmllcyc6IGZhbHNlLFxuICAnbm8gcXVlcnkgZmFsbGJhY2tzJzogZmFsc2UsXG5cbiAgJ2Jhc2UgZm9udCBzaXplJzogMTZweCxcblxuICAnbGVnYWN5IHN5bnRheCc6IGZhbHNlXG4pO1xuXG4kYnJlYWtwb2ludDogKCkgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9zZXR0aW5nc1wiO1xuQGltcG9ydCAnYnJlYWtwb2ludC9jb250ZXh0JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvaGVscGVycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L3BhcnNlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9uby1xdWVyeSc7XG5cbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcmVzcG9uZC10byc7XG5cbkBpbXBvcnQgXCJicmVha3BvaW50L2xlZ2FjeS1zZXR0aW5nc1wiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyZWFrcG9pbnQgTWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgbGVnYWN5LXNldHRpbmdzLXdhcm5pbmc7XG5cbiAgLy8gUmVzZXQgY29udGV4dHNcbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG5cbiAgJGJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQoJHF1ZXJ5LCBmYWxzZSk7XG5cbiAgJHF1ZXJ5LXN0cmluZzogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5Jyk7XG4gICRxdWVyeS1mYWxsYmFjazogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2ZhbGxiYWNrJyk7XG5cbiAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2NvbnRleHQgaG9sZGVyJykgIWdsb2JhbDtcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5IGNvdW50JykgIWdsb2JhbDtcblxuICAvLyBBbGxvdyBmb3IgYW4gYXMtbmVlZGVkIG92ZXJyaWRlIG9yIHVzYWdlIG9mIG5vIHF1ZXJ5IGZhbGxiYWNrLlxuICBAaWYgJG5vLXF1ZXJ5ICE9IGZhbHNlIHtcbiAgICAkcXVlcnktZmFsbGJhY2s6ICRuby1xdWVyeTtcbiAgfVxuXG4gIEBpZiAkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2Uge1xuICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCduby1xdWVyeScsICRxdWVyeS1mYWxsYmFjayk7XG4gIH1cblxuICAvLyBQcmludCBPdXQgUXVlcnkgU3RyaW5nXG4gIEBpZiBub3QgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSB7XG4gICAgQG1lZGlhICN7JHF1ZXJ5LXN0cmluZ30ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSAhPSBmYWxzZSBvciBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpID09IHRydWUge1xuXG4gICAgJHR5cGU6IHR5cGUtb2YoYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpKTtcbiAgICAkcHJpbnQ6IGZhbHNlO1xuXG4gICAgQGlmICgkdHlwZSA9PSAnYm9vbCcpIHtcbiAgICAgICRwcmludDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdzdHJpbmcnKSB7XG4gICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdsaXN0Jykge1xuICAgICAgQGVhY2ggJHdyYXBwZXIgaW4gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSAkd3JhcHBlciB7XG4gICAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gV3JpdGUgRmFsbGJhY2tcbiAgICBAaWYgKCRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSkgYW5kICgkcHJpbnQgPT0gdHJ1ZSkge1xuICAgICAgJHR5cGUtZmFsbGJhY2s6IHR5cGUtb2YoJHF1ZXJ5LWZhbGxiYWNrKTtcblxuICAgICAgQGlmICgkdHlwZS1mYWxsYmFjayAhPSAnYm9vbCcpIHtcbiAgICAgICAgI3skcXVlcnktZmFsbGJhY2t9ICYge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xufVxuXG5cbkBtaXhpbiBtcSgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vLy8gQ3JlYXRlcyBjb2xsYXBzZWQgZ3JpZCBvYmplY3QgdGhhdCBjb25zdW1lcyB0aGUgZ3V0dGVycyBvZiBpdHMgY29udGFpbmVyLFxuLy8vIGZvciB1c2UgaW4gbmVzdGVkIGxheW91dHMuXG4vLy9cbi8vLyBAZ3JvdXAgZmVhdHVyZXNcbi8vL1xuLy8vIEBuYW1lIEdyaWQgY29sbGFwc2Vcbi8vL1xuLy8vIEBhcmd1bWVudCB7bWFwfSAkZ3JpZCBbJG5lYXQtZ3JpZF1cbi8vLyAgIFRoZSBncmlkIHRvIGJlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGNvbGxhcHNlZCBjb250YWluZXIuXG4vLy8gICBCeSBkZWZhdWx0LCB0aGUgZ2xvYmFsIGAkbmVhdC1ncmlkYCB3aWxsIGJlIHVzZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGdyaWQtY29sbGFwc2U7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuLy8vICAgICB3aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG4vLy8gICB9XG5cbkBtaXhpbiBncmlkLWNvbGxhcHNlKCRncmlkOiAkbmVhdC1ncmlkKSB7XG4gICRfZ3JpZC1ndXR0ZXI6IF9yZXRyaWV2ZS1uZWF0LXNldHRpbmcoJGdyaWQsIGd1dHRlcik7XG5cbiAgQGlmIHVuaXQoJF9ncmlkLWd1dHRlcikgPT0gXCIlXCIge1xuICAgIEB3YXJuIFwiYGdyaWQtY29sbGFwc2VgIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggcGVyY2VudGFnZSBiYXNlZCBndXR0ZXJzLlwiO1xuICB9XG5cbiAgbWFyZ2luLSN7X25lYXQtZmxvYXQtZGlyZWN0aW9uKCRncmlkKX06IC0oJF9ncmlkLWd1dHRlcik7XG4gIG1hcmdpbi0je19uZWF0LW9wcG9zaXRlLWRpcmVjdGlvbigkZ3JpZCl9OiAtKCRfZ3JpZC1ndXR0ZXIpO1xuICB3aWR0aDogY2FsYygxMDAlICsgI3soJF9ncmlkLWd1dHRlciAqIDIpfSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIG9mIHJlcXVlc3RlZCBzaXplLlxuLy8vXG4vLy8gQGdyb3VwIGZlYXR1cmVzXG4vLy9cbi8vLyBAbmFtZSBHcmlkIGNvbHVtblxuLy8vXG4vLy8gQGFyZ3VtZW50IHtudW1iZXIgKHVuaXRsZXNzKX0gJGNvbHVtbnMgW251bGxdXG4vLy8gICBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuIGVsZW1lbnQgc2hvdWxkIHNwYW4gYmFzZWQgb24gdGhlIHRvdGFsXG4vLy8gICBjb2x1bW5zIG9mIHRoZSBncmlkLlxuLy8vXG4vLy8gICBUaGlzIGNhbiBhbHNvIGJlIGRlZmluZWQgaW4gYSBzaG9ydGhhbmQgc3ludGF4dCB3aGljaCBhbHNvIGNvbnRhaW5zIHRoZVxuLy8vICAgdG90YWwgY29sdW1uIGNvdW50IHN1Y2ggYXMgYDMgb2YgNWAuXG4vLy9cbi8vLyBAYXJndW1lbnQge21hcH0gJGdyaWQgWyRuZWF0LWdyaWRdXG4vLy8gICBUaGUgZ3JpZCB0byBiZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBjb2x1bW4uXG4vLy8gICBCeSBkZWZhdWx0LCB0aGUgZ2xvYmFsIGAkbmVhdC1ncmlkYCB3aWxsIGJlIHVzZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDMpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiBjYWxjKDI1JSAtIDI1cHgpO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4vLy8gICB9XG5cbkBtaXhpbiBncmlkLWNvbHVtbigkY29sdW1uczogbnVsbCwgJGdyaWQ6ICRuZWF0LWdyaWQpIHtcbiAgJGNvbHVtbnM6IF9uZWF0LWNvbHVtbi1kZWZhdWx0KCRncmlkLCAkY29sdW1ucyk7XG4gICRfZ3JpZC1jb2x1bW5zOiBfcmV0cmlldmUtbmVhdC1zZXR0aW5nKCRncmlkLCBjb2x1bW5zKTtcbiAgJF9ncmlkLWd1dHRlcjogX3JldHJpZXZlLW5lYXQtc2V0dGluZygkZ3JpZCwgZ3V0dGVyKTtcblxuICB3aWR0aDogY2FsYygje19uZWF0LWNvbHVtbi13aWR0aCgkZ3JpZCwgJGNvbHVtbnMpfSk7XG4gIGZsb2F0OiBfbmVhdC1mbG9hdC1kaXJlY3Rpb24oJGdyaWQpO1xuICBtYXJnaW4tI3tfbmVhdC1mbG9hdC1kaXJlY3Rpb24oJGdyaWQpfTogJF9ncmlkLWd1dHRlcjtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8vLyBSZXR1cm4gdGhlIGZsb2F0IGRpcmVjdGlvbiBvZiB0aGUgZ3JpZC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7bWFwfSAkZ3JpZFxuLy8vXG4vLy8gQHJldHVybiB7c3RyaW5nfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgX25lYXQtZmxvYXQtZGlyZWN0aW9uKCRuZWF0LWdyaWQpXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9uZWF0LWZsb2F0LWRpcmVjdGlvbigkZ3JpZCkge1xuICAkX2RpcmVjdGlvbjogX3JldHJpZXZlLW5lYXQtc2V0dGluZygkZ3JpZCwgZGlyZWN0aW9uKTtcbiAgJF9mbG9hdC1kaXJlY3Rpb246IG51bGw7XG4gIEBpZiAkX2RpcmVjdGlvbiA9PSBcImx0clwiIHtcbiAgICAgICRfZmxvYXQtZGlyZWN0aW9uOiBsZWZ0O1xuICB9IEBlbHNlIGlmICRfZGlyZWN0aW9uID09IFwicnRsXCIge1xuICAgICRfZmxvYXQtZGlyZWN0aW9uOiByaWdodDtcbiAgfVxuICBAcmV0dXJuICRfZmxvYXQtZGlyZWN0aW9uO1xufVxuIiwiLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gLSAtIHR5cG9ncmFwaHlcbi8vIGdsb2JhbCB0eXBvZ3JhcGh5IHN0eWxlc1xuXG5ib2R5IHtcbiAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRiYXNlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkYmFzZS1mb250LWNvbG9yO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1saW5lLWhlaWdodDtcbn1cblxuaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QsIGJ1dHRvbiB7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xufVxuXG5oMSwgLmgxLCBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGluZy1mb250LXdlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFjdGlvbikge1xuICAgICAgICBmb250LXNpemU6IDMxcHg7XG4gICAgfVxufVxuXG5oMywgaDQsIGg1LCBoNiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGluZy1mb250LXdlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFjdGlvbikge1xuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgfVxufVxuXG5wLCAucCB7XG4gICAgbWFyZ2luLXRvcDogMDtcblx0Zm9udC1zaXplOiBpbmhlcml0O1xufVxuXG4vLyBMSVNUU1xuXG51bC5saXN0X19pbmxpbmUge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxudWwubGlzdF9fdW5zdHlsZWQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG5hIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb24tc2tpcDogaW5rO1xuXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBoeXBoZW5zOiBhdXRvO1xufVxuXG5hW2hyZWZePVwidGVsOlwiXSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG51IHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb24tc2tpcDogaW5rO1xufSIsIi5tYWluX19oZWFkZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cdHBhZGRpbmc6IDIwcHggMDtcblx0LndyYXBwZXIge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxufVxuXG4ubG9nbyB7XG5cdGZsZXgtZ3JvdzogMTtcblx0YSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG5cblx0aW1nIHtcblx0XHRtYXgtd2lkdGg6IDIwMHB4O1xuXHR9XG59IiwiLm1haW5fX2Zvb3RlciB7XG4gICAgYmFja2dyb3VuZDogIzI3MjcyNztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgYSB7XG4gICAgXHRjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAuY29sX19ldmVuIHtcbiAgICBcdCY6bGFzdC1vZi10eXBlIHtcbiAgICBcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgXHR9XG4gICAgfVxufVxuXG4uZm9vdGVyX19sb2dvIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAyMDBweDtcblx0bWFyZ2luLWJvdHRvbTogNDBweDtcbn0iLCIuc29jaWFsX19saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRkaXNwbGF5OiBub25lO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFjdGlvbikge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdGxpIHtcblx0XHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMTdweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmFjY3JlZHNfX2xpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0cGFkZGluZzogMDtcbiAgICBtYXJnaW46IDgwcHggMCA1MHB4O1xuXG4gICAgaDMge1xuICAgIFx0bWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5zb2NpYWxfX2xpbmsge1xuXHQvLyBkaXNwbGF5OiBmbGV4O1xuIC8vICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2UtaW4tb3V0O1xuXG5cdC5zb2NpYWxfX2luZm8ge1xuXHRcdHdpZHRoOiAzMHB4O1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNjVweCk7XG5cdCAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlLWluLW91dDtcblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdC5zb2NpYWxfX2luZm8ge1xuXHRcdFx0bWF4LXdpZHRoOiAxNTBweDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO1xuXHRcdCAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlLWluLW91dDtcblx0XHR9XG5cdH1cbn1cblxuLnNvY2lhbF9faWNvbiB7XG5cdHdpZHRoOiAyNXB4O1xuXHRoZWlnaHQ6IDI1cHg7XG4gICAgZmlsbDogd2hpdGU7XG59IiwiLm1haW5fX25hdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFjdGlvbikge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbn1cblxuLm5hdi1hY3RpdmUge1xuICAgIC5tYWluX19uYXYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5uYXZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFjdGlvbikge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2X19saW5rLWRyb3Bkb3duIHtcbiAgICAmOmhvdmVyICsgLm5hdl9fZHJvcGRvd24ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbn1cblxuLm5hdl9fZHJvcGRvd24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMHB4O1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICB6LWluZGV4OiA1O1xuXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFjdGlvbikge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhY3Rpb24pIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgfVxuXG59XG5cbi5kcm9wZG93bl9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweCAzMHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgaHlwaGVuczogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59IiwiLmhhbWJ1cmdlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFjdGlvbikge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuXG4uaGFtYnVyZ2VyOmhvdmVyLFxuLmhhbWJ1cmdlcjpmb2N1cyB7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5uYXYtYWN0aXZlIC5oYW1idXJnZXI6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLm5hdi1hY3RpdmUgLmhhbWJ1cmdlciAuaGFtYnVyZ2VyX19pbm5lcixcbi5uYXYtYWN0aXZlIC5oYW1idXJnZXIgLmhhbWJ1cmdlcl9faW5uZXI6OmJlZm9yZSxcbi5uYXYtYWN0aXZlIC5oYW1idXJnZXIgLmhhbWJ1cmdlcl9faW5uZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLmhhbWJ1cmdlcl9fYm94IHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwZXJzcGVjdGl2ZTogODBweDtcbn1cblxuLmhhbWJ1cmdlcl9faW5uZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSwgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbn1cblxuLmhhbWJ1cmdlcl9faW5uZXIsIC5oYW1idXJnZXJfX2lubmVyOjpiZWZvcmUsIC5oYW1idXJnZXJfX2lubmVyOjphZnRlciB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG59XG5cbi5oYW1idXJnZXJfX2lubmVyOjpiZWZvcmUsXG4uaGFtYnVyZ2VyX19pbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xufVxuXG4uaGFtYnVyZ2VyX19pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IC0xMHB4O1xufVxuXG4uaGFtYnVyZ2VyX19pbm5lcjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTEwcHg7XG59XG5cbi5uYXYtYWN0aXZlIC5oYW1idXJnZXIgLmhhbWJ1cmdlcl9faW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgcm90YXRlWSgxODBkZWcpO1xufVxuXG4ubmF2LWFjdGl2ZSAuaGFtYnVyZ2VyIC5oYW1idXJnZXJfX2lubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgcm90YXRlKDQ1ZGVnKTtcbn1cblxuLm5hdi1hY3RpdmUgLmhhbWJ1cmdlciAuaGFtYnVyZ2VyX19pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHJvdGF0ZSgtNDVkZWcpO1xufVxuIiwiLnNsaWRlcl9fd3JhcHBlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICBoZWlnaHQ6IDMwMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYWN0aW9uKSB7XG5cdCAgIGhlaWdodDogNjgxcHg7XG4gICAgfVxufVxuXG4uc2xpZGVyX19pbmZvIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gICAgdHJhbnNmb3JtOiBza2V3KC0xNWRlZyk7XG4gICAgcmlnaHQ6IDEwJTtcblxuICAgIGgzIHtcblx0ICAgIHRyYW5zZm9ybTogc2tldygxNWRlZyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufSIsIi5pbnRybyB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgcGFkZGluZzogMzBweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiAjNjQ2NDYzO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYWN0aW9uKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzFweDtcbiAgICBcdHBhZGRpbmc6IDEwMHB4IDA7XG4gICAgfVxuXG4gICAgLmctb25lVGhpcmQge1xuICAgIFx0dGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxufSIsIi5idG4ge1xuICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCh3aGl0ZSwgYmxhY2spO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHBhZGRpbmc6IDE1cHggODBweCAxNXB4IDI1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlLWluLW91dDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhY3Rpb24pIHtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQsXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IC42NTtcbiAgICB9XG5cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDNweDtcbiAgICAgICAgd2lkdGg6IDRlbTtcbiAgICAgICAgaGVpZ2h0OiA0ZW07XG4gICAgICAgIG1hcmdpbi10b3A6IC0yZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1NGRlZykgc2tldygyMGRlZyk7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFjdGlvbikge1xuICAgICAgICAgICAgZm9udC1zaXplOiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5idG5fX3ByaW1hcnkge1xuICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnRuX19zZWNvbmRhcnkge1xuICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5idG5fX3doaXRlIHtcbiAgICBib3JkZXItY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIud2hpdGVfX3N0cm9rZSB7XG5cdHN0cm9rZTogd2hpdGU7XG59XG4ud2hpdGVfX2ZpbGwge1xuXHRmaWxsOiB3aGl0ZTtcbn1cblxuLmdyZXlfX3N0cm9rZSB7XG5cdHN0cm9rZTogJGdyZXk7XG59XG4uZ3JleV9fZmlsbCB7XG5cdGZpbGw6ICRncmV5O1xufVxuXG4uYmxhY2tfX3N0cm9rZSB7XG5cdHN0cm9rZTogJGJsYWNrO1xufVxuLmJsYWNrX19maWxsIHtcblx0ZmlsbDogJGJsYWNrO1xufVxuXG4ucHJpbWFyeV9fc3Ryb2tlIHtcblx0c3Ryb2tlOiAkcHJpbWFyeS1jb2xvcjtcbn1cbi5wcmltYXJ5X19maWxsIHtcblx0ZmlsbDogJHByaW1hcnktY29sb3I7XG59XG5cbi5wcmltYXJ5X19jb2xvciB7XG5cdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbn1cbiIsIi5pbnB1dF9fd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnB4KTtcbiAgICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICBsZWZ0OiAxcHg7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB6LWluZGV4OiAyMDtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMHB4KTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM4YzhjOGM4YztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLCB0ZXh0YXJlYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHotaW5kZXg6IDMwO1xuXG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICM4YzhjOGM4YztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbn1cblxuLmlucHV0X193cmFwcGVyICsgLmlucHV0X193cmFwcGVyIHtcbiAgICBbdHlwZT0ndGV4dCddLCBbdHlwZT0nZW1haWwnXSwgdGV4dGFyZWEge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cbn1cblxudGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgcmVzaXplOiBub25lO1xuICAgIG92ZXJmbG93OmhpZGRlblxufVxuXG5zZWxlY3Qge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhabGNuTnBiMjQ5SWpFdU1TSWdlRDBpTVRKd2VDSWdlVDBpTUhCNElpQjNhV1IwYUQwaU1qUndlQ0lnYUdWcFoyaDBQU0l6Y0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0EySURNaUlHVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a1BTSnVaWGNnTUNBd0lEWWdNeUlnZUcxc09uTndZV05sUFNKd2NtVnpaWEoyWlNJK1BIQnZiSGxuYjI0Z2NHOXBiblJ6UFNJMUxqazVNaXd3SURJdU9Ua3lMRE1nTFRBdU1EQTRMREFnSWk4K1BDOXpkbWMrXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwIDAgJGJhc2UtZm9udC1zaXplO1xuXG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYmFzZS1mb250LWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG5pbnB1dFt0eXBlPSdyYWRpbyddIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHJhZGlvO1xufVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5pbnB1dFt0eXBlPSdzdWJtaXQnXSxcbmlucHV0W3R5cGU9J2J1dHRvbiddIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMTBweCAzMHB4O1xufVxuXG5pbnB1dFt0eXBlPSdzdWJtaXQnXSxcbmlucHV0W3R5cGU9J2J1dHRvbiddIHtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qIENoYW5nZSBBdXRvY29tcGxldGUgc3R5bGVzIGluIENocm9tZSovXG5pbnB1dDotd2Via2l0LWF1dG9maWxsLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXNcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsLFxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbDpob3ZlclxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsLFxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAjMzMzO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDBweCAxMDAwcHggdHJhbnNwYXJlbnQgaW5zZXQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDAwcyBlYXNlLWluLW91dCAwcztcbn1cblxuZm9ybSAuYnRuIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuIiwiLmhlcm8ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0aGVpZ2h0OiAxMDB2aDtcbn0iLCIuZmVhdHVyZWRfX3Byb2plY3RzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoKTtcbiAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhY3Rpb24pIHtcbiAgICBcdGZvbnQtc2l6ZTogMjFweDtcbiAgICB9XG59XG5cbi5mZWF0dXJlZF9fbGluayB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdvcmQtd3JhcDogbm9ybWFsO1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICBoeXBoZW5zOiBub25lO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICBcdC5mZWF0dXJlZF9faW1hZ2Uge1xuICAgIFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIFx0fVxuXG4gICAgXHQuYnRuIHtcblx0ICAgICAgICBvdXRsaW5lOiBub25lO1xuXHQgICAgICAgIGNvbG9yOiB3aGl0ZTtcblx0ICAgICAgICAmOmJlZm9yZSB7XG5cdCAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgJjphZnRlciB7XG5cdCAgICAgICAgICAgIGJvcmRlci1jb2xvcjogd2hpdGU7XG5cdCAgICAgICAgfVxuICAgIFx0fVxuICAgIH1cbn1cblxuLmZlYXR1cmVkX19oZWFkZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiAyNXB4O1xuXG5cdGg0IHtcblx0XHRjb2xvcjogd2hpdGU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdGg1IHtcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFjdGlvbikge1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDM1cHg7XG4gICAgfVxufVxuXG4uZmVhdHVyZWRfX2ltYWdlLXdyYXBwZXIge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRoZWlnaHQ6IDI3MHB4O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uZmVhdHVyZWRfX2ltYWdlIHtcbiAgICBoZWlnaHQ6IDI3MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDNzIGVhc2Utb3V0O1xufVxuXG4uZmVhdHVyZWRfX2luZm8ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdHBhZGRpbmc6IDI1cHg7XG5cblx0LmJ0biB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luLXRvcDogMzBweDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFjdGlvbikge1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDM1cHg7XG4gICAgfVxufSIsIi8vIFR5cG9ncmFwaHkgbWl4aW5zXG5cbkBmdW5jdGlvbiBjYWxjdWxhdGVSZW0oJHNpemUpIHtcblx0JHJlbVNpemU6ICRzaXplIC8gMThweDtcblx0QHJldHVybiAkcmVtU2l6ZSAqIDFyZW07XG59XG5cbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcblx0Zm9udC1zaXplOiAkc2l6ZTtcblx0Zm9udC1zaXplOiBjYWxjdWxhdGVSZW0oJHNpemUpO1xufVxuXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuXG4gICAgJi5wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cblxuLy8gUG9zaXRpbmcgbWl4aW5zXG5AbWl4aW4gb3ZlcmxheSgpIHtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDA7XG59XG5cblxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdEBpZiAkcG9zaXRpb24gPT0gJ3ZlcnRpY2FsJyB7XG5cdFx0dG9wOiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR9XG5cdEBlbHNlIGlmICRwb3NpdGlvbiA9PSAnaG9yaXpvbnRhbCcge1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcblx0fVxuXHRAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2JvdGgnIHtcblx0XHR0b3A6IDUwJTtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdH1cbn1cblxuXG4vLyBDb2xvcnNcblxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudGFnZSkge1xuICBAcmV0dXJuIG1peCh3aGl0ZSwgJGNvbG9yLCAkcGVyY2VudGFnZSk7XG59XG5cbkBmdW5jdGlvbiBzaGFkZSgkY29sb3IsICRwZXJjZW50YWdlKSB7XG4gIEByZXR1cm4gbWl4KGJsYWNrLCAkY29sb3IsICRwZXJjZW50YWdlKTtcbn1cblxuQG1peGluIG9wYWNpdHkoJGNvbG9yLCAkb3BhY2l0eTogMC4zKSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yOyAvKiBUaGUgRmFsbGJhY2sgKi9cbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgJG9wYWNpdHkpO1xufVxuXG5cbkBtaXhpbiBwYWRkaW5nKCkge1xuXHRwYWRkaW5nLXRvcDogNjBweDtcblx0cGFkZGluZy1ib3R0b206IDYwcHg7XG59IiwiLmxhdGVzdF9fdHdlZXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cdEBpbmNsdWRlIHBhZGRpbmcoKTtcbn1cblxuLnR3aXR0ZXJfX2hhbmRsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAyMXB4O1xufVxuXG4jdHdpdHRlciB7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Zm9udC1zaXplOiAyMXB4O1xuXG5cdHVsIHtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0cGFkZGluZzogMDtcblx0XHRtYXJnaW46IDA7XG5cdH1cbn0iLCIubmV3c19fd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcblxufVxuXG4ubGF0ZXN0X19uZXdzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgQGluY2x1ZGUgcGFkZGluZygpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYWN0aW9uKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICB9XG5cbn1cblxuLmxhdGVzdF9fbmV3cy1kYXRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG5cbi5sYXRlc3RfX25ld3MtdGl0bGUge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLmxhdGVzdF9fbmV3cy1leGNlcnB0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgIHdpZHRoOiA5MCU7XG4gICAgY29sb3I6ICM0QzRDNEM7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIGh5cGhlbnM6IGF1dG87XG59XG5cbi5uZXdzX19ibG9jayB7XG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRtYXJnaW4tdG9wOiA0MHB4O1xuXHQuYnRuIHtcblx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXHR9XG59XG5cbi5uZXdzX19pbmZvIHtcblx0cGFkZGluZzogMjVweCAzMHB4O1xufVxuXG4ubmV3c19faW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLm5ld3Mtc2hhcmUge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogNDBweCAwIDA7XG5cbiAgICBzdmcge1xuICAgIFx0aGVpZ2h0OiAyNXB4O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICBcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdCAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuXHQgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgIFx0ZGlzcGxheTogYmxvY2s7XG4gICAgXHRtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFjdGlvbikge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuIiwiLmNvbnRhY3Qge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0QGluY2x1ZGUgcGFkZGluZygpO1xuXHRmb250LXNpemU6IDE2cHg7XG5cblx0aDYge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHQuZ3JpZCB7XG5cdFx0bWFyZ2luLXRvcDogODBweDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFjdGlvbikge1xuXHRcdGZvbnQtc2l6ZTogMjFweDtcblxuXHRcdC5jb2xfX2V2ZW4ge1xuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi5jb250ZW50IHtcblx0QGluY2x1ZGUgcGFkZGluZygpO1xuXHRmb250LXNpemU6IDIxcHg7XG5cdHAge1xuXHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG59XG5cbi5jb250ZW50LWdyZXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xufVxuXG4uY29udGVudC1pbnRybyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMzFweDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KCRhY3Rpb24pIHtcblx0XHRtYXgtd2lkdGg6IDgwMHB4O1xuXHR9XG59XG5cbi5jb250ZW50LWJvZHkge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KCRhY3Rpb24pIHtcblx0XHRtYXgtd2lkdGg6IDYwMHB4O1xuXHR9XG59IiwiLmxpbmtfX2JveCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgIFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZXk7XG4gICAgXHRzcGFuIHtcbiAgICBcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIFx0fVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgXHR3aWR0aDogYXV0bztcblx0ICAgIGhlaWdodDogMTQwcHg7XG4gICAgXHRtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgfVxuXG4gICAgc3BhbiB7XG5cdFx0ZmxleC1ncm93OiAxO1xuXHRcdGZvbnQtc2l6ZTogMjFweDtcblx0XHRtYXJnaW4tcmlnaHQ6IDI1cHg7XG5cdFx0Y29sb3I6ICM2NDY0NjM7XG4gICAgfVxufSIsIi5wcm9qZWN0X19saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG59XG5cbi5wcm9qZWN0X19pdGVtIHtcblx0bWFyZ2luLXRvcDogNDBweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5O1xuICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogc29mdC1saWdodDtcbiAgICBjb2xvcjogd2hpdGU7XG5cbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG5cdFx0LmJ0biB7XG5cdCAgICAgICAgb3V0bGluZTogbm9uZTtcblx0ICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdCAgICAgICAgJjpiZWZvcmUge1xuXHQgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgICY6YWZ0ZXIge1xuXHQgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHQgICAgICAgIH1cbiAgICBcdH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhY3Rpb24pIHtcbiAgICBcdGhlaWdodDogMTQwcHg7XG4gICAgfVxufVxuXG5cbi5wcm9qZWN0X190aXRsZSB7XG5cdGZvbnQtc2l6ZTogMjFweDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFjdGlvbikge1xuXHRcdGZvbnQtc2l6ZTogMzFweDtcblx0XHRmbGV4LWdyb3c6IDE7XG5cdH1cbn1cblxuLnByb2plY3RfX2xpbmsge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cdHBhZGRpbmctdG9wOiAzMHB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuXHQuYnRuIHtcblx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXHR9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhY3Rpb24pIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHQgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ICAgIHBhZGRpbmctdG9wOiAwO1xuXHQgICAgcGFkZGluZy1ib3R0b206IDA7XG5cblx0ICAgIC5idG4ge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG4gICAgfVxufVxuXG4ucHJvamVjdF9faGVhZGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMzVweCAwcHg7XG5cblx0aDEge1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXHRoMiB7XG5cdFx0Y29sb3I6IGdyZXk7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG4ucHJvamVjdF9fd3JhcHBlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRmb250LXNpemU6IDIxcHg7XG59XG5cbi5wcm9qZWN0X19kZXRhaWxzLFxuLnByb2plY3RfX2Rlc2NyaXB0aW9uIHtcblx0QGluY2x1ZGUgcGFkZGluZygpO1xufVxuXG4vLyAucHJvamVjdF9fZGVzY3JpcHRpb24ge1xuLy8gXHRAaW5jbHVkZSBwYWRkaW5nKCk7XG4vLyB9XG5cbi5wcm9qZWN0X19kZXRhaWxzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogIzgyODI4Mjtcblx0Y29sb3I6IHdoaXRlO1xuXHRwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cdHBhZGRpbmctcmlnaHQ6IDQwcHg7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuLnByb2plY3RfX2luZm8ge1xuXHRmb250LXNpemU6IDIxcHg7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cblx0aDUge1xuXHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0cCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdC5idG4ge1xuXHRcdG1hcmdpbi10b3A6IDQwcHg7XG5cdH1cbn1cbiIsIi5pZnJhbWVfX3dyYXBwZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogNTYuMjUlO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5pZnJhbWVfX2VtYmVkIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG59Il19 */
