/*! normalize.css v4.2.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
/* Document
   ========================================================================== */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

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

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

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

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

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

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

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0; }

/**
 * 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: #ff0;
  color: #000; }

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block; }

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

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

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

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

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

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

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

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

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  -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 OS X.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

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

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

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

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

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

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
  height: 100%; }
  .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;
  left: 0;
  top: 0;
  display: block;
  height: inherit; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  min-height: 1px;
  display: none; }
  [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: inline-block;
    vertical-align: bottom; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

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

/**
 * Set up a decent box model on the root element
 */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

/**
 * Make all elements from the DOM inherit from the parent box-sizing
 * Since `*` has a specificity of 0, it does not override the `html` value
 * making all elements inheriting from the root box-sizing value
 * See: https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
*, *::before, *::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

/**
 * Basic styles for links
 */
a {
  color: inherit;
  text-decoration: none; }

html, body {
  min-height: 100vh; }

body {
  position: relative;
  background: #fff; }
  body.no-scroll {
    overflow: hidden; }

@font-face {
  font-family: 'Code Pro LC';
  src: url("../fonts/code_pro_lc-webfont.woff2") format("woff2"), url("../fonts/code_pro_lc-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

/**
 * Basic typography style for copy text
 */
body {
  color: #000000;
  font: normal 125%/1.4 "Code Pro LC", "Helvetica Neue Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }

p {
  margin: 0;
  font-size: 0.7em;
  line-height: 1.7; }
  p.large {
    font-size: 1em; }

h1 {
  font-size: 4em;
  font-weight: 400;
  text-align: center;
  margin: 2.5em 0 1.47em; }
  @media (max-width: 781px) {
    h1 {
      font-size: 2.2em;
      margin: 2em 0 1.5em; } }
  @media (max-height: 320px) {
    h1 {
      font-size: 2.2em;
      margin: 2em 0 1.5em; } }
  @media (max-width: 550px), (max-height: 550px) {
    h1 {
      font-size: 1.2em;
      margin: 3.75em 0 1em; }
      h1.success {
        font-size: 1.2em !important; } }
  h1.success {
    font-size: 2em;
    margin-bottom: 8em; }

h2 {
  font-size: 1.8em;
  font-weight: 400;
  text-align: center;
  margin: 2.2em 0; }
  @media (max-width: 1024px) {
    h2 {
      font-size: 1.2em;
      margin: 1em 0; } }
  @media (max-width: 550px) {
    h2 {
      font-size: 0.9em;
      margin: 2em 0; } }

h3 {
  font-size: 1em;
  margin: 1em 0;
  text-align: center; }

/**
 * Clear inner floats
 */
.clearfix::after {
  clear: both;
  content: '';
  display: table; }

/**
 * Main content containers
 * 1. Make the container full-width with a maximum width
 * 2. Center it in the viewport
 * 3. Leave some space on the edges, especially valuable on small screens
 */
.container {
  max-width: 1320px;
  /* 1 */
  margin-left: auto;
  /* 2 */
  margin-right: auto;
  /* 2 */
  padding-left: 40px;
  /* 3 */
  padding-right: 40px;
  /* 3 */
  padding-top: 20px;
  padding-bottom: 20px;
  width: 100%;
  /* 1 */ }
  @media (max-width: 480px) {
    .container {
      padding-left: 20px;
      /* 3 */
      padding-right: 20px;
      /* 3 */ } }
  .container .wrapper {
    width: 67%;
    margin: 0 auto; }
    @media (max-width: 781px) {
      .container .wrapper {
        width: 100%;
        padding: 0 40px; } }
    @media (max-height: 549px) and (min-width: 781px) {
      .container .wrapper {
        width: 80%; } }
  .container__flex {
    width: 100%;
    height: 100vh;
    position: relative;
    padding: 8vh 0; }
    @media (min-width: 781px) {
      .container__flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
                justify-content: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -ms-flex-pack: center; }
        .container__flex.flex-bottom {
          -webkit-box-pack: end;
              -ms-flex-pack: end;
                  justify-content: flex-end; } }
  @media (min-width: 781px) and (max-height: 700px) {
    .container__flex {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }

@media (min-width: 759px) and (min-height: 550px) {
  .flex-end {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; } }

/**
 * Hide text while making it readable for screen readers
 * 1. Needed in WebKit-based browsers because of an implementation bug;
 *    See: https://code.google.com/p/chromium/issues/detail?id=457146
 */
.hide-text {
  overflow: hidden;
  padding: 0;
  /* 1 */
  text-indent: 101%;
  white-space: nowrap; }

/**
 * Hide element while making it readable for screen readers
 * Shamelessly borrowed from HTML5Boilerplate:
 * https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L119-L133
 */
.visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.block-scroll {
  overflow: hidden;
  position: relative;
  height: 200px; }
  .block-scroll-content {
    position: absolute;
    width: 100%;
    bottom: 0; }

.main-header {
  position: fixed;
  width: 100%;
  height: 100%;
  pointer-events: none;
  top: 0;
  left: 0;
  padding: 40px;
  z-index: 99; }
  @media (max-width: 1280px) and (max-height: 550px) {
    .main-header {
      padding: 20px; } }
  .main-header > * {
    pointer-events: auto; }
  .main-header__logo {
    width: 165px;
    height: 57px;
    display: block;
    position: absolute;
    left: 40px;
    top: 40px;
    -webkit-transition: fill ease 0.2s;
    transition: fill ease 0.2s;
    outline: none; }
    @media (max-height: 550px) {
      .main-header__logo {
        left: 20px;
        top: 20px; } }
    @media (max-width: 781px) and (max-height: 550px) {
      .main-header__logo {
        width: 120px;
        height: 41px; } }
    @media (max-width: 480px) {
      .main-header__logo {
        width: 120px;
        height: 41px;
        left: 20px;
        top: 20px; } }
    .main-header__logo svg {
      width: 100%;
      height: 100%; }
    .main-header__logo--light {
      fill: #fff; }
    .main-header__logo:hover {
      fill: #dde645; }
  .main-header__login {
    position: absolute;
    right: 40px;
    top: 40px;
    padding: 20px 0;
    font-size: 14px;
    color: #000;
    opacity: 0.5;
    -webkit-transition: all ease 0.2s;
    transition: all ease 0.2s; }
    .main-header__login--light {
      color: #fff; }
    .main-header__login:hover {
      opacity: 1; }
    @media (max-width: 781px) {
      .main-header__login {
        display: none; } }
  .main-header__burger {
    position: absolute;
    left: 40px;
    top: 50%;
    margin-top: -28px;
    width: 56px;
    height: 56px;
    cursor: pointer; }
    @media (max-width: 781px) {
      .main-header__burger {
        top: 40px;
        margin-top: 0;
        left: auto;
        right: 40px; } }
    @media (max-width: 781px) and (max-height: 550px) {
      .main-header__burger {
        right: 20px;
        top: 20px;
        width: 52px;
        height: 41px; } }
    @media (max-width: 480px) {
      .main-header__burger {
        width: 52px;
        height: 41px;
        right: 20px;
        top: 20px; } }
    .main-header__burger span {
      display: block;
      width: 100%;
      height: 3px;
      background: #000; }
    .main-header__burger--light span {
      background: #fff;
      -webkit-transition: background .2s linear;
      transition: background .2s linear; }
    .main-header__burger--light:hover span {
      background: #dde645; }
    .main-header__burger .static-box {
      position: absolute;
      top: 50%;
      margin-top: -13px;
      left: 0;
      width: 100%;
      -webkit-transition: all ease 0.2s 0.05s;
      transition: all ease 0.2s 0.05s;
      visibility: visible; }
      .main-header__burger .static-box span {
        margin-bottom: 8px; }
        .main-header__burger .static-box span:last-child {
          margin-bottom: 0; }
    .main-header__burger .active-box {
      opacity: 0;
      -webkit-transition: all ease 0.2s;
      transition: all ease 0.2s;
      width: 100%;
      height: 100%;
      visibility: hidden; }
      .main-header__burger .active-box span {
        position: absolute;
        top: 50%;
        margin-top: -2px;
        left: 0; }
        .main-header__burger .active-box span:first-child {
          -webkit-transform: rotate(45deg);
              -ms-transform: rotate(45deg);
                  transform: rotate(45deg); }
        .main-header__burger .active-box span:last-child {
          -webkit-transform: rotate(-45deg);
              -ms-transform: rotate(-45deg);
                  transform: rotate(-45deg); }
    .main-header__burger.is-active span {
      background: #fff; }
    .main-header__burger.is-active .static-box {
      opacity: 0;
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition-delay: 0s;
              transition-delay: 0s;
      visibility: hidden; }
    .main-header__burger.is-active .active-box {
      opacity: 1;
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition-delay: 0.05s;
              transition-delay: 0.05s;
      visibility: visible; }

.background-img {
  overflow: hidden;
  position: absolute;
  height: 580px;
  width: 100%; }
  @media (max-width: 550px), (max-height: 550px) {
    .background-img {
      height: 280px; } }
  .background-img .back {
    background-repeat: no-repeat;
    background-position: center 0;
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-size: cover; }
    @media only screen and (min-width: 781px) {
      .background-img .back {
        min-width: 900px; } }
    @media only screen and (min-width: 551px) and (max-width: 780px) {
      .background-img .back {
        background-size: 165% auto; } }
    @media (max-width: 550px), (max-height: 550px) {
      .background-img .back {
        background-size: 165% auto; } }
  .background-img .mask {
    background: url(../images/mask.png) repeat-x;
    background-size: contain;
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    pointer-events: none; }

.pattern {
  background: url("../images/pattern.png") repeat;
  position: fixed;
  z-index: 6;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none; }

.btn {
  display: inline-block;
  text-decoration: none;
  padding: 18px 36px;
  background: #000;
  font-size: 14px;
  color: #fff;
  line-height: 1;
  cursor: pointer;
  -webkit-transition: all ease 0.2s;
  transition: all ease 0.2s; }
  .btn:hover, .btn:active, .btn:focus {
    background: #dde645;
    color: #000; }

.down-arrow {
  background: url(/images/team/arrow.png) no-repeat left;
  width: 77px;
  height: 39px;
  cursor: pointer; }
  .down-arrow:hover {
    background-position: right; }

.up-arrow {
  background: url(/images/team/arrow_up.png) no-repeat right;
  width: 77px;
  height: 39px;
  cursor: pointer; }
  .up-arrow:hover {
    background-position: left; }

.navigation {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 90;
  background: url("../images/pattern.png") repeat #242424;
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all ease 0.2s;
  transition: all ease 0.2s; }
  .navigation .background__canvas {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0; }
  @media (max-width: 550px) {
    .navigation .background__canvas {
      display: none; } }
  .navigation__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 67%; }
    @media (max-width: 1080px) {
      .navigation__nav {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .navigation__item {
    font-size: 18px;
    opacity: 0.5;
    color: #fff;
    -webkit-transform: translate3d(-500%, 0, 0);
            transform: translate3d(-500%, 0, 0);
    -webkit-transition: opacity ease 0.2s, -webkit-transform ease 0.4s;
    transition: opacity ease 0.2s, -webkit-transform ease 0.4s;
    transition: opacity ease 0.2s, transform ease 0.4s;
    transition: opacity ease 0.2s, transform ease 0.4s, -webkit-transform ease 0.4s; }
    .navigation__item:hover, .navigation__item.is-active {
      opacity: 1; }
    .navigation__item--login {
      display: none;
      font-size: 14px; }
    @media (max-width: 1080px) {
      .navigation__item {
        margin-bottom: 36px; }
        .navigation__item:last-child {
          margin-bottom: 0; } }
    @media (max-width: 781px) {
      .navigation__item {
        opacity: 1;
        margin-bottom: 36px; }
        .navigation__item--login {
          display: block;
          opacity: 0.5; }
        .navigation__item:last-child {
          margin-bottom: 0; } }
    @media (max-height: 550px) {
      .navigation__item {
        margin-bottom: 10px; } }
  .navigation.is-visible {
    opacity: 1;
    visibility: visible; }
    .navigation.is-visible .navigation__item {
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0); }
  .navigation__back {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    pointer-events: none;
    width: 330px;
    height: 275px;
    background: url("../images/nav_back.png") no-repeat 0 0;
    opacity: 0;
    -webkit-transition: opacity ease 0.6s;
    transition: opacity ease 0.6s; }
    .navigation__back.is-visible {
      opacity: 0.3; }

.slider-wrap {
  width: 100%;
  height: 100%; }
  .slider-wrap .slider {
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    outline: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .slider-wrap .slider.slick-initialized {
      visibility: visible;
      opacity: 1; }
  .slider-wrap .slider__item {
    width: 100%;
    height: 100%;
    opacity: 1 !important; }
    .slider-wrap .slider__item .caption {
      font-size: 30px;
      color: #fff;
      line-height: 1.7em;
      vertical-align: bottom;
      position: absolute;
      z-index: 2;
      bottom: 146px;
      width: 100%; }
      @media only screen and (max-height: 400px) {
        .slider-wrap .slider__item .caption {
          top: 62px; } }
      @media only screen and (min-width: 551px) and (max-width: 780px) {
        .slider-wrap .slider__item .caption {
          bottom: 146px; } }
      @media (max-width: 550px), (max-height: 550px) {
        .slider-wrap .slider__item .caption {
          bottom: 135px; } }
      .slider-wrap .slider__item .caption .text {
        width: 50%;
        margin: 0px auto;
        display: table;
        height: 483px;
        opacity: 0;
        -webkit-transition: opacity .2s linear;
        transition: opacity .2s linear; }
        .slider-wrap .slider__item .caption .text p {
          display: table-cell;
          vertical-align: middle;
          font-size: 1em; }
        @media only screen and (min-width: 551px) and (max-width: 780px) {
          .slider-wrap .slider__item .caption .text {
            width: 72%;
            height: 660px; } }
        @media (max-width: 550px), (max-height: 550px) {
          .slider-wrap .slider__item .caption .text {
            width: 75%; }
            .slider-wrap .slider__item .caption .text p {
              font-size: .7em;
              line-height: 1.5em; } }
        @media only screen and (max-height: 650px) {
          .slider-wrap .slider__item .caption .text {
            height: 400px;
            font-size: 26px; } }
        @media only screen and (max-height: 510px) {
          .slider-wrap .slider__item .caption .text {
            height: 220px;
            font-size: 20px; } }
        @media only screen and (max-height: 400px) {
          .slider-wrap .slider__item .caption .text {
            height: 120px;
            font-size: 14px; } }
      .slider-wrap .slider__item .caption .btn-block {
        width: 50%;
        margin: 0 auto;
        opacity: 0;
        -webkit-transition: opacity .25s ease-out;
        transition: opacity .25s ease-out; }
        @media only screen and (min-width: 551px) and (max-width: 780px) {
          .slider-wrap .slider__item .caption .btn-block {
            width: 72%; } }
        @media (max-width: 550px), (max-height: 550px) {
          .slider-wrap .slider__item .caption .btn-block {
            width: 75%; } }
      .slider-wrap .slider__item .caption .btn {
        background: #dde645;
        color: #000; }
        .slider-wrap .slider__item .caption .btn:hover, .slider-wrap .slider__item .caption .btn:active, .slider-wrap .slider__item .caption .btn:focus {
          background: #000;
          color: #fff; }
    .slider-wrap .slider__item .pattern {
      -webkit-transition: all .8s ease-in;
      transition: all .8s ease-in;
      opacity: 0;
      z-index: 1; }
    .slider-wrap .slider__item .back {
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      width: 100%;
      height: 100%;
      -webkit-transition: all .8s ease-in;
      transition: all .8s ease-in;
      opacity: 0;
      position: relative;
      z-index: 0;
      -webkit-transform: scale(1.2);
          -ms-transform: scale(1.2);
              transform: scale(1.2); }
      .slider-wrap .slider__item .back.image1 {
        background-image: url("/images/main/0.png"); }
      .slider-wrap .slider__item .back.image2 {
        background-image: url("/images/main/1.png"); }
      .slider-wrap .slider__item .back.image3 {
        background-image: url("/images/main/2.png"); }
      .slider-wrap .slider__item .back.image4 {
        background-image: url("/images/main/3.png"); }
      .slider-wrap .slider__item .back.image5 {
        background-image: url("/images/main/4.png"); }
      .slider-wrap .slider__item .back.image6 {
        background-image: url("/images/main/5.png"); }
    .slider-wrap .slider__item.slick-active .back {
      opacity: 1;
      -webkit-transform: scale(1);
          -ms-transform: scale(1);
              transform: scale(1); }
    .slider-wrap .slider__item.slick-active .text {
      opacity: 1; }
    .slider-wrap .slider__item.slick-active .btn-block {
      opacity: 1; }
    .slider-wrap .slider__item.slick-active .pattern {
      opacity: 1; }
  .slider-wrap .dots-wrap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 80px;
    z-index: 7; }
    @media (max-width: 550px), (max-height: 550px) {
      .slider-wrap .dots-wrap {
        bottom: 90px; } }
    @media only screen and (max-height: 400px) {
      .slider-wrap .dots-wrap {
        bottom: 15px; } }
  .slider-wrap .dots {
    z-index: 999;
    width: 50%;
    font-size: 0;
    display: block;
    padding: 0;
    list-style: none;
    margin: 0 auto;
    white-space: nowrap; }
    @media only screen and (min-width: 551px) and (max-width: 780px) {
      .slider-wrap .dots {
        width: 72%; } }
    @media (max-width: 550px), (max-height: 550px) {
      .slider-wrap .dots {
        width: 75%; } }
    .slider-wrap .dots li {
      width: 14.5%;
      height: 5px;
      background: #fff;
      margin-right: 2.6%;
      cursor: pointer;
      -webkit-transition: all ease 0.2s;
      transition: all ease 0.2s;
      display: inline-block; }
      .slider-wrap .dots li:last-child {
        margin-right: 0; }
      .slider-wrap .dots li.active, .slider-wrap .dots li.slick-active {
        background: #dde645; }
      .slider-wrap .dots li button {
        border: 0;
        background: transparent;
        color: transparent;
        width: 100%;
        height: 100%;
        cursor: pointer;
        outline: none; }

.slider-timeline {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  overflow: hidden; }
  .slider-timeline .line {
    width: 100%;
    height: 100%;
    background: #fff;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0); }
  .slider-timeline.is-active .line {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    -webkit-transition: -webkit-transform linear 5.4s;
    transition: -webkit-transform linear 5.4s;
    transition: transform linear 5.4s;
    transition: transform linear 5.4s, -webkit-transform linear 5.4s; }

.vex {
  padding: 30px; }
  .vex-overlay {
    z-index: -1; }
  .vex-content {
    max-width: 1100px;
    padding: 30px 110px;
    margin: 0 auto;
    position: relative; }
    @media (max-width: 960px) {
      .vex-content {
        padding: 30px 70px; } }
    @media (max-width: 550px) {
      .vex-content {
        padding: 20px; } }
  .vex-close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 20px;
    text-align: center;
    line-height: 0.5;
    font-size: 40px;
    color: #000000;
    opacity: 0.2;
    -webkit-transition: all ease 0.2s;
    transition: all ease 0.2s;
    cursor: pointer; }
    .vex-close:hover {
      opacity: 1; }

.info-item {
  position: relative;
  z-index: 1; }
  .info-item > * {
    position: relative;
    z-index: 9; }
  .info-item h2, .info-item__title {
    font-size: 18px;
    line-height: 1.34em;
    margin-bottom: 20px;
    font-weight: 400; }
  @media (max-height: 780px) {
    .info-item__scroll {
      overflow: hidden;
      height: 150px; }
      .info-item__scroll .text {
        background: -webkit-linear-gradient(#000, #fff);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent; } }
  @media (min-height: 780px) {
    .info-item__scroll__content {
      margin: auto !important; } }
  .info-item__text {
    font-size: 14px;
    line-height: 1.72em; }
    .info-item__text--more {
      font-size: 14px;
      line-height: 1.72em;
      visibility: hidden;
      opacity: 0;
      -webkit-transition: all linear 0.4s;
      transition: all linear 0.4s; }
      .info-item__text--more p {
        font-size: 1em; }
    .info-item__text .name, .info-item__text .position {
      color: #666666;
      margin-bottom: 6px;
      font-size: 14px; }
    .info-item__text .name {
      font-size: 18px; }
  .info-item__icon {
    width: 25px;
    height: 25px;
    border: 2px solid;
    border-radius: 50%;
    font-size: 14px;
    text-align: center;
    line-height: 21px;
    margin-bottom: 20px;
    opacity: 0.5;
    cursor: pointer;
    -webkit-transition: opacity ease 0.4s;
    transition: opacity ease 0.4s; }
    .info-item__icon:after {
      content: 'i'; }
  .info-item__image {
    width: 105px;
    height: 105px;
    border: 5px solid #e6e6e6;
    border-radius: 50%;
    margin-bottom: 20px;
    overflow: hidden; }
    .info-item__image img {
      width: 100%; }
  .info-item-content {
    position: absolute; }
    @media (max-width: 781px) {
      .info-item-content {
        position: static; } }
    .info-item-content:before {
      content: '';
      pointer-events: none;
      position: absolute;
      width: 100%;
      height: 100%;
      background: #fff;
      -webkit-box-sizing: content-box;
              box-sizing: content-box;
      padding: 40px;
      left: -40px;
      top: -40px;
      z-index: 1;
      -webkit-box-shadow: 0 30px 50px rgba(0, 0, 0, 0.2);
              box-shadow: 0 30px 50px rgba(0, 0, 0, 0.2);
      visibility: hidden;
      opacity: 0;
      -webkit-transition: all ease 0.4s;
      transition: all ease 0.4s; }
  .info-item.is-active {
    z-index: 5;
    height: inherit !important;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    -webkit-touch-callout: none; }
    .info-item.is-active .info-item__icon {
      opacity: 1;
      color: #dde645; }
    .info-item.is-active .info-item__image {
      border-color: #dde645; }
    .info-item.is-active .info-item__text--more {
      visibility: visible;
      opacity: 0.5; }
    .info-item.is-active .info-item-content > * {
      position: relative;
      z-index: 9; }
    .info-item.is-active .info-item-content:before {
      visibility: visible;
      opacity: 1; }
  .info-item.m-hover:hover {
    z-index: 9; }
    .info-item.m-hover:hover .info-item__icon {
      opacity: 1;
      color: #dde645; }
    .info-item.m-hover:hover .info-item__image {
      border-color: #dde645; }
    .info-item.m-hover:hover .info-item__text--more {
      visibility: visible;
      opacity: 0.5; }
    .info-item.m-hover:hover .info-item-content > * {
      position: relative;
      z-index: 9; }
    .info-item.m-hover:hover .info-item-content:before {
      visibility: visible;
      opacity: 1; }
    @media (max-width: 550px) {
      .info-item.m-hover:hover .info-item__scroll {
        overflow: auto;
        height: auto;
        -webkit-transition: top 1s ease-out 0.5s;
        transition: top 1s ease-out 0.5s; }
      .info-item.m-hover:hover .info-item__text--more {
        color: #000 !important; } }
  @media (min-width: 550px) {
    .info-item .scroll-block {
      overflow: hidden; }
      .info-item .scroll-block .content {
        margin-right: 15px; } }
  @media (min-width: 550px) and (min-height: 710px) {
    .info-item .scroll-block:after {
      top: 360px; } }
  .info-item:hover .scroll-block {
    overflow-y: auto; }

.form {
  margin-bottom: 70px;
  /**
  * 2. Input file fake
  */
  /* Validate */ }
  .form .input {
    position: relative;
    z-index: 1;
    display: inline-block;
    margin: 10px 0;
    width: 100%;
    vertical-align: top; }
  .form .input__field {
    position: relative;
    display: block;
    float: right;
    border: none;
    border-radius: 0;
    font: normal 125%/1.4 "Code Pro LC", "Helvetica Neue Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    -webkit-appearance: none;
    padding: 10px 0;
    width: 100%;
    background: transparent;
    color: #000;
    font-size: 20px; }
  .form .textarea__field {
    float: right; }
  .form .input__field:focus {
    outline: none; }
  .form .input__label {
    display: inline-block;
    float: right;
    padding: 0;
    color: #666666;
    font-size: 14px;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    position: absolute;
    width: 100%;
    text-align: left;
    pointer-events: none; }
  .form .input__label-content {
    position: relative;
    display: block;
    padding: 10px 0;
    width: 100%;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s; }
  .form .input__label::after {
    content: '';
    position: absolute;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 2px;
    background: #000000;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    bottom: 0; }
  .form .textarea .input__label::after {
    display: none; }
  .form .input__field:focus + .input__label .input__label-content,
  .form .textarea__field:focus + .input__label .input__label-content {
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0); }
  .form textarea {
    font: normal 125%/1.4 "Code Pro LC", "Helvetica Neue Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    line-height: 38px;
    padding-top: 5px;
    font-size: 20px;
    resize: none;
    outline: none;
    width: 100%;
    max-width: 100%;
    min-height: 155px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    overflow-x: hidden;
    background-color: transparent;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(95%, transparent), color-stop(50%, #000));
    background-image: -webkit-linear-gradient(transparent 95%, #000 50%);
    background-image: linear-gradient(transparent 95%, #000 50%);
    background-size: 100% 38px;
    background-attachment: scroll;
    border: none;
    padding-bottom: 60px;
    margin-bottom: 6px; }
  .form .row {
    margin-bottom: 0; }
  .form .two-cols {
    overflow: hidden; }
    .form .two-cols .col-left {
      float: left;
      width: 45%; }
      @media (max-width: 480px) {
        .form .two-cols .col-left {
          float: none;
          width: 100%; } }
    .form .two-cols .col-right {
      float: right;
      width: 45%; }
      @media (max-width: 480px) {
        .form .two-cols .col-right {
          float: none;
          width: 100%; } }
  .form .file_upload {
    position: relative;
    overflow: hidden;
    width: 10em;
    height: 2.1em;
    line-height: 2.1em;
    cursor: pointer;
    margin: 5px 0; }
    .form .file_upload button {
      background: url("../images/file.png") no-repeat 50% 50%;
      float: left;
      width: 2.2em;
      height: 2.0em;
      border: none; }
    .form .file_upload div {
      padding-left: 2.5em; }
    .form .file_upload input[type=file] {
      position: absolute;
      right: 0;
      top: 0;
      width: 500px;
      height: 100%;
      cursor: pointer;
      opacity: 0; }
  .form label.error {
    font-size: 14px;
    color: #e2512d;
    bottom: -10px;
    position: absolute; }
  .form input.error + .input__label,
  .form textarea.error + .input__label {
    color: #e2512d; }
  .form input.error + .input__label::after {
    background: #dd2c00; }
  .form textarea.error {
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(95%, transparent), color-stop(50%, #e2512d));
    background-image: -webkit-linear-gradient(transparent 95%, #e2512d 50%);
    background-image: linear-gradient(transparent 95%, #e2512d 50%); }

@-webkit-keyframes icon-animation {
  0% {
    border-color: rgba(0, 0, 0, 0.5);
    color: rgba(0, 0, 0, 0.5); }
  49% {
    border-color: rgba(0, 0, 0, 0.5);
    color: rgba(0, 0, 0, 0.5); }
  50% {
    border-color: #dde645;
    color: #dde645; }
  60% {
    border-color: #dde645;
    color: #dde645; }
  61% {
    border-color: rgba(0, 0, 0, 0.5);
    color: rgba(0, 0, 0, 0.5); }
  74% {
    border-color: rgba(0, 0, 0, 0.5);
    color: rgba(0, 0, 0, 0.5); }
  75% {
    border-color: #dde645;
    color: #dde645; }
  85% {
    border-color: #dde645;
    color: #dde645; }
  86% {
    border-color: rgba(0, 0, 0, 0.5);
    color: rgba(0, 0, 0, 0.5); }
  100% {
    border-color: rgba(0, 0, 0, 0.5);
    color: rgba(0, 0, 0, 0.5); } }

@keyframes icon-animation {
  0% {
    border-color: rgba(0, 0, 0, 0.5);
    color: rgba(0, 0, 0, 0.5); }
  49% {
    border-color: rgba(0, 0, 0, 0.5);
    color: rgba(0, 0, 0, 0.5); }
  50% {
    border-color: #dde645;
    color: #dde645; }
  60% {
    border-color: #dde645;
    color: #dde645; }
  61% {
    border-color: rgba(0, 0, 0, 0.5);
    color: rgba(0, 0, 0, 0.5); }
  74% {
    border-color: rgba(0, 0, 0, 0.5);
    color: rgba(0, 0, 0, 0.5); }
  75% {
    border-color: #dde645;
    color: #dde645; }
  85% {
    border-color: #dde645;
    color: #dde645; }
  86% {
    border-color: rgba(0, 0, 0, 0.5);
    color: rgba(0, 0, 0, 0.5); }
  100% {
    border-color: rgba(0, 0, 0, 0.5);
    color: rgba(0, 0, 0, 0.5); } }

.nav-item {
  position: relative;
  z-index: 1;
  display: block;
  cursor: pointer;
  border-left: 2px solid transparent;
  padding-bottom: 17px; }
  .nav-item:after {
    content: "";
    display: table;
    clear: both; }
  .nav-item:last-child {
    border-left-color: transparent; }
  .nav-item.visited {
    border-left-color: rgba(0, 0, 0, 0.5); }
    .nav-item.visited .nav-item__text {
      color: black; }
    .nav-item.visited:last-child {
      border-left-color: transparent; }
  .nav-item h2, .nav-item__title {
    font-size: 18px;
    line-height: 1.34em;
    margin-bottom: 20px;
    font-weight: 400; }
  .nav-item__text {
    font-size: 14px;
    line-height: 1.72em;
    color: #666666;
    -webkit-transition: all ease 0.2s;
    transition: all ease 0.2s;
    padding-left: 23px; }
    .nav-item__text--more {
      display: none;
      margin: 1em 0; }
      @media (max-width: 550px), (max-height: 550px) {
        .nav-item__text--more {
          font-size: 14px;
          padding-left: 23px; } }
    .nav-item__text .name, .nav-item__text .position {
      margin-bottom: 6px;
      font-size: 14px; }
    .nav-item__text .name {
      font-size: 18px; }
  .nav-item__icon {
    width: 25px;
    height: 25px;
    border: 2px solid;
    border-radius: 50%;
    font-size: 14px;
    text-align: center;
    line-height: 21px;
    -webkit-transition: opacity ease 0.4s;
    transition: opacity ease 0.4s;
    margin-left: -14px;
    background-color: white;
    border-color: rgba(0, 0, 0, 0.5);
    color: rgba(0, 0, 0, 0.5);
    float: left;
    margin-right: 12px; }
  .nav-item.next .nav-item__icon {
    -webkit-animation: icon-animation 6s steps(2, start) infinite;
            animation: icon-animation 6s steps(2, start) infinite; }
  .nav-item.is-active .nav-item__text {
    color: black;
    text-decoration: underline; }
  .nav-item.is-active .nav-item__icon {
    color: black;
    border-color: black; }
  .nav-item:hover .nav-item__text {
    color: black; }
  @media (max-width: 550px), (max-height: 550px) {
    .nav-item:hover .nav-item__text {
      color: black;
      text-decoration: underline; }
    .nav-item:hover .nav-item__icon {
      color: black;
      border-color: black; } }

body h1 {
  -webkit-transition: all 1s ease;
  transition: all 1s ease; }

body .background-img {
  -webkit-transition: all 1s ease;
  transition: all 1s ease; }

body#js-content {
  opacity: 0; }

body:not(.fp-responsive).fp-viewing-1 .background-img, body:not(.fp-responsive).fp-viewing-2 .background-img, body:not(.fp-responsive).fp-viewing-section2 .background-img, body:not(.fp-responsive).fp-viewing-3 .background-img, body:not(.fp-responsive).fp-viewing-section3 .background-img, body:not(.fp-responsive).fp-viewing-4 .background-img, body:not(.fp-responsive).fp-viewing-section4 .background-img, body:not(.fp-responsive).fp-viewing-5 .background-img, body:not(.fp-responsive).fp-viewing-section5 .background-img, body:not(.fp-responsive).fp-viewing-section6 .background-img {
  -webkit-transform: translate3d(0, -700px, 0);
          transform: translate3d(0, -700px, 0);
  opacity: 0; }

body:not(.fp-responsive).fp-viewing-1 h1, body:not(.fp-responsive).fp-viewing-2 h1, body:not(.fp-responsive).fp-viewing-section2 h1, body:not(.fp-responsive).fp-viewing-3 h1, body:not(.fp-responsive).fp-viewing-section3 h1, body:not(.fp-responsive).fp-viewing-4 h1, body:not(.fp-responsive).fp-viewing-section4 h1, body:not(.fp-responsive).fp-viewing-5 h1, body:not(.fp-responsive).fp-viewing-section5 h1, body:not(.fp-responsive).fp-viewing-section6 h1 {
  -webkit-transform: translate3d(0, -700px, 0);
          transform: translate3d(0, -700px, 0);
  opacity: 0; }

body .fullpage-wrapper {
  top: 0 !important;
  max-height: 100%;
  z-index: 50; }

@-webkit-keyframes scroll-indicator-bounce-down {
  0% {
    -webkit-transform: translate(1px, 68px);
            transform: translate(1px, 68px); }
  13% {
    -webkit-transform: translate(1px, 73px);
            transform: translate(1px, 73px); }
  33% {
    -webkit-transform: translate(1px, 68px);
            transform: translate(1px, 68px); }
  46% {
    -webkit-transform: translate(1px, 73px);
            transform: translate(1px, 73px); }
  66% {
    -webkit-transform: translate(1px, 68px);
            transform: translate(1px, 68px); }
  79% {
    -webkit-transform: translate(1px, 73px);
            transform: translate(1px, 73px); }
  100% {
    -webkit-transform: translate(1px, 68px);
            transform: translate(1px, 68px); } }

@keyframes scroll-indicator-bounce-down {
  0% {
    -webkit-transform: translate(1px, 68px);
            transform: translate(1px, 68px); }
  13% {
    -webkit-transform: translate(1px, 73px);
            transform: translate(1px, 73px); }
  33% {
    -webkit-transform: translate(1px, 68px);
            transform: translate(1px, 68px); }
  46% {
    -webkit-transform: translate(1px, 73px);
            transform: translate(1px, 73px); }
  66% {
    -webkit-transform: translate(1px, 68px);
            transform: translate(1px, 68px); }
  79% {
    -webkit-transform: translate(1px, 73px);
            transform: translate(1px, 73px); }
  100% {
    -webkit-transform: translate(1px, 68px);
            transform: translate(1px, 68px); } }

@-webkit-keyframes scroll-indicator-bounce-up {
  0% {
    -webkit-transform: translate(1px, 6px);
            transform: translate(1px, 6px); }
  13% {
    -webkit-transform: translate(1px, 1px);
            transform: translate(1px, 1px); }
  33% {
    -webkit-transform: translate(1px, 6px);
            transform: translate(1px, 6px); }
  46% {
    -webkit-transform: translate(1px, 1px);
            transform: translate(1px, 1px); }
  66% {
    -webkit-transform: translate(1px, 6px);
            transform: translate(1px, 6px); }
  79% {
    -webkit-transform: translate(1px, 1px);
            transform: translate(1px, 1px); }
  100% {
    -webkit-transform: translate(1px, 6px);
            transform: translate(1px, 6px); } }

@keyframes scroll-indicator-bounce-up {
  0% {
    -webkit-transform: translate(1px, 6px);
            transform: translate(1px, 6px); }
  13% {
    -webkit-transform: translate(1px, 1px);
            transform: translate(1px, 1px); }
  33% {
    -webkit-transform: translate(1px, 6px);
            transform: translate(1px, 6px); }
  46% {
    -webkit-transform: translate(1px, 1px);
            transform: translate(1px, 1px); }
  66% {
    -webkit-transform: translate(1px, 6px);
            transform: translate(1px, 6px); }
  79% {
    -webkit-transform: translate(1px, 1px);
            transform: translate(1px, 1px); }
  100% {
    -webkit-transform: translate(1px, 6px);
            transform: translate(1px, 6px); } }

@-webkit-keyframes scroll-indicator-mid-bounce-down {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  8% {
    -webkit-transform: translateY(2px);
            transform: translateY(2px); }
  16% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  24% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px); }
  33% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  41% {
    -webkit-transform: translateY(2px);
            transform: translateY(2px); }
  49% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  58% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px); }
  66% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  74% {
    -webkit-transform: translateY(2px);
            transform: translateY(2px); }
  82% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  90% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes scroll-indicator-mid-bounce-down {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  8% {
    -webkit-transform: translateY(2px);
            transform: translateY(2px); }
  16% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  24% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px); }
  33% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  41% {
    -webkit-transform: translateY(2px);
            transform: translateY(2px); }
  49% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  58% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px); }
  66% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  74% {
    -webkit-transform: translateY(2px);
            transform: translateY(2px); }
  82% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  90% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

.fp-responsive .scroll-indicator,
.menu-visible .scroll-indicator {
  display: none; }

.scroll-indicator {
  position: fixed;
  bottom: 40px;
  right: 40px;
  z-index: 100;
  cursor: pointer; }
  .scroll-indicator #Rectangle-1 {
    -webkit-transition: all .25s linear;
    transition: all .25s linear; }
  .scroll-indicator #Up {
    opacity: 0; }
  .scroll-indicator #Bottom {
    opacity: 0; }
  .scroll-indicator.bottom #Bottom {
    opacity: 1; }
  .scroll-indicator.bottom.animated #Bottom {
    -webkit-animation: scroll-indicator-bounce-down 3s linear;
            animation: scroll-indicator-bounce-down 3s linear; }
  .scroll-indicator.bottom.animated #Scroller {
    -webkit-animation: scroll-indicator-mid-bounce-down 3s linear;
            animation: scroll-indicator-mid-bounce-down 3s linear; }
  .scroll-indicator.up:not(.bottom) #Up {
    opacity: 1; }
  .scroll-indicator.up:not(.bottom).animated #Up {
    -webkit-animation: scroll-indicator-bounce-up 3s linear;
            animation: scroll-indicator-bounce-up 3s linear; }
  .scroll-indicator.up:not(.bottom).animated #Scroller {
    -webkit-animation: scroll-indicator-mid-bounce-down 3s linear;
            animation: scroll-indicator-mid-bounce-down 3s linear; }
  .scroll-indicator:hover #Rectangle-1 {
    fill: #dde645; }

.main .container {
  min-height: 100vh;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  max-width: 100%; }

.wecan .background-img .back {
  background-image: url("../images/wecan/back.jpg"); }

.wecan:not(.fp-responsive).fp-viewing-1 .items-wrap {
  margin-top: -270px; }

.wecan .items-wrap {
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
  max-height: 825px; }
  @media (min-width: 550px) {
    .wecan .items-wrap {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .wecan .items-wrap .info-item .info-item__text--more {
    margin-right: 20px; }
  .wecan .items-wrap .info-item .scroll-block {
    max-height: 250px; }
    @media (min-height: 710px) {
      .wecan .items-wrap .info-item .scroll-block {
        max-height: 360px; } }
  @media (min-width: 550px) {
    .wecan .items-wrap .info-item {
      width: 33.33333%; }
      .wecan .items-wrap .info-item__text {
        padding-right: 20px; } }
  @media (max-width: 550px) {
    .wecan .items-wrap .info-item {
      height: 265px; }
      .wecan .items-wrap .info-item:hover {
        height: auto !important; } }

.wecan .container {
  height: 100vh; }
  .wecan .container .wrapper {
    position: relative;
    z-index: 55;
    left: 0; }

.portfolio {
  background: url("../images/portfolio/back.png") no-repeat center 0; }
  @media (max-width: 781px) {
    .portfolio {
      background-size: contain; } }
  .portfolio .wrapper {
    width: 100%;
    max-width: 660px;
    margin: 0 auto; }
  .portfolio-wrap {
    font-size: 0; }
    .portfolio-wrap > * {
      font-size: 1rem; }
  .portfolio__item {
    display: block;
    margin: 0 auto 50px;
    max-width: 300px; }
    @media (min-width: 781px) {
      .portfolio__item {
        display: inline-block;
        vertical-align: top;
        width: 47.5%;
        margin: 0 5% 50px 0;
        max-width: none; }
        .portfolio__item:nth-child(2n) {
          margin-right: 0; } }
    .portfolio__item > a {
      display: block; }
    .portfolio__item__caption {
      font-size: 18px;
      margin-top: 10px;
      -webkit-transition: opacity 0.2s ease;
      transition: opacity 0.2s ease; }
    .portfolio__item__image {
      position: relative;
      max-width: 300px;
      display: block; }
      .portfolio__item__image img {
        display: block;
        width: 100%; }
      .portfolio__item__image:after {
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        content: '';
        background: center no-repeat rgba(0, 0, 0, 0.6) url("data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA0NTUgNDU1IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0NTUgNDU1OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjY0cHgiIGhlaWdodD0iNjRweCI+Cjxwb2x5Z29uIHBvaW50cz0iNDU1LDIxMi41IDI0Mi41LDIxMi41IDI0Mi41LDAgMjEyLjUsMCAyMTIuNSwyMTIuNSAwLDIxMi41IDAsMjQyLjUgMjEyLjUsMjQyLjUgMjEyLjUsNDU1IDI0Mi41LDQ1NSAyNDIuNSwyNDIuNSAgIDQ1NSwyNDIuNSAiIGZpbGw9IiNkZGU2NDUiLz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==");
        visibility: hidden;
        opacity: 0;
        -webkit-transition: all 0.2s ease;
        transition: all 0.2s ease; }
    .portfolio__item:hover .portfolio__item__image:after {
      visibility: visible;
      opacity: 1; }
    .portfolio__item:hover .portfolio__item__caption {
      opacity: 0.5; }
  .portfolio__details h2 {
    max-width: 660px;
    width: 100%;
    margin: 1.6em auto; }
  .portfolio__details__image img {
    width: 100%; }
  .portfolio__details__text {
    max-width: 660px;
    width: 100%;
    margin: 0 auto; }
    .portfolio__details__text p {
      margin: 2em 0; }
  .portfolio__details__reference {
    max-width: 660px;
    width: 100%;
    margin: 0 auto; }
    @media (max-width: 960px) {
      .portfolio__details__reference {
        text-align: center; } }
    .portfolio__details__reference__image {
      max-width: 409px;
      display: inline-block;
      vertical-align: top;
      width: 100%; }
      .portfolio__details__reference__image img {
        width: 100%; }
    .portfolio__details__reference__person {
      display: inline-block;
      vertical-align: top; }
      @media (max-width: 960px) {
        .portfolio__details__reference__person {
          display: block; } }
      .portfolio__details__reference__person .info-item {
        display: inline-block;
        vertical-align: middle;
        margin-left: 40px; }
        @media (max-width: 960px) {
          .portfolio__details__reference__person .info-item {
            text-align: left;
            margin: 40px 0 0; } }

.team .background-img .back {
  background-image: url("../images/team/back.jpg"); }

.team h1 {
  margin-bottom: 0.77em; }

.team h2 {
  margin: 0 0 2.2em; }

.team .our-achievements {
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
  position: relative;
  z-index: 100; }
  .team .our-achievements .info-item {
    width: 25%; }
    .team .our-achievements .info-item .info-item__text,
    .team .our-achievements .info-item .info-item__text--more {
      line-height: 1.6em; }
    @media only screen and (min-width: 551px) and (max-width: 780px) {
      .team .our-achievements .info-item {
        width: 50%;
        min-height: inherit !important; } }
    @media (max-width: 550px), (max-height: 550px) {
      .team .our-achievements .info-item {
        width: 100%;
        min-height: inherit !important; } }
  .team .our-achievements h2 {
    -webkit-transition: all 1s ease;
    transition: all 1s ease; }

.team:not(.fp-responsive) .team_section {
  opacity: 0;
  -webkit-transform: translate3d(0, 500px, 0);
          transform: translate3d(0, 500px, 0);
  position: absolute;
  bottom: 0;
  -webkit-transition: all linear 1s;
  transition: all linear 1s;
  height: 59%;
  max-height: 500px; }
  .team:not(.fp-responsive) .team_section .leader-image {
    -webkit-transition: all 1s linear;
    transition: all 1s linear; }

.team:not(.fp-responsive) .second, .team:not(.fp-responsive) .third, .team:not(.fp-responsive) .four, .team:not(.fp-responsive) .five {
  position: absolute;
  bottom: 0;
  top: 0; }
  .team:not(.fp-responsive) .second .about, .team:not(.fp-responsive) .third .about, .team:not(.fp-responsive) .four .about, .team:not(.fp-responsive) .five .about {
    -webkit-transition: all 1s linear;
    transition: all 1s linear;
    -webkit-transform: translate3d(0, 500px, 0);
            transform: translate3d(0, 500px, 0);
    opacity: 0; }
  .team:not(.fp-responsive) .second .team__faces, .team:not(.fp-responsive) .third .team__faces, .team:not(.fp-responsive) .four .team__faces, .team:not(.fp-responsive) .five .team__faces {
    -webkit-transition: all 1s linear;
    transition: all 1s linear;
    -webkit-transform: translate3d(0, 500px, 0);
            transform: translate3d(0, 500px, 0);
    opacity: 0;
    padding-bottom: 200px; }

.team:not(.fp-responsive) .leader-cell {
  opacity: 0; }

.team:not(.fp-responsive) .five .info-item {
  -webkit-transition: all 1s linear;
  transition: all 1s linear;
  height: 285px; }
  @media (min-height: 800px) {
    .team:not(.fp-responsive) .five .info-item {
      height: 330px; } }

.team.fp-responsive .container {
  overflow-x: hidden !important; }

.team.fp-responsive .fp-tableCell {
  vertical-align: top; }

.team.fp-responsive .bottom-line {
  position: absolute;
  left: -200px;
  right: -200px;
  background: #e9e9e9;
  height: 1px;
  bottom: 0; }

@media (max-height: 550px) and (min-width: 550px) {
  .team.fp-responsive .leader-cell {
    height: 70% !important;
    top: 30% !important;
    text-align: center; }
    .team.fp-responsive .leader-cell .leader-image {
      max-width: 600px; } }

.team.fp-responsive .container {
  overflow-y: hidden; }

@media (max-width: 550px) {
  .team.fp-responsive .team_section {
    margin-top: -100px;
    margin-bottom: -100px; }
  .team.fp-responsive .team__freeSection {
    border-bottom: none;
    padding-bottom: 200px; }
    .team.fp-responsive .team__freeSection .leader-cell {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 200px;
      display: block; }
      .team.fp-responsive .team__freeSection .leader-cell .leader-image {
        height: 100% !important;
        display: inline-block;
        width: 100%; }
    .team.fp-responsive .team__freeSection .about {
      width: 100%;
      vertical-align: top; }
  .team.fp-responsive .team__faces .info-item {
    width: 100%;
    height: 240px; } }
  @media (max-width: 550px) and (max-width: 550px), (max-width: 550px) and (max-height: 550px) {
    .team.fp-responsive .team__faces .info-item {
      height: 280px; } }

.team.fp-viewing-1:not(.fp-responsive) .second, .team.fp-viewing-section2:not(.fp-responsive) .second {
  z-index: 100; }
  .team.fp-viewing-1:not(.fp-responsive) .second #leader, .team.fp-viewing-section2:not(.fp-responsive) .second #leader {
    cursor: pointer; }

.team.fp-viewing-1:not(.fp-responsive) .our-achievements, .team.fp-viewing-section2:not(.fp-responsive) .our-achievements {
  -webkit-transform: translate3d(0, -500px, 0);
          transform: translate3d(0, -500px, 0); }
  .team.fp-viewing-1:not(.fp-responsive) .our-achievements h2, .team.fp-viewing-section2:not(.fp-responsive) .our-achievements h2 {
    opacity: 0; }

.team.fp-viewing-1:not(.fp-responsive) .team_section, .team.fp-viewing-section2:not(.fp-responsive) .team_section {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.team.fp-viewing-2:not(.fp-responsive) .our-achievements, .team.fp-viewing-section3:not(.fp-responsive) .our-achievements {
  opacity: 0;
  -webkit-transform: translate3d(0, -600px, 0);
          transform: translate3d(0, -600px, 0); }

.team.fp-viewing-2:not(.fp-responsive) .team_section, .team.fp-viewing-section3:not(.fp-responsive) .team_section {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }
  .team.fp-viewing-2:not(.fp-responsive) .team_section .team-member:not(.leader-image), .team.fp-viewing-section3:not(.fp-responsive) .team_section .team-member:not(.leader-image) {
    -webkit-transform: translate3d(0, 500px, 0) !important;
            transform: translate3d(0, 500px, 0) !important;
    -webkit-transition-duration: 1s;
            transition-duration: 1s; }

.team.fp-viewing-2:not(.fp-responsive) .leader-image, .team.fp-viewing-section3:not(.fp-responsive) .leader-image {
  width: 410px;
  height: 136%;
  background-size: 100%;
  -webkit-transform: translate3d(-270px, 0, 0) !important;
          transform: translate3d(-270px, 0, 0) !important; }

.team.fp-viewing-2:not(.fp-responsive) .third .about, .team.fp-viewing-section3:not(.fp-responsive) .third .about {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1; }

.team.fp-viewing-2:not(.fp-responsive) .our-achievements, .team.fp-viewing-section4:not(.fp-responsive) .our-achievements {
  opacity: 0;
  -webkit-transform: translate3d(0, -600px, 0);
          transform: translate3d(0, -600px, 0); }

.team.fp-viewing-2:not(.fp-responsive) .team_section, .team.fp-viewing-section4:not(.fp-responsive) .team_section {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }
  .team.fp-viewing-2:not(.fp-responsive) .team_section .team-member:not(.leader-image), .team.fp-viewing-section4:not(.fp-responsive) .team_section .team-member:not(.leader-image) {
    -webkit-transform: translate3d(0, 500px, 0) !important;
            transform: translate3d(0, 500px, 0) !important;
    -webkit-transition-duration: 1s;
            transition-duration: 1s; }

.team.fp-viewing-2:not(.fp-responsive) .leader-image, .team.fp-viewing-section4:not(.fp-responsive) .leader-image {
  width: 410px;
  height: 136%;
  background-size: 80%;
  -webkit-transform: translate3d(175px, 0, 0) !important;
          transform: translate3d(175px, 0, 0) !important;
  background-image: url("/images/team/clem.png"); }

.team.fp-viewing-2:not(.fp-responsive) .four .about, .team.fp-viewing-section4:not(.fp-responsive) .four .about {
  -webkit-transform: translate3d(-375px, 0, 0);
          transform: translate3d(-375px, 0, 0);
  opacity: 1; }

.team.fp-viewing-3:not(.fp-responsive) .our-achievements, .team.fp-viewing-4:not(.fp-responsive) .our-achievements, .team.fp-viewing-section5:not(.fp-responsive) .our-achievements, .team.fp-viewing-5:not(.fp-responsive) .our-achievements, .team.fp-viewing-section6:not(.fp-responsive) .our-achievements {
  opacity: 0;
  -webkit-transform: translate3d(0, -600px, 0);
          transform: translate3d(0, -600px, 0); }

.team.fp-viewing-3:not(.fp-responsive) .team_section, .team.fp-viewing-4:not(.fp-responsive) .team_section, .team.fp-viewing-section5:not(.fp-responsive) .team_section, .team.fp-viewing-5:not(.fp-responsive) .team_section, .team.fp-viewing-section6:not(.fp-responsive) .team_section {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }
  .team.fp-viewing-3:not(.fp-responsive) .team_section .team-member:not(.leader-image), .team.fp-viewing-4:not(.fp-responsive) .team_section .team-member:not(.leader-image), .team.fp-viewing-section5:not(.fp-responsive) .team_section .team-member:not(.leader-image), .team.fp-viewing-5:not(.fp-responsive) .team_section .team-member:not(.leader-image), .team.fp-viewing-section6:not(.fp-responsive) .team_section .team-member:not(.leader-image) {
    -webkit-transform: translate3d(0, 550px, 0) !important;
            transform: translate3d(0, 550px, 0) !important;
    -webkit-transition-duration: 1s;
            transition-duration: 1s; }

.team.fp-viewing-3:not(.fp-responsive) .leader-image, .team.fp-viewing-4:not(.fp-responsive) .leader-image, .team.fp-viewing-section5:not(.fp-responsive) .leader-image, .team.fp-viewing-5:not(.fp-responsive) .leader-image, .team.fp-viewing-section6:not(.fp-responsive) .leader-image {
  width: 410px;
  height: 665px;
  -webkit-transform: translate3d(-500px, 0, 0) !important;
          transform: translate3d(-500px, 0, 0) !important;
  background-size: 100%;
  opacity: 0; }

.team.fp-viewing-3:not(.fp-responsive) .about, .team.fp-viewing-4:not(.fp-responsive) .about, .team.fp-viewing-section5:not(.fp-responsive) .about, .team.fp-viewing-5:not(.fp-responsive) .about, .team.fp-viewing-section6:not(.fp-responsive) .about {
  -webkit-transform: translate3d(0, -700px, 0);
          transform: translate3d(0, -700px, 0);
  opacity: 0; }

.team.fp-viewing-3:not(.fp-responsive) .team__faces, .team.fp-viewing-4:not(.fp-responsive) .team__faces, .team.fp-viewing-section5:not(.fp-responsive) .team__faces, .team.fp-viewing-5:not(.fp-responsive) .team__faces, .team.fp-viewing-section6:not(.fp-responsive) .team__faces {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
  height: 1000px; }

.team.fp-viewing-3:not(.fp-responsive) .five, .team.fp-viewing-4:not(.fp-responsive) .five, .team.fp-viewing-section5:not(.fp-responsive) .five, .team.fp-viewing-5:not(.fp-responsive) .five, .team.fp-viewing-section6:not(.fp-responsive) .five {
  z-index: 100; }

.team.fp-viewing-3:not(.fp-responsive) .six, .team.fp-viewing-4:not(.fp-responsive) .six, .team.fp-viewing-section5:not(.fp-responsive) .six, .team.fp-viewing-5:not(.fp-responsive) .six, .team.fp-viewing-section6:not(.fp-responsive) .six {
  z-index: 50;
  -webkit-transform: translate3d(0, 500px, 0);
          transform: translate3d(0, 500px, 0);
  opacity: 1; }

.team.fp-viewing-5:not(.fp-responsive) .team__faces .info-item, .team.fp-viewing-section6:not(.fp-responsive) .team__faces .info-item {
  -webkit-transform: translate3d(0, -330px, 0);
          transform: translate3d(0, -330px, 0); }
  .team.fp-viewing-5:not(.fp-responsive) .team__faces .info-item:nth-child(1), .team.fp-viewing-5:not(.fp-responsive) .team__faces .info-item:nth-child(2), .team.fp-viewing-5:not(.fp-responsive) .team__faces .info-item:nth-child(3), .team.fp-viewing-section6:not(.fp-responsive) .team__faces .info-item:nth-child(1), .team.fp-viewing-section6:not(.fp-responsive) .team__faces .info-item:nth-child(2), .team.fp-viewing-section6:not(.fp-responsive) .team__faces .info-item:nth-child(3) {
    opacity: 0; }

.team .team_section {
  position: relative;
  width: 100%;
  height: 500px; }
  @media only screen and (min-width: 551px) and (max-width: 780px) {
    .team .team_section {
      overflow: visible; } }
  .team .team_section .center-px {
    width: 1px;
    height: 100%;
    left: 50%;
    bottom: 43px;
    position: absolute; }
    @media (max-width: 550px), (max-height: 550px) {
      .team .team_section .center-px {
        -webkit-transform: scale(0.4);
            -ms-transform: scale(0.4);
                transform: scale(0.4); } }
  .team .team_section .container__flex.container {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }

.team__freeSection {
  display: table; }
  .team__freeSection .leader-cell {
    display: table-cell;
    overflow: hidden;
    width: 50%;
    margin-right: 2%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    vertical-align: bottom; }
    .team__freeSection .leader-cell .leader-image {
      position: relative;
      left: 0 !important;
      bottom: 0 !important;
      height: 560px !important; }
  .team__freeSection .about {
    width: 48%;
    position: relative;
    display: table-cell;
    vertical-align: middle; }
    .team__freeSection .about h2 {
      margin: 0.2em 0;
      text-align: left; }

.team .team-member {
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  -webkit-transition: opacity 1s linear, -webkit-transform .3s linear;
  transition: opacity 1s linear, -webkit-transform .3s linear;
  transition: transform .3s linear, opacity 1s linear;
  transition: transform .3s linear, opacity 1s linear, -webkit-transform .3s linear; }
  .team .team-member.team2 {
    width: 309px;
    height: 87.6%;
    left: -473px;
    bottom: -41px;
    background-image: url("/images/team/team_2.png"); }
  .team .team-member.team3 {
    width: 304px;
    height: 83%;
    left: -789px;
    bottom: -40px;
    background-image: url("/images/team/team_3.png"); }
  .team .team-member.team4 {
    width: 172px;
    height: 80.4%;
    left: -950px;
    bottom: -40px;
    background-image: url("/images/team/team_4.png"); }
  .team .team-member.team5 {
    width: 298px;
    height: 83.6%;
    left: -1205px;
    bottom: -40px;
    background-image: url("/images/team/team_5.png"); }
  .team .team-member.team6 {
    width: 334px;
    height: 83.6%;
    left: 264px;
    bottom: -41px;
    background-image: url("/images/team/team_6.png"); }
  .team .team-member.team7 {
    width: 209px;
    height: 81.2%;
    left: 608px;
    bottom: -43px;
    background-image: url("/images/team/team_7.png"); }
  .team .team-member.team8 {
    width: 184px;
    height: 79.4%;
    left: 817px;
    bottom: -43px;
    background-image: url("/images/team/team_8.png"); }
  .team .team-member.team9 {
    width: 293px;
    height: 81.2%;
    left: 1021px;
    bottom: -41px;
    background-image: url("/images/team/team_9.png"); }
  .team .team-member.team10 {
    width: 273px;
    height: 81.2%;
    left: 85px;
    bottom: -24px;
    background-image: url("/images/team/clem.png"); }
    .team .team-member.team10.member-info {
      width: 324px;
      height: 98.2%;
      left: -148px;
      bottom: -41px;
      z-index: 10;
      background-size: 96%; }
  .team .team-member.leader-image {
    width: 324px;
    height: 98.2%;
    left: -148px;
    bottom: -41px;
    z-index: 10;
    background-image: url(/images/team/leader.png);
    background-size: 96%; }
    .team .team-member.leader-image.second {
      background-image: url("/images/team/clem.png"); }

@media (min-width: 481px) {
  .team .items-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

.team .info-item {
  width: 33.33333%; }
  .team .info-item__text {
    padding-right: 20px; }
  .team .info-item-content {
    position: inherit !important; }
  .team .info-item .scroll-block {
    height: 180px; }
    @media (min-height: 680px) {
      .team .info-item .scroll-block {
        height: 300px; } }

.team .team__faces .name {
  font-size: 14px;
  margin-bottom: 0; }

.team .team__faces .info-item__text--more {
  opacity: 1 !important; }

.team .team__faces .position {
  font-size: 12px;
  line-height: 1.2em; }

.contact-us .background-img {
  -webkit-transition: all 1s ease;
  transition: all 1s ease; }
  .contact-us .background-img .back {
    background-image: url("../images/contact-us/back.jpg");
    opacity: 1; }

.contact-us .contact-us__content {
  -webkit-transition: all 1s ease;
  transition: all 1s ease; }
  .contact-us .contact-us__content p {
    -webkit-transition: opacity 1s ease;
    transition: opacity 1s ease; }

.contact-us .phone, .contact-us .email, .contact-us .second-page {
  -webkit-transition: all 1s ease;
  transition: all 1s ease; }

.contact-us:not(.fp-responsive) .page {
  width: 740px;
  margin: 0 auto; }
  .contact-us:not(.fp-responsive) .page.second-page {
    position: absolute;
    top: 80%;
    left: 0;
    right: 0;
    opacity: 0; }

@media (max-height: 830px) {
  .contact-us:not(.fp-responsive) .phone, .contact-us:not(.fp-responsive) .email {
    position: absolute;
    top: 350px;
    font-size: 26px;
    white-space: nowrap;
    margin: 0; }
  .contact-us:not(.fp-responsive) .phone {
    left: 0; }
  .contact-us:not(.fp-responsive) .email {
    left: 40%; } }

@media (max-height: 650px) {
  .contact-us:not(.fp-responsive) .contact-us__content {
    -webkit-transform: translate3d(0, -15px, 0);
            transform: translate3d(0, -15px, 0); }
    .contact-us:not(.fp-responsive) .contact-us__content p {
      font-size: 14px;
      margin-bottom: 10px; } }

.contact-us:not(.fp-responsive).fp-viewing-1 .phone, .contact-us:not(.fp-responsive).fp-viewing-1 .email {
  -webkit-transform: translate3d(0, -720px, 0);
          transform: translate3d(0, -720px, 0);
  opacity: 0; }

.contact-us:not(.fp-responsive).fp-viewing-1 .contact-us__content {
  -webkit-transform: translate3d(0, -720px, 0);
          transform: translate3d(0, -720px, 0); }
  .contact-us:not(.fp-responsive).fp-viewing-1 .contact-us__content p:nth-child(1) {
    opacity: 0; }
  @media (max-height: 685px) {
    .contact-us:not(.fp-responsive).fp-viewing-1 .contact-us__content p:nth-child(2) {
      opacity: 0; } }

.contact-us:not(.fp-responsive).fp-viewing-1 .second-page {
  top: 0;
  opacity: 1; }
  @media (max-height: 770px) {
    .contact-us:not(.fp-responsive).fp-viewing-1 .second-page .fp-tableCell {
      vertical-align: bottom; } }

.contact-us .contact-us__section {
  position: relative;
  overflow: hidden; }

.contact-us .phone {
  font-size: 36px;
  text-align: center; }
  @media (max-width: 550px), (max-height: 550px) {
    .contact-us .phone {
      font-size: 18px; } }

.contact-us .email {
  font-size: 36px;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 70px; }
  @media (max-width: 550px), (max-height: 550px) {
    .contact-us .email {
      font-size: 18px;
      margin-bottom: 30px; } }

.contact-us p {
  font-size: 18px;
  margin-bottom: 30px; }
  @media (max-width: 480px) {
    .contact-us p {
      font-size: 14px; } }

.contact-us .btn-block {
  text-align: center;
  margin-bottom: 50px; }

.contact-us .btn {
  padding: 18px 110px;
  color: #000;
  font-size: 18px;
  background: #dde645; }
  .contact-us .btn:hover, .contact-us .btn:active, .contact-us .btn:focus {
    background: #000;
    color: #fff; }
  @media (max-width: 480px) {
    .contact-us .btn {
      text-align: center;
      width: 100%;
      padding: 18px 0; } }

.careers .background-img {
  -webkit-transition: all 1s ease;
  transition: all 1s ease; }
  .careers .background-img .back {
    background-image: url("../images/careers/back.jpg"); }

.careers .second-page {
  -webkit-transition: all 1s ease;
  transition: all 1s ease; }

.careers:not(.fp-responsive) .page.second-page {
  position: absolute;
  top: 700px;
  left: 0;
  right: 0;
  opacity: 0; }

@media (max-height: 700px) {
  .careers:not(.fp-responsive) .careers__section .text {
    -webkit-transform: translate3d(0, -100px, 0);
            transform: translate3d(0, -100px, 0); } }

.careers:not(.fp-responsive).fp-viewing-1 .careers__section {
  -webkit-transform: translate3d(0, -80%, 0);
          transform: translate3d(0, -80%, 0);
  opacity: 0; }

.careers:not(.fp-responsive).fp-viewing-1 .second-page {
  top: 0;
  opacity: 1; }

.careers .careers__section {
  position: relative;
  overflow: hidden;
  -webkit-transition: all 1s ease;
  transition: all 1s ease; }
  .careers .careers__section .text a {
    text-decoration: underline; }
  .careers .careers__section p {
    font-size: 18px;
    margin-bottom: 30px; }
    @media (max-width: 480px) {
      .careers .careers__section p {
        font-size: 14px; } }
  @media (max-width: 781px) {
    .careers .careers__section .container {
      width: 100%; }
      .careers .careers__section .container .wrapper {
        padding: 0; } }
  @media (max-width: 480px) {
    .careers .careers__section .container .wrapper {
      padding: 0; } }

.careers .btn-block {
  text-align: center;
  margin: 50px 0; }

.careers .btn {
  padding: 18px 110px;
  color: #000;
  font-size: 18px;
  background: #dde645;
  position: relative;
  z-index: 10; }
  .careers .btn:hover, .careers .btn:active, .careers .btn:focus {
    background: #000;
    color: #fff; }
  @media (max-width: 480px) {
    .careers .btn {
      text-align: center;
      width: 100%;
      padding: 18px 0; } }

.easy-to-work .background-img .back {
  background-image: url("../images/easy-to-work/back.jpg"); }

.easy-to-work .down-arrow {
  -webkit-transition: opacity .75s linear, -webkit-transform .75s linear;
  transition: opacity .75s linear, -webkit-transform .75s linear;
  transition: opacity .75s linear, transform .75s linear;
  transition: opacity .75s linear, transform .75s linear, -webkit-transform .75s linear; }

.easy-to-work .easy-to-work__content__text .text-item {
  -webkit-transition: opacity .5s linear;
  transition: opacity .5s linear; }

@media (max-width: 550px), (max-height: 550px) {
  .easy-to-work.fp-responsive h2 {
    font-size: 1em; } }

.easy-to-work.fp-responsive .nav-item .nav-item__icon {
  margin-left: 0; }

.easy-to-work.fp-responsive .nav-item .nav-item__text {
  color: #666666;
  padding-left: 5px;
  padding-top: 5px;
  clear: both; }

.easy-to-work.fp-responsive .nav-item .nav-item__text--more {
  font-size: 14px;
  padding-left: 5px; }

.easy-to-work.fp-responsive .nav-item:active .nav-item__text, .easy-to-work.fp-responsive .nav-item:hover .nav-item__text {
  color: black;
  text-decoration: underline; }

.easy-to-work.fp-responsive .nav-item:active .nav-item__text--more, .easy-to-work.fp-responsive .nav-item:hover .nav-item__text--more {
  display: block; }

.easy-to-work.fp-responsive .nav-item.visited {
  border-left: none; }

.easy-to-work.fp-responsive .effects {
  opacity: 0; }

.easy-to-work:not(.fp-responsive) h2 {
  -webkit-transition: -webkit-transform 1s ease;
  transition: -webkit-transform 1s ease;
  transition: transform 1s ease;
  transition: transform 1s ease, -webkit-transform 1s ease; }

.easy-to-work:not(.fp-responsive) .easy-to-work__content {
  -webkit-transition: all 1s ease;
  transition: all 1s ease; }

.easy-to-work:not(.fp-responsive) .btn-block {
  position: absolute;
  left: 50%;
  bottom: 200px; }
  @media (max-height: 750px) {
    .easy-to-work:not(.fp-responsive) .btn-block {
      bottom: 350px; } }

.easy-to-work:not(.fp-responsive) .effects {
  opacity: 0; }

.easy-to-work:not(.fp-responsive):not(.fp-viewing-0) .effects {
  opacity: 1; }

.easy-to-work:not(.fp-responsive):not(.fp-viewing-0) h2 {
  -webkit-transform: translate3d(0, -350px, 0);
          transform: translate3d(0, -350px, 0); }
  @media (max-height: 670px) {
    .easy-to-work:not(.fp-responsive):not(.fp-viewing-0) h2 {
      -webkit-transform: translate3d(0, -60vh, 0);
              transform: translate3d(0, -60vh, 0); } }

.easy-to-work:not(.fp-responsive):not(.fp-viewing-0) .easy-to-work__content {
  opacity: 1;
  -webkit-transform: translate3d(0, -340px, 0);
          transform: translate3d(0, -340px, 0); }
  @media (max-height: 670px) {
    .easy-to-work:not(.fp-responsive):not(.fp-viewing-0) .easy-to-work__content {
      -webkit-transform: translate3d(0, -60vh, 0);
              transform: translate3d(0, -60vh, 0); } }

.easy-to-work:not(.fp-responsive).fp-viewing-1 .easy-to-work__content__text .text-item:nth-child(1) {
  opacity: 1; }

.easy-to-work:not(.fp-responsive).fp-viewing-2 .easy-to-work__content__text .text-item:nth-child(2) {
  opacity: 1; }

.easy-to-work:not(.fp-responsive).fp-viewing-3 .easy-to-work__content__text .text-item:nth-child(3) {
  opacity: 1; }

.easy-to-work:not(.fp-responsive).fp-viewing-4 .easy-to-work__content__text .text-item:nth-child(4) {
  opacity: 1; }

.easy-to-work:not(.fp-responsive).fp-viewing-5 .easy-to-work__content__text .text-item:nth-child(5) {
  opacity: 1; }

.easy-to-work:not(.fp-responsive).fp-viewing-5 .btn-block {
  opacity: 1; }

.easy-to-work .container {
  height: 100vh; }

.easy-to-work .down-arrow {
  left: 50%;
  z-index: 2;
  position: absolute;
  margin-left: -34px; }
  @media (max-width: 550px) {
    .easy-to-work .down-arrow {
      visibility: hidden; } }

.easy-to-work__content {
  -webkit-transition: opacity .5s ease;
  transition: opacity .5s ease;
  opacity: 0; }
  .easy-to-work__content:after {
    content: "";
    display: table;
    clear: both; }
  @media (max-width: 550px), (max-height: 550px) {
    .easy-to-work__content {
      opacity: 1; } }
  @media only screen and (min-width: 551px) and (max-width: 780px) {
    .easy-to-work__content {
      opacity: 1; } }
  .easy-to-work__content__navigation {
    float: left;
    width: 37.5%; }
    .easy-to-work__content__navigation .items-wrap {
      width: 66%;
      margin: 0 auto; }
    @media (max-width: 550px), (max-height: 550px) {
      .easy-to-work__content__navigation {
        float: none;
        width: 100%; }
        .easy-to-work__content__navigation .items-wrap {
          width: 100%; } }
    @media only screen and (min-width: 551px) and (max-width: 780px) {
      .easy-to-work__content__navigation {
        float: none;
        width: 100%; }
        .easy-to-work__content__navigation .items-wrap {
          width: 100%; } }
  .easy-to-work__content__text {
    float: left;
    width: 62.5%;
    font-size: 1.6em;
    position: relative; }
    .easy-to-work__content__text .text-item {
      opacity: 0;
      position: absolute;
      width: 100%;
      height: 100%; }
      .easy-to-work__content__text .text-item.is-active {
        display: block; }
    @media (max-width: 550px), (max-height: 550px) {
      .easy-to-work__content__text {
        display: none; } }
    @media only screen and (min-width: 551px) and (max-width: 780px) {
      .easy-to-work__content__text {
        display: none; } }

.easy-to-work__arrows {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: -1; }
  .easy-to-work__arrows.is-disabled {
    display: none; }
  @media (max-width: 550px) {
    .easy-to-work__arrows {
      display: none; } }
  .easy-to-work__arrows.js-easyAnimation0 {
    -webkit-transition: all ease 2s;
    transition: all ease 2s;
    background: url("../images/easy-to-work/arrow-left.png") no-repeat 200vw center, url("../images/easy-to-work/arrow-right.png") no-repeat -200vw center;
    background-size: contain; }
    .easy-to-work__arrows.js-easyAnimation0.is-active {
      -webkit-animation: easyArrows-1 6s 1;
              animation: easyArrows-1 6s 1; }
    .easy-to-work__arrows.js-easyAnimation0.is-faded {
      -webkit-transition-delay: 4s;
              transition-delay: 4s;
      background-position: -200vw center, 200vw center; }
  .easy-to-work__arrows.js-easyAnimation1 .canvas {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0;
    -webkit-transition: all ease 300ms;
    transition: all ease 300ms; }
    .easy-to-work__arrows.js-easyAnimation1 .canvas.canvas-1 {
      -webkit-transition-delay: 600ms;
              transition-delay: 600ms;
      background: url("../images/easy-to-work/anim/mini-arrow-right.png") no-repeat 10vw 20vw; }
    .easy-to-work__arrows.js-easyAnimation1 .canvas.canvas-2 {
      -webkit-transition-delay: 1800ms;
              transition-delay: 1800ms;
      background: url("../images/easy-to-work/anim/mini-arrow-left.png") no-repeat 20vw -15vw; }
    .easy-to-work__arrows.js-easyAnimation1 .canvas.canvas-3 {
      -webkit-transition-delay: 1200ms;
              transition-delay: 1200ms;
      background: url("../images/easy-to-work/anim/mini-arrow-right.png") no-repeat 60vw 5vw; }
    .easy-to-work__arrows.js-easyAnimation1 .canvas.canvas-4 {
      -webkit-transition-delay: 300ms;
              transition-delay: 300ms;
      background: url("../images/easy-to-work/anim/mini-arrow-left.png") no-repeat 70vw 40vw; }
  .easy-to-work__arrows.js-easyAnimation1.is-active .canvas {
    opacity: 1; }
  .easy-to-work__arrows.js-easyAnimation2 .canvas {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: -1;
    -webkit-transition: all ease 300ms;
    transition: all ease 300ms;
    opacity: 0; }
    .easy-to-work__arrows.js-easyAnimation2 .canvas.canvas-top-1 {
      -webkit-transition-delay: 300ms;
              transition-delay: 300ms;
      background: url("../images/easy-to-work/anim/mini-arrow-right.png") no-repeat 0vw 1vw; }
    .easy-to-work__arrows.js-easyAnimation2 .canvas.canvas-top-2 {
      -webkit-transition-delay: 600ms;
              transition-delay: 600ms;
      background: url("../images/easy-to-work/anim/mini-arrow-right.png") no-repeat 25vw 1vw; }
    .easy-to-work__arrows.js-easyAnimation2 .canvas.canvas-top-3 {
      -webkit-transition-delay: 900ms;
              transition-delay: 900ms;
      background: url("../images/easy-to-work/anim/mini-arrow-right.png") no-repeat 50vw 1vw; }
    .easy-to-work__arrows.js-easyAnimation2 .canvas.canvas-top-4 {
      -webkit-transition-delay: 1200ms;
              transition-delay: 1200ms;
      background: url("../images/easy-to-work/anim/mini-arrow-right.png") no-repeat 75vw 1vw; }
    .easy-to-work__arrows.js-easyAnimation2 .canvas.canvas-down-1 {
      -webkit-transition-delay: 2400ms;
              transition-delay: 2400ms;
      background: url("../images/easy-to-work/anim/mini-arrow-left.png") no-repeat 0vw 30vw; }
    .easy-to-work__arrows.js-easyAnimation2 .canvas.canvas-down-2 {
      -webkit-transition-delay: 2100ms;
              transition-delay: 2100ms;
      background: url("../images/easy-to-work/anim/mini-arrow-left.png") no-repeat 25vw 30vw; }
    .easy-to-work__arrows.js-easyAnimation2 .canvas.canvas-down-3 {
      -webkit-transition-delay: 1800ms;
              transition-delay: 1800ms;
      background: url("../images/easy-to-work/anim/mini-arrow-left.png") no-repeat 50vw 30vw; }
    .easy-to-work__arrows.js-easyAnimation2 .canvas.canvas-down-4 {
      -webkit-transition-delay: 1500ms;
              transition-delay: 1500ms;
      background: url("../images/easy-to-work/anim/mini-arrow-left.png") no-repeat 75vw 30vw; }
  .easy-to-work__arrows.js-easyAnimation2.is-active .canvas {
    opacity: 1; }
  .easy-to-work__arrows.js-easyAnimation3 {
    -webkit-transition: all ease 2s;
    transition: all ease 2s;
    background: url("../images/easy-to-work/arrow-left.png") no-repeat 200vw center, url("../images/easy-to-work/arrow-right.png") no-repeat -200vw center;
    background-size: contain; }
    .easy-to-work__arrows.js-easyAnimation3.is-active {
      -webkit-animation: easyArrows-1 6s 1;
              animation: easyArrows-1 6s 1; }
    .easy-to-work__arrows.js-easyAnimation3.is-faded {
      -webkit-transition-delay: 4s;
              transition-delay: 4s;
      background-position: -200vw center, 200vw center; }
  .easy-to-work__arrows.js-easyAnimation4 {
    -webkit-transition: all ease 6s;
    transition: all ease 6s;
    background: url("../images/easy-to-work/anim/arrow-down.png") no-repeat center -80vw, url("../images/easy-to-work/anim/arrow-down.png") no-repeat center -110vw, url("../images/easy-to-work/anim/arrow-down.png") no-repeat center -140vw, url("../images/easy-to-work/anim/arrow-down.png") no-repeat center -170vw;
    background-size: contain; }
    .easy-to-work__arrows.js-easyAnimation4.is-active {
      background-position: center 170vw, center 140vw, center 110vw, center 80vw; }
  .easy-to-work__arrows.js-easyAnimation5 {
    -webkit-transition: all ease 2s;
    transition: all ease 2s;
    background: url("../images/easy-to-work/arrow-left.png") no-repeat 200vw center, url("../images/easy-to-work/arrow-right.png") no-repeat -200vw center;
    background-size: contain; }
    .easy-to-work__arrows.js-easyAnimation5.is-active {
      -webkit-animation: easyArrows-5 6s 1;
              animation: easyArrows-5 6s 1; }

.easy-to-work .team__section {
  position: relative;
  overflow: hidden;
  height: 100vh; }
  @media (max-width: 550px) {
    .easy-to-work .team__section {
      overflow: visible; } }

.easy-to-work .btn-block, .easy-to-work .btn-media {
  opacity: 0;
  margin-bottom: 15px;
  text-align: center; }
  .easy-to-work .btn-block .btn, .easy-to-work .btn-media .btn {
    padding: 18px 40px;
    color: #000;
    font-size: 18px;
    background: #dde645;
    -webkit-transition: all ease 0.2s;
    transition: all ease 0.2s; }
    .easy-to-work .btn-block .btn:hover, .easy-to-work .btn-block .btn:active, .easy-to-work .btn-block .btn:focus, .easy-to-work .btn-media .btn:hover, .easy-to-work .btn-media .btn:active, .easy-to-work .btn-media .btn:focus {
      background: #000;
      color: #fff; }
    @media (max-width: 480px) {
      .easy-to-work .btn-block .btn, .easy-to-work .btn-media .btn {
        text-align: center;
        width: 100%;
        padding: 18px 0; } }

@-webkit-keyframes easyArrows-1 {
  0% { }
  33% {
    background-position: center, center; }
  66% { }
  100% {
    background-position: -200vw center, 200vw center; } }

@keyframes easyArrows-1 {
  0% { }
  33% {
    background-position: center, center; }
  66% { }
  100% {
    background-position: -200vw center, 200vw center; } }

@-webkit-keyframes easyArrows-2 {
  0% { }
  33% {
    .canvas {
      opacity: 0.33; } }
  66% { }
  100% {
    .canvas {
      opacity: 1; } } }

@keyframes easyArrows-2 {
  0% { }
  33% {
    .canvas {
      opacity: 0.33; } }
  66% { }
  100% {
    .canvas {
      opacity: 1; } } }

@-webkit-keyframes easyArrows-3 {
  0% { }
  33% {
    background-position: center, center; }
  66% { }
  100% {
    background-position: -200vw center, 200vw center; } }

@keyframes easyArrows-3 {
  0% { }
  33% {
    background-position: center, center; }
  66% { }
  100% {
    background-position: -200vw center, 200vw center; } }

@-webkit-keyframes easyArrows-4 {
  100% { } }

@keyframes easyArrows-4 {
  100% { } }

@-webkit-keyframes easyArrows-5 {
  0% { }
  33% {
    background-position: center, center; }
  66% { }
  100% {
    background-position: -200vw center, 200vw center; } }

@keyframes easyArrows-5 {
  0% { }
  33% {
    background-position: center, center; }
  66% { }
  100% {
    background-position: -200vw center, 200vw center; } }
/* === Nestology editorial footer === */
.nestology-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.65);
  color: #ffffff;
  font-size: 13px;
  line-height: 1.5;
  padding: 12px 20px;
  z-index: 9999;
  box-sizing: border-box;
}

.nestology-footer p {
  margin: 0;
  max-width: 1200px;
}

.nestology-footer a {
  color: #9ad4ff;
  text-decoration: underline;
}

.nestology-footer a:hover {
  text-decoration: none;
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .nestology-footer {
    font-size: 11px;
    padding: 8px 12px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlbmRvci9fbm9ybWFsaXplLnNjc3MiLCJzdHlsZS5jc3MiLCJ2ZW5kb3Ivc2xpY2suc2NzcyIsImJhc2UvX2Jhc2Uuc2NzcyIsImJhc2UvX2ZvbnRzLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJhYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwiYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsImJhc2UvX2hlbHBlcnMuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX3BhdHRlcm4uc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9fbmF2aWdhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL192ZXguc2NzcyIsImNvbXBvbmVudHMvX2luZm8taXRlbS5zY3NzIiwiY29tcG9uZW50cy9fZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fbmF2LWl0ZW0uc2NzcyIsImNvbXBvbmVudHMvX2Z1bGxwYWdlLnNjc3MiLCJjb21wb25lbnRzL19zY3JvbGxpbmRpY2F0b3Iuc2NzcyIsInBhZ2VzL19tYWluLXBhZ2Uuc2NzcyIsInBhZ2VzL193ZWNhbi5zY3NzIiwicGFnZXMvX3BvcnRmb2xpby5zY3NzIiwicGFnZXMvX3RlYW0uc2NzcyIsInBhZ2VzL19jb250YWN0LXVzLnNjc3MiLCJwYWdlcy9fY2FyZWVycy5zY3NzIiwicGFnZXMvX2Vhc3ktdG8td29yay5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRFQUE0RTtBQUU1RTs7OztHQUlHO0FBRUg7Z0ZBQ2dGO0FBRWhGO0VBQ0Usd0JBQXdCO0VBQUUsT0FBTztFQUNqQyxrQkFBa0I7RUFBRSxPQUFPO0VBQzNCLDJCQUEyQjtFQUFFLE9BQU87RUFDcEMsK0JBQStCO0VBQUUsT0FBTyxFQUN6Qzs7QUFFRDtnRkFDZ0Y7QUFFaEY7O0dBRUc7QUFFSDtFQUNFLFVBQVUsRUFDWDs7QUFFRDs7R0FFRztBQUVIOzs7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bUI7UUFDbkIsWUFBWTtRQUNaLGdCQUFnQixFQUVuQixFQUFBOztBQUlMO0VBQ0UsTUFBRTtFQUVGO0lBQ0Usb0NBQW9DLEVBQUE7RUFFdEMsT0FBRztFQUVIO0lBQ0UsaURBQWlELEVBQUEsRUFBQTs7QUFUckQ7RUFDRSxNQUFFO0VBRUY7SUFDRSxvQ0FBb0MsRUFBQTtFQUV0QyxPQUFHO0VBRUg7SUFDRSxpREFBaUQsRUFBQSxFQUFBOztBQUlyRDtFQUNFLE1BQUU7RUFFRjtJQUNFO01BQ0UsY0FDRCxFQUFBLEVBQUE7RUFFSCxPQUFHO0VBRUg7SUFDRTtNQUNFLFdBQ0QsRUFBQSxFQUFBLEVBQUE7O0FBYkw7RUFDRSxNQUFFO0VBRUY7SUFDRTtNQUNFLGNBQ0QsRUFBQSxFQUFBO0VBRUgsT0FBRztFQUVIO0lBQ0U7TUFDRSxXQUNELEVBQUEsRUFBQSxFQUFBOztBQUdMO0VBQ0UsTUFBRTtFQUVGO0lBQ0Usb0NBQW9DLEVBQUE7RUFFdEMsT0FBRztFQUVIO0lBQ0UsaURBQWlELEVBQUEsRUFBQTs7QUFUckQ7RUFDRSxNQUFFO0VBRUY7SUFDRSxvQ0FBb0MsRUFBQTtFQUV0QyxPQUFHO0VBRUg7SUFDRSxpREFBaUQsRUFBQSxFQUFBOztBQUlyRDtFQUNFLFFBQUksRUFBQTs7QUFETjtFQUNFLFFBQUksRUFBQTs7QUFJTjtFQUNFLE1BQUU7RUFFRjtJQUNFLG9DQUFvQyxFQUFBO0VBRXRDLE9BQUc7RUFFSDtJQUNFLGlEQUFpRCxFQUFBLEVBQUE7O0FBVHJEO0VBQ0UsTUFBRTtFQUVGO0lBQ0Usb0NBQW9DLEVBQUE7RUFFdEMsT0FBRztFQUVIO0lBQ0UsaURBQWlELEVBQUEsRUFBQSIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgbm9ybWFsaXplLmNzcyB2NC4yLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXHJcblxyXG4vKipcclxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgYW5kIGlPUy5cclxuICovXHJcblxyXG4vKiBEb2N1bWVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuaHRtbCB7XHJcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cclxuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xyXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXHJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXHJcbn1cclxuXHJcbi8qIFNlY3Rpb25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xyXG5cclxuYm9keSB7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAqL1xyXG5cclxuYXJ0aWNsZSxcclxuYXNpZGUsXHJcbmZvb3RlcixcclxuaGVhZGVyLFxyXG5uYXYsXHJcbnNlY3Rpb24ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxyXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxyXG4gKi9cclxuXHJcbmgxIHtcclxuICBmb250LXNpemU6IDJlbTtcclxuICBtYXJnaW46IDAuNjdlbSAwO1xyXG59XHJcblxyXG4vKiBHcm91cGluZyBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxyXG4gKi9cclxuXHJcbmZpZ2NhcHRpb24sXHJcbmZpZ3VyZSxcclxubWFpbiB7IC8qIDEgKi9cclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cclxuICovXHJcblxyXG5maWd1cmUge1xyXG4gIG1hcmdpbjogMWVtIDQwcHg7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxyXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cclxuICovXHJcblxyXG5ociB7XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cclxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cclxuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnByZSB7XHJcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXHJcbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cclxufVxyXG5cclxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXHJcbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cclxuICovXHJcblxyXG5hIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xyXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxyXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICovXHJcblxyXG5hOmFjdGl2ZSxcclxuYTpob3ZlciB7XHJcbiAgb3V0bGluZS13aWR0aDogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cclxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5hYmJyW3RpdGxlXSB7XHJcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cclxuICovXHJcblxyXG5iLFxyXG5zdHJvbmcge1xyXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5iLFxyXG5zdHJvbmcge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuY29kZSxcclxua2JkLFxyXG5zYW1wIHtcclxuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxyXG4gKi9cclxuXHJcbmRmbiB7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxyXG4gKi9cclxuXHJcbm1hcmsge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XHJcbiAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zbWFsbCB7XHJcbiAgZm9udC1zaXplOiA4MCU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cclxuICogYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnN1Yixcclxuc3VwIHtcclxuICBmb250LXNpemU6IDc1JTtcclxuICBsaW5lLWhlaWdodDogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG5zdWIge1xyXG4gIGJvdHRvbTogLTAuMjVlbTtcclxufVxyXG5cclxuc3VwIHtcclxuICB0b3A6IC0wLjVlbTtcclxufVxyXG5cclxuLyogRW1iZWRkZWQgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gKi9cclxuXHJcbmF1ZGlvLFxyXG52aWRlbyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cclxuICovXHJcblxyXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgaGVpZ2h0OiAwO1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXHJcbiAqL1xyXG5cclxuaW1nIHtcclxuICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cclxuICovXHJcblxyXG5zdmc6bm90KDpyb290KSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLyogRm9ybXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxub3B0Z3JvdXAsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXHJcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXHJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuICBtYXJnaW46IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQgeyAvKiAxICovXHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuc2VsZWN0IHsgLyogMSAqL1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXHJcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cclxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5idXR0b24sXHJcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cclxuW3R5cGU9XCJyZXNldFwiXSxcclxuW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcclxuICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuICovXHJcblxyXG5idXR0b246LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XHJcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xyXG59XHJcblxyXG4vKipcclxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xyXG5cclxuZmllbGRzZXQge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XHJcbiAgbWFyZ2luOiAwIDJweDtcclxuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXHJcbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcclxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxubGVnZW5kIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cclxuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xyXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xyXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cclxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICovXHJcblxyXG5wcm9ncmVzcyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxyXG4gKi9cclxuXHJcbnRleHRhcmVhIHtcclxuICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cclxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cclxuICovXHJcblxyXG5bdHlwZT1cImNoZWNrYm94XCJdLFxyXG5bdHlwZT1cInJhZGlvXCJdIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgcGFkZGluZzogMDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxyXG4gKi9cclxuXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXHJcbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxyXG4gKi9cclxuXHJcblt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXHJcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXHJcbiAqL1xyXG5cclxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cclxuICBmb250OiBpbmhlcml0OyAvKiAyICovXHJcbn1cclxuXHJcbi8qIEludGVyYWN0aXZlXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmRldGFpbHMsIC8qIDEgKi9cclxubWVudSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8qXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdW1tYXJ5IHtcclxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XHJcbn1cclxuXHJcbi8qIFNjcmlwdGluZ1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gKi9cclxuXHJcbmNhbnZhcyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXHJcbiAqL1xyXG5cclxudGVtcGxhdGUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEhpZGRlblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cclxuICovXHJcblxyXG5baGlkZGVuXSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2NC4yLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKipcclxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgYW5kIGlPUy5cclxuICovXG4vKiBEb2N1bWVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXHJcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXHJcbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxyXG4gKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxyXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXHJcbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxyXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cclxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxyXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxyXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qKlxyXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXHJcbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXHJcbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cclxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXHJcbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cclxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXHJcbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXHJcbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxyXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cclxuICogYWxsIGJyb3dzZXJzLlxyXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cclxuICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxyXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXHJcbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxyXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cclxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cclxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cclxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxyXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXHJcbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcclxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXHJcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cclxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cclxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcclxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxyXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxyXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cclxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxyXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XHJcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cclxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cclxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXHJcbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXHJcbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxyXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cclxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cclxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXHJcbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cclxuICovXG5kZXRhaWxzLFxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cclxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qIFNjcmlwdGluZ1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXHJcbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cclxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnNsaWNrLWxpc3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNsaWNrLWxpc3QuZHJhZ2dpbmcge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjdXJzb3I6IGhhbmQ7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zbGljay10cmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBpbmhlcml0OyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXHJcbiAqIFNldCB1cCBhIGRlY2VudCBib3ggbW9kZWwgb24gdGhlIHJvb3QgZWxlbWVudFxyXG4gKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qKlxyXG4gKiBNYWtlIGFsbCBlbGVtZW50cyBmcm9tIHRoZSBET00gaW5oZXJpdCBmcm9tIHRoZSBwYXJlbnQgYm94LXNpemluZ1xyXG4gKiBTaW5jZSBgKmAgaGFzIGEgc3BlY2lmaWNpdHkgb2YgMCwgaXQgZG9lcyBub3Qgb3ZlcnJpZGUgdGhlIGBodG1sYCB2YWx1ZVxyXG4gKiBtYWtpbmcgYWxsIGVsZW1lbnRzIGluaGVyaXRpbmcgZnJvbSB0aGUgcm9vdCBib3gtc2l6aW5nIHZhbHVlXHJcbiAqIFNlZTogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXHJcbiAqL1xuKiwgKjo6YmVmb3JlLCAqOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuLyoqXHJcbiAqIEJhc2ljIHN0eWxlcyBmb3IgbGlua3NcclxuICovXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5odG1sLCBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwdmg7IH1cblxuYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICBib2R5Lm5vLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdDb2RlIFBybyBMQyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvY29kZV9wcm9fbGMtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvY29kZV9wcm9fbGMtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKipcclxuICogQmFzaWMgdHlwb2dyYXBoeSBzdHlsZSBmb3IgY29weSB0ZXh0XHJcbiAqL1xuYm9keSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250OiBub3JtYWwgMTI1JS8xLjQgXCJDb2RlIFBybyBMQ1wiLCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmOyB9XG5cbnAge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc7IH1cbiAgcC5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxZW07IH1cblxuaDEge1xuICBmb250LXNpemU6IDRlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDIuNWVtIDAgMS40N2VtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3ODFweCkge1xuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yZW07XG4gICAgICBtYXJnaW46IDJlbSAwIDEuNWVtOyB9IH1cbiAgQG1lZGlhIChtYXgtaGVpZ2h0OiAzMjBweCkge1xuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yZW07XG4gICAgICBtYXJnaW46IDJlbSAwIDEuNWVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSwgKG1heC1oZWlnaHQ6IDU1MHB4KSB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgIG1hcmdpbjogMy43NWVtIDAgMWVtOyB9XG4gICAgICBoMS5zdWNjZXNzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbSAhaW1wb3J0YW50OyB9IH1cbiAgaDEuc3VjY2VzcyB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogOGVtOyB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjhlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDIuMmVtIDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICBtYXJnaW46IDFlbSAwOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgIG1hcmdpbjogMmVtIDA7IH0gfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBtYXJnaW46IDFlbSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyoqXHJcbiAqIENsZWFyIGlubmVyIGZsb2F0c1xyXG4gKi9cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi8qKlxyXG4gKiBNYWluIGNvbnRlbnQgY29udGFpbmVyc1xyXG4gKiAxLiBNYWtlIHRoZSBjb250YWluZXIgZnVsbC13aWR0aCB3aXRoIGEgbWF4aW11bSB3aWR0aFxyXG4gKiAyLiBDZW50ZXIgaXQgaW4gdGhlIHZpZXdwb3J0XHJcbiAqIDMuIExlYXZlIHNvbWUgc3BhY2Ugb24gdGhlIGVkZ2VzLCBlc3BlY2lhbGx5IHZhbHVhYmxlIG9uIHNtYWxsIHNjcmVlbnNcclxuICovXG4uY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMzIwcHg7XG4gIC8qIDEgKi9cbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIC8qIDIgKi9cbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAvKiAyICovXG4gIHBhZGRpbmctbGVmdDogNDBweDtcbiAgLyogMyAqL1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAvKiAzICovXG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi8gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIC8qIDMgKi9cbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAvKiAzICovIH0gfVxuICAuY29udGFpbmVyIC53cmFwcGVyIHtcbiAgICB3aWR0aDogNjclO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc4MXB4KSB7XG4gICAgICAuY29udGFpbmVyIC53cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgNDBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtaGVpZ2h0OiA1NDlweCkgYW5kIChtaW4td2lkdGg6IDc4MXB4KSB7XG4gICAgICAuY29udGFpbmVyIC53cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDgwJTsgfSB9XG4gIC5jb250YWluZXJfX2ZsZXgge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDh2aCAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc4MXB4KSB7XG4gICAgICAuY29udGFpbmVyX19mbGV4IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsgfVxuICAgICAgICAuY29udGFpbmVyX19mbGV4LmZsZXgtYm90dG9tIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc4MXB4KSBhbmQgKG1heC1oZWlnaHQ6IDcwMHB4KSB7XG4gICAgLmNvbnRhaW5lcl9fZmxleCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc1OXB4KSBhbmQgKG1pbi1oZWlnaHQ6IDU1MHB4KSB7XG4gIC5mbGV4LWVuZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuXG4vKipcclxuICogSGlkZSB0ZXh0IHdoaWxlIG1ha2luZyBpdCByZWFkYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcclxuICogMS4gTmVlZGVkIGluIFdlYktpdC1iYXNlZCBicm93c2VycyBiZWNhdXNlIG9mIGFuIGltcGxlbWVudGF0aW9uIGJ1ZztcclxuICogICAgU2VlOiBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NDU3MTQ2XHJcbiAqL1xuLmhpZGUtdGV4dCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIC8qIDEgKi9cbiAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyoqXHJcbiAqIEhpZGUgZWxlbWVudCB3aGlsZSBtYWtpbmcgaXQgcmVhZGFibGUgZm9yIHNjcmVlbiByZWFkZXJzXHJcbiAqIFNoYW1lbGVzc2x5IGJvcnJvd2VkIGZyb20gSFRNTDVCb2lsZXJwbGF0ZTpcclxuICogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTE5LUwxMzNcclxuICovXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7IH1cblxuLmJsb2NrLXNjcm9sbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAyMDBweDsgfVxuICAuYmxvY2stc2Nyb2xsLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3R0b206IDA7IH1cblxuLm1haW4taGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiA0MHB4O1xuICB6LWluZGV4OiA5OTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTI4MHB4KSBhbmQgKG1heC1oZWlnaHQ6IDU1MHB4KSB7XG4gICAgLm1haW4taGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuICAubWFpbi1oZWFkZXIgPiAqIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuICAubWFpbi1oZWFkZXJfX2xvZ28ge1xuICAgIHdpZHRoOiAxNjVweDtcbiAgICBoZWlnaHQ6IDU3cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDQwcHg7XG4gICAgdG9wOiA0MHB4O1xuICAgIHRyYW5zaXRpb246IGZpbGwgZWFzZSAwLjJzO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1heC1oZWlnaHQ6IDU1MHB4KSB7XG4gICAgICAubWFpbi1oZWFkZXJfX2xvZ28ge1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICB0b3A6IDIwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3ODFweCkgYW5kIChtYXgtaGVpZ2h0OiA1NTBweCkge1xuICAgICAgLm1haW4taGVhZGVyX19sb2dvIHtcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICBoZWlnaHQ6IDQxcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLm1haW4taGVhZGVyX19sb2dvIHtcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICBoZWlnaHQ6IDQxcHg7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgIHRvcDogMjBweDsgfSB9XG4gICAgLm1haW4taGVhZGVyX19sb2dvIHN2ZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5tYWluLWhlYWRlcl9fbG9nby0tbGlnaHQge1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5tYWluLWhlYWRlcl9fbG9nbzpob3ZlciB7XG4gICAgICBmaWxsOiAjZGRlNjQ1OyB9XG4gIC5tYWluLWhlYWRlcl9fbG9naW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNDBweDtcbiAgICB0b3A6IDQwcHg7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4yczsgfVxuICAgIC5tYWluLWhlYWRlcl9fbG9naW4tLWxpZ2h0IHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLm1haW4taGVhZGVyX19sb2dpbjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc4MXB4KSB7XG4gICAgICAubWFpbi1oZWFkZXJfX2xvZ2luIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5tYWluLWhlYWRlcl9fYnVyZ2VyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNDBweDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMjhweDtcbiAgICB3aWR0aDogNTZweDtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc4MXB4KSB7XG4gICAgICAubWFpbi1oZWFkZXJfX2J1cmdlciB7XG4gICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDQwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3ODFweCkgYW5kIChtYXgtaGVpZ2h0OiA1NTBweCkge1xuICAgICAgLm1haW4taGVhZGVyX19idXJnZXIge1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICB3aWR0aDogNTJweDtcbiAgICAgICAgaGVpZ2h0OiA0MXB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5tYWluLWhlYWRlcl9fYnVyZ2VyIHtcbiAgICAgICAgd2lkdGg6IDUycHg7XG4gICAgICAgIGhlaWdodDogNDFweDtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHRvcDogMjBweDsgfSB9XG4gICAgLm1haW4taGVhZGVyX19idXJnZXIgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG4gICAgLm1haW4taGVhZGVyX19idXJnZXItLWxpZ2h0IHNwYW4ge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzIGxpbmVhcjsgfVxuICAgIC5tYWluLWhlYWRlcl9fYnVyZ2VyLS1saWdodDpob3ZlciBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkZGU2NDU7IH1cbiAgICAubWFpbi1oZWFkZXJfX2J1cmdlciAuc3RhdGljLWJveCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xM3B4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4ycyAwLjA1cztcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAgIC5tYWluLWhlYWRlcl9fYnVyZ2VyIC5zdGF0aWMtYm94IHNwYW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgICAgICAgLm1haW4taGVhZGVyX19idXJnZXIgLnN0YXRpYy1ib3ggc3BhbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm1haW4taGVhZGVyX19idXJnZXIgLmFjdGl2ZS1ib3gge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuMnM7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICAgLm1haW4taGVhZGVyX19idXJnZXIgLmFjdGl2ZS1ib3ggc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgICAgLm1haW4taGVhZGVyX19idXJnZXIgLmFjdGl2ZS1ib3ggc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gICAgICAgIC5tYWluLWhlYWRlcl9fYnVyZ2VyIC5hY3RpdmUtYm94IHNwYW46bGFzdC1jaGlsZCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIC5tYWluLWhlYWRlcl9fYnVyZ2VyLmlzLWFjdGl2ZSBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAubWFpbi1oZWFkZXJfX2J1cmdlci5pcy1hY3RpdmUgLnN0YXRpYy1ib3gge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLm1haW4taGVhZGVyX19idXJnZXIuaXMtYWN0aXZlIC5hY3RpdmUtYm94IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA1cztcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmJhY2tncm91bmQtaW1nIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDU4MHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTUwcHgpLCAobWF4LWhlaWdodDogNTUwcHgpIHtcbiAgICAuYmFja2dyb3VuZC1pbWcge1xuICAgICAgaGVpZ2h0OiAyODBweDsgfSB9XG4gIC5iYWNrZ3JvdW5kLWltZyAuYmFjayB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc4MXB4KSB7XG4gICAgICAuYmFja2dyb3VuZC1pbWcgLmJhY2sge1xuICAgICAgICBtaW4td2lkdGg6IDkwMHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU1MXB4KSBhbmQgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgICAgIC5iYWNrZ3JvdW5kLWltZyAuYmFjayB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTY1JSBhdXRvOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTUwcHgpLCAobWF4LWhlaWdodDogNTUwcHgpIHtcbiAgICAgIC5iYWNrZ3JvdW5kLWltZyAuYmFjayB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTY1JSBhdXRvOyB9IH1cbiAgLmJhY2tncm91bmQtaW1nIC5tYXNrIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21hc2sucG5nKSByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ucGF0dGVybiB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9wYXR0ZXJuLnBuZ1wiKSByZXBlYXQ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmc6IDE4cHggMzZweDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4yczsgfVxuICAuYnRuOmhvdmVyLCAuYnRuOmFjdGl2ZSwgLmJ0bjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI2RkZTY0NTtcbiAgICBjb2xvcjogIzAwMDsgfVxuXG4uZG93bi1hcnJvdyB7XG4gIGJhY2tncm91bmQ6IHVybCgvaW1hZ2VzL3RlYW0vYXJyb3cucG5nKSBuby1yZXBlYXQgbGVmdDtcbiAgd2lkdGg6IDc3cHg7XG4gIGhlaWdodDogMzlweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5kb3duLWFycm93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDsgfVxuXG4udXAtYXJyb3cge1xuICBiYWNrZ3JvdW5kOiB1cmwoL2ltYWdlcy90ZWFtL2Fycm93X3VwLnBuZykgbm8tcmVwZWF0IHJpZ2h0O1xuICB3aWR0aDogNzdweDtcbiAgaGVpZ2h0OiAzOXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnVwLWFycm93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0OyB9XG5cbi5uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB6LWluZGV4OiA5MDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3BhdHRlcm4ucG5nXCIpIHJlcGVhdCAjMjQyNDI0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjJzOyB9XG4gIC5uYXZpZ2F0aW9uIC5iYWNrZ3JvdW5kX19jYW52YXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgICAubmF2aWdhdGlvbiAuYmFja2dyb3VuZF9fY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubmF2aWdhdGlvbl9fbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiA2NyU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gICAgICAubmF2aWdhdGlvbl9fbmF2IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5uYXZpZ2F0aW9uX19pdGVtIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwMCUsIDAsIDApO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZSAwLjJzLCB0cmFuc2Zvcm0gZWFzZSAwLjRzOyB9XG4gICAgLm5hdmlnYXRpb25fX2l0ZW06aG92ZXIsIC5uYXZpZ2F0aW9uX19pdGVtLmlzLWFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLm5hdmlnYXRpb25fX2l0ZW0tLWxvZ2luIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gICAgICAubmF2aWdhdGlvbl9faXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM2cHg7IH1cbiAgICAgICAgLm5hdmlnYXRpb25fX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc4MXB4KSB7XG4gICAgICAubmF2aWdhdGlvbl9faXRlbSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM2cHg7IH1cbiAgICAgICAgLm5hdmlnYXRpb25fX2l0ZW0tLWxvZ2luIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAgICAgLm5hdmlnYXRpb25fX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgQG1lZGlhIChtYXgtaGVpZ2h0OiA1NTBweCkge1xuICAgICAgLm5hdmlnYXRpb25fX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgLm5hdmlnYXRpb24uaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLm5hdmlnYXRpb24uaXMtdmlzaWJsZSAubmF2aWdhdGlvbl9faXRlbSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIC5uYXZpZ2F0aW9uX19iYWNrIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWR0aDogMzMwcHg7XG4gICAgaGVpZ2h0OiAyNzVweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbmF2X2JhY2sucG5nXCIpIG5vLXJlcGVhdCAwIDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IGVhc2UgMC42czsgfVxuICAgIC5uYXZpZ2F0aW9uX19iYWNrLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMC4zOyB9XG5cbi5zbGlkZXItd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnNsaWRlci13cmFwIC5zbGlkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5zbGlkZXItd3JhcCAuc2xpZGVyLnNsaWNrLWluaXRpYWxpemVkIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5zbGlkZXItd3JhcCAuc2xpZGVyX19pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OyB9XG4gICAgLnNsaWRlci13cmFwIC5zbGlkZXJfX2l0ZW0gLmNhcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBsaW5lLWhlaWdodDogMS43ZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGJvdHRvbTogMTQ2cHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNDAwcHgpIHtcbiAgICAgICAgLnNsaWRlci13cmFwIC5zbGlkZXJfX2l0ZW0gLmNhcHRpb24ge1xuICAgICAgICAgIHRvcDogNjJweDsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU1MXB4KSBhbmQgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgICAgICAgLnNsaWRlci13cmFwIC5zbGlkZXJfX2l0ZW0gLmNhcHRpb24ge1xuICAgICAgICAgIGJvdHRvbTogMTQ2cHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSwgKG1heC1oZWlnaHQ6IDU1MHB4KSB7XG4gICAgICAgIC5zbGlkZXItd3JhcCAuc2xpZGVyX19pdGVtIC5jYXB0aW9uIHtcbiAgICAgICAgICBib3R0b206IDEzNXB4OyB9IH1cbiAgICAgIC5zbGlkZXItd3JhcCAuc2xpZGVyX19pdGVtIC5jYXB0aW9uIC50ZXh0IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWFyZ2luOiAwcHggYXV0bztcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGhlaWdodDogNDgzcHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGxpbmVhcjsgfVxuICAgICAgICAuc2xpZGVyLXdyYXAgLnNsaWRlcl9faXRlbSAuY2FwdGlvbiAudGV4dCBwIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgZm9udC1zaXplOiAxZW07IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NTFweCkgYW5kIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gICAgICAgICAgLnNsaWRlci13cmFwIC5zbGlkZXJfX2l0ZW0gLmNhcHRpb24gLnRleHQge1xuICAgICAgICAgICAgd2lkdGg6IDcyJTtcbiAgICAgICAgICAgIGhlaWdodDogNjYwcHg7IH0gfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTUwcHgpLCAobWF4LWhlaWdodDogNTUwcHgpIHtcbiAgICAgICAgICAuc2xpZGVyLXdyYXAgLnNsaWRlcl9faXRlbSAuY2FwdGlvbiAudGV4dCB7XG4gICAgICAgICAgICB3aWR0aDogNzUlOyB9XG4gICAgICAgICAgICAuc2xpZGVyLXdyYXAgLnNsaWRlcl9faXRlbSAuY2FwdGlvbiAudGV4dCBwIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAuN2VtO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41ZW07IH0gfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NTBweCkge1xuICAgICAgICAgIC5zbGlkZXItd3JhcCAuc2xpZGVyX19pdGVtIC5jYXB0aW9uIC50ZXh0IHtcbiAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7IH0gfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA1MTBweCkge1xuICAgICAgICAgIC5zbGlkZXItd3JhcCAuc2xpZGVyX19pdGVtIC5jYXB0aW9uIC50ZXh0IHtcbiAgICAgICAgICAgIGhlaWdodDogMjIwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA0MDBweCkge1xuICAgICAgICAgIC5zbGlkZXItd3JhcCAuc2xpZGVyX19pdGVtIC5jYXB0aW9uIC50ZXh0IHtcbiAgICAgICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuICAgICAgLnNsaWRlci13cmFwIC5zbGlkZXJfX2l0ZW0gLmNhcHRpb24gLmJ0bi1ibG9jayB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZS1vdXQ7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NTFweCkgYW5kIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gICAgICAgICAgLnNsaWRlci13cmFwIC5zbGlkZXJfX2l0ZW0gLmNhcHRpb24gLmJ0bi1ibG9jayB7XG4gICAgICAgICAgICB3aWR0aDogNzIlOyB9IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSwgKG1heC1oZWlnaHQ6IDU1MHB4KSB7XG4gICAgICAgICAgLnNsaWRlci13cmFwIC5zbGlkZXJfX2l0ZW0gLmNhcHRpb24gLmJ0bi1ibG9jayB7XG4gICAgICAgICAgICB3aWR0aDogNzUlOyB9IH1cbiAgICAgIC5zbGlkZXItd3JhcCAuc2xpZGVyX19pdGVtIC5jYXB0aW9uIC5idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZGRlNjQ1O1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgICAuc2xpZGVyLXdyYXAgLnNsaWRlcl9faXRlbSAuY2FwdGlvbiAuYnRuOmhvdmVyLCAuc2xpZGVyLXdyYXAgLnNsaWRlcl9faXRlbSAuY2FwdGlvbiAuYnRuOmFjdGl2ZSwgLnNsaWRlci13cmFwIC5zbGlkZXJfX2l0ZW0gLmNhcHRpb24gLmJ0bjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5zbGlkZXItd3JhcCAuc2xpZGVyX19pdGVtIC5wYXR0ZXJuIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuOHMgZWFzZS1pbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLnNsaWRlci13cmFwIC5zbGlkZXJfX2l0ZW0gLmJhY2sge1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuOHMgZWFzZS1pbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG4gICAgICAuc2xpZGVyLXdyYXAgLnNsaWRlcl9faXRlbSAuYmFjay5pbWFnZTEge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL21haW4vMC5wbmdcIik7IH1cbiAgICAgIC5zbGlkZXItd3JhcCAuc2xpZGVyX19pdGVtIC5iYWNrLmltYWdlMiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvbWFpbi8xLnBuZ1wiKTsgfVxuICAgICAgLnNsaWRlci13cmFwIC5zbGlkZXJfX2l0ZW0gLmJhY2suaW1hZ2UzIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy9tYWluLzIucG5nXCIpOyB9XG4gICAgICAuc2xpZGVyLXdyYXAgLnNsaWRlcl9faXRlbSAuYmFjay5pbWFnZTQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL21haW4vMy5wbmdcIik7IH1cbiAgICAgIC5zbGlkZXItd3JhcCAuc2xpZGVyX19pdGVtIC5iYWNrLmltYWdlNSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvbWFpbi80LnBuZ1wiKTsgfVxuICAgICAgLnNsaWRlci13cmFwIC5zbGlkZXJfX2l0ZW0gLmJhY2suaW1hZ2U2IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy9tYWluLzUucG5nXCIpOyB9XG4gICAgLnNsaWRlci13cmFwIC5zbGlkZXJfX2l0ZW0uc2xpY2stYWN0aXZlIC5iYWNrIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgLnNsaWRlci13cmFwIC5zbGlkZXJfX2l0ZW0uc2xpY2stYWN0aXZlIC50ZXh0IHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuc2xpZGVyLXdyYXAgLnNsaWRlcl9faXRlbS5zbGljay1hY3RpdmUgLmJ0bi1ibG9jayB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLnNsaWRlci13cmFwIC5zbGlkZXJfX2l0ZW0uc2xpY2stYWN0aXZlIC5wYXR0ZXJuIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLnNsaWRlci13cmFwIC5kb3RzLXdyYXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogODBweDtcbiAgICB6LWluZGV4OiA3OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSwgKG1heC1oZWlnaHQ6IDU1MHB4KSB7XG4gICAgICAuc2xpZGVyLXdyYXAgLmRvdHMtd3JhcCB7XG4gICAgICAgIGJvdHRvbTogOTBweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNDAwcHgpIHtcbiAgICAgIC5zbGlkZXItd3JhcCAuZG90cy13cmFwIHtcbiAgICAgICAgYm90dG9tOiAxNXB4OyB9IH1cbiAgLnNsaWRlci13cmFwIC5kb3RzIHtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmb250LXNpemU6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU1MXB4KSBhbmQgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgICAgIC5zbGlkZXItd3JhcCAuZG90cyB7XG4gICAgICAgIHdpZHRoOiA3MiU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NTBweCksIChtYXgtaGVpZ2h0OiA1NTBweCkge1xuICAgICAgLnNsaWRlci13cmFwIC5kb3RzIHtcbiAgICAgICAgd2lkdGg6IDc1JTsgfSB9XG4gICAgLnNsaWRlci13cmFwIC5kb3RzIGxpIHtcbiAgICAgIHdpZHRoOiAxNC41JTtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIG1hcmdpbi1yaWdodDogMi42JTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuMnM7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5zbGlkZXItd3JhcCAuZG90cyBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuc2xpZGVyLXdyYXAgLmRvdHMgbGkuYWN0aXZlLCAuc2xpZGVyLXdyYXAgLmRvdHMgbGkuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2RkZTY0NTsgfVxuICAgICAgLnNsaWRlci13cmFwIC5kb3RzIGxpIGJ1dHRvbiB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG5cbi5zbGlkZXItdGltZWxpbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5zbGlkZXItdGltZWxpbmUgLmxpbmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG4gIC5zbGlkZXItdGltZWxpbmUuaXMtYWN0aXZlIC5saW5lIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBsaW5lYXIgNS40czsgfVxuXG4udmV4IHtcbiAgcGFkZGluZzogMzBweDsgfVxuICAudmV4LW92ZXJsYXkge1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIC52ZXgtY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAxMTAwcHg7XG4gICAgcGFkZGluZzogMzBweCAxMTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgIC52ZXgtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggNzBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSB7XG4gICAgICAudmV4LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cbiAgLnZleC1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMC41O1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBvcGFjaXR5OiAwLjI7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4ycztcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAudmV4LWNsb3NlOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLmluZm8taXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuICAuaW5mby1pdGVtID4gKiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk7IH1cbiAgLmluZm8taXRlbSBoMiwgLmluZm8taXRlbV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS4zNGVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICBAbWVkaWEgKG1heC1oZWlnaHQ6IDc4MHB4KSB7XG4gICAgLmluZm8taXRlbV9fc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBoZWlnaHQ6IDE1MHB4OyB9XG4gICAgICAuaW5mby1pdGVtX19zY3JvbGwgLnRleHQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgjMDAwLCAjZmZmKTtcbiAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gIEBtZWRpYSAobWluLWhlaWdodDogNzgwcHgpIHtcbiAgICAuaW5mby1pdGVtX19zY3JvbGxfX2NvbnRlbnQge1xuICAgICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuICAuaW5mby1pdGVtX190ZXh0IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzJlbTsgfVxuICAgIC5pbmZvLWl0ZW1fX3RleHQtLW1vcmUge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzJlbTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgbGluZWFyIDAuNHM7IH1cbiAgICAgIC5pbmZvLWl0ZW1fX3RleHQtLW1vcmUgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgLmluZm8taXRlbV9fdGV4dCAubmFtZSwgLmluZm8taXRlbV9fdGV4dCAucG9zaXRpb24ge1xuICAgICAgY29sb3I6ICM2NjY2NjY7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAuaW5mby1pdGVtX190ZXh0IC5uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAuaW5mby1pdGVtX19pY29uIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZSAwLjRzOyB9XG4gICAgLmluZm8taXRlbV9faWNvbjphZnRlciB7XG4gICAgICBjb250ZW50OiAnaSc7IH1cbiAgLmluZm8taXRlbV9faW1hZ2Uge1xuICAgIHdpZHRoOiAxMDVweDtcbiAgICBoZWlnaHQ6IDEwNXB4O1xuICAgIGJvcmRlcjogNXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5pbmZvLWl0ZW1fX2ltYWdlIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuaW5mby1pdGVtLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3ODFweCkge1xuICAgICAgLmluZm8taXRlbS1jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYzsgfSB9XG4gICAgLmluZm8taXRlbS1jb250ZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgbGVmdDogLTQwcHg7XG4gICAgICB0b3A6IC00MHB4O1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMzBweCA1MHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjRzOyB9XG4gIC5pbmZvLWl0ZW0uaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiA1O1xuICAgIGhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7IH1cbiAgICAuaW5mby1pdGVtLmlzLWFjdGl2ZSAuaW5mby1pdGVtX19pY29uIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogI2RkZTY0NTsgfVxuICAgIC5pbmZvLWl0ZW0uaXMtYWN0aXZlIC5pbmZvLWl0ZW1fX2ltYWdlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2RkZTY0NTsgfVxuICAgIC5pbmZvLWl0ZW0uaXMtYWN0aXZlIC5pbmZvLWl0ZW1fX3RleHQtLW1vcmUge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgIC5pbmZvLWl0ZW0uaXMtYWN0aXZlIC5pbmZvLWl0ZW0tY29udGVudCA+ICoge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogOTsgfVxuICAgIC5pbmZvLWl0ZW0uaXMtYWN0aXZlIC5pbmZvLWl0ZW0tY29udGVudDpiZWZvcmUge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmluZm8taXRlbS5tLWhvdmVyOmhvdmVyIHtcbiAgICB6LWluZGV4OiA5OyB9XG4gICAgLmluZm8taXRlbS5tLWhvdmVyOmhvdmVyIC5pbmZvLWl0ZW1fX2ljb24ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAjZGRlNjQ1OyB9XG4gICAgLmluZm8taXRlbS5tLWhvdmVyOmhvdmVyIC5pbmZvLWl0ZW1fX2ltYWdlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2RkZTY0NTsgfVxuICAgIC5pbmZvLWl0ZW0ubS1ob3Zlcjpob3ZlciAuaW5mby1pdGVtX190ZXh0LS1tb3JlIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAuaW5mby1pdGVtLm0taG92ZXI6aG92ZXIgLmluZm8taXRlbS1jb250ZW50ID4gKiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA5OyB9XG4gICAgLmluZm8taXRlbS5tLWhvdmVyOmhvdmVyIC5pbmZvLWl0ZW0tY29udGVudDpiZWZvcmUge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgICAgIC5pbmZvLWl0ZW0ubS1ob3Zlcjpob3ZlciAuaW5mby1pdGVtX19zY3JvbGwge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMXMgZWFzZS1vdXQgMC41czsgfVxuICAgICAgLmluZm8taXRlbS5tLWhvdmVyOmhvdmVyIC5pbmZvLWl0ZW1fX3RleHQtLW1vcmUge1xuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgLmluZm8taXRlbSAuc2Nyb2xsLWJsb2NrIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5pbmZvLWl0ZW0gLnNjcm9sbC1ibG9jayAuY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NTBweCkgYW5kIChtaW4taGVpZ2h0OiA3MTBweCkge1xuICAgIC5pbmZvLWl0ZW0gLnNjcm9sbC1ibG9jazphZnRlciB7XG4gICAgICB0b3A6IDM2MHB4OyB9IH1cbiAgLmluZm8taXRlbTpob3ZlciAuc2Nyb2xsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbi5mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgLyoqXHJcbiAgKiAyLiBJbnB1dCBmaWxlIGZha2VcclxuICAqL1xuICAvKiBWYWxpZGF0ZSAqLyB9XG4gIC5mb3JtIC5pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLmZvcm0gLmlucHV0X19maWVsZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250OiBub3JtYWwgMTI1JS8xLjQgXCJDb2RlIFBybyBMQ1wiLCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5mb3JtIC50ZXh0YXJlYV9fZmllbGQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuZm9ybSAuaW5wdXRfX2ZpZWxkOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5mb3JtIC5pbnB1dF9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogIzY2NjY2NjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmZvcm0gLmlucHV0X19sYWJlbC1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zczsgfVxuICAuZm9ybSAuaW5wdXRfX2xhYmVsOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3M7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5mb3JtIC50ZXh0YXJlYSAuaW5wdXRfX2xhYmVsOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZm9ybSAuaW5wdXRfX2ZpZWxkOmZvY3VzICsgLmlucHV0X19sYWJlbCAuaW5wdXRfX2xhYmVsLWNvbnRlbnQsXG4gIC5mb3JtIC50ZXh0YXJlYV9fZmllbGQ6Zm9jdXMgKyAuaW5wdXRfX2xhYmVsIC5pbnB1dF9fbGFiZWwtY29udGVudCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7IH1cbiAgLmZvcm0gdGV4dGFyZWEge1xuICAgIGZvbnQ6IG5vcm1hbCAxMjUlLzEuNCBcIkNvZGUgUHJvIExDXCIsIFwiSGVsdmV0aWNhIE5ldWUgTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgcmVzaXplOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDE1NXB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCA5NSUsICMwMDAgNTAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMzhweDtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4OyB9XG4gIC5mb3JtIC5yb3cge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZvcm0gLnR3by1jb2xzIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmZvcm0gLnR3by1jb2xzIC5jb2wtbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA0NSU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAuZm9ybSAudHdvLWNvbHMgLmNvbC1sZWZ0IHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLmZvcm0gLnR3by1jb2xzIC5jb2wtcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6IDQ1JTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5mb3JtIC50d28tY29scyAuY29sLXJpZ2h0IHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5mb3JtIC5maWxlX3VwbG9hZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwZW07XG4gICAgaGVpZ2h0OiAyLjFlbTtcbiAgICBsaW5lLWhlaWdodDogMi4xZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbjogNXB4IDA7IH1cbiAgICAuZm9ybSAuZmlsZV91cGxvYWQgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9maWxlLnBuZ1wiKSBuby1yZXBlYXQgNTAlIDUwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDIuMmVtO1xuICAgICAgaGVpZ2h0OiAyLjBlbTtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC5mb3JtIC5maWxlX3VwbG9hZCBkaXYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjVlbTsgfVxuICAgIC5mb3JtIC5maWxlX3VwbG9hZCBpbnB1dFt0eXBlPWZpbGVdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAuZm9ybSBsYWJlbC5lcnJvciB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjZTI1MTJkO1xuICAgIGJvdHRvbTogLTEwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5mb3JtIGlucHV0LmVycm9yICsgLmlucHV0X19sYWJlbCxcbiAgLmZvcm0gdGV4dGFyZWEuZXJyb3IgKyAuaW5wdXRfX2xhYmVsIHtcbiAgICBjb2xvcjogI2UyNTEyZDsgfVxuICAuZm9ybSBpbnB1dC5lcnJvciArIC5pbnB1dF9fbGFiZWw6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGQyYzAwOyB9XG4gIC5mb3JtIHRleHRhcmVhLmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQgOTUlLCAjZTI1MTJkIDUwJSk7IH1cblxuQGtleWZyYW1lcyBpY29uLWFuaW1hdGlvbiB7XG4gIDAlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gIDQ5JSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICA1MCUge1xuICAgIGJvcmRlci1jb2xvcjogI2RkZTY0NTtcbiAgICBjb2xvcjogI2RkZTY0NTsgfVxuICA2MCUge1xuICAgIGJvcmRlci1jb2xvcjogI2RkZTY0NTtcbiAgICBjb2xvcjogI2RkZTY0NTsgfVxuICA2MSUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgNzQlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gIDc1JSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGRlNjQ1O1xuICAgIGNvbG9yOiAjZGRlNjQ1OyB9XG4gIDg1JSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGRlNjQ1O1xuICAgIGNvbG9yOiAjZGRlNjQ1OyB9XG4gIDg2JSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAxMDAlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9IH1cblxuLm5hdi1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBwYWRkaW5nLWJvdHRvbTogMTdweDsgfVxuICAubmF2LWl0ZW06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm5hdi1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubmF2LWl0ZW0udmlzaXRlZCB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAgIC5uYXYtaXRlbS52aXNpdGVkIC5uYXYtaXRlbV9fdGV4dCB7XG4gICAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAubmF2LWl0ZW0udmlzaXRlZDpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubmF2LWl0ZW0gaDIsIC5uYXYtaXRlbV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS4zNGVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAubmF2LWl0ZW1fX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS43MmVtO1xuICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuMnM7XG4gICAgcGFkZGluZy1sZWZ0OiAyM3B4OyB9XG4gICAgLm5hdi1pdGVtX190ZXh0LS1tb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW46IDFlbSAwOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTUwcHgpLCAobWF4LWhlaWdodDogNTUwcHgpIHtcbiAgICAgICAgLm5hdi1pdGVtX190ZXh0LS1tb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyM3B4OyB9IH1cbiAgICAubmF2LWl0ZW1fX3RleHQgLm5hbWUsIC5uYXYtaXRlbV9fdGV4dCAucG9zaXRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgLm5hdi1pdGVtX190ZXh0IC5uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAubmF2LWl0ZW1fX2ljb24ge1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IGVhc2UgMC40cztcbiAgICBtYXJnaW4tbGVmdDogLTE0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cbiAgLm5hdi1pdGVtLm5leHQgLm5hdi1pdGVtX19pY29uIHtcbiAgICBhbmltYXRpb246IGljb24tYW5pbWF0aW9uIDZzIHN0ZXBzKDIsIHN0YXJ0KSBpbmZpbml0ZTsgfVxuICAubmF2LWl0ZW0uaXMtYWN0aXZlIC5uYXYtaXRlbV9fdGV4dCB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5uYXYtaXRlbS5pcy1hY3RpdmUgLm5hdi1pdGVtX19pY29uIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgYm9yZGVyLWNvbG9yOiBibGFjazsgfVxuICAubmF2LWl0ZW06aG92ZXIgLm5hdi1pdGVtX190ZXh0IHtcbiAgICBjb2xvcjogYmxhY2s7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSwgKG1heC1oZWlnaHQ6IDU1MHB4KSB7XG4gICAgLm5hdi1pdGVtOmhvdmVyIC5uYXYtaXRlbV9fdGV4dCB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5uYXYtaXRlbTpob3ZlciAubmF2LWl0ZW1fX2ljb24ge1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgYm9yZGVyLWNvbG9yOiBibGFjazsgfSB9XG5cbmJvZHkgaDEge1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsgfVxuXG5ib2R5IC5iYWNrZ3JvdW5kLWltZyB7XG4gIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlOyB9XG5cbmJvZHkjanMtY29udGVudCB7XG4gIG9wYWNpdHk6IDA7IH1cblxuYm9keTpub3QoLmZwLXJlc3BvbnNpdmUpLmZwLXZpZXdpbmctMSAuYmFja2dyb3VuZC1pbWcsIGJvZHk6bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLTIgLmJhY2tncm91bmQtaW1nLCBib2R5Om5vdCguZnAtcmVzcG9uc2l2ZSkuZnAtdmlld2luZy1zZWN0aW9uMiAuYmFja2dyb3VuZC1pbWcsIGJvZHk6bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLTMgLmJhY2tncm91bmQtaW1nLCBib2R5Om5vdCguZnAtcmVzcG9uc2l2ZSkuZnAtdmlld2luZy1zZWN0aW9uMyAuYmFja2dyb3VuZC1pbWcsIGJvZHk6bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLTQgLmJhY2tncm91bmQtaW1nLCBib2R5Om5vdCguZnAtcmVzcG9uc2l2ZSkuZnAtdmlld2luZy1zZWN0aW9uNCAuYmFja2dyb3VuZC1pbWcsIGJvZHk6bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLTUgLmJhY2tncm91bmQtaW1nLCBib2R5Om5vdCguZnAtcmVzcG9uc2l2ZSkuZnAtdmlld2luZy1zZWN0aW9uNSAuYmFja2dyb3VuZC1pbWcsIGJvZHk6bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLXNlY3Rpb242IC5iYWNrZ3JvdW5kLWltZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTcwMHB4LCAwKTtcbiAgb3BhY2l0eTogMDsgfVxuXG5ib2R5Om5vdCguZnAtcmVzcG9uc2l2ZSkuZnAtdmlld2luZy0xIGgxLCBib2R5Om5vdCguZnAtcmVzcG9uc2l2ZSkuZnAtdmlld2luZy0yIGgxLCBib2R5Om5vdCguZnAtcmVzcG9uc2l2ZSkuZnAtdmlld2luZy1zZWN0aW9uMiBoMSwgYm9keTpub3QoLmZwLXJlc3BvbnNpdmUpLmZwLXZpZXdpbmctMyBoMSwgYm9keTpub3QoLmZwLXJlc3BvbnNpdmUpLmZwLXZpZXdpbmctc2VjdGlvbjMgaDEsIGJvZHk6bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLTQgaDEsIGJvZHk6bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLXNlY3Rpb240IGgxLCBib2R5Om5vdCguZnAtcmVzcG9uc2l2ZSkuZnAtdmlld2luZy01IGgxLCBib2R5Om5vdCguZnAtcmVzcG9uc2l2ZSkuZnAtdmlld2luZy1zZWN0aW9uNSBoMSwgYm9keTpub3QoLmZwLXJlc3BvbnNpdmUpLmZwLXZpZXdpbmctc2VjdGlvbjYgaDEge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC03MDBweCwgMCk7XG4gIG9wYWNpdHk6IDA7IH1cblxuYm9keSAuZnVsbHBhZ2Utd3JhcHBlciB7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiA1MDsgfVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbC1pbmRpY2F0b3ItYm91bmNlLWRvd24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCA2OHB4KTsgfVxuICAxMyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgNzNweCk7IH1cbiAgMzMlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDY4cHgpOyB9XG4gIDQ2JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCA3M3B4KTsgfVxuICA2NiUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgNjhweCk7IH1cbiAgNzklIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDczcHgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgNjhweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbC1pbmRpY2F0b3ItYm91bmNlLXVwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgNnB4KTsgfVxuICAxMyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMXB4KTsgfVxuICAzMyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgNnB4KTsgfVxuICA0NiUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMXB4KTsgfVxuICA2NiUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgNnB4KTsgfVxuICA3OSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMXB4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDZweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbC1pbmRpY2F0b3ItbWlkLWJvdW5jZS1kb3duIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA4JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7IH1cbiAgMTYlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMjQlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IH1cbiAgMzMlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgNDElIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsgfVxuICA0OSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA1OCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgfVxuICA2NiUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA3NCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOyB9XG4gIDgyJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5mcC1yZXNwb25zaXZlIC5zY3JvbGwtaW5kaWNhdG9yLFxuLm1lbnUtdmlzaWJsZSAuc2Nyb2xsLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNjcm9sbC1pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogNDBweDtcbiAgcmlnaHQ6IDQwcHg7XG4gIHotaW5kZXg6IDEwMDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zY3JvbGwtaW5kaWNhdG9yICNSZWN0YW5nbGUtMSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4yNXMgbGluZWFyOyB9XG4gIC5zY3JvbGwtaW5kaWNhdG9yICNVcCB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuc2Nyb2xsLWluZGljYXRvciAjQm90dG9tIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5zY3JvbGwtaW5kaWNhdG9yLmJvdHRvbSAjQm90dG9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5zY3JvbGwtaW5kaWNhdG9yLmJvdHRvbS5hbmltYXRlZCAjQm90dG9tIHtcbiAgICBhbmltYXRpb246IHNjcm9sbC1pbmRpY2F0b3ItYm91bmNlLWRvd24gM3MgbGluZWFyOyB9XG4gIC5zY3JvbGwtaW5kaWNhdG9yLmJvdHRvbS5hbmltYXRlZCAjU2Nyb2xsZXIge1xuICAgIGFuaW1hdGlvbjogc2Nyb2xsLWluZGljYXRvci1taWQtYm91bmNlLWRvd24gM3MgbGluZWFyOyB9XG4gIC5zY3JvbGwtaW5kaWNhdG9yLnVwOm5vdCguYm90dG9tKSAjVXAge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLnNjcm9sbC1pbmRpY2F0b3IudXA6bm90KC5ib3R0b20pLmFuaW1hdGVkICNVcCB7XG4gICAgYW5pbWF0aW9uOiBzY3JvbGwtaW5kaWNhdG9yLWJvdW5jZS11cCAzcyBsaW5lYXI7IH1cbiAgLnNjcm9sbC1pbmRpY2F0b3IudXA6bm90KC5ib3R0b20pLmFuaW1hdGVkICNTY3JvbGxlciB7XG4gICAgYW5pbWF0aW9uOiBzY3JvbGwtaW5kaWNhdG9yLW1pZC1ib3VuY2UtZG93biAzcyBsaW5lYXI7IH1cbiAgLnNjcm9sbC1pbmRpY2F0b3I6aG92ZXIgI1JlY3RhbmdsZS0xIHtcbiAgICBmaWxsOiAjZGRlNjQ1OyB9XG5cbi5tYWluIC5jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLndlY2FuIC5iYWNrZ3JvdW5kLWltZyAuYmFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy93ZWNhbi9iYWNrLmpwZ1wiKTsgfVxuXG4ud2VjYW46bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLTEgLml0ZW1zLXdyYXAge1xuICBtYXJnaW4tdG9wOiAtMjcwcHg7IH1cblxuLndlY2FuIC5pdGVtcy13cmFwIHtcbiAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIG1heC1oZWlnaHQ6IDgyNXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NTBweCkge1xuICAgIC53ZWNhbiAuaXRlbXMtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgLndlY2FuIC5pdGVtcy13cmFwIC5pbmZvLWl0ZW0gLmluZm8taXRlbV9fdGV4dC0tbW9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gIC53ZWNhbiAuaXRlbXMtd3JhcCAuaW5mby1pdGVtIC5zY3JvbGwtYmxvY2sge1xuICAgIG1heC1oZWlnaHQ6IDI1MHB4OyB9XG4gICAgQG1lZGlhIChtaW4taGVpZ2h0OiA3MTBweCkge1xuICAgICAgLndlY2FuIC5pdGVtcy13cmFwIC5pbmZvLWl0ZW0gLnNjcm9sbC1ibG9jayB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDM2MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgLndlY2FuIC5pdGVtcy13cmFwIC5pbmZvLWl0ZW0ge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgICAgLndlY2FuIC5pdGVtcy13cmFwIC5pbmZvLWl0ZW1fX3RleHQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSB7XG4gICAgLndlY2FuIC5pdGVtcy13cmFwIC5pbmZvLWl0ZW0ge1xuICAgICAgaGVpZ2h0OiAyNjVweDsgfVxuICAgICAgLndlY2FuIC5pdGVtcy13cmFwIC5pbmZvLWl0ZW06aG92ZXIge1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbi53ZWNhbiAuY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuICAud2VjYW4gLmNvbnRhaW5lciAud3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDU1O1xuICAgIGxlZnQ6IDA7IH1cblxuLnBvcnRmb2xpbyB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9wb3J0Zm9saW8vYmFjay5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3ODFweCkge1xuICAgIC5wb3J0Zm9saW8ge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9IH1cbiAgLnBvcnRmb2xpbyAud3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA2NjBweDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAucG9ydGZvbGlvLXdyYXAge1xuICAgIGZvbnQtc2l6ZTogMDsgfVxuICAgIC5wb3J0Zm9saW8td3JhcCA+ICoge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5wb3J0Zm9saW9fX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XG4gICAgbWF4LXdpZHRoOiAzMDBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3ODFweCkge1xuICAgICAgLnBvcnRmb2xpb19faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2lkdGg6IDQ3LjUlO1xuICAgICAgICBtYXJnaW46IDAgNSUgNTBweCAwO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAgICAgLnBvcnRmb2xpb19faXRlbTpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIC5wb3J0Zm9saW9fX2l0ZW0gPiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnBvcnRmb2xpb19faXRlbV9fY2FwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7IH1cbiAgICAucG9ydGZvbGlvX19pdGVtX19pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5wb3J0Zm9saW9fX2l0ZW1fX2ltYWdlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnBvcnRmb2xpb19faXRlbV9faW1hZ2U6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQ6IGNlbnRlciBuby1yZXBlYXQgcmdiYSgwLCAwLCAwLCAwLjYpIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4O2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpYVhOdkxUZzROVGt0TVNJL1BnbzhJUzB0SUVkbGJtVnlZWFJ2Y2pvZ1FXUnZZbVVnU1d4c2RYTjBjbUYwYjNJZ01Ua3VNQzR3TENCVFZrY2dSWGh3YjNKMElGQnNkV2N0U1c0Z0xpQlRWa2NnVm1WeWMybHZiam9nTmk0d01DQkNkV2xzWkNBd0tTQWdMUzArQ2p4emRtY2dlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklpQjRiV3h1Y3pwNGJHbHVhejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRiR2x1YXlJZ2RtVnljMmx2YmowaU1TNHhJaUJwWkQwaVRHRjVaWEpmTVNJZ2VEMGlNSEI0SWlCNVBTSXdjSGdpSUhacFpYZENiM2c5SWpBZ01DQTBOVFVnTkRVMUlpQnpkSGxzWlQwaVpXNWhZbXhsTFdKaFkydG5jbTkxYm1RNmJtVjNJREFnTUNBME5UVWdORFUxT3lJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSWdkMmxrZEdnOUlqWTBjSGdpSUdobGFXZG9kRDBpTmpSd2VDSStDanh3YjJ4NVoyOXVJSEJ2YVc1MGN6MGlORFUxTERJeE1pNDFJREkwTWk0MUxESXhNaTQxSURJME1pNDFMREFnTWpFeUxqVXNNQ0F5TVRJdU5Td3lNVEl1TlNBd0xESXhNaTQxSURBc01qUXlMalVnTWpFeUxqVXNNalF5TGpVZ01qRXlMalVzTkRVMUlESTBNaTQxTERRMU5TQXlOREl1TlN3eU5ESXVOU0FnSURRMU5Td3lOREl1TlNBaUlHWnBiR3c5SWlOa1pHVTJORFVpTHo0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BDOXpkbWMrQ2c9PVwiKTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gICAgLnBvcnRmb2xpb19faXRlbTpob3ZlciAucG9ydGZvbGlvX19pdGVtX19pbWFnZTphZnRlciB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5wb3J0Zm9saW9fX2l0ZW06aG92ZXIgLnBvcnRmb2xpb19faXRlbV9fY2FwdGlvbiB7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLnBvcnRmb2xpb19fZGV0YWlscyBoMiB7XG4gICAgbWF4LXdpZHRoOiA2NjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDEuNmVtIGF1dG87IH1cbiAgLnBvcnRmb2xpb19fZGV0YWlsc19faW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucG9ydGZvbGlvX19kZXRhaWxzX190ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDY2MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgLnBvcnRmb2xpb19fZGV0YWlsc19fdGV4dCBwIHtcbiAgICAgIG1hcmdpbjogMmVtIDA7IH1cbiAgLnBvcnRmb2xpb19fZGV0YWlsc19fcmVmZXJlbmNlIHtcbiAgICBtYXgtd2lkdGg6IDY2MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAucG9ydGZvbGlvX19kZXRhaWxzX19yZWZlcmVuY2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIC5wb3J0Zm9saW9fX2RldGFpbHNfX3JlZmVyZW5jZV9faW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiA0MDlweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnBvcnRmb2xpb19fZGV0YWlsc19fcmVmZXJlbmNlX19pbWFnZSBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5wb3J0Zm9saW9fX2RldGFpbHNfX3JlZmVyZW5jZV9fcGVyc29uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAucG9ydGZvbGlvX19kZXRhaWxzX19yZWZlcmVuY2VfX3BlcnNvbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgLnBvcnRmb2xpb19fZGV0YWlsc19fcmVmZXJlbmNlX19wZXJzb24gLmluZm8taXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgLnBvcnRmb2xpb19fZGV0YWlsc19fcmVmZXJlbmNlX19wZXJzb24gLmluZm8taXRlbSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDAgMDsgfSB9XG5cbi50ZWFtIC5iYWNrZ3JvdW5kLWltZyAuYmFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy90ZWFtL2JhY2suanBnXCIpOyB9XG5cbi50ZWFtIGgxIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43N2VtOyB9XG5cbi50ZWFtIGgyIHtcbiAgbWFyZ2luOiAwIDAgMi4yZW07IH1cblxuLnRlYW0gLm91ci1hY2hpZXZlbWVudHMge1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDA7IH1cbiAgLnRlYW0gLm91ci1hY2hpZXZlbWVudHMgLmluZm8taXRlbSB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC50ZWFtIC5vdXItYWNoaWV2ZW1lbnRzIC5pbmZvLWl0ZW0gLmluZm8taXRlbV9fdGV4dCxcbiAgICAudGVhbSAub3VyLWFjaGlldmVtZW50cyAuaW5mby1pdGVtIC5pbmZvLWl0ZW1fX3RleHQtLW1vcmUge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NTFweCkgYW5kIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gICAgICAudGVhbSAub3VyLWFjaGlldmVtZW50cyAuaW5mby1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWluLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTUwcHgpLCAobWF4LWhlaWdodDogNTUwcHgpIHtcbiAgICAgIC50ZWFtIC5vdXItYWNoaWV2ZW1lbnRzIC5pbmZvLWl0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50OyB9IH1cbiAgLnRlYW0gLm91ci1hY2hpZXZlbWVudHMgaDIge1xuICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlOyB9XG5cbi50ZWFtOm5vdCguZnAtcmVzcG9uc2l2ZSkgLnRlYW1fc2VjdGlvbiB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTAwcHgsIDApO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAxcztcbiAgaGVpZ2h0OiA1OSU7XG4gIG1heC1oZWlnaHQ6IDUwMHB4OyB9XG4gIC50ZWFtOm5vdCguZnAtcmVzcG9uc2l2ZSkgLnRlYW1fc2VjdGlvbiAubGVhZGVyLWltYWdlIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgbGluZWFyOyB9XG5cbi50ZWFtOm5vdCguZnAtcmVzcG9uc2l2ZSkgLnNlY29uZCwgLnRlYW06bm90KC5mcC1yZXNwb25zaXZlKSAudGhpcmQsIC50ZWFtOm5vdCguZnAtcmVzcG9uc2l2ZSkgLmZvdXIsIC50ZWFtOm5vdCguZnAtcmVzcG9uc2l2ZSkgLmZpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgdG9wOiAwOyB9XG4gIC50ZWFtOm5vdCguZnAtcmVzcG9uc2l2ZSkgLnNlY29uZCAuYWJvdXQsIC50ZWFtOm5vdCguZnAtcmVzcG9uc2l2ZSkgLnRoaXJkIC5hYm91dCwgLnRlYW06bm90KC5mcC1yZXNwb25zaXZlKSAuZm91ciAuYWJvdXQsIC50ZWFtOm5vdCguZnAtcmVzcG9uc2l2ZSkgLmZpdmUgLmFib3V0IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgbGluZWFyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLnRlYW06bm90KC5mcC1yZXNwb25zaXZlKSAuc2Vjb25kIC50ZWFtX19mYWNlcywgLnRlYW06bm90KC5mcC1yZXNwb25zaXZlKSAudGhpcmQgLnRlYW1fX2ZhY2VzLCAudGVhbTpub3QoLmZwLXJlc3BvbnNpdmUpIC5mb3VyIC50ZWFtX19mYWNlcywgLnRlYW06bm90KC5mcC1yZXNwb25zaXZlKSAuZml2ZSAudGVhbV9fZmFjZXMge1xuICAgIHRyYW5zaXRpb246IGFsbCAxcyBsaW5lYXI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjAwcHg7IH1cblxuLnRlYW06bm90KC5mcC1yZXNwb25zaXZlKSAubGVhZGVyLWNlbGwge1xuICBvcGFjaXR5OiAwOyB9XG5cbi50ZWFtOm5vdCguZnAtcmVzcG9uc2l2ZSkgLmZpdmUgLmluZm8taXRlbSB7XG4gIHRyYW5zaXRpb246IGFsbCAxcyBsaW5lYXI7XG4gIGhlaWdodDogMjg1cHg7IH1cbiAgQG1lZGlhIChtaW4taGVpZ2h0OiA4MDBweCkge1xuICAgIC50ZWFtOm5vdCguZnAtcmVzcG9uc2l2ZSkgLmZpdmUgLmluZm8taXRlbSB7XG4gICAgICBoZWlnaHQ6IDMzMHB4OyB9IH1cblxuLnRlYW0uZnAtcmVzcG9uc2l2ZSAuY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuLnRlYW0uZnAtcmVzcG9uc2l2ZSAuZnAtdGFibGVDZWxsIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4udGVhbS5mcC1yZXNwb25zaXZlIC5ib3R0b20tbGluZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTIwMHB4O1xuICByaWdodDogLTIwMHB4O1xuICBiYWNrZ3JvdW5kOiAjZTllOWU5O1xuICBoZWlnaHQ6IDFweDtcbiAgYm90dG9tOiAwOyB9XG5cbkBtZWRpYSAobWF4LWhlaWdodDogNTUwcHgpIGFuZCAobWluLXdpZHRoOiA1NTBweCkge1xuICAudGVhbS5mcC1yZXNwb25zaXZlIC5sZWFkZXItY2VsbCB7XG4gICAgaGVpZ2h0OiA3MCUgIWltcG9ydGFudDtcbiAgICB0b3A6IDMwJSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC50ZWFtLmZwLXJlc3BvbnNpdmUgLmxlYWRlci1jZWxsIC5sZWFkZXItaW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDsgfSB9XG5cbi50ZWFtLmZwLXJlc3BvbnNpdmUgLmNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgLnRlYW0uZnAtcmVzcG9uc2l2ZSAudGVhbV9zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAtMTAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEwMHB4OyB9XG4gIC50ZWFtLmZwLXJlc3BvbnNpdmUgLnRlYW1fX2ZyZWVTZWN0aW9uIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMDBweDsgfVxuICAgIC50ZWFtLmZwLXJlc3BvbnNpdmUgLnRlYW1fX2ZyZWVTZWN0aW9uIC5sZWFkZXItY2VsbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC50ZWFtLmZwLXJlc3BvbnNpdmUgLnRlYW1fX2ZyZWVTZWN0aW9uIC5sZWFkZXItY2VsbCAubGVhZGVyLWltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAudGVhbS5mcC1yZXNwb25zaXZlIC50ZWFtX19mcmVlU2VjdGlvbiAuYWJvdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC50ZWFtLmZwLXJlc3BvbnNpdmUgLnRlYW1fX2ZhY2VzIC5pbmZvLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjQwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTUwcHgpIGFuZCAobWF4LXdpZHRoOiA1NTBweCksIChtYXgtd2lkdGg6IDU1MHB4KSBhbmQgKG1heC1oZWlnaHQ6IDU1MHB4KSB7XG4gICAgLnRlYW0uZnAtcmVzcG9uc2l2ZSAudGVhbV9fZmFjZXMgLmluZm8taXRlbSB7XG4gICAgICBoZWlnaHQ6IDI4MHB4OyB9IH1cblxuLnRlYW0uZnAtdmlld2luZy0xOm5vdCguZnAtcmVzcG9uc2l2ZSkgLnNlY29uZCwgLnRlYW0uZnAtdmlld2luZy1zZWN0aW9uMjpub3QoLmZwLXJlc3BvbnNpdmUpIC5zZWNvbmQge1xuICB6LWluZGV4OiAxMDA7IH1cbiAgLnRlYW0uZnAtdmlld2luZy0xOm5vdCguZnAtcmVzcG9uc2l2ZSkgLnNlY29uZCAjbGVhZGVyLCAudGVhbS5mcC12aWV3aW5nLXNlY3Rpb24yOm5vdCguZnAtcmVzcG9uc2l2ZSkgLnNlY29uZCAjbGVhZGVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnRlYW0uZnAtdmlld2luZy0xOm5vdCguZnAtcmVzcG9uc2l2ZSkgLm91ci1hY2hpZXZlbWVudHMsIC50ZWFtLmZwLXZpZXdpbmctc2VjdGlvbjI6bm90KC5mcC1yZXNwb25zaXZlKSAub3VyLWFjaGlldmVtZW50cyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwMHB4LCAwKTsgfVxuICAudGVhbS5mcC12aWV3aW5nLTE6bm90KC5mcC1yZXNwb25zaXZlKSAub3VyLWFjaGlldmVtZW50cyBoMiwgLnRlYW0uZnAtdmlld2luZy1zZWN0aW9uMjpub3QoLmZwLXJlc3BvbnNpdmUpIC5vdXItYWNoaWV2ZW1lbnRzIGgyIHtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbi50ZWFtLmZwLXZpZXdpbmctMTpub3QoLmZwLXJlc3BvbnNpdmUpIC50ZWFtX3NlY3Rpb24sIC50ZWFtLmZwLXZpZXdpbmctc2VjdGlvbjI6bm90KC5mcC1yZXNwb25zaXZlKSAudGVhbV9zZWN0aW9uIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4udGVhbS5mcC12aWV3aW5nLTI6bm90KC5mcC1yZXNwb25zaXZlKSAub3VyLWFjaGlldmVtZW50cywgLnRlYW0uZnAtdmlld2luZy1zZWN0aW9uMzpub3QoLmZwLXJlc3BvbnNpdmUpIC5vdXItYWNoaWV2ZW1lbnRzIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNjAwcHgsIDApOyB9XG5cbi50ZWFtLmZwLXZpZXdpbmctMjpub3QoLmZwLXJlc3BvbnNpdmUpIC50ZWFtX3NlY3Rpb24sIC50ZWFtLmZwLXZpZXdpbmctc2VjdGlvbjM6bm90KC5mcC1yZXNwb25zaXZlKSAudGVhbV9zZWN0aW9uIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAudGVhbS5mcC12aWV3aW5nLTI6bm90KC5mcC1yZXNwb25zaXZlKSAudGVhbV9zZWN0aW9uIC50ZWFtLW1lbWJlcjpub3QoLmxlYWRlci1pbWFnZSksIC50ZWFtLmZwLXZpZXdpbmctc2VjdGlvbjM6bm90KC5mcC1yZXNwb25zaXZlKSAudGVhbV9zZWN0aW9uIC50ZWFtLW1lbWJlcjpub3QoLmxlYWRlci1pbWFnZSkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTAwcHgsIDApICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMXM7IH1cblxuLnRlYW0uZnAtdmlld2luZy0yOm5vdCguZnAtcmVzcG9uc2l2ZSkgLmxlYWRlci1pbWFnZSwgLnRlYW0uZnAtdmlld2luZy1zZWN0aW9uMzpub3QoLmZwLXJlc3BvbnNpdmUpIC5sZWFkZXItaW1hZ2Uge1xuICB3aWR0aDogNDEwcHg7XG4gIGhlaWdodDogMTM2JTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNzBweCwgMCwgMCkgIWltcG9ydGFudDsgfVxuXG4udGVhbS5mcC12aWV3aW5nLTI6bm90KC5mcC1yZXNwb25zaXZlKSAudGhpcmQgLmFib3V0LCAudGVhbS5mcC12aWV3aW5nLXNlY3Rpb24zOm5vdCguZnAtcmVzcG9uc2l2ZSkgLnRoaXJkIC5hYm91dCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnRlYW0uZnAtdmlld2luZy0yOm5vdCguZnAtcmVzcG9uc2l2ZSkgLm91ci1hY2hpZXZlbWVudHMsIC50ZWFtLmZwLXZpZXdpbmctc2VjdGlvbjQ6bm90KC5mcC1yZXNwb25zaXZlKSAub3VyLWFjaGlldmVtZW50cyB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTYwMHB4LCAwKTsgfVxuXG4udGVhbS5mcC12aWV3aW5nLTI6bm90KC5mcC1yZXNwb25zaXZlKSAudGVhbV9zZWN0aW9uLCAudGVhbS5mcC12aWV3aW5nLXNlY3Rpb240Om5vdCguZnAtcmVzcG9uc2l2ZSkgLnRlYW1fc2VjdGlvbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgLnRlYW0uZnAtdmlld2luZy0yOm5vdCguZnAtcmVzcG9uc2l2ZSkgLnRlYW1fc2VjdGlvbiAudGVhbS1tZW1iZXI6bm90KC5sZWFkZXItaW1hZ2UpLCAudGVhbS5mcC12aWV3aW5nLXNlY3Rpb240Om5vdCguZnAtcmVzcG9uc2l2ZSkgLnRlYW1fc2VjdGlvbiAudGVhbS1tZW1iZXI6bm90KC5sZWFkZXItaW1hZ2UpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUwMHB4LCAwKSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDFzOyB9XG5cbi50ZWFtLmZwLXZpZXdpbmctMjpub3QoLmZwLXJlc3BvbnNpdmUpIC5sZWFkZXItaW1hZ2UsIC50ZWFtLmZwLXZpZXdpbmctc2VjdGlvbjQ6bm90KC5mcC1yZXNwb25zaXZlKSAubGVhZGVyLWltYWdlIHtcbiAgd2lkdGg6IDQxMHB4O1xuICBoZWlnaHQ6IDEzNiU7XG4gIGJhY2tncm91bmQtc2l6ZTogODAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE3NXB4LCAwLCAwKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL3RlYW0vY2xlbS5wbmdcIik7IH1cblxuLnRlYW0uZnAtdmlld2luZy0yOm5vdCguZnAtcmVzcG9uc2l2ZSkgLmZvdXIgLmFib3V0LCAudGVhbS5mcC12aWV3aW5nLXNlY3Rpb240Om5vdCguZnAtcmVzcG9uc2l2ZSkgLmZvdXIgLmFib3V0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzc1cHgsIDAsIDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi50ZWFtLmZwLXZpZXdpbmctMzpub3QoLmZwLXJlc3BvbnNpdmUpIC5vdXItYWNoaWV2ZW1lbnRzLCAudGVhbS5mcC12aWV3aW5nLTQ6bm90KC5mcC1yZXNwb25zaXZlKSAub3VyLWFjaGlldmVtZW50cywgLnRlYW0uZnAtdmlld2luZy1zZWN0aW9uNTpub3QoLmZwLXJlc3BvbnNpdmUpIC5vdXItYWNoaWV2ZW1lbnRzLCAudGVhbS5mcC12aWV3aW5nLTU6bm90KC5mcC1yZXNwb25zaXZlKSAub3VyLWFjaGlldmVtZW50cywgLnRlYW0uZnAtdmlld2luZy1zZWN0aW9uNjpub3QoLmZwLXJlc3BvbnNpdmUpIC5vdXItYWNoaWV2ZW1lbnRzIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNjAwcHgsIDApOyB9XG5cbi50ZWFtLmZwLXZpZXdpbmctMzpub3QoLmZwLXJlc3BvbnNpdmUpIC50ZWFtX3NlY3Rpb24sIC50ZWFtLmZwLXZpZXdpbmctNDpub3QoLmZwLXJlc3BvbnNpdmUpIC50ZWFtX3NlY3Rpb24sIC50ZWFtLmZwLXZpZXdpbmctc2VjdGlvbjU6bm90KC5mcC1yZXNwb25zaXZlKSAudGVhbV9zZWN0aW9uLCAudGVhbS5mcC12aWV3aW5nLTU6bm90KC5mcC1yZXNwb25zaXZlKSAudGVhbV9zZWN0aW9uLCAudGVhbS5mcC12aWV3aW5nLXNlY3Rpb242Om5vdCguZnAtcmVzcG9uc2l2ZSkgLnRlYW1fc2VjdGlvbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgLnRlYW0uZnAtdmlld2luZy0zOm5vdCguZnAtcmVzcG9uc2l2ZSkgLnRlYW1fc2VjdGlvbiAudGVhbS1tZW1iZXI6bm90KC5sZWFkZXItaW1hZ2UpLCAudGVhbS5mcC12aWV3aW5nLTQ6bm90KC5mcC1yZXNwb25zaXZlKSAudGVhbV9zZWN0aW9uIC50ZWFtLW1lbWJlcjpub3QoLmxlYWRlci1pbWFnZSksIC50ZWFtLmZwLXZpZXdpbmctc2VjdGlvbjU6bm90KC5mcC1yZXNwb25zaXZlKSAudGVhbV9zZWN0aW9uIC50ZWFtLW1lbWJlcjpub3QoLmxlYWRlci1pbWFnZSksIC50ZWFtLmZwLXZpZXdpbmctNTpub3QoLmZwLXJlc3BvbnNpdmUpIC50ZWFtX3NlY3Rpb24gLnRlYW0tbWVtYmVyOm5vdCgubGVhZGVyLWltYWdlKSwgLnRlYW0uZnAtdmlld2luZy1zZWN0aW9uNjpub3QoLmZwLXJlc3BvbnNpdmUpIC50ZWFtX3NlY3Rpb24gLnRlYW0tbWVtYmVyOm5vdCgubGVhZGVyLWltYWdlKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1NTBweCwgMCkgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxczsgfVxuXG4udGVhbS5mcC12aWV3aW5nLTM6bm90KC5mcC1yZXNwb25zaXZlKSAubGVhZGVyLWltYWdlLCAudGVhbS5mcC12aWV3aW5nLTQ6bm90KC5mcC1yZXNwb25zaXZlKSAubGVhZGVyLWltYWdlLCAudGVhbS5mcC12aWV3aW5nLXNlY3Rpb241Om5vdCguZnAtcmVzcG9uc2l2ZSkgLmxlYWRlci1pbWFnZSwgLnRlYW0uZnAtdmlld2luZy01Om5vdCguZnAtcmVzcG9uc2l2ZSkgLmxlYWRlci1pbWFnZSwgLnRlYW0uZnAtdmlld2luZy1zZWN0aW9uNjpub3QoLmZwLXJlc3BvbnNpdmUpIC5sZWFkZXItaW1hZ2Uge1xuICB3aWR0aDogNDEwcHg7XG4gIGhlaWdodDogNjY1cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwMHB4LCAwLCAwKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnRlYW0uZnAtdmlld2luZy0zOm5vdCguZnAtcmVzcG9uc2l2ZSkgLmFib3V0LCAudGVhbS5mcC12aWV3aW5nLTQ6bm90KC5mcC1yZXNwb25zaXZlKSAuYWJvdXQsIC50ZWFtLmZwLXZpZXdpbmctc2VjdGlvbjU6bm90KC5mcC1yZXNwb25zaXZlKSAuYWJvdXQsIC50ZWFtLmZwLXZpZXdpbmctNTpub3QoLmZwLXJlc3BvbnNpdmUpIC5hYm91dCwgLnRlYW0uZnAtdmlld2luZy1zZWN0aW9uNjpub3QoLmZwLXJlc3BvbnNpdmUpIC5hYm91dCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTcwMHB4LCAwKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4udGVhbS5mcC12aWV3aW5nLTM6bm90KC5mcC1yZXNwb25zaXZlKSAudGVhbV9fZmFjZXMsIC50ZWFtLmZwLXZpZXdpbmctNDpub3QoLmZwLXJlc3BvbnNpdmUpIC50ZWFtX19mYWNlcywgLnRlYW0uZnAtdmlld2luZy1zZWN0aW9uNTpub3QoLmZwLXJlc3BvbnNpdmUpIC50ZWFtX19mYWNlcywgLnRlYW0uZnAtdmlld2luZy01Om5vdCguZnAtcmVzcG9uc2l2ZSkgLnRlYW1fX2ZhY2VzLCAudGVhbS5mcC12aWV3aW5nLXNlY3Rpb242Om5vdCguZnAtcmVzcG9uc2l2ZSkgLnRlYW1fX2ZhY2VzIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgb3BhY2l0eTogMTtcbiAgaGVpZ2h0OiAxMDAwcHg7IH1cblxuLnRlYW0uZnAtdmlld2luZy0zOm5vdCguZnAtcmVzcG9uc2l2ZSkgLmZpdmUsIC50ZWFtLmZwLXZpZXdpbmctNDpub3QoLmZwLXJlc3BvbnNpdmUpIC5maXZlLCAudGVhbS5mcC12aWV3aW5nLXNlY3Rpb241Om5vdCguZnAtcmVzcG9uc2l2ZSkgLmZpdmUsIC50ZWFtLmZwLXZpZXdpbmctNTpub3QoLmZwLXJlc3BvbnNpdmUpIC5maXZlLCAudGVhbS5mcC12aWV3aW5nLXNlY3Rpb242Om5vdCguZnAtcmVzcG9uc2l2ZSkgLmZpdmUge1xuICB6LWluZGV4OiAxMDA7IH1cblxuLnRlYW0uZnAtdmlld2luZy0zOm5vdCguZnAtcmVzcG9uc2l2ZSkgLnNpeCwgLnRlYW0uZnAtdmlld2luZy00Om5vdCguZnAtcmVzcG9uc2l2ZSkgLnNpeCwgLnRlYW0uZnAtdmlld2luZy1zZWN0aW9uNTpub3QoLmZwLXJlc3BvbnNpdmUpIC5zaXgsIC50ZWFtLmZwLXZpZXdpbmctNTpub3QoLmZwLXJlc3BvbnNpdmUpIC5zaXgsIC50ZWFtLmZwLXZpZXdpbmctc2VjdGlvbjY6bm90KC5mcC1yZXNwb25zaXZlKSAuc2l4IHtcbiAgei1pbmRleDogNTA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTAwcHgsIDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi50ZWFtLmZwLXZpZXdpbmctNTpub3QoLmZwLXJlc3BvbnNpdmUpIC50ZWFtX19mYWNlcyAuaW5mby1pdGVtLCAudGVhbS5mcC12aWV3aW5nLXNlY3Rpb242Om5vdCguZnAtcmVzcG9uc2l2ZSkgLnRlYW1fX2ZhY2VzIC5pbmZvLWl0ZW0ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMzBweCwgMCk7IH1cbiAgLnRlYW0uZnAtdmlld2luZy01Om5vdCguZnAtcmVzcG9uc2l2ZSkgLnRlYW1fX2ZhY2VzIC5pbmZvLWl0ZW06bnRoLWNoaWxkKDEpLCAudGVhbS5mcC12aWV3aW5nLTU6bm90KC5mcC1yZXNwb25zaXZlKSAudGVhbV9fZmFjZXMgLmluZm8taXRlbTpudGgtY2hpbGQoMiksIC50ZWFtLmZwLXZpZXdpbmctNTpub3QoLmZwLXJlc3BvbnNpdmUpIC50ZWFtX19mYWNlcyAuaW5mby1pdGVtOm50aC1jaGlsZCgzKSwgLnRlYW0uZnAtdmlld2luZy1zZWN0aW9uNjpub3QoLmZwLXJlc3BvbnNpdmUpIC50ZWFtX19mYWNlcyAuaW5mby1pdGVtOm50aC1jaGlsZCgxKSwgLnRlYW0uZnAtdmlld2luZy1zZWN0aW9uNjpub3QoLmZwLXJlc3BvbnNpdmUpIC50ZWFtX19mYWNlcyAuaW5mby1pdGVtOm50aC1jaGlsZCgyKSwgLnRlYW0uZnAtdmlld2luZy1zZWN0aW9uNjpub3QoLmZwLXJlc3BvbnNpdmUpIC50ZWFtX19mYWNlcyAuaW5mby1pdGVtOm50aC1jaGlsZCgzKSB7XG4gICAgb3BhY2l0eTogMDsgfVxuXG4udGVhbSAudGVhbV9zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU1MXB4KSBhbmQgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgICAudGVhbSAudGVhbV9zZWN0aW9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cbiAgLnRlYW0gLnRlYW1fc2VjdGlvbiAuY2VudGVyLXB4IHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiA0M3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NTBweCksIChtYXgtaGVpZ2h0OiA1NTBweCkge1xuICAgICAgLnRlYW0gLnRlYW1fc2VjdGlvbiAuY2VudGVyLXB4IHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjQpOyB9IH1cbiAgLnRlYW0gLnRlYW1fc2VjdGlvbiAuY29udGFpbmVyX19mbGV4LmNvbnRhaW5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDsgfVxuXG4udGVhbV9fZnJlZVNlY3Rpb24ge1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuICAudGVhbV9fZnJlZVNlY3Rpb24gLmxlYWRlci1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuICAgIC50ZWFtX19mcmVlU2VjdGlvbiAubGVhZGVyLWNlbGwgLmxlYWRlci1pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogNTYwcHggIWltcG9ydGFudDsgfVxuICAudGVhbV9fZnJlZVNlY3Rpb24gLmFib3V0IHtcbiAgICB3aWR0aDogNDglO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAudGVhbV9fZnJlZVNlY3Rpb24gLmFib3V0IGgyIHtcbiAgICAgIG1hcmdpbjogMC4yZW0gMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRlYW0gLnRlYW0tbWVtYmVyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBsaW5lYXIsIG9wYWNpdHkgMXMgbGluZWFyOyB9XG4gIC50ZWFtIC50ZWFtLW1lbWJlci50ZWFtMiB7XG4gICAgd2lkdGg6IDMwOXB4O1xuICAgIGhlaWdodDogODcuNiU7XG4gICAgbGVmdDogLTQ3M3B4O1xuICAgIGJvdHRvbTogLTQxcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy90ZWFtL3RlYW1fMi5wbmdcIik7IH1cbiAgLnRlYW0gLnRlYW0tbWVtYmVyLnRlYW0zIHtcbiAgICB3aWR0aDogMzA0cHg7XG4gICAgaGVpZ2h0OiA4MyU7XG4gICAgbGVmdDogLTc4OXB4O1xuICAgIGJvdHRvbTogLTQwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy90ZWFtL3RlYW1fMy5wbmdcIik7IH1cbiAgLnRlYW0gLnRlYW0tbWVtYmVyLnRlYW00IHtcbiAgICB3aWR0aDogMTcycHg7XG4gICAgaGVpZ2h0OiA4MC40JTtcbiAgICBsZWZ0OiAtOTUwcHg7XG4gICAgYm90dG9tOiAtNDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL3RlYW0vdGVhbV80LnBuZ1wiKTsgfVxuICAudGVhbSAudGVhbS1tZW1iZXIudGVhbTUge1xuICAgIHdpZHRoOiAyOThweDtcbiAgICBoZWlnaHQ6IDgzLjYlO1xuICAgIGxlZnQ6IC0xMjA1cHg7XG4gICAgYm90dG9tOiAtNDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL3RlYW0vdGVhbV81LnBuZ1wiKTsgfVxuICAudGVhbSAudGVhbS1tZW1iZXIudGVhbTYge1xuICAgIHdpZHRoOiAzMzRweDtcbiAgICBoZWlnaHQ6IDgzLjYlO1xuICAgIGxlZnQ6IDI2NHB4O1xuICAgIGJvdHRvbTogLTQxcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy90ZWFtL3RlYW1fNi5wbmdcIik7IH1cbiAgLnRlYW0gLnRlYW0tbWVtYmVyLnRlYW03IHtcbiAgICB3aWR0aDogMjA5cHg7XG4gICAgaGVpZ2h0OiA4MS4yJTtcbiAgICBsZWZ0OiA2MDhweDtcbiAgICBib3R0b206IC00M3B4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvdGVhbS90ZWFtXzcucG5nXCIpOyB9XG4gIC50ZWFtIC50ZWFtLW1lbWJlci50ZWFtOCB7XG4gICAgd2lkdGg6IDE4NHB4O1xuICAgIGhlaWdodDogNzkuNCU7XG4gICAgbGVmdDogODE3cHg7XG4gICAgYm90dG9tOiAtNDNweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL3RlYW0vdGVhbV84LnBuZ1wiKTsgfVxuICAudGVhbSAudGVhbS1tZW1iZXIudGVhbTkge1xuICAgIHdpZHRoOiAyOTNweDtcbiAgICBoZWlnaHQ6IDgxLjIlO1xuICAgIGxlZnQ6IDEwMjFweDtcbiAgICBib3R0b206IC00MXB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvdGVhbS90ZWFtXzkucG5nXCIpOyB9XG4gIC50ZWFtIC50ZWFtLW1lbWJlci50ZWFtMTAge1xuICAgIHdpZHRoOiAyNzNweDtcbiAgICBoZWlnaHQ6IDgxLjIlO1xuICAgIGxlZnQ6IDg1cHg7XG4gICAgYm90dG9tOiAtMjRweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL3RlYW0vY2xlbS5wbmdcIik7IH1cbiAgICAudGVhbSAudGVhbS1tZW1iZXIudGVhbTEwLm1lbWJlci1pbmZvIHtcbiAgICAgIHdpZHRoOiAzMjRweDtcbiAgICAgIGhlaWdodDogOTguMiU7XG4gICAgICBsZWZ0OiAtMTQ4cHg7XG4gICAgICBib3R0b206IC00MXB4O1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDk2JTsgfVxuICAudGVhbSAudGVhbS1tZW1iZXIubGVhZGVyLWltYWdlIHtcbiAgICB3aWR0aDogMzI0cHg7XG4gICAgaGVpZ2h0OiA5OC4yJTtcbiAgICBsZWZ0OiAtMTQ4cHg7XG4gICAgYm90dG9tOiAtNDFweDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy90ZWFtL2xlYWRlci5wbmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOTYlOyB9XG4gICAgLnRlYW0gLnRlYW0tbWVtYmVyLmxlYWRlci1pbWFnZS5zZWNvbmQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy90ZWFtL2NsZW0ucG5nXCIpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkge1xuICAudGVhbSAuaXRlbXMtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG4udGVhbSAuaW5mby1pdGVtIHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAudGVhbSAuaW5mby1pdGVtX190ZXh0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gIC50ZWFtIC5pbmZvLWl0ZW0tY29udGVudCB7XG4gICAgcG9zaXRpb246IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAudGVhbSAuaW5mby1pdGVtIC5zY3JvbGwtYmxvY2sge1xuICAgIGhlaWdodDogMTgwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi1oZWlnaHQ6IDY4MHB4KSB7XG4gICAgICAudGVhbSAuaW5mby1pdGVtIC5zY3JvbGwtYmxvY2sge1xuICAgICAgICBoZWlnaHQ6IDMwMHB4OyB9IH1cblxuLnRlYW0gLnRlYW1fX2ZhY2VzIC5uYW1lIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi50ZWFtIC50ZWFtX19mYWNlcyAuaW5mby1pdGVtX190ZXh0LS1tb3JlIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50OyB9XG5cbi50ZWFtIC50ZWFtX19mYWNlcyAucG9zaXRpb24ge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTsgfVxuXG4uY29udGFjdC11cyAuYmFja2dyb3VuZC1pbWcge1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsgfVxuICAuY29udGFjdC11cyAuYmFja2dyb3VuZC1pbWcgLmJhY2sge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jb250YWN0LXVzL2JhY2suanBnXCIpO1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmNvbnRhY3QtdXMgLmNvbnRhY3QtdXNfX2NvbnRlbnQge1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsgfVxuICAuY29udGFjdC11cyAuY29udGFjdC11c19fY29udGVudCBwIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2U7IH1cblxuLmNvbnRhY3QtdXMgLnBob25lLCAuY29udGFjdC11cyAuZW1haWwsIC5jb250YWN0LXVzIC5zZWNvbmQtcGFnZSB7XG4gIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlOyB9XG5cbi5jb250YWN0LXVzOm5vdCguZnAtcmVzcG9uc2l2ZSkgLnBhZ2Uge1xuICB3aWR0aDogNzQwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5jb250YWN0LXVzOm5vdCguZnAtcmVzcG9uc2l2ZSkgLnBhZ2Uuc2Vjb25kLXBhZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDgwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG9wYWNpdHk6IDA7IH1cblxuQG1lZGlhIChtYXgtaGVpZ2h0OiA4MzBweCkge1xuICAuY29udGFjdC11czpub3QoLmZwLXJlc3BvbnNpdmUpIC5waG9uZSwgLmNvbnRhY3QtdXM6bm90KC5mcC1yZXNwb25zaXZlKSAuZW1haWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDM1MHB4O1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuY29udGFjdC11czpub3QoLmZwLXJlc3BvbnNpdmUpIC5waG9uZSB7XG4gICAgbGVmdDogMDsgfVxuICAuY29udGFjdC11czpub3QoLmZwLXJlc3BvbnNpdmUpIC5lbWFpbCB7XG4gICAgbGVmdDogNDAlOyB9IH1cblxuQG1lZGlhIChtYXgtaGVpZ2h0OiA2NTBweCkge1xuICAuY29udGFjdC11czpub3QoLmZwLXJlc3BvbnNpdmUpIC5jb250YWN0LXVzX19jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTsgfVxuICAgIC5jb250YWN0LXVzOm5vdCguZnAtcmVzcG9uc2l2ZSkgLmNvbnRhY3QtdXNfX2NvbnRlbnQgcCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cblxuLmNvbnRhY3QtdXM6bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLTEgLnBob25lLCAuY29udGFjdC11czpub3QoLmZwLXJlc3BvbnNpdmUpLmZwLXZpZXdpbmctMSAuZW1haWwge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC03MjBweCwgMCk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmNvbnRhY3QtdXM6bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLTEgLmNvbnRhY3QtdXNfX2NvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC03MjBweCwgMCk7IH1cbiAgLmNvbnRhY3QtdXM6bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLTEgLmNvbnRhY3QtdXNfX2NvbnRlbnQgcDpudGgtY2hpbGQoMSkge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgQG1lZGlhIChtYXgtaGVpZ2h0OiA2ODVweCkge1xuICAgIC5jb250YWN0LXVzOm5vdCguZnAtcmVzcG9uc2l2ZSkuZnAtdmlld2luZy0xIC5jb250YWN0LXVzX19jb250ZW50IHA6bnRoLWNoaWxkKDIpIHtcbiAgICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uY29udGFjdC11czpub3QoLmZwLXJlc3BvbnNpdmUpLmZwLXZpZXdpbmctMSAuc2Vjb25kLXBhZ2Uge1xuICB0b3A6IDA7XG4gIG9wYWNpdHk6IDE7IH1cbiAgQG1lZGlhIChtYXgtaGVpZ2h0OiA3NzBweCkge1xuICAgIC5jb250YWN0LXVzOm5vdCguZnAtcmVzcG9uc2l2ZSkuZnAtdmlld2luZy0xIC5zZWNvbmQtcGFnZSAuZnAtdGFibGVDZWxsIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH0gfVxuXG4uY29udGFjdC11cyAuY29udGFjdC11c19fc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uY29udGFjdC11cyAucGhvbmUge1xuICBmb250LXNpemU6IDM2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTUwcHgpLCAobWF4LWhlaWdodDogNTUwcHgpIHtcbiAgICAuY29udGFjdC11cyAucGhvbmUge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cblxuLmNvbnRhY3QtdXMgLmVtYWlsIHtcbiAgZm9udC1zaXplOiAzNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDcwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSwgKG1heC1oZWlnaHQ6IDU1MHB4KSB7XG4gICAgLmNvbnRhY3QtdXMgLmVtYWlsIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuXG4uY29udGFjdC11cyBwIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5jb250YWN0LXVzIHAge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cblxuLmNvbnRhY3QtdXMgLmJ0bi1ibG9jayB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuXG4uY29udGFjdC11cyAuYnRuIHtcbiAgcGFkZGluZzogMThweCAxMTBweDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgYmFja2dyb3VuZDogI2RkZTY0NTsgfVxuICAuY29udGFjdC11cyAuYnRuOmhvdmVyLCAuY29udGFjdC11cyAuYnRuOmFjdGl2ZSwgLmNvbnRhY3QtdXMgLmJ0bjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuY29udGFjdC11cyAuYnRuIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMThweCAwOyB9IH1cblxuLmNhcmVlcnMgLmJhY2tncm91bmQtaW1nIHtcbiAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7IH1cbiAgLmNhcmVlcnMgLmJhY2tncm91bmQtaW1nIC5iYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2FyZWVycy9iYWNrLmpwZ1wiKTsgfVxuXG4uY2FyZWVycyAuc2Vjb25kLXBhZ2Uge1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsgfVxuXG4uY2FyZWVyczpub3QoLmZwLXJlc3BvbnNpdmUpIC5wYWdlLnNlY29uZC1wYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDcwMHB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgb3BhY2l0eTogMDsgfVxuXG5AbWVkaWEgKG1heC1oZWlnaHQ6IDcwMHB4KSB7XG4gIC5jYXJlZXJzOm5vdCguZnAtcmVzcG9uc2l2ZSkgLmNhcmVlcnNfX3NlY3Rpb24gLnRleHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMHB4LCAwKTsgfSB9XG5cbi5jYXJlZXJzOm5vdCguZnAtcmVzcG9uc2l2ZSkuZnAtdmlld2luZy0xIC5jYXJlZXJzX19zZWN0aW9uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtODAlLCAwKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uY2FyZWVyczpub3QoLmZwLXJlc3BvbnNpdmUpLmZwLXZpZXdpbmctMSAuc2Vjb25kLXBhZ2Uge1xuICB0b3A6IDA7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmNhcmVlcnMgLmNhcmVlcnNfX3NlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlOyB9XG4gIC5jYXJlZXJzIC5jYXJlZXJzX19zZWN0aW9uIC50ZXh0IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5jYXJlZXJzIC5jYXJlZXJzX19zZWN0aW9uIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuY2FyZWVycyAuY2FyZWVyc19fc2VjdGlvbiBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc4MXB4KSB7XG4gICAgLmNhcmVlcnMgLmNhcmVlcnNfX3NlY3Rpb24gLmNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmNhcmVlcnMgLmNhcmVlcnNfX3NlY3Rpb24gLmNvbnRhaW5lciAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuY2FyZWVycyAuY2FyZWVyc19fc2VjdGlvbiAuY29udGFpbmVyIC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uY2FyZWVycyAuYnRuLWJsb2NrIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDUwcHggMDsgfVxuXG4uY2FyZWVycyAuYnRuIHtcbiAgcGFkZGluZzogMThweCAxMTBweDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgYmFja2dyb3VuZDogI2RkZTY0NTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDsgfVxuICAuY2FyZWVycyAuYnRuOmhvdmVyLCAuY2FyZWVycyAuYnRuOmFjdGl2ZSwgLmNhcmVlcnMgLmJ0bjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuY2FyZWVycyAuYnRuIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMThweCAwOyB9IH1cblxuLmVhc3ktdG8td29yayAuYmFja2dyb3VuZC1pbWcgLmJhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZWFzeS10by13b3JrL2JhY2suanBnXCIpOyB9XG5cbi5lYXN5LXRvLXdvcmsgLmRvd24tYXJyb3cge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC43NXMgbGluZWFyLCB0cmFuc2Zvcm0gLjc1cyBsaW5lYXI7IH1cblxuLmVhc3ktdG8td29yayAuZWFzeS10by13b3JrX19jb250ZW50X190ZXh0IC50ZXh0LWl0ZW0ge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBsaW5lYXI7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSwgKG1heC1oZWlnaHQ6IDU1MHB4KSB7XG4gIC5lYXN5LXRvLXdvcmsuZnAtcmVzcG9uc2l2ZSBoMiB7XG4gICAgZm9udC1zaXplOiAxZW07IH0gfVxuXG4uZWFzeS10by13b3JrLmZwLXJlc3BvbnNpdmUgLm5hdi1pdGVtIC5uYXYtaXRlbV9faWNvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5lYXN5LXRvLXdvcmsuZnAtcmVzcG9uc2l2ZSAubmF2LWl0ZW0gLm5hdi1pdGVtX190ZXh0IHtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBjbGVhcjogYm90aDsgfVxuXG4uZWFzeS10by13b3JrLmZwLXJlc3BvbnNpdmUgLm5hdi1pdGVtIC5uYXYtaXRlbV9fdGV4dC0tbW9yZSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cblxuLmVhc3ktdG8td29yay5mcC1yZXNwb25zaXZlIC5uYXYtaXRlbTphY3RpdmUgLm5hdi1pdGVtX190ZXh0LCAuZWFzeS10by13b3JrLmZwLXJlc3BvbnNpdmUgLm5hdi1pdGVtOmhvdmVyIC5uYXYtaXRlbV9fdGV4dCB7XG4gIGNvbG9yOiBibGFjaztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmVhc3ktdG8td29yay5mcC1yZXNwb25zaXZlIC5uYXYtaXRlbTphY3RpdmUgLm5hdi1pdGVtX190ZXh0LS1tb3JlLCAuZWFzeS10by13b3JrLmZwLXJlc3BvbnNpdmUgLm5hdi1pdGVtOmhvdmVyIC5uYXYtaXRlbV9fdGV4dC0tbW9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5lYXN5LXRvLXdvcmsuZnAtcmVzcG9uc2l2ZSAubmF2LWl0ZW0udmlzaXRlZCB7XG4gIGJvcmRlci1sZWZ0OiBub25lOyB9XG5cbi5lYXN5LXRvLXdvcmsuZnAtcmVzcG9uc2l2ZSAuZWZmZWN0cyB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmVhc3ktdG8td29yazpub3QoLmZwLXJlc3BvbnNpdmUpIGgyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGVhc2U7IH1cblxuLmVhc3ktdG8td29yazpub3QoLmZwLXJlc3BvbnNpdmUpIC5lYXN5LXRvLXdvcmtfX2NvbnRlbnQge1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsgfVxuXG4uZWFzeS10by13b3JrOm5vdCguZnAtcmVzcG9uc2l2ZSkgLmJ0bi1ibG9jayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IDIwMHB4OyB9XG4gIEBtZWRpYSAobWF4LWhlaWdodDogNzUwcHgpIHtcbiAgICAuZWFzeS10by13b3JrOm5vdCguZnAtcmVzcG9uc2l2ZSkgLmJ0bi1ibG9jayB7XG4gICAgICBib3R0b206IDM1MHB4OyB9IH1cblxuLmVhc3ktdG8td29yazpub3QoLmZwLXJlc3BvbnNpdmUpIC5lZmZlY3RzIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZWFzeS10by13b3JrOm5vdCguZnAtcmVzcG9uc2l2ZSk6bm90KC5mcC12aWV3aW5nLTApIC5lZmZlY3RzIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZWFzeS10by13b3JrOm5vdCguZnAtcmVzcG9uc2l2ZSk6bm90KC5mcC12aWV3aW5nLTApIGgyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzUwcHgsIDApOyB9XG4gIEBtZWRpYSAobWF4LWhlaWdodDogNjcwcHgpIHtcbiAgICAuZWFzeS10by13b3JrOm5vdCguZnAtcmVzcG9uc2l2ZSk6bm90KC5mcC12aWV3aW5nLTApIGgyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTYwdmgsIDApOyB9IH1cblxuLmVhc3ktdG8td29yazpub3QoLmZwLXJlc3BvbnNpdmUpOm5vdCguZnAtdmlld2luZy0wKSAuZWFzeS10by13b3JrX19jb250ZW50IHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzQwcHgsIDApOyB9XG4gIEBtZWRpYSAobWF4LWhlaWdodDogNjcwcHgpIHtcbiAgICAuZWFzeS10by13b3JrOm5vdCguZnAtcmVzcG9uc2l2ZSk6bm90KC5mcC12aWV3aW5nLTApIC5lYXN5LXRvLXdvcmtfX2NvbnRlbnQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNjB2aCwgMCk7IH0gfVxuXG4uZWFzeS10by13b3JrOm5vdCguZnAtcmVzcG9uc2l2ZSkuZnAtdmlld2luZy0xIC5lYXN5LXRvLXdvcmtfX2NvbnRlbnRfX3RleHQgLnRleHQtaXRlbTpudGgtY2hpbGQoMSkge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5lYXN5LXRvLXdvcms6bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLTIgLmVhc3ktdG8td29ya19fY29udGVudF9fdGV4dCAudGV4dC1pdGVtOm50aC1jaGlsZCgyKSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmVhc3ktdG8td29yazpub3QoLmZwLXJlc3BvbnNpdmUpLmZwLXZpZXdpbmctMyAuZWFzeS10by13b3JrX19jb250ZW50X190ZXh0IC50ZXh0LWl0ZW06bnRoLWNoaWxkKDMpIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZWFzeS10by13b3JrOm5vdCguZnAtcmVzcG9uc2l2ZSkuZnAtdmlld2luZy00IC5lYXN5LXRvLXdvcmtfX2NvbnRlbnRfX3RleHQgLnRleHQtaXRlbTpudGgtY2hpbGQoNCkge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5lYXN5LXRvLXdvcms6bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLTUgLmVhc3ktdG8td29ya19fY29udGVudF9fdGV4dCAudGV4dC1pdGVtOm50aC1jaGlsZCg1KSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmVhc3ktdG8td29yazpub3QoLmZwLXJlc3BvbnNpdmUpLmZwLXZpZXdpbmctNSAuYnRuLWJsb2NrIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZWFzeS10by13b3JrIC5jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbi5lYXN5LXRvLXdvcmsgLmRvd24tYXJyb3cge1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0zNHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NTBweCkge1xuICAgIC5lYXN5LXRvLXdvcmsgLmRvd24tYXJyb3cge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9IH1cblxuLmVhc3ktdG8td29ya19fY29udGVudCB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2U7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLmVhc3ktdG8td29ya19fY29udGVudDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTUwcHgpLCAobWF4LWhlaWdodDogNTUwcHgpIHtcbiAgICAuZWFzeS10by13b3JrX19jb250ZW50IHtcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU1MXB4KSBhbmQgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgICAuZWFzeS10by13b3JrX19jb250ZW50IHtcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAuZWFzeS10by13b3JrX19jb250ZW50X19uYXZpZ2F0aW9uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgICAuZWFzeS10by13b3JrX19jb250ZW50X19uYXZpZ2F0aW9uIC5pdGVtcy13cmFwIHtcbiAgICAgIHdpZHRoOiA2NiU7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NTBweCksIChtYXgtaGVpZ2h0OiA1NTBweCkge1xuICAgICAgLmVhc3ktdG8td29ya19fY29udGVudF9fbmF2aWdhdGlvbiB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuZWFzeS10by13b3JrX19jb250ZW50X19uYXZpZ2F0aW9uIC5pdGVtcy13cmFwIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NTFweCkgYW5kIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gICAgICAuZWFzeS10by13b3JrX19jb250ZW50X19uYXZpZ2F0aW9uIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5lYXN5LXRvLXdvcmtfX2NvbnRlbnRfX25hdmlnYXRpb24gLml0ZW1zLXdyYXAge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmVhc3ktdG8td29ya19fY29udGVudF9fdGV4dCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDYyLjUlO1xuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmVhc3ktdG8td29ya19fY29udGVudF9fdGV4dCAudGV4dC1pdGVtIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmVhc3ktdG8td29ya19fY29udGVudF9fdGV4dCAudGV4dC1pdGVtLmlzLWFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSwgKG1heC1oZWlnaHQ6IDU1MHB4KSB7XG4gICAgICAuZWFzeS10by13b3JrX19jb250ZW50X190ZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NTFweCkgYW5kIChtYXgtd2lkdGg6IDc4MHB4KSB7XG4gICAgICAuZWFzeS10by13b3JrX19jb250ZW50X190ZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5lYXN5LXRvLXdvcmtfX2Fycm93cyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogLTE7IH1cbiAgLmVhc3ktdG8td29ya19fYXJyb3dzLmlzLWRpc2FibGVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NTBweCkge1xuICAgIC5lYXN5LXRvLXdvcmtfX2Fycm93cyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmVhc3ktdG8td29ya19fYXJyb3dzLmpzLWVhc3lBbmltYXRpb24wIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAycztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvZWFzeS10by13b3JrL2Fycm93LWxlZnQucG5nXCIpIG5vLXJlcGVhdCAyMDB2dyBjZW50ZXIsIHVybChcIi4uL2ltYWdlcy9lYXN5LXRvLXdvcmsvYXJyb3ctcmlnaHQucG5nXCIpIG5vLXJlcGVhdCAtMjAwdncgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAgIC5lYXN5LXRvLXdvcmtfX2Fycm93cy5qcy1lYXN5QW5pbWF0aW9uMC5pcy1hY3RpdmUge1xuICAgICAgYW5pbWF0aW9uOiBlYXN5QXJyb3dzLTEgNnMgMTsgfVxuICAgIC5lYXN5LXRvLXdvcmtfX2Fycm93cy5qcy1lYXN5QW5pbWF0aW9uMC5pcy1mYWRlZCB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiA0cztcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDB2dyBjZW50ZXIsIDIwMHZ3IGNlbnRlcjsgfVxuICAuZWFzeS10by13b3JrX19hcnJvd3MuanMtZWFzeUFuaW1hdGlvbjEgLmNhbnZhcyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDMwMG1zOyB9XG4gICAgLmVhc3ktdG8td29ya19fYXJyb3dzLmpzLWVhc3lBbmltYXRpb24xIC5jYW52YXMuY2FudmFzLTEge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogNjAwbXM7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvZWFzeS10by13b3JrL2FuaW0vbWluaS1hcnJvdy1yaWdodC5wbmdcIikgbm8tcmVwZWF0IDEwdncgMjB2dzsgfVxuICAgIC5lYXN5LXRvLXdvcmtfX2Fycm93cy5qcy1lYXN5QW5pbWF0aW9uMSAuY2FudmFzLmNhbnZhcy0yIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDE4MDBtcztcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9lYXN5LXRvLXdvcmsvYW5pbS9taW5pLWFycm93LWxlZnQucG5nXCIpIG5vLXJlcGVhdCAyMHZ3IC0xNXZ3OyB9XG4gICAgLmVhc3ktdG8td29ya19fYXJyb3dzLmpzLWVhc3lBbmltYXRpb24xIC5jYW52YXMuY2FudmFzLTMge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMTIwMG1zO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2Vhc3ktdG8td29yay9hbmltL21pbmktYXJyb3ctcmlnaHQucG5nXCIpIG5vLXJlcGVhdCA2MHZ3IDV2dzsgfVxuICAgIC5lYXN5LXRvLXdvcmtfX2Fycm93cy5qcy1lYXN5QW5pbWF0aW9uMSAuY2FudmFzLmNhbnZhcy00IHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2Vhc3ktdG8td29yay9hbmltL21pbmktYXJyb3ctbGVmdC5wbmdcIikgbm8tcmVwZWF0IDcwdncgNDB2dzsgfVxuICAuZWFzeS10by13b3JrX19hcnJvd3MuanMtZWFzeUFuaW1hdGlvbjEuaXMtYWN0aXZlIC5jYW52YXMge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmVhc3ktdG8td29ya19fYXJyb3dzLmpzLWVhc3lBbmltYXRpb24yIC5jYW52YXMge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMzAwbXM7XG4gICAgb3BhY2l0eTogMDsgfVxuICAgIC5lYXN5LXRvLXdvcmtfX2Fycm93cy5qcy1lYXN5QW5pbWF0aW9uMiAuY2FudmFzLmNhbnZhcy10b3AtMSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcztcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9lYXN5LXRvLXdvcmsvYW5pbS9taW5pLWFycm93LXJpZ2h0LnBuZ1wiKSBuby1yZXBlYXQgMHZ3IDF2dzsgfVxuICAgIC5lYXN5LXRvLXdvcmtfX2Fycm93cy5qcy1lYXN5QW5pbWF0aW9uMiAuY2FudmFzLmNhbnZhcy10b3AtMiB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiA2MDBtcztcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9lYXN5LXRvLXdvcmsvYW5pbS9taW5pLWFycm93LXJpZ2h0LnBuZ1wiKSBuby1yZXBlYXQgMjV2dyAxdnc7IH1cbiAgICAuZWFzeS10by13b3JrX19hcnJvd3MuanMtZWFzeUFuaW1hdGlvbjIgLmNhbnZhcy5jYW52YXMtdG9wLTMge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogOTAwbXM7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvZWFzeS10by13b3JrL2FuaW0vbWluaS1hcnJvdy1yaWdodC5wbmdcIikgbm8tcmVwZWF0IDUwdncgMXZ3OyB9XG4gICAgLmVhc3ktdG8td29ya19fYXJyb3dzLmpzLWVhc3lBbmltYXRpb24yIC5jYW52YXMuY2FudmFzLXRvcC00IHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDEyMDBtcztcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9lYXN5LXRvLXdvcmsvYW5pbS9taW5pLWFycm93LXJpZ2h0LnBuZ1wiKSBuby1yZXBlYXQgNzV2dyAxdnc7IH1cbiAgICAuZWFzeS10by13b3JrX19hcnJvd3MuanMtZWFzeUFuaW1hdGlvbjIgLmNhbnZhcy5jYW52YXMtZG93bi0xIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDI0MDBtcztcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9lYXN5LXRvLXdvcmsvYW5pbS9taW5pLWFycm93LWxlZnQucG5nXCIpIG5vLXJlcGVhdCAwdncgMzB2dzsgfVxuICAgIC5lYXN5LXRvLXdvcmtfX2Fycm93cy5qcy1lYXN5QW5pbWF0aW9uMiAuY2FudmFzLmNhbnZhcy1kb3duLTIge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMjEwMG1zO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2Vhc3ktdG8td29yay9hbmltL21pbmktYXJyb3ctbGVmdC5wbmdcIikgbm8tcmVwZWF0IDI1dncgMzB2dzsgfVxuICAgIC5lYXN5LXRvLXdvcmtfX2Fycm93cy5qcy1lYXN5QW5pbWF0aW9uMiAuY2FudmFzLmNhbnZhcy1kb3duLTMge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMTgwMG1zO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2Vhc3ktdG8td29yay9hbmltL21pbmktYXJyb3ctbGVmdC5wbmdcIikgbm8tcmVwZWF0IDUwdncgMzB2dzsgfVxuICAgIC5lYXN5LXRvLXdvcmtfX2Fycm93cy5qcy1lYXN5QW5pbWF0aW9uMiAuY2FudmFzLmNhbnZhcy1kb3duLTQge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMTUwMG1zO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2Vhc3ktdG8td29yay9hbmltL21pbmktYXJyb3ctbGVmdC5wbmdcIikgbm8tcmVwZWF0IDc1dncgMzB2dzsgfVxuICAuZWFzeS10by13b3JrX19hcnJvd3MuanMtZWFzeUFuaW1hdGlvbjIuaXMtYWN0aXZlIC5jYW52YXMge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmVhc3ktdG8td29ya19fYXJyb3dzLmpzLWVhc3lBbmltYXRpb24zIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAycztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvZWFzeS10by13b3JrL2Fycm93LWxlZnQucG5nXCIpIG5vLXJlcGVhdCAyMDB2dyBjZW50ZXIsIHVybChcIi4uL2ltYWdlcy9lYXN5LXRvLXdvcmsvYXJyb3ctcmlnaHQucG5nXCIpIG5vLXJlcGVhdCAtMjAwdncgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAgIC5lYXN5LXRvLXdvcmtfX2Fycm93cy5qcy1lYXN5QW5pbWF0aW9uMy5pcy1hY3RpdmUge1xuICAgICAgYW5pbWF0aW9uOiBlYXN5QXJyb3dzLTEgNnMgMTsgfVxuICAgIC5lYXN5LXRvLXdvcmtfX2Fycm93cy5qcy1lYXN5QW5pbWF0aW9uMy5pcy1mYWRlZCB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiA0cztcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDB2dyBjZW50ZXIsIDIwMHZ3IGNlbnRlcjsgfVxuICAuZWFzeS10by13b3JrX19hcnJvd3MuanMtZWFzeUFuaW1hdGlvbjQge1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDZzO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9lYXN5LXRvLXdvcmsvYW5pbS9hcnJvdy1kb3duLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIC04MHZ3LCB1cmwoXCIuLi9pbWFnZXMvZWFzeS10by13b3JrL2FuaW0vYXJyb3ctZG93bi5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciAtMTEwdncsIHVybChcIi4uL2ltYWdlcy9lYXN5LXRvLXdvcmsvYW5pbS9hcnJvdy1kb3duLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIC0xNDB2dywgdXJsKFwiLi4vaW1hZ2VzL2Vhc3ktdG8td29yay9hbmltL2Fycm93LWRvd24ucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgLTE3MHZ3O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAgIC5lYXN5LXRvLXdvcmtfX2Fycm93cy5qcy1lYXN5QW5pbWF0aW9uNC5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDE3MHZ3LCBjZW50ZXIgMTQwdncsIGNlbnRlciAxMTB2dywgY2VudGVyIDgwdnc7IH1cbiAgLmVhc3ktdG8td29ya19fYXJyb3dzLmpzLWVhc3lBbmltYXRpb241IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAycztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvZWFzeS10by13b3JrL2Fycm93LWxlZnQucG5nXCIpIG5vLXJlcGVhdCAyMDB2dyBjZW50ZXIsIHVybChcIi4uL2ltYWdlcy9lYXN5LXRvLXdvcmsvYXJyb3ctcmlnaHQucG5nXCIpIG5vLXJlcGVhdCAtMjAwdncgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAgIC5lYXN5LXRvLXdvcmtfX2Fycm93cy5qcy1lYXN5QW5pbWF0aW9uNS5pcy1hY3RpdmUge1xuICAgICAgYW5pbWF0aW9uOiBlYXN5QXJyb3dzLTUgNnMgMTsgfVxuXG4uZWFzeS10by13b3JrIC50ZWFtX19zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDEwMHZoOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NTBweCkge1xuICAgIC5lYXN5LXRvLXdvcmsgLnRlYW1fX3NlY3Rpb24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH0gfVxuXG4uZWFzeS10by13b3JrIC5idG4tYmxvY2ssIC5lYXN5LXRvLXdvcmsgLmJ0bi1tZWRpYSB7XG4gIG9wYWNpdHk6IDA7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZWFzeS10by13b3JrIC5idG4tYmxvY2sgLmJ0biwgLmVhc3ktdG8td29yayAuYnRuLW1lZGlhIC5idG4ge1xuICAgIHBhZGRpbmc6IDE4cHggNDBweDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgYmFja2dyb3VuZDogI2RkZTY0NTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjJzOyB9XG4gICAgLmVhc3ktdG8td29yayAuYnRuLWJsb2NrIC5idG46aG92ZXIsIC5lYXN5LXRvLXdvcmsgLmJ0bi1ibG9jayAuYnRuOmFjdGl2ZSwgLmVhc3ktdG8td29yayAuYnRuLWJsb2NrIC5idG46Zm9jdXMsIC5lYXN5LXRvLXdvcmsgLmJ0bi1tZWRpYSAuYnRuOmhvdmVyLCAuZWFzeS10by13b3JrIC5idG4tbWVkaWEgLmJ0bjphY3RpdmUsIC5lYXN5LXRvLXdvcmsgLmJ0bi1tZWRpYSAuYnRuOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmVhc3ktdG8td29yayAuYnRuLWJsb2NrIC5idG4sIC5lYXN5LXRvLXdvcmsgLmJ0bi1tZWRpYSAuYnRuIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMThweCAwOyB9IH1cblxuQGtleWZyYW1lcyBlYXN5QXJyb3dzLTEge1xuICAwJSB7IH1cbiAgMzMlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIsIGNlbnRlcjsgfVxuICA2NiUgeyB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDB2dyBjZW50ZXIsIDIwMHZ3IGNlbnRlcjsgfSB9XG5cbkBrZXlmcmFtZXMgZWFzeUFycm93cy0yIHtcbiAgMCUgeyB9XG4gIDMzJSB7XG4gICAgLmNhbnZhcyB7XG4gICAgICBvcGFjaXR5OiAwLjMzOyB9IH1cbiAgNjYlIHsgfVxuICAxMDAlIHtcbiAgICAuY2FudmFzIHtcbiAgICAgIG9wYWNpdHk6IDE7IH0gfSB9XG5cbkBrZXlmcmFtZXMgZWFzeUFycm93cy0zIHtcbiAgMCUgeyB9XG4gIDMzJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyLCBjZW50ZXI7IH1cbiAgNjYlIHsgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAwdncgY2VudGVyLCAyMDB2dyBjZW50ZXI7IH0gfVxuXG5Aa2V5ZnJhbWVzIGVhc3lBcnJvd3MtNCB7XG4gIDEwMCUgeyB9IH1cblxuQGtleWZyYW1lcyBlYXN5QXJyb3dzLTUge1xuICAwJSB7IH1cbiAgMzMlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIsIGNlbnRlcjsgfVxuICA2NiUgeyB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDB2dyBjZW50ZXIsIDIwMHZ3IGNlbnRlcjsgfSB9XG4iLCIvKiBTbGlkZXIgKi9cclxuXHJcbi5zbGljay1zbGlkZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xyXG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuLnNsaWNrLWxpc3Qge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICYuZHJhZ2dpbmcge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBjdXJzb3I6IGhhbmQ7XHJcbiAgICB9XHJcbn1cclxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXHJcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxufVxyXG5cclxuLnNsaWNrLXRyYWNrIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogaW5oZXJpdDtcclxuXHJcbiAgICAmOmJlZm9yZSxcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG59XHJcbi5zbGljay1zbGlkZSB7XHJcbiAgICAvL2Zsb2F0OiBsZWZ0OyAvL9C/0L7Qt9C40YbQuNC+0L3QuNGA0L7QstCw0L3QuNC1INC/0L4g0L3QuNC30YMgWzFdXHJcbiAgICAvL2hlaWdodDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDFweDtcclxuICAgIFtkaXI9XCJydGxcIl0gJiB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAmLmRyYWdnaW5nIGltZyB7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xyXG4gICAgICAgIC8vZGlzcGxheTogYmxvY2s7IFsxXVxyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbn1cclxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFRoaXMgZmlsZSBjb250YWlucyB2ZXJ5IGJhc2ljIHN0eWxlcy5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8qKlxyXG4gKiBTZXQgdXAgYSBkZWNlbnQgYm94IG1vZGVsIG9uIHRoZSByb290IGVsZW1lbnRcclxuICovXHJcbmh0bWwge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNYWtlIGFsbCBlbGVtZW50cyBmcm9tIHRoZSBET00gaW5oZXJpdCBmcm9tIHRoZSBwYXJlbnQgYm94LXNpemluZ1xyXG4gKiBTaW5jZSBgKmAgaGFzIGEgc3BlY2lmaWNpdHkgb2YgMCwgaXQgZG9lcyBub3Qgb3ZlcnJpZGUgdGhlIGBodG1sYCB2YWx1ZVxyXG4gKiBtYWtpbmcgYWxsIGVsZW1lbnRzIGluaGVyaXRpbmcgZnJvbSB0aGUgcm9vdCBib3gtc2l6aW5nIHZhbHVlXHJcbiAqIFNlZTogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXHJcbiAqL1xyXG4qLCAqOjpiZWZvcmUsICo6OmFmdGVyIHtcclxuICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG59IFxyXG5cclxuLyoqXHJcbiAqIEJhc2ljIHN0eWxlcyBmb3IgbGlua3NcclxuICovXHJcbmEge1xyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuaHRtbCwgYm9keSB7XHJcbiAgbWluLWhlaWdodDogMTAwdmg7XHJcbn1cclxuYm9keSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgJi5uby1zY3JvbGwge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIEBmb250LWZhY2UgZGVjbGFyYXRpb25zLCBpZiBhbnkuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnQ29kZSBQcm8gTEMnO1xyXG4gIHNyYzogdXJsKCcuLi9mb250cy9jb2RlX3Byb19sYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gIHVybCgnLi4vZm9udHMvY29kZV9wcm9fbGMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn0iLCIvKipcclxuICogQmFzaWMgdHlwb2dyYXBoeSBzdHlsZSBmb3IgY29weSB0ZXh0XHJcbiAqL1xyXG5AaW1wb3J0ICcuLi9hYnN0cmFjdHMvbWl4aW5zJztcclxuXHJcbmJvZHkge1xyXG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcclxuICBmb250OiBub3JtYWwgMTI1JSAvIDEuNCAkdGV4dC1mb250LXN0YWNrO1xyXG59XHJcbnAge1xyXG4gIG1hcmdpbjogMDtcclxuICBmb250LXNpemU6IDAuN2VtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjc7XHJcbiAgJi5sYXJnZSB7XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICB9XHJcbn1cclxuaDEge1xyXG4gIGZvbnQtc2l6ZTogNGVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG1hcmdpbjogMi41ZW0gMCAxLjQ3ZW07XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgZm9udC1zaXplOiAyLjJlbTtcclxuICAgIG1hcmdpbjogMmVtIDAgMS41ZW07XHJcbiAgfVxyXG4gIEBtZWRpYSAobWF4LWhlaWdodDogMzIwcHgpIHtcclxuICAgIGZvbnQtc2l6ZTogMi4yZW07XHJcbiAgICBtYXJnaW46IDJlbSAwIDEuNWVtO1xyXG4gIH1cclxuICBAaW5jbHVkZSByZXNwb25kLXRvKGhhbmRoZWxkcykge1xyXG4gICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgIG1hcmdpbjogMy43NWVtIDAgMWVtO1xyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgZm9udC1zaXplOiAxLjJlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICAmLnN1Y2Nlc3Mge1xyXG4gICAgZm9udC1zaXplOiAyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiA4ZW07XHJcbiAgfVxyXG59XHJcbmgyIHtcclxuICBmb250LXNpemU6IDEuOGVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG1hcmdpbjogMi4yZW0gMDtcclxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gICAgbWFyZ2luOiAxZW0gMDtcclxuICB9XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSB7XHJcbiAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgbWFyZ2luOiAyZW0gMDtcclxuICB9XHJcbn1cclxuaDMge1xyXG4gIGZvbnQtc2l6ZTogMWVtO1xyXG4gIG1hcmdpbjogMWVtIDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBhcHBsaWNhdGlvbi13aWRlIFNhc3MgdmFyaWFibGVzLlxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBzY3JlZW4gc2l6ZSBicmVha3BvaW50c1xyXG4kc21hbGw6IDU1MHB4O1xyXG4kbGFyZ2U6IDc4MXB4O1xyXG5cclxuXHJcblxyXG4vLy8gUmVndWxhciBmb250IGZhbWlseVxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kdGV4dC1mb250LXN0YWNrOiAnQ29kZSBQcm8gTEMnLCAnSGVsdmV0aWNhIE5ldWUgTGlnaHQnLCAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2RlIChtb25vc3BhY2UpIGZvbnQgZmFtaWx5XHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRjb2RlLWZvbnQtc3RhY2s6ICdDb3VyaWVyIE5ldycsICdEZWphVnUgU2FucyBNb25vJywgJ0JpdHN0cmVhbSBWZXJhIFNhbnMgTW9ubycsICdNb25hY28nLCBtb25vc3BhY2UgIWRlZmF1bHQ7XHJcblxyXG5cclxuXHJcblxyXG5cclxuLy8vIENvcHkgdGV4dCBjb2xvclxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRleHQtY29sb3I6ICMwMDAwMDAgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTWFpbiBicmFuZCBjb2xvclxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJyYW5kLWNvbG9yOiAjZGRlNjQ1ICFkZWZhdWx0O1xyXG5cclxuLy8vIExpZ2h0IGdyZXlcclxuLy8vIEB0eXBlIENvbG9yXHJcbiRsaWdodC1ncmV5OiByZ2IoMjM3LCAyMzcsIDIzNykgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTWVkaXVtIGdyZXlcclxuLy8vIEB0eXBlIENvbG9yXHJcbiRtaWQtZ3JleTogcmdiKDE1MywgMTUzLCAxNTMpICFkZWZhdWx0O1xyXG5cclxuLy8vIERhcmsgZ3JleVxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGRhcmstZ3JleTogcmdiKDY4LCA2OCwgNjgpICFkZWZhdWx0O1xyXG5cclxuLy8vIFRveGljIGdyZWVuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kZ3JlZW46ICNkZGU2NDUgIWRlZmF1bHQ7XHJcblxyXG5cclxuXHJcblxyXG5cclxuLy8vIENvbnRhaW5lcidzIG1heGltdW0gd2lkdGhcclxuLy8vIEB0eXBlIExlbmd0aFxyXG4kbWF4LXdpZHRoOiAxMzIwcHggIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vIEZvcm1cclxuJGZvcm0tbGFiZWwtY29sb3I6ICM2NjY2NjY7XHJcbiRmb3JtLWlucHV0LWJvcmRlcjogIzAwMDAwMDtcclxuJGZvcm0tZXJyb3ItY29sb3I6ICNlMjUxMmQ7XHJcbiRmb3JtLWVycm9yLWJvcmRlcjogI2RkMmMwMDtcclxuXHJcblxyXG5cclxuXHJcblxyXG4vLy8gUmVsYXRpdmUgb3IgYWJzb2x1dGUgVVJMIHdoZXJlIGFsbCBhc3NldHMgYXJlIHNlcnZlZCBmcm9tXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaGVuIHVzaW5nIGEgQ0ROXHJcbi8vLyAgICRiYXNlLXVybDogJ2h0dHA6Ly9jZG4uZXhhbXBsZS5jb20vYXNzZXRzLyc7XHJcbiRiYXNlLXVybDogJy9hc3NldHMvJyAhZGVmYXVsdDtcclxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBhcHBsaWNhdGlvbi13aWRlIFNhc3MgbWl4aW5zLlxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8vIEV2ZW50IHdyYXBwZXJcclxuLy8vIEBhdXRob3IgSGFycnkgUm9iZXJ0c1xyXG4vLy8gQHBhcmFtIHtCb29sfSAkc2VsZiBbZmFsc2VdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBjdXJyZW50IHNlbGVjdG9yXHJcbi8vLyBAbGluayBodHRwczovL3R3aXR0ZXIuY29tL2Nzc3dpemFyZHJ5L3N0YXR1cy80Nzg5Mzg1MzAzNDIwMDY3ODQgT3JpZ2luYWwgdHdlZXQgZnJvbSBIYXJyeSBSb2JlcnRzXHJcbkBtaXhpbiBvbi1ldmVudCgkc2VsZjogZmFsc2UpIHtcclxuICBAaWYgJHNlbGYge1xyXG4gICAgJixcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmFjdGl2ZSxcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmFjdGl2ZSxcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBNYWtlIGEgY29udGV4dCBiYXNlZCBzZWxlY3RvciBhIGxpdHRsZSBtb3JlIGZyaWVuZGx5XHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY29udGV4dFxyXG5AbWl4aW4gd2hlbi1pbnNpZGUoJGNvbnRleHQpIHtcclxuICAjeyRjb250ZXh0fSAmIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGNsZWFyZml4IHtcclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIHJlc3BvbnNpdmUgbWl4aW4sIGNvcHktcGFzdGVkIGZyb20gaHR0cHM6Ly9oYWJyYWhhYnIucnUvcG9zdC8xNTY2NDUvXHJcbkBtaXhpbiByZXNwb25kLXRvKCRtZWRpYSkge1xyXG4gIEBpZiAkbWVkaWEgPT0gaGFuZGhlbGRzIHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc21hbGwpLCAobWF4LWhlaWdodDogNTUwcHgpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IG1lZGl1bS1zY3JlZW5zIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNtYWxsICsgMSkgYW5kIChtYXgtd2lkdGg6ICRsYXJnZSAtIDEpIHsgQGNvbnRlbnQ7IH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJG1lZGlhID09IHdpZGUtc2NyZWVucyB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZSkgeyBAY29udGVudDsgfVxyXG4gIH1cclxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFRoaXMgZmlsZSBjb250YWlucyBDU1MgaGVscGVyIGNsYXNzZXMuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vKipcclxuICogQ2xlYXIgaW5uZXIgZmxvYXRzXHJcbiAqL1xyXG4uY2xlYXJmaXg6OmFmdGVyIHtcclxuICBjbGVhcjogYm90aDtcclxuICBjb250ZW50OiAnJztcclxuICBkaXNwbGF5OiB0YWJsZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIE1haW4gY29udGVudCBjb250YWluZXJzXHJcbiAqIDEuIE1ha2UgdGhlIGNvbnRhaW5lciBmdWxsLXdpZHRoIHdpdGggYSBtYXhpbXVtIHdpZHRoXHJcbiAqIDIuIENlbnRlciBpdCBpbiB0aGUgdmlld3BvcnRcclxuICogMy4gTGVhdmUgc29tZSBzcGFjZSBvbiB0aGUgZWRnZXMsIGVzcGVjaWFsbHkgdmFsdWFibGUgb24gc21hbGwgc2NyZWVuc1xyXG4gKi9cclxuLmNvbnRhaW5lciB7XHJcbiAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoOyAvKiAxICovXHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IC8qIDIgKi9cclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87IC8qIDIgKi9cclxuICBwYWRkaW5nLWxlZnQ6IDQwcHg7IC8qIDMgKi9cclxuICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyAvKiAzICovXHJcbiAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgd2lkdGg6IDEwMCU7IC8qIDEgKi9cclxuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDsgLyogMyAqL1xyXG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgLyogMyAqL1xyXG4gIH1cclxuICAud3JhcHBlciB7XHJcbiAgICB3aWR0aDogNjclO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAvL0BtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xyXG4gICAgLy8gIGxlZnQ6IDgwJTtcclxuICAgIC8vfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcGFkZGluZzogMCA0MHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtaGVpZ2h0OiA1NDlweCkgYW5kIChtaW4td2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICB3aWR0aDogODAlO1xyXG4gICAgfVxyXG4gIH1cclxuICAmX19mbGV4IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDh2aCAwO1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xyXG4gICAgICAmLmZsZXgtYm90dG9tIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICB9XHJcbiAgICAgIEBtZWRpYSAobWF4LWhlaWdodDogNzAwcHgpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gfVxyXG4uZmxleC1lbmQge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NTlweCkgYW5kIChtaW4taGVpZ2h0OiA1NTBweCkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEhpZGUgdGV4dCB3aGlsZSBtYWtpbmcgaXQgcmVhZGFibGUgZm9yIHNjcmVlbiByZWFkZXJzXHJcbiAqIDEuIE5lZWRlZCBpbiBXZWJLaXQtYmFzZWQgYnJvd3NlcnMgYmVjYXVzZSBvZiBhbiBpbXBsZW1lbnRhdGlvbiBidWc7XHJcbiAqICAgIFNlZTogaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTQ1NzE0NlxyXG4gKi9cclxuLmhpZGUtdGV4dCB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwYWRkaW5nOiAwOyAvKiAxICovXHJcbiAgdGV4dC1pbmRlbnQ6IDEwMSU7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEhpZGUgZWxlbWVudCB3aGlsZSBtYWtpbmcgaXQgcmVhZGFibGUgZm9yIHNjcmVlbiByZWFkZXJzXHJcbiAqIFNoYW1lbGVzc2x5IGJvcnJvd2VkIGZyb20gSFRNTDVCb2lsZXJwbGF0ZTpcclxuICogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTE5LUwxMzNcclxuICovXHJcbi52aXN1YWxseS1oaWRkZW4geyBcclxuICBib3JkZXI6IDA7XHJcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcclxuICBoZWlnaHQ6IDFweDtcclxuICBtYXJnaW46IC0xcHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMXB4O1xyXG59XHJcbi5ibG9jay1zY3JvbGwge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGhlaWdodDogMjAwcHg7XHJcbiAgJi1jb250ZW50IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gIH1cclxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIGhlYWRlciBvZiB0aGUgc2l0ZS9hcHBsaWNhdGlvbi5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLm1haW4taGVhZGVyIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHBhZGRpbmc6IDQwcHg7XHJcbiAgei1pbmRleDogOTk7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyODBweCkgYW5kIChtYXgtaGVpZ2h0OiA1NTBweCkge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICB9XHJcbiAgPiAqIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gIH1cclxuICAmX19sb2dvIHtcclxuICAgIHdpZHRoOiAxNjVweDtcclxuICAgIGhlaWdodDogNTdweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogNDBweDtcclxuICAgIHRvcDogNDBweDtcclxuICAgIHRyYW5zaXRpb246IGZpbGwgZWFzZSAwLjJzO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIEBtZWRpYSAobWF4LWhlaWdodDogNTUwcHgpIHtcclxuICAgICAgbGVmdDogMjBweDtcclxuICAgICAgdG9wOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRsYXJnZSkgYW5kIChtYXgtaGVpZ2h0OiA1NTBweCkge1xyXG4gICAgICB3aWR0aDogMTIwcHg7XHJcbiAgICAgIGhlaWdodDogNDFweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xyXG4gICAgICB3aWR0aDogMTIwcHg7XHJcbiAgICAgIGhlaWdodDogNDFweDtcclxuICAgICAgbGVmdDogMjBweDtcclxuICAgICAgdG9wOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgc3ZnIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICAgICYtLWxpZ2h0IHtcclxuICAgICAgZmlsbDogI2ZmZjtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBmaWxsOiAjZGRlNjQ1O1xyXG4gICAgfVxyXG4gIH1cclxuICAmX19sb2dpbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogNDBweDtcclxuICAgIHRvcDogNDBweDtcclxuICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4ycztcclxuICAgICYtLWxpZ2h0IHtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbiAgJl9fYnVyZ2VyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDQwcHg7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIG1hcmdpbi10b3A6IC0yOHB4O1xyXG4gICAgd2lkdGg6IDU2cHg7XHJcbiAgICBoZWlnaHQ6IDU2cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgIHRvcDogNDBweDtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgbGVmdDogYXV0bztcclxuICAgICAgcmlnaHQ6IDQwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGxhcmdlKSBhbmQgKG1heC1oZWlnaHQ6IDU1MHB4KSB7XHJcbiAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICB0b3A6IDIwcHg7XHJcbiAgICAgIHdpZHRoOiA1MnB4O1xyXG4gICAgICBoZWlnaHQ6IDQxcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAgICAgd2lkdGg6IDUycHg7XHJcbiAgICAgIGhlaWdodDogNDFweDtcclxuICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgIHRvcDogMjBweDtcclxuICAgIH1cclxuICAgIHNwYW4ge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogM3B4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gICAgfVxyXG4gICAgJi0tbGlnaHQge1xyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzIGxpbmVhcjtcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZC1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdGF0aWMtYm94IHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbWFyZ2luLXRvcDogLTEzcHg7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjJzIDAuMDVzO1xyXG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWN0aXZlLWJveCB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuMnM7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgIH1cclxuICAgICAgLnN0YXRpYy1ib3gge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgfVxyXG4gICAgICAuYWN0aXZlLWJveCB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNXM7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJhY2tncm91bmQtaW1nIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBoZWlnaHQ6IDU4MHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oaGFuZGhlbGRzKSB7XHJcbiAgICBoZWlnaHQ6IDI4MHB4O1xyXG4gIH1cclxuICAuYmFjayB7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh3aWRlLXNjcmVlbnMpIHtcclxuICAgICAgbWluLXdpZHRoOiA5MDBweDsgIC8vIG90aGVyd2lzZSB3ZSB3aWxsIGdldCBjdXRvZmYgaW4gYm90dG9tIG9mIHBpY1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0tc2NyZWVucykge1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2NSUgYXV0bztcclxuICAgICAgLy8gbWluLXdpZHRoOiA3NTBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oaGFuZGhlbGRzKSB7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTY1JSBhdXRvO1xyXG4gICAgICAvLyBtaW4td2lkdGg6IDM1MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAubWFzayB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21hc2sucG5nKSByZXBlYXQteDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB9XHJcbn0iLCIucGF0dGVybiB7XHJcbiAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvcGF0dGVybi5wbmcnKSByZXBlYXQ7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHotaW5kZXg6IDY7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBzdHlsZXMgcmVsYXRlZCB0byB0aGUgYnV0dG9uIGNvbXBvbmVudC5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLmJ0biB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBwYWRkaW5nOiAxOHB4IDM2cHg7XHJcbiAgYmFja2dyb3VuZDogIzAwMDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuMnM7XHJcbiAgQGluY2x1ZGUgb24tZXZlbnQge1xyXG4gICAgYmFja2dyb3VuZDogJGdyZWVuO1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgfVxyXG59XHJcblxyXG4uZG93bi1hcnJvdyB7XHJcbiAgYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvdGVhbS9hcnJvdy5wbmcpIG5vLXJlcGVhdCBsZWZ0O1xyXG4gIHdpZHRoOiA3N3B4O1xyXG4gIGhlaWdodDogMzlweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcclxuICB9XHJcbn1cclxuXHJcbi51cC1hcnJvdyB7XHJcbiAgYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvdGVhbS9hcnJvd191cC5wbmcpIG5vLXJlcGVhdCByaWdodDtcclxuICB3aWR0aDogNzdweDtcclxuICBoZWlnaHQ6IDM5cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdDtcclxuICB9XHJcbn0iLCIubmF2aWdhdGlvbiB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwdmg7XHJcbiAgei1pbmRleDogOTA7XHJcbiAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvcGF0dGVybi5wbmcnKSByZXBlYXQgIzI0MjQyNDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgb3BhY2l0eTogMDtcclxuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjJzO1xyXG4gIFxyXG4gIC5iYWNrZ3JvdW5kX19jYW52YXMge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OjA7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1heC13aWR0aDogJHNtYWxsKSB7XHJcbiAgICAuYmFja2dyb3VuZF9fY2FudmFzIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX25hdiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHdpZHRoOiA2NyU7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTA4MHB4KSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX2l0ZW0ge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MDAlLCAwLCAwKTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZSAwLjJzLCB0cmFuc2Zvcm0gZWFzZSAwLjRzO1xyXG4gICAgJjpob3ZlciwgJi5pcy1hY3RpdmUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgJi0tbG9naW4ge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTA4MHB4KSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xyXG4gICAgICAmLS1sb2dpbiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICB9XHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtaGVpZ2h0OiA1NTBweCkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmlzLXZpc2libGUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAubmF2aWdhdGlvbl9faXRlbSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX2JhY2sge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIHdpZHRoOiAzMzBweDtcclxuICAgIGhlaWdodDogMjc1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9uYXZfYmFjay5wbmcnKSBuby1yZXBlYXQgMCAwO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZSAwLjZzO1xyXG4gICAgJi5pcy12aXNpYmxlIHtcclxuICAgICAgb3BhY2l0eTogMC4zO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIi5zbGlkZXItd3JhcCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIC5zbGlkZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgJi5zbGljay1pbml0aWFsaXplZCB7XHJcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zbGlkZXJfX2l0ZW0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAuY2FwdGlvbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjdlbTtcclxuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgICBib3R0b206IDE0NnB4O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNDAwcHgpIHtcclxuICAgICAgICB0b3A6IDYycHg7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0tc2NyZWVucykge1xyXG4gICAgICAgIGJvdHRvbTogMTQ2cHg7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhoYW5kaGVsZHMpIHtcclxuICAgICAgICBib3R0b206IDEzNXB4O1xyXG4gICAgICB9XHJcbiAgICAgIC50ZXh0IHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIG1hcmdpbjogMHB4IGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgaGVpZ2h0OiA0ODNweDtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGxpbmVhcjtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtLXNjcmVlbnMpIHtcclxuICAgICAgICAgIHdpZHRoOiA3MiU7XHJcbiAgICAgICAgICBoZWlnaHQ6IDY2MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGhhbmRoZWxkcykge1xyXG4gICAgICAgICAgd2lkdGg6IDc1JTtcclxuICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC43ZW07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNjUwcHgpIHtcclxuICAgICAgICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDUxMHB4KSB7XHJcbiAgICAgICAgICBoZWlnaHQ6IDIyMHB4O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA0MDBweCkge1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMjBweDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmJ0bi1ibG9jayB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBlYXNlLW91dDtcclxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bS1zY3JlZW5zKSB7XHJcbiAgICAgICAgICB3aWR0aDogNzIlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGhhbmRoZWxkcykge1xyXG4gICAgICAgICAgd2lkdGg6IDc1JTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmJ0biB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xyXG4gICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgIEBpbmNsdWRlIG9uLWV2ZW50IHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYXR0ZXJuIHtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIC44cyBlYXNlLWluO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG4gICAgLmJhY2sge1xyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuOHMgZWFzZS1pbjtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB6LWluZGV4OiAwO1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcblxyXG4gICAgICAmLmltYWdlMSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy9tYWluLzAucG5nXCIpO1xyXG4gICAgICB9XHJcbiAgICAgICYuaW1hZ2UyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL21haW4vMS5wbmdcIik7XHJcbiAgICAgIH1cclxuICAgICAgJi5pbWFnZTMge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvbWFpbi8yLnBuZ1wiKTtcclxuICAgICAgfVxyXG4gICAgICAmLmltYWdlNCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy9tYWluLzMucG5nXCIpO1xyXG4gICAgICB9XHJcbiAgICAgICYuaW1hZ2U1IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL21haW4vNC5wbmdcIik7XHJcbiAgICAgIH1cclxuICAgICAgJi5pbWFnZTYge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvbWFpbi81LnBuZ1wiKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zbGljay1hY3RpdmUge1xyXG4gICAgICAuYmFjayB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICB9XHJcbiAgICAgIC50ZXh0IHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICAgIC5idG4tYmxvY2sge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgICAgLnBhdHRlcm4ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kb3RzLXdyYXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiA4MHB4O1xyXG4gICAgei1pbmRleDogNztcclxuICAgIC8vQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0tc2NyZWVucykge1xyXG4gICAgLy8gIGJvdHRvbTogNDBweDtcclxuICAgIC8vfVxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhoYW5kaGVsZHMpIHtcclxuICAgICAgYm90dG9tOiA5MHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNDAwcHgpIHtcclxuICAgICAgYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAuZG90cyB7XHJcbiAgICB6LWluZGV4OiA5OTk7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtLXNjcmVlbnMpIHtcclxuICAgICAgd2lkdGg6IDcyJTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oaGFuZGhlbGRzKSB7XHJcbiAgICAgIHdpZHRoOiA3NSU7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgIHdpZHRoOiAxNC41JTtcclxuICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMi42JTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjJzO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICAgICYuYWN0aXZlLCAmLnNsaWNrLWFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xyXG4gICAgICB9XHJcbiAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLnNsaWRlci10aW1lbGluZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMnB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgLmxpbmUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgfVxyXG4gICYuaXMtYWN0aXZlIHtcclxuICAgIC5saW5lIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGxpbmVhciA1LjRzO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIi52ZXgge1xyXG4gIHBhZGRpbmc6IDMwcHg7XHJcbiAgJi1vdmVybGF5IHtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gIH1cclxuICAmLWNvbnRlbnQge1xyXG4gICAgbWF4LXdpZHRoOiAxMTAwcHg7XHJcbiAgICBwYWRkaW5nOiAzMHB4IDExMHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcclxuICAgICAgcGFkZGluZzogMzBweCA3MHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSB7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYtY2xvc2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbGluZS1oZWlnaHQ6IDAuNTtcclxuICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgb3BhY2l0eTogMC4yO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4ycztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIi5pbmZvLWl0ZW0ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAxO1xyXG4gID4gKiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiA5O1xyXG4gIH1cclxuICBoMiwgJl9fdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMzRlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gIH1cclxuICBAbWVkaWEgKG1heC1oZWlnaHQ6IDc4MHB4KSB7XHJcbiAgICAmX19zY3JvbGwge1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBoZWlnaHQ6IDE1MHB4O1xyXG4gICAgICAudGV4dCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoIzAwMCwgI2ZmZik7XHJcbiAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XHJcbiAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBtZWRpYSAobWluLWhlaWdodDogNzgwcHgpIHtcclxuICAgICZfX3Njcm9sbF9fY29udGVudCB7XHJcbiAgICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICAmX190ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjcyZW07XHJcbiAgICAmLS1tb3JlIHtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMS43MmVtO1xyXG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCBsaW5lYXIgMC40cztcclxuICAgICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5uYW1lLCAucG9zaXRpb24ge1xyXG4gICAgICBjb2xvcjogIzY2NjY2NjtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcbiAgICAubmFtZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH1cclxuICB9XHJcbiAgJl9faWNvbiB7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlIDAuNHM7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogJ2knO1xyXG4gICAgfVxyXG4gIH1cclxuICAmX19pbWFnZSB7XHJcbiAgICB3aWR0aDogMTA1cHg7XHJcbiAgICBoZWlnaHQ6IDEwNXB4O1xyXG4gICAgYm9yZGVyOiA1cHggc29saWQgI2U2ZTZlNjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYtY29udGVudCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgICAgcGFkZGluZzogNDBweDtcclxuICAgICAgbGVmdDogLTQwcHg7XHJcbiAgICAgIHRvcDogLTQwcHg7XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMzBweCA1MHB4IHJnYmEoIzAwMCwgMC4yKTtcclxuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjRzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgei1pbmRleDogNTtcclxuICAgIGhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG5cclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG5cclxuICAgIC5pbmZvLWl0ZW1fX2ljb24ge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICBjb2xvcjogI2RkZTY0NTtcclxuICAgIH1cclxuICAgIC5pbmZvLWl0ZW1fX2ltYWdlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAjZGRlNjQ1O1xyXG4gICAgfVxyXG4gICAgLmluZm8taXRlbV9fdGV4dC0tbW9yZSB7XHJcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIH1cclxuICAgIC5pbmZvLWl0ZW0tY29udGVudCB7XHJcbiAgICAgICYgPiAqIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogOTtcclxuICAgICAgfVxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLm0taG92ZXI6aG92ZXIge1xyXG4gICAgei1pbmRleDogOTtcclxuICAgIC5pbmZvLWl0ZW1fX2ljb24ge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICBjb2xvcjogI2RkZTY0NTtcclxuICAgIH1cclxuICAgIC5pbmZvLWl0ZW1fX2ltYWdlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAjZGRlNjQ1O1xyXG4gICAgfVxyXG4gICAgLmluZm8taXRlbV9fdGV4dC0tbW9yZSB7XHJcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIH1cclxuICAgIC5pbmZvLWl0ZW0tY29udGVudCB7XHJcbiAgICAgICYgPiAqIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogOTtcclxuICAgICAgfVxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNtYWxsKSB7XHJcbiAgICAgIC5pbmZvLWl0ZW1fX3Njcm9sbCB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAxcyBlYXNlLW91dCAwLjVzO1xyXG4gICAgICB9XHJcbiAgICAgIC5pbmZvLWl0ZW1fX3RleHQtLW1vcmUge1xyXG4gICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvLy8vLyBzY3JvbGxpbmcgaW4gYmxvY2tzXHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc21hbGwpIHtcclxuICAgIC5zY3JvbGwtYmxvY2sge1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQG1lZGlhIChtaW4taGVpZ2h0OiA3MTBweCkge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgdG9wOiAzNjBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgLnNjcm9sbC1ibG9jayB7XHJcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLmZvcm0ge1xyXG4gIG1hcmdpbi1ib3R0b206IDcwcHg7XHJcbiAgLmlucHV0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW46IDEwcHggMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICB9XHJcbiAgLmlucHV0X19maWVsZCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBmb250OiBub3JtYWwgMTI1JS8xLjQgXCJDb2RlIFBybyBMQ1wiLCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gIH1cclxuICAudGV4dGFyZWFfX2ZpZWxkIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICB9XHJcbiAgLmlucHV0X19maWVsZDpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gIH1cclxuICAuaW5wdXRfX2xhYmVsIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBjb2xvcjogIzY2NjY2NjtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB9XHJcbiAgLmlucHV0X19sYWJlbC1jb250ZW50IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3M7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcclxuICB9XHJcbiAgLmlucHV0X19sYWJlbDo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMnB4O1xyXG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcztcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gIH1cclxuICAudGV4dGFyZWEgLmlucHV0X19sYWJlbDo6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgLmlucHV0X19maWVsZDpmb2N1cyArIC5pbnB1dF9fbGFiZWwgLmlucHV0X19sYWJlbC1jb250ZW50LFxyXG4gIC50ZXh0YXJlYV9fZmllbGQ6Zm9jdXMgKyAuaW5wdXRfX2xhYmVsIC5pbnB1dF9fbGFiZWwtY29udGVudCB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xyXG4gIH1cclxuICB0ZXh0YXJlYSB7XHJcbiAgICBmb250OiBub3JtYWwgMTI1JS8xLjQgXCJDb2RlIFBybyBMQ1wiLCBcIkhlbHZldGljYSBOZXVlIExpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xyXG4gICAgbGluZS1oZWlnaHQ6IDM4cHg7XHJcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgcmVzaXplOiBub25lO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogMTU1cHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQgOTUlLCAjMDAwIDUwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMzhweDtcclxuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgfVxyXG4gIC5yb3cge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbiAgLnR3by1jb2xzIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAuY29sLWxlZnQge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgd2lkdGg6IDQ1JTtcclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb2wtcmlnaHQge1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgIHdpZHRoOiA0NSU7XHJcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICogMi4gSW5wdXQgZmlsZSBmYWtlXHJcbiAgKi9cclxuICAuZmlsZV91cGxvYWQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdpZHRoOiAxMGVtO1xyXG4gICAgaGVpZ2h0OiAyLjFlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAyLjFlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG1hcmdpbjogNXB4IDA7XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ZpbGUucG5nXCIpIG5vLXJlcGVhdCA1MCUgNTAlO1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgd2lkdGg6IDIuMmVtO1xyXG4gICAgICBoZWlnaHQ6IDIuMGVtO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBkaXYge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuNWVtO1xyXG4gICAgfVxyXG4gICAgaW5wdXRbdHlwZT1maWxlXSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgd2lkdGg6IDUwMHB4O1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICB9XHJcbiAgLyogVmFsaWRhdGUgKi9cclxuICBsYWJlbC5lcnJvciB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBjb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XHJcbiAgICBib3R0b206IC0xMHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIH1cclxuICBpbnB1dC5lcnJvciArIC5pbnB1dF9fbGFiZWwsXHJcbiAgdGV4dGFyZWEuZXJyb3IgKyAuaW5wdXRfX2xhYmVsIHtcclxuICAgIGNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcclxuICB9XHJcbiAgaW5wdXQuZXJyb3IgKyAuaW5wdXRfX2xhYmVsOjphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1lcnJvci1ib3JkZXI7XHJcbiAgfVxyXG4gIHRleHRhcmVhLmVycm9yIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCA5NSUsICRmb3JtLWVycm9yLWNvbG9yIDUwJSk7XHJcbiAgfVxyXG59IiwiQGtleWZyYW1lcyBpY29uLWFuaW1hdGlvbiB7XHJcbiAgMCUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC41KTtcclxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIC41KTtcclxuICB9XHJcbiAgNDklIHtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNSk7XHJcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuNSk7XHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRicmFuZC1jb2xvcjtcclxuICAgIGNvbG9yOiAkYnJhbmQtY29sb3I7XHJcbiAgfVxyXG4gIDYwJSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRicmFuZC1jb2xvcjtcclxuICAgIGNvbG9yOiAkYnJhbmQtY29sb3I7XHJcbiAgfVxyXG4gIDYxJSB7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgLjUpO1xyXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjUpO1xyXG4gIH1cclxuICA3NCUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC41KTtcclxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIC41KTtcclxuICB9XHJcbiAgNzUlIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJyYW5kLWNvbG9yO1xyXG4gICAgY29sb3I6ICRicmFuZC1jb2xvcjtcclxuICB9XHJcbiAgODUlIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJyYW5kLWNvbG9yO1xyXG4gICAgY29sb3I6ICRicmFuZC1jb2xvcjtcclxuICB9XHJcbiAgODYlIHtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNSk7XHJcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuNSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC41KTtcclxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIC41KTtcclxuICB9XHJcbn1cclxuXHJcbi5uYXYtaXRlbSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgcGFkZGluZy1ib3R0b206IDE3cHg7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgJjpsYXN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB9XHJcbiAgJi52aXNpdGVkIHtcclxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIC41KTtcclxuICAgIC5uYXYtaXRlbV9fdGV4dCB7XHJcbiAgICAgIGNvbG9yOiBibGFjaztcclxuICAgIH1cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICB9XHJcbiAgaDIsICZfX3RpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjM0ZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICB9XHJcbiAgJl9fdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS43MmVtO1xyXG4gICAgY29sb3I6ICM2NjY2NjY7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjJzO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyM3B4O1xyXG4gICAgJi0tbW9yZSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIG1hcmdpbjogMWVtIDA7XHJcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oaGFuZGhlbGRzKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjNweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5hbWUsIC5wb3NpdGlvbiB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfVxyXG4gICAgLm5hbWUge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX2ljb24ge1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlIDAuNHM7XHJcbiAgICBtYXJnaW4tbGVmdDogLTE0cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNSk7XHJcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuNSk7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICB9XHJcbiAgJi5uZXh0IHtcclxuICAgIC5uYXYtaXRlbV9faWNvbiB7XHJcbiAgICAgIGFuaW1hdGlvbjogaWNvbi1hbmltYXRpb24gNnMgc3RlcHMoMiwgc3RhcnQpIGluZmluaXRlO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAubmF2LWl0ZW1fX3RleHQge1xyXG4gICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gICAgLm5hdi1pdGVtX19pY29uIHtcclxuICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgICBib3JkZXItY29sb3I6IGJsYWNrO1xyXG4gICAgfVxyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgIC5uYXYtaXRlbV9fdGV4dCB7XHJcbiAgICAgIGNvbG9yOiBibGFjaztcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oaGFuZGhlbGRzKSB7XHJcbiAgICAgIC5uYXYtaXRlbV9fdGV4dCB7XHJcbiAgICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICB9XHJcbiAgICAgIC5uYXYtaXRlbV9faWNvbiB7XHJcbiAgICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogYmxhY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCJib2R5IHtcclxuICBoMSB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuICB9XHJcbiAgLmJhY2tncm91bmQtaW1nIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xyXG4gIH1cclxuXHJcbiAgJiNqcy1jb250ZW50IHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG5cclxuICAmOm5vdCguZnAtcmVzcG9uc2l2ZSkge1xyXG4gICAgJi5mcC12aWV3aW5nLTEsXHJcbiAgICAmLmZwLXZpZXdpbmctMiwgJi5mcC12aWV3aW5nLXNlY3Rpb24yLFxyXG4gICAgJi5mcC12aWV3aW5nLTMsICYuZnAtdmlld2luZy1zZWN0aW9uMyxcclxuICAgICYuZnAtdmlld2luZy00LCAmLmZwLXZpZXdpbmctc2VjdGlvbjQsXHJcbiAgICAmLmZwLXZpZXdpbmctNSwgJi5mcC12aWV3aW5nLXNlY3Rpb241LFxyXG4gICAgJi5mcC12aWV3aW5nLXNlY3Rpb242IHtcclxuICAgICAgLmJhY2tncm91bmQtaW1nIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC03MDBweCwgMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG4gICAgICBoMSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNzAwcHgsIDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mdWxscGFnZS13cmFwcGVyIHtcclxuICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgIHotaW5kZXg6IDUwO1xyXG5cclxuICAgIC5wYWdlIHtcclxuICAgICAgLy9oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCAnLi4vYWJzdHJhY3RzL192YXJpYWJsZXMnO1xyXG5cclxuQGtleWZyYW1lcyBzY3JvbGwtaW5kaWNhdG9yLWJvdW5jZS1kb3duIHtcclxuICAwJSAgIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDY4cHgpfVxyXG4gIDEzJSAge3RyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgNzNweCl9XHJcbiAgMzMlICB7dHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCA2OHB4KX1cclxuICA0NiUgIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDczcHgpfVxyXG4gIDY2JSAge3RyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgNjhweCl9XHJcbiAgNzklICB7dHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCA3M3B4KX1cclxuICAxMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDY4cHgpfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNjcm9sbC1pbmRpY2F0b3ItYm91bmNlLXVwIHtcclxuICAwJSAgIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDZweCl9XHJcbiAgMTMlICB7dHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAxcHgpfVxyXG4gIDMzJSAge3RyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgNnB4KX1cclxuICA0NiUgIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDFweCl9XHJcbiAgNjYlICB7dHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCA2cHgpfVxyXG4gIDc5JSAge3RyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMXB4KX1cclxuICAxMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDZweCl9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2Nyb2xsLWluZGljYXRvci1taWQtYm91bmNlLWRvd24ge1xyXG4gIDAlICAge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9XHJcbiAgOCUgICB7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7fVxyXG4gIDE2JSAge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9XHJcbiAgMjQlICB7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO31cclxuICAzMyUgIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7fVxyXG4gIDQxJSAge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO31cclxuICA0OSUgIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7fVxyXG4gIDU4JSAge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTt9XHJcbiAgNjYlICB7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO31cclxuICA3NCUgIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTt9XHJcbiAgODIlICB7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO31cclxuICA5MCUgIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7fVxyXG4gIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9XHJcbn1cclxuXHJcbi5mcC1yZXNwb25zaXZlIC5zY3JvbGwtaW5kaWNhdG9yLFxyXG4ubWVudS12aXNpYmxlIC5zY3JvbGwtaW5kaWNhdG9yIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uc2Nyb2xsLWluZGljYXRvciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGJvdHRvbTogNDBweDtcclxuICByaWdodDogNDBweDtcclxuICB6LWluZGV4OiAxMDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAjUmVjdGFuZ2xlLTEge1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4yNXMgbGluZWFyO1xyXG4gIH1cclxuXHJcbiAgI1VwIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG4gICNCb3R0b20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gICYuYm90dG9tIHtcclxuICAgICNCb3R0b20ge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG5cclxuICAgICYuYW5pbWF0ZWQge1xyXG4gICAgICAjQm90dG9tIHtcclxuICAgICAgICBhbmltYXRpb246IHNjcm9sbC1pbmRpY2F0b3ItYm91bmNlLWRvd24gM3MgbGluZWFyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAjU2Nyb2xsZXIge1xyXG4gICAgICAgIGFuaW1hdGlvbjogc2Nyb2xsLWluZGljYXRvci1taWQtYm91bmNlLWRvd24gM3MgbGluZWFyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgJi51cDpub3QoLmJvdHRvbSkge1xyXG4gICAgI1VwIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICAmLmFuaW1hdGVkIHtcclxuICAgICAgI1VwIHtcclxuICAgICAgICBhbmltYXRpb246IHNjcm9sbC1pbmRpY2F0b3ItYm91bmNlLXVwIDNzIGxpbmVhcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgI1Njcm9sbGVyIHtcclxuICAgICAgICBhbmltYXRpb246IHNjcm9sbC1pbmRpY2F0b3ItbWlkLWJvdW5jZS1kb3duIDNzIGxpbmVhcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICAjUmVjdGFuZ2xlLTEge1xyXG4gICAgICBmaWxsOiAkYnJhbmQtY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLm1haW4ge1xyXG4gIC5jb250YWluZXIge1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcbn0iLCIud2VjYW4ge1xyXG4gIC5iYWNrZ3JvdW5kLWltZyB7XHJcbiAgICAuYmFjayB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy93ZWNhbi9iYWNrLmpwZ1wiKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLTEge1xyXG4gICAgLml0ZW1zLXdyYXAge1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMjcwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaXRlbXMtd3JhcCB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuICAgIG1heC1oZWlnaHQ6IDgyNXB4O1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc21hbGwpIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuXHJcbiAgICAuaW5mby1pdGVtIHtcclxuICAgICAgLmluZm8taXRlbV9fdGV4dC0tbW9yZSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2Nyb2xsLWJsb2NrIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDtcclxuICAgICAgICBAbWVkaWEgKG1pbi1oZWlnaHQ6IDcxMHB4KSB7XHJcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAzNjBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc21hbGwpIHtcclxuICAgICAgICB3aWR0aDogKDEwMCUgLyAzKTtcclxuXHJcbiAgICAgICAgJl9fdGV4dCB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzbWFsbCkge1xyXG4gICAgICAgIGhlaWdodDogMjY1cHg7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY29udGFpbmVyIHtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICAud3JhcHBlciB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgei1pbmRleDogNTU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLnBvcnRmb2xpbyB7XHJcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3BvcnRmb2xpby9iYWNrLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIDA7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gIH1cclxuICAud3JhcHBlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogNjYwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9XHJcbiAgJi13cmFwIHtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICAgID4gKiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIH1cclxuICB9XHJcbiAgJl9faXRlbSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgIHdpZHRoOiA0Ny41JTtcclxuICAgICAgbWFyZ2luOiAwIDUlIDUwcHggMDtcclxuICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAmOm50aC1jaGlsZCgybikge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgPiBhIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAmX19jYXB0aW9uIHtcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcclxuICAgIH1cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGNlbnRlciBuby1yZXBlYXQgcmdiYShibGFjaywgMC42KSB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4O2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpYVhOdkxUZzROVGt0TVNJL1BnbzhJUzB0SUVkbGJtVnlZWFJ2Y2pvZ1FXUnZZbVVnU1d4c2RYTjBjbUYwYjNJZ01Ua3VNQzR3TENCVFZrY2dSWGh3YjNKMElGQnNkV2N0U1c0Z0xpQlRWa2NnVm1WeWMybHZiam9nTmk0d01DQkNkV2xzWkNBd0tTQWdMUzArQ2p4emRtY2dlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklpQjRiV3h1Y3pwNGJHbHVhejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRiR2x1YXlJZ2RtVnljMmx2YmowaU1TNHhJaUJwWkQwaVRHRjVaWEpmTVNJZ2VEMGlNSEI0SWlCNVBTSXdjSGdpSUhacFpYZENiM2c5SWpBZ01DQTBOVFVnTkRVMUlpQnpkSGxzWlQwaVpXNWhZbXhsTFdKaFkydG5jbTkxYm1RNmJtVjNJREFnTUNBME5UVWdORFUxT3lJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSWdkMmxrZEdnOUlqWTBjSGdpSUdobGFXZG9kRDBpTmpSd2VDSStDanh3YjJ4NVoyOXVJSEJ2YVc1MGN6MGlORFUxTERJeE1pNDFJREkwTWk0MUxESXhNaTQxSURJME1pNDFMREFnTWpFeUxqVXNNQ0F5TVRJdU5Td3lNVEl1TlNBd0xESXhNaTQxSURBc01qUXlMalVnTWpFeUxqVXNNalF5TGpVZ01qRXlMalVzTkRVMUlESTBNaTQxTERRMU5TQXlOREl1TlN3eU5ESXVOU0FnSURRMU5Td3lOREl1TlNBaUlHWnBiR3c5SWlOa1pHVTJORFVpTHo0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BHYytDand2Wno0S1BDOXpkbWMrQ2c9PScpO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAucG9ydGZvbGlvX19pdGVtX19pbWFnZTphZnRlciB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICAgIC5wb3J0Zm9saW9fX2l0ZW1fX2NhcHRpb24ge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmX19kZXRhaWxzIHtcclxuICAgIGgyIHtcclxuICAgICAgbWF4LXdpZHRoOiA2NjBweDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbjogMS42ZW0gYXV0bztcclxuICAgIH1cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fdGV4dCB7XHJcbiAgICAgIG1heC13aWR0aDogNjYwcHg7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAyZW0gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fcmVmZXJlbmNlIHtcclxuICAgICAgbWF4LXdpZHRoOiA2NjBweDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgICAgJl9faW1hZ2Uge1xyXG4gICAgICAgIG1heC13aWR0aDogNDA5cHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmX19wZXJzb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbmZvLWl0ZW0ge1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAwIDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn0iLCIudGVhbSB7XHJcbiAgLmJhY2tncm91bmQtaW1nIHtcclxuICAgIC5iYWNrIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3RlYW0vYmFjay5qcGdcIik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoMSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc3ZW07XHJcbiAgfVxyXG4gIGgyIHtcclxuICAgIG1hcmdpbjogMCAwIDIuMmVtO1xyXG4gIH1cclxuXHJcbiAgLm91ci1hY2hpZXZlbWVudHMge1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxMDA7XHJcblxyXG4gICAgLmluZm8taXRlbSB7XHJcbiAgICAgIHdpZHRoOiAoMTAwJS80KTtcclxuXHJcbiAgICAgIC5pbmZvLWl0ZW1fX3RleHQsXHJcbiAgICAgIC5pbmZvLWl0ZW1fX3RleHQtLW1vcmUge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0tc2NyZWVucykge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgbWluLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKGhhbmRoZWxkcykge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGgyIHtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOm5vdCguZnAtcmVzcG9uc2l2ZSkge1xyXG4gICAgLnRlYW1fc2VjdGlvbiB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTAwcHgsIDApO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAxcztcclxuICAgICAgaGVpZ2h0OiA1OSU7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAubGVhZGVyLWltYWdlIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgbGluZWFyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2Vjb25kLCAudGhpcmQsIC5mb3VyLCAuZml2ZSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIC5hYm91dCB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIGxpbmVhcjtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUwMHB4LCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB9XHJcbiAgICAgIC50ZWFtX19mYWNlcyB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIGxpbmVhcjtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUwMHB4LCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxlYWRlci1jZWxsIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIC5maXZlIC5pbmZvLWl0ZW0ge1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgbGluZWFyO1xyXG4gICAgICBoZWlnaHQ6IDI4NXB4O1xyXG5cclxuICAgICAgQG1lZGlhIChtaW4taGVpZ2h0OiA4MDBweCkge1xyXG4gICAgICAgIGhlaWdodDogMzMwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuZnAtcmVzcG9uc2l2ZSB7XHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7IC8vIHRlYW0gbWVtYmVycyBvdmVyZmxvd2luZ1xyXG4gICAgfVxyXG5cclxuICAgIC5mcC10YWJsZUNlbGwge1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgfVxyXG5cclxuICAgIC5ib3R0b20tbGluZSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogLTIwMHB4O1xyXG4gICAgICByaWdodDogLTIwMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZTllOWU5O1xyXG4gICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LWhlaWdodDogNTUwcHgpIGFuZCAobWluLXdpZHRoOiA1NTBweCkge1xyXG4gICAgICAubGVhZGVyLWNlbGwge1xyXG4gICAgICAgIGhlaWdodDogNzAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdG9wOiAzMCUgIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgLmxlYWRlci1pbWFnZSB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU1MHB4KSB7XHJcbiAgICAvL0BpbmNsdWRlIHJlc3BvbmQtdG8oaGFuZGhlbGRzKSB7XHJcbiAgICAgIC50ZWFtX3NlY3Rpb24ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xMDBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMTAwcHg7XHJcbiAgICAgIH1cclxuICAgICAgLnRlYW1fX2ZyZWVTZWN0aW9uIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMDBweDtcclxuICAgICAgICAubGVhZGVyLWNlbGwge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgLmxlYWRlci1pbWFnZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWJvdXQge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAudGVhbV9fZmFjZXMge1xyXG4gICAgICAgIC5pbmZvLWl0ZW0ge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBoZWlnaHQ6IDI0MHB4O1xyXG4gICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhoYW5kaGVsZHMpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyODBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vQG1lZGlhIChtYXgtd2lkdGg6IDMwMHB4KSB7XHJcbiAgICAvLyAgLnRoaXJkIHtcclxuICAgIC8vICAgIHBhZGRpbmctYm90dG9tOiAyMDBweDtcclxuICAgIC8vICB9XHJcbiAgICAvL31cclxuICB9XHJcblxyXG4gICYuZnAtdmlld2luZy0xOm5vdCguZnAtcmVzcG9uc2l2ZSksXHJcbiAgJi5mcC12aWV3aW5nLXNlY3Rpb24yOm5vdCguZnAtcmVzcG9uc2l2ZSkge1xyXG4gICAgLnNlY29uZCB7XHJcbiAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgI2xlYWRlciB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAub3VyLWFjaGlldmVtZW50cyB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwMHB4LCAwKTtcclxuICAgICAgaDIge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC50ZWFtX3NlY3Rpb24ge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5mcC12aWV3aW5nLTI6bm90KC5mcC1yZXNwb25zaXZlKSxcclxuICAmLmZwLXZpZXdpbmctc2VjdGlvbjM6bm90KC5mcC1yZXNwb25zaXZlKVxyXG4gIHtcclxuICAgIC5vdXItYWNoaWV2ZW1lbnRzIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNjAwcHgsIDApO1xyXG4gICAgfVxyXG4gICAgLnRlYW1fc2VjdGlvbiB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgIC50ZWFtLW1lbWJlcjpub3QoLmxlYWRlci1pbWFnZSkge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTAwcHgsIDApICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMXM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5sZWFkZXItaW1hZ2Uge1xyXG4gICAgICB3aWR0aDogNDEwcHg7XHJcbiAgICAgIGhlaWdodDogMTM2JTtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNzBweCwgMCwgMCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC50aGlyZCB7XHJcbiAgICAgIC5hYm91dCB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmZwLXZpZXdpbmctMjpub3QoLmZwLXJlc3BvbnNpdmUpLFxyXG4gICYuZnAtdmlld2luZy1zZWN0aW9uNDpub3QoLmZwLXJlc3BvbnNpdmUpXHJcbiAge1xyXG4gICAgLm91ci1hY2hpZXZlbWVudHMge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC02MDBweCwgMCk7XHJcbiAgICB9XHJcbiAgICAudGVhbV9zZWN0aW9uIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgLnRlYW0tbWVtYmVyOm5vdCgubGVhZGVyLWltYWdlKSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1MDBweCwgMCkgIWltcG9ydGFudDtcclxuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxcztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxlYWRlci1pbWFnZSB7XHJcbiAgICAgIHdpZHRoOiA0MTBweDtcclxuICAgICAgaGVpZ2h0OiAxMzYlO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNzVweCwgMCwgMCkgIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy90ZWFtL2NsZW0ucG5nXCIpO1xyXG4gICAgfVxyXG4gICAgLmZvdXIge1xyXG4gICAgICAuYWJvdXQge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTM3NXB4LCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmZwLXZpZXdpbmctMzpub3QoLmZwLXJlc3BvbnNpdmUpLFxyXG4gICYuZnAtdmlld2luZy00Om5vdCguZnAtcmVzcG9uc2l2ZSksXHJcbiAgJi5mcC12aWV3aW5nLXNlY3Rpb241Om5vdCguZnAtcmVzcG9uc2l2ZSksXHJcbiAgJi5mcC12aWV3aW5nLTU6bm90KC5mcC1yZXNwb25zaXZlKSxcclxuICAmLmZwLXZpZXdpbmctc2VjdGlvbjY6bm90KC5mcC1yZXNwb25zaXZlKSB7XHJcbiAgICAub3VyLWFjaGlldmVtZW50cyB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTYwMHB4LCAwKTtcclxuICAgIH1cclxuICAgIC50ZWFtX3NlY3Rpb24ge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAudGVhbS1tZW1iZXI6bm90KC5sZWFkZXItaW1hZ2UpIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDU1MHB4LCAwKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDFzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAubGVhZGVyLWltYWdlIHtcclxuICAgICAgd2lkdGg6IDQxMHB4O1xyXG4gICAgICBoZWlnaHQ6IDY2NXB4O1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MDBweCwgMCwgMCkgIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgLmFib3V0IHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNzAwcHgsIDApO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgLnRlYW1fX2ZhY2VzIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgaGVpZ2h0OiAxMDAwcHg7XHJcbiAgICB9XHJcbiAgICAuZml2ZSB7XHJcbiAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgIH1cclxuICAgIC5zaXgge1xyXG4gICAgICB6LWluZGV4OiA1MDtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1MDBweCwgMCk7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmZwLXZpZXdpbmctNTpub3QoLmZwLXJlc3BvbnNpdmUpLFxyXG4gICYuZnAtdmlld2luZy1zZWN0aW9uNjpub3QoLmZwLXJlc3BvbnNpdmUpIHtcclxuICAgIC50ZWFtX19mYWNlcyAuaW5mby1pdGVtIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzMwcHgsIDApO1xyXG5cclxuICAgICAgJjpudGgtY2hpbGQoMSksXHJcbiAgICAgICY6bnRoLWNoaWxkKDIpLFxyXG4gICAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRlYW1fc2VjdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNTAwcHg7XHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1lZGl1bS1zY3JlZW5zKSB7XHJcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgLmNlbnRlci1weCB7XHJcbiAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICBib3R0b206IDQzcHg7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhoYW5kaGVsZHMpIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLy5pbmZvLWl0ZW0ge1xyXG4gICAgLy8gIC5pbmZvLWl0ZW1fX3RleHQge1xyXG4gICAgLy8gICAgLm5hbWUge1xyXG4gICAgLy8gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XHJcbiAgICAvLyAgICB9XHJcbiAgICAvLyAgICAucG9zaXRpb24ge1xyXG4gICAgLy8gICAgICBsaW5lLWhlaWdodDogMS4yZW07XHJcbiAgICAvLyAgICB9XHJcbiAgICAvLyAgfVxyXG4gICAgLy8gICY6aG92ZXIge1xyXG4gICAgLy8gICAgLmluZm8taXRlbV9fdGV4dC0tbW9yZSB7XHJcbiAgICAvLyAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAvLyAgICB9XHJcbiAgICAvLyAgICAuaW5mby1pdGVtX190ZXh0IC50ZXh0IHtcclxuICAgIC8vICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIC8vICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICMwMDA7XHJcbiAgICAvLyAgICB9XHJcbiAgICAvLyAgfVxyXG4gICAgLy99XHJcbiAgICAuY29udGFpbmVyX19mbGV4LmNvbnRhaW5lciB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fZnJlZVNlY3Rpb24ge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAvL2hlaWdodDogNTIwcHg7XHJcblxyXG4gICAgLmxlYWRlci1jZWxsIHtcclxuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICAgICAgLmxlYWRlci1pbWFnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IDU2MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYWJvdXQge1xyXG4gICAgICB3aWR0aDogNDglO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgIGgyIHtcclxuICAgICAgICBtYXJnaW46IDAuMmVtIDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRlYW0tbWVtYmVyIHtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGxpbmVhciwgb3BhY2l0eSAxcyBsaW5lYXI7XHJcbiAgICAmLnRlYW0yIHtcclxuICAgICAgd2lkdGg6IDMwOXB4O1xyXG4gICAgICBoZWlnaHQ6ICg0MzgvNTAwKSoxMDAlO1xyXG4gICAgICBsZWZ0OiAtNDczcHg7XHJcbiAgICAgIGJvdHRvbTogLTQxcHg7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvdGVhbS90ZWFtXzIucG5nXCIpO1xyXG4gICAgfVxyXG4gICAgJi50ZWFtMyB7XHJcbiAgICAgIHdpZHRoOiAzMDRweDtcclxuICAgICAgaGVpZ2h0OiAoNDE1LzUwMCkqMTAwJTtcclxuICAgICAgbGVmdDogLTc4OXB4O1xyXG4gICAgICBib3R0b206IC00MHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL3RlYW0vdGVhbV8zLnBuZ1wiKTtcclxuICAgIH1cclxuICAgICYudGVhbTQge1xyXG4gICAgICB3aWR0aDogMTcycHg7XHJcbiAgICAgIGhlaWdodDogKDQwMi81MDApKjEwMCU7XHJcbiAgICAgIGxlZnQ6IC05NTBweDtcclxuICAgICAgYm90dG9tOiAtNDBweDtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy90ZWFtL3RlYW1fNC5wbmdcIik7XHJcbiAgICB9XHJcbiAgICAmLnRlYW01IHtcclxuICAgICAgd2lkdGg6IDI5OHB4O1xyXG4gICAgICBoZWlnaHQ6ICg0MTgvNTAwKSoxMDAlO1xyXG4gICAgICBsZWZ0OiAtMTIwNXB4O1xyXG4gICAgICBib3R0b206IC00MHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL3RlYW0vdGVhbV81LnBuZ1wiKTtcclxuICAgIH1cclxuICAgICYudGVhbTYge1xyXG4gICAgICB3aWR0aDogMzM0cHg7XHJcbiAgICAgIGhlaWdodDogKDQxOC81MDApKjEwMCU7XHJcbiAgICAgIGxlZnQ6IDI2NHB4OyAvLyAxNDRweFxyXG4gICAgICBib3R0b206IC00MXB4OyAvLzQxcHhcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy90ZWFtL3RlYW1fNi5wbmdcIik7XHJcbiAgICB9XHJcbiAgICAmLnRlYW03IHtcclxuICAgICAgd2lkdGg6IDIwOXB4O1xyXG4gICAgICBoZWlnaHQ6ICg0MDYvNTAwKSoxMDAlO1xyXG4gICAgICBsZWZ0OiA2MDhweDtcclxuICAgICAgYm90dG9tOiAtNDNweDtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy90ZWFtL3RlYW1fNy5wbmdcIik7XHJcbiAgICB9XHJcbiAgICAmLnRlYW04IHtcclxuICAgICAgd2lkdGg6IDE4NHB4O1xyXG4gICAgICBoZWlnaHQ6ICgzOTcvNTAwKSoxMDAlO1xyXG4gICAgICBsZWZ0OiA4MTdweDtcclxuICAgICAgYm90dG9tOiAtNDNweDtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy90ZWFtL3RlYW1fOC5wbmdcIik7XHJcbiAgICB9IFxyXG4gICAgJi50ZWFtOSB7XHJcbiAgICAgIHdpZHRoOiAyOTNweDtcclxuICAgICAgaGVpZ2h0OiAoNDA2LzUwMCkqMTAwJTtcclxuICAgICAgbGVmdDogMTAyMXB4O1xyXG4gICAgICBib3R0b206IC00MXB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL3RlYW0vdGVhbV85LnBuZ1wiKTtcclxuICAgIH1cclxuICAgICYudGVhbTEwIHtcclxuICAgICAgd2lkdGg6IDI3M3B4O1xyXG4gICAgICBoZWlnaHQ6ICg0MDYvNTAwKSoxMDAlO1xyXG4gICAgICBsZWZ0OiA4NXB4O1xyXG4gICAgICBib3R0b206IC0yNHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL3RlYW0vY2xlbS5wbmdcIik7XHJcbiAgICAgICYubWVtYmVyLWluZm8ge1xyXG4gICAgICAgIHdpZHRoOiAzMjRweDtcclxuICAgICAgICBoZWlnaHQ6ICg0OTEvNTAwKSoxMDAlO1xyXG4gICAgICAgIGxlZnQ6IC0xNDhweDtcclxuICAgICAgICBib3R0b206IC00MXB4O1xyXG4gICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogOTYlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmxlYWRlci1pbWFnZSB7XHJcbiAgICAgIHdpZHRoOiAzMjRweDtcclxuICAgICAgaGVpZ2h0OiAoNDkxLzUwMCkqMTAwJTtcclxuICAgICAgbGVmdDogLTE0OHB4O1xyXG4gICAgICBib3R0b206IC00MXB4O1xyXG4gICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvdGVhbS9sZWFkZXIucG5nKTtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiA5NiU7XHJcbiAgICAgICYuc2Vjb25kIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL3RlYW0vY2xlbS5wbmdcIik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgLy8gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAvLyAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDEwJTtcclxuICAvL31cclxuICAuaXRlbXMtd3JhcCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG4gIH1cclxuICAuaW5mby1pdGVtIHtcclxuICAgIHdpZHRoOiAoMTAwJSAvIDMpO1xyXG4gICAgJl9fdGV4dCB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmLWNvbnRlbnQge1xyXG4gICAgICBwb3NpdGlvbjogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnNjcm9sbC1ibG9jayB7XHJcbiAgICAgIGhlaWdodDogMTgwcHg7XHJcbiAgICAgIEBtZWRpYSAobWluLWhlaWdodDogNjgwcHgpIHtcclxuICAgICAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGVhbV9fZmFjZXMge1xyXG4gICAgLm5hbWUge1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAuaW5mby1pdGVtX190ZXh0LS1tb3JlIHtcclxuICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnBvc2l0aW9uIHtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMS4yZW07XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLmNvbnRhY3QtdXMge1xyXG4gIC5iYWNrZ3JvdW5kLWltZyB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuXHJcbiAgICAuYmFjayB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jb250YWN0LXVzL2JhY2suanBnXCIpOyBcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb250YWN0LXVzX19jb250ZW50IHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xyXG4gICAgcCB7XHJcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZTtcclxuICAgIH1cclxuICB9XHJcbiAgLnBob25lLCAuZW1haWwsIC5zZWNvbmQtcGFnZSB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuICB9XHJcblxyXG4gICY6bm90KC5mcC1yZXNwb25zaXZlKSB7XHJcbiAgICAucGFnZSB7XHJcbiAgICAgIHdpZHRoOiA3NDBweDtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgICAmLnNlY29uZC1wYWdlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA4MCU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtaGVpZ2h0OiA4MzBweCkge1xyXG4gICAgICAucGhvbmUsIC5lbWFpbCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMzUwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB9XHJcbiAgICAgIC5waG9uZSB7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgICAuZW1haWwge1xyXG4gICAgICAgIGxlZnQ6IDQwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LWhlaWdodDogNjUwcHgpIHtcclxuICAgICAgLmNvbnRhY3QtdXNfX2NvbnRlbnQge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLTEge1xyXG4gICAgLnBob25lLCAuZW1haWwge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC03MjBweCwgMCk7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRhY3QtdXNfX2NvbnRlbnQge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC03MjBweCwgMCk7XHJcblxyXG4gICAgICBwOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQG1lZGlhIChtYXgtaGVpZ2h0OiA2ODVweCkge1xyXG4gICAgICAgIHA6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNlY29uZC1wYWdlIHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG5cclxuICAgICAgQG1lZGlhIChtYXgtaGVpZ2h0OiA3NzBweCkge1xyXG4gICAgICAgIC5mcC10YWJsZUNlbGwge1xyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC53cmFwcGVyIHtcclxuICB9XHJcblxyXG4gIC5jb250YWN0LXVzX19zZWN0aW9uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG4gIC5waG9uZSB7XHJcbiAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGhhbmRoZWxkcykge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5lbWFpbCB7XHJcbiAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNzBweDtcclxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oaGFuZGhlbGRzKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIH1cclxuICB9XHJcbiAgcCB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIH1cclxuICB9XHJcbiAgLmJ0bi1ibG9jayB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gIH1cclxuICAuYnRuIHtcclxuICAgIHBhZGRpbmc6IDE4cHggMTEwcHg7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGJhY2tncm91bmQ6ICRicmFuZC1jb2xvcjtcclxuICAgIEBpbmNsdWRlIG9uLWV2ZW50IHtcclxuICAgICAgYmFja2dyb3VuZDogIzAwMDtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcGFkZGluZzogMThweCAwO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIi5jYXJlZXJzIHtcclxuICAuYmFja2dyb3VuZC1pbWcge1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XHJcblxyXG4gICAgLmJhY2sge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2FyZWVycy9iYWNrLmpwZ1wiKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zZWNvbmQtcGFnZSB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuICB9XHJcblxyXG4gICY6bm90KC5mcC1yZXNwb25zaXZlKSB7XHJcbiAgICAucGFnZSB7XHJcbiAgICAgICYuc2Vjb25kLXBhZ2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDcwMHB4O1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LWhlaWdodDogNzAwcHgpIHtcclxuICAgICAgLmNhcmVlcnNfX3NlY3Rpb24ge1xyXG4gICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMHB4LCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLTEge1xyXG4gICAgLmNhcmVlcnNfX3NlY3Rpb24ge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC04MCUsIDApO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5zZWNvbmQtcGFnZSB7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jYXJlZXJzX19zZWN0aW9uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuXHJcbiAgICAudGV4dCB7XHJcbiAgICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAgICAgLndyYXBwZXIge1xyXG4gICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5idG4tYmxvY2sge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luOiA1MHB4IDA7XHJcbiAgfVxyXG4gIC5idG4ge1xyXG4gICAgcGFkZGluZzogMThweCAxMTBweDtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgYmFja2dyb3VuZDogJGJyYW5kLWNvbG9yO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBAaW5jbHVkZSBvbi1ldmVudCB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmc6IDE4cHggMDtcclxuICAgIH1cclxuICB9XHJcbn0iLCIuZWFzeS10by13b3JrIHtcclxuICAuYmFja2dyb3VuZC1pbWcge1xyXG4gICAgLmJhY2sge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZWFzeS10by13b3JrL2JhY2suanBnXCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRvd24tYXJyb3cge1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNzVzIGxpbmVhciwgdHJhbnNmb3JtIC43NXMgbGluZWFyO1xyXG4gIH1cclxuICAuZWFzeS10by13b3JrX19jb250ZW50X190ZXh0IC50ZXh0LWl0ZW0ge1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgbGluZWFyO1xyXG4gIH1cclxuXHJcblxyXG4gICYuZnAtcmVzcG9uc2l2ZSB7XHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGhhbmRoZWxkcykge1xyXG4gICAgICBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5uYXYtaXRlbSB7XHJcbiAgICAgIC5uYXYtaXRlbV9faWNvbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuICAgICAgLm5hdi1pdGVtX190ZXh0IHtcclxuICAgICAgICBjb2xvcjogIzY2NjY2NjtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICB9XHJcbiAgICAgIC5uYXYtaXRlbV9fdGV4dC0tbW9yZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICB9XHJcbiAgICAgICY6YWN0aXZlLCAmOmhvdmVyIHtcclxuICAgICAgICAubmF2LWl0ZW1fX3RleHQge1xyXG4gICAgICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uYXYtaXRlbV9fdGV4dC0tbW9yZSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi52aXNpdGVkIHtcclxuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmVmZmVjdHMge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjpub3QoLmZwLXJlc3BvbnNpdmUpIHtcclxuICAgIGgyIHtcclxuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGVhc2U7XHJcbiAgICB9XHJcbiAgICAuZWFzeS10by13b3JrX19jb250ZW50IHtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XHJcbiAgICB9XHJcbiAgICAuYnRuLWJsb2NrIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIGJvdHRvbTogMjAwcHg7XHJcbiAgICAgIEBtZWRpYSAobWF4LWhlaWdodDogNzUwcHgpIHtcclxuICAgICAgICBib3R0b206IDM1MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuZWZmZWN0cyB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOm5vdCguZnAtcmVzcG9uc2l2ZSk6bm90KC5mcC12aWV3aW5nLTApIHtcclxuICAgIC5lZmZlY3RzIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzUwcHgsIDApO1xyXG4gICAgICBAbWVkaWEgKG1heC1oZWlnaHQ6IDY3MHB4KSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNjB2aCwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5lYXN5LXRvLXdvcmtfX2NvbnRlbnQge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zNDBweCwgMCk7XHJcbiAgICAgIEBtZWRpYSAobWF4LWhlaWdodDogNjcwcHgpIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC02MHZoLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjpub3QoLmZwLXJlc3BvbnNpdmUpLmZwLXZpZXdpbmctMSB7XHJcbiAgICAuZWFzeS10by13b3JrX19jb250ZW50X190ZXh0IC50ZXh0LWl0ZW06bnRoLWNoaWxkKDEpIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLTIge1xyXG4gICAgLmVhc3ktdG8td29ya19fY29udGVudF9fdGV4dCAudGV4dC1pdGVtOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOm5vdCguZnAtcmVzcG9uc2l2ZSkuZnAtdmlld2luZy0zIHtcclxuICAgIC5lYXN5LXRvLXdvcmtfX2NvbnRlbnRfX3RleHQgLnRleHQtaXRlbTpudGgtY2hpbGQoMykge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjpub3QoLmZwLXJlc3BvbnNpdmUpLmZwLXZpZXdpbmctNCB7XHJcbiAgICAuZWFzeS10by13b3JrX19jb250ZW50X190ZXh0IC50ZXh0LWl0ZW06bnRoLWNoaWxkKDQpIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6bm90KC5mcC1yZXNwb25zaXZlKS5mcC12aWV3aW5nLTUge1xyXG4gICAgLmVhc3ktdG8td29ya19fY29udGVudF9fdGV4dCAudGV4dC1pdGVtOm50aC1jaGlsZCg1KSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICAuYnRuLWJsb2NrIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICB9XHJcbiAgLmRvd24tYXJyb3cge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMzRweDtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc21hbGwpIHtcclxuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG4gIH1cclxuICAmX19jb250ZW50IHtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2U7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKGhhbmRoZWxkcykge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0tc2NyZWVucykge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgJl9fbmF2aWdhdGlvbiB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB3aWR0aDogMzcuNSU7XHJcbiAgICAgIC5pdGVtcy13cmFwIHtcclxuICAgICAgICB3aWR0aDogNjYlO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oaGFuZGhlbGRzKSB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLml0ZW1zLXdyYXAge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtLXNjcmVlbnMpIHtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAuaXRlbXMtd3JhcCB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3RleHQge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgd2lkdGg6IDYyLjUlO1xyXG4gICAgICBmb250LXNpemU6IDEuNmVtO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIC50ZXh0LWl0ZW0ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhoYW5kaGVsZHMpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWVkaXVtLXNjcmVlbnMpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19hcnJvd3Mge1xyXG4gICAgJi5pcy1kaXNhYmxlZCB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc21hbGwpIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAvL3N0YXJ0XHJcbiAgICAmLmpzLWVhc3lBbmltYXRpb24wIHtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMnM7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Vhc3ktdG8td29yay9hcnJvdy1sZWZ0LnBuZycpIG5vLXJlcGVhdCAyMDB2dyBjZW50ZXIsXHJcbiAgICAgICAgICAgICAgICAgIHVybCgnLi4vaW1hZ2VzL2Vhc3ktdG8td29yay9hcnJvdy1yaWdodC5wbmcnKSBuby1yZXBlYXQgLTIwMHZ3IGNlbnRlcjtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cclxuICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgIGFuaW1hdGlvbjogZWFzeUFycm93cy0xIDZzIDE7XHJcbiAgICAgIH1cclxuICAgICAgJi5pcy1mYWRlZCB7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogNHM7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMHZ3IGNlbnRlciwgMjAwdncgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5qcy1lYXN5QW5pbWF0aW9uMSB7XHJcbiAgICAgICRkZWxheS1hbmltLTI6IDMwMG1zO1xyXG4gICAgICAkZHVyYXRpb24tYW5pbS0yOiAzMDBtcztcclxuXHJcbiAgICAgIC5jYW52YXMge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAkZHVyYXRpb24tYW5pbS0yO1xyXG5cclxuICAgICAgICAmLmNhbnZhcy0xIHtcclxuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbmltLTIgKiAyO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZWFzeS10by13b3JrL2FuaW0vbWluaS1hcnJvdy1yaWdodC5wbmcnKSBuby1yZXBlYXQgMTB2dyAyMHZ3O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhbnZhcy0yIHtcclxuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbmltLTIgKiA2O1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZWFzeS10by13b3JrL2FuaW0vbWluaS1hcnJvdy1sZWZ0LnBuZycpICBuby1yZXBlYXQgMjB2dyAtMTV2dztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYW52YXMtMyB7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW5pbS0yICogNDtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Vhc3ktdG8td29yay9hbmltL21pbmktYXJyb3ctcmlnaHQucG5nJykgIG5vLXJlcGVhdCA2MHZ3IDV2dztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYW52YXMtNCB7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW5pbS0yO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZWFzeS10by13b3JrL2FuaW0vbWluaS1hcnJvdy1sZWZ0LnBuZycpICBuby1yZXBlYXQgNzB2dyA0MHZ3O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgIC5jYW52YXMge1xyXG4gICAgICAgICAgb3BhY2l0eTogMVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuanMtZWFzeUFuaW1hdGlvbjIge1xyXG4gICAgICAkZGVsYXktYW5pbS0zOiAzMDBtcztcclxuICAgICAgJGR1cmF0aW9uLWFuaW0tMzogMzAwbXM7XHJcblxyXG4gICAgICAuY2FudmFzIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlICRkdXJhdGlvbi1hbmltLTM7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAvL3RvcFxyXG4gICAgICAgICYuY2FudmFzLXRvcC0xIHtcclxuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbmltLTMgKiAxO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZWFzeS10by13b3JrL2FuaW0vbWluaS1hcnJvdy1yaWdodC5wbmcnKSBuby1yZXBlYXQgMHZ3IDF2dztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYW52YXMtdG9wLTIge1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFuaW0tMyAqIDI7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9lYXN5LXRvLXdvcmsvYW5pbS9taW5pLWFycm93LXJpZ2h0LnBuZycpICBuby1yZXBlYXQgMjV2dyAxdnc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FudmFzLXRvcC0zIHtcclxuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbmltLTMgKiAzO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZWFzeS10by13b3JrL2FuaW0vbWluaS1hcnJvdy1yaWdodC5wbmcnKSAgbm8tcmVwZWF0IDUwdncgMXZ3O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhbnZhcy10b3AtNCB7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW5pbS0zICogNDtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Vhc3ktdG8td29yay9hbmltL21pbmktYXJyb3ctcmlnaHQucG5nJykgIG5vLXJlcGVhdCA3NXZ3IDF2dztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vZG93blxyXG4gICAgICAgICYuY2FudmFzLWRvd24tMSB7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW5pbS0zICogODtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Vhc3ktdG8td29yay9hbmltL21pbmktYXJyb3ctbGVmdC5wbmcnKSBuby1yZXBlYXQgMHZ3IDMwdnc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FudmFzLWRvd24tMiB7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW5pbS0zICogNztcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Vhc3ktdG8td29yay9hbmltL21pbmktYXJyb3ctbGVmdC5wbmcnKSAgbm8tcmVwZWF0IDI1dncgMzB2dztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYW52YXMtZG93bi0zIHtcclxuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbmltLTMgKiA2O1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZWFzeS10by13b3JrL2FuaW0vbWluaS1hcnJvdy1sZWZ0LnBuZycpICBuby1yZXBlYXQgNTB2dyAzMHZ3O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhbnZhcy1kb3duLTQge1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFuaW0tMyAqIDU7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9lYXN5LXRvLXdvcmsvYW5pbS9taW5pLWFycm93LWxlZnQucG5nJykgIG5vLXJlcGVhdCA3NXZ3IDMwdnc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgLmNhbnZhcyB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5qcy1lYXN5QW5pbWF0aW9uMyB7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDJzO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9lYXN5LXRvLXdvcmsvYXJyb3ctbGVmdC5wbmcnKSBuby1yZXBlYXQgMjAwdncgY2VudGVyLFxyXG4gICAgICAgICAgICAgICAgICB1cmwoJy4uL2ltYWdlcy9lYXN5LXRvLXdvcmsvYXJyb3ctcmlnaHQucG5nJykgbm8tcmVwZWF0IC0yMDB2dyBjZW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgIGFuaW1hdGlvbjogZWFzeUFycm93cy0xIDZzIDE7XHJcbiAgICAgIH1cclxuICAgICAgJi5pcy1mYWRlZCB7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogNHM7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMHZ3IGNlbnRlciwgMjAwdncgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5qcy1lYXN5QW5pbWF0aW9uNCB7XHJcbiAgICAgICRvZmZzZXQtYW5pbS00OiA4MHZ3O1xyXG4gICAgICAkcGFkZGluZy1hbmltLTQ6IDMwdnc7XHJcblxyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSA2cztcclxuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZWFzeS10by13b3JrL2FuaW0vYXJyb3ctZG93bi5wbmcnKSBuby1yZXBlYXQgY2VudGVyIC0xICogJG9mZnNldC1hbmltLTQsXHJcbiAgICAgICAgICAgICAgICAgIHVybCgnLi4vaW1hZ2VzL2Vhc3ktdG8td29yay9hbmltL2Fycm93LWRvd24ucG5nJykgbm8tcmVwZWF0IGNlbnRlciAtMSAqICRvZmZzZXQtYW5pbS00IC0gJHBhZGRpbmctYW5pbS00ICogMSxcclxuICAgICAgICAgICAgICAgICAgdXJsKCcuLi9pbWFnZXMvZWFzeS10by13b3JrL2FuaW0vYXJyb3ctZG93bi5wbmcnKSBuby1yZXBlYXQgY2VudGVyIC0xICogJG9mZnNldC1hbmltLTQgLSAkcGFkZGluZy1hbmltLTQgKiAyLFxyXG4gICAgICAgICAgICAgICAgICB1cmwoJy4uL2ltYWdlcy9lYXN5LXRvLXdvcmsvYW5pbS9hcnJvdy1kb3duLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgLTEgKiAkb2Zmc2V0LWFuaW0tNCAtICRwYWRkaW5nLWFuaW0tNCAqIDM7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHJcbiAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAgY2VudGVyICRvZmZzZXQtYW5pbS00ICsgJHBhZGRpbmctYW5pbS00ICogMyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyICRvZmZzZXQtYW5pbS00ICsgJHBhZGRpbmctYW5pbS00ICogMixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyICRvZmZzZXQtYW5pbS00ICsgJHBhZGRpbmctYW5pbS00ICogMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyICRvZmZzZXQtYW5pbS00O1xyXG4gICAgICAgIC8vYW5pbWF0aW9uOiBlYXN5QXJyb3dzLTQgNnMgMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuanMtZWFzeUFuaW1hdGlvbjUge1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAycztcclxuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZWFzeS10by13b3JrL2Fycm93LWxlZnQucG5nJykgbm8tcmVwZWF0IDIwMHZ3IGNlbnRlcixcclxuICAgICAgICAgICAgICAgICAgdXJsKCcuLi9pbWFnZXMvZWFzeS10by13b3JrL2Fycm93LXJpZ2h0LnBuZycpIG5vLXJlcGVhdCAtMjAwdncgY2VudGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblxyXG4gICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBlYXN5QXJyb3dzLTUgNnMgMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC50ZWFtX19zZWN0aW9uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzbWFsbCkge1xyXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5idG4tYmxvY2ssIC5idG4tbWVkaWEge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAuYnRuIHtcclxuICAgICAgcGFkZGluZzogMThweCA0MHB4O1xyXG4gICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtY29sb3I7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuMnM7XHJcbiAgICAgIEBpbmNsdWRlIG9uLWV2ZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICB9XHJcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAxOHB4IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbkBrZXlmcmFtZXMgZWFzeUFycm93cy0xIHtcclxuICAwJSB7XHJcbiAgfVxyXG4gIDMzJSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIsIGNlbnRlcjtcclxuICB9XHJcbiAgNjYlIHtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAwdncgY2VudGVyLCAyMDB2dyBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGVhc3lBcnJvd3MtMiB7XHJcbiAgMCUge1xyXG4gIH1cclxuICAzMyUge1xyXG4gICAgLmNhbnZhcyB7XHJcbiAgICAgIG9wYWNpdHk6IDAuMzNcclxuICAgIH1cclxuICB9XHJcbiAgNjYlIHtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAuY2FudmFzIHtcclxuICAgICAgb3BhY2l0eTogMVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGVhc3lBcnJvd3MtMyB7XHJcbiAgMCUge1xyXG4gIH1cclxuICAzMyUge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyLCBjZW50ZXI7XHJcbiAgfVxyXG4gIDY2JSB7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMHZ3IGNlbnRlciwgMjAwdncgY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBlYXN5QXJyb3dzLTQge1xyXG4gIDEwMCUge1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBlYXN5QXJyb3dzLTUge1xyXG4gIDAlIHtcclxuICB9XHJcbiAgMzMlIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciwgY2VudGVyO1xyXG4gIH1cclxuICA2NiUge1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDB2dyBjZW50ZXIsIDIwMHZ3IGNlbnRlcjtcclxuICB9XHJcbn0iXX0= */
