@charset "UTF-8";
/*!
Theme Name: pajntar
Theme URI: http://www.mihaomejc.com
Author: Miha Omejc
Author URI: http://www.mihaomejc.com
Description: Predloga za spletno stran PROaparati
Version: 1.3.1
Template: generatepress
Text Domain: pajntar
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Main
--------------------------------------------------------------*/
html, body {
  overflow-x: clip;
}

html {
  scroll-behavior: smooth;
}

.button:not(.wpcf7-submit),
.gb-button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.wc-block-cart__submit-container {
  transition: 0.3s;
  padding-left: 25px;
  padding-right: 25px;
  position: relative;
}
.button:not(.wpcf7-submit):hover,
.gb-button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.wc-block-cart__submit-container:hover {
  padding-right: 50px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05), 0 6px 6px rgba(0, 0, 0, 0.08);
  background-color: var(--accent-2);
}
.button:not(.wpcf7-submit):hover::after,
.gb-button:hover::after,
.woocommerce #respond input#submit:hover::after,
.woocommerce a.button:hover::after,
.woocommerce button.button:hover::after,
.wc-block-cart__submit-container:hover::after {
  opacity: 1;
  transform: translate(-80%, -50%);
}
.button:not(.wpcf7-submit):after,
.gb-button:after,
.woocommerce #respond input#submit:after,
.woocommerce a.button:after,
.woocommerce button.button:after,
.wc-block-cart__submit-container:after {
  opacity: 0;
  transition: 0.3s;
  content: "";
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="%23fff"><path stroke-linecap="round" stroke-linejoin="round" d="M17.25 8.25 21 12m0 0-3.75 3.75M21 12H3" /></svg>');
  background-position: center right;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  display: block;
  height: 20px;
  width: 20px;
  right: 0;
  position: absolute;
  top: 50%;
  transform: translate(-30%, -50%);
}
.button:not(.wpcf7-submit).no-arrow,
.gb-button.no-arrow,
.woocommerce #respond input#submit.no-arrow,
.woocommerce a.button.no-arrow,
.woocommerce button.button.no-arrow,
.wc-block-cart__submit-container.no-arrow {
  padding-right: 25px;
}
.button:not(.wpcf7-submit).no-arrow::after,
.gb-button.no-arrow::after,
.woocommerce #respond input#submit.no-arrow::after,
.woocommerce a.button.no-arrow::after,
.woocommerce button.button.no-arrow::after,
.wc-block-cart__submit-container.no-arrow::after {
  display: none;
}

.wp-element-button {
  background-color: var(--accent);
}
.wp-element-button:hover {
  background-color: var(--accent-2);
}

ul {
  margin-left: 0;
}

.post .site-main .entry-content ul {
  list-style: none;
  /* Remove default bullets */
  margin-left: 20px;
}
.post .site-main .entry-content ul li::before {
  content: "•";
  /* Add content: \2022 is the CSS Code/unicode for a bullet */
  color: var(--accent);
  /* Change the color */
  font-weight: bold;
  /* If you want it to be bold */
  display: inline-block;
  /* Needed to add space between the bullet and the text */
  width: 1em;
  /* Also needed for space (tweak if needed) */
  margin-left: -1em;
  /* Also needed for space (tweak if needed) */
}

/*--------------------------------------------------------------
# Frontpage
--------------------------------------------------------------*/
@media (max-width: 767px) {
  .hero > div:first-child {
    z-index: 10;
  }
  .hero > div + div {
    order: -1;
    position: absolute;
    opacity: 0.5;
  }
}

@media (min-width: 1700px) {
  .news .wp-block-rss {
    display: flex;
    gap: 30px;
  }
}
.news .wp-block-rss .wp-block-rss__item-title {
  font-family: Archivo, sans-serif;
  font-weight: 800;
  margin-bottom: 12px;
  line-height: 1.2;
}
.news .wp-block-rss .wp-block-rss__item-title:after {
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  background-color: var(--contrast);
  margin-top: 12px;
}
.news .wp-block-rss .wp-block-rss__item-title a {
  color: var(--contrast);
  text-decoration: none;
}
.news .wp-block-rss .wp-block-rss__item-title a:hover {
  color: var(--accent);
}
.news .wp-block-rss .wp-block-rss__item-author, .news .wp-block-rss .wp-block-rss__item-publish-date {
  opacity: 0.8;
  margin-bottom: 8px;
}
.news .wp-block-rss li {
  margin-bottom: 30px;
}
@media (min-width: 1700px) {
  .news .wp-block-rss li {
    width: 33%;
    margin-bottom: 20px;
  }
}

.cards > div > div .gb-headline {
  background: #f9f9f9;
  transition: 0.3s;
  position: relative;
}
.cards > div > div svg {
  transition: 0.3s;
  stroke: var(--accent);
}
.cards > div > div:hover .gb-headline {
  background: var(--accent);
  color: #fff;
}
.cards > div > div:hover svg {
  fill: #fff;
  stroke: #fff;
}

.logos > .gb-container > .gb-container {
  white-space: nowrap;
  overflow: hidden;
}
.logos > .gb-container > .gb-container:hover .wp-block-gallery.has-nested-images {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.logos .wp-block-gallery.has-nested-images {
  display: block;
  -webkit-animation: 50s slide infinite linear;
          animation: 50s slide infinite linear;
}
@media (max-width: 767px) {
  .logos .wp-block-gallery.has-nested-images {
    -webkit-animation: 40s slideMobile infinite linear;
            animation: 40s slideMobile infinite linear;
  }
}
.logos .wp-block-gallery.has-nested-images figure.wp-block-image {
  display: inline-block;
  padding: 0 20px;
  margin: 0 !important;
  width: 100px;
}
@media (max-width: 767px) {
  .logos .wp-block-gallery.has-nested-images figure.wp-block-image {
    padding: 0 5px;
  }
}
.logos .wp-block-gallery.has-nested-images figure.wp-block-image img {
  filter: saturate(0%);
}
.logos .wp-block-gallery.has-nested-images figure.wp-block-image img:hover {
  filter: none;
}

@-webkit-keyframes slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-2279px);
  }
}

@keyframes slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-2279px);
  }
}
@-webkit-keyframes slideMobile {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-3200px);
  }
}
@keyframes slideMobile {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-3200px);
  }
}
/*--------------------------------------------------------------
# Woocommerce
--------------------------------------------------------------*/
.theme-generatepress .cart-contents > span.number-of-items {
  position: absolute;
  top: 12px;
  left: 30px;
}
@media (max-width: 1024px) {
  .theme-generatepress .cart-contents > span.number-of-items {
    top: 7px;
  }
}
.theme-generatepress .cart-contents > span.number-of-items {
  background-color: #fff400;
  color: #000;
}
.theme-generatepress .woocommerce a.remove {
  border: 0 !important;
}
.theme-generatepress .woocommerce.widget_shopping_cart .woocommerce-mini-cart__buttons a {
  width: 50%;
  line-height: 1.1;
}
.theme-generatepress .woocommerce.widget_shopping_cart .cart_list li {
  line-height: 1.2;
}
.theme-generatepress .woocommerce.widget_shopping_cart .cart_list li a {
  font-size: 12px;
  text-transform: none;
  letter-spacing: 0;
}
.theme-generatepress .wc-block-components-checkbox {
  margin-top: 0.3em;
}

.woocommerce ul.products li.product a img,
.editor-styles-wrapper .wc-block-grid__products .wc-block-grid__product .wc-block-components-product-image img,
.wc-block-components-product-image img {
  height: 230px !important;
  -o-object-fit: contain !important;
     object-fit: contain !important;
}

.wc-block-product-template__responsive a {
  text-decoration: none;
  color: var(--contrast);
}
.wc-block-product-template__responsive .woocommerce-Price-amount.amount {
  color: var(--contrast);
}
.wc-block-product-template__responsive del {
  opacity: 0.5;
  margin-right: 5px;
}

.wc-block-grid .wc-block-grid__product-onsale, .wc-block-grid__product-image .wc-block-grid__product-onsale {
  background-color: var(--contrast) !important;
  color: var(--base-3) !important;
  border-radius: 0 !important;
  font-size: 80% !important;
}

.wc-block-cart__submit-container {
  background-color: var(--accent);
  font-size: 18px;
  font-weight: 700;
}
.wc-block-cart__submit-container:hover {
  background-color: var(--accent-2);
}
.wc-block-cart__submit-container a {
  color: #fff !important;
  text-decoration: none;
}

@media (min-width: 1025px) {
  .wc-block-components-sidebar {
    position: -webkit-sticky;
    position: sticky;
    top: 40px;
    align-self: flex-start;
  }
}

@media (min-width: 1025px) {
  .inside-right-sidebar {
    position: relative;
  }
  .inside-right-sidebar .related.products {
    padding-left: 10px;
  }
  .inside-right-sidebar .related.products h2 {
    text-align: center;
  }
  .inside-right-sidebar .related.products:before {
    content: "";
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 0;
    width: 1px;
    background: rgba(0, 0, 0, 0.1);
  }
}
.woocommerce.single-product .summary .price {
  margin-top: 20px;
}
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs {
  margin-bottom: 0;
  overflow: inherit;
}
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.active {
  position: relative;
}
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.active::after {
  content: "";
  display: block;
  height: 3px;
  background-color: #fff;
  position: absolute;
  bottom: -2px;
  left: 1px;
  right: 1px;
  width: 100%;
  z-index: 10000;
}
.woocommerce.single-product div.product .woocommerce-tabs .panel {
  margin-top: 0;
  padding: 20px;
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.woocommerce.single-product div.product .woocommerce-tabs .panel h2 {
  font-size: 28px;
}
@media (max-width: 767px) {
  .woocommerce.single-product div.product .woocommerce-tabs .panel h2 {
    font-size: 22px;
  }
}
@media (min-width: 1025px) {
  .woocommerce.single-product div.product .woocommerce-tabs .panel {
    padding: 40px;
  }
}

.woocommerce table.shop_attributes {
  border: none;
}
.woocommerce table.shop_attributes th {
  text-align: left;
  color: var(--contrast);
  border: none;
}
.woocommerce table.shop_attributes td {
  font-style: normal;
  border: none;
}

.woocommerce-message .button:hover {
  box-shadow: none !important;
  text-decoration: underline !important;
}

.woocommerce ul.products li.product-category {
  border: 1px solid var(--accent);
  justify-content: center;
}
.woocommerce ul.products li.product-category + .type-product {
  grid-column-start: 1;
}
.woocommerce ul.products li.product-category a {
  padding: 5px 10px;
}

.button-inqury {
  margin-bottom: 2rem !important;
}

.single-product.woocommerce .entry-summary #respond input#submit.alt,
.single-product.woocommerce .entry-summary a.button.alt,
.single-product.woocommerce .entry-summary button.button.alt,
.single-product.woocommerce .entry-summary input.button.alt {
  background-color: var(--inverse);
}
.single-product.woocommerce .entry-summary #respond input#submit.alt:hover,
.single-product.woocommerce .entry-summary a.button.alt:hover,
.single-product.woocommerce .entry-summary button.button.alt:hover,
.single-product.woocommerce .entry-summary input.button.alt:hover {
  background-color: var(--inverse-2);
}

.home .wp-block-woocommerce-product-template > li {
  position: relative;
}

.badges,
.home .wp-block-woocommerce-product-template .wp-block-post-terms {
  position: absolute;
  top: 0;
  max-width: 100%;
  z-index: 10;
  text-align: center;
}
.badges .badge,
.badges > a,
.home .wp-block-woocommerce-product-template .wp-block-post-terms .badge,
.home .wp-block-woocommerce-product-template .wp-block-post-terms > a {
  background-color: var(--accent);
  color: #fff;
  font-size: 11px;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 3px;
  margin: 1px;
  white-space: nowrap;
  pointer-events: none;
}

.single-product.woocommerce .badges {
  position: relative;
  text-align: left;
}

.badge.akcija {
  background-color: #ff8b33;
}

.badge.best-value {
  background-color: #28A745;
}

.badge.brezplacna-dostava {
  background-color: #8b007b;
}

.badge.top-seller {
  background-color: #d11c1c;
}

.wc-product-image:hover .secondary-image + img {
  opacity: 0;
}

.woocommerce ul.products li.product a img {
  transition: opacity 0.1s ease-in-out;
}

.dobava {
  font-size: 14px;
  padding-bottom: 1.5rem;
}
.dobava svg {
  color: var(--accent);
}

.woocommerce span.onsale, .woocommerce ul.products li.product .onsale,
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .button {
  display: none !important;
}

/*--------------------------------------------------------------
# Povpraševanje
--------------------------------------------------------------*/
.povprasevanje-gumb {
  margin-bottom: 20px !important;
}

.povprasevanje-obrazec {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: none;
  padding: 30px 30px 20px 30px;
}
.povprasevanje-obrazec p {
  margin-bottom: 10px;
}
.povprasevanje-obrazec label {
  display: block;
}
.povprasevanje-obrazec .g-recaptcha {
  margin-bottom: 10px;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
@media (max-width: 1024px) {
  .site-branding {
    margin-left: 30px;
  }
}

.main-navigation {
  position: relative;
  z-index: 10;
  max-width: 1240px;
}
.main-navigation .menu-bar-items {
  flex-direction: row-reverse;
}
.main-navigation .menu-bar-items .wc-menu-item > a {
  background: var(--accent);
  color: #fff;
}
.main-navigation .menu-bar-items .menu-bar-item > a {
  font-size: 16px;
  padding-left: 20px;
  padding-right: 20px;
}

.menu-item-has-children .dropdown-menu-toggle {
  padding-left: 7px;
}

.menu-item-has-children .dropdown-menu-toggle {
  padding-right: 6px !important;
}

.mobile-menu-control-wrapper .menu-toggle, .mobile-menu-control-wrapper .menu-toggle:hover, .mobile-menu-control-wrapper .menu-toggle:focus, .has-inline-mobile-toggle #site-navigation.toggled {
  background-color: transparent;
}

.menu-toggle .gp-icon svg {
  font-size: 26px;
  transform: translateY(4px);
}

.has-inline-mobile-toggle #site-navigation.toggled {
  margin-top: 0;
}

.inside-header {
  flex-direction: row;
  justify-content: space-between;
  padding-left: 20px;
  padding-right: 20px;
  gap: 20px;
}

.site-description {
  margin-top: 16px;
}

@media (max-width: 767px) {
  .above-header > div {
    background-color: var(--base);
  }
}
.above-header .gb-button.no-arrow {
  padding-right: 8px;
}
@media (max-width: 1024px) {
  .above-header .gb-button.no-arrow {
    padding-right: 4px;
  }
}

@media (max-width: 1024px) {
  .site-branding-container {
    width: 100%;
    justify-content: space-between;
    padding-left: 20px;
    padding-right: 20px;
  }
  .site-branding-container .site-branding {
    margin-left: 0;
    text-align: right;
  }
}

.sticky-header {
  position: relative;
  z-index: 1000;
  background: #fff;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05), 0 6px 6px rgba(0, 0, 0, 0.08);
}
@media (min-width: 1025px) {
  .sticky-header {
    padding-bottom: 32px;
    margin-bottom: 30px;
  }
}
.sticky-header .inside-header {
  transition: 0.3s;
}
@media (min-width: 1025px) {
  .sticky-header .main-navigation {
    position: absolute;
    left: 0;
    right: 0;
  }
}

.site-header p[class^=gb-headline],
.site-header .header-image {
  transition: 0.3s;
}
.site-header .header-image {
  transition: 0.3s;
}
@media (max-width: 767px) {
  .site-header .header-image {
    width: 220px;
  }
}

@media screen and (max-width: 350px) {
  a.gb-button-02f6d762 {
    margin-right: 10px !important;
  }
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
@media (min-width: 1025px) {
  .footer-features {
    top: -70px;
  }
}

.site-footer {
  padding-top: 20px;
}
.site-footer a {
  text-decoration: none;
}
.site-footer .wpcf7-email {
  margin-bottom: 10px;
}
.site-footer .gb-button.no-arrow {
  padding-right: 8px;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsInN0eWxlLnNjc3MiLCJfbWFpbi5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX21peGlucy5zY3NzIiwic2VjdGlvbnMvX2Zyb250cGFnZS5zY3NzIiwic2VjdGlvbnMvX3dvb2NvbW1lcmNlLnNjc3MiLCJfaGVhZGVyLnNjc3MiLCJfZm9vdGVyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7K0RBQUE7QUFhQTs7K0RBQUE7QUNiQTtFQUNJLGdCQUFBO0FGZUo7O0FFWkE7RUFDSSx1QkFBQTtBRmVKOztBRVpBOzs7Ozs7RUFNSSxnQkNLUztFREpULGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBRmVKO0FFYkk7Ozs7OztFQUNJLG1CQUFBO0VBQ0EseUVBQUE7RUFDQSxpQ0NiRTtBSGlDVjtBRWxCUTs7Ozs7O0VBQ0ksVUFBQTtFQUNBLGdDQUFBO0FGeUJaO0FFckJJOzs7Ozs7RUFDSSxVQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBO0VBQ0EsZ1FBQUE7RUFDQSxpQ0FBQTtFQUNBLDRCQUFBO0VBQ0EsMEJBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxRQUFBO0VBQ0Esa0JBQUE7RUFDQSxRQUFBO0VBQ0EsZ0NBQUE7QUY0QlI7QUV6Qkk7Ozs7OztFQUNJLG1CQUFBO0FGZ0NSO0FFOUJROzs7Ozs7RUFDSSxhQUFBO0FGcUNaOztBRTlCQTtFQUNJLCtCQ25ESztBSG9GVDtBRS9CSTtFQUNJLGlDQ3JERTtBSHNGVjs7QUU3QkE7RUFDSSxjQUFBO0FGZ0NKOztBRTVCSTtFQUNJLGdCQUFBO0VBQWtCLDJCQUFBO0VBQ2xCLGlCQUFBO0FGZ0NSO0FFOUJRO0VBQ0ksWUFBQTtFQUFtQiw0REFBQTtFQUNuQixvQkNyRUg7RURxRW1CLHFCQUFBO0VBQ2hCLGlCQUFBO0VBQW1CLDhCQUFBO0VBQ25CLHFCQUFBO0VBQXVCLHdEQUFBO0VBQ3ZCLFVBQUE7RUFBWSw0Q0FB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LGdCQUFBO0FQNmdCSjs7QUl4Z0JFO0VHQU07SUFDSSw2QkpuREw7RUgrakJMO0FBQ0Y7QU96Z0JJO0VBQ0ksa0JBQUE7QVAyZ0JSO0FJdmhCRTtFR1dFO0lBSVEsa0JBQUE7RVA0Z0JWO0FBQ0Y7O0FJNWhCRTtFR29CRjtJQUVRLFdBQUE7SUFDQSw4QkFBQTtJQUNBLGtCQUFBO0lBQ0EsbUJBQUE7RVAyZ0JOO0VPemdCTTtJQUNJLGNBQUE7SUFDQSxpQkFBQTtFUDJnQlY7QUFDRjs7QU92Z0JBO0VBQ0ksa0JBQUE7RUFDQSxhQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5RUozRVM7QUhxbEJiO0FJbmpCRTtFR3FDRjtJQU9RLG9CQUFBO0lBQ0EsbUJBQUE7RVAyZ0JOO0FBQ0Y7QU96Z0JJO0VBQ0ksZ0JKckZLO0FIZ21CYjtBSTVqQkU7RUdvREU7SUFFUSxrQkFBQTtJQUNBLE9BQUE7SUFDQSxRQUFBO0VQMGdCVjtBQUNGOztBT3JnQkk7O0VBRUksZ0JKcEdLO0FING1CYjtBT3JnQkk7RUFDSSxnQkp4R0s7QUgrbUJiO0FJbGtCRTtFRzBERTtJQUlRLFlBQUE7RVB3Z0JWO0FBQ0Y7O0FPbmdCSTtFQURKO0lBRVEsNkJBQUE7RVB1Z0JOO0FBQ0Y7O0FDdG5CQTs7K0RBQUE7QUdnQ0U7RUl2REY7SUFFUSxVQUFBO0VSbXBCTjtBQUNGOztBUWhwQkE7RUFDSSxpQkFBQTtBUm1wQko7QVFqcEJJO0VBQ0kscUJBQUE7QVJtcEJSO0FRaHBCSTtFQUNJLG1CQUFBO0FSa3BCUjtBUS9vQkk7RUFDSSxrQkFBQTtBUmlwQlIiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohXG5UaGVtZSBOYW1lOiBwYWpudGFyXG5UaGVtZSBVUkk6IGh0dHA6Ly93d3cubWloYW9tZWpjLmNvbVxuQXV0aG9yOiBNaWhhIE9tZWpjXG5BdXRob3IgVVJJOiBodHRwOi8vd3d3Lm1paGFvbWVqYy5jb21cbkRlc2NyaXB0aW9uOiBQcmVkbG9nYSB6YSBzcGxldG5vIHN0cmFuIFBST2FwYXJhdGlcblZlcnNpb246IDEuMy4xXG5UZW1wbGF0ZTogZ2VuZXJhdGVwcmVzc1xuVGV4dCBEb21haW46IHBham50YXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTWFpblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaHRtbCwgYm9keSB7XG4gIG92ZXJmbG93LXg6IGNsaXA7XG59XG5cbmh0bWwge1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuLmJ1dHRvbjpub3QoLndwY2Y3LXN1Ym1pdCksXG4uZ2ItYnV0dG9uLFxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdCxcbi53b29jb21tZXJjZSBhLmJ1dHRvbixcbi53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLFxuLndjLWJsb2NrLWNhcnRfX3N1Ym1pdC1jb250YWluZXIge1xuICB0cmFuc2l0aW9uOiAwLjNzO1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5idXR0b246bm90KC53cGNmNy1zdWJtaXQpOmhvdmVyLFxuLmdiLWJ1dHRvbjpob3Zlcixcbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQ6aG92ZXIsXG4ud29vY29tbWVyY2UgYS5idXR0b246aG92ZXIsXG4ud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbjpob3Zlcixcbi53Yy1ibG9jay1jYXJ0X19zdWJtaXQtY29udGFpbmVyOmhvdmVyIHtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMDUpLCAwIDZweCA2cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LTIpO1xufVxuLmJ1dHRvbjpub3QoLndwY2Y3LXN1Ym1pdCk6aG92ZXI6OmFmdGVyLFxuLmdiLWJ1dHRvbjpob3Zlcjo6YWZ0ZXIsXG4ud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0OmhvdmVyOjphZnRlcixcbi53b29jb21tZXJjZSBhLmJ1dHRvbjpob3Zlcjo6YWZ0ZXIsXG4ud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbjpob3Zlcjo6YWZ0ZXIsXG4ud2MtYmxvY2stY2FydF9fc3VibWl0LWNvbnRhaW5lcjpob3Zlcjo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtODAlLCAtNTAlKTtcbn1cbi5idXR0b246bm90KC53cGNmNy1zdWJtaXQpOmFmdGVyLFxuLmdiLWJ1dHRvbjphZnRlcixcbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQ6YWZ0ZXIsXG4ud29vY29tbWVyY2UgYS5idXR0b246YWZ0ZXIsXG4ud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbjphZnRlcixcbi53Yy1ibG9jay1jYXJ0X19zdWJtaXQtY29udGFpbmVyOmFmdGVyIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogMC4zcztcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiJTIzZmZmXCI+PHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xNy4yNSA4LjI1IDIxIDEybTAgMC0zLjc1IDMuNzVNMjEgMTJIM1wiIC8+PC9zdmc+Jyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTMwJSwgLTUwJSk7XG59XG4uYnV0dG9uOm5vdCgud3BjZjctc3VibWl0KS5uby1hcnJvdyxcbi5nYi1idXR0b24ubm8tYXJyb3csXG4ud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0Lm5vLWFycm93LFxuLndvb2NvbW1lcmNlIGEuYnV0dG9uLm5vLWFycm93LFxuLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24ubm8tYXJyb3csXG4ud2MtYmxvY2stY2FydF9fc3VibWl0LWNvbnRhaW5lci5uby1hcnJvdyB7XG4gIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG59XG4uYnV0dG9uOm5vdCgud3BjZjctc3VibWl0KS5uby1hcnJvdzo6YWZ0ZXIsXG4uZ2ItYnV0dG9uLm5vLWFycm93OjphZnRlcixcbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQubm8tYXJyb3c6OmFmdGVyLFxuLndvb2NvbW1lcmNlIGEuYnV0dG9uLm5vLWFycm93OjphZnRlcixcbi53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLm5vLWFycm93OjphZnRlcixcbi53Yy1ibG9jay1jYXJ0X19zdWJtaXQtY29udGFpbmVyLm5vLWFycm93OjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi53cC1lbGVtZW50LWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudCk7XG59XG4ud3AtZWxlbWVudC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtMik7XG59XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5wb3N0IC5zaXRlLW1haW4gLmVudHJ5LWNvbnRlbnQgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICAvKiBSZW1vdmUgZGVmYXVsdCBidWxsZXRzICovXG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuLnBvc3QgLnNpdGUtbWFpbiAuZW50cnktY29udGVudCB1bCBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCLigKJcIjtcbiAgLyogQWRkIGNvbnRlbnQ6IFxcMjAyMiBpcyB0aGUgQ1NTIENvZGUvdW5pY29kZSBmb3IgYSBidWxsZXQgKi9cbiAgY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIC8qIENoYW5nZSB0aGUgY29sb3IgKi9cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIC8qIElmIHlvdSB3YW50IGl0IHRvIGJlIGJvbGQgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiBOZWVkZWQgdG8gYWRkIHNwYWNlIGJldHdlZW4gdGhlIGJ1bGxldCBhbmQgdGhlIHRleHQgKi9cbiAgd2lkdGg6IDFlbTtcbiAgLyogQWxzbyBuZWVkZWQgZm9yIHNwYWNlICh0d2VhayBpZiBuZWVkZWQpICovXG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAvKiBBbHNvIG5lZWRlZCBmb3Igc3BhY2UgKHR3ZWFrIGlmIG5lZWRlZCkgKi9cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBGcm9udHBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGVybyA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbiAgLmhlcm8gPiBkaXYgKyBkaXYge1xuICAgIG9yZGVyOiAtMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNzAwcHgpIHtcbiAgLm5ld3MgLndwLWJsb2NrLXJzcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDMwcHg7XG4gIH1cbn1cbi5uZXdzIC53cC1ibG9jay1yc3MgLndwLWJsb2NrLXJzc19faXRlbS10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBBcmNoaXZvLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogODAwO1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuLm5ld3MgLndwLWJsb2NrLXJzcyAud3AtYmxvY2stcnNzX19pdGVtLXRpdGxlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29udHJhc3QpO1xuICBtYXJnaW4tdG9wOiAxMnB4O1xufVxuLm5ld3MgLndwLWJsb2NrLXJzcyAud3AtYmxvY2stcnNzX19pdGVtLXRpdGxlIGEge1xuICBjb2xvcjogdmFyKC0tY29udHJhc3QpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubmV3cyAud3AtYmxvY2stcnNzIC53cC1ibG9jay1yc3NfX2l0ZW0tdGl0bGUgYTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuLm5ld3MgLndwLWJsb2NrLXJzcyAud3AtYmxvY2stcnNzX19pdGVtLWF1dGhvciwgLm5ld3MgLndwLWJsb2NrLXJzcyAud3AtYmxvY2stcnNzX19pdGVtLXB1Ymxpc2gtZGF0ZSB7XG4gIG9wYWNpdHk6IDAuODtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuLm5ld3MgLndwLWJsb2NrLXJzcyBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTcwMHB4KSB7XG4gIC5uZXdzIC53cC1ibG9jay1yc3MgbGkge1xuICAgIHdpZHRoOiAzMyU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuXG4uY2FyZHMgPiBkaXYgPiBkaXYgLmdiLWhlYWRsaW5lIHtcbiAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgdHJhbnNpdGlvbjogMC4zcztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNhcmRzID4gZGl2ID4gZGl2IHN2ZyB7XG4gIHRyYW5zaXRpb246IDAuM3M7XG4gIHN0cm9rZTogdmFyKC0tYWNjZW50KTtcbn1cbi5jYXJkcyA+IGRpdiA+IGRpdjpob3ZlciAuZ2ItaGVhZGxpbmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5jYXJkcyA+IGRpdiA+IGRpdjpob3ZlciBzdmcge1xuICBmaWxsOiAjZmZmO1xuICBzdHJva2U6ICNmZmY7XG59XG5cbi5sb2dvcyA+IC5nYi1jb250YWluZXIgPiAuZ2ItY29udGFpbmVyIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5sb2dvcyA+IC5nYi1jb250YWluZXIgPiAuZ2ItY29udGFpbmVyOmhvdmVyIC53cC1ibG9jay1nYWxsZXJ5Lmhhcy1uZXN0ZWQtaW1hZ2VzIHtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbn1cbi5sb2dvcyAud3AtYmxvY2stZ2FsbGVyeS5oYXMtbmVzdGVkLWltYWdlcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBhbmltYXRpb246IDUwcyBzbGlkZSBpbmZpbml0ZSBsaW5lYXI7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmxvZ29zIC53cC1ibG9jay1nYWxsZXJ5Lmhhcy1uZXN0ZWQtaW1hZ2VzIHtcbiAgICBhbmltYXRpb246IDQwcyBzbGlkZU1vYmlsZSBpbmZpbml0ZSBsaW5lYXI7XG4gIH1cbn1cbi5sb2dvcyAud3AtYmxvY2stZ2FsbGVyeS5oYXMtbmVzdGVkLWltYWdlcyBmaWd1cmUud3AtYmxvY2staW1hZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDBweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubG9nb3MgLndwLWJsb2NrLWdhbGxlcnkuaGFzLW5lc3RlZC1pbWFnZXMgZmlndXJlLndwLWJsb2NrLWltYWdlIHtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgfVxufVxuLmxvZ29zIC53cC1ibG9jay1nYWxsZXJ5Lmhhcy1uZXN0ZWQtaW1hZ2VzIGZpZ3VyZS53cC1ibG9jay1pbWFnZSBpbWcge1xuICBmaWx0ZXI6IHNhdHVyYXRlKDAlKTtcbn1cbi5sb2dvcyAud3AtYmxvY2stZ2FsbGVyeS5oYXMtbmVzdGVkLWltYWdlcyBmaWd1cmUud3AtYmxvY2staW1hZ2UgaW1nOmhvdmVyIHtcbiAgZmlsdGVyOiBub25lO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIyNzlweCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVNb2JpbGUge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzIwMHB4KTtcbiAgfVxufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBXb29jb21tZXJjZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnRoZW1lLWdlbmVyYXRlcHJlc3MgLmNhcnQtY29udGVudHMgPiBzcGFuLm51bWJlci1vZi1pdGVtcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMnB4O1xuICBsZWZ0OiAzMHB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAudGhlbWUtZ2VuZXJhdGVwcmVzcyAuY2FydC1jb250ZW50cyA+IHNwYW4ubnVtYmVyLW9mLWl0ZW1zIHtcbiAgICB0b3A6IDdweDtcbiAgfVxufVxuLnRoZW1lLWdlbmVyYXRlcHJlc3MgLmNhcnQtY29udGVudHMgPiBzcGFuLm51bWJlci1vZi1pdGVtcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY0MDA7XG4gIGNvbG9yOiAjMDAwO1xufVxuLnRoZW1lLWdlbmVyYXRlcHJlc3MgLndvb2NvbW1lcmNlIGEucmVtb3ZlIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG4udGhlbWUtZ2VuZXJhdGVwcmVzcyAud29vY29tbWVyY2Uud2lkZ2V0X3Nob3BwaW5nX2NhcnQgLndvb2NvbW1lcmNlLW1pbmktY2FydF9fYnV0dG9ucyBhIHtcbiAgd2lkdGg6IDUwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbn1cbi50aGVtZS1nZW5lcmF0ZXByZXNzIC53b29jb21tZXJjZS53aWRnZXRfc2hvcHBpbmdfY2FydCAuY2FydF9saXN0IGxpIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbi50aGVtZS1nZW5lcmF0ZXByZXNzIC53b29jb21tZXJjZS53aWRnZXRfc2hvcHBpbmdfY2FydCAuY2FydF9saXN0IGxpIGEge1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cbi50aGVtZS1nZW5lcmF0ZXByZXNzIC53Yy1ibG9jay1jb21wb25lbnRzLWNoZWNrYm94IHtcbiAgbWFyZ2luLXRvcDogMC4zZW07XG59XG5cbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGEgaW1nLFxuLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud2MtYmxvY2stZ3JpZF9fcHJvZHVjdHMgLndjLWJsb2NrLWdyaWRfX3Byb2R1Y3QgLndjLWJsb2NrLWNvbXBvbmVudHMtcHJvZHVjdC1pbWFnZSBpbWcsXG4ud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LWltYWdlIGltZyB7XG4gIGhlaWdodDogMjMwcHggIWltcG9ydGFudDtcbiAgb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50O1xufVxuXG4ud2MtYmxvY2stcHJvZHVjdC10ZW1wbGF0ZV9fcmVzcG9uc2l2ZSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogdmFyKC0tY29udHJhc3QpO1xufVxuLndjLWJsb2NrLXByb2R1Y3QtdGVtcGxhdGVfX3Jlc3BvbnNpdmUgLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudC5hbW91bnQge1xuICBjb2xvcjogdmFyKC0tY29udHJhc3QpO1xufVxuLndjLWJsb2NrLXByb2R1Y3QtdGVtcGxhdGVfX3Jlc3BvbnNpdmUgZGVsIHtcbiAgb3BhY2l0eTogMC41O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLndjLWJsb2NrLWdyaWQgLndjLWJsb2NrLWdyaWRfX3Byb2R1Y3Qtb25zYWxlLCAud2MtYmxvY2stZ3JpZF9fcHJvZHVjdC1pbWFnZSAud2MtYmxvY2stZ3JpZF9fcHJvZHVjdC1vbnNhbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb250cmFzdCkgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLWJhc2UtMykgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDgwJSAhaW1wb3J0YW50O1xufVxuXG4ud2MtYmxvY2stY2FydF9fc3VibWl0LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi53Yy1ibG9jay1jYXJ0X19zdWJtaXQtY29udGFpbmVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LTIpO1xufVxuLndjLWJsb2NrLWNhcnRfX3N1Ym1pdC1jb250YWluZXIgYSB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAud2MtYmxvY2stY29tcG9uZW50cy1zaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogNDBweDtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmluc2lkZS1yaWdodC1zaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLmluc2lkZS1yaWdodC1zaWRlYmFyIC5yZWxhdGVkLnByb2R1Y3RzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIH1cbiAgLmluc2lkZS1yaWdodC1zaWRlYmFyIC5yZWxhdGVkLnByb2R1Y3RzIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmluc2lkZS1yaWdodC1zaWRlYmFyIC5yZWxhdGVkLnByb2R1Y3RzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDQwcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICB9XG59XG4ud29vY29tbWVyY2Uuc2luZ2xlLXByb2R1Y3QgLnN1bW1hcnkgLnByaWNlIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cbi53b29jb21tZXJjZS5zaW5nbGUtcHJvZHVjdCBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3ZlcmZsb3c6IGluaGVyaXQ7XG59XG4ud29vY29tbWVyY2Uuc2luZ2xlLXByb2R1Y3QgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaS5hY3RpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ud29vY29tbWVyY2Uuc2luZ2xlLXByb2R1Y3QgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaS5hY3RpdmU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTJweDtcbiAgbGVmdDogMXB4O1xuICByaWdodDogMXB4O1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwMDA7XG59XG4ud29vY29tbWVyY2Uuc2luZ2xlLXByb2R1Y3QgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgLnBhbmVsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cbi53b29jb21tZXJjZS5zaW5nbGUtcHJvZHVjdCBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyAucGFuZWwgaDIge1xuICBmb250LXNpemU6IDI4cHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLndvb2NvbW1lcmNlLnNpbmdsZS1wcm9kdWN0IGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIC5wYW5lbCBoMiB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC53b29jb21tZXJjZS5zaW5nbGUtcHJvZHVjdCBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyAucGFuZWwge1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGgge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogdmFyKC0tY29udHJhc3QpO1xuICBib3JkZXI6IG5vbmU7XG59XG4ud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRkIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi53b29jb21tZXJjZS1tZXNzYWdlIC5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0LWNhdGVnb3J5IHtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWNjZW50KTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdC1jYXRlZ29yeSArIC50eXBlLXByb2R1Y3Qge1xuICBncmlkLWNvbHVtbi1zdGFydDogMTtcbn1cbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0LWNhdGVnb3J5IGEge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbn1cblxuLmJ1dHRvbi1pbnF1cnkge1xuICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zaW5nbGUtcHJvZHVjdC53b29jb21tZXJjZSAuZW50cnktc3VtbWFyeSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWx0LFxuLnNpbmdsZS1wcm9kdWN0Lndvb2NvbW1lcmNlIC5lbnRyeS1zdW1tYXJ5IGEuYnV0dG9uLmFsdCxcbi5zaW5nbGUtcHJvZHVjdC53b29jb21tZXJjZSAuZW50cnktc3VtbWFyeSBidXR0b24uYnV0dG9uLmFsdCxcbi5zaW5nbGUtcHJvZHVjdC53b29jb21tZXJjZSAuZW50cnktc3VtbWFyeSBpbnB1dC5idXR0b24uYWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW52ZXJzZSk7XG59XG4uc2luZ2xlLXByb2R1Y3Qud29vY29tbWVyY2UgLmVudHJ5LXN1bW1hcnkgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmFsdDpob3Zlcixcbi5zaW5nbGUtcHJvZHVjdC53b29jb21tZXJjZSAuZW50cnktc3VtbWFyeSBhLmJ1dHRvbi5hbHQ6aG92ZXIsXG4uc2luZ2xlLXByb2R1Y3Qud29vY29tbWVyY2UgLmVudHJ5LXN1bW1hcnkgYnV0dG9uLmJ1dHRvbi5hbHQ6aG92ZXIsXG4uc2luZ2xlLXByb2R1Y3Qud29vY29tbWVyY2UgLmVudHJ5LXN1bW1hcnkgaW5wdXQuYnV0dG9uLmFsdDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludmVyc2UtMik7XG59XG5cbi5ob21lIC53cC1ibG9jay13b29jb21tZXJjZS1wcm9kdWN0LXRlbXBsYXRlID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5iYWRnZXMsXG4uaG9tZSAud3AtYmxvY2std29vY29tbWVyY2UtcHJvZHVjdC10ZW1wbGF0ZSAud3AtYmxvY2stcG9zdC10ZXJtcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYmFkZ2VzIC5iYWRnZSxcbi5iYWRnZXMgPiBhLFxuLmhvbWUgLndwLWJsb2NrLXdvb2NvbW1lcmNlLXByb2R1Y3QtdGVtcGxhdGUgLndwLWJsb2NrLXBvc3QtdGVybXMgLmJhZGdlLFxuLmhvbWUgLndwLWJsb2NrLXdvb2NvbW1lcmNlLXByb2R1Y3QtdGVtcGxhdGUgLndwLWJsb2NrLXBvc3QtdGVybXMgPiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogM3B4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBtYXJnaW46IDFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zaW5nbGUtcHJvZHVjdC53b29jb21tZXJjZSAuYmFkZ2VzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYmFkZ2UuYWtjaWphIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmOGIzMztcbn1cblxuLmJhZGdlLmJlc3QtdmFsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhBNzQ1O1xufVxuXG4uYmFkZ2UuYnJlenBsYWNuYS1kb3N0YXZhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhiMDA3Yjtcbn1cblxuLmJhZGdlLnRvcC1zZWxsZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDExYzFjO1xufVxuXG4ud2MtcHJvZHVjdC1pbWFnZTpob3ZlciAuc2Vjb25kYXJ5LWltYWdlICsgaW1nIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgYSBpbWcge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5kb2JhdmEge1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG59XG4uZG9iYXZhIHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuXG4ud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGUsIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5vbnNhbGUsXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuc3Rhci1yYXRpbmcsXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFBvdnByYcWhZXZhbmplXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ucG92cHJhc2V2YW5qZS1ndW1iIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xufVxuXG4ucG92cHJhc2V2YW5qZS1vYnJhemVjIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBwYWRkaW5nOiAzMHB4IDMwcHggMjBweCAzMHB4O1xufVxuLnBvdnByYXNldmFuamUtb2JyYXplYyBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5wb3ZwcmFzZXZhbmplLW9icmF6ZWMgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5wb3ZwcmFzZXZhbmplLW9icmF6ZWMgLmctcmVjYXB0Y2hhIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBIZWFkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLnNpdGUtYnJhbmRpbmcge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICB9XG59XG5cbi5tYWluLW5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBtYXgtd2lkdGg6IDEyNDBweDtcbn1cbi5tYWluLW5hdmlnYXRpb24gLm1lbnUtYmFyLWl0ZW1zIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuLm1haW4tbmF2aWdhdGlvbiAubWVudS1iYXItaXRlbXMgLndjLW1lbnUtaXRlbSA+IGEge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5tYWluLW5hdmlnYXRpb24gLm1lbnUtYmFyLWl0ZW1zIC5tZW51LWJhci1pdGVtID4gYSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuXG4ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuZHJvcGRvd24tbWVudS10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDdweDtcbn1cblxuLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLmRyb3Bkb3duLW1lbnUtdG9nZ2xlIHtcbiAgcGFkZGluZy1yaWdodDogNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tb2JpbGUtbWVudS1jb250cm9sLXdyYXBwZXIgLm1lbnUtdG9nZ2xlLCAubW9iaWxlLW1lbnUtY29udHJvbC13cmFwcGVyIC5tZW51LXRvZ2dsZTpob3ZlciwgLm1vYmlsZS1tZW51LWNvbnRyb2wtd3JhcHBlciAubWVudS10b2dnbGU6Zm9jdXMsIC5oYXMtaW5saW5lLW1vYmlsZS10b2dnbGUgI3NpdGUtbmF2aWdhdGlvbi50b2dnbGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5tZW51LXRvZ2dsZSAuZ3AtaWNvbiBzdmcge1xuICBmb250LXNpemU6IDI2cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpO1xufVxuXG4uaGFzLWlubGluZS1tb2JpbGUtdG9nZ2xlICNzaXRlLW5hdmlnYXRpb24udG9nZ2xlZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5pbnNpZGUtaGVhZGVyIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIGdhcDogMjBweDtcbn1cblxuLnNpdGUtZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmFib3ZlLWhlYWRlciA+IGRpdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFzZSk7XG4gIH1cbn1cbi5hYm92ZS1oZWFkZXIgLmdiLWJ1dHRvbi5uby1hcnJvdyB7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLmFib3ZlLWhlYWRlciAuZ2ItYnV0dG9uLm5vLWFycm93IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuc2l0ZS1icmFuZGluZy1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxuICAuc2l0ZS1icmFuZGluZy1jb250YWluZXIgLnNpdGUtYnJhbmRpbmcge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbi5zdGlja3ktaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDVweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSksIDAgNnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuc3RpY2t5LWhlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuLnN0aWNreS1oZWFkZXIgLmluc2lkZS1oZWFkZXIge1xuICB0cmFuc2l0aW9uOiAwLjNzO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuc3RpY2t5LWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuXG4uc2l0ZS1oZWFkZXIgcFtjbGFzc149Z2ItaGVhZGxpbmVdLFxuLnNpdGUtaGVhZGVyIC5oZWFkZXItaW1hZ2Uge1xuICB0cmFuc2l0aW9uOiAwLjNzO1xufVxuLnNpdGUtaGVhZGVyIC5oZWFkZXItaW1hZ2Uge1xuICB0cmFuc2l0aW9uOiAwLjNzO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zaXRlLWhlYWRlciAuaGVhZGVyLWltYWdlIHtcbiAgICB3aWR0aDogMjIwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzUwcHgpIHtcbiAgYS5nYi1idXR0b24tMDJmNmQ3NjIge1xuICAgIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgRm9vdGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5mb290ZXItZmVhdHVyZXMge1xuICAgIHRvcDogLTcwcHg7XG4gIH1cbn1cblxuLnNpdGUtZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG59XG4uc2l0ZS1mb290ZXIgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5zaXRlLWZvb3RlciAud3BjZjctZW1haWwge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLnNpdGUtZm9vdGVyIC5nYi1idXR0b24ubm8tYXJyb3cge1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG59IiwiLyohXG5UaGVtZSBOYW1lOiBwYWpudGFyXG5UaGVtZSBVUkk6IGh0dHA6Ly93d3cubWloYW9tZWpjLmNvbVxuQXV0aG9yOiBNaWhhIE9tZWpjXG5BdXRob3IgVVJJOiBodHRwOi8vd3d3Lm1paGFvbWVqYy5jb21cbkRlc2NyaXB0aW9uOiBQcmVkbG9nYSB6YSBzcGxldG5vIHN0cmFuIFBST2FwYXJhdGlcblZlcnNpb246IDEuMy4xXG5UZW1wbGF0ZTogZ2VuZXJhdGVwcmVzc1xuVGV4dCBEb21haW46IHBham50YXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBNYWluXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwibWFpblwiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEhlYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcImhlYWRlclwiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEZvb3RlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcImZvb3RlclwiO1xuIiwiaHRtbCwgYm9keSB7XG4gICAgb3ZlcmZsb3cteDogY2xpcDtcbn1cblxuaHRtbCB7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbi5idXR0b246bm90KC53cGNmNy1zdWJtaXQpLFxuLmdiLWJ1dHRvbixcbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQsXG4ud29vY29tbWVyY2UgYS5idXR0b24sXG4ud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbixcbi53Yy1ibG9jay1jYXJ0X19zdWJtaXQtY29udGFpbmVyIHtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQyO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtODAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YWZ0ZXIgIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjNzO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiJTIzZmZmXCI+PHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xNy4yNSA4LjI1IDIxIDEybTAgMC0zLjc1IDMuNzVNMjEgMTJIM1wiIC8+PC9zdmc+Jyk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTMwJSwgLTUwJSk7XG4gICAgfVxuXG4gICAgJi5uby1hcnJvdyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbi53cC1lbGVtZW50LWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50MjtcbiAgICB9XG59XG5cbnVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLnBvc3QgLnNpdGUtbWFpbiAuZW50cnktY29udGVudCB7XG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lOyAvKiBSZW1vdmUgZGVmYXVsdCBidWxsZXRzICovXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICBcbiAgICAgICAgbGk6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcMjAyMlwiOyAgLyogQWRkIGNvbnRlbnQ6IFxcMjAyMiBpcyB0aGUgQ1NTIENvZGUvdW5pY29kZSBmb3IgYSBidWxsZXQgKi9cbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50OyAvKiBDaGFuZ2UgdGhlIGNvbG9yICovXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsgLyogSWYgeW91IHdhbnQgaXQgdG8gYmUgYm9sZCAqL1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiBOZWVkZWQgdG8gYWRkIHNwYWNlIGJldHdlZW4gdGhlIGJ1bGxldCBhbmQgdGhlIHRleHQgKi9cbiAgICAgICAgICAgIHdpZHRoOiAxZW07IC8qIEFsc28gbmVlZGVkIGZvciBzcGFjZSAodHdlYWsgaWYgbmVlZGVkKSAqL1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xZW07IC8qIEFsc28gbmVlZGVkIGZvciBzcGFjZSAodHdlYWsgaWYgbmVlZGVkKSAqL1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEZyb250cGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcInNlY3Rpb25zL2Zyb250cGFnZVwiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFdvb2NvbW1lcmNlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwic2VjdGlvbnMvd29vY29tbWVyY2VcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBQb3ZwcmHFoWV2YW5qZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnBvdnByYXNldmFuamUtZ3VtYiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xufVxuXG4ucG92cHJhc2V2YW5qZS1vYnJhemVjIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4xKTtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIHBhZGRpbmc6IDMwcHggMzBweCAyMHB4IDMwcHg7XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5nLXJlY2FwdGNoYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxufSIsIiRtZWRpYS14czogMzYwcHg7XG4kbWVkaWEtczogNzY4cHg7XG4kbWVkaWEtbTogMTAyNXB4O1xuJG1lZGlhLWw6IDEyNjBweDtcbiRtZWRpYS14bDogMTcwMHB4O1xuXG4kcGFnZS13aWR0aDogMTI4MHB4O1xuXG4kYWNjZW50OiB2YXIoLS1hY2NlbnQpO1xuJGFjY2VudDI6IHZhcigtLWFjY2VudC0yKTtcbiRhY2NlbnQzOiB2YXIoLS1hY2NlbnQtMyk7XG4kY29udHJhc3Q6IHZhcigtLWNvbnRyYXN0KTtcbiRjb250cmFzdDI6IHZhcigtLWNvbnRyYXN0LTMpO1xuJGNvbnRyYXN0MzogdmFyKC0tY29udHJhc3QtMyk7XG4kYmFzZTogdmFyKC0tYmFzZSk7XG4kYmFzZTI6IHZhcigtLWJhc2UtMik7XG4kYmFzZTM6IHZhcigtLWJhc2UtMyk7XG4kaW52ZXJzZTogdmFyKC0taW52ZXJzZSk7XG4kaW52ZXJzZTI6IHZhcigtLWludmVyc2UtMik7XG4kdHJhbnNpdGlvbjogLjNzO1xuXG4kYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKDAsMCwwLDAuMDUpLCAwIDZweCA2cHggcmdiYSgwLDAsMCwwLjA4KTtcbiRib3gtc2hhZG93MjogMCAtNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDZweCA2cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiIsIi8vIFJlbSBvdXRwdXQgd2l0aCBweCBmYWxsYmFja1xuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZVZhbHVlOiAxKSB7XG5cdGZvbnQtc2l6ZTogKCRzaXplVmFsdWUgKiAxNikgKiAxcHg7XG5cdGZvbnQtc2l6ZTogJHNpemVWYWx1ZSAqIDFyZW07XG59XG5cbi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxuXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xuXHRAcmV0dXJuICgkcHh2YWwgLyAxNikgKiAxcmVtO1xufVxuXG4vLyBDZW50ZXIgYmxvY2tcbkBtaXhpbiBjZW50ZXItYmxvY2sge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8gQ2xlYXJmaXhcbkBtaXhpbiBjbGVhcmZpeCgpIHtcblx0Y29udGVudDogXCJcIjtcblx0ZGlzcGxheTogdGFibGU7XG5cdHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG5cbi8vIENsZWFyIGFmdGVyIChub3QgYWxsIGNsZWFyZml4IG5lZWQgdGhpcyBhbHNvKVxuQG1peGluIGNsZWFyZml4LWFmdGVyKCkge1xuXHRjbGVhcjogYm90aDtcbn1cblxuLy8gQ29sdW1uIHdpZHRoIHdpdGggbWFyZ2luXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRudW1iZXJDb2x1bW5zOiAzKSB7XG5cdHdpZHRoOiBtYXAtZ2V0KCAkY29sdW1ucywgJG51bWJlckNvbHVtbnMgKSAtICggKCAkY29sdW1uc19fbWFyZ2luICogKCAkbnVtYmVyQ29sdW1ucyAtIDEgKSApIC8gJG51bWJlckNvbHVtbnMgKTtcbn1cblxuQG1peGluIGZ1bGx3aWR0aCgpIHtcblx0bWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE2MHB4KXtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEwMHZ3IC8gMiArICN7JHBhZ2Utd2lkdGh9IC8gMik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtMTAwdncgLyAyICsgI3skcGFnZS13aWR0aH0gLyAyKTtcbiAgICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50KCRwb2ludCkge1xuXHRAaWYgJHBvaW50ID09IHhsIHtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLXhsKSB7IEBjb250ZW50IDsgfVxuXHR9XG5cdEBpZiAkcG9pbnQgPT0gbCB7XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1sKSB7IEBjb250ZW50IDsgfVxuXHR9XG5cdEBlbHNlIGlmICRwb2ludCA9PSBkZXNrdG9wIHtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLW0pIHsgQGNvbnRlbnQgOyB9XG5cdH1cblx0QGVsc2UgaWYgJHBvaW50ID09IHRvZGVza3RvcCB7XG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6ICN7JG1lZGlhLW0gLSAxfSkgIHsgQGNvbnRlbnQgOyB9XG5cdH1cblx0QGVsc2UgaWYgJHBvaW50ID09IHRhYmxldCB7XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS1zKSB7IEBjb250ZW50IDsgfVxuXHR9XG5cdEBlbHNlIGlmICRwb2ludCA9PSBtb2JpbGUge1xuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtZWRpYS1zIC0gMX0pICB7IEBjb250ZW50IDsgfVxuXHR9XG59IiwiLmhlcm8ge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICsgZGl2IHtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAtMTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG4ubmV3cyB7XHJcbiAgICAud3AtYmxvY2stcnNzIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBnYXA6IDMwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAud3AtYmxvY2stcnNzX19pdGVtLXRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEFyY2hpdm8sIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbnRyYXN0O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbnRyYXN0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAud3AtYmxvY2stcnNzX19pdGVtLWF1dGhvciwgLndwLWJsb2NrLXJzc19faXRlbS1wdWJsaXNoLWRhdGUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuODtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bCkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYXJkcyB7XHJcbiAgICA+IGRpdiA+IGRpdiB7XHJcbiAgICAgICAgLmdiLWhlYWRsaW5lIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xyXG4gICAgICAgICAgICBzdHJva2U6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLmdiLWhlYWRsaW5lIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIGZpbGw6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICBzdHJva2U6ICNmZmY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5sb2dvcyB7XHJcbiAgICA+IC5nYi1jb250YWluZXIgPiAuZ2ItY29udGFpbmVyIHtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgICY6aG92ZXIgLndwLWJsb2NrLWdhbGxlcnkuaGFzLW5lc3RlZC1pbWFnZXMge1xyXG4gICAgICAgICAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAud3AtYmxvY2stZ2FsbGVyeS5oYXMtbmVzdGVkLWltYWdlcyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYW5pbWF0aW9uOiA1MHMgc2xpZGUgaW5maW5pdGUgbGluZWFyO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xyXG4gICAgICAgICAgICBhbmltYXRpb246IDQwcyBzbGlkZU1vYmlsZSBpbmZpbml0ZSBsaW5lYXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmaWd1cmUud3AtYmxvY2staW1hZ2Uge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGZpbHRlcjogc2F0dXJhdGUoMCUpO1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZSB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMjc5cHgpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlTW9iaWxlIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMyMDBweCk7XHJcbiAgICB9XHJcbn0iLCIudGhlbWUtZ2VuZXJhdGVwcmVzcyB7XHJcbiAgICAuY2FydC1jb250ZW50cyA+IHNwYW4ubnVtYmVyLW9mLWl0ZW1zIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAxMnB4O1xyXG4gICAgICAgIGxlZnQ6IDMwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodG9kZXNrdG9wKSB7XHJcbiAgICAgICAgICAgIHRvcDogN3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLmNhcnQtY29udGVudHMgPiBzcGFuLm51bWJlci1vZi1pdGVtcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjQwMDtcclxuICAgICAgICBjb2xvcjogIzAwMDtcclxuICAgIH1cclxuXHJcbiAgICAud29vY29tbWVyY2UgYS5yZW1vdmUge1xyXG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC53b29jb21tZXJjZS53aWRnZXRfc2hvcHBpbmdfY2FydCAud29vY29tbWVyY2UtbWluaS1jYXJ0X19idXR0b25zIGEge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcclxuICAgIH1cclxuXHJcbiAgICAud29vY29tbWVyY2Uud2lkZ2V0X3Nob3BwaW5nX2NhcnQgLmNhcnRfbGlzdCBsaSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAud2MtYmxvY2stY29tcG9uZW50cy1jaGVja2JveCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLjNlbTtcclxuICAgIH1cclxufVxyXG5cclxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgYSBpbWcsXHJcbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgLndjLWJsb2NrLWdyaWRfX3Byb2R1Y3RzIC53Yy1ibG9jay1ncmlkX19wcm9kdWN0IC53Yy1ibG9jay1jb21wb25lbnRzLXByb2R1Y3QtaW1hZ2UgaW1nLFxyXG4ud2MtYmxvY2stY29tcG9uZW50cy1wcm9kdWN0LWltYWdlIGltZyB7XHJcbiAgICBoZWlnaHQ6IDIzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBvYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi53Yy1ibG9jay1wcm9kdWN0LXRlbXBsYXRlX19yZXNwb25zaXZlIHtcclxuICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBjb2xvcjogJGNvbnRyYXN0O1xyXG4gICAgfVxyXG5cclxuICAgIC53b29jb21tZXJjZS1QcmljZS1hbW91bnQuYW1vdW50IHtcclxuICAgICAgICBjb2xvcjogJGNvbnRyYXN0O1xyXG4gICAgfVxyXG5cclxuICAgIGRlbCB7XHJcbiAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi53Yy1ibG9jay1ncmlkIC53Yy1ibG9jay1ncmlkX19wcm9kdWN0LW9uc2FsZSwgLndjLWJsb2NrLWdyaWRfX3Byb2R1Y3QtaW1hZ2UgLndjLWJsb2NrLWdyaWRfX3Byb2R1Y3Qtb25zYWxlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb250cmFzdCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRiYXNlMyAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiA4MCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLndjLWJsb2NrLWNhcnRfX3N1Ym1pdC1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDI7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi53Yy1ibG9jay1jb21wb25lbnRzLXNpZGViYXIge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wKSB7XHJcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgICB0b3A6IDQwcHg7XHJcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcclxuICAgIH1cclxufVxyXG5AaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3ApIHtcclxuICAgIC5pbnNpZGUtcmlnaHQtc2lkZWJhciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAucmVsYXRlZC5wcm9kdWN0cyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuXHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ud29vY29tbWVyY2Uuc2luZ2xlLXByb2R1Y3Qge1xyXG4gICAgLnN1bW1hcnkge1xyXG4gICAgICAgIC5wcmljZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGRpdi5wcm9kdWN0IHtcclxuICAgICAgICAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGluaGVyaXQ7XHJcblxyXG4gICAgICAgICAgICBsaS5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IC0ycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDAwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLndvb2NvbW1lcmNlLXRhYnMgLnBhbmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMDgpO1xyXG5cclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3ApIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgIHRoIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGNvbG9yOiAkY29udHJhc3Q7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIHRkIHtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgfVxyXG59IFxyXG5cclxuLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xyXG4gICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0LWNhdGVnb3J5IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICArIC50eXBlLXByb2R1Y3Qge1xyXG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnV0dG9uLWlucXVyeSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zaW5nbGUtcHJvZHVjdC53b29jb21tZXJjZSAuZW50cnktc3VtbWFyeSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWx0LFxyXG4uc2luZ2xlLXByb2R1Y3Qud29vY29tbWVyY2UgLmVudHJ5LXN1bW1hcnkgYS5idXR0b24uYWx0LFxyXG4uc2luZ2xlLXByb2R1Y3Qud29vY29tbWVyY2UgLmVudHJ5LXN1bW1hcnkgYnV0dG9uLmJ1dHRvbi5hbHQsXHJcbi5zaW5nbGUtcHJvZHVjdC53b29jb21tZXJjZSAuZW50cnktc3VtbWFyeSBpbnB1dC5idXR0b24uYWx0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlMjtcclxuICAgIH1cclxufVxyXG5cclxuLmhvbWUgLndwLWJsb2NrLXdvb2NvbW1lcmNlLXByb2R1Y3QtdGVtcGxhdGUge1xyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYmFkZ2VzLFxyXG4uaG9tZSAud3AtYmxvY2std29vY29tbWVyY2UtcHJvZHVjdC10ZW1wbGF0ZSAud3AtYmxvY2stcG9zdC10ZXJtcyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAuYmFkZ2UsXHJcbiAgICA+IGEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgcGFkZGluZzogM3B4IDhweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgbWFyZ2luOiAxcHg7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLnNpbmdsZS1wcm9kdWN0Lndvb2NvbW1lcmNlIHtcclxuICAgIC5iYWRnZXMge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYmFkZ2UuYWtjaWphIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjhiMzM7XHJcbn1cclxuXHJcbi5iYWRnZS5iZXN0LXZhbHVlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyOEE3NDU7XHJcbn1cclxuXHJcbi5iYWRnZS5icmV6cGxhY25hLWRvc3RhdmEge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhiMDA3YjtcclxufVxyXG5cclxuLmJhZGdlLnRvcC1zZWxsZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QxMWMxYztcclxufVxyXG5cclxuLndjLXByb2R1Y3QtaW1hZ2U6aG92ZXIgLnNlY29uZGFyeS1pbWFnZSArIGltZyB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCBhIGltZyB7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xcyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuLmRvYmF2YSB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi53b29jb21tZXJjZSBzcGFuLm9uc2FsZSwgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLm9uc2FsZSxcclxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnN0YXItcmF0aW5nLFxyXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuYnV0dG9uIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufSIsIi5zaXRlLWJyYW5kaW5nIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvZGVza3RvcCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICB9XG59XG5cbi5tYWluLW5hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoJHBhZ2Utd2lkdGggLSA0MHB4KTtcblxuICAgIC5tZW51LWJhci1pdGVtcyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuICAgICAgICAud2MtbWVudS1pdGVtID4gYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICAubWVudS1iYXItaXRlbSA+IGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLmRyb3Bkb3duLW1lbnUtdG9nZ2xlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDdweDtcbn1cblxuLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLmRyb3Bkb3duLW1lbnUtdG9nZ2xlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHggIWltcG9ydGFudDtcbn1cblxuLm1vYmlsZS1tZW51LWNvbnRyb2wtd3JhcHBlciAubWVudS10b2dnbGUsIC5tb2JpbGUtbWVudS1jb250cm9sLXdyYXBwZXIgLm1lbnUtdG9nZ2xlOmhvdmVyLCAubW9iaWxlLW1lbnUtY29udHJvbC13cmFwcGVyIC5tZW51LXRvZ2dsZTpmb2N1cywgLmhhcy1pbmxpbmUtbW9iaWxlLXRvZ2dsZSAjc2l0ZS1uYXZpZ2F0aW9uLnRvZ2dsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWVudS10b2dnbGUge1xuICAgIC5ncC1pY29uIHN2ZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gICAgfVxufVxuXG4uaGFzLWlubGluZS1tb2JpbGUtdG9nZ2xlICNzaXRlLW5hdmlnYXRpb24udG9nZ2xlZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmluc2lkZS1oZWFkZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIGdhcDogMjBweDtcbn1cblxuLnNpdGUtZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi5hYm92ZS1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdiLWJ1dHRvbi5uby1hcnJvdyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvZGVza3RvcCkgIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNpdGUtYnJhbmRpbmctY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRvZGVza3RvcCkgIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAgIC5zaXRlLWJyYW5kaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zdGlja3ktaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wKSAge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICAuaW5zaWRlLWhlYWRlciB7XG4gICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIC5tYWluLW5hdmlnYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3ApIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNpdGUtaGVhZGVyIHtcbiAgICBwW2NsYXNzXj0nZ2ItaGVhZGxpbmUnXSxcbiAgICAuaGVhZGVyLWltYWdlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgLmhlYWRlci1pbWFnZSB7XG4gICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmEuZ2ItYnV0dG9uLTAyZjZkNzYyIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjM1MHB4KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xuICAgIH1cbn0iLCIuZm9vdGVyLWZlYXR1cmVze1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcCkge1xuICAgICAgICB0b3A6IC03MHB4O1xuICAgIH1cbn1cblxuLnNpdGUtZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBcbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC53cGNmNy1lbWFpbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLmdiLWJ1dHRvbi5uby1hcnJvdyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICB9XG59Il19 */
