/*
Theme Name: Zac Forsman
Theme URI: http://startersite.com
Author: Zac Forsman
Author URI: http://www.zacforsman.com
Description: Zac Forsman Theme Build
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zacforsman
Tags: custom

This theme, like WordPress, is licensed under the GPL.

Based on Underscores http://underscores.me/, (C) 2012-2017 Automattic, Inc.

*/
@import url(assets/bower_components/animate.css/animate.css);
html {
  box-sizing: border-box;
}

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

body,
button,
input,
select,
textarea {
  color: #0f111b;
  font-family: "Source Sans Pro", sans-serif;
  line-height: 1.625;
}

a,
a:visited {
  color: #f5f5f5;
}

a:hover, a:focus, a:active,
a:visited:hover,
a:visited:focus,
a:visited:active {
  color: #f5f5f5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
}

p,
ul,
ol {
  margin: 0 0 1.5rem 0;
  font-family: "IBM Plex Mono", Georgia, Times, "Times New Roman", serif;
  font-size: 3.75vw;
}

ul.slashes:before {
  content: '';
  display: none;
}

ul.slashes li {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: start;
      justify-content: start;
  -ms-flex-align: center;
      align-items: center;
}

ul.slashes li:before {
  content: '//';
  color: #e5743a;
  display: inline-block;
  font-weight: bold;
  margin-right: .5rem;
  font-size: .9em;
  letter-spacing: -.1rem;
}

b,
strong {
  font-weight: 700;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote,
q {
  margin: 0 1.5rem;
  quotes: "" "";
}

blockquote::before, blockquote::after,
q::before,
q::after {
  content: "";
}

address {
  margin: 0 0 1.5rem 0;
}

pre {
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 0.9375rem;
  line-height: 1.625;
  margin: 0 0 1.5rem;
  max-width: 100%;
  overflow: auto;
  padding: 1.5rem;
}

code,
kbd,
tt,
var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 0.9375rem;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  text-decoration: none;
}

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

sup {
  bottom: 1ex;
}

sub {
  top: 0.5ex;
}

small {
  font-size: 75%;
}

big {
  font-size: 125%;
}

.entry-title,
.entry-content,
.comments-title,
.comment-content,
.widget-title,
.widget {
  word-break: keep-all;
  word-wrap: break-word;
}

.screen-reader-text {
  height: 0.0625rem;
  width: 0.0625rem;
  clip: rect(0.0625rem, 0.0625rem, 0.0625rem, 0.0625rem);
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
}

.screen-reader-text:hover, .screen-reader-text:active, .screen-reader-text:focus {
  height: auto;
  width: auto;
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 0.125rem 0.125rem rgba(0, 0, 0, 0.6);
  clip: auto;
  color: #f5f5f5;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  left: 0.3125rem;
  line-height: normal;
  padding: 0.9375rem 1.4375rem 0.875rem;
  text-decoration: none;
  top: 0.3125rem;
  z-index: 100000;
}

.alignleft {
  display: inline;
  float: left;
  margin: 0 1.5rem 0 0;
}

.alignright {
  display: inline;
  float: right;
  margin: 0 0 0 1.5rem;
}

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

.clear::after,
.entry-content::after,
.comment-content::after,
.site-header::after,
.site-content::after,
.site-footer::after {
  clear: both;
  content: "";
  display: block;
}

html.fancybox-enabled {
  overflow: visible;
}

embed,
iframe,
object {
  max-width: 100%;
}

hr {
  height: 1px;
  width: auto;
  background-color: #ccc;
  border: 0;
  margin: 0 0 1.5rem 0;
}

figure {
  margin: 0;
}

ul,
ol {
  margin: 0 0 3rem 1.5rem;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin: 0 0 0 1.5rem;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5rem 1.5rem 0;
}

table {
  height: auto;
  width: 100%;
  margin: 0 0 1.5rem 0;
}

th {
  font-weight: 700;
}

.bg-image {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.bg-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
}

.orange {
  color: #e5743a;
}

.slashes:before {
  content: '//';
  color: #e5743a;
  display: inline-block;
  font-weight: bold;
  margin-right: .5rem;
  font-size: .9em;
  letter-spacing: -.1rem;
}

.blink {
  animation: fade 800ms infinite;
}

@keyframes fade {
  from {
    opacity: 1.0;
  }
  50% {
    opacity: 0;
  }
  to {
    opacity: 1.0;
  }
}

.flex {
  display: -ms-flexbox;
  display: flex;
}

.inline-flex {
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.flex-row {
  -ms-flex-direction: row;
      flex-direction: row;
}

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

.flex-column {
  -ms-flex-direction: column;
      flex-direction: column;
}

.flex-column-reverse {
  -ms-flex-direction: column-reverse;
      flex-direction: column-reverse;
}

.justify-start {
  -ms-flex-pack: start;
      justify-content: flex-start;
}

.justify-end {
  -ms-flex-pack: end;
      justify-content: flex-end;
}

.justify-between {
  -ms-flex-pack: justify;
      justify-content: space-between;
}

.justify-around {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.justify-center {
  -ms-flex-pack: center;
      justify-content: center;
}

.align-center {
  -ms-flex-align: center;
      align-items: center;
}

.align-start {
  -ms-flex-align: start;
      align-items: flex-start;
}

.align-end {
  -ms-flex-align: end;
      align-items: flex-end;
}

.align-stretch {
  -ms-flex-align: stretch;
      align-items: stretch;
}

.page-content img.wp-smiley,
.entry-content img.wp-smiley,
.comment-content img.wp-smiley {
  margin: 0;
  padding: 0;
  border: none;
}

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

img:not(input) {
  user-drag: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
}

.wp-caption {
  margin: 0 0 1.5rem 0;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin: 0 auto;
}

.wp-caption.aligncenter {
  margin: 0 auto 1.5rem auto;
}

.wp-caption.alignleft {
  margin-right: 1.5rem;
}

.wp-caption.alignright {
  margin-left: 1.5rem;
}

.wp-caption .wp-caption-text {
  margin: 0.75rem 0;
}

.wp-caption-text {
  text-align: center;
}

.gallery {
  margin: 0 0 1.5rem 0;
}

.gallery-item {
  height: auto;
  width: 100%;
  display: inline-block;
  text-align: center;
  vertical-align: top;
}

.gallery-columns-2 .gallery-item {
  max-width: 50%;
}

.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
  max-width: 25%;
}

.gallery-columns-5 .gallery-item {
  max-width: 20%;
}

.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

.gallery-caption {
  display: block;
}

.fluid-embed {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}

.fluid-embed embed,
.fluid-embed object,
.fluid-embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.image-as-background {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.video-as-background {
  height: 100%;
  width: 100%;
  display: block;
  object-fit: cover;
  object-position: center top;
  position: absolute;
  z-index: 1;
}

.svg-defs {
  display: none;
}

.not-ready {
  opacity: 0;
  transition: opacity 0.5s ease;
  visibility: hidden;
}

.ready .not-ready {
  opacity: 1;
  visibility: visible;
}

#page {
  position: relative;
  background: #f5f5f5;
  border-right: 30px solid #fff;
  border-left: 30px solid #fff;
  border-bottom: 60px solid #fff;
  height: 100vh;
}

#page #main {
  overflow: hidden;
}

section {
  display: block;
  position: relative;
  margin: 0;
  padding: 60px;
  width: 100%;
  overflow-x: visible;
}

section :first-child {
  margin-top: 0;
}

section :last-child {
  margin-bottom: 0;
}

section :only-child {
  margin-top: 0;
  margin-bottom: 0;
}

.wrap {
  max-width: 1100px;
  margin: 0 auto;
}

.text-wrap {
  max-width: 750px;
  margin: 0 auto;
}

.comments-title {
  font-size: 1.5rem;
}

.comment-list {
  list-style: none;
  margin: 0;
}

.comment-meta {
  margin: 0 0 0.875rem 0;
}

.avatar {
  float: left;
  margin: 0 0.625rem 0 0;
}

.bypostauthor {
  display: block;
}

.comment-form {
  float: left;
  display: block;
  margin-right: 1.25%;
  width: 100%;
}

.comment-form:last-child {
  margin-right: 0;
}

.comment-form input:not(.submit) {
  width: 100%;
}

.comment-form-author label,
.comment-form-email label,
.comment-form-url label {
  float: left;
  display: block;
  margin-right: 1.25%;
  width: 100%;
}

.comment-form-author label:last-child,
.comment-form-email label:last-child,
.comment-form-url label:last-child {
  margin-right: 0;
}

.comment-list .children {
  margin-left: 0;
  padding-left: 1.25rem;
}

.entry-title {
  font-size: 2.25rem;
}

.sticky,
.comments-link {
  display: block;
}

.hentry {
  margin: 0 0 1.5rem 0;
}

.byline,
.updated:not(.published) {
  display: none;
}

.single .byline,
.group-blog .byline {
  display: inline;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5rem 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5rem 0;
}

.edit-link {
  margin: 0 1.5rem;
}

.blog .format-aside .entry-title,
.archive .format-aside .entry-title {
  display: none;
}

.site-footer {
  color: #0f111b;
  padding: 60px 0 30px;
  background-color: #fff;
  z-index: 10;
  position: relative;
}

.site-footer a {
  color: #fff;
}

.site-footer .menu-footer-menu-container ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer .menu-footer-menu-container ul::after {
  clear: both;
  content: "";
  display: block;
}

.site-footer .menu-footer-menu-container ul li {
  display: inline-block;
  margin: 0 20px 0 0;
}

.site-footer .menu-footer-menu-container ul li:last-of-type {
  margin: 0;
}

.site-footer .site-info {
  font-size: 14px;
}

.site-footer .site-info p {
  font-size: 2.5vw;
  margin-bottom: 0;
}

.site-footer .site-info a {
  color: #e5743a;
}

.scroll-down {
  position: fixed;
  bottom: 50px;
  right: 10%;
  z-index: 100;
  color: #e5743a;
  letter-spacing: 1px;
  line-height: 1;
  opacity: 1;
  transition: ease all 300ms;
}

.scroll-down.hide {
  opacity: 0;
}

.scroll-down span {
  display: block;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 13px;
  letter-spacing: 0;
  font-weight: 600;
  font-family: "IBM Plex Mono", Georgia, Times, "Times New Roman", serif;
}

.scroll-down .arrow {
  height: 70px;
  width: 1px;
  position: relative;
  background-color: #e5743a;
  animation: bounce 1200ms infinite;
}

.scroll-down .arrow:before {
  content: '';
  display: block;
  width: 1px;
  height: 14px;
  background-color: #e5743a;
  transform: rotate(-45deg);
  position: absolute;
  bottom: -2px;
  left: -5px;
}

.scroll-down .arrow:after {
  content: '';
  display: block;
  height: 14px;
  width: 1px;
  background-color: #e5743a;
  transform: rotate(45deg);
  position: absolute;
  bottom: -2px;
  right: -5px;
}

@keyframes bounce {
  from {
    bottom: -10px;
  }
  50% {
    bottom: 0;
  }
  to {
    bottom: -10px;
  }
}

.right-border {
  height: 100vh;
  width: 30px;
  position: fixed;
  top: 0;
  right: 0;
  background: #fff;
  z-index: 11;
}

.bottom-border {
  height: 30px;
  width: 100%;
  position: fixed;
  bottom: 0;
  background: #fff;
  z-index: 11;
}

.left-border {
  height: 100vh;
  width: 30px;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 11;
}

.contact {
  display: none;
  width: 90vw;
  background-color: transparent;
}

.contact .wpcf7 input[type='submit'] {
  margin-top: 30px;
  background-color: #e5743a;
  cursor: pointer;
  padding: 15px;
}

.form-control {
  border: none;
  border-radius: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  background-color: transparent;
}

label {
  margin-bottom: 0;
}

button,
input,
select,
textarea {
  font-size: 100%;
  margin: 0;
  resize: vertical;
  vertical-align: baseline;
}

input[type="checkbox"],
input[type="radio"] {
  padding: 0;
}

input[type="text"]::-ms-clear,
input[type="search"]::-ms-clear {
  display: none;
}

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}

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

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

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-bottom: 0.0625rem solid #e5743a;
  border-radius: 0;
  color: #666;
  line-height: 1.5;
  padding: 5px 5px 5px 0;
  margin-bottom: 20px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  border-color: #f5f5f5;
  color: #111;
  outline: none;
}

textarea {
  height: 120px;
  width: 100%;
  border-bottom: 0.0625rem solid #e5743a !important;
  overflow: auto;
  vertical-align: top;
}

.form-wrap {
  background: #ccc;
  padding: 20px 25px;
}

.form-wrap .form-wrap__title {
  margin-bottom: 20px;
  text-align: center;
}

.form-wrap nf-field {
  display: block;
  margin-bottom: 15px;
}

.form-wrap nf-field .submit-container {
  margin-bottom: 0;
  text-align: center;
}

.form-wrap .label-above .nf-field-label {
  margin-bottom: 5px;
}

.form-wrap .label-above .nf-field-label label {
  font-weight: 400;
}

.form-wrap .nf-before-form-content {
  display: none;
}

.form-wrap input,
.form-wrap textarea,
.form-wrap select {
  background: #fff;
  border-radius: 5px;
  padding: 5px 10px;
  width: 100%;
}

.button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #666;
  border: none;
  border-radius: 0;
  border-width: 0;
  color: #fff;
  line-height: 1.5;
  margin: 0;
  padding: 0.375rem;
  cursor: pointer;
}

.button:hover,
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  background-color: #333;
}

.button:active, .button:focus,
button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  background-color: #333;
}

.site-header {
  position: fixed;
  top: 0;
  width: calc(100% - 60px);
  text-align: center;
  z-index: 99;
  background: #fff;
}

.hero-area {
  overflow-y: hidden;
  position: relative;
  z-index: 1;
}

.hero-area::after {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  content: "";
  z-index: 2;
}

.hero-area .hero-content {
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  margin: 0 auto;
  max-width: 31.25rem;
  min-height: 31.25rem;
  position: relative;
  text-align: center;
  z-index: 3;
}

.hero-area .hero-content .hero-title,
.hero-area .hero-content .hero-description,
.hero-area .hero-content .hero-button {
  color: #fff;
}

.hero-area .hero-content .hero-description {
  padding-bottom: 1.5rem;
}

.hero-area .hero-content .hero-button {
  padding: 0.75rem 2.5rem;
  background: transparent;
  border: 2px solid #fff;
}

.hero-area .hero-content .hero-button:hover {
  background: rgba(0, 0, 0, 0.7);
  text-decoration: none;
}

.social-icons {
  margin: 0;
  padding: 0;
  list-style: none;
}

.social-icons::after {
  clear: both;
  content: "";
  display: block;
}

.social-icons::after {
  clear: both;
  content: "";
  display: block;
}

.social-icons .social-icon {
  display: inline-block;
}

.social-icons .social-icon .icon-facebook {
  height: 1.875rem;
  width: 1.875rem;
  fill: #3b5998;
}

.social-icons .social-icon .icon-facebook:hover {
  fill: #718dc8;
}

.social-icons .social-icon .icon-facebook-square {
  height: 1.875rem;
  width: 1.875rem;
  fill: #3b5998;
}

.social-icons .social-icon .icon-facebook-square:hover {
  fill: #718dc8;
}

.social-icons .social-icon .icon-googleplus {
  height: 1.875rem;
  width: 1.875rem;
  fill: #dd4b39;
}

.social-icons .social-icon .icon-googleplus:hover {
  fill: #ec9a90;
}

.social-icons .social-icon .icon-googleplus-square {
  height: 1.875rem;
  width: 1.875rem;
  fill: #dd4b39;
}

.social-icons .social-icon .icon-googleplus-square:hover {
  fill: #ec9a90;
}

.social-icons .social-icon .icon-instagram {
  height: 1.875rem;
  width: 1.875rem;
  fill: #517fa4;
}

.social-icons .social-icon .icon-instagram:hover {
  fill: #92b0c9;
}

.social-icons .social-icon .icon-instagram-square {
  height: 1.875rem;
  width: 1.875rem;
  fill: #517fa4;
}

.social-icons .social-icon .icon-instagram-square:hover {
  fill: #92b0c9;
}

.social-icons .social-icon .icon-linkedin {
  height: 1.875rem;
  width: 1.875rem;
  fill: #007bb6;
}

.social-icons .social-icon .icon-linkedin:hover {
  fill: #1db6ff;
}

.social-icons .social-icon .icon-linkedin-square {
  height: 1.875rem;
  width: 1.875rem;
  fill: #007bb6;
}

.social-icons .social-icon .icon-linkedin-square:hover {
  fill: #1db6ff;
}

.social-icons .social-icon .icon-pinterest {
  height: 1.875rem;
  width: 1.875rem;
  fill: #cb2027;
}

.social-icons .social-icon .icon-pinterest:hover {
  fill: #e76a6f;
}

.social-icons .social-icon .icon-pinterest-square {
  height: 1.875rem;
  width: 1.875rem;
  fill: #cb2027;
}

.social-icons .social-icon .icon-pinterest-square:hover {
  fill: #e76a6f;
}

.social-icons .social-icon .icon-rss {
  height: 1.875rem;
  width: 1.875rem;
  fill: #f90;
}

.social-icons .social-icon .icon-rss:hover {
  fill: #ffc266;
}

.social-icons .social-icon .icon-rss-square {
  height: 1.875rem;
  width: 1.875rem;
  fill: #f90;
}

.social-icons .social-icon .icon-rss-square:hover {
  fill: #ffc266;
}

.social-icons .social-icon .icon-twitter {
  height: 1.875rem;
  width: 1.875rem;
  fill: #00aced;
}

.social-icons .social-icon .icon-twitter:hover {
  fill: #54d0ff;
}

.social-icons .social-icon .icon-twitter-square {
  height: 1.875rem;
  width: 1.875rem;
  fill: #00aced;
}

.social-icons .social-icon .icon-twitter-square:hover {
  fill: #54d0ff;
}

.social-icons .social-icon .icon-youtube {
  height: 1.875rem;
  width: 1.875rem;
  fill: #b00;
}

.social-icons .social-icon .icon-youtube:hover {
  fill: #ff2222;
}

.social-icons .social-icon .icon-youtube-square {
  height: 1.875rem;
  width: 1.875rem;
  fill: #b00;
}

.social-icons .social-icon .icon-youtube-square:hover {
  fill: #ff2222;
}

.social-icons .social-icon:last-child {
  margin-right: 0;
}

.navbar-toggler {
  margin: 35px 0 0;
  padding: 10px;
}

.navbar-toggler:hover, .navbar-toggler:active, .navbar-toggler:focus {
  background: transparent;
  outline: none;
}

.navbar-toggler:not(.collapsed) #menu-icon span {
  background-color: transparent;
}

.navbar-toggler:not(.collapsed) #menu-icon span:before,
.navbar-toggler:not(.collapsed) #menu-icon span:after {
  top: 8px;
  left: 0;
}

.navbar-toggler:not(.collapsed) #menu-icon span:before {
  transform: rotate(45deg);
}

.navbar-toggler:not(.collapsed) #menu-icon span:after {
  transform: rotate(-45deg);
}

#menu-icon {
  display: block;
  position: relative;
  margin: 0;
  padding: 10px 35px 10px 0;
  cursor: pointer;
  visibility: visible;
  transition: all 0.3s ease-in-out;
  z-index: 10;
}

#menu-icon span,
#menu-icon span:before,
#menu-icon span:after {
  display: block;
  position: absolute;
  height: 4px;
  width: 35px;
  top: 0;
  background: #000;
  border-radius: 1px;
  cursor: pointer;
  transition: all 500ms ease-in-out;
  content: '';
}

#menu-icon span:before {
  top: 8px;
}

#menu-icon span:after {
  top: 16px;
}

.header-nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
      align-items: flex-end;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-positive: 1;
      flex-grow: 1;
}

.navbar-brand {
  font-family: "Source Sans Pro", sans-serif;
  font-size: .85em;
  line-height: 1.6em;
  margin-right: 0;
  padding: 0;
}

.navbar-brand img {
  display: inline-block;
  vertical-align: top;
}

.navbar {
  height: 30px;
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  font-family: "IBM Plex Mono", Georgia, Times, "Times New Roman", serif;
  -webkit-font-smoothing: antialiased;
}

.navbar.navbar-expand-lg {
  width: 100%;
}

.navbar .navbar-collapse {
  -ms-flex-pack: end;
      justify-content: flex-end;
  margin: 35px 0 0;
}

.navbar .navbar-collapse li:last-of-type a {
  padding-right: 0;
}

.navbar .navbar-nav {
  margin: 0;
}

.navbar .dropdown-menu {
  border: none;
  border-radius: 0;
  margin: 15px 0 0;
}

.navbar .dropdown-menu .dropdown-item {
  color: #000;
}

.navbar.navbar-light .navbar-nav .nav-link,
.navbar.navbar-light .navbar-brand,
.navbar.navbar-light .navbar-nav .active > .nav-link {
  color: #0f111b;
  font-weight: bold;
  font-family: "IBM Plex Mono", Georgia, Times, "Times New Roman", serif;
}

.navbar input[type="text"] {
  border: none;
  padding: 0;
  font-weight: bold;
  font-family: "IBM Plex Mono", Georgia, Times, "Times New Roman", serif;
  font-size: .85em;
  line-height: 1;
  height: 30px;
  width: 120px;
  color: #0f111b;
  margin: 0;
}

.navbar input[type="text"]:-ms-input-placeholder {
  color: #0f111b;
}

.navbar input[type="text"]::placeholder {
  color: #0f111b;
}

.navbar .contact-wrap {
  display: inline-block;
  height: 100%;
}

.navbar .contact-button {
  background-color: #e5743a;
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  padding: 0 15px;
  font-size: .85em;
  transition: ease background-color 300ms;
  -webkit-font-smoothing: initial;
}

.navbar .contact-button:hover {
  background-color: #0f111b;
  text-decoration: none;
}

.navbar .contact-button:hover .underscore.blink {
  animation: fade 800ms infinite;
}

@keyframes fade {
  from {
    opacity: 1.0;
  }
  50% {
    opacity: 0;
  }
  to {
    opacity: 1.0;
  }
}

.community {
  margin: 0;
  padding: 0;
  list-style: none;
  position: fixed;
  right: 6px;
  bottom: 26px;
  z-index: 1000;
}

.community::after {
  clear: both;
  content: "";
  display: block;
}

.community a {
  display: inline-block;
  font-size: 16px;
  color: #0f111b;
  transition: ease all 300ms;
  margin-top: 5px;
}

.community a:hover, .community a:active, .community a:focus {
  color: #e5743a;
}

.social-menu {
  display: inline-block;
  margin: 5px 0;
  vertical-align: top;
}

.social-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.social-menu ul li {
  display: inline-block;
  margin: 0;
}

.social-menu ul li:not(:last-child) {
  margin: 0 20px 0 0;
}

.social-menu a {
  font-size: 20px;
  line-height: 24px;
}

.menu-social li a:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.menu-social li.dribbble a::before,
.menu-social li a[href*="dribbble.com"]::before {
  content: "\f17d";
}

.menu-social li.facebook a::before,
.menu-social li a[href*="facebook.com"]::before {
  content: "\f09a";
}

.menu-social li.flickr a::before,
.menu-social li a[href*="flickr.com"]::before {
  content: "\f16e";
}

.menu-social li.github a::before,
.menu-social li a[href*="github.com"]::before {
  content: "\f09b";
}

.menu-social li.googleplus a::before,
.menu-social li a[href*="plus.google.com"]::before {
  content: "\f0d5";
}

.menu-social li.instagram a::before,
.menu-social li a[href*="instagram.com"]::before {
  content: "\f16d";
}

.menu-social li.lastfm a::before,
.menu-social li a[href*="last.fm"]::before {
  content: "\f202";
}

.menu-social li.linkedin a::before,
.menu-social li a[href*="linkedin.com"]::before {
  content: "\f0e1";
}

.menu-social li.pinterest a::before,
.menu-social li a[href*="pinterest.com"]::before {
  content: "\f231";
}

.menu-social li.skype a::before,
.menu-social li a[href*="skype.com"]::before {
  content: "\f17e";
}

.menu-social li.spotify a::before,
.menu-social li a[href*="spotify.com"]::before {
  content: "\f1bc";
}

.menu-social li.stumbleupon a::before,
.menu-social li a[href*="stumbleupon.com"]::before {
  content: "\f1a4";
}

.menu-social li.tumblr a::before,
.menu-social li a[href*="tumblr.com"]::before {
  content: "\f173";
}

.menu-social li.twitter a::before,
.menu-social li a[href*="twitter.com"]::before {
  content: "\f099";
}

.menu-social li.vimeo a::before,
.menu-social li a[href*="vimeo.com"]::before {
  content: "\f27d";
}

.menu-social li.vine a::before,
.menu-social li a[href*="vine.co"]::before {
  content: "\f1ca";
}

.menu-social li.vk a::before,
.menu-social li a[href*="vk.com"]::before {
  content: "\f189";
}

.menu-social li.xing a::before,
.menu-social li a[href*="xing.com"]::before {
  content: "\f168";
}

.menu-social li.youtube a::before,
.menu-social li a[href*="youtube.com"]::before {
  content: "\f16a";
}

table {
  border: 0;
  border-collapse: collapse;
  border-spacing: 0;
  padding: 0;
  width: 100%;
}

table thead {
  display: none;
}

table th,
table td {
  padding: 0.625rem;
  text-align: center;
}

table th {
  font-size: 0.875rem;
  letter-spacing: 0.0625rem;
  text-transform: uppercase;
}

table tr {
  display: block;
  margin-bottom: 0.625rem;
}

table td {
  border: 0.0625rem solid #ccc;
  border-bottom: 0;
  display: block;
  font-size: 0.8125rem;
  text-align: center;
}

table td:last-child {
  border-bottom: 0.0625rem solid #ccc;
}

table td::before {
  content: "";
  float: left;
  font-weight: bold;
  text-transform: uppercase;
}

.site-footer {
  color: #0f111b;
  padding: 60px 0 30px;
  background-color: #fff;
  z-index: 10;
  position: relative;
}

.site-footer a {
  color: #fff;
}

.site-footer .menu-footer-menu-container ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer .menu-footer-menu-container ul::after {
  clear: both;
  content: "";
  display: block;
}

.site-footer .menu-footer-menu-container ul li {
  display: inline-block;
  margin: 0 20px 0 0;
}

.site-footer .menu-footer-menu-container ul li:last-of-type {
  margin: 0;
}

.site-footer .site-info {
  font-size: 14px;
}

.site-footer .site-info p {
  font-size: 2.5vw;
  margin-bottom: 0;
}

.site-footer .site-info a {
  color: #e5743a;
}

.scroll-down {
  position: fixed;
  bottom: 50px;
  right: 10%;
  z-index: 100;
  color: #e5743a;
  letter-spacing: 1px;
  line-height: 1;
  opacity: 1;
  transition: ease all 300ms;
}

.scroll-down.hide {
  opacity: 0;
}

.scroll-down span {
  display: block;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 13px;
  letter-spacing: 0;
  font-weight: 600;
  font-family: "IBM Plex Mono", Georgia, Times, "Times New Roman", serif;
}

.scroll-down .arrow {
  height: 70px;
  width: 1px;
  position: relative;
  background-color: #e5743a;
  animation: bounce 1200ms infinite;
}

.scroll-down .arrow:before {
  content: '';
  display: block;
  width: 1px;
  height: 14px;
  background-color: #e5743a;
  transform: rotate(-45deg);
  position: absolute;
  bottom: -2px;
  left: -5px;
}

.scroll-down .arrow:after {
  content: '';
  display: block;
  height: 14px;
  width: 1px;
  background-color: #e5743a;
  transform: rotate(45deg);
  position: absolute;
  bottom: -2px;
  right: -5px;
}

@keyframes bounce {
  from {
    bottom: -10px;
  }
  50% {
    bottom: 0;
  }
  to {
    bottom: -10px;
  }
}

.right-border {
  height: 100vh;
  width: 30px;
  position: fixed;
  top: 0;
  right: 0;
  background: #fff;
  z-index: 11;
}

.bottom-border {
  height: 30px;
  width: 100%;
  position: fixed;
  bottom: 0;
  background: #fff;
  z-index: 11;
}

.left-border {
  height: 100vh;
  width: 30px;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 11;
}

.contact {
  display: none;
  width: 90vw;
  background-color: transparent;
}

.contact .wpcf7 input[type='submit'] {
  margin-top: 30px;
  background-color: #e5743a;
  cursor: pointer;
  padding: 15px;
}

.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  display: none;
}

.infinity-end.neverending .site-footer {
  display: block;
}

.gform_wrapper {
  background: #fff;
  border: 0 solid #fff;
  padding: 0;
}

.gform_wrapper.gform_body .gform_fields .gfield,
.gform_wrapper.gform_body .gform_fields .gfield.gf_left_half,
.gform_wrapper.gform_body .gform_fields .gfield.gf_right_half {
  margin-bottom: 1.5625rem;
}

.gform_wrapper .gfield_label {
  color: #333;
  font-size: 1rem;
  font-weight: 700;
}

.gform_wrapper input[type="text"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="file"],
.gform_wrapper textarea {
  background: #fff;
}

.gform_wrapper textarea {
  width: 100%;
}

.gform_wrapper select {
  -webkit-appearance: none;
  background: url("assets/images/svg-icons/caret-down.svg") no-repeat 97% transparent;
  background-color: #fff;
  background-size: 0.75rem;
  border-color: #ccc;
  border-radius: 0;
  line-height: 1.45;
  padding: 0.375rem;
  width: 100%;
}

.gform_wrapper select[multiple="multiple"] {
  background: #fff;
}

.gform_wrapper .gform_body .gform_fields .gfield select,
.gform_wrapper.gf_browser_chrome .gform_body .gform_fields .gfield select {
  margin-left: 0;
  width: 100% !important;
}

.gform_wrapper .gfield .chosen-container-single {
  font-size: 1rem;
}

.gform_wrapper .gfield .chosen-container-single .chosen-single {
  background: #fff;
  border-color: #ccc;
  border-radius: 0;
  height: auto;
  padding: 0.375rem;
}

.gform_wrapper .gfield .chosen-container-single .chosen-single div b {
  position: absolute;
  top: 40%;
  right: 0.6875rem;
  height: 0;
  width: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #ccc;
  background: none;
}

.gform_wrapper .gfield .chosen-container-single .chosen-drop .chosen-search input[type="text"] {
  background: none;
}

.gform_wrapper .gfield .chosen-container-single .chosen-drop .chosen-results li {
  padding: 0.625rem 0.3125rem;
}

.gform_wrapper .gfield .chosen-container-single.chosen-container-single.chosen-with-drop .chosen-single {
  background-image: none;
}

.gform_wrapper .gfield .chosen-container-single.chosen-container-single.chosen-with-drop .chosen-single div b {
  height: 0;
  width: 0;
  border-bottom: 6px solid #ccc;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border: none;
}

#content .gform_wrapper {
  margin-right: 0;
  max-width: 100%;
}

#content .gform_wrapper input[type="text"],
#content .gform_wrapper input[type="url"],
#content .gform_wrapper input[type="email"],
#content .gform_wrapper input[type="tel"],
#content .gform_wrapper input[type="number"],
#content .gform_wrapper input[type="password"],
#content .gform_wrapper input[type="file"],
#content .gform_wrapper textarea {
  padding: 0.375rem;
  width: 100%;
}

#content .gform_wrapper .chosen-search input[type="text"],
#content .gform_wrapper textarea {
  width: 100%;
}

#content .gform_wrapper .gf_left_half,
#content .gform_wrapper .gf_right_half {
  width: 100%;
}

#content .gform_wrapper .ginput_complex .name_first input[type="text"],
#content .gform_wrapper .ginput_complex .name_last input[type="text"] {
  width: 100%;
}

.home-about {
  padding: 60px 0;
  z-index: 10;
  background-color: #f5f5f5;
}

.home-about h2,
.home-about h3 {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 600;
}

.home-about .skills-wrap {
  padding: 30px 0;
  transition: ease all 300ms;
}

.home-about .skills-wrap h3 {
  font-size: 6vw;
  margin-bottom: 30px;
}

.home-about .skills-wrap h4 {
  font-size: 5vw;
}

.home-about .skills-wrap p span {
  margin-right: 10px;
}

.home-about .skills-wrap .tools {
  margin-top: 60px;
}

.home-about .skills-wrap .tools h3 {
  font-size: 4vw;
  margin-bottom: 5px;
}

.home-about .skills-wrap .tools i {
  font-size: 9vw;
  margin: 0 15px;
}

.home-about .skills-wrap .tools ul {
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: "IBM Plex Mono", Georgia, Times, "Times New Roman", serif;
}

.home-about .skills-wrap .tools ul::after {
  clear: both;
  content: "";
  display: block;
}

.home-about .skills-wrap .tools figure {
  margin-bottom: 30px;
}

.featured-heading {
  padding: 40px 0;
  background-color: #fff;
  z-index: 10;
}

.featured-heading h2 {
  font-size: 5vw;
  text-align: center;
}

.featured {
  background-color: #fff;
  z-index: 11;
  padding: 0;
  height: auto;
}

.featured:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(0deg, rgba(15, 17, 27, 0.85) 0%, rgba(15, 17, 27, 0.35) 100%);
  z-index: 1;
}

.featured .content-container {
  position: relative;
  color: #fff;
  z-index: 2;
  padding-bottom: 100px;
}

.featured .content-container h3 {
  font-size: 6vw;
}

.featured .content-container h3 em {
  display: block;
  font-family: "IBM Plex Mono", Georgia, Times, "Times New Roman", serif;
  font-size: .35em;
}

.featured .content-container .button {
  background-color: #fff;
  color: #0f111b;
  padding: 15px 40px;
  transition: ease all 300ms;
  position: relative;
  overflow: hidden;
  display: inline-block;
}

.featured .content-container .button .text {
  transform: translateY(0);
  display: block;
  opacity: 1;
  transition: ease all 300ms;
}

.featured .content-container .button .icon {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 100%;
  left: 0;
  background: #e5743a;
  transition: ease top 300ms;
}

.featured .content-container .button .icon i {
  display: block;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, 0);
  transition: ease transform-translate 500ms;
}

.featured .content-container .button:hover {
  text-decoration: none;
}

.featured .content-container .button:hover .text {
  transform: translateY(-160%);
  opacity: 0;
}

.featured .content-container .button:hover .icon {
  top: 0;
}

.featured .content-container .button:hover .icon i {
  transform: translate(-50%, -50%);
}

.featured .summary {
  padding: 60px 15px;
}

.featured .bits {
  background: #0f111b;
  color: #f5f5f5;
  padding: 30px;
  position: absolute;
  top: calc(100% + 30px);
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 60px);
}

.featured .bits ul {
  margin: 0;
  padding: 0;
  list-style: none;
  column-count: 1;
}

.featured .bits ul::after {
  clear: both;
  content: "";
  display: block;
}

.featured .bits ul li {
  font-size: 3.5vw;
}

.more {
  padding: 0;
  background-color: #fff;
  z-index: 10;
}

.more .details {
  padding-top: 180px;
  padding-bottom: 120px;
}

.more .details h3 {
  font-size: 6vw;
  margin-bottom: 15px;
}

.more .details h4 {
  font-size: 5vw;
}

.more .clients {
  padding-bottom: 80px;
}

.more .clients h3 {
  font-size: 6vw;
  text-align: left;
  margin-bottom: 30px;
}

.more .clients ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.more .clients ul::after {
  clear: both;
  content: "";
  display: block;
}

.more .clients ul a {
  color: #0f111b;
  transition: ease color 300ms;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
}

.more .clients ul a:after {
  font-family: "Font Awesome 5 Pro";
  content: '\f08e';
  font-size: .7em;
  padding-left: 8px;
}

.more .clients ul a:hover {
  color: #e5743a;
  text-decoration: none;
}

.fancybox-bg {
  background: #fff;
}

.fancybox-is-open .fancybox-bg {
  opacity: 1;
}

.fancybox-close-small {
  height: 30px;
  width: 30px;
  background: transparent;
  color: #e5743a;
}

.fancybox-close-small:after {
  font-family: 'Font Awesome 5 Pro';
  font-size: 30px;
  content: '\f00d';
  background: transparent;
  border-radius: 0;
  transition: ease color 300ms;
}

.fancybox-close-small:hover, .fancybox-close-small:focus, .fancybox-close-small:active {
  background: transparent;
}

.fancybox-close-small:hover:after, .fancybox-close-small:focus:after, .fancybox-close-small:active:after {
  color: #e5743a;
  background: transparent;
}

.hero {
  height: calc(200vh - 30px);
  width: 100%;
  padding-top: 30px;
  position: relative;
  overflow: hidden;
  z-index: 10;
}

.hero.fixed {
  position: fixed;
  top: 0;
  left: 30px;
  margin-top: 0;
  width: calc(100% - 60px);
}

.hero .background {
  width: 100%;
  height: 100%;
  background-color: #0f111b;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.hero pre {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.hero pre code {
  position: fixed;
  white-space: nowrap;
  font-family: "IBM Plex Mono", Georgia, Times, "Times New Roman", serif;
  background: none;
  z-index: 2;
  font-size: 2vw;
  opacity: .5;
}

.hero .overlay {
  background: #f5f5f5;
  position: absolute;
  top: calc(20% - 10px);
  right: 0;
  height: 60%;
  width: 100%;
  transition: ease all 600ms;
  z-index: 2;
}

.scrolled .hero .overlay {
  height: 0;
  top: 100%;
}

.hero .copy {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  transition: ease all 600ms;
  z-index: 2;
}

.scrolled .hero .copy {
  top: 100%;
}

.hero .copy h1 {
  font-size: 10vw;
  color: #f5f5f5;
  letter-spacing: -.05vw;
  position: absolute;
}

.hero .copy h1.position-1 {
  top: calc(40% - 20px);
  transform: translateY(-50%);
  right: initial;
  left: 45px;
}

.hero .copy h1.position-2 {
  top: calc(40% + 30px);
  transform: translateY(-50%);
  left: 45px;
}

.hero .copy h1.dark {
  color: #0f111b;
}

.hero .copy .content {
  position: absolute;
  top: calc(40% + 60px);
  left: 40px;
  width: 100%;
}

.hero .copy .content ul {
  margin: 0;
  padding: 0;
  list-style: none;
  position: absolute;
  padding-left: 10px;
  font-family: "IBM Plex Mono", Georgia, Times, "Times New Roman", serif;
}

.hero .copy .content ul::after {
  clear: both;
  content: "";
  display: block;
}

.hero .copy .content ul li {
  font-size: 3vw;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
}

.hero .copy .content ul li:before {
  content: '//';
  color: #e5743a;
  margin-right: 10px;
  font-weight: 600;
}

.hero .intro {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  width: calc(70vw - 60px);
  opacity: 0;
  transition: ease all 300ms;
  transition-delay: 300ms;
  z-index: 2;
}

.scrolled .hero .intro {
  opacity: 1;
}

.hero .intro h2 {
  font-size: 5vw;
}

.hero .intro h2 .orange {
  color: #e5743a;
}

.hero .intro p {
  font-size: 3vw;
  font-family: "IBM Plex Mono", Georgia, Times, "Times New Roman", serif;
}

.callout-wrap {
  height: calc(100vh - 60px);
  width: 100%;
  position: relative;
  background-color: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  z-index: 10;
}

.callout-wrap .callout {
  width: 100%;
  text-align: center;
}

.callout-wrap .callout h2 {
  font-size: 8vw;
}

.outro {
  z-index: 10;
  background-color: #f5f5f5;
  padding: 80px 30px;
}

.outro .content h2 {
  font-size: 6vw;
}

.outro .content .button {
  background-color: #e5743a;
  padding: 10px 30px;
  font-size: 4vw;
  transition: ease all 300ms;
}

.outro .content .button:hover {
  background-color: #000;
}

.widget {
  margin: 0 0 1.5rem;
}

.widget select {
  max-width: 100%;
}

.widget_search .search-submit {
  display: none;
}

@media screen and (min-width: 640px) {
  .comment-form input:not(.submit) {
    max-width: 15.625rem;
  }
  .comment-form-author label,
  .comment-form-email label,
  .comment-form-url label {
    width: 4.6875rem;
  }
  .comment-list .children {
    padding-left: 2.1875rem;
  }
  table thead {
    display: table-row-group;
  }
  table th,
  table td {
    display: table-cell;
  }
  table th {
    display: table-cell;
  }
  table tr {
    display: table-row;
    margin-bottom: 0;
  }
  table td {
    border-bottom: 0;
  }
  table {
    border: 0.0625rem solid #ccc;
  }
  .gform_wrapper select {
    width: 49%;
  }
  .gform_wrapper .gform_body .gform_fields .gfield select,
  .gform_wrapper.gf_browser_chrome .gform_body .gform_fields .gfield select {
    width: 49% !important;
  }
  #content .gform_wrapper input[type="text"],
  #content .gform_wrapper input[type="url"],
  #content .gform_wrapper input[type="email"],
  #content .gform_wrapper input[type="tel"],
  #content .gform_wrapper input[type="number"],
  #content .gform_wrapper input[type="password"],
  #content .gform_wrapper input[type="file"],
  #content .gform_wrapper textarea {
    width: 49%;
  }
  #content .gform_wrapper .gf_left_half input[type="text"],
  #content .gform_wrapper .gf_left_half input[type="url"],
  #content .gform_wrapper .gf_left_half input[type="email"],
  #content .gform_wrapper .gf_left_half input[type="tel"],
  #content .gform_wrapper .gf_left_half input[type="number"],
  #content .gform_wrapper .gf_left_half input[type="password"],
  #content .gform_wrapper .gf_left_half input[type="file"],
  #content .gform_wrapper .gf_right_half input[type="text"],
  #content .gform_wrapper .gf_right_half input[type="url"],
  #content .gform_wrapper .gf_right_half input[type="email"],
  #content .gform_wrapper .gf_right_half input[type="tel"],
  #content .gform_wrapper .gf_right_half input[type="number"],
  #content .gform_wrapper .gf_right_half input[type="password"],
  #content .gform_wrapper .gf_right_half input[type="file"] {
    width: 100%;
  }
  #content .gform_wrapper .gf_left_half,
  #content .gform_wrapper .gf_right_half {
    width: 49%;
  }
  #content .gform_wrapper .gf_left_half {
    margin-right: 2%;
  }
}

@media screen and (min-width: 768px) {
  .comment-list .children {
    padding-left: 3.75rem;
  }
  .contact {
    width: 40vw;
  }
  .contact {
    width: 40vw;
  }
}

@media only screen and (min-width: 768px) {
  .navbar .dropdown-menu:before {
    content: '';
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    padding: 15px;
  }
  .navbar .dropdown-menu:after {
    content: '';
    border: inset 7px;
    border-bottom-style: solid;
    border-color: transparent transparent #fff transparent;
    display: block;
    height: 0;
    width: 0;
    position: absolute;
    top: -14px;
    left: 20px;
  }
}

@media screen and (min-width: 992px) {
  p,
  ul,
  ol {
    font-size: 1.1vw;
  }
  #page {
    border-right: 60px solid #fff;
    border-left: 60px solid #fff;
  }
  .site-footer {
    padding: 60px 0;
  }
  .site-footer .site-info p {
    font-size: .85vw;
  }
  .right-border {
    width: 60px;
  }
  .bottom-border {
    height: 60px;
  }
  .left-border {
    width: 60px;
  }
  .site-header {
    width: calc(100% - 120px);
  }
  .navbar-brand {
    font-size: 1.4em;
  }
  .navbar {
    height: 60px;
  }
  .navbar input[type="text"] {
    font-size: 1.4em;
    height: 60px;
    width: initial;
  }
  .navbar .contact-button {
    padding: 15px 60px;
    font-size: 1.4em;
  }
  .community {
    right: 20px;
    bottom: 60px;
  }
  .community a {
    font-size: 18px;
    margin-top: 0;
  }
  .site-footer {
    padding: 60px 0;
  }
  .site-footer .site-info p {
    font-size: .85vw;
  }
  .right-border {
    width: 60px;
  }
  .bottom-border {
    height: 60px;
  }
  .left-border {
    width: 60px;
  }
  .home-about .skills-wrap {
    padding: 60px;
  }
  .home-about .skills-wrap h3 {
    font-size: 3vw;
  }
  .home-about .skills-wrap h4 {
    font-size: 1.5vw;
  }
  .home-about .skills-wrap .tools h3 {
    font-size: 1.5vw;
  }
  .home-about .skills-wrap .tools i {
    font-size: 4vw;
    margin: 0 30px 0 0;
  }
  .home-about .skills-wrap .tools figure {
    margin-bottom: 0;
  }
  .featured-heading {
    padding: 80px 0;
  }
  .featured-heading h2 {
    font-size: 3vw;
  }
  .featured .content-container {
    padding-bottom: 0;
  }
  .featured .content-container h3 {
    font-size: 3vw;
  }
  .featured .summary {
    padding: 200px 30px;
  }
  .featured .bits {
    top: calc(100% - 45px);
  }
  .featured .bits ul {
    column-count: 2;
  }
  .featured .bits ul li {
    font-size: 1vw;
  }
  .more .details {
    padding-top: 160px;
    padding-bottom: 120px;
  }
  .more .details h3 {
    font-size: 3vw;
  }
  .more .details h4 {
    font-size: 1.5vw;
  }
  .more .clients h3 {
    text-align: center;
    font-size: 2vw;
  }
  .hero {
    height: calc(200vh - 60px);
    padding-top: 60px;
  }
  .hero.fixed {
    height: calc(100vh - 60px);
    width: calc(100% - 120px);
    left: 60px;
    padding-top: 60px;
  }
  .hero pre code {
    font-size: 1.1vw;
  }
  .hero .overlay {
    top: 0;
    height: 100%;
    width: 60%;
  }
  .scrolled .hero .overlay {
    width: 0;
    height: 100%;
    top: 0;
  }
  .scrolled .hero .copy {
    top: 0;
    left: 100%;
  }
  .hero .copy h1 {
    font-size: 7vw;
    letter-spacing: -.35vw;
  }
  .hero .copy h1.position-1 {
    top: 50%;
    transform: translateY(-50%);
    left: initial;
    right: calc(60% + 3.5vw);
  }
  .hero .copy h1.position-2 {
    top: 50%;
    transform: translateY(-50%);
    left: calc(40% + 3.5vw);
  }
  .hero .copy .content {
    top: calc(50% + 5vw);
    left: calc(40% + 3.5vw);
    width: 100%;
  }
  .hero .copy .content ul li {
    font-size: 1.1vw;
  }
  .hero .intro {
    width: 26vw;
  }
  .hero .intro h2 {
    font-size: 2.5vw;
  }
  .hero .intro p {
    font-size: 1.2vw;
  }
  .callout-wrap {
    height: calc(100vh - 120px);
  }
  .callout-wrap .callout h2 {
    font-size: 3vw;
  }
  .outro {
    padding: 120px 0;
  }
  .outro .content h2 {
    font-size: 2.5vw;
  }
  .outro .content .button {
    font-size: 1.2vw;
    padding: 15px 50px;
  }
}

@media only screen and (max-width: 640px) {
  section {
    padding: 30px;
  }
}

@media only screen and (max-width: 767px) {
  .container [class^='col-lg-']:not(:first-of-type):not([class*='col-md-']) {
    margin-top: 30px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fYm94LXNpemluZy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwidXRpbGl0aWVzL3ZhcmlhYmxlcy9fY29sb3JzLnNjc3MiLCJ1dGlsaXRpZXMvdmFyaWFibGVzL190eXBvZ3JhcGh5LnNjc3MiLCJ1dGlsaXRpZXMvbWl4aW5zL191bml0cy1vZi1tZWFzdXJlLnNjc3MiLCJ1dGlsaXRpZXMvbWl4aW5zL193b3JkLWJyZWFrLnNjc3MiLCJiYXNlL19hY2Nlc3NpYmlsaXR5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fc2l6ZS5zY3NzIiwidXRpbGl0aWVzL3ZhcmlhYmxlcy9fYm94LW1vZGVsLnNjc3MiLCJiYXNlL19hbGlnbm1lbnRzLnNjc3MiLCJ1dGlsaXRpZXMvbWl4aW5zL19tYXJnaW4tYXV0by5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL21peGlucy9fY2xlYXJmaXguc2NzcyIsImJhc2UvX2VsZW1lbnRzLnNjc3MiLCJiYXNlL19oZWxwZXItY2xhc3Nlcy5zY3NzIiwic3R5bGUuY3NzIiwiYmFzZS9fbWVkaWEuc2NzcyIsInV0aWxpdGllcy9taXhpbnMvX21hcmdpbi1wYWRkaW5nLXJlc2V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcG9zaXRpb24uc2NzcyIsImJhc2UvX3dpbmRvdy1yZWFkeS5zY3NzIiwic3RydWN0dXJlL19sYXlvdXQuc2NzcyIsIm1vZHVsZXMvX2NvbW1lbnRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fc3Bhbi1jb2x1bW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fcHJpdmF0ZS5zY3NzIiwibW9kdWxlcy9fY29udGVudC5zY3NzIiwibW9kdWxlcy9fZm9vdGVyLnNjc3MiLCJ1dGlsaXRpZXMvbWl4aW5zL19saXN0LXJlc2V0LnNjc3MiLCJtb2R1bGVzL19mb3Jtcy5zY3NzIiwibW9kdWxlcy9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3B4LXRvLXJlbS5zY3NzIiwibW9kdWxlcy9faGVhZGVyLnNjc3MiLCJtb2R1bGVzL19oZXJvLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwibW9kdWxlcy9faWNvbnMuc2NzcyIsIm1vZHVsZXMvX21vYmlsZS1uYXZpZ2F0aW9uLnNjc3MiLCJtb2R1bGVzL19uYXZpZ2F0aW9uLnNjc3MiLCJtb2R1bGVzL19zb2NpYWwuc2NzcyIsIm1vZHVsZXMvX3RhYmxlcy5zY3NzIiwicGx1Z2lucy9famV0cGFjay5zY3NzIiwicGx1Z2lucy9fZ3Jhdml0eS1mb3Jtcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3RyaWFuZ2xlLnNjc3MiLCJ2aWV3cy9fYmxvY2staG9tZS1hYm91dC5zY3NzIiwidmlld3MvX2ZhbmN5Ym94LnNjc3MiLCJ2aWV3cy9faG9tZXBhZ2Uuc2NzcyIsIndpZGdldHMvX3dpZGdldHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19tZWRpYS5zY3NzIiwidXRpbGl0aWVzL21peGlucy9fYnJlYWtwb2ludHMu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cEI7O0FBcEJKO0VBa0JLLGNBQTBCO0NBQzFCOztBQW5CTDtFekJzQ0ksaUJITXlDO0VHQXpDLGdCSEF5QztFNEI3QnpDLGM5QmdCb0I7QzhCWHBCOztBQXBCSjtFQWtCSyxjQUEwQjtDQUMxQjs7QUFuQkw7RXpCc0NJLGlCSE15QztFR0F6QyxnQkhBeUM7RTRCN0J6QyxjOUJpQnNCO0M4Qlp0Qjs7QUFwQko7RUFrQkssY0FBMEI7Q0FDMUI7O0FBbkJMO0V6QnNDSSxpQkhNeUM7RUdBekMsZ0JIQXlDO0U0QjdCekMsYzlCaUJzQjtDOEJadEI7O0FBcEJKO0VBa0JLLGNBQTBCO0NBQzFCOztBQW5CTDtFekJzQ0ksaUJITXlDO0VHQXpDLGdCSEF5QztFNEI3QnpDLGM5QmtCcUI7QzhCYnJCOztBQXBCSjtFQWtCSyxjQUEwQjtDQUMxQjs7QUFuQkw7RXpCc0NJLGlCSE15QztFR0F6QyxnQkhBeUM7RTRCN0J6QyxjOUJrQnFCO0M4QmJyQjs7QUFwQko7RUFrQkssY0FBMEI7Q0FDMUI7O0FBbkJMO0V6QnNDSSxpQkhNeUM7RUdBekMsZ0JIQXlDO0U0QjdCekMsYzlCbUJvQjtDOEJkcEI7O0FBcEJKO0VBa0JLLGNBQTBCO0NBQzFCOztBQW5CTDtFekJzQ0ksaUJITXlDO0VHQXpDLGdCSEF5QztFNEI3QnpDLGM5Qm1Cb0I7QzhCZHBCOztBQXBCSjtFQWtCSyxjQUEwQjtDQUMxQjs7QUFuQkw7RXpCc0NJLGlCSE15QztFR0F6QyxnQkhBeUM7RTRCN0J6QyxjOUJvQnFCO0M4QmZyQjs7QUFwQko7RUFrQkssY0FBMEI7Q0FDMUI7O0FBbkJMO0V6QnNDSSxpQkhNeUM7RUdBekMsZ0JIQXlDO0U0QjdCekMsYzlCb0JxQjtDOEJmckI7O0FBcEJKO0VBa0JLLGNBQTBCO0NBQzFCOztBQW5CTDtFekJzQ0ksaUJITXlDO0VHQXpDLGdCSEF5QztFNEI3QnpDLFc5QnFCWTtDOEJoQlo7O0FBcEJKO0VBa0JLLGNBQTBCO0NBQzFCOztBQW5CTDtFekJzQ0ksaUJITXlDO0VHQXpDLGdCSEF5QztFNEI3QnpDLFc5QnFCWTtDOEJo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RUV4Ukg7SUFTUSwyQkFBMEI7SUFDMUIsa0JBQWlCO0dBMk54QjtFQXJPRDtJQXFCWSwyQkFBMEI7SUFDMUIsMEJBQXlCO0lBQ3pCLFdBQVU7SUFDVixrQkFBaUI7R0FFeEI7RUExQkw7SUF5REksaUJBQWdCO0dBRWpCO0VBM0RIO0lBeUVZLE9BQU07SUFDTixhQUFZO0lBQ1osV0FBVTtHQWFqQjtFQVZHO0lBS0osU0FBUTtJQUNSLGFBQVk7SUFDWixPQUFNO0dBRUQ7RUFZRDtJQUlKLE9BQU07SUFDTixXQUFVO0dBRUw7RUExR1Q7SUFtSGdCLGVBQWM7SUFDZCx1QkFBc0I7R0FnQzdCO0VBcEpUO0lBOEhvQixTQUFRO0lBQ1IsNEJBQTJCO0lBQzNCLGNBQWE7SUFDYix5QkFBd0I7R0FFL0I7RUFuSWI7SUEySW9CLFNBQVE7SUFDUiw0QkFBMkI7SUFDM0Isd0JBQXVCO0dBRTlCO0VBL0liO0lBNkpnQixxQkFBb0I7SUFDcEIsd0JBQXVCO0lBQ3ZCLFlBQVc7R0EwQmxCO0VBekxUO0lBOEt3QixpQkFBZ0I7R0FTdkI7RUF2TGpCO0lBeU1ZLFlBQVc7R0EyQmxCO0VBcE9MO0lBb05JLGlCQUFnQjtHQU1YO0VBMU5UO0lBaU9JLGlCQUFnQjtHQUVYO0VBSVQ7SUFXRSw0QkFBMkI7R0FlNUI7RUExQkQ7SUFzQkksZUFBYztHQUVmO0VBSUg7SUFNRSxpQkFBZ0I7R0E0QmpCO0VBbENEO0lBY0ksaUJBQWdCO0dBRWpCO0VBaEJIO0lBeUJJLGlCQUFnQjtJQUNoQixtQkFBa0I7R0FNbkI7QzVCaE9GOztBS3RCQTtFQXJCRDtJQXNCRSxjQUFhO0dBR2Q7Q0xnaUJBOztBK0I5a0JPO0UxQitEUDtJQUNDLGlCQUFnQjtHQUNoQjtDTDZoQkQiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcblRoZW1lIE5hbWU6IFphYyBGb3JzbWFuXG5UaGVtZSBVUkk6IGh0dHA6Ly9zdGFydGVyc2l0ZS5jb21cbkF1dGhvcjogWmFjIEZvcnNtYW5cbkF1dGhvciBVUkk6IGh0dHA6Ly93d3cuemFjZm9yc21hbi5jb21cbkRlc2NyaXB0aW9uOiBaYWMgRm9yc21hbiBUaGVtZSBCdWlsZFxuVmVyc2lvbjogMS4wLjBcbkxpY2Vuc2U6IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyIG9yIGxhdGVyXG5MaWNlbnNlIFVSSTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbFxuVGV4dCBEb21haW46IHphY2ZvcnNtYW5cblRhZ3M6IGN1c3RvbVxuXG5UaGlzIHRoZW1lLCBsaWtlIFdvcmRQcmVzcywgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTC5cblxuQmFzZWQgb24gVW5kZXJzY29yZXMgaHR0cDovL3VuZGVyc2NvcmVzLm1lLywgKEMpIDIwMTItMjAxNyBBdXRvbWF0dGljLCBJbmMuXG5cbiovXG5cbiRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2U7XG5AaW1wb3J0IFwiYm91cmJvblwiO1xuQGltcG9ydCBcInV0aWxpdGllcy92YXJpYWJsZXMvaW5kZXhcIjtcbkBpbXBvcnQgXCJuZWF0XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL21peGlucy9pbmRleFwiO1xuQGltcG9ydCBcImFzc2V0cy9ib3dlcl9jb21wb25lbnRzL2FuaW1hdGUuY3NzL2FuaW1hdGUuY3NzXCI7XG5cbkBpbXBvcnQgXCJiYXNlL2luZGV4XCI7XG5AaW1wb3J0IFwic3RydWN0dXJlL2luZGV4XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9pbmRleFwiO1xuQGltcG9ydCBcInBsdWdpbnMvaW5kZXhcIjtcbkBpbXBvcnQgXCJ2aWV3cy9pbmRleFwiO1xuQGltcG9ydCBcIndpZGdldHMvaW5kZXhcIjtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGlmICRib3JkZXItYm94LXNpemluZyA9PSB0cnVlIHtcbiAgaHRtbCB7IC8vIGh0dHA6Ly9iaXQubHkvMXFrMnRWUlxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAqIHtcbiAgICAmLFxuICAgICY6OmFmdGVyLFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVHlwb2dyYXBoeVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5ib2R5LFxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdGNvbG9yOiAkY29sb3ItdGV4dC1tYWluO1xuXHRmb250LWZhbWlseTogJGZvbnQtc2Fucztcblx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1ib2R5O1xufSAvLyBib2R5LCBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIExpbmtzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmEsXG5hOnZpc2l0ZWQge1xuXHRjb2xvcjogJGNvbG9yLWxpbms7XG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyxcblx0JjphY3RpdmUge1xuXHRcdGNvbG9yOiAkY29sb3ItbGluay1ob3Zlcjtcblx0fSAvLyAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZVxufSAvLyBhXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhlYWRlcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuaDEsXG4uaDEge1xuXG59IC8vIGgxLCAuaDFcblxuaDIsXG4uaDIge1xuXG59IC8vIGgyLCAuaDJcblxuaDMsXG4uaDMge1xuXG59IC8vIGgzLCAuaDNcblxuaDQsXG4uaDQge1xuXG59IC8vIGg0LCAuaDRcblxuaDUsXG4uaDUge1xuXG59ICAvLyBoNSwgLmg1XG5cbmg2LFxuLmg2IHtcblxufSAvLyBoNiwgLmg2XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvcHlcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucCxcbnVsLFxub2wge1xuXHRtYXJnaW46IDAgMCByZW0oMjQpIDA7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1zZXJpZjtcblx0Zm9udC1zaXplOiAzLjc1dnc7XG5cblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG5cdFx0Zm9udC1zaXplOiAxLjF2dztcblx0fVxufSAvLyBwXG5cbnVsLnNsYXNoZXMge1xuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdGxpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogc3RhcnQ7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcvLyc7XG5cdFx0XHRjb2xvcjogJGNvbG9yLXRoZW1lLXRlcnRpYXJ5O1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IC41cmVtO1xuXHRcdFx0Zm9udC1zaXplOiAuOWVtO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0uMXJlbTtcblx0XHR9XG5cdH1cbn1cblxuYixcbnN0cm9uZyB7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG59IC8vIGIsIHN0cm9uZ1xuXG5kZm4sXG5jaXRlLFxuZW0sXG5pIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufSAvLyBkZm4sIGNpdGUsIGVtLCBpXG5cbmJsb2NrcXVvdGUsXG5xIHtcblx0bWFyZ2luOiAwIHJlbSgyNCk7XG5cdHF1b3RlczogXCJcIiBcIlwiO1xuXG5cdCY6OmJlZm9yZSxcblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdH0gIC8vICY6OmJlZm9yZSwgJjo6YWZ0ZXJcbn0gLy8gYmxvY2txdW90ZSwgcVxuXG5hZGRyZXNzIHtcblx0bWFyZ2luOiAwIDAgcmVtKDI0KSAwO1xufSAvLyBhZGRyZXNzXG5cbnByZSB7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1wcmU7XG5cdGZvbnQtc2l6ZTogcmVtKDE1KTtcblx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1wcmU7XG5cdG1hcmdpbjogMCAwIHJlbSgyNCk7XG5cdG1heC13aWR0aDogMTAwJTtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdHBhZGRpbmc6IHJlbSgyNCk7XG59IC8vIHByZVxuXG5jb2RlLFxua2JkLFxudHQsXG52YXIge1xuXHRmb250LWZhbWlseTogJGZvbnQtY29kZTtcblx0Zm9udC1zaXplOiByZW0oMTUpO1xufSAvLyBjb2RlLCBrYmQsIHR0LCB2YXJcblxuYWJicixcbmFjcm9ueW0ge1xuXHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRjb2xvci1ib3JkZXItYWJicjtcblx0Y3Vyc29yOiBoZWxwO1xufSAvLyBhYmJyLCBhY3JvbnltXG5cbm1hcmssXG5pbnMge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59IC8vIG1hcmssIGluc1xuXG5zdXAsXG5zdWIge1xuXHRmb250LXNpemU6IDc1JTtcblx0aGVpZ2h0OiAwO1xuXHRsaW5lLWhlaWdodDogMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59IC8vIHN1cCwgc3ViXG5cbnN1cCB7XG5cdGJvdHRvbTogMWV4O1xufSAvLyBzdXBcblxuc3ViIHtcblx0dG9wOiAwLjVleDtcbn0gLy8gc3ViXG5cbnNtYWxsIHtcblx0Zm9udC1zaXplOiA3NSU7XG59IC8vIHNtYWxsXG5cbmJpZyB7XG5cdGZvbnQtc2l6ZTogMTI1JTtcbn0gLy8gYmlnXG5cbi8vIFdvcmQgV3JhcHBpbmdcbi5lbnRyeS10aXRsZSxcbi5lbnRyeS1jb250ZW50LFxuLmNvbW1lbnRzLXRpdGxlLFxuLmNvbW1lbnQtY29udGVudCxcbi53aWRnZXQtdGl0bGUsXG4ud2lkZ2V0IHtcblx0QGluY2x1ZGUgd29yZC1icmVhaztcbn0gLy8gLmVudHJ5LXRpdGxlLCAuZW50cnktY29udGVudCwgLmNvbW1lbnRzLXRpdGxlLCAuY29tbWVudC1jb250ZW50LCAud2lkZ2V0LXRpdGxlLCAud2lkZ2V0XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgIENPTE9SU1xuLy8gICAgLSBQcmltYXJ5IHBhbGV0dGVcbi8vICAgIC0gR3JheXNjYWxlXG4vLyAgICAtIFNvY2lhbCBNZWRpYSBDb2xvcnNcbi8vICAgICAgIC0gJHNvY2lhbC1jb2xvcnMoKSBtYXBcbi8vXG4vLyAgIEVMRU1FTlRTICYgU0tJTk5JTkdcbi8vICAgICAtIEdlbmVyYWxcbi8vICAgICAtIEFjY2Vzc2liaWxpdHlcbi8vICAgICAtIExpbmtzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ09MT1JTXG5cbi8vIFByaW1hcnkgcGFsZXR0ZVxuJGNvbG9yLXRoZW1lLXByaW1hcnk6ICNmNWY1ZjU7XG4kY29sb3ItdGhlbWUtc2Vjb25kYXJ5OiAjMGYxMTFiO1xuJGNvbG9yLXRoZW1lLXRlcnRpYXJ5OiAjZTU3NDNhO1xuJGNvbG9yLWJsYWNrOiAjMDAwO1xuJGNvbG9yLXdoaXRlOiAjZmZmO1xuXG4vLyBHcmF5c2NhbGVcbiRjb2xvci1ncmF5OiAjODA4MDgwO1xuJGNvbG9yLWdyYXktYmc6ICNlZmVmZWY7XG4kY29sb3ItY29kLWdyYXk6ICMxMTE7XG4kY29sb3ItbWluZXNoYWZ0OiAjMzMzO1xuJGNvbG9yLWRvdmUtZ3JheTogIzY2NjtcbiRjb2xvci1ncmF5LWFsdDogIzkyOTI5MjtcbiRjb2xvci1zaWx2ZXItY2hhbGljZTogI2FhYTtcbiRjb2xvci1zaWx2ZXI6ICNjY2M7XG4kY29sb3ItYWx0bzogI2RkZDtcbiRjb2xvci1nYWxsZXJ5OiAjZWVlO1xuJGNvbG9yLXdoaXRlc21va2U6ICNmMWYxZjE7XG5cbi8vIFNvY2lhbCBNZWRpYSBDb2xvcnNcbiRjb2xvci1mYWNlYm9vazogIzNiNTk5ODtcbiRjb2xvci1nb29nbGVwbHVzOiAjZGQ0YjM5O1xuJGNvbG9yLWluc3RhZ3JhbTogIzUxN2ZhNDtcbiRjb2xvci1saW5rZWRpbjogIzAwN2JiNjtcbiRjb2xvci1waW50ZXJlc3Q6ICNjYjIwMjc7XG4kY29sb3ItcnNzOiAjZjkwO1xuJGNvbG9yLXR3aXR0ZXI6ICMwMGFjZWQ7XG4kY29sb3IteW91dHViZTogI2IwMDtcblxuLy8gJHNvY2lhbC1jb2xvcnMoKSBtYXBcbiRzb2NpYWwtY29sb3JzOiAoXG5cdGZhY2Vib29rOiAkY29sb3ItZmFjZWJvb2ssXG5cdGZhY2Vib29rLXNxdWFyZTogJGNvbG9yLWZhY2Vib29rLFxuXHRnb29nbGVwbHVzOiAkY29sb3ItZ29vZ2xlcGx1cyxcblx0Z29vZ2xlcGx1cy1zcXVhcmU6ICRjb2xvci1nb29nbGVwbHVzLFxuXHRpbnN0YWdyYW06ICRjb2xvci1pbnN0YWdyYW0sXG5cdGluc3RhZ3JhbS1zcXVhcmU6ICRjb2xvci1pbnN0YWdyYW0sXG5cdGxpbmtlZGluOiAkY29sb3ItbGlua2VkaW4sXG5cdGxpbmtlZGluLXNxdWFyZTogJGNvbG9yLWxpbmtlZGluLFxuXHRwaW50ZXJlc3Q6ICRjb2xvci1waW50ZXJlc3QsXG5cdHBpbnRlcmVzdC1zcXVhcmU6ICRjb2xvci1waW50ZXJlc3QsXG5cdHJzczogJGNvbG9yLXJzcyxcblx0cnNzLXNxdWFyZTogJGNvbG9yLXJzcyxcblx0dHdpdHRlcjogJGNvbG9yLXR3aXR0ZXIsXG5cdHR3aXR0ZXItc3F1YXJlOiAkY29sb3ItdHdpdHRlcixcblx0eW91dHViZTogJGNvbG9yLXlvdXR1YmUsXG5cdHlvdXR1YmUtc3F1YXJlOiAkY29sb3IteW91dHViZSxcbik7XG5cbi8vIEVMRU1FTlRTICYgU0tJTk5JTkdcblxuLy8gR2VuZXJhbFxuJGNvbG9yLWJhY2tncm91bmQtYm9keTogJGNvbG9yLXdoaXRlO1xuJGNvbG9yLXRleHQtbWFpbjogJGNvbG9yLXRoZW1lLXNlY29uZGFyeTtcbiRjb2xvci1iYWNrZ3JvdW5kLWhyOiAkY29sb3Itc2lsdmVyO1xuJGNvbG9yLWJvcmRlci1hYmJyOiAkY29sb3ItZG92ZS1ncmF5O1xuXG4vLyBBY2Nlc3NpYmlsaXR5XG4kY29sb3ItYmFja2dyb3VuZC1zY3JlZW4tcmVhZGVyOiAkY29sb3Itd2hpdGVzbW9rZTtcbiRjb2xvci10ZXh0LXNjcmVlbi1yZWFkZXI6ICRjb2xvci10aGVtZS1wcmltYXJ5O1xuXG4vLyBMaW5rc1xuJGNvbG9yLWxpbms6ICRjb2xvci10aGVtZS1wcmltYXJ5O1xuJGNvbG9yLWxpbmstdmlzaXRlZDogJGNvbG9yLXRoZW1lLXByaW1hcnk7XG4kY29sb3ItbGluay1ob3ZlcjogJGNvbG9yLXRoZW1lLXByaW1hcnk7XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUeXBvZ3JhcGh5XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYmFzZS1jb250ZXh0OiAxNjtcblxuJGZvbnQtc2FuczogIFwiU291cmNlIFNhbnMgUHJvXCIsIHNhbnMtc2VyaWY7XG4kZm9udC1zZXJpZjogXCJJQk0gUGxleCBNb25vXCIsIEdlb3JnaWEsIFRpbWVzLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbiRmb250LWNvZGU6IE1vbmFjbywgQ29uc29sYXMsIFwiQW5kYWxlIE1vbm9cIiwgXCJEZWphVnUgU2FucyBNb25vXCIsIG1vbm9zcGFjZTtcbiRmb250LXByZTogXCJDb3VyaWVyIDEwIFBpdGNoXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcblxuJGxpbmUtaGVpZ2h0LWJvZHk6IDEuNjI1O1xuJGxpbmUtaGVpZ2h0LXByZTogJGxpbmUtaGVpZ2h0LWJvZHk7XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTaXplIENvbnZlcnNpb24gU0NTUyBNaXhpbnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU3RyaXAgVW5pdHMgRm9ya2VkIGZyb20gQm91cmJvbiA0IGh0dHBzOi8vZ2l0aHViLmNvbS90aG91Z2h0Ym90L2JvdXJib24vYmxvYi92NC1zdGFibGUvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3N0cmlwLXVuaXRzLnNjc3Ncbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcblx0QGlmIHR5cGUtb2YoJG51bWJlcikgPT0gXCJudW1iZXJcIiBhbmQgbm90IHVuaXRsZXNzKCRudW1iZXIpIHtcblx0XHRAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcblx0fVxuXG5cdEByZXR1cm4gJG51bWJlcjtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUFggdG8gRU0gRm9ya2VkIGZyb20gQm91cmJvbiA0IGh0dHBzOi8vZ2l0aHViLmNvbS90aG91Z2h0Ym90L2JvdXJib24vYmxvYi92NC1zdGFibGUvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3B4LXRvLWVtLnNjc3Ncbi8vIFVzYWdlIGVtKDEyKSDigJQgZGVmYXVsdHMgY29udGV4dCB0byAxNlxuLy8gVXNhZ2UgZW0oMTIsIDE2KSA9IHNhbWUgYXMgYWJvdmUuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AZnVuY3Rpb24gZW0oJHBpeGVsdmFsdWUsICRjb250ZXh0OiAkYmFzZS1jb250ZXh0KSB7XG5cblx0QGlmIG5vdCB1bml0bGVzcygkcGl4ZWx2YWx1ZSkge1xuXHRcdCRwaXhlbHZhbHVlOiBzdHJpcC11bml0cygkcGl4ZWx2YWx1ZSk7XG5cdH1cblxuXHRAaWYgbm90IHVuaXRsZXNzKCRjb250ZXh0KSB7XG5cdFx0JGJhc2U6IHN0cmlwLXVuaXRzKCRjb250ZXh0KTtcblx0fVxuXG5cdEByZXR1cm4gKCRwaXhlbHZhbHVlIC8gJGJhc2UtY29udGV4dCkgKiAxZW07XG59XG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUFggdG8gUkVNIEZvcmtlZCBmcm9tIEJvdXJib24gNCBodHRwczovL2dpdGh1Yi5jb20vdGhvdWdodGJvdC9ib3VyYm9uL2Jsb2IvdjQtc3RhYmxlL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19weC10by1yZW0uc2Nzc1xuLy8gVXNhZ2UgZW0oMTIpIOKAlCBkZWZhdWx0cyBjb250ZXh0IHRvIDE2XG4vLyBVc2FnZSBlbSgxMiwgMTYpID0gc2FtZSBhcyBhYm92ZS5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBmdW5jdGlvbiByZW0oJHBpeGVsdmFsdWUsICRjb250ZXh0OiAkYmFzZS1jb250ZXh0KSB7XG5cblx0QGlmIG5vdCB1bml0bGVzcygkcGl4ZWx2YWx1ZSkge1xuXHRcdCRwaXhlbHZhbHVlOiBzdHJpcC11bml0cygkcGl4ZWx2YWx1ZSk7XG5cdH1cblxuXHRAaWYgbm90IHVuaXRsZXNzKCRjb250ZXh0KSB7XG5cdFx0JGJhc2U6IHN0cmlwLXVuaXRzKCRjb250ZXh0KTtcblx0fVxuXG5cdEByZXR1cm4gKCRwaXhlbHZhbHVlIC8gJGJhc2UtY29udGV4dCkgKiAxcmVtO1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBVbml0bGVzcyBMaW5lIEhlaWdodFxuLy8gVXNhZ2UgbGgoMTIpID0gbGgoMTIsMTIpID0gMVxuLy8gVXNhZ2UgbGgoMjQsIDEyKSA9IDJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBmdW5jdGlvbiBsaCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQ6ICRmb250LXNpemUpIHtcblxuXHRAaWYgbm90IHVuaXRsZXNzKCRmb250LXNpemUpIHtcblx0XHQkZm9udC1zaXplOiBzdHJpcC11bml0cygkZm9udC1zaXplKTtcblx0fVxuXG5cdEBpZiBub3QgdW5pdGxlc3MoJGxpbmUtaGVpZ2h0KSB7XG5cdFx0JGxpbmUtaGVpZ2h0OiBzdHJpcC11bml0cygkbGluZS1oZWlnaHQpO1xuXHR9XG5cblx0QHJldHVybiAkZm9udC1zaXplIC8gJGxpbmUtaGVpZ2h0O1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gV29yZCBCcmVha1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8vXG4vLy8gQGF1dGhvciBTdGFjeSBLdmVybm1vXG4vLy8gQGdyb3VwIHdkc1xuLy8vL1xuXG4vLy8gS2VlcCB3b3JkcyB0b2dldGhlciBpZiBwb3NzaWJsZSwgYnV0IGZvcmNlIGJyZWFrIGFueXRoaW5nIHRoYXQgaXMgdG9vIGxvbmdcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdvcmQtYnJlYWsgW2tlZXAtYWxsXVxuLy8vICAgICAgYG5vcm1hbGAgfCBgYnJlYWstYWxsYCB8IGBrZWVwLWFsbGBcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy93b3JkLWJyZWFrIFZpZXcgYmFja2dyb3VuZCBpbmZvcm1hdGlvbiBhYm91dCB3b3JkLWJyZWFrIGhlcmVcbi8vLyBAbGluayBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvM2YwOWU2OWE3M2UxNDg1OWY5NjcgVmlldyB3b3JkLWJyZWFrIGluIGFjdGlvblxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIFNhc3Ncbi8vLyAgICAuYnJlYWstbG9uZy13b3Jkcy1vbmx5IHtcbi8vLyAgICAgICAgQGluY2x1ZGUgd29yZC1icmVhayhrZWVwLWFsbCk7XG4vLy8gICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIENTUyBPdXRwdXRcbi8vLyAgICAuYnJlYWstbG9uZy13b3Jkcy1vbmx5IHtcbi8vLyAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbi8vLyAgICAgICAgICAgIHdvcmQtYnJlYWs6IGtlZXAtYWxsO1xuLy8vICAgICB9XG5cblxuQG1peGluIHdvcmQtYnJlYWsoJHdvcmQtYnJlYWs6IGtlZXAtYWxsKSB7XG5cdHdvcmQtYnJlYWs6ICR3b3JkLWJyZWFrO1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBY2Nlc3NpYmlsaXR5XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhpZGUgdGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVyc1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG5cdEBpbmNsdWRlIHNpemUocmVtKDEpKTtcblxuXHRjbGlwOiByZWN0KHJlbSgxKSwgcmVtKDEpLCByZW0oMSksIHJlbSgxKSk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gZG8gbm90IHNtdWNoIHRleHQgaW4gc2NyZWVuIHJlYWRlcnNcblxuXHQmOmhvdmVyLFxuXHQmOmFjdGl2ZSxcblx0Jjpmb2N1cyB7XG5cdFx0QGluY2x1ZGUgc2l6ZShhdXRvKTtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrZ3JvdW5kLXNjcmVlbi1yZWFkZXI7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cdFx0Ym94LXNoYWRvdzogMCAwIHJlbSgyKSByZW0oMikgcmdiYSgkY29sb3ItYmxhY2ssIDAuNik7XG5cdFx0Y2xpcDogYXV0bztcblx0XHRjb2xvcjogJGNvbG9yLXRleHQtc2NyZWVuLXJlYWRlcjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmb250LXNpemU6IHJlbSgxNCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsZWZ0OiByZW0oNSk7XG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRwYWRkaW5nOiByZW0oMTUpIHJlbSgyMykgcmVtKDE0KTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dG9wOiByZW0oNSk7XG5cdFx0ei1pbmRleDogMTAwMDAwOyAvLyBBYm92ZSBXUCB0b29sYmFyXG5cdH0gLy8gJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXNcbn0gLy8gLnNjcmVlbi1yZWFkZXItdGV4dFxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU2V0cyB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgb2YgdGhlIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaXplXG4vLy8gICBBIGxpc3Qgb2YgYXQgbW9zdCAyIHNpemUgdmFsdWVzLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIHZhbHVlIGluIGAkc2l6ZWAgaXQgaXMgdXNlZCBmb3IgYm90aCB3aWR0aCBhbmQgaGVpZ2h0LiBBbGwgdW5pdHMgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoYXV0byAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IDJlbTtcbi8vLyAgICAgaGVpZ2h0OiAyZW07XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiBhdXRvO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAdG9kbyBSZWZhY3RvciBpbiA1LjAuMCB0byB1c2UgYSBjb21tYS1zZXBhcmF0ZWQgYXJndW1lbnRcblxuQG1peGluIHNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JGhlaWdodH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkaGVpZ2h0YCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCR3aWR0aCkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cblxuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJveCBNb2RlbFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYm9yZGVyLXJhZGl1czogM3B4O1xuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQWxpZ25tZW50c1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBMZWZ0IEFsaWduXG4uYWxpZ25sZWZ0IHtcblx0ZGlzcGxheTogaW5saW5lO1xuXHRmbG9hdDogbGVmdDtcblx0bWFyZ2luOiAwIHJlbSgyNCkgMCAwO1xufSAvLyAuYWxpZ25sZWZ0XG5cbi8vIFJpZ2h0IEFsaWduXG4uYWxpZ25yaWdodCB7XG5cdGRpc3BsYXk6IGlubGluZTtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRtYXJnaW46IDAgMCAwIHJlbSgyNCk7XG59IC8vIC5hbGlnbnJpZ2h0XG5cbi8vIENlbnRlciBBbGlnblxuLmFsaWduY2VudGVyIHtcblx0QGluY2x1ZGUgbWFyZ2luLWF1dG87XG59IC8vIC5hbGlnbmNlbnRlclxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWFyZ2luIGF1dG9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vL1xuLy8vIEBhdXRob3IgRGFtb24gQ29va1xuLy8vIEBncm91cCB3ZHNcbi8vLy9cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXIgYSBibG9jayBlbGVtZW50XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQmFzaWMgVXNhZ2UgU2Fzc1xuLy8vICAgIC5jZW50ZXItbXktYmxvY2stdGhpbmdpZSB7XG4vLy8gICAgICAgIEBpbmNsdWRlIG1hcmdpbi1hdXRvKCk7XG4vLy8gICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIENTUyBPdXRwdXRcbi8vLyAgICAuY2VudGVyLW15LWJsb2NrLXRoaW5naWUge1xuLy8vICAgICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4vLy8gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbi8vLyAgICB9XG5cbkBtaXhpbiBtYXJnaW4tYXV0byB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gaW5jbHVkZSBhIGNsZWFyZml4IGZvciBjb250YWluaW5nIGZsb2F0cy5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly9nb28uZ2wveVA1aGlaXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzXG4vLy8gICAuZWxlbWVudDo6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgICAgY29udGVudDogXCJcIjtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICB9XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIVE1MIEVsZW1lbnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmh0bWwge1xuXHQmLmZhbmN5Ym94LWVuYWJsZWQge1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHR9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIElmcmFtZXNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZW1iZWQsXG5pZnJhbWUsXG5vYmplY3Qge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59IC8vIGVtYmVkLCBpZnJhbWUsIG9iamVjdFxuXG5ociB7XG5cdEBpbmNsdWRlIHNpemUoYXV0byAxcHgpO1xuXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrZ3JvdW5kLWhyO1xuXHRib3JkZXI6IDA7XG5cdG1hcmdpbjogMCAwIHJlbSgyNCkgMDtcbn0gLy8gaHJcblxuZmlndXJlIHtcblx0bWFyZ2luOiAwO1xufSAvLyBmaWd1cmVcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTGlzdHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudWwsXG5vbCB7XG5cdG1hcmdpbjogMCAwIHJlbSg0OCkgcmVtKDI0KTtcbn0gLy8gdWwsIG9sXG5cbnVsIHtcblx0bGlzdC1zdHlsZTogZGlzYztcbn0gLy8gdWxcblxub2wge1xuXHRsaXN0LXN0eWxlOiBkZWNpbWFsO1xufSAvLyBvbFxuXG5saSA+IHVsLFxubGkgPiBvbCB7XG5cdG1hcmdpbjogMCAwIDAgcmVtKDI0KTtcbn0gLy8gbGkgPiB1bCwgbGkgPiBvbFxuXG5kdCB7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG59IC8vIGR0XG5cbmRkIHtcblx0bWFyZ2luOiAwIHJlbSgyNCkgcmVtKDI0KSAwO1xufSAvLyBkZFxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUYWJsZXNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudGFibGUge1xuXHRAaW5jbHVkZSBzaXplKDEwMCUgYXV0byk7XG5cblx0bWFyZ2luOiAwIDAgcmVtKDI0KSAwO1xufSAvLyB0YWJsZVxuXG50aCB7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG59IC8vIHRoXG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIZWxwZXIgQ2xhc3Nlc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBCYWNrZ3JvdW5kIEltYWdlc1xuLmJnLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbi5iZy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41KTtcbn1cblxuLm9yYW5nZSB7XG4gICAgY29sb3I6ICRjb2xvci10aGVtZS10ZXJ0aWFyeTtcbn1cblxuLnNsYXNoZXMge1xuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJy8vJztcblx0XHRjb2xvcjogJGNvbG9yLXRoZW1lLXRlcnRpYXJ5O1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRtYXJnaW4tcmlnaHQ6IC41cmVtO1xuXHRcdGZvbnQtc2l6ZTogLjllbTtcblx0XHRsZXR0ZXItc3BhY2luZzogLS4xcmVtO1xuXHR9XG59XG5cbi5ibGluayB7XG5cdGFuaW1hdGlvbjogZmFkZSA4MDBtcyBpbmZpbml0ZTtcblxuXHRAa2V5ZnJhbWVzIGZhZGUge1xuXHRcdGZyb20geyBvcGFjaXR5OiAxLjA7IH1cblx0XHQ1MCUgeyBvcGFjaXR5OiAwOyB9XG5cdFx0dG8geyBvcGFjaXR5OiAxLjA7IH1cblx0fVxufVxuXG4vLyBGbGV4Ym94XG4uZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cbi5pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG4uZmxleC1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG4uZmxleC1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuLmZsZXgtY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmZsZXgtY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbn1cbi5qdXN0aWZ5LXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4uanVzdGlmeS1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4uanVzdGlmeS1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uanVzdGlmeS1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuLmp1c3RpZnktY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5hbGlnbi1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYWxpZ24tc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuLmFsaWduLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuLmFsaWduLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuIiwiLypcblRoZW1lIE5hbWU6IFphYyBGb3JzbWFuXG5UaGVtZSBVUkk6IGh0dHA6Ly9zdGFydGVyc2l0ZS5jb21cbkF1dGhvcjogWmFjIEZvcnNtYW5cbkF1dGhvciBVUkk6IGh0dHA6Ly93d3cuemFjZm9yc21hbi5jb21cbkRlc2NyaXB0aW9uOiBaYWMgRm9yc21hbiBUaGVtZSBCdWlsZFxuVmVyc2lvbjogMS4wLjBcbkxpY2Vuc2U6IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyIG9yIGxhdGVyXG5MaWNlbnNlIFVSSTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbFxuVGV4dCBEb21haW46IHphY2ZvcnNtYW5cblRhZ3M6IGN1c3RvbVxuXG5UaGlzIHRoZW1lLCBsaWtlIFdvcmRQcmVzcywgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTC5cblxuQmFzZWQgb24gVW5kZXJzY29yZXMgaHR0cDovL3VuZGVyc2NvcmVzLm1lLywgKEMpIDIwMTItMjAxNyBBdXRvbWF0dGljLCBJbmMuXG5cbiovXG5AaW1wb3J0IHVybChhc3NldHMvYm93ZXJfY29tcG9uZW50cy9hbmltYXRlLmNzcy9hbmltYXRlLmNzcyk7XG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKiwgKjo6YWZ0ZXIsICo6OmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHksXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6ICMwZjExMWI7XG4gIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS42MjU7XG59XG5cbmEsXG5hOnZpc2l0ZWQge1xuICBjb2xvcjogI2Y1ZjVmNTtcbn1cblxuYTpob3ZlciwgYTpmb2N1cywgYTphY3RpdmUsXG5hOnZpc2l0ZWQ6aG92ZXIsXG5hOnZpc2l0ZWQ6Zm9jdXMsXG5hOnZpc2l0ZWQ6YWN0aXZlIHtcbiAgY29sb3I6ICNmNWY1ZjU7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbnAsXG51bCxcbm9sIHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtIDA7XG4gIGZvbnQtZmFtaWx5OiBcIklCTSBQbGV4IE1vbm9cIiwgR2VvcmdpYSwgVGltZXMsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuICBmb250LXNpemU6IDMuNzV2dztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgcCxcbiAgdWwsXG4gIG9sIHtcbiAgICBmb250LXNpemU6IDEuMXZ3O1xuICB9XG59XG5cbnVsLnNsYXNoZXM6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbnVsLnNsYXNoZXMgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG51bC5zbGFzaGVzIGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcvLyc7XG4gIGNvbG9yOiAjZTU3NDNhO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICBmb250LXNpemU6IC45ZW07XG4gIGxldHRlci1zcGFjaW5nOiAtLjFyZW07XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5kZm4sXG5jaXRlLFxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5ibG9ja3F1b3RlLFxucSB7XG4gIG1hcmdpbjogMCAxLjVyZW07XG4gIHF1b3RlczogXCJcIiBcIlwiO1xufVxuXG5ibG9ja3F1b3RlOjpiZWZvcmUsIGJsb2NrcXVvdGU6OmFmdGVyLFxucTo6YmVmb3JlLFxucTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtIDA7XG59XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkNvdXJpZXIgMTAgUGl0Y2hcIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjI1O1xuICBtYXJnaW46IDAgMCAxLjVyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBhZGRpbmc6IDEuNXJlbTtcbn1cblxuY29kZSxcbmtiZCxcbnR0LFxudmFyIHtcbiAgZm9udC1mYW1pbHk6IE1vbmFjbywgQ29uc29sYXMsIFwiQW5kYWxlIE1vbm9cIiwgXCJEZWphVnUgU2FucyBNb25vXCIsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG59XG5cbmFiYnIsXG5hY3JvbnltIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjNjY2O1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbm1hcmssXG5pbnMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbnN1cCxcbnN1YiB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBoZWlnaHQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgYm90dG9tOiAxZXg7XG59XG5cbnN1YiB7XG4gIHRvcDogMC41ZXg7XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA3NSU7XG59XG5cbmJpZyB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbn1cblxuLmVudHJ5LXRpdGxlLFxuLmVudHJ5LWNvbnRlbnQsXG4uY29tbWVudHMtdGl0bGUsXG4uY29tbWVudC1jb250ZW50LFxuLndpZGdldC10aXRsZSxcbi53aWRnZXQge1xuICB3b3JkLWJyZWFrOiBrZWVwLWFsbDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgaGVpZ2h0OiAwLjA2MjVyZW07XG4gIHdpZHRoOiAwLjA2MjVyZW07XG4gIGNsaXA6IHJlY3QoMC4wNjI1cmVtLCAwLjA2MjVyZW0sIDAuMDYyNXJlbSwgMC4wNjI1cmVtKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmhvdmVyLCAuc2NyZWVuLXJlYWRlci10ZXh0OmFjdGl2ZSwgLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDAuMTI1cmVtIDAuMTI1cmVtIHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0bztcbiAgY29sb3I6ICNmNWY1ZjU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZWZ0OiAwLjMxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjQzNzVyZW0gMC44NzVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiAwLjMxMjVyZW07XG4gIHotaW5kZXg6IDEwMDAwMDtcbn1cblxuLmFsaWdubGVmdCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAxLjVyZW0gMCAwO1xufVxuXG4uYWxpZ25yaWdodCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDAgMCAwIDEuNXJlbTtcbn1cblxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5jbGVhcjo6YWZ0ZXIsXG4uZW50cnktY29udGVudDo6YWZ0ZXIsXG4uY29tbWVudC1jb250ZW50OjphZnRlcixcbi5zaXRlLWhlYWRlcjo6YWZ0ZXIsXG4uc2l0ZS1jb250ZW50OjphZnRlcixcbi5zaXRlLWZvb3Rlcjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmh0bWwuZmFuY3lib3gtZW5hYmxlZCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5lbWJlZCxcbmlmcmFtZSxcbm9iamVjdCB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuaHIge1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwIDAgMS41cmVtIDA7XG59XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxudWwsXG5vbCB7XG4gIG1hcmdpbjogMCAwIDNyZW0gMS41cmVtO1xufVxuXG51bCB7XG4gIGxpc3Qtc3R5bGU6IGRpc2M7XG59XG5cbm9sIHtcbiAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbn1cblxubGkgPiB1bCxcbmxpID4gb2wge1xuICBtYXJnaW46IDAgMCAwIDEuNXJlbTtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5kZCB7XG4gIG1hcmdpbjogMCAxLjVyZW0gMS41cmVtIDA7XG59XG5cbnRhYmxlIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIDAgMS41cmVtIDA7XG59XG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmJnLWltYWdlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLmJnLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4ub3JhbmdlIHtcbiAgY29sb3I6ICNlNTc0M2E7XG59XG5cbi5zbGFzaGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcvLyc7XG4gIGNvbG9yOiAjZTU3NDNhO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICBmb250LXNpemU6IC45ZW07XG4gIGxldHRlci1zcGFjaW5nOiAtLjFyZW07XG59XG5cbi5ibGluayB7XG4gIGFuaW1hdGlvbjogZmFkZSA4MDBtcyBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBmYWRlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMS4wO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMS4wO1xuICB9XG59XG5cbi5mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmlubGluZS1mbGV4IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5cbi5mbGV4LXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5mbGV4LXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4uZmxleC1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZmxleC1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbn1cblxuLmp1c3RpZnktc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5qdXN0aWZ5LWVuZCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5qdXN0aWZ5LWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5qdXN0aWZ5LWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4uanVzdGlmeS1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFsaWduLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5hbGlnbi1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uYWxpZ24tZW5kIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4ucGFnZS1jb250ZW50IGltZy53cC1zbWlsZXksXG4uZW50cnktY29udGVudCBpbWcud3Atc21pbGV5LFxuLmNvbW1lbnQtY29udGVudCBpbWcud3Atc21pbGV5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbmltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5pbWc6bm90KGlucHV0KSB7XG4gIHVzZXItZHJhZzogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7XG59XG5cbi53cC1jYXB0aW9uIHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtIDA7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLndwLWNhcHRpb24gaW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLndwLWNhcHRpb24uYWxpZ25jZW50ZXIge1xuICBtYXJnaW46IDAgYXV0byAxLjVyZW0gYXV0bztcbn1cblxuLndwLWNhcHRpb24uYWxpZ25sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG59XG5cbi53cC1jYXB0aW9uLmFsaWducmlnaHQge1xuICBtYXJnaW4tbGVmdDogMS41cmVtO1xufVxuXG4ud3AtY2FwdGlvbiAud3AtY2FwdGlvbi10ZXh0IHtcbiAgbWFyZ2luOiAwLjc1cmVtIDA7XG59XG5cbi53cC1jYXB0aW9uLXRleHQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5nYWxsZXJ5IHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtIDA7XG59XG5cbi5nYWxsZXJ5LWl0ZW0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW0ge1xuICBtYXgtd2lkdGg6IDUwJTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy0zIC5nYWxsZXJ5LWl0ZW0ge1xuICBtYXgtd2lkdGg6IDMzLjMzJTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW0ge1xuICBtYXgtd2lkdGg6IDI1JTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy01IC5nYWxsZXJ5LWl0ZW0ge1xuICBtYXgtd2lkdGg6IDIwJTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy02IC5nYWxsZXJ5LWl0ZW0ge1xuICBtYXgtd2lkdGg6IDE2LjY2JTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy03IC5nYWxsZXJ5LWl0ZW0ge1xuICBtYXgtd2lkdGg6IDE0LjI4JTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy04IC5nYWxsZXJ5LWl0ZW0ge1xuICBtYXgtd2lkdGg6IDEyLjUlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTkgLmdhbGxlcnktaXRlbSB7XG4gIG1heC13aWR0aDogMTEuMTElO1xufVxuXG4uZ2FsbGVyeS1jYXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5mbHVpZC1lbWJlZCB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmx1aWQtZW1iZWQgZW1iZWQsXG4uZmx1aWQtZW1iZWQgb2JqZWN0LFxuLmZsdWlkLWVtYmVkIGlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaW1hZ2UtYXMtYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi52aWRlby1hcy1iYWNrZ3JvdW5kIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLnN2Zy1kZWZzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm5vdC1yZWFkeSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5yZWFkeSAubm90LXJlYWR5IHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuI3BhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIGJvcmRlci1yaWdodDogMzBweCBzb2xpZCAjZmZmO1xuICBib3JkZXItbGVmdDogMzBweCBzb2xpZCAjZmZmO1xuICBib3JkZXItYm90dG9tOiA2MHB4IHNvbGlkICNmZmY7XG4gIGhlaWdodDogMTAwdmg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICNwYWdlIHtcbiAgICBib3JkZXItcmlnaHQ6IDYwcHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItbGVmdDogNjBweCBzb2xpZCAjZmZmO1xuICB9XG59XG5cbiNwYWdlICNtYWluIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IHZpc2libGU7XG59XG5cbnNlY3Rpb24gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuc2VjdGlvbiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbnNlY3Rpb24gOm9ubHktY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIHNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gIH1cbn1cblxuLndyYXAge1xuICBtYXgtd2lkdGg6IDExMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi50ZXh0LXdyYXAge1xuICBtYXgtd2lkdGg6IDc1MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuY29udGFpbmVyIFtjbGFzc149J2NvbC1sZy0nXTpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdChbY2xhc3MqPSdjb2wtbWQtJ10pIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG59XG5cbi5jb21tZW50cy10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG4uY29tbWVudC1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uY29tbWVudC1tZXRhIHtcbiAgbWFyZ2luOiAwIDAgMC44NzVyZW0gMDtcbn1cblxuLmF2YXRhciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgMC42MjVyZW0gMCAwO1xufVxuXG4uYnlwb3N0YXV0aG9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jb21tZW50LWZvcm0ge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMS4yNSU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY29tbWVudC1mb3JtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5jb21tZW50LWZvcm0gaW5wdXQ6bm90KC5zdWJtaXQpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5jb21tZW50LWZvcm0gaW5wdXQ6bm90KC5zdWJtaXQpIHtcbiAgICBtYXgtd2lkdGg6IDE1LjYyNXJlbTtcbiAgfVxufVxuXG4uY29tbWVudC1mb3JtLWF1dGhvciBsYWJlbCxcbi5jb21tZW50LWZvcm0tZW1haWwgbGFiZWwsXG4uY29tbWVudC1mb3JtLXVybCBsYWJlbCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxLjI1JTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb21tZW50LWZvcm0tYXV0aG9yIGxhYmVsOmxhc3QtY2hpbGQsXG4uY29tbWVudC1mb3JtLWVtYWlsIGxhYmVsOmxhc3QtY2hpbGQsXG4uY29tbWVudC1mb3JtLXVybCBsYWJlbDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAuY29tbWVudC1mb3JtLWF1dGhvciBsYWJlbCxcbiAgLmNvbW1lbnQtZm9ybS1lbWFpbCBsYWJlbCxcbiAgLmNvbW1lbnQtZm9ybS11cmwgbGFiZWwge1xuICAgIHdpZHRoOiA0LjY4NzVyZW07XG4gIH1cbn1cblxuLmNvbW1lbnQtbGlzdCAuY2hpbGRyZW4ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAuY29tbWVudC1saXN0IC5jaGlsZHJlbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjE4NzVyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbW1lbnQtbGlzdCAuY2hpbGRyZW4ge1xuICAgIHBhZGRpbmctbGVmdDogMy43NXJlbTtcbiAgfVxufVxuXG4uZW50cnktdGl0bGUge1xuICBmb250LXNpemU6IDIuMjVyZW07XG59XG5cbi5zdGlja3ksXG4uY29tbWVudHMtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaGVudHJ5IHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtIDA7XG59XG5cbi5ieWxpbmUsXG4udXBkYXRlZDpub3QoLnB1Ymxpc2hlZCkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2luZ2xlIC5ieWxpbmUsXG4uZ3JvdXAtYmxvZyAuYnlsaW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4ucGFnZS1jb250ZW50LFxuLmVudHJ5LWNvbnRlbnQsXG4uZW50cnktc3VtbWFyeSB7XG4gIG1hcmdpbjogMS41cmVtIDAgMDtcbn1cblxuLnBhZ2UtbGlua3Mge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAwIDAgMS41cmVtIDA7XG59XG5cbi5lZGl0LWxpbmsge1xuICBtYXJnaW46IDAgMS41cmVtO1xufVxuXG4uYmxvZyAuZm9ybWF0LWFzaWRlIC5lbnRyeS10aXRsZSxcbi5hcmNoaXZlIC5mb3JtYXQtYXNpZGUgLmVudHJ5LXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNpdGUtZm9vdGVyIHtcbiAgY29sb3I6ICMwZjExMWI7XG4gIHBhZGRpbmc6IDYwcHggMCAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB6LWluZGV4OiAxMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc2l0ZS1mb290ZXIge1xuICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgfVxufVxuXG4uc2l0ZS1mb290ZXIgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc2l0ZS1mb290ZXIgLm1lbnUtZm9vdGVyLW1lbnUtY29udGFpbmVyIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uc2l0ZS1mb290ZXIgLm1lbnUtZm9vdGVyLW1lbnUtY29udGFpbmVyIHVsOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNpdGUtZm9vdGVyIC5tZW51LWZvb3Rlci1tZW51LWNvbnRhaW5lciB1bCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDIwcHggMCAwO1xufVxuXG4uc2l0ZS1mb290ZXIgLm1lbnUtZm9vdGVyLW1lbnUtY29udGFpbmVyIHVsIGxpOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnNpdGUtZm9vdGVyIC5zaXRlLWluZm8ge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5zaXRlLWZvb3RlciAuc2l0ZS1pbmZvIHAge1xuICBmb250LXNpemU6IDIuNXZ3O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc2l0ZS1mb290ZXIgLnNpdGUtaW5mbyBwIHtcbiAgICBmb250LXNpemU6IC44NXZ3O1xuICB9XG59XG5cbi5zaXRlLWZvb3RlciAuc2l0ZS1pbmZvIGEge1xuICBjb2xvcjogI2U1NzQzYTtcbn1cblxuLnNjcm9sbC1kb3duIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDUwcHg7XG4gIHJpZ2h0OiAxMCU7XG4gIHotaW5kZXg6IDEwMDtcbiAgY29sb3I6ICNlNTc0M2E7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBlYXNlIGFsbCAzMDBtcztcbn1cblxuLnNjcm9sbC1kb3duLmhpZGUge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2Nyb2xsLWRvd24gc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTIwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWZhbWlseTogXCJJQk0gUGxleCBNb25vXCIsIEdlb3JnaWEsIFRpbWVzLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbn1cblxuLnNjcm9sbC1kb3duIC5hcnJvdyB7XG4gIGhlaWdodDogNzBweDtcbiAgd2lkdGg6IDFweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTU3NDNhO1xuICBhbmltYXRpb246IGJvdW5jZSAxMjAwbXMgaW5maW5pdGU7XG59XG5cbi5zY3JvbGwtZG93biAuYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTc0M2E7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMnB4O1xuICBsZWZ0OiAtNXB4O1xufVxuXG4uc2Nyb2xsLWRvd24gLmFycm93OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTc0M2E7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0ycHg7XG4gIHJpZ2h0OiAtNXB4O1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20ge1xuICAgIGJvdHRvbTogLTEwcHg7XG4gIH1cbiAgNTAlIHtcbiAgICBib3R0b206IDA7XG4gIH1cbiAgdG8ge1xuICAgIGJvdHRvbTogLTEwcHg7XG4gIH1cbn1cblxuLnJpZ2h0LWJvcmRlciB7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAzMHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHotaW5kZXg6IDExO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAucmlnaHQtYm9yZGVyIHtcbiAgICB3aWR0aDogNjBweDtcbiAgfVxufVxuXG4uYm90dG9tLWJvcmRlciB7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB6LWluZGV4OiAxMTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmJvdHRvbS1ib3JkZXIge1xuICAgIGhlaWdodDogNjBweDtcbiAgfVxufVxuXG4ubGVmdC1ib3JkZXIge1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMzBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHotaW5kZXg6IDExO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAubGVmdC1ib3JkZXIge1xuICAgIHdpZHRoOiA2MHB4O1xuICB9XG59XG5cbi5jb250YWN0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDkwdnc7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29udGFjdCB7XG4gICAgd2lkdGg6IDQwdnc7XG4gIH1cbn1cblxuLmNvbnRhY3QgLndwY2Y3IGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1NzQzYTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAxNXB4O1xufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbmxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICByZXNpemU6IHZlcnRpY2FsO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotbXMtY2xlYXIsXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotbXMtY2xlYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInJhbmdlXCJdLFxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0sXG5pbnB1dFt0eXBlPVwid2Vla1wiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxudGV4dGFyZWEge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgI2U1NzQzYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICM2NjY7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHBhZGRpbmc6IDVweCA1cHggNXB4IDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyYW5nZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJjb2xvclwiXTpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjVmNWY1O1xuICBjb2xvcjogIzExMTtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IDEyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICNlNTc0M2EgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5mb3JtLXdyYXAge1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBwYWRkaW5nOiAyMHB4IDI1cHg7XG59XG5cbi5mb3JtLXdyYXAgLmZvcm0td3JhcF9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mb3JtLXdyYXAgbmYtZmllbGQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLmZvcm0td3JhcCBuZi1maWVsZCAuc3VibWl0LWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZvcm0td3JhcCAubGFiZWwtYWJvdmUgLm5mLWZpZWxkLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uZm9ybS13cmFwIC5sYWJlbC1hYm92ZSAubmYtZmllbGQtbGFiZWwgbGFiZWwge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uZm9ybS13cmFwIC5uZi1iZWZvcmUtZm9ybS1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZvcm0td3JhcCBpbnB1dCxcbi5mb3JtLXdyYXAgdGV4dGFyZWEsXG4uZm9ybS13cmFwIHNlbGVjdCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYnV0dG9uLFxuYnV0dG9uLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgY29sb3I6ICNmZmY7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4zNzVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmJ1dHRvbjpob3ZlcixcbmJ1dHRvbjpob3ZlcixcbmlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXG5pbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbn1cblxuLmJ1dHRvbjphY3RpdmUsIC5idXR0b246Zm9jdXMsXG5idXR0b246YWN0aXZlLFxuYnV0dG9uOmZvY3VzLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUsXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG59XG5cbi5zaXRlLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogOTk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zaXRlLWhlYWRlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgfVxufVxuXG4uaGVyby1hcmVhIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5oZXJvLWFyZWE6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5oZXJvLWFyZWEgLmhlcm8tY29udGVudCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAzMS4yNXJlbTtcbiAgbWluLWhlaWdodDogMzEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAzO1xufVxuXG4uaGVyby1hcmVhIC5oZXJvLWNvbnRlbnQgLmhlcm8tdGl0bGUsXG4uaGVyby1hcmVhIC5oZXJvLWNvbnRlbnQgLmhlcm8tZGVzY3JpcHRpb24sXG4uaGVyby1hcmVhIC5oZXJvLWNvbnRlbnQgLmhlcm8tYnV0dG9uIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5oZXJvLWFyZWEgLmhlcm8tY29udGVudCAuaGVyby1kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG59XG5cbi5oZXJvLWFyZWEgLmhlcm8tY29udGVudCAuaGVyby1idXR0b24ge1xuICBwYWRkaW5nOiAwLjc1cmVtIDIuNXJlbTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG59XG5cbi5oZXJvLWFyZWEgLmhlcm8tY29udGVudCAuaGVyby1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNvY2lhbC1pY29ucyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnNvY2lhbC1pY29uczo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zb2NpYWwtaWNvbnM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24tZmFjZWJvb2sge1xuICBoZWlnaHQ6IDEuODc1cmVtO1xuICB3aWR0aDogMS44NzVyZW07XG4gIGZpbGw6ICMzYjU5OTg7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLWZhY2Vib29rOmhvdmVyIHtcbiAgZmlsbDogIzcxOGRjODtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24tZmFjZWJvb2stc3F1YXJlIHtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBmaWxsOiAjM2I1OTk4O1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1mYWNlYm9vay1zcXVhcmU6aG92ZXIge1xuICBmaWxsOiAjNzE4ZGM4O1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1nb29nbGVwbHVzIHtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBmaWxsOiAjZGQ0YjM5O1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1nb29nbGVwbHVzOmhvdmVyIHtcbiAgZmlsbDogI2VjOWE5MDtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24tZ29vZ2xlcGx1cy1zcXVhcmUge1xuICBoZWlnaHQ6IDEuODc1cmVtO1xuICB3aWR0aDogMS44NzVyZW07XG4gIGZpbGw6ICNkZDRiMzk7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLWdvb2dsZXBsdXMtc3F1YXJlOmhvdmVyIHtcbiAgZmlsbDogI2VjOWE5MDtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24taW5zdGFncmFtIHtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBmaWxsOiAjNTE3ZmE0O1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1pbnN0YWdyYW06aG92ZXIge1xuICBmaWxsOiAjOTJiMGM5O1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1pbnN0YWdyYW0tc3F1YXJlIHtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBmaWxsOiAjNTE3ZmE0O1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1pbnN0YWdyYW0tc3F1YXJlOmhvdmVyIHtcbiAgZmlsbDogIzkyYjBjOTtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24tbGlua2VkaW4ge1xuICBoZWlnaHQ6IDEuODc1cmVtO1xuICB3aWR0aDogMS44NzVyZW07XG4gIGZpbGw6ICMwMDdiYjY7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLWxpbmtlZGluOmhvdmVyIHtcbiAgZmlsbDogIzFkYjZmZjtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24tbGlua2VkaW4tc3F1YXJlIHtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBmaWxsOiAjMDA3YmI2O1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1saW5rZWRpbi1zcXVhcmU6aG92ZXIge1xuICBmaWxsOiAjMWRiNmZmO1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1waW50ZXJlc3Qge1xuICBoZWlnaHQ6IDEuODc1cmVtO1xuICB3aWR0aDogMS44NzVyZW07XG4gIGZpbGw6ICNjYjIwMjc7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLXBpbnRlcmVzdDpob3ZlciB7XG4gIGZpbGw6ICNlNzZhNmY7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLXBpbnRlcmVzdC1zcXVhcmUge1xuICBoZWlnaHQ6IDEuODc1cmVtO1xuICB3aWR0aDogMS44NzVyZW07XG4gIGZpbGw6ICNjYjIwMjc7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLXBpbnRlcmVzdC1zcXVhcmU6aG92ZXIge1xuICBmaWxsOiAjZTc2YTZmO1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1yc3Mge1xuICBoZWlnaHQ6IDEuODc1cmVtO1xuICB3aWR0aDogMS44NzVyZW07XG4gIGZpbGw6ICNmOTA7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLXJzczpob3ZlciB7XG4gIGZpbGw6ICNmZmMyNjY7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLXJzcy1zcXVhcmUge1xuICBoZWlnaHQ6IDEuODc1cmVtO1xuICB3aWR0aDogMS44NzVyZW07XG4gIGZpbGw6ICNmOTA7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLXJzcy1zcXVhcmU6aG92ZXIge1xuICBmaWxsOiAjZmZjMjY2O1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi10d2l0dGVyIHtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBmaWxsOiAjMDBhY2VkO1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi10d2l0dGVyOmhvdmVyIHtcbiAgZmlsbDogIzU0ZDBmZjtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24tdHdpdHRlci1zcXVhcmUge1xuICBoZWlnaHQ6IDEuODc1cmVtO1xuICB3aWR0aDogMS44NzVyZW07XG4gIGZpbGw6ICMwMGFjZWQ7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLXR3aXR0ZXItc3F1YXJlOmhvdmVyIHtcbiAgZmlsbDogIzU0ZDBmZjtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24teW91dHViZSB7XG4gIGhlaWdodDogMS44NzVyZW07XG4gIHdpZHRoOiAxLjg3NXJlbTtcbiAgZmlsbDogI2IwMDtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24teW91dHViZTpob3ZlciB7XG4gIGZpbGw6ICNmZjIyMjI7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLXlvdXR1YmUtc3F1YXJlIHtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBmaWxsOiAjYjAwO1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi15b3V0dWJlLXNxdWFyZTpob3ZlciB7XG4gIGZpbGw6ICNmZjIyMjI7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5uYXZiYXItdG9nZ2xlciB7XG4gIG1hcmdpbjogMzVweCAwIDA7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5uYXZiYXItdG9nZ2xlcjpob3ZlciwgLm5hdmJhci10b2dnbGVyOmFjdGl2ZSwgLm5hdmJhci10b2dnbGVyOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5uYXZiYXItdG9nZ2xlcjpub3QoLmNvbGxhcHNlZCkgI21lbnUtaWNvbiBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5uYXZiYXItdG9nZ2xlcjpub3QoLmNvbGxhcHNlZCkgI21lbnUtaWNvbiBzcGFuOmJlZm9yZSxcbi5uYXZiYXItdG9nZ2xlcjpub3QoLmNvbGxhcHNlZCkgI21lbnUtaWNvbiBzcGFuOmFmdGVyIHtcbiAgdG9wOiA4cHg7XG4gIGxlZnQ6IDA7XG59XG5cbi5uYXZiYXItdG9nZ2xlcjpub3QoLmNvbGxhcHNlZCkgI21lbnUtaWNvbiBzcGFuOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLm5hdmJhci10b2dnbGVyOm5vdCguY29sbGFwc2VkKSAjbWVudS1pY29uIHNwYW46YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4jbWVudS1pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDM1cHggMTBweCAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICB6LWluZGV4OiAxMDtcbn1cblxuI21lbnUtaWNvbiBzcGFuLFxuI21lbnUtaWNvbiBzcGFuOmJlZm9yZSxcbiNtZW51LWljb24gc3BhbjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogNHB4O1xuICB3aWR0aDogMzVweDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2UtaW4tb3V0O1xuICBjb250ZW50OiAnJztcbn1cblxuI21lbnUtaWNvbiBzcGFuOmJlZm9yZSB7XG4gIHRvcDogOHB4O1xufVxuXG4jbWVudS1pY29uIHNwYW46YWZ0ZXIge1xuICB0b3A6IDE2cHg7XG59XG5cbi5oZWFkZXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbi5uYXZiYXItYnJhbmQge1xuICBmb250LWZhbWlseTogXCJTb3VyY2UgU2FucyBQcm9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAuODVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gIH1cbn1cblxuLm5hdmJhci1icmFuZCBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5uYXZiYXIge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZm9udC1mYW1pbHk6IFwiSUJNIFBsZXggTW9ub1wiLCBHZW9yZ2lhLCBUaW1lcywgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAubmF2YmFyIHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gIH1cbn1cblxuLm5hdmJhci5uYXZiYXItZXhwYW5kLWxnIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1jb2xsYXBzZSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1hcmdpbjogMzVweCAwIDA7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1jb2xsYXBzZSBsaTpsYXN0LW9mLXR5cGUgYSB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5uYXZiYXIgLm5hdmJhci1uYXYge1xuICBtYXJnaW46IDA7XG59XG5cbi5uYXZiYXIgLmRyb3Bkb3duLW1lbnUge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbjogMTVweCAwIDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdmJhciAuZHJvcGRvd24tbWVudTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0zMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogMTVweDtcbiAgfVxuICAubmF2YmFyIC5kcm9wZG93bi1tZW51OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXI6IGluc2V0IDdweDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmYgdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xNHB4O1xuICAgIGxlZnQ6IDIwcHg7XG4gIH1cbn1cblxuLm5hdmJhciAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbSB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4ubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmssXG4ubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kLFxuLm5hdmJhci5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLmFjdGl2ZSA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjMGYxMTFiO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1mYW1pbHk6IFwiSUJNIFBsZXggTW9ub1wiLCBHZW9yZ2lhLCBUaW1lcywgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG59XG5cbi5uYXZiYXIgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LWZhbWlseTogXCJJQk0gUGxleCBNb25vXCIsIEdlb3JnaWEsIFRpbWVzLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAuODVlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDEyMHB4O1xuICBjb2xvcjogIzBmMTExYjtcbiAgbWFyZ2luOiAwO1xufVxuXG4ubmF2YmFyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMGYxMTFiO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAubmF2YmFyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICBmb250LXNpemU6IDEuNGVtO1xuICAgIGhlaWdodDogNjBweDtcbiAgICB3aWR0aDogaW5pdGlhbDtcbiAgfVxufVxuXG4ubmF2YmFyIC5jb250YWN0LXdyYXAge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLm5hdmJhciAuY29udGFjdC1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTU3NDNhO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgZm9udC1zaXplOiAuODVlbTtcbiAgdHJhbnNpdGlvbjogZWFzZSBiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBpbml0aWFsO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAubmF2YmFyIC5jb250YWN0LWJ1dHRvbiB7XG4gICAgcGFkZGluZzogMTVweCA2MHB4O1xuICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gIH1cbn1cblxuLm5hdmJhciAuY29udGFjdC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYxMTFiO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5uYXZiYXIgLmNvbnRhY3QtYnV0dG9uOmhvdmVyIC51bmRlcnNjb3JlLmJsaW5rIHtcbiAgYW5pbWF0aW9uOiBmYWRlIDgwMG1zIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGUge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxLjA7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxLjA7XG4gIH1cbn1cblxuLmNvbW11bml0eSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogNnB4O1xuICBib3R0b206IDI2cHg7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbi5jb21tdW5pdHk6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29tbXVuaXR5IHtcbiAgICByaWdodDogMjBweDtcbiAgICBib3R0b206IDYwcHg7XG4gIH1cbn1cblxuLmNvbW11bml0eSBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjMGYxMTFiO1xuICB0cmFuc2l0aW9uOiBlYXNlIGFsbCAzMDBtcztcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29tbXVuaXR5IGEge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi5jb21tdW5pdHkgYTpob3ZlciwgLmNvbW11bml0eSBhOmFjdGl2ZSwgLmNvbW11bml0eSBhOmZvY3VzIHtcbiAgY29sb3I6ICNlNTc0M2E7XG59XG5cbi5zb2NpYWwtbWVudSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiA1cHggMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLnNvY2lhbC1tZW51IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uc29jaWFsLW1lbnUgdWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbn1cblxuLnNvY2lhbC1tZW51IHVsIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW46IDAgMjBweCAwIDA7XG59XG5cbi5zb2NpYWwtbWVudSBhIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuLm1lbnUtc29jaWFsIGxpIGE6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4ubWVudS1zb2NpYWwgbGkuZHJpYmJibGUgYTo6YmVmb3JlLFxuLm1lbnUtc29jaWFsIGxpIGFbaHJlZio9XCJkcmliYmJsZS5jb21cIl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdkXCI7XG59XG5cbi5tZW51LXNvY2lhbCBsaS5mYWNlYm9vayBhOjpiZWZvcmUsXG4ubWVudS1zb2NpYWwgbGkgYVtocmVmKj1cImZhY2Vib29rLmNvbVwiXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWFcIjtcbn1cblxuLm1lbnUtc29jaWFsIGxpLmZsaWNrciBhOjpiZWZvcmUsXG4ubWVudS1zb2NpYWwgbGkgYVtocmVmKj1cImZsaWNrci5jb21cIl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZlXCI7XG59XG5cbi5tZW51LXNvY2lhbCBsaS5naXRodWIgYTo6YmVmb3JlLFxuLm1lbnUtc29jaWFsIGxpIGFbaHJlZio9XCJnaXRodWIuY29tXCJdOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YlwiO1xufVxuXG4ubWVudS1zb2NpYWwgbGkuZ29vZ2xlcGx1cyBhOjpiZWZvcmUsXG4ubWVudS1zb2NpYWwgbGkgYVtocmVmKj1cInBsdXMuZ29vZ2xlLmNvbVwiXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDVcIjtcbn1cblxuLm1lbnUtc29jaWFsIGxpLmluc3RhZ3JhbSBhOjpiZWZvcmUsXG4ubWVudS1zb2NpYWwgbGkgYVtocmVmKj1cImluc3RhZ3JhbS5jb21cIl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZkXCI7XG59XG5cbi5tZW51LXNvY2lhbCBsaS5sYXN0Zm0gYTo6YmVmb3JlLFxuLm1lbnUtc29jaWFsIGxpIGFbaHJlZio9XCJsYXN0LmZtXCJdOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMlwiO1xufVxuXG4ubWVudS1zb2NpYWwgbGkubGlua2VkaW4gYTo6YmVmb3JlLFxuLm1lbnUtc29jaWFsIGxpIGFbaHJlZio9XCJsaW5rZWRpbi5jb21cIl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUxXCI7XG59XG5cbi5tZW51LXNvY2lhbCBsaS5waW50ZXJlc3QgYTo6YmVmb3JlLFxuLm1lbnUtc29jaWFsIGxpIGFbaHJlZio9XCJwaW50ZXJlc3QuY29tXCJdOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMVwiO1xufVxuXG4ubWVudS1zb2NpYWwgbGkuc2t5cGUgYTo6YmVmb3JlLFxuLm1lbnUtc29jaWFsIGxpIGFbaHJlZio9XCJza3lwZS5jb21cIl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdlXCI7XG59XG5cbi5tZW51LXNvY2lhbCBsaS5zcG90aWZ5IGE6OmJlZm9yZSxcbi5tZW51LXNvY2lhbCBsaSBhW2hyZWYqPVwic3BvdGlmeS5jb21cIl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJjXCI7XG59XG5cbi5tZW51LXNvY2lhbCBsaS5zdHVtYmxldXBvbiBhOjpiZWZvcmUsXG4ubWVudS1zb2NpYWwgbGkgYVtocmVmKj1cInN0dW1ibGV1cG9uLmNvbVwiXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTRcIjtcbn1cblxuLm1lbnUtc29jaWFsIGxpLnR1bWJsciBhOjpiZWZvcmUsXG4ubWVudS1zb2NpYWwgbGkgYVtocmVmKj1cInR1bWJsci5jb21cIl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTczXCI7XG59XG5cbi5tZW51LXNvY2lhbCBsaS50d2l0dGVyIGE6OmJlZm9yZSxcbi5tZW51LXNvY2lhbCBsaSBhW2hyZWYqPVwidHdpdHRlci5jb21cIl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk5XCI7XG59XG5cbi5tZW51LXNvY2lhbCBsaS52aW1lbyBhOjpiZWZvcmUsXG4ubWVudS1zb2NpYWwgbGkgYVtocmVmKj1cInZpbWVvLmNvbVwiXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2RcIjtcbn1cblxuLm1lbnUtc29jaWFsIGxpLnZpbmUgYTo6YmVmb3JlLFxuLm1lbnUtc29jaWFsIGxpIGFbaHJlZio9XCJ2aW5lLmNvXCJdOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjYVwiO1xufVxuXG4ubWVudS1zb2NpYWwgbGkudmsgYTo6YmVmb3JlLFxuLm1lbnUtc29jaWFsIGxpIGFbaHJlZio9XCJ2ay5jb21cIl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg5XCI7XG59XG5cbi5tZW51LXNvY2lhbCBsaS54aW5nIGE6OmJlZm9yZSxcbi5tZW51LXNvY2lhbCBsaSBhW2hyZWYqPVwieGluZy5jb21cIl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY4XCI7XG59XG5cbi5tZW51LXNvY2lhbCBsaS55b3V0dWJlIGE6OmJlZm9yZSxcbi5tZW51LXNvY2lhbCBsaSBhW2hyZWYqPVwieW91dHViZS5jb21cIl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZhXCI7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbnRhYmxlIHRoZWFkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgdGFibGUgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcbiAgfVxufVxuXG50YWJsZSB0aCxcbnRhYmxlIHRkIHtcbiAgcGFkZGluZzogMC42MjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgdGFibGUgdGgsXG4gIHRhYmxlIHRkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB9XG59XG5cbnRhYmxlIHRoIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDYyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgdGFibGUgdGgge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIH1cbn1cblxudGFibGUgdHIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIHRhYmxlIHRyIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG50YWJsZSB0ZCB7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNjY2M7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICB0YWJsZSB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxufVxuXG50YWJsZSB0ZDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICNjY2M7XG59XG5cbnRhYmxlIHRkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIHRhYmxlIHtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjY2NjO1xuICB9XG59XG5cbi5zaXRlLWZvb3RlciB7XG4gIGNvbG9yOiAjMGYxMTFiO1xuICBwYWRkaW5nOiA2MHB4IDAgMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgei1pbmRleDogMTA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNpdGUtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiA2MHB4IDA7XG4gIH1cbn1cblxuLnNpdGUtZm9vdGVyIGEge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnNpdGUtZm9vdGVyIC5tZW51LWZvb3Rlci1tZW51LWNvbnRhaW5lciB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnNpdGUtZm9vdGVyIC5tZW51LWZvb3Rlci1tZW51LWNvbnRhaW5lciB1bDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zaXRlLWZvb3RlciAubWVudS1mb290ZXItbWVudS1jb250YWluZXIgdWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAyMHB4IDAgMDtcbn1cblxuLnNpdGUtZm9vdGVyIC5tZW51LWZvb3Rlci1tZW51LWNvbnRhaW5lciB1bCBsaTpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW46IDA7XG59XG5cbi5zaXRlLWZvb3RlciAuc2l0ZS1pbmZvIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uc2l0ZS1mb290ZXIgLnNpdGUtaW5mbyBwIHtcbiAgZm9udC1zaXplOiAyLjV2dztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNpdGUtZm9vdGVyIC5zaXRlLWluZm8gcCB7XG4gICAgZm9udC1zaXplOiAuODV2dztcbiAgfVxufVxuXG4uc2l0ZS1mb290ZXIgLnNpdGUtaW5mbyBhIHtcbiAgY29sb3I6ICNlNTc0M2E7XG59XG5cbi5zY3JvbGwtZG93biB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiA1MHB4O1xuICByaWdodDogMTAlO1xuICB6LWluZGV4OiAxMDA7XG4gIGNvbG9yOiAjZTU3NDNhO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogZWFzZSBhbGwgMzAwbXM7XG59XG5cbi5zY3JvbGwtZG93bi5oaWRlIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjcm9sbC1kb3duIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0yMHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1mYW1pbHk6IFwiSUJNIFBsZXggTW9ub1wiLCBHZW9yZ2lhLCBUaW1lcywgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG59XG5cbi5zY3JvbGwtZG93biAuYXJyb3cge1xuICBoZWlnaHQ6IDcwcHg7XG4gIHdpZHRoOiAxcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1NzQzYTtcbiAgYW5pbWF0aW9uOiBib3VuY2UgMTIwMG1zIGluZmluaXRlO1xufVxuXG4uc2Nyb2xsLWRvd24gLmFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTU3NDNhO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTJweDtcbiAgbGVmdDogLTVweDtcbn1cblxuLnNjcm9sbC1kb3duIC5hcnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTU3NDNhO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMnB4O1xuICByaWdodDogLTVweDtcbn1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tIHtcbiAgICBib3R0b206IC0xMHB4O1xuICB9XG4gIDUwJSB7XG4gICAgYm90dG9tOiAwO1xuICB9XG4gIHRvIHtcbiAgICBib3R0b206IC0xMHB4O1xuICB9XG59XG5cbi5yaWdodC1ib3JkZXIge1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMzBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB6LWluZGV4OiAxMTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnJpZ2h0LWJvcmRlciB7XG4gICAgd2lkdGg6IDYwcHg7XG4gIH1cbn1cblxuLmJvdHRvbS1ib3JkZXIge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgei1pbmRleDogMTE7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5ib3R0b20tYm9yZGVyIHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gIH1cbn1cblxuLmxlZnQtYm9yZGVyIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDMwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB6LWluZGV4OiAxMTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmxlZnQtYm9yZGVyIHtcbiAgICB3aWR0aDogNjBweDtcbiAgfVxufVxuXG4uY29udGFjdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiA5MHZ3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbnRhY3Qge1xuICAgIHdpZHRoOiA0MHZ3O1xuICB9XG59XG5cbi5jb250YWN0IC53cGNmNyBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTc0M2E7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMTVweDtcbn1cblxuLmluZmluaXRlLXNjcm9sbCAucG9zdHMtbmF2aWdhdGlvbixcbi5pbmZpbml0ZS1zY3JvbGwubmV2ZXJlbmRpbmcgLnNpdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmluZmluaXR5LWVuZC5uZXZlcmVuZGluZyAuc2l0ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmdmb3JtX3dyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDAgc29saWQgI2ZmZjtcbiAgcGFkZGluZzogMDtcbn1cblxuLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQsXG4uZ2Zvcm1fd3JhcHBlci5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZl9sZWZ0X2hhbGYsXG4uZ2Zvcm1fd3JhcHBlci5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZl9yaWdodF9oYWxmIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtO1xufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2xhYmVsIHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4uZ2Zvcm1fd3JhcHBlciBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInRlbFwiXSxcbi5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4uZ2Zvcm1fd3JhcHBlciBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4uZ2Zvcm1fd3JhcHBlciBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbi5nZm9ybV93cmFwcGVyIHRleHRhcmVhIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmdmb3JtX3dyYXBwZXIgc2VsZWN0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJhc3NldHMvaW1hZ2VzL3N2Zy1pY29ucy9jYXJldC1kb3duLnN2Z1wiKSBuby1yZXBlYXQgOTclIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNzVyZW07XG4gIGJvcmRlci1jb2xvcjogI2NjYztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gIHBhZGRpbmc6IDAuMzc1cmVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmdmb3JtX3dyYXBwZXIgc2VsZWN0IHtcbiAgICB3aWR0aDogNDklO1xuICB9XG59XG5cbi5nZm9ybV93cmFwcGVyIHNlbGVjdFttdWx0aXBsZT1cIm11bHRpcGxlXCJdIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHNlbGVjdCxcbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCBzZWxlY3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHNlbGVjdCxcbiAgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHNlbGVjdCB7XG4gICAgd2lkdGg6IDQ5JSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGQgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2NjYztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwLjM3NXJlbTtcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZCAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgZGl2IGIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDAlO1xuICByaWdodDogMC42ODc1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICNjY2M7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGQgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tZHJvcCAuY2hvc2VuLXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGQgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tZHJvcCAuY2hvc2VuLXJlc3VsdHMgbGkge1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjMxMjVyZW07XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGQgLmNob3Nlbi1jb250YWluZXItc2luZ2xlLmNob3Nlbi1jb250YWluZXItc2luZ2xlLmNob3Nlbi13aXRoLWRyb3AgLmNob3Nlbi1zaW5nbGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZS5jaG9zZW4tY29udGFpbmVyLXNpbmdsZS5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tc2luZ2xlIGRpdiBiIHtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG59XG5cbiNjb250ZW50IC5nZm9ybV93cmFwcGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbiNjb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInVybFwiXSxcbiNjb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiNjb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4jY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4jY29udGVudCAuZ2Zvcm1fd3JhcHBlciB0ZXh0YXJlYSB7XG4gIHBhZGRpbmc6IDAuMzc1cmVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICNjb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4gICNjb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbiAgI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEge1xuICAgIHdpZHRoOiA0OSU7XG4gIH1cbn1cblxuI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl0sXG4jY29udGVudCAuZ2Zvcm1fd3JhcHBlciB0ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZfbGVmdF9oYWxmLFxuI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmdmX3JpZ2h0X2hhbGYge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmdmX2xlZnRfaGFsZiBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmdmX2xlZnRfaGFsZiBpbnB1dFt0eXBlPVwidXJsXCJdLFxuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZfbGVmdF9oYWxmIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmdmX2xlZnRfaGFsZiBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZfbGVmdF9oYWxmIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gICNjb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZl9sZWZ0X2hhbGYgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZfbGVmdF9oYWxmIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZfcmlnaHRfaGFsZiBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmdmX3JpZ2h0X2hhbGYgaW5wdXRbdHlwZT1cInVybFwiXSxcbiAgI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmdmX3JpZ2h0X2hhbGYgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZfcmlnaHRfaGFsZiBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZfcmlnaHRfaGFsZiBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZfcmlnaHRfaGFsZiBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICNjb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZl9yaWdodF9oYWxmIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZfbGVmdF9oYWxmLFxuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZfcmlnaHRfaGFsZiB7XG4gICAgd2lkdGg6IDQ5JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZfbGVmdF9oYWxmIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICB9XG59XG5cbiNjb250ZW50IC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAubmFtZV9maXJzdCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiNjb250ZW50IC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAubmFtZV9sYXN0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5ob21lLWFib3V0IHtcbiAgcGFkZGluZzogNjBweCAwO1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cblxuLmhvbWUtYWJvdXQgaDIsXG4uaG9tZS1hYm91dCBoMyB7XG4gIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uaG9tZS1hYm91dCAuc2tpbGxzLXdyYXAge1xuICBwYWRkaW5nOiAzMHB4IDA7XG4gIHRyYW5zaXRpb246IGVhc2UgYWxsIDMwMG1zO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaG9tZS1hYm91dCAuc2tpbGxzLXdyYXAge1xuICAgIHBhZGRpbmc6IDYwcHg7XG4gIH1cbn1cblxuLmhvbWUtYWJvdXQgLnNraWxscy13cmFwIGgzIHtcbiAgZm9udC1zaXplOiA2dnc7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5ob21lLWFib3V0IC5za2lsbHMtd3JhcCBoMyB7XG4gICAgZm9udC1zaXplOiAzdnc7XG4gIH1cbn1cblxuLmhvbWUtYWJvdXQgLnNraWxscy13cmFwIGg0IHtcbiAgZm9udC1zaXplOiA1dnc7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5ob21lLWFib3V0IC5za2lsbHMtd3JhcCBoNCB7XG4gICAgZm9udC1zaXplOiAxLjV2dztcbiAgfVxufVxuXG4uaG9tZS1hYm91dCAuc2tpbGxzLXdyYXAgcCBzcGFuIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uaG9tZS1hYm91dCAuc2tpbGxzLXdyYXAgLnRvb2xzIHtcbiAgbWFyZ2luLXRvcDogNjBweDtcbn1cblxuLmhvbWUtYWJvdXQgLnNraWxscy13cmFwIC50b29scyBoMyB7XG4gIGZvbnQtc2l6ZTogNHZ3O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5ob21lLWFib3V0IC5za2lsbHMtd3JhcCAudG9vbHMgaDMge1xuICAgIGZvbnQtc2l6ZTogMS41dnc7XG4gIH1cbn1cblxuLmhvbWUtYWJvdXQgLnNraWxscy13cmFwIC50b29scyBpIHtcbiAgZm9udC1zaXplOiA5dnc7XG4gIG1hcmdpbjogMCAxNXB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaG9tZS1hYm91dCAuc2tpbGxzLXdyYXAgLnRvb2xzIGkge1xuICAgIGZvbnQtc2l6ZTogNHZ3O1xuICAgIG1hcmdpbjogMCAzMHB4IDAgMDtcbiAgfVxufVxuXG4uaG9tZS1hYm91dCAuc2tpbGxzLXdyYXAgLnRvb2xzIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmb250LWZhbWlseTogXCJJQk0gUGxleCBNb25vXCIsIEdlb3JnaWEsIFRpbWVzLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbn1cblxuLmhvbWUtYWJvdXQgLnNraWxscy13cmFwIC50b29scyB1bDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5ob21lLWFib3V0IC5za2lsbHMtd3JhcCAudG9vbHMgZmlndXJlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhvbWUtYWJvdXQgLnNraWxscy13cmFwIC50b29scyBmaWd1cmUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmZlYXR1cmVkLWhlYWRpbmcge1xuICBwYWRkaW5nOiA0MHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHotaW5kZXg6IDEwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZmVhdHVyZWQtaGVhZGluZyB7XG4gICAgcGFkZGluZzogODBweCAwO1xuICB9XG59XG5cbi5mZWF0dXJlZC1oZWFkaW5nIGgyIHtcbiAgZm9udC1zaXplOiA1dnc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZlYXR1cmVkLWhlYWRpbmcgaDIge1xuICAgIGZvbnQtc2l6ZTogM3Z3O1xuICB9XG59XG5cbi5mZWF0dXJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHotaW5kZXg6IDExO1xuICBwYWRkaW5nOiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5mZWF0dXJlZDpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDE1LCAxNywgMjcsIDAuODUpIDAlLCByZ2JhKDE1LCAxNywgMjcsIDAuMzUpIDEwMCUpO1xuICB6LWluZGV4OiAxO1xufVxuXG4uZmVhdHVyZWQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogI2ZmZjtcbiAgei1pbmRleDogMjtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZmVhdHVyZWQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uZmVhdHVyZWQgLmNvbnRlbnQtY29udGFpbmVyIGgzIHtcbiAgZm9udC1zaXplOiA2dnc7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mZWF0dXJlZCAuY29udGVudC1jb250YWluZXIgaDMge1xuICAgIGZvbnQtc2l6ZTogM3Z3O1xuICB9XG59XG5cbi5mZWF0dXJlZCAuY29udGVudC1jb250YWluZXIgaDMgZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiSUJNIFBsZXggTW9ub1wiLCBHZW9yZ2lhLCBUaW1lcywgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogLjM1ZW07XG59XG5cbi5mZWF0dXJlZCAuY29udGVudC1jb250YWluZXIgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMGYxMTFiO1xuICBwYWRkaW5nOiAxNXB4IDQwcHg7XG4gIHRyYW5zaXRpb246IGVhc2UgYWxsIDMwMG1zO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZlYXR1cmVkIC5jb250ZW50LWNvbnRhaW5lciAuYnV0dG9uIC50ZXh0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogZWFzZSBhbGwgMzAwbXM7XG59XG5cbi5mZWF0dXJlZCAuY29udGVudC1jb250YWluZXIgLmJ1dHRvbiAuaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZTU3NDNhO1xuICB0cmFuc2l0aW9uOiBlYXNlIHRvcCAzMDBtcztcbn1cblxuLmZlYXR1cmVkIC5jb250ZW50LWNvbnRhaW5lciAuYnV0dG9uIC5pY29uIGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gIHRyYW5zaXRpb246IGVhc2UgdHJhbnNmb3JtLXRyYW5zbGF0ZSA1MDBtcztcbn1cblxuLmZlYXR1cmVkIC5jb250ZW50LWNvbnRhaW5lciAuYnV0dG9uOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZmVhdHVyZWQgLmNvbnRlbnQtY29udGFpbmVyIC5idXR0b246aG92ZXIgLnRleHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE2MCUpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uZmVhdHVyZWQgLmNvbnRlbnQtY29udGFpbmVyIC5idXR0b246aG92ZXIgLmljb24ge1xuICB0b3A6IDA7XG59XG5cbi5mZWF0dXJlZCAuY29udGVudC1jb250YWluZXIgLmJ1dHRvbjpob3ZlciAuaWNvbiBpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi5mZWF0dXJlZCAuc3VtbWFyeSB7XG4gIHBhZGRpbmc6IDYwcHggMTVweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZlYXR1cmVkIC5zdW1tYXJ5IHtcbiAgICBwYWRkaW5nOiAyMDBweCAzMHB4O1xuICB9XG59XG5cbi5mZWF0dXJlZCAuYml0cyB7XG4gIGJhY2tncm91bmQ6ICMwZjExMWI7XG4gIGNvbG9yOiAjZjVmNWY1O1xuICBwYWRkaW5nOiAzMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMzBweCk7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mZWF0dXJlZCAuYml0cyB7XG4gICAgdG9wOiBjYWxjKDEwMCUgLSA0NXB4KTtcbiAgfVxufVxuXG4uZmVhdHVyZWQgLmJpdHMgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGNvbHVtbi1jb3VudDogMTtcbn1cblxuLmZlYXR1cmVkIC5iaXRzIHVsOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZlYXR1cmVkIC5iaXRzIHVsIHtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gIH1cbn1cblxuLmZlYXR1cmVkIC5iaXRzIHVsIGxpIHtcbiAgZm9udC1zaXplOiAzLjV2dztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZlYXR1cmVkIC5iaXRzIHVsIGxpIHtcbiAgICBmb250LXNpemU6IDF2dztcbiAgfVxufVxuXG4ubW9yZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4ubW9yZSAuZGV0YWlscyB7XG4gIHBhZGRpbmctdG9wOiAxODBweDtcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAubW9yZSAuZGV0YWlscyB7XG4gICAgcGFkZGluZy10b3A6IDE2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDtcbiAgfVxufVxuXG4ubW9yZSAuZGV0YWlscyBoMyB7XG4gIGZvbnQtc2l6ZTogNnZ3O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAubW9yZSAuZGV0YWlscyBoMyB7XG4gICAgZm9udC1zaXplOiAzdnc7XG4gIH1cbn1cblxuLm1vcmUgLmRldGFpbHMgaDQge1xuICBmb250LXNpemU6IDV2dztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1vcmUgLmRldGFpbHMgaDQge1xuICAgIGZvbnQtc2l6ZTogMS41dnc7XG4gIH1cbn1cblxuLm1vcmUgLmNsaWVudHMge1xuICBwYWRkaW5nLWJvdHRvbTogODBweDtcbn1cblxuLm1vcmUgLmNsaWVudHMgaDMge1xuICBmb250LXNpemU6IDZ2dztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1vcmUgLmNsaWVudHMgaDMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDJ2dztcbiAgfVxufVxuXG4ubW9yZSAuY2xpZW50cyB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm1vcmUgLmNsaWVudHMgdWw6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubW9yZSAuY2xpZW50cyB1bCBhIHtcbiAgY29sb3I6ICMwZjExMWI7XG4gIHRyYW5zaXRpb246IGVhc2UgY29sb3IgMzAwbXM7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubW9yZSAuY2xpZW50cyB1bCBhOmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG4gIGNvbnRlbnQ6ICdcXGYwOGUnO1xuICBmb250LXNpemU6IC43ZW07XG4gIHBhZGRpbmctbGVmdDogOHB4O1xufVxuXG4ubW9yZSAuY2xpZW50cyB1bCBhOmhvdmVyIHtcbiAgY29sb3I6ICNlNTc0M2E7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmZhbmN5Ym94LWJnIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmZhbmN5Ym94LWlzLW9wZW4gLmZhbmN5Ym94LWJnIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZTU3NDNhO1xufVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6YWZ0ZXIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IFBybyc7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgY29udGVudDogJ1xcZjAwZCc7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBlYXNlIGNvbG9yIDMwMG1zO1xufVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6aG92ZXIsIC5mYW5jeWJveC1jbG9zZS1zbWFsbDpmb2N1cywgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6aG92ZXI6YWZ0ZXIsIC5mYW5jeWJveC1jbG9zZS1zbWFsbDpmb2N1czphZnRlciwgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmFjdGl2ZTphZnRlciB7XG4gIGNvbG9yOiAjZTU3NDNhO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmhlcm8ge1xuICBoZWlnaHQ6IGNhbGMoMjAwdmggLSAzMHB4KTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDEwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVybyB7XG4gICAgaGVpZ2h0OiBjYWxjKDIwMHZoIC0gNjBweCk7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gIH1cbn1cblxuLmhlcm8uZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMzBweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVyby5maXhlZCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNjBweCk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgICBsZWZ0OiA2MHB4O1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICB9XG59XG5cbi5oZXJvIC5iYWNrZ3JvdW5kIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmMTExYjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5oZXJvIHByZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xufVxuXG4uaGVybyBwcmUgY29kZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZm9udC1mYW1pbHk6IFwiSUJNIFBsZXggTW9ub1wiLCBHZW9yZ2lhLCBUaW1lcywgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHotaW5kZXg6IDI7XG4gIGZvbnQtc2l6ZTogMnZ3O1xuICBvcGFjaXR5OiAuNTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlcm8gcHJlIGNvZGUge1xuICAgIGZvbnQtc2l6ZTogMS4xdnc7XG4gIH1cbn1cblxuLmhlcm8gLm92ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygyMCUgLSAxMHB4KTtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogNjAlO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogZWFzZSBhbGwgNjAwbXM7XG4gIHotaW5kZXg6IDI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZXJvIC5vdmVybGF5IHtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cbn1cblxuLnNjcm9sbGVkIC5oZXJvIC5vdmVybGF5IHtcbiAgaGVpZ2h0OiAwO1xuICB0b3A6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zY3JvbGxlZCAuaGVybyAub3ZlcmxheSB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG4uaGVybyAuY29weSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgdHJhbnNpdGlvbjogZWFzZSBhbGwgNjAwbXM7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5zY3JvbGxlZCAuaGVybyAuY29weSB7XG4gIHRvcDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNjcm9sbGVkIC5oZXJvIC5jb3B5IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxufVxuXG4uaGVybyAuY29weSBoMSB7XG4gIGZvbnQtc2l6ZTogMTB2dztcbiAgY29sb3I6ICNmNWY1ZjU7XG4gIGxldHRlci1zcGFjaW5nOiAtLjA1dnc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlcm8gLmNvcHkgaDEge1xuICAgIGZvbnQtc2l6ZTogN3Z3O1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjM1dnc7XG4gIH1cbn1cblxuLmhlcm8gLmNvcHkgaDEucG9zaXRpb24tMSB7XG4gIHRvcDogY2FsYyg0MCUgLSAyMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICByaWdodDogaW5pdGlhbDtcbiAgbGVmdDogNDVweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlcm8gLmNvcHkgaDEucG9zaXRpb24tMSB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgcmlnaHQ6IGNhbGMoNjAlICsgMy41dncpO1xuICB9XG59XG5cbi5oZXJvIC5jb3B5IGgxLnBvc2l0aW9uLTIge1xuICB0b3A6IGNhbGMoNDAlICsgMzBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbGVmdDogNDVweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlcm8gLmNvcHkgaDEucG9zaXRpb24tMiB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGxlZnQ6IGNhbGMoNDAlICsgMy41dncpO1xuICB9XG59XG5cbi5oZXJvIC5jb3B5IGgxLmRhcmsge1xuICBjb2xvcjogIzBmMTExYjtcbn1cblxuLmhlcm8gLmNvcHkgLmNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyg0MCUgKyA2MHB4KTtcbiAgbGVmdDogNDBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZXJvIC5jb3B5IC5jb250ZW50IHtcbiAgICB0b3A6IGNhbGMoNTAlICsgNXZ3KTtcbiAgICBsZWZ0OiBjYWxjKDQwJSArIDMuNXZ3KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uaGVybyAuY29weSAuY29udGVudCB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIklCTSBQbGV4IE1vbm9cIiwgR2VvcmdpYSwgVGltZXMsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xufVxuXG4uaGVybyAuY29weSAuY29udGVudCB1bDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5oZXJvIC5jb3B5IC5jb250ZW50IHVsIGxpIHtcbiAgZm9udC1zaXplOiAzdnc7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZXJvIC5jb3B5IC5jb250ZW50IHVsIGxpIHtcbiAgICBmb250LXNpemU6IDEuMXZ3O1xuICB9XG59XG5cbi5oZXJvIC5jb3B5IC5jb250ZW50IHVsIGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcvLyc7XG4gIGNvbG9yOiAjZTU3NDNhO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5oZXJvIC5pbnRybyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGNvbG9yOiAjZmZmO1xuICB3aWR0aDogY2FsYyg3MHZ3IC0gNjBweCk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGVhc2UgYWxsIDMwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcztcbiAgei1pbmRleDogMjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlcm8gLmludHJvIHtcbiAgICB3aWR0aDogMjZ2dztcbiAgfVxufVxuXG4uc2Nyb2xsZWQgLmhlcm8gLmludHJvIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhlcm8gLmludHJvIGgyIHtcbiAgZm9udC1zaXplOiA1dnc7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZXJvIC5pbnRybyBoMiB7XG4gICAgZm9udC1zaXplOiAyLjV2dztcbiAgfVxufVxuXG4uaGVybyAuaW50cm8gaDIgLm9yYW5nZSB7XG4gIGNvbG9yOiAjZTU3NDNhO1xufVxuXG4uaGVybyAuaW50cm8gcCB7XG4gIGZvbnQtc2l6ZTogM3Z3O1xuICBmb250LWZhbWlseTogXCJJQk0gUGxleCBNb25vXCIsIEdlb3JnaWEsIFRpbWVzLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlcm8gLmludHJvIHAge1xuICAgIGZvbnQtc2l6ZTogMS4ydnc7XG4gIH1cbn1cblxuLmNhbGxvdXQtd3JhcCB7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDYwcHgpO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgei1pbmRleDogMTA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jYWxsb3V0LXdyYXAge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEyMHB4KTtcbiAgfVxufVxuXG4uY2FsbG91dC13cmFwIC5jYWxsb3V0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNhbGxvdXQtd3JhcCAuY2FsbG91dCBoMiB7XG4gIGZvbnQtc2l6ZTogOHZ3O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY2FsbG91dC13cmFwIC5jYWxsb3V0IGgyIHtcbiAgICBmb250LXNpemU6IDN2dztcbiAgfVxufVxuXG4ub3V0cm8ge1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgcGFkZGluZzogODBweCAzMHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAub3V0cm8ge1xuICAgIHBhZGRpbmc6IDEyMHB4IDA7XG4gIH1cbn1cblxuLm91dHJvIC5jb250ZW50IGgyIHtcbiAgZm9udC1zaXplOiA2dnc7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5vdXRybyAuY29udGVudCBoMiB7XG4gICAgZm9udC1zaXplOiAyLjV2dztcbiAgfVxufVxuXG4ub3V0cm8gLmNvbnRlbnQgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTc0M2E7XG4gIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgZm9udC1zaXplOiA0dnc7XG4gIHRyYW5zaXRpb246IGVhc2UgYWxsIDMwMG1zO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAub3V0cm8gLmNvbnRlbnQgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjJ2dztcbiAgICBwYWRkaW5nOiAxNXB4IDUwcHg7XG4gIH1cbn1cblxuLm91dHJvIC5jb250ZW50IC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG4ud2lkZ2V0IHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtO1xufVxuXG4ud2lkZ2V0IHNlbGVjdCB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLndpZGdldF9zZWFyY2ggLnNlYXJjaC1zdWJtaXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1lZGlhXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBQYWdlLCBFbnRyeSBhbmQgQ29tbWVudCBDb250ZW50XG4ucGFnZS1jb250ZW50LFxuLmVudHJ5LWNvbnRlbnQsXG4uY29tbWVudC1jb250ZW50IHtcblx0Ly8gV1Agc21pbGV5XG5cdGltZy53cC1zbWlsZXkge1xuXHRcdEBpbmNsdWRlIG1hcmdpbi1wYWRkaW5nLXJlc2V0O1xuXG5cdFx0Ym9yZGVyOiBub25lO1xuXHR9IC8vIGltZy53cC1zbWlsZXlcbn0gLy8gLnBhZ2UtY29udGVudCwgLmVudHJ5LWNvbnRlbnQsIC5jb21tZW50LWNvbnRlbnRcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEltYWdlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaW1nIHtcblx0aGVpZ2h0OiBhdXRvO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmltZzpub3QoaW5wdXQpIHtcblx0dXNlci1kcmFnOiBub25lO1xuXHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHQtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhcHRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBJbWFnZSBjYXB0aW9uc1xuLndwLWNhcHRpb24ge1xuXHRtYXJnaW46IDAgMCByZW0oMjQpIDA7XG5cdG1heC13aWR0aDogMTAwJTtcblxuXHRpbWdbY2xhc3MqPVwid3AtaW1hZ2UtXCJdIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDAgYXV0bztcblx0fSAvLyBpbWdbY2xhc3MqPVwid3AtaW1hZ2UtXCJdXG5cblx0Ly8gQWRkIGF1dG8gbWFyZ2lucyBzbyBpbWFnZSBpcyBjZW50ZXJlZFxuXHQmLmFsaWduY2VudGVyIHtcblx0XHRtYXJnaW46IDAgYXV0byByZW0oMjQpIGF1dG87XG5cdH0gLy8gJi5hbGlnbmNlbnRlclxuXG5cdC8vIEFkZCBhIG1hcmdpbiByaWdodCB0byBsZWZ0LWFsaWduZWQgaW1hZ2VzIHdpdGggY2FwdGlvbnNcblx0Ji5hbGlnbmxlZnQge1xuXHRcdG1hcmdpbi1yaWdodDogcmVtKDI0KTtcblx0fSAvLyAmLmFsaWdubGVmdFxuXG5cdC8vIEFkZCBhIG1hcmdpbiBsZWZ0IHRvIHJpZ2h0LWFsaWduZWQgaW1hZ2VzIHdpdGggY2FwdGlvbnNcblx0Ji5hbGlnbnJpZ2h0IHtcblx0XHRtYXJnaW4tbGVmdDogcmVtKDI0KTtcblx0fSAvLyAmLmFsaWducmlnaHRcblxuXHQvLyBBZGQgdG9wIGFuZCBib3R0b20gbWFyZ2luIHRvIGNhcHRpb24gdGV4dFxuXHQud3AtY2FwdGlvbi10ZXh0IHtcblx0XHRtYXJnaW46IHJlbSgxMikgMDtcblx0fSAvLyAud3AtY2FwdGlvbi10ZXh0XG59IC8vIC53cC1jYXB0aW9uXG5cbi8vIEltYWdlIGNhcHRpb24gdGV4dFxuLndwLWNhcHRpb24tdGV4dCB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn0gLy8gLndwLWNhcHRpb24tdGV4dFxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR2FsbGVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBHYWxsZXJ5XG4uZ2FsbGVyeSB7XG5cdG1hcmdpbjogMCAwIHJlbSgyNCkgMDtcbn0gLy8gLmdhbGxlcnlcblxuLy8gR2FsbGVyeSBpdGVtc1xuLmdhbGxlcnktaXRlbSB7XG5cdEBpbmNsdWRlIHNpemUoMTAwJSBhdXRvKTtcblxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dmVydGljYWwtYWxpZ246IHRvcDtcblxuXHQuZ2FsbGVyeS1jb2x1bW5zLTIgJiB7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG5cdH0gLy8gLmdhbGxlcnktY29sdW1ucy0yICZcblxuXHQuZ2FsbGVyeS1jb2x1bW5zLTMgJiB7XG5cdFx0bWF4LXdpZHRoOiAzMy4zMyU7XG5cdH0gLy8gLmdhbGxlcnktY29sdW1ucy0zICZcblxuXHQuZ2FsbGVyeS1jb2x1bW5zLTQgJiB7XG5cdFx0bWF4LXdpZHRoOiAyNSU7XG5cdH0gLy8gLmdhbGxlcnktY29sdW1ucy00ICZcblxuXHQuZ2FsbGVyeS1jb2x1bW5zLTUgJiB7XG5cdFx0bWF4LXdpZHRoOiAyMCU7XG5cdH0gLy8gLmdhbGxlcnktY29sdW1ucy01ICZcblxuXHQuZ2FsbGVyeS1jb2x1bW5zLTYgJiB7XG5cdFx0bWF4LXdpZHRoOiAxNi42NiU7XG5cdH0gLy8gLmdhbGxlcnktY29sdW1ucy02ICZcblxuXHQuZ2FsbGVyeS1jb2x1bW5zLTcgJiB7XG5cdFx0bWF4LXdpZHRoOiAxNC4yOCU7XG5cdH0gLy8gLmdhbGxlcnktY29sdW1ucy03ICZcblxuXHQuZ2FsbGVyeS1jb2x1bW5zLTggJiB7XG5cdFx0bWF4LXdpZHRoOiAxMi41JTtcblx0fSAvLyAuZ2FsbGVyeS1jb2x1bW5zLTggJlxuXG5cdC5nYWxsZXJ5LWNvbHVtbnMtOSAmIHtcblx0XHRtYXgtd2lkdGg6IDExLjExJTtcblx0fSAvLyAuZ2FsbGVyeS1jb2x1bW5zLTkgJlxufSAvLyAuZ2FsbGVyeS1pdGVtXG5cbi8vIEdhbGxlcnkgY2FwdGlvblxuLmdhbGxlcnktY2FwdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufSAvLyAuZ2FsbGVyeS1jYXB0aW9uXG5cbi8vIEZsdWlkIGVtYmVkXG4uZmx1aWQtZW1iZWQge1xuXHRoZWlnaHQ6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IC8vIEZvciByYXRpbyAxNjo5LiA3NSUgaWYgcmF0aW8gaXMgNDozXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRlbWJlZCxcblx0b2JqZWN0LFxuXHRpZnJhbWUge1xuXHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcblx0XHRAaW5jbHVkZSBzaXplKDEwMCUpO1xuXHR9IC8vIGVtYmVkLCBvYmplY3QsIGlmcmFtZVxufSAvLyAuZmx1aWQtZW1iZWRcblxuLy8gQ2VudGVyIGltYWdlIGJhY2tncm91bmRcbi5pbWFnZS1hcy1iYWNrZ3JvdW5kIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn0gLy8gLmltYWdlLWFzLWJhY2tncm91bmRcblxuLy8gVmlkZW8gYXMgYmFja2dyb3VuZFxuLnZpZGVvLWFzLWJhY2tncm91bmQge1xuXHRAaW5jbHVkZSBzaXplKDEwMCUpO1xuXG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcblx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDE7XG59IC8vIC52aWRlby1hcy1iYWNrZ3JvdW5kXG5cbi8vIHN2ZyBkZWZzXG4uc3ZnLWRlZnMge1xuXHRkaXNwbGF5OiBub25lO1xufSAvLyAuc3ZnLWRlZnNcbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1hcmdpbiAmIFBhZGRpbmcgUmVzZXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vL1xuLy8vIEBhdXRob3IgR3JlZyBSaWNrYWJ5XG4vLy8gQGdyb3VwIHdkc1xuLy8vL1xuXG4vLy8gUmVzZXRzIG1hcmdpbiBhbmQgcGFkZGluZyBvbiBhbnkgZWxlbWVudFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIFNhc3Ncbi8vLyAgICAuZm9vIHtcbi8vL1x0XHRcdEBpbmNsdWRlIG1hcmdpbi1wYWRkaW5nLXJlc2V0O1xuLy8vICAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBCYXNpYyBVc2FnZSBDU1MgT3V0cHV0XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICAgICBtYXJnaW46IDA7XG4vLy8gICAgICAgICBwYWRkaW5nOiAwO1xuLy8vICAgIH1cblxuQG1peGluIG1hcmdpbi1wYWRkaW5nLXJlc2V0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHNldHRpbmcgYW4gZWxlbWVudOKAmXMgcG9zaXRpb24uIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7UG9zaXRpb259ICRwb3NpdGlvbiBbcmVsYXRpdmVdXG4vLy8gICBBIENTUyBwb3NpdGlvbiB2YWx1ZVxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkY29vcmRpbmF0ZXMgW251bGwgbnVsbCBudWxsIG51bGxdXG4vLy8gICBMaXN0IG9mIHZhbHVlcyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4IGZvciB0aGUgZWRnZXMgb2YgYSBib3hcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGxlZnQ6IDEwZW07XG4vLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vLyAgICAgdG9wOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1sZW5ndGhcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IHVucGFja1xuXG5AbWl4aW4gcG9zaXRpb24oJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiBudWxsIG51bGwgbnVsbCBudWxsKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuICAkY29vcmRpbmF0ZXM6IHVucGFjaygkY29vcmRpbmF0ZXMpO1xuXG4gICRvZmZzZXRzOiAoXG4gICAgdG9wOiAgICBudGgoJGNvb3JkaW5hdGVzLCAxKSxcbiAgICByaWdodDogIG50aCgkY29vcmRpbmF0ZXMsIDIpLFxuICAgIGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyksXG4gICAgbGVmdDogICBudGgoJGNvb3JkaW5hdGVzLCA0KVxuICApO1xuXG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XG5cbiAgQGVhY2ggJG9mZnNldCwgJHZhbHVlIGluICRvZmZzZXRzIHtcbiAgICBAaWYgaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgI3skb2Zmc2V0fTogJHZhbHVlO1xuICAgIH1cbiAgfVxuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFdpbmRvdyBSZWFkeVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBJIHdpbGwgY2F1c2UgRk9VVCwgaGlkZSBtZSBieSBkZWZhdWx0IVxuLm5vdC1yZWFkeSB7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlO1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cblx0Ly8gV2hlbiBldmVyeXRoaW5nIGhhcyBsb2FkZWQsIGZhZGUgbWUgaW4gdXNpbmcgd2luZG93LXJlYWR5LmpzLlxuXHQucmVhZHkgJiB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHR9IC8vIC5yZWFkeSAmXG59IC8vIC5ub3QtcmVhZHlcbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJhc2UgTGF5b3V0XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFBhZ2UgV3JhcFxuaHRtbCB7XG5cdC8vIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1nYWxsZXJ5O1xufSAvLyBodG1sXG5cbiNwYWdlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kOiAkY29sb3ItdGhlbWUtcHJpbWFyeTtcblx0Ym9yZGVyLXJpZ2h0OiAzMHB4IHNvbGlkICRjb2xvci13aGl0ZTtcblx0Ym9yZGVyLWxlZnQ6IDMwcHggc29saWQgJGNvbG9yLXdoaXRlO1xuXHRib3JkZXItYm90dG9tOiA2MHB4IHNvbGlkICRjb2xvci13aGl0ZTtcblx0aGVpZ2h0OiAxMDB2aDtcblxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcblx0XHRib3JkZXItcmlnaHQ6IDYwcHggc29saWQgJGNvbG9yLXdoaXRlO1xuXHRcdGJvcmRlci1sZWZ0OiA2MHB4IHNvbGlkICRjb2xvci13aGl0ZTtcblx0fVxuXG5cdCNtYWluIHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG59IC8vICNwYWdlXG5cbi8vIFNlY3Rpb25cbnNlY3Rpb24ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDYwcHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdy14OiB2aXNpYmxlO1xuXG5cdDpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fSAvLyBzZWN0aW9uIDpmaXJzdC1jaGlsZFxuXG5cdDpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9IC8vc2VjdGlvbiA6bGFzdC1jaGlsZFxuXG5cdDpvbmx5LWNoaWxkIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRwaG9uZS1sYW5kc2NhcGUpIHtcblx0XHRwYWRkaW5nOiAzMHB4O1xuXHR9IC8vIHNlY3Rpb24gPT4gQG1lZGlhICRwaG9uZS1sYW5kc2NhcGVcblxufSAvLyBzZWN0aW9uXG5cbi8vIENvbnRlbnQgV3JhcFxuLndyYXAge1xuXHRtYXgtd2lkdGg6IDExMDBweDtcblx0bWFyZ2luOiAwIGF1dG87XG59IC8vIC53cmFwXG5cbi8vIFRleHQgV3JhcFxuLnRleHQtd3JhcCB7XG5cdG1heC13aWR0aDogNzUwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xufSAvLyAudGV4dC13cmFwXG5cbi8vIEJvb3RzdHJhcCBHcmlkIEhlbHBlcnNcbkBpbmNsdWRlIGRldmljZS1tZWRpYSgkYnJlYWstbWQsIG1heCkge1xuXG5cdC5jb250YWluZXIgW2NsYXNzXj0nY29sLWxnLSddOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KFtjbGFzcyo9J2NvbC1tZC0nXSkge1xuXHRcdG1hcmdpbi10b3A6IDMwcHg7XG5cdH1cblxufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29tbWVudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ29tbWVudCB0aXRsZVxuLmNvbW1lbnRzLXRpdGxlIHtcblx0Zm9udC1zaXplOiByZW0oMjQpO1xufSAvLyAuY29tbWVudHMtdGl0bGVcblxuLy8gQ29tbWVudCBsaXN0XG4uY29tbWVudC1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xufSAvLyAuY29tbWVudC1saXN0XG5cbi8vIENvbW1lbnQgbWV0YVxuLmNvbW1lbnQtbWV0YSB7XG5cdG1hcmdpbjogMCAwIHJlbSgxNCkgMDtcbn0gLy8gLmNvbW1lbnQtbWV0YVxuXG4vLyBDb21tZW50cyBhdmF0YXJcbi5hdmF0YXIge1xuXHRmbG9hdDogbGVmdDtcblx0bWFyZ2luOiAwIHJlbSgxMCkgMCAwO1xufSAvLyAuYXZhdGFyXG5cbi8vIEJ5IHBvc3QgYXV0aG9yXG4uYnlwb3N0YXV0aG9yIHtcblx0ZGlzcGxheTogYmxvY2s7XG59IC8vIC5ieXBvc3RhdXRob3JcblxuLy8gQ29tbWVudCBGb3JtXG4uY29tbWVudC1mb3JtIHtcblx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcblxuXHRpbnB1dDpub3QoLnN1Ym1pdCkge1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHBob25lLWxhbmRzY2FwZSkge1xuXHRcdFx0bWF4LXdpZHRoOiByZW0oMjUwKTtcblx0XHR9XG5cdH0gLy8gaW5wdXQ6bm90KC5zdWJtaXQpXG59IC8vIC5jb21tZW50LWZvcm1cblxuLy8gRGVmYXVsdCBsYWJlbHMgZm9yIGNvbW1lbnQgZm9ybVxuLmNvbW1lbnQtZm9ybS1hdXRob3IsXG4uY29tbWVudC1mb3JtLWVtYWlsLFxuLmNvbW1lbnQtZm9ybS11cmwge1xuXHRsYWJlbCB7XG5cdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRwaG9uZS1sYW5kc2NhcGUpIHtcblx0XHRcdHdpZHRoOiByZW0oNzUpO1xuXHRcdH1cblx0fSAvLyBsYWJlbFxufSAvLyAuY29tbWVudC1mb3JtLWF1dGhvciwgLmNvbW1lbnQtZm9ybS1lbWFpbCwgLmNvbW1lbnQtZm9ybS11cmxcblxuLy8gTmVzdGVkIGNvbW1lbnRzIHNwYWNpbmcgZnJvbSBtb2JpbGUgdG8gZGVza3RvcFxuLmNvbW1lbnQtbGlzdCAuY2hpbGRyZW4ge1xuXHRtYXJnaW4tbGVmdDogMDtcblx0cGFkZGluZy1sZWZ0OiByZW0oMjApO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCRwaG9uZS1sYW5kc2NhcGUpIHtcblx0XHRwYWRkaW5nLWxlZnQ6IHJlbSgzNSk7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0LXBvcnRyYWl0KSB7XG5cdFx0cGFkZGluZy1sZWZ0OiByZW0oNjApO1xuXHR9XG59IC8vIC5jb21tZW50LWxpc3QgLmNoaWxkcmVuXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuIGVsZW1lbnQgc2hvdWxkIHNwYW4uIElmIHRoZSBzZWxlY3RvciBpcyBuZXN0ZWQgdGhlIG51bWJlciBvZiBjb2x1bW5zIG9mIGl0cyBwYXJlbnQgZWxlbWVudCBzaG91bGQgYmUgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IGFzIHdlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzcGFuXG4vLy8gICBBIGxpc3QgY29udGFpbmluZyBgJGNvbHVtbnNgLCB0aGUgdW5pdGxlc3MgbnVtYmVyIG9mIGNvbHVtbnMgdGhlIGVsZW1lbnQgc3BhbnMgKHJlcXVpcmVkKSwgYW5kIGAkY29udGFpbmVyLWNvbHVtbnNgLCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdGhlIHBhcmVudCBlbGVtZW50IHNwYW5zIChvcHRpb25hbCkuXG4vLy9cbi8vLyAgIElmIG9ubHkgb25lIHZhbHVlIGlzIHBhc3NlZCwgaXQgaXMgYXNzdW1lZCB0aGF0IGl0J3MgYCRjb2x1bW5zYCBhbmQgdGhhdCB0aGF0IGAkY29udGFpbmVyLWNvbHVtbnNgIGlzIGVxdWFsIHRvIGAkZ3JpZC1jb2x1bW5zYCwgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuLy8vXG4vLy8gICBUaGUgdmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgd2l0aCBhbnkgc3RyaW5nIHN1Y2ggYXMgYG9mYCwgYC9gLCBldGMuXG4vLy9cbi8vLyAgIGAkY29sdW1uc2AgYWxzbyBhY2NlcHRzIGRlY2ltYWxzIGZvciB3aGVuIGl0J3MgbmVjZXNzYXJ5IHRvIGJyZWFrIG91dCBvZiB0aGUgc3RhbmRhcmQgZ3JpZC4gRS5nLiBQYXNzaW5nIGAyLjRgIGluIGEgc3RhbmRhcmQgMTIgY29sdW1uIGdyaWQgd2lsbCBkaXZpZGUgdGhlIHJvdyBpbnRvIDUgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbYmxvY2tdXG4vLy8gICBTZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IG9mIHRoZSBlbGVtZW50LiBCeSBkZWZhdWx0IGl0IHNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQgdG8gYGJsb2NrYC5cbi8vL1xuLy8vICAgSWYgcGFzc2VkIGBibG9jay1jb2xsYXBzZWAsIGl0IGFsc28gcmVtb3ZlcyB0aGUgbWFyZ2luIGd1dHRlciBieSBhZGRpbmcgaXQgdG8gdGhlIGVsZW1lbnQgd2lkdGguXG4vLy9cbi8vLyAgIElmIHBhc3NlZCBgdGFibGVgLCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IHRvIGB0YWJsZS1jZWxsYCBhbmQgY2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIGVsZW1lbnQgd2l0aG91dCB0YWtpbmcgZ3V0dGVycyBpbnRvIGNvbnNpZGVyYXRpb24uIFRoZSByZXN1bHQgZG9lcyBub3QgYWxpZ24gd2l0aCB0aGUgYmxvY2stYmFzZWQgZ3JpZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy9cbi8vLyAgICAubmVzdGVkLWVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIgb2YgNik7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbi8vLyAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICB3aWR0aDogMzAuMTEzODklO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudCAubmVzdGVkLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cblxuQG1peGluIHNwYW4tY29sdW1ucygkc3BhbjogJGNvbHVtbnMgb2YgJGNvbnRhaW5lci1jb2x1bW5zLCAkZGlzcGxheTogYmxvY2spIHtcbiAgJGNvbHVtbnM6IG50aCgkc3BhbiwgMSk7XG4gICRjb250YWluZXItY29sdW1uczogY29udGFpbmVyLXNwYW4oJHNwYW4pO1xuXG4gICRwYXJlbnQtY29sdW1uczogZ2V0LXBhcmVudC1jb2x1bW5zKCRjb250YWluZXItY29sdW1ucykgIWdsb2JhbDtcblxuICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICAkZGlzcGxheS10YWJsZTogaXMtZGlzcGxheS10YWJsZSgkY29udGFpbmVyLWRpc3BsYXktdGFibGUsICRkaXNwbGF5KTtcblxuICBAaWYgJGRpc3BsYXktdGFibGUgIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgfSBAZWxzZSB7XG4gICAgZmxvYXQ6ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn07XG5cbiAgICBAaWYgJGRpc3BsYXkgIT0gbm8tZGlzcGxheSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSAnY29sbGFwc2UnIGFyZ3VtZW50IHdpbGwgYmUgZGVwcmVjYXRlZC4gVXNlICdibG9jay1jb2xsYXBzZScgaW5zdGVhZC5cIik7XG4gICAgfVxuXG4gICAgQGlmICRkaXNwbGF5ID09IGNvbGxhcHNlIG9yICRkaXNwbGF5ID09IGJsb2NrLWNvbGxhcHNlIHtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucykgKyBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnMpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xuICAgICAgfVxuXG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFkZWZhdWx0O1xuJGZnLWNvbHVtbjogJGNvbHVtbjtcbiRmZy1ndXR0ZXI6ICRndXR0ZXI7XG4kZmctbWF4LWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4kY29udGFpbmVyLWRpc3BsYXktdGFibGU6IGZhbHNlICFkZWZhdWx0O1xuJGxheW91dC1kaXJlY3Rpb246IExUUiAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiBmbGV4LXdpZHRoKCRjb2x1bW5zKTtcbiAgJGNvbnRhaW5lci13aWR0aDogZmxleC13aWR0aCgkY29udGFpbmVyLWNvbHVtbnMpO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG59XG5cbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiBmbGV4LXdpZHRoKCRjb250YWluZXItY29sdW1ucyk7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG59XG5cbkBmdW5jdGlvbiBmbGV4LXdpZHRoKCRuLCAkY29sdW1uLXdpZHRoOiAkZmctY29sdW1uLCAkZ3V0dGVyLXdpZHRoOiAkZmctZ3V0dGVyKSB7XG4gIEByZXR1cm4gJG4gKiAkY29sdW1uLXdpZHRoICsgKCRuIC0gMSkgKiAkZ3V0dGVyLXdpZHRoO1xufVxuXG5AZnVuY3Rpb24gZ2V0LXBhcmVudC1jb2x1bW5zKCRjb2x1bW5zKSB7XG4gIEBpZiAkY29sdW1ucyAhPSAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkcGFyZW50LWNvbHVtbnM6ICRjb2x1bW5zICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICB9XG5cbiAgQHJldHVybiAkcGFyZW50LWNvbHVtbnM7XG59XG5cbkBmdW5jdGlvbiBpcy1kaXNwbGF5LXRhYmxlKCRjb250YWluZXItaXMtZGlzcGxheS10YWJsZSwgJGRpc3BsYXkpIHtcbiAgQHJldHVybiAkY29udGFpbmVyLWlzLWRpc3BsYXktdGFibGUgPT0gdHJ1ZSBvciAkZGlzcGxheSA9PSB0YWJsZTtcbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNpdGUgQ29udGVudFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQb3N0cyBhbmQgUGFnZXNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRW50cnkgVGl0bGVcbi5lbnRyeS10aXRsZSB7XG5cdGZvbnQtc2l6ZTogcmVtKDM2KTtcbn0gLy8gLmVudHJ5LXRpdGxlXG5cbi8vIFN0aWN5IGFuZCBDb21tZW50cyBMaW5rXG4uc3RpY2t5LFxuLmNvbW1lbnRzLWxpbmsge1xuXHRkaXNwbGF5OiBibG9jaztcbn0gLy8gLnN0aWNreSwgLmNvbW1lbnRzLWxpbmtcblxuLy8gaGVudHJ5XG4uaGVudHJ5IHtcblx0bWFyZ2luOiAwIDAgcmVtKDI0KSAwO1xufSAvLyAuaGVudHJ5XG5cbi8vIEJ5bGluZSBhbmQgdXBkYXRlIHBvc3QgZGF0ZVxuLmJ5bGluZSxcbi51cGRhdGVkOm5vdCgucHVibGlzaGVkKSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59IC8vIC5ieWxpbmUsIC51cGRhdGVkOm5vdCgucHVibGlzaGVkKVxuXG4vLyBCeWxpbmUgZm9yIHNpbmdsZSBhbmQgZ3JvdXBcbi5zaW5nbGUgLmJ5bGluZSxcbi5ncm91cC1ibG9nIC5ieWxpbmUge1xuXHRkaXNwbGF5OiBpbmxpbmU7XG59IC8vIC5zaW5nbGUgLmJ5bGluZSwgLmdyb3VwLWJsb2cgLmJ5bGluZVxuXG4vLyBQYWdlIGNvbnRlbnQsIGVudHJ5IGNvbnRlbnQgYW5kIGVudHJ5IHN1bW1hcnlcbi5wYWdlLWNvbnRlbnQsXG4uZW50cnktY29udGVudCxcbi5lbnRyeS1zdW1tYXJ5IHtcblx0bWFyZ2luOiByZW0oMjQpIDAgMDtcbn0gLy8gLnBhZ2UtY29udGVudCwgLmVudHJ5LWNvbnRlbnQsIC5lbnRyeS1zdW1tYXJ5XG5cbi8vIFBhZ2UgbGlua3Ncbi5wYWdlLWxpbmtzIHtcblx0Y2xlYXI6IGJvdGg7XG5cdG1hcmdpbjogMCAwIHJlbSgyNCkgMDtcbn0gLy8gLnBhZ2UtbGlua3NcblxuLy8gRWRpdCBsaW5rXG4uZWRpdC1saW5rIHtcblx0bWFyZ2luOiAwIHJlbSgyNCk7XG59IC8vIC5lZGl0LWxpbmtcblxuLy8gQXNpZGVzXG4uYmxvZyAuZm9ybWF0LWFzaWRlIC5lbnRyeS10aXRsZSxcbi5hcmNoaXZlIC5mb3JtYXQtYXNpZGUgLmVudHJ5LXRpdGxlIHtcblx0ZGlzcGxheTogbm9uZTtcbn0gLy8gLmJsb2cgLmZvcm1hdC1hc2lkZSAuZW50cnktdGl0bGUsIC5hcmNoaXZlIC5mb3JtYXQtYXNpZGUgLmVudHJ5LXRpdGxlXG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGb290ZXJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNpdGUtZm9vdGVyIHtcbiAgICBjb2xvcjogJGNvbG9yLXRleHQtbWFpbjtcbiAgICBwYWRkaW5nOiA2MHB4IDAgMzBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXHR6LWluZGV4OiAxMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICB9XG5cbiAgICAubWVudS1mb290ZXItbWVudS1jb250YWluZXIge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaXN0LXJlc2V0O1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2l0ZS1pbmZvIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAgIHAge1xuXHRcdFx0Zm9udC1zaXplOiAyLjV2dztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVhay1sZykge1xuXHRcdFx0XHRmb250LXNpemU6IC44NXZ3O1xuXHRcdFx0fVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXRlcnRpYXJ5O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2Nyb2xsLWRvd24ge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGJvdHRvbTogNTBweDtcblx0cmlnaHQ6IDEwJTtcblx0ei1pbmRleDogMTAwO1xuXHRjb2xvcjogJGNvbG9yLXRoZW1lLXRlcnRpYXJ5O1xuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRsaW5lLWhlaWdodDogMTtcblx0b3BhY2l0eTogMTtcblx0dHJhbnNpdGlvbjogZWFzZSBhbGwgMzAwbXM7XG5cblx0Ji5oaWRlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0c3BhbiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTIwcHg7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDA7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRmb250LWZhbWlseTogJGZvbnQtc2VyaWY7XG5cdH1cblxuXHQuYXJyb3cge1xuXHRcdGhlaWdodDogNzBweDtcblx0XHR3aWR0aDogMXB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtdGVydGlhcnk7XG5cdFx0YW5pbWF0aW9uOiBib3VuY2UgMTIwMG1zIGluZmluaXRlO1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiAxcHg7XG5cdFx0XHRoZWlnaHQ6IDE0cHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtdGVydGlhcnk7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOiAtMnB4O1xuXHRcdFx0bGVmdDogLTVweDtcblx0XHR9XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRoZWlnaHQ6IDE0cHg7XG5cdFx0XHR3aWR0aDogMXB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXRlcnRpYXJ5O1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Ym90dG9tOiAtMnB4O1xuXHRcdFx0cmlnaHQ6IC01cHg7XG5cdFx0fVxuXG5cdFx0QGtleWZyYW1lcyBib3VuY2Uge1xuXHRcdFx0ZnJvbSB7IGJvdHRvbTogLTEwcHg7IH1cblx0XHRcdDUwJSB7IGJvdHRvbTogMDsgfVxuXHRcdFx0dG8geyBib3R0b206IC0xMHB4OyB9XG5cdFx0fVxuXHR9XG59XG5cbi5yaWdodC1ib3JkZXIge1xuXHRoZWlnaHQ6IDEwMHZoO1xuXHR3aWR0aDogMzBweDtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdHJpZ2h0OiAwO1xuXHRiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG5cdHotaW5kZXg6IDExO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCRicmVhay1sZykge1xuXHRcdHdpZHRoOiA2MHB4O1xuXHR9XG59XG5cbi5ib3R0b20tYm9yZGVyIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG5cdHotaW5kZXg6IDExO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICB9XG59XG5cbi5sZWZ0LWJvcmRlciB7XG5cdGhlaWdodDogMTAwdmg7XG5cdHdpZHRoOiAzMHB4O1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0YmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuXHR6LWluZGV4OiAxMTtcblxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcblx0XHR3aWR0aDogNjBweDtcblx0fVxufVxuXG4uY29udGFjdCB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHdpZHRoOiA5MHZ3O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ly9ib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSgkY29sb3ItdGhlbWUtdGVydGlhcnksIC42KTtcblxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWstbWQpIHtcblx0XHR3aWR0aDogNDB2dztcblx0fVxuXG5cdC53cGNmNyB7XG5cdFx0aW5wdXRbdHlwZT0nc3VibWl0J10ge1xuXHRcdFx0bWFyZ2luLXRvcDogMzBweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS10ZXJ0aWFyeTtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdHBhZGRpbmc6IDE1cHg7XG5cdFx0fVxuXHR9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMaXN0IFJlc2V0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLy9cbi8vLyBAYXV0aG9yIEdyZWcgUmlja2FieVxuLy8vIEBncm91cCB3ZHNcbi8vLy9cblxuLy8vIFJlc2V0IGFsbCBwYWRkaW5nIGFuZCBzdHlsZXMgb24gYm90aCB1bm9yZGVyZWQgYW5kIG9yZGVyZWQgbGlzdHMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQmFzaWMgVXNhZ2UgU2Fzc1xuLy8vICAgIC5mb28tbGlzdCB7XG4vLy8gICAgICAgIEBpbmNsdWRlIGxpc3QtcmVzZXQ7XG4vLy8gICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIENTUyBPdXRwdXRcbi8vLyAgICAuZm9vLWxpc3Qge1xuLy8vICAgICAgICAgY2xlYXI6IGJvdGg7XG4vLy9cdFx0XHRjb250ZW50OiBcIlwiO1xuLy8vXHRcdFx0ZGlzcGxheTogdGFibGU7XG4vLy8gICAgICAgIFx0bWFyZ2luOiAwO1xuLy8vICAgICAgICBcdHBhZGRpbmc6IDA7XG4vLy8gICAgICAgIFx0bGlzdC1zdHlsZTogbm9uZTtcbi8vL1xuLy8vICAgIH1cblxuQG1peGluIGxpc3QtcmVzZXQge1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblx0QGluY2x1ZGUgbWFyZ2luLXBhZGRpbmctcmVzZXQ7XG5cblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZvcm1zXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZvcm0gQ29udHJvbFxuLmZvcm0tY29udHJvbCB7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5sYWJlbCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRmb250LXNpemU6IDEwMCU7IC8vIENvcnJlY3RzIGZvbnQgc2l6ZSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vyc1xuXHRtYXJnaW46IDA7IC8vIEFkZHJlc3NlcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRTYvNywgRjMvNCwgUzUsIENocm9tZVxuXHRyZXNpemU6IHZlcnRpY2FsO1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIEltcHJvdmVzIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vyc1xufSAvLyBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhXG5cbi8vIEFkZHJlc3NlcyBleGNlc3MgcGFkZGluZyBpbiBJRTgvOVxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcblx0cGFkZGluZzogMDtcbn0gLy8gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCBpbnB1dFt0eXBlPVwicmFkaW9cIl1cblxuLy8gUmVtb3ZlIHRoZSBjbGVhciB4IGljb24gaW4gSUVcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOjotbXMtY2xlYXIsXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotbXMtY2xlYXIge1xuXHRkaXNwbGF5OiBub25lO1xufSAvLyBpbnB1dFt0eXBlPVwidGV4dFwiXTo6LW1zLWNsZWFyLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotbXMtY2xlYXJcblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBBZGRyZXNzZXMgYXBwZWFyYW5jZSBzZXQgdG8gc2VhcmNoZmllbGQgaW4gUzUsIENocm9tZVxuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblxuXHQvLyBDb3JyZWN0cyBpbm5lciBwYWRkaW5nIGRpc3BsYXllZCBvZGRseSBpbiBTNSwgQ2hyb21lIG9uIE9TWFxuXHQmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcblx0XHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdH0gLy8gJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvblxufSAvLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdXG5cbi8vIENvcnJlY3RzIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBkaXNwbGF5ZWQgb2RkbHkgaW4gRkYzLzRcbi8vIHd3dy5zaXRlcGVuLmNvbS9ibG9nLzIwMDgvMDUvMTQvdGhlLWRldmlscy1pbi10aGUtZGV0YWlscy1maXhpbmctZG9qb3MtdG9vbGJhci1idXR0b25zL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuXHRib3JkZXI6IDA7XG5cdHBhZGRpbmc6IDA7XG59IC8vIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJcblxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInJhbmdlXCJdLFxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0sXG5pbnB1dFt0eXBlPVwid2Vla1wiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxudGV4dGFyZWEge1xuXHRhcHBlYXJhbmNlOiBub25lO1xuXHRib3JkZXItYm90dG9tOiByZW0oMSkgc29saWQgJGNvbG9yLXRoZW1lLXRlcnRpYXJ5O1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRjb2xvcjogJGNvbG9yLWlucHV0LXRleHQ7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdHBhZGRpbmc6IDVweCA1cHggNXB4IDA7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItdGhlbWUtcHJpbWFyeTtcblx0XHRjb2xvcjogJGNvbG9yLWlucHV0LWZvY3VzLXRleHQ7XG5cdFx0b3V0bGluZTogIG5vbmU7XG5cdH0gLy8gJjpmb2N1c1xufSAvLyBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJ0ZWxcIl0sIGlucHV0W3R5cGU9XCJyYW5nZVwiXSwgaW5wdXRbdHlwZT1cImRhdGVcIl0sIGlucHV0W3R5cGU9XCJtb250aFwiXSwgaW5wdXRbdHlwZT1cIndlZWtcIl0sIGlucHV0W3R5cGU9XCJ0aW1lXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSwgaW5wdXRbdHlwZT1cImNvbG9yXCJdLCB0ZXh0YXJlYVxuXG50ZXh0YXJlYSB7XG5cdEBpbmNsdWRlIHNpemUoMTAwJSAxMjBweCk7XG5cblx0Ym9yZGVyLWJvdHRvbTogcmVtKDEpIHNvbGlkICRjb2xvci10aGVtZS10ZXJ0aWFyeSAhaW1wb3J0YW50O1xuXHRvdmVyZmxvdzogYXV0bzsgLy8gUmVtb3ZlcyBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRTYvNy84Lzlcblx0dmVydGljYWwtYWxpZ246IHRvcDsgLy8gSW1wcm92ZXMgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnNcbn0gLy8gdGV4dGFyZWFcblxuLy8gRm9ybSBXcmFwXG4uZm9ybS13cmFwIHtcblx0YmFja2dyb3VuZDogJGNvbG9yLXNpbHZlcjtcblx0cGFkZGluZzogMjBweCAyNXB4O1xuXG5cdC5mb3JtLXdyYXBfX3RpdGxlIHtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdG5mLWZpZWxkIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG5cdFx0JiAuc3VibWl0LWNvbnRhaW5lciB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblxuXHR9XG5cblx0LmxhYmVsLWFib3ZlIC5uZi1maWVsZC1sYWJlbCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXG5cdFx0bGFiZWwge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHR9XG5cblx0fVxuXG5cdC5uZi1iZWZvcmUtZm9ybS1jb250ZW50IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0aW5wdXQsXG5cdHRleHRhcmVhLFxuXHRzZWxlY3Qge1xuXHRcdGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcblx0XHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdFx0cGFkZGluZzogNXB4IDEwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJ1dHRvbnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ1dHRvbixcbmJ1dHRvbixcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJ1dHRvbi1iYWNrZ3JvdW5kO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdGJvcmRlci13aWR0aDogMDtcblx0Y29sb3I6ICRjb2xvci1idXR0b24tdGV4dDtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAkcGFkZGluZy1pbnB1dDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcjtcblx0fSAvLyAmOmhvdmVyXG5cblx0JjphY3RpdmUsXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcjtcblx0fSAvLyAmOmFjdGl2ZSwgJjpmb2N1c1xufSAvLyBidXR0b24sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIGlucHV0W3R5cGU9XCJyZXNldFwiXSwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gcmVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSByZW0oMTIpXG4vLyBBc3N1bWVzICRlbS1iYXNlIGlzIHRoZSBmb250LXNpemUgb2YgPGh0bWw+XG5cbkBmdW5jdGlvbiByZW0oJHB4dmFsKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgcmVtYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIFwiICtcbiAgICBcInJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuXG4gICRiYXNlOiAkZW0tYmFzZTtcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cblxuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcblxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxcmVtO1xufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGVhZGVyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhlYWRlclxuLnNpdGUtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogOTk7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMjBweCk7XG4gICAgfVxufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGVyb1xuLy9cbi8vIGh0dHA6Ly9jb2RlcGVuLmlvL3dlYmRldnN0dWRpb3MvcGVuL1JSckpMUFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBIZXJvIGNvbnRhaW5lci5cbi5oZXJvLWFyZWEge1xuXHRvdmVyZmxvdy15OiBoaWRkZW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcblxuXHQvLyBUcmFuc3BhcmVudCBvdmVybGF5IChvcHRpb25hbCkuXG5cdCY6OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIG51bGwgbnVsbCk7XG5cdFx0QGluY2x1ZGUgc2l6ZSgxMDAlKTtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLWJsYWNrLCAwLjYpO1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ei1pbmRleDogMjtcblx0fSAvLyAmOmFmdGVyXG5cblx0Ly8gR3JhZGllbnQgb3ZlcmxheSAob3B0aW9uYWwpLlxuXHQvLyAmOmFmdGVyIHtcblx0Ly8gXHRAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKCRjb2xvci1ibGFjaywgMCkgMCUsIHJnYmEoJGNvbG9yLWJsYWNrLCAwLjUwKSA1MCUpO1xuXHQvLyBcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgbnVsbCBudWxsKTtcblx0Ly8gXHRAaW5jbHVkZSBzaXplKDEwMCUpO1xuXG5cdC8vIFx0Y29udGVudDogJyc7XG5cdC8vIFx0ei1pbmRleDogMjtcblx0Ly8gfSAvLyAmOmFmdGVyXG5cblx0Ly8gQ29udGVudCBjb250YWluZXIuXG5cdC5oZXJvLWNvbnRlbnQge1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdG1heC13aWR0aDogcmVtKDUwMCk7IC8vIHdpZHRoIG9mIGNvbnRlbnQgY29udGFpbmVyXG5cdFx0bWluLWhlaWdodDogcmVtKDUwMCk7IC8vIGhlaWdodCBvZiBoZXJvXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR6LWluZGV4OiAzO1xuXG5cdFx0Ly8gU2V0IGRlZmF1bHRzLlxuXHRcdC5oZXJvLXRpdGxlLFxuXHRcdC5oZXJvLWRlc2NyaXB0aW9uLFxuXHRcdC5oZXJvLWJ1dHRvbiB7XG5cdFx0XHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdH0gLy8gLmhlcm8tdGl0bGUsIC5oZXJvLWRlc2NyaXB0aW9uLCAuaGVyby1idXR0b25cblxuXHRcdC8vIEFkZCBwYWRkaW5nIHRvIGRlc2NyaXB0aW9uLlxuXHRcdC5oZXJvLWRlc2NyaXB0aW9uIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0oMjQpO1xuXHRcdH0gLy8gLmhlcm8tZGVzY3JpcHRpb25cblxuXHRcdC8vIFN0eWxlIGJ1dHRvbi5cblx0XHQuaGVyby1idXR0b24ge1xuXHRcdFx0QGluY2x1ZGUgcGFkZGluZyhyZW0oMTIpIHJlbSg0MCkpO1xuXG5cdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci13aGl0ZTtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLWJsYWNrLCAwLjcpO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0fSAvLyAuaGVyby1idXR0b25cblx0fSAvLyAuaGVyby1jb250ZW50XG59IC8vIC5oZXJvLWFyZWFcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIERpcmVjdGlvbmFsLXByb3BlcnR5IG1peGlucyBhcmUgc2hvcnRoYW5kcyBmb3Igd3JpdGluZyBwcm9wZXJ0aWVzIGxpa2UgdGhlIGZvbGxvd2luZ1xuLy8vXG4vLy8gQGlnbm9yZSBZb3UgY2FuIGFsc28gdXNlIGBmYWxzZWAgaW5zdGVhZCBvZiBgbnVsbGAuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGRpcmVjdGlvbmFsIHZhbHVlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDAgMTBweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZG90dGVkO1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuLy8vICAgICBtYXJnaW4tbGVmdDogMDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cblxuQGZ1bmN0aW9uIGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscykge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGNvbGxhcHNlLWRpcmVjdGlvbmFsc2AgaXMgZGVwcmVjYXRlZCBhbmQgXCIgK1xuICAgIFwid2lsbCBiZSByZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgJG91dHB1dDogbnVsbDtcblxuICAkYTogbnRoKCR2YWxzLCAxKTtcbiAgJGI6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCAyKSk7XG4gICRjOiBpZihsZW5ndGgoJHZhbHMpIDwgMywgJGEsIG50aCgkdmFscywgMykpO1xuICAkZDogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIGlmKGxlbmd0aCgkdmFscykgPCA0LCAyLCA0KSkpO1xuXG4gIEBpZiAkYSA9PSAwIHsgJGE6IDA7IH1cbiAgQGlmICRiID09IDAgeyAkYjogMDsgfVxuICBAaWYgJGMgPT0gMCB7ICRjOiAwOyB9XG4gIEBpZiAkZCA9PSAwIHsgJGQ6IDA7IH1cblxuICBAaWYgJGEgPT0gJGIgYW5kICRhID09ICRjIGFuZCAkYSA9PSAkZCB7ICRvdXRwdXQ6ICRhOyAgICAgICAgICB9XG4gIEBlbHNlIGlmICRhID09ICRjIGFuZCAkYiA9PSAkZCAgICAgICAgIHsgJG91dHB1dDogJGEgJGI7ICAgICAgIH1cbiAgQGVsc2UgaWYgJGIgPT0gJGQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYzsgICAgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjICRkOyB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gT3V0cHV0IGRpcmVjdGlvbmFsIHByb3BlcnRpZXMsIGZvciBpbnN0YW5jZSBgbWFyZ2luYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcmVcbi8vLyAgIFByZWZpeCB0byB1c2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZlxuLy8vICAgU3VmZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgdmFsdWVzXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbGxhcHNlLWRpcmVjdGlvbmFsc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcblxuQG1peGluIGRpcmVjdGlvbmFsLXByb3BlcnR5KCRwcmUsICRzdWYsICR2YWxzKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZShcImRpcmVjdGlvbmFsLXByb3BlcnR5XCIpO1xuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuXG4gIC8vIFByb3BlcnR5IE5hbWVzXG4gICR0b3A6ICAgICRwcmUgKyBcIi10b3BcIiAgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRib3R0b206ICRwcmUgKyBcIi1ib3R0b21cIiArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRsZWZ0OiAgICRwcmUgKyBcIi1sZWZ0XCIgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRyaWdodDogICRwcmUgKyBcIi1yaWdodFwiICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRhbGw6ICAgICRwcmUgKyAgICAgICAgICAgICBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuXG4gICR2YWxzOiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpO1xuXG4gIEBpZiBjb250YWlucy1mYWxzeSgkdmFscykge1xuICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skdG9wfTogbnRoKCR2YWxzLCAxKTsgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAxKTsgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRyaWdodH06IG50aCgkdmFscywgMik7IH1cbiAgICB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAyIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAxKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gNCB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDQpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCA0KTsgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3skYWxsfTogJHZhbHM7XG4gIH1cblxuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEljb25zXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNvY2lhbCBpY29ucyA8dWw+XG4uc29jaWFsLWljb25zIHtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdEBpbmNsdWRlIGxpc3QtcmVzZXQ7XG5cblx0Ly8gRWFjaCBpY29uIDxsaT5cblx0LnNvY2lhbC1pY29uIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHQvLyBMb29wIHRocm91Z2ggYWxsIHNvY2lhbCBpY29uc1xuXHRcdEBlYWNoICRzb2NpYWwtY29sb3IsICRjb2xvciBpbiAkc29jaWFsLWNvbG9ycyB7XG5cblx0XHRcdC8vIFNldCBzdHlsZXMgb24gdGhvc2Ugc29jaWFsIGljb25zIVxuXHRcdFx0Lmljb24tI3skc29jaWFsLWNvbG9yfSB7XG5cdFx0XHRcdEBpbmNsdWRlIHNpemUocmVtKDMwKSByZW0oMzApKTtcblxuXHRcdFx0XHRmaWxsOiAkY29sb3I7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0ZmlsbDogbGlnaHRlbigkY29sb3IsIDIwJSk7XG5cdFx0XHRcdH0gLy8gJjpob3ZlclxuXHRcdFx0fSAvLyAuaWNvbi0jeyRzb2NpYWwtY29sb3J9XG5cdFx0fSAvLyBlbmQgZWFjaCBsb29wXG5cblx0XHQvLyBObyBtYXJnaW4gZm9yIHRoZSBsYXN0IDxsaT4gaXRlbVxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0fSAvLyAmOmxhc3QtY2hpbGRcblx0fSAvLyAuc29jaWFsLWljb25cbn0gLy8gLnNvY2lhbC1pY29uc1xuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTW9iaWxlIE5hdmlnYXRpb25cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5hdmJhci10b2dnbGVyIHtcbiAgICBtYXJnaW46IDM1cHggMCAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmOm5vdCguY29sbGFwc2VkKSAjbWVudS1pY29uIHtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbjpiZWZvcmUsXG4gICAgICAgIHNwYW46YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbjpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuI21lbnUtaWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDM1cHggMTBweCAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHotaW5kZXg6IDEwO1xuXG4gICAgc3BhbixcbiAgICBzcGFuOmJlZm9yZSxcbiAgICBzcGFuOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgfVxuXG4gICAgc3BhbjpiZWZvcmUge1xuICAgICAgICB0b3A6IDhweDtcbiAgICB9XG5cbiAgICBzcGFuOmFmdGVyIHtcbiAgICAgICAgdG9wOiAxNnB4O1xuICAgIH1cblxufSAvLyAjbWVudS1pY29uIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTmF2aWdhdGlvblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaGVhZGVyLW5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG59XG5cbi8vIExvZ29cbi5uYXZiYXItYnJhbmQge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuICAgIGZvbnQtc2l6ZTogLjg1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxufVxuXG4vLyBOYXZiYXJcbi5uYXZiYXIge1xuICAgIGhlaWdodDogMzBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZXJpZjtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgIH1cblxuICAgICYubmF2YmFyLWV4cGFuZC1sZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBtYXJnaW46IDM1cHggMCAwO1xuXG4gICAgICAgIGxpOmxhc3Qtb2YtdHlwZSB7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgMDtcblxuICAgICAgICBAaW5jbHVkZSBkZXZpY2UtbWVkaWEoJGJyZWFrLW1kLCBtaW4pIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMzBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgN3B4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yLXdoaXRlIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMTRweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluayxcbiAgICAmLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kLFxuICAgICYubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbmsge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXNlY29uZGFyeTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZXJpZjtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAuODVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXNlY29uZGFyeTtcblx0XHRtYXJnaW46IDA7XG5cbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1zZWNvbmRhcnk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWN0LXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuY29udGFjdC1idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtdGVydGlhcnk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICBmb250LXNpemU6IC44NWVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBlYXNlIGJhY2tncm91bmQtY29sb3IgMzAwbXM7XG5cdFx0LXdlYmtpdC1mb250LXNtb290aGluZzogaW5pdGlhbDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggNjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1zZWNvbmRhcnk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgIC51bmRlcnNjb3JlIHtcblxuICAgICAgICAgICAgICAgICYuYmxpbmsge1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IGZhZGUgODAwbXMgaW5maW5pdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBmYWRlIHtcbiAgICAgICAgZnJvbSB7IG9wYWNpdHk6IDEuMDsgfVxuICAgICAgICA1MCUgeyBvcGFjaXR5OiAwOyB9XG4gICAgICAgIHRvIHsgb3BhY2l0eTogMS4wOyB9XG4gICAgfVxufVxuXG4uY29tbXVuaXR5IHtcblx0QGluY2x1ZGUgbGlzdC1yZXNldCgpO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHJpZ2h0OiA2cHg7XG5cdGJvdHRvbTogMjZweDtcblx0ei1pbmRleDogMTAwMDtcblxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcblx0XHRyaWdodDogMjBweDtcblx0XHRib3R0b206IDYwcHg7XG5cdH1cblxuXHRhIHtcblxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0Y29sb3I6ICRjb2xvci10aGVtZS1zZWNvbmRhcnk7XG5cdFx0dHJhbnNpdGlvbjogZWFzZSBhbGwgMzAwbXM7XG5cdFx0bWFyZ2luLXRvcDogNXB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG5cdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0JjphY3RpdmUsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogJGNvbG9yLXRoZW1lLXRlcnRpYXJ5O1xuXHRcdH1cblx0fVxufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU29jaWFsIE1lbnVcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNvY2lhbC1tZW51IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgfVxuXG59XG5cbi5tZW51LXNvY2lhbCBsaSBhOmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLm1lbnUtc29jaWFsIGxpLmRyaWJiYmxlIGE6OmJlZm9yZSxcbi5tZW51LXNvY2lhbCBsaSBhW2hyZWYqPVwiZHJpYmJibGUuY29tXCJdOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTdkXCI7XG59XG5cbi5tZW51LXNvY2lhbCBsaS5mYWNlYm9vayBhOjpiZWZvcmUsXG4ubWVudS1zb2NpYWwgbGkgYVtocmVmKj1cImZhY2Vib29rLmNvbVwiXTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA5YVwiO1xufVxuXG4ubWVudS1zb2NpYWwgbGkuZmxpY2tyIGE6OmJlZm9yZSxcbi5tZW51LXNvY2lhbCBsaSBhW2hyZWYqPVwiZmxpY2tyLmNvbVwiXTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjE2ZVwiO1xufVxuXG4ubWVudS1zb2NpYWwgbGkuZ2l0aHViIGE6OmJlZm9yZSxcbi5tZW51LXNvY2lhbCBsaSBhW2hyZWYqPVwiZ2l0aHViLmNvbVwiXTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA5YlwiO1xufVxuXG4ubWVudS1zb2NpYWwgbGkuZ29vZ2xlcGx1cyBhOjpiZWZvcmUsXG4ubWVudS1zb2NpYWwgbGkgYVtocmVmKj1cInBsdXMuZ29vZ2xlLmNvbVwiXTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjBkNVwiO1xufVxuXG4ubWVudS1zb2NpYWwgbGkuaW5zdGFncmFtIGE6OmJlZm9yZSxcbi5tZW51LXNvY2lhbCBsaSBhW2hyZWYqPVwiaW5zdGFncmFtLmNvbVwiXTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjE2ZFwiO1xufVxuXG4ubWVudS1zb2NpYWwgbGkubGFzdGZtIGE6OmJlZm9yZSxcbi5tZW51LXNvY2lhbCBsaSBhW2hyZWYqPVwibGFzdC5mbVwiXTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjIwMlwiO1xufVxuXG4ubWVudS1zb2NpYWwgbGkubGlua2VkaW4gYTo6YmVmb3JlLFxuLm1lbnUtc29jaWFsIGxpIGFbaHJlZio9XCJsaW5rZWRpbi5jb21cIl06OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwZTFcIjtcbn1cblxuLm1lbnUtc29jaWFsIGxpLnBpbnRlcmVzdCBhOjpiZWZvcmUsXG4ubWVudS1zb2NpYWwgbGkgYVtocmVmKj1cInBpbnRlcmVzdC5jb21cIl06OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYyMzFcIjtcbn1cblxuLm1lbnUtc29jaWFsIGxpLnNreXBlIGE6OmJlZm9yZSxcbi5tZW51LXNvY2lhbCBsaSBhW2hyZWYqPVwic2t5cGUuY29tXCJdOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTdlXCI7XG59XG5cbi5tZW51LXNvY2lhbCBsaS5zcG90aWZ5IGE6OmJlZm9yZSxcbi5tZW51LXNvY2lhbCBsaSBhW2hyZWYqPVwic3BvdGlmeS5jb21cIl06OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxYmNcIjtcbn1cblxuLm1lbnUtc29jaWFsIGxpLnN0dW1ibGV1cG9uIGE6OmJlZm9yZSxcbi5tZW51LXNvY2lhbCBsaSBhW2hyZWYqPVwic3R1bWJsZXVwb24uY29tXCJdOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMWE0XCI7XG59XG5cbi5tZW51LXNvY2lhbCBsaS50dW1ibHIgYTo6YmVmb3JlLFxuLm1lbnUtc29jaWFsIGxpIGFbaHJlZio9XCJ0dW1ibHIuY29tXCJdOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTczXCI7XG59XG5cbi5tZW51LXNvY2lhbCBsaS50d2l0dGVyIGE6OmJlZm9yZSxcbi5tZW51LXNvY2lhbCBsaSBhW2hyZWYqPVwidHdpdHRlci5jb21cIl06OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwOTlcIjtcbn1cblxuLm1lbnUtc29jaWFsIGxpLnZpbWVvIGE6OmJlZm9yZSxcbi5tZW51LXNvY2lhbCBsaSBhW2hyZWYqPVwidmltZW8uY29tXCJdOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMjdkXCI7XG59XG5cbi5tZW51LXNvY2lhbCBsaS52aW5lIGE6OmJlZm9yZSxcbi5tZW51LXNvY2lhbCBsaSBhW2hyZWYqPVwidmluZS5jb1wiXTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjFjYVwiO1xufVxuXG4ubWVudS1zb2NpYWwgbGkudmsgYTo6YmVmb3JlLFxuLm1lbnUtc29jaWFsIGxpIGFbaHJlZio9XCJ2ay5jb21cIl06OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxODlcIjtcbn1cblxuLm1lbnUtc29jaWFsIGxpLnhpbmcgYTo6YmVmb3JlLFxuLm1lbnUtc29jaWFsIGxpIGFbaHJlZio9XCJ4aW5nLmNvbVwiXTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjE2OFwiO1xufVxuXG4ubWVudS1zb2NpYWwgbGkueW91dHViZSBhOjpiZWZvcmUsXG4ubWVudS1zb2NpYWwgbGkgYVtocmVmKj1cInlvdXR1YmUuY29tXCJdOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTZhXCI7XG59IiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGFibGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnRhYmxlIHtcblx0Ym9yZGVyOiAwO1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRib3JkZXItc3BhY2luZzogMDtcblx0cGFkZGluZzogMDtcblx0d2lkdGg6IDEwMCU7XG5cblx0Ly8gdGhlYWRcblx0dGhlYWQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkcGhvbmUtbGFuZHNjYXBlKSB7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XG5cdFx0fVxuXHR9IC8vIHRoZWFkXG5cblx0Ly8gdGgsIHRkXG5cdHRoLFxuXHR0ZCB7XG5cdFx0cGFkZGluZzogcmVtKDEwKTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkcGhvbmUtbGFuZHNjYXBlKSB7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdH1cblx0fSAvLyB0aCwgdGRcblxuXHQvLyB0aFxuXHR0aCB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRcdGxldHRlci1zcGFjaW5nOiByZW0oMSk7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRwaG9uZS1sYW5kc2NhcGUpIHtcblx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0fVxuXHR9IC8vIHRoXG5cblx0Ly8gdHJcblx0dHIge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgxMCk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkcGhvbmUtbGFuZHNjYXBlKSB7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1yb3c7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fSAvLyB0clxuXG5cdC8vIHRkXG5cdHRkIHtcblx0XHRib3JkZXI6IHJlbSgxKSBzb2xpZCAkY29sb3Itc2lsdmVyO1xuXHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Zm9udC1zaXplOiByZW0oMTMpO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRwaG9uZS1sYW5kc2NhcGUpIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0Ly8gbGFzdC1jaGlsZFxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItYm90dG9tOiByZW0oMSkgc29saWQgJGNvbG9yLXNpbHZlcjtcblx0XHR9IC8vICY6bGFzdC1jaGlsZFxuXG5cdFx0Ly8gYmVmb3JlXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR9IC8vICY6OmJlZm9yZVxuXHR9IC8vIHRkXG5cblx0QGluY2x1ZGUgbWVkaWEoJHBob25lLWxhbmRzY2FwZSkge1xuXHRcdGJvcmRlcjogcmVtKDEpIHNvbGlkICRjb2xvci1zaWx2ZXI7XG5cdH1cbn0gLy8gdGFibGVcbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEluZmluaXRlIHNjcm9sbFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBHbG9iYWxseSBoaWRkZW4gZWxlbWVudHMgd2hlbiBJbmZpbml0ZSBTY3JvbGwgaXMgc3VwcG9ydGVkIGFuZCBpbiB1c2UuXG4uaW5maW5pdGUtc2Nyb2xsIC5wb3N0cy1uYXZpZ2F0aW9uLCAvLyBPbGRlciAvIE5ld2VyIFBvc3RzIE5hdmlnYXRpb24gKGFsd2F5cyBoaWRkZW4pXG4uaW5maW5pdGUtc2Nyb2xsLm5ldmVyZW5kaW5nIC5zaXRlLWZvb3RlciB7IC8vIFRoZW1lIEZvb3RlciAod2hlbiBzZXQgdG8gc2Nyb2xsaW5nKVxuXHRkaXNwbGF5OiBub25lO1xufSAvLyAuaW5maW5pdGUtc2Nyb2xsIC5wb3N0cy1uYXZpZ2F0aW9uLCAuaW5maW5pdGUtc2Nyb2xsLm5ldmVyZW5kaW5nIC5zaXRlLWZvb3RlclxuXG4vLyBXaGVuIEluZmluaXRlIFNjcm9sbCBoYXMgcmVhY2hlZCBpdHMgZW5kIHdlIG5lZWQgdG8gcmUtZGlzcGxheSBlbGVtZW50cyB0aGF0IHdlcmUgaGlkZGVuICh2aWEgLm5ldmVyZW5kaW5nKSBiZWZvcmUuXG4uaW5maW5pdHktZW5kLm5ldmVyZW5kaW5nIC5zaXRlLWZvb3RlciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufSAvLyAuaW5maW5pdHktZW5kLm5ldmVyZW5kaW5nIC5zaXRlLWZvb3RlclxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cdEdyYXZpdHkgRm9ybXNcbi8vXHRWaXNpdCB0aGlzIGxpbmsgZm9yIENTUyBUYXJnZXRpbmcgRXhhbXBsZXMgLSBWZXJ5IEhlbHBmdWxcbi8vXHRodHRwczovL3d3dy5ncmF2aXR5aGVscC5jb20vZG9jdW1lbnRhdGlvbi9hcnRpY2xlL2Nzcy10YXJnZXRpbmctZXhhbXBsZXMvXG4vL1xuLy9cdEJBU0UgU1RZTEVTXG4vL1x0Rk9STSBIRUFERVJcbi8vXHRGT1JNIEZPT1RFUlxuLy9cdENPTkZJUk1BVElPTiBNRVNTQUdFXG4vL1x0U0VMRUNUU1xuLy8gXHRDSE9TRU4gU0VMRUNUXG4vL1x0Q09OVEVOVCBPVkVSUklERVNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cdExPQ0FMIFZBUklBQkxFU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBGb3JtXG4kZ2YtcGFkZGluZzogMDsgLy8gc2V0IG91dGVyIHBhZGRpbmcgb24gZm9ybVxuJGdmLWJnOiAkY29sb3Itd2hpdGU7IC8vIGJhY2tncm91bmQgY29sb3Igb2YgZm9ybVxuJGdmLWJvcmRlci13aWR0aDogMDsgLy8gYm9yZGVyLXdpZHRoIG9uIGZvcm1cbiRnZi1ib3JkZXItY29sb3I6ICRjb2xvci13aGl0ZTsgLy8gYm9yZGVyIGNvbG9yXG5cbi8vIEZpZWxkcyAvIFJvd3NcbiRnZi1maWVsZC1tYXJnaW4tYm90dG9tOiByZW0oMjUpOyAvLyBtYXJnaW4gYmV0d2VlbiBmaWVsZCBhbmQgbGFiZWwgYmVsb3cgKHZlcnRpY2FsIHNwYWNpbmcgYmV0d2VlbiByb3dzKVxuXG4vLyBMYWJlbHNcbiRnZi1sYWJlbC1mb250LXNpemU6IHJlbSgxNik7XG4kZ2YtbGFiZWwtZm9udC1jb2xvcjogJGNvbG9yLW1pbmVzaGFmdDtcbiRnZi1sYWJlbC1mb250LXdlaWdodDogNzAwO1xuXG4vLyBJbnB1dHNcbiRnZi1pbnB1dC1jb2xvci1iYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4kZ2YtaW5wdXQtY29sb3ItYm9yZGVyOiAkY29sb3ItaW5wdXQtYm9yZGVyO1xuJGdmLWlucHV0LWNvbG9yLXRleHQ6ICRjb2xvci1pbnB1dC10ZXh0O1xuJGdmLWlucHV0LWNvbG9yLWZvY3VzLXRleHQ6ICRjb2xvci1pbnB1dC1mb2N1cy10ZXh0O1xuJGdmLWlucHV0LXBhZGRpbmc6ICRwYWRkaW5nLWlucHV0O1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1x0QkFTRSBTVFlMRVNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5nZm9ybV93cmFwcGVyIHsgLy8gdGhlIGVudGlyZSBmb3JtXG5cdGJhY2tncm91bmQ6ICRnZi1iZzsgLy8gYmFja2dyb3VuZCBmb3IgdGhlIGZvcm1cblx0Ym9yZGVyOiAkZ2YtYm9yZGVyLXdpZHRoIHNvbGlkICRnZi1ib3JkZXItY29sb3I7IC8vIG91dGVyIGZvcm0gYm9yZGVyXG5cdHBhZGRpbmc6ICRnZi1wYWRkaW5nOyAvLyBmb3JtIHBhZGRpbmdcblxuXHQvLyBTaW5nbGUgYW5kIHR3by1jb2x1bW4gZmllbGRzXG5cdCYuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQsXG5cdCYuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZfbGVmdF9oYWxmLFxuXHQmLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYge1xuXHRcdG1hcmdpbi1ib3R0b206ICRnZi1maWVsZC1tYXJnaW4tYm90dG9tOyAvLyBzcGFjZSBiZXR3ZWVuIGlucHV0IGFuZCBsYWJlbCBiZWxvd1xuXHR9IC8vICYuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQsICYuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZfbGVmdF9oYWxmLCAmLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGZcblxuXHQvLyBMYWJlbHNcblx0LmdmaWVsZF9sYWJlbCB7XG5cdFx0Y29sb3I6ICRnZi1sYWJlbC1mb250LWNvbG9yO1xuXHRcdGZvbnQtc2l6ZTogJGdmLWxhYmVsLWZvbnQtc2l6ZTtcblx0XHRmb250LXdlaWdodDogJGdmLWxhYmVsLWZvbnQtd2VpZ2h0O1xuXG5cdFx0Ly8gUmVxdWlyZSBmaWVsZCBJbmRpY2F0b3IgKEFzdGVyaXNrKVxuXHRcdC5nZmllbGRfcmVxdWlyZWQge1xuXG5cdFx0fSAvLyAuZ2ZpZWxkX3JlcXVpcmVkXG5cdH0gLy8gLmdmaWVsZF9sYWJlbFxuXG5cdC8vIFN0YW5kYXJkIGZpZWxkc1xuXHRpbnB1dFt0eXBlPVwidGV4dFwiXSxcblx0aW5wdXRbdHlwZT1cInVybFwiXSxcblx0aW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuXHRpbnB1dFt0eXBlPVwidGVsXCJdLFxuXHRpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuXHRpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5cdGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuXHR0ZXh0YXJlYSB7XG5cdFx0YmFja2dyb3VuZDogJGdmLWlucHV0LWNvbG9yLWJhY2tncm91bmQ7XG5cdH0gLy8gaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJ1cmxcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaW5wdXRbdHlwZT1cInRlbFwiXSwgaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCBpbnB1dFt0eXBlPVwiZmlsZVwiXSwgdGV4dGFyZWFcblxuXHR0ZXh0YXJlYSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH0gLy8gdGV4dGFyZWFcblxuXHQvLyBEZWZhdWx0IERyb3AtRG93biAoU2VsZWN0KSBGaWVsZFxuXHQvLyBGZWVsIGZyZWUgdG8gY2hhbmdlIHRoZSBzdmcgaWNvbiBiZWluZyB1c2VkXG5cdHNlbGVjdCB7XG5cdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IHVybChcImFzc2V0cy9pbWFnZXMvc3ZnLWljb25zL2NhcmV0LWRvd24uc3ZnXCIpIG5vLXJlcGVhdCA5NyUgdHJhbnNwYXJlbnQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdmLWlucHV0LWNvbG9yLWJhY2tncm91bmQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiByZW0oMTIpO1xuXHRcdGJvcmRlci1jb2xvcjogJGdmLWlucHV0LWNvbG9yLWJvcmRlcjtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ1O1xuXHRcdHBhZGRpbmc6ICRnZi1pbnB1dC1wYWRkaW5nO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHBob25lLWxhbmRzY2FwZSkge1xuXHRcdFx0d2lkdGg6IDQ5JTtcblx0XHR9XG5cdH0gLy8gc2VsZWN0XG5cblx0Ly8gUmVtb3ZlIGljb24gZm9yIGRlZmF1bHQgbXVsdGktc2VsZWN0XG5cdHNlbGVjdFttdWx0aXBsZT1cIm11bHRpcGxlXCJdIHtcblx0XHRiYWNrZ3JvdW5kOiAkZ2YtaW5wdXQtY29sb3ItYmFja2dyb3VuZDtcblx0fSAvLyBzZWxlY3RbbXVsdGlwbGU9XCJtdWx0aXBsZVwiXVxufSAvLyAuZ2Zvcm1fd3JhcHBlclxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBcdEZPUk0gSEVBREVSXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1faGVhZGluZyB7XG5cdC8vIC5nZm9ybV90aXRsZSAtIGZvcm0gdGl0bGVcblx0Ly8gLmdmb3JtX2Rlc2NyaXB0aW9uIC0gZm9ybSBkZXNjcmlwdGlvblxufSAvLyAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1faGVhZGluZ1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBcdEZPUk0gRk9PVEVSXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIHtcblxuXHRpbnB1dC5idXR0b24sXG5cdGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuXHRcdC8vIFRoaXMgd2lsbCB0YXJnZXQgc3VibWl0IGJ1dHRvbnNcblx0fSAvLyBpbnB1dC5idXR0b24sIGlucHV0W3R5cGU9XCJzdWJtaXRcIl1cbn0gLy8gLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlclxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1x0Q09ORklSTUFUSU9OIE1FU1NBR0UgKFNVQ0NFU1NGVUwgQUpBWCBTVUJNSVNTSU9OKVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmdmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZSB7IC8vIGNvbnRhaW5lciBlbGVtZW50XG5cdC8vIC5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciAtIHRoZSBtZXNzYWdlIHdyYXBwZXJcblx0Ly8gLmdmb3JtX2NvbmZpcm1hdGlvbl9tZXNzYWdlIC0gbWVzc2FnZSBkaXZcbn0gLy8gLmdmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1x0U0VMRUNUU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHNlbGVjdCxcbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCBzZWxlY3Qge1xuXHRtYXJnaW4tbGVmdDogMDtcblx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDsgLy8gb3ZlcnJpZGVzIEdGICFpbXBvcnRhbnRcblxuXHRAaW5jbHVkZSBtZWRpYSgkcGhvbmUtbGFuZHNjYXBlKSB7XG5cdFx0d2lkdGg6IDQ5JSAhaW1wb3J0YW50O1xuXHR9XG59IC8vIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCBzZWxlY3QsIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCBzZWxlY3RcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cdENIT1NFTiBTRUxFQ1Rcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5nZm9ybV93cmFwcGVyIC5nZmllbGQgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIHtcblx0Zm9udC1zaXplOiByZW0oMTYpO1xuXG5cdC8vIExpbmsgaG9sZGluZyBpbml0aWFsIHNlbGVjdGlvbiAtIHdoYXQgdXNlciBmaXJzdCBzZWVzXG5cdC5jaG9zZW4tc2luZ2xlIHtcblx0XHRiYWNrZ3JvdW5kOiAkZ2YtaW5wdXQtY29sb3ItYmFja2dyb3VuZDtcblx0XHRib3JkZXItY29sb3I6ICRnZi1pbnB1dC1jb2xvci1ib3JkZXI7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0cGFkZGluZzogJGdmLWlucHV0LXBhZGRpbmc7XG5cdH0gLy8gLmNob3Nlbi1zaW5nbGVcblxuXHQvLyBEZWZhdWx0IHN0YXRlIG9mIGljb24gZm9yIHNlbGVjdFxuXHQuY2hvc2VuLXNpbmdsZSBkaXYgYiB7XG5cdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDQwJSByZW0oMTEpIG51bGwgbnVsbCk7XG5cdFx0QGluY2x1ZGUgdHJpYW5nbGUoMTJweCwgJGNvbG9yLXNpbHZlciwgZG93bik7IC8vIGFkanVzdCBzaXplIGFuZCBjb2xvclxuXG5cdFx0YmFja2dyb3VuZDogbm9uZTsgLy8gaGlkZSB0aGUgZGVmYXVsdCBjaG9zZW4gYmFja2dyb3VuZFxuXHR9IC8vIC5jaG9zZW4tc2luZ2xlIGRpdiBiXG5cblx0Ly8gU2VsZWN0aW9ucyBkcm9wLWRvd25cblx0LmNob3Nlbi1kcm9wIHtcblxuXHRcdC8vIFNlYXJjaCBib3ggYnkgZGVmYXVsdCBoYXMgYSBzbWFsbCBtYWduaWZ5aW5nIGljb24gb24gcmlnaHRcblx0XHQuY2hvc2VuLXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdH0gLy8gLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl1cblxuXHRcdC8vIFNlYXJjaCByZXN1bHRzIGxpc3Rcblx0XHQuY2hvc2VuLXJlc3VsdHMgbGkge1xuXHRcdFx0cGFkZGluZzogcmVtKDEwKSByZW0oNSk7XG5cdFx0fSAvLyAuY2hvc2VuLXJlc3VsdHMgbGlcblx0fSAvLyAuY2hvc2VuLWRyb3BcblxuXHQvLyBGb3Igc3R5bGluZyB0aGUgaWNvbiB3aGVuIHNlbGVjdCBpcyBhY3RpdmVcblx0Ji5jaG9zZW4tY29udGFpbmVyLXNpbmdsZS5jaG9zZW4td2l0aC1kcm9wIHtcblxuXHRcdC5jaG9zZW4tc2luZ2xlIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cdFx0fSAvLyAuY2hvc2VuLXNpbmdsZVxuXG5cdFx0LmNob3Nlbi1zaW5nbGUgZGl2IGIge1xuXHRcdFx0QGluY2x1ZGUgdHJpYW5nbGUoMTJweCwgJGNvbG9yLXNpbHZlciwgdXApOyAvLyBhZGp1c3Qgc2l6ZSBhbmQgY29sb3IgZm9yIGFjdGl2ZSBpY29uXG5cblx0XHRcdGJvcmRlcjogbm9uZTsgLy8gaGlkaW5nIHRoZSBwcmV2aW91cyB0cmlhbmdsZSAoYm9yZGVyKVxuXHRcdH0gLy8gLmNob3Nlbi1zaW5nbGUgZGl2IGJcblx0fSAvLyAmLmNob3Nlbi1jb250YWluZXItc2luZ2xlLmNob3Nlbi13aXRoLWRyb3Bcbn0gLy8gLmdmb3JtX3dyYXBwZXIgLmdmaWVsZCAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGVcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cdENPTlRFTlQgT1ZFUlJJREVTXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jY29udGVudCAuZ2Zvcm1fd3JhcHBlciB7XG5cdG1hcmdpbi1yaWdodDogMDsgLy8gYWxsb3cgZm9yIGZ1bGwgd2lkdGggb2YgY29udGFpbmluZyBlbGVtZW50XG5cdG1heC13aWR0aDogMTAwJTsgLy8gYWxsb3cgZm9yIGZ1bGwgd2lkdGggb2YgY29udGFpbmluZyBlbGVtZW50XG5cblx0Ly8gU3RhbmRhcmQgZmllbGRzXG5cdGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuXHRpbnB1dFt0eXBlPVwidXJsXCJdLFxuXHRpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5cdGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5cdGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5cdGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcblx0aW5wdXRbdHlwZT1cImZpbGVcIl0sXG5cdHRleHRhcmVhIHtcblx0XHRwYWRkaW5nOiAkZ2YtaW5wdXQtcGFkZGluZztcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRwaG9uZS1sYW5kc2NhcGUpIHtcblx0XHRcdHdpZHRoOiA0OSU7XG5cdFx0fVxuXHR9IC8vIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIGlucHV0W3R5cGU9XCJ0ZWxcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgaW5wdXRbdHlwZT1cImZpbGVcIl0sIHRleHRhcmVhXG5cblx0LmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl0sXG5cdHRleHRhcmVhIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fSAvLyAuY2hvc2VuLXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXSwgdGV4dGFyZWFcblxuXHQvLyBWYWxpZGF0aW9uIGVycm9yIG1lc3NhZ2UgKGRpc3BsYXlzIGF0IHRvcCBvZiBmb3JtKVxuXHQudmFsaWRhdGlvbl9lcnJvciB7XG5cblx0fSAvLyAudmFsaWRhdGlvbl9lcnJvclxuXG5cdC8vIEVycm9yIGxhYmVscyAocmVxdWlyZWQgZmllbGRzKVxuXHQuZ2ZpZWxkX2Vycm9yIHtcblx0XHQvLyAuZ2ZpZWxkX2xhYmVsIC0gZXJyb3IgbGFiZWxcblx0XHQvLyAudmFsaWRhdGlvbl9tZXNzYWdlIC0gcmVxdWlyZWQgZXJyb3IgdGV4dFxuXHR9IC8vIC5nZmllbGRfZXJyb3JcblxuXHQvLyBUd28tY29sdW1uIGZpZWxkc1xuXHQuZ2ZfbGVmdF9oYWxmLFxuXHQuZ2ZfcmlnaHRfaGFsZiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHQvLyBJbnB1dHNcblx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXSxcblx0XHRpbnB1dFt0eXBlPVwidXJsXCJdLFxuXHRcdGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcblx0XHRpbnB1dFt0eXBlPVwidGVsXCJdLFxuXHRcdGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5cdFx0aW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuXHRcdGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJHBob25lLWxhbmRzY2FwZSkge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9IC8vIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIGlucHV0W3R5cGU9XCJ0ZWxcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgaW5wdXRbdHlwZT1cImZpbGVcIl1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRwaG9uZS1sYW5kc2NhcGUpIHtcblx0XHRcdHdpZHRoOiA0OSU7XG5cdFx0fVxuXHR9IC8vIC5nZl9sZWZ0X2hhbGYsIC5nZl9yaWdodF9oYWxmXG5cblx0Ly8gVGFyZ2V0IGp1c3QgbGVmdCBjb2x1bW4gb24gdHdvLWNvbHVtbiByb3dcblx0LmdmX2xlZnRfaGFsZiB7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkcGhvbmUtbGFuZHNjYXBlKSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDIlO1xuXHRcdH1cblx0fSAvLyAuZ2ZfbGVmdF9oYWxmXG5cblx0Ly8gQWR2YW5jZWQgZmllbGRzXG5cdC8vIGh0dHBzOi8vd3d3LmdyYXZpdHloZWxwLmNvbS9kb2N1bWVudGF0aW9uL2FydGljbGUvY3NzLXRhcmdldGluZy1leGFtcGxlcy8jYWR2YW5jZWQtZmllbGRzXG5cdC5naW5wdXRfY29tcGxleCB7XG5cblx0XHQubmFtZV9maXJzdCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcblx0XHQubmFtZV9sYXN0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH0gLy8gLm5hbWVfZmlyc3QgaW5wdXRbdHlwZT1cInRleHRcIl0sIC5uYW1lX2xhc3QgaW5wdXRbdHlwZT1cInRleHRcIl1cblx0fSAvLyAuZ2lucHV0X2NvbXBsZXhcbn0gLy8gI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXJcbiIsIkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogaWYobGVuZ3RoKCRjb2xvcikgPT0gMiwgbnRoKCRjb2xvciwgMiksIHRyYW5zcGFyZW50KTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfVxufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSG9tZSBBYm91dFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uaG9tZS1hYm91dCB7XG4gICAgcGFkZGluZzogNjBweCAwO1xuXHR6LWluZGV4OiAxMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXByaW1hcnk7XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIC5za2lsbHMtd3JhcCB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgICAgdHJhbnNpdGlvbjogZWFzZSBhbGwgMzAwbXM7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA2MHB4O1xuICAgICAgICB9XG5cblx0XHRoMyB7XG5cdFx0XHRmb250LXNpemU6IDZ2dztcblx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVhay1sZykge1xuXHRcdFx0XHRmb250LXNpemU6IDN2dztcblx0XHRcdH1cblx0XHR9XG5cblx0XHRoNCB7XG5cdFx0XHRmb250LXNpemU6IDV2dztcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS41dnc7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuICAgICAgICAudG9vbHMge1xuXHRcdFx0bWFyZ2luLXRvcDogNjBweDtcblxuICAgICAgICAgICAgaDMge1xuXHRcdFx0XHRmb250LXNpemU6IDR2dztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxLjV2dztcblx0XHRcdFx0fVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDl2dztcblx0XHRcdFx0bWFyZ2luOiAwIDE1cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA0dnc7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIDMwcHggMCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuXHRcdFx0dWwge1xuXHRcdFx0XHRAaW5jbHVkZSBsaXN0LXJlc2V0KCk7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkZm9udC1zZXJpZjtcblx0XHRcdH1cblxuICAgICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmVhdHVyZWQtaGVhZGluZyB7XG5cdHBhZGRpbmc6IDQwcHggMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXHR6LWluZGV4OiAxMDtcblxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcblx0XHRwYWRkaW5nOiA4MHB4IDA7XG5cdH1cblxuXHRoMiB7XG5cdFx0Zm9udC1zaXplOiA1dnc7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG5cdFx0XHRmb250LXNpemU6IDN2dztcblx0XHR9XG5cdH1cbn1cblxuLmZlYXR1cmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXHR6LWluZGV4OiAxMTtcblx0cGFkZGluZzogMDtcblx0aGVpZ2h0OiBhdXRvO1xuXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDE1LDE3LDI3LC44NSkgMCUsIHJnYmEoMTUsMTcsMjcsLjM1KSAxMDAlKTtcblx0XHR6LWluZGV4OiAxO1xuXHR9XG5cblx0LmNvbnRlbnQtY29udGFpbmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Y29sb3I6ICRjb2xvci13aGl0ZTtcblx0XHR6LWluZGV4OiAyO1xuXHRcdHBhZGRpbmctYm90dG9tOiAxMDBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRicmVhay1sZykge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0aDMge1xuXHRcdFx0Zm9udC1zaXplOiA2dnc7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVhay1sZykge1xuXHRcdFx0XHRmb250LXNpemU6IDN2dztcblx0XHRcdH1cblxuXHRcdFx0ZW0ge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRmb250LXNlcmlmO1xuXHRcdFx0XHRmb250LXNpemU6IC4zNWVtO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5idXR0b24ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdFx0Y29sb3I6ICRjb2xvci10ZXh0LW1haW47XG5cdFx0XHRwYWRkaW5nOiAxNXB4IDQwcHg7XG5cdFx0XHR0cmFuc2l0aW9uOiBlYXNlIGFsbCAzMDBtcztcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHRcdC50ZXh0IHtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0dHJhbnNpdGlvbjogZWFzZSBhbGwgMzAwbXM7XG5cdFx0XHR9XG5cblx0XHRcdC5pY29uIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR0b3A6IDEwMCU7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci10aGVtZS10ZXJ0aWFyeTtcblx0XHRcdFx0dHJhbnNpdGlvbjogZWFzZSB0b3AgMzAwbXM7XG5cblx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvci13aGl0ZTtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IGVhc2UgdHJhbnNmb3JtLXRyYW5zbGF0ZSA1MDBtcztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdC50ZXh0IHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE2MCUpO1xuXHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuaWNvbiB7XG5cdFx0XHRcdFx0dG9wOiAwO1xuXG5cdFx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuc3VtbWFyeSB7XG5cdFx0cGFkZGluZzogNjBweCAxNXB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG5cdFx0XHRwYWRkaW5nOiAyMDBweCAzMHB4O1xuXHRcdH1cblx0fVxuXG4gICAgLmJpdHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItdGhlbWUtc2Vjb25kYXJ5O1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXByaW1hcnk7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogY2FsYygxMDAlICsgMzBweCk7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcblx0XHRcdHRvcDogY2FsYygxMDAlIC0gNDVweCk7XG5cdFx0fVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpc3QtcmVzZXQoKTtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG5cdFx0XHRcdGNvbHVtbi1jb3VudDogMjtcblx0XHRcdH1cblxuXHRcdFx0bGkge1xuXHRcdFx0XHRmb250LXNpemU6IDMuNXZ3O1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVhay1sZykge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMXZ3O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb3JlIHtcbiAgICBwYWRkaW5nOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdHotaW5kZXg6IDEwO1xuXG4gICAgLmRldGFpbHMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTgwcHg7XG5cdFx0cGFkZGluZy1ib3R0b206IDEyMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMTYwcHg7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG5cdFx0fVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNnZ3O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzdnc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXHRcdGg0IHtcblx0XHRcdGZvbnQtc2l6ZTogNXZ3O1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjV2dztcblx0XHRcdH1cblx0XHR9XG4gICAgfVxuXG5cdC5jbGllbnRzIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogODBweDtcblxuXHRcdGgzIHtcblx0XHRcdGZvbnQtc2l6ZTogNnZ3O1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVhay1sZykge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMnZ3O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHVsIHtcblx0XHRcdEBpbmNsdWRlIGxpc3QtcmVzZXQoKTtcblxuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItdGV4dC1tYWluO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBlYXNlIGNvbG9yIDMwMG1zO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBQcm9cIjtcblx0XHRcdFx0XHRjb250ZW50OiAnXFxmMDhlJztcblx0XHRcdFx0XHRmb250LXNpemU6IC43ZW07XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiA4cHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRjb2xvcjogJGNvbG9yLXRoZW1lLXRlcnRpYXJ5O1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRmFuY3lib3hcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZhbmN5Ym94LWJnIHtcblx0YmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xufVxuXG4uZmFuY3lib3gtaXMtb3BlbiAuZmFuY3lib3gtYmcge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGwge1xuXHRoZWlnaHQ6IDMwcHg7XG5cdHdpZHRoOiAzMHB4O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6ICRjb2xvci10aGVtZS10ZXJ0aWFyeTtcblxuXHQmOmFmdGVyIHtcblx0XHRmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IFBybyc7XG5cdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdGNvbnRlbnQ6ICdcXGYwMGQnO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0dHJhbnNpdGlvbjogZWFzZSBjb2xvciAzMDBtcztcblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMsXG5cdCY6YWN0aXZlIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29sb3I6ICRjb2xvci10aGVtZS10ZXJ0aWFyeTtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdH1cblx0fVxufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSG9tZXBhZ2UgVGVtcGxhdGVcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmhlcm8ge1xuICAgIGhlaWdodDogY2FsYygyMDB2aCAtIDMwcHgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDEwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG4gICAgICAgIGhlaWdodDogY2FsYygyMDB2aCAtIDYwcHgpO1xuICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICB9XG5cbiAgICAmLmZpeGVkIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDYwcHgpO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IDYwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXNlY29uZGFyeTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG5cdHByZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR6LWluZGV4OiAxO1xuXG5cdFx0Y29kZSB7XG5cdFx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRmb250LXNlcmlmO1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdHotaW5kZXg6IDI7XG5cdFx0XHRmb250LXNpemU6IDJ2dztcblx0XHRcdG9wYWNpdHk6IC41O1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjF2dztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuICAgIC5vdmVybGF5IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXRoZW1lLXByaW1hcnk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBjYWxjKDIwJSAtIDEwcHgpO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiA2MCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBlYXNlIGFsbCA2MDBtcztcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2Nyb2xsZWQgJiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG5cdFx0XHR0b3A6IDEwMCU7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVhay1sZykge1xuXHRcdFx0XHR3aWR0aDogMDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHR9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29weSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogZWFzZSBhbGwgNjAwbXM7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgLnNjcm9sbGVkICYge1xuXHRcdFx0dG9wOiAxMDAlO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAxMDAlO1xuXHRcdFx0fVxuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHZ3O1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1wcmltYXJ5O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDV2dztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA3dnc7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMzV2dztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5wb3NpdGlvbi0xIHtcbiAgICAgICAgICAgICAgICB0b3A6IGNhbGMoNDAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDQ1cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoNjAlICsgMy41dncpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5wb3NpdGlvbi0yIHtcbiAgICAgICAgICAgICAgICB0b3A6IGNhbGMoNDAlICsgMzBweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDQ1cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogY2FsYyg0MCUgKyAzLjV2dyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmRhcmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtc2Vjb25kYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDQwJSArIDYwcHgpO1xuICAgICAgICAgICAgbGVmdDogNDBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcbiAgICAgICAgICAgICAgICB0b3A6IGNhbGMoNTAlICsgNXZ3KTtcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDQwJSArIDMuNXZ3KTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpc3QtcmVzZXQoKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZXJpZjtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzdnc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXZ3O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJy8vJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtdGVydGlhcnk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmludHJvIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNzB2dyAtIDYwcHgpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBlYXNlIGFsbCAzMDBtcztcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXM7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG4gICAgICAgICAgICB3aWR0aDogMjZ2dztcbiAgICAgICAgfVxuXG4gICAgICAgIC5zY3JvbGxlZCAmIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDV2dztcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMi41dnc7XG5cdFx0XHR9XG5cbiAgICAgICAgICAgIC5vcmFuZ2Uge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtdGVydGlhcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogM3Z3O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXNlcmlmO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjJ2dztcblx0XHRcdH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhbGxvdXQtd3JhcCB7XG5cdGhlaWdodDogY2FsYygxMDB2aCAtIDYwcHgpO1xuXHR3aWR0aDogMTAwJTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR6LWluZGV4OiAxMDtcblxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcblx0XHRoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjBweCk7XG5cdH1cblxuXHQuY2FsbG91dCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0aDIge1xuXHRcdFx0Zm9udC1zaXplOiA4dnc7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRicmVhay1sZykge1xuXHRcdFx0XHRmb250LXNpemU6IDN2dztcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLm91dHJvIHtcblx0ei1pbmRleDogMTA7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1wcmltYXJ5O1xuXHRwYWRkaW5nOiA4MHB4IDMwcHg7XG5cblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG5cdFx0cGFkZGluZzogMTIwcHggMDtcblx0fVxuXG5cdC5jb250ZW50IHtcblx0XHRoMiB7XG5cdFx0XHRmb250LXNpemU6IDZ2dztcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrLWxnKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMi41dnc7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmJ1dHRvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtdGVydGlhcnk7XG5cdFx0XHRwYWRkaW5nOiAxMHB4IDMwcHg7XG5cdFx0XHRmb250LXNpemU6IDR2dztcblx0XHRcdHRyYW5zaXRpb246IGVhc2UgYWxsIDMwMG1zO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkYnJlYWstbGcpIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjJ2dztcblx0XHRcdFx0cGFkZGluZzogMTVweCA1MHB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsYWNrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gV2lkZ2V0c1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ud2lkZ2V0IHtcblx0bWFyZ2luOiAwIDAgcmVtKDI0KTtcblxuXHQvLyBNYWtlIHN1cmUgc2VsZWN0IGVsZW1lbnRzIGZpdCBpbiB3aWRnZXRzLlxuXHRzZWxlY3Qge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fSAvLyBzZWxlY3Rcbn0gLy8gLndpZGdldFxuXG4vLyBTZWFyY2ggd2lkZ2V0LlxuLndpZGdldF9zZWFyY2ggLnNlYXJjaC1zdWJtaXQge1xuXHRkaXNwbGF5OiBub25lO1xufSAvLyAud2lkZ2V0X3NlYXJjaCAuc2VhcmNoLXN1Ym1pdFxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gT3V0cHV0cyBhIG1lZGlhLXF1ZXJ5IGJsb2NrIHdpdGggYW4gb3B0aW9uYWwgZ3JpZCBjb250ZXh0ICh0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgdXNlZCBpbiB0aGUgZ3JpZCkuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeVxuLy8vICAgQSBsaXN0IG9mIG1lZGlhIHF1ZXJ5IGZlYXR1cmVzIGFuZCB2YWx1ZXMsIHdoZXJlIGVhY2ggYCRmZWF0dXJlYCBzaG91bGQgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgYCR2YWx1ZWAuXG4vLy8gICBGb3IgYSBsaXN0IG9mIHZhbGlkIHZhbHVlcyBmb3IgYCRmZWF0dXJlYCwgY2xpY2sgW2hlcmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYTEpLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIGAkdmFsdWVgIGluIGAkcXVlcnlgLCBgJGRlZmF1bHQtZmVhdHVyZWAgaXMgZ29pbmcgdG8gYmUgdXNlZC5cbi8vL1xuLy8vICAgVGhlIG51bWJlciBvZiB0b3RhbCBjb2x1bW5zIGluIHRoZSBncmlkIGNhbiBiZSBzZXQgYnkgcGFzc2luZyBgJGNvbHVtbnNgIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QgKG92ZXJyaWRlcyBgJHRvdGFsLWNvbHVtbnNgKS5cbi8vL1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJHRvdGFsLWNvbHVtbnMgWyRncmlkLWNvbHVtbnNdXG4vLy8gICAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBpbiB0aGUgbmV3IGdyaWQgY29udGV4dC4gQ2FuIGJlIHNldCBhcyBhIHNob3J0aGFuZCBpbiB0aGUgZmlyc3QgcGFyYW1ldGVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKDc2OXB4KSB7XG4vLy8gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbWVkaWEobWluLXdpZHRoIDMyMHB4IG1heC13aWR0aCA0ODBweCwgNikge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG5cbkBtaXhpbiBtZWRpYSgkcXVlcnk6ICRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkbG9vcC10bzogbGVuZ3RoKCRxdWVyeSk7XG4gICAgJG1lZGlhLXF1ZXJ5OiBcInNjcmVlbiBhbmQgXCI7XG4gICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG5cbiAgICBAaWYgaXMtbm90KGlzLWV2ZW4obGVuZ3RoKCRxdWVyeSkpKSB7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCAkbG9vcC10bykgIWdsb2JhbDtcbiAgICAgICRsb29wLXRvOiAkbG9vcC10byAtIDE7XG4gICAgfVxuXG4gICAgJGk6IDE7XG4gICAgQHdoaWxlICRpIDw9ICRsb29wLXRvIHtcbiAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCIoXCIgKyBudGgoJHF1ZXJ5LCAkaSkgKyBcIjogXCIgKyBudGgoJHF1ZXJ5LCAkaSArIDEpICsgXCIpIFwiO1xuXG4gICAgICBAaWYgKCRpICsgMSkgIT0gJGxvb3AtdG8ge1xuICAgICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiYW5kIFwiO1xuICAgICAgfVxuXG4gICAgICAkaTogJGkgKyAyO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpYS1xdWVyeX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIGJvb3RzdHJhcCBtZWRpYSBxdWVyaWVzXG5AbWl4aW4gZGV2aWNlLW1lZGlhKCRzY3JlZW5fc2l6ZSwgJG1pbm1heDogbWluKSB7XG4gICAgQGlmICRtaW5tYXggPT0gbWF4IHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzY3JlZW5fc2l6ZSAtIDFweH0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skc2NyZWVuX3NpemV9KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gbW9iaWxlIGZpcnN0XG5AbWl4aW4gZGV2aWNlLW1pbi14eHMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYnJlYWsteHhzfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5AbWl4aW4gZGV2aWNlLW1pbi14cyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRicmVhay14c30pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuQG1peGluIGRldmljZS1taW4tc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYnJlYWstc219KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbkBtaXhpbiBkZXZpY2UtbWluLW1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGJyZWFrLW1kfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5AbWl4aW4gZGV2aWNlLW1pbi1sZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRicmVhay1sZ30pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLyBkZXNrdG9wIGZpcnN0XG5AbWl4aW4gZGV2aWNlLW1heC14eHMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skYnJlYWsteHhzIC0gMXB4fSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5AbWl4aW4gZGV2aWNlLW1heC14cyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRicmVhay14cyAtIDFweH0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuQG1peGluIGRldmljZS1tYXgtc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skYnJlYWstc20gLSAxcHh9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbkBtaXhpbiBkZXZpY2UtbWF4LW1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGJyZWFrLW1kIC0gMXB4fSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5AbWl4aW4gZGV2aWNlLW1heC1sZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRicmVhay1sZyAtIDFweH0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufSJdfQ== */
