/* --------------------
 @@ Mixins
-------------------- */
/* ----------
 @ Maintain Aspect Ratio
	- *** requires that the element has an inner container element if there is inner content
	- $x => x portion of ratio
	- $y => y portion of ratio
    - $c => set to 'false' to skip :first-child styling
---------- */
/* ----------
 @ Background Image
	- Shortcut for linking images in the configured images folder
	- $i => image file name (relative to images folder)
	- $rest => any additional 'background' property shortcut declarations (ie: no-repeat)
---------- */
/* --------------------
 @@ Functions
-------------------- */
/* ----------
 @ Color Get
 	- get value from the $theme-colors map
---------- */
/* ----------
 @ Breakpoint Get
 	- get value from the $grid-breakpoints map
 	- $type => 'max' | 'min', depending on media query type
---------- */
/* ----------
 @ Ems
	- convert pixels to ems
	- $p => pixel value
	- $b => base size (to use in formula) - defaults to $font-sizes root variable
---------- */
/* ----------
 @ Rems
	- convert pixels to rems
	- $p => pixel value
	- $b => base size (to use in formula) - defaults to $font-sizes root variable
---------- */
/* ----------
 @ Map Deep Get
 	- get value from nested maps
---------- */
/* ----------
 @ Weight Get
 	- get value from the $font-weights map
---------- */
/* ----------------------------------------------------------------------------

 @@@ Global Extensions

---------------------------------------------------------------------------- */
/* --------------------------------------
 @@ Generic Styles
-------------------------------------- */
/* ----------
 @ Display
---------- */
/* ----------
 @ Positioning
---------- */
/* ----------
 @ Layout
---------- */
/* ----------
 @ Colors
---------- */
/* ----------
 @ Typography
---------- */
/* ----------
 @ Overflow
---------- */
/* ----------
 @ Misc Visuals
---------- */
/* --------------------------------------
 @@ Components
-------------------------------------- */
/* ----------
 @ Pagination
---------- */
/* ----------
 @ Sliders
---------- */
/* ----------
 @ Text Fields
---------- */
/* ----------
 @ Dropdowns
---------- */
/* ----------
 @ Checkboxes
---------- */
/* ----------
 @ Radio Buttons
---------- */
/* ----------
 @ Dialogs
---------- */
/* ----------
 @ Tooltips
---------- */
/* --------------------
 @@ Project Specific Variables
-------------------- */
/* ----------
 @ Options
---------- */
/* ----------
 @ Colors
---------- */
/* ----------
 @ Layout
---------- */
/* ----------
 @ Typography
---------- */
/* ----------
 @ Misc
---------- */
#news {
  margin: 6.75rem 0;
}

#news .no-results {
  width: 100%;
  margin: 4rem 0 2rem;
}

#news .no-results::before, #news .no-results::after {
  background: rgba(150, 150, 150, 0.25);
}

#news .no-results .no-results-text {
  opacity: 0.3;
  text-align: center;
  margin: 0 5rem;
  font-family: azo-sans-web, "Avenir", "Tw Cen MT", "Helvetica", Arial, sans-serif;
  font-size: 2.5rem;
}

#news .card .card-content p {
  margin: 0.5rem 0;
}

#news .pagination-area {
  margin-top: 2rem;
}

@media only screen and (max-width: 991px) {
  #news .card {
    padding: 1.75rem;
  }
  #news .card .card-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #news .card .fa-chevron-circle-right {
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 768px) and (min-width: 576px) {
  #news .card-content, #news .card-image {
    margin-top: 0;
  }
  #news .news-posting {
    margin: 1rem 0;
  }
}

@media only screen and (max-width: 768px) {
  #news .card .card-bottom {
    position: relative;
  }
}

@media only screen and (max-width: 575px) {
  #news {
    margin: 4rem 0;
  }
  #news div.card {
    padding: 2rem;
  }
  #news div.card .card-image img {
    width: 100%;
  }
}

.l-people-grid {
  width: 100vw;
  max-width: 100vw;
  padding: 3rem 0 6.5rem;
  overflow: hidden;
}

.l-people-grid h3 {
  margin-left: 0;
}

.l-people-grid + .l-people-grid {
  margin-top: 0;
}

.l-people-grid--blue {
  background-color: #007AF8;
}

.l-people-grid--blue h3 {
  color: #fff;
}

.l-people-grid--grey {
  background-color: #e9e9e9;
}

.l-people-grid--molecules {
  background: #e9e9e9 url("../img/ui-assets/radon-chemical-structure-tile.svg") repeat center/700px auto;
}

.l-people-grid--radiation {
  background: #e9e9e9 url("../img/ui-assets/nuclear-background-tile.svg") repeat center/700px auto;
}

.l-people-grid__staff.l-people-grid__staff {
  margin-top: 0 !important;
}

@media only screen and (min-width: 1344px) {
  .layout-block--people-grid {
    margin-left: calc(((1344px - 100% - 3.25rem) + ((100vw - 1344px) / 2) + 1.75rem) * -1);
    margin-right: calc(((100vw - 1344px) / 2 + 2rem) * -1);
  }
}

@media only screen and (max-width: 1344px) and (min-width: 992px) {
  .layout-block--people-grid {
    margin-left: calc((100vw - 100% - 2rem) * -1);
  }
}

@media only screen and (max-width: 991px) {
  .layout-block--people-grid {
    margin-left: -2.5rem;
    margin-right: 0;
    max-width: calc(100vw - 0.75rem);
  }
}

.c-accordions {
  --accordion-toggle-bg-color: var(--brand-grey);
  --accordion-toggle-icon-bg-color-active: #fff;
  --accordion-toggle-icon-line-color-active: var(--brand-charcoal);
  padding: 0;
}

.c-accordions__section-heading + .c-accordions__section-content {
  margin-top: 1rem;
}

.c-accordions__section-heading + .c-accordions__list {
  margin-top: 1.75rem;
}

.c-accordions__section-content + .c-accordions__list {
  margin-top: 2.4rem;
}

.c-accordion {
  --x-padding: 1.85rem;
  --y-padding: 1.5rem;
  display: block;
  position: relative;
  margin-top: 1rem;
  overflow: hidden;
  -webkit-transition: all 250ms ease;
  transition: all 250ms ease;
}

.has-open-accordion.c-accordion .c-accordion__toggle-button {
  --toggle-bg: var(--accordion-toggle-icon-bg-color-active);
  --icon-color: var(--accordion-toggle-icon-line-color-active);
}

.c-accordion__title {
  color: var(--accordion-title-color, var(--brand-blue));
  font-size: 1.65rem;
  font-weight: 700;
  padding-right: 0.5rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.c-accordion__content {
  background-color: var(--brand-grey);
  height: 0;
  overflow: hidden;
}

.has-open-accordion .c-accordion__content {
  height: auto;
}

.c-accordion__icon-wrapper {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 1.67rem 0 3.11rem;
}

.c-accordion__toggle {
  position: relative;
  background: var(--accordion-toggle-bg-color);
  padding: var(--y-padding) 0 var(--y-padding) var(--x-padding);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  text-align: left;
}

.c-accordion__toggle-button {
  position: relative;
}

.has-open-accordion .c-accordion__toggle,
.c-accordion__toggle:hover {
  --accordion-title-color: #fff;
  background-color: var(--accordion-toggle-bg-color-active, var(--brand-royal-blue));
}

.has-open-accordion.c-accordion .c-toggle-button__line--y {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.c-accordion__content {
  margin-top: 0;
  -webkit-transform: translateY(calc(var(--y-padding) / 2 * -1));
          transform: translateY(calc(var(--y-padding) / 2 * -1));
}

.c-accordion__inner {
  padding: var(--vertical-margin-base) var(--x-padding) var(--y-padding);
}

@media only screen and (max-width: 800px) {
  .c-accordions__section-content + .c-accordions__list {
    margin-top: 1.75rem;
  }
  .c-accordions__section-content {
    padding: 0;
  }
  .c-accordion {
    --x-padding: var(--grid-padding);
  }
  .c-accordion .c-button {
    width: 100%;
  }
  .c-accordion__icon-wrapper {
    padding: 0 0.63rem;
  }
}

.c-toggle-button {
  margin: 0;
  --icon-size: 1.1em;
  --toggle-size: 50px;
  --toggle-bg: var(--toggle-button-bg-color, var(--brand-blue));
  --toggle-bg-active: #fff;
  --icon-color: #fff;
  --icon-color-active: var(--brand-charcoal);
  position: relative;
  background: var(--toggle-bg, var(--brand-blue));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: var(--toggle-size, 54px);
  height: var(--toggle-size, 54px);
  inset: var(--toggle-inset);
  z-index: 200;
  -webkit-transition: all 250ms ease;
  transition: all 250ms ease;
}

.c-toggle-button__content {
  -webkit-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
}

.c-toggle-button:hover,
.c-toggle-button:focus {
  background: var(--toggle-bg-active, #fff);
}

.c-toggle-button__icon {
  color: var(--icon-color);
}

.c-toggle-button:hover .c-toggle-button__icon,
.c-toggle-button:focus .c-toggle-button__icon {
  color: var(--icon-color-active);
}

.c-toggle-button__tray {
  position: absolute;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  z-index: 100;
  -webkit-transition: all 250ms ease;
  transition: all 250ms ease;
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}

.c-toggle-button__icon {
  height: var(--icon-size);
}

.c-toggle-button__line {
  -webkit-transition: 250ms all ease;
  transition: 250ms all ease;
  -webkit-transform-origin: center;
          transform-origin: center;
}

.is-active-tooltip .c-toggle-button__line--y {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

@media only screen and (max-width: 800px) {
  .c-toggle-button {
    --icon-size: 0.75em;
    --toggle-size: 40px;
  }
}

.block-content {
  margin: 4.75rem 0;
}

.block-content .row:first-of-type.block-text-content, .block-content .row:first-of-type.image-text-block,
.block-content .row:first-of-type .block-text-content, .block-content .row:first-of-type .image-text-block,
.block-content .row:first-of-type .block-accordions {
  padding-top: 1rem;
}

.block-content .block-text {
  margin-top: 0;
  width: 100%;
}

.block-content .block-text-fullwidth {
  padding-left: 0.25rem;
  line-height: 35px;
  font-size: 1.5625rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-weight: 500;
}

.block-content .block-text-fullwidth .black-button-outline {
  font-size: 1rem;
}

.block-content .layout-block--text:first-child h3:first-child, .block-content .layout-block--text:first-child h4:first-child, .block-content .layout-block--text:first-child h5:first-child {
  margin-top: 0;
}

.block-content .block-text-content {
  padding: 2rem 0 1rem;
  overflow-wrap: break-word;
}

.block-content .block-text-content p:not(:first-child) {
  margin-top: 2.1rem;
}

.block-content .block-text-content h3 {
  margin-top: 2rem;
}

.block-content .block-text-content li {
  margin: 1rem 0;
}

.block-content .block-text-content li:last-of-type {
  margin-bottom: 0;
}

.block-content .block-text-content li li {
  list-style-type: circle;
}

.block-content .block-text-content li li::before {
  content: '';
  display: none;
}

.block-content .block-text-content blockquote {
  font-size: 20px;
  font-weight: bold;
  border-left: 7px solid #007AF8;
  padding-left: 1rem;
}

.block-content .block-text-content blockquote p {
  display: inline;
}

.block-content .block-buttons {
  padding: 1rem 0;
}

.block-content .block-buttons .block-buttons__button {
  margin-top: 0.75rem;
}

.block-content .layout-block--text + .layout-block--buttons .block-buttons {
  margin-top: -2rem;
  padding: 0 0 1rem;
}

.block-content .layout-block--text--grey {
  background-color: var(--brand-light);
  padding-top: 2rem;
  padding-right: 8.333%;
  padding-bottom: 4rem;
}

.block-content .layout-block--text--grey + .layout-block--text--grey {
  margin-top: -5.9rem;
  padding-top: 0;
}

.block-content .layout-block--text--grey + .layout-block--text--grey .block-text-content:has(h1:first-child, h2:first-child, h3:first-child, h4:first-child) {
  margin-top: 2.5rem;
}

.block-content .layout-block--text--white + .layout-block--text--white {
  margin-top: 0;
}

.block-content .layout-block--text--white + .layout-block--text--white .block-text-content {
  padding-top: 1.1rem;
}

.block-content .block-video {
  width: 100%;
}

.block-content .block-video .iframe-container {
  position: relative;
}

.block-content .block-video .iframe-container:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.block-content .block-video .iframe-container > :first-child {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.block-content .block-video .iframe-container iframe {
  width: 100%;
  height: 100%;
  vertical-align: top;
}

.block-content .block-video figure {
  width: 100%;
}

.block-content .block-video figure video {
  width: 100% !important;
  height: auto !important;
  display: block;
}

.block-content .full-width-image img {
  width: 100%;
  -webkit-transition: -webkit-box-shadow 0.25s ease, -webkit-transform 0.2s ease;
  transition: -webkit-box-shadow 0.25s ease, -webkit-transform 0.2s ease;
  transition: box-shadow 0.25s ease, transform 0.2s ease;
  transition: box-shadow 0.25s ease, transform 0.2s ease, -webkit-box-shadow 0.25s ease, -webkit-transform 0.2s ease;
}

.block-content .full-width-image--has-link {
  position: relative;
}

.block-content .full-width-image--has-link:hover img {
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
  -webkit-box-shadow: 0 0.5rem 1.5rem 2px rgba(0, 0, 0, 0.35);
          box-shadow: 0 0.5rem 1.5rem 2px rgba(0, 0, 0, 0.35);
}

.block-content .full-width-image__link {
  margin-top: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.block-content .image-text-block {
  padding-top: 2rem;
}

.block-content .image-text-block p {
  margin-top: 2rem;
}

.block-content h4 {
  font-weight: 500;
}

.block-content h3 + * {
  margin-top: 3rem !important;
}

.block-content h4 + * {
  margin-top: 1rem !important;
}

.block-content p, .block-content ul, .block-content ol {
  font-size: 18px;
  line-height: 1.5;
}

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

.block-content table tr:first-of-type {
  background-color: #007af8 !important;
  color: #fff;
}

.block-content table tr:not(:first-of-type) {
  border-bottom: 1px solid #808080;
}

.block-content table tr:last-of-type {
  border-bottom: none;
}

.block-content table tr:nth-child(odd) {
  background-color: #f7f7f7;
}

.block-content table td {
  padding: 0.75rem 1.25rem;
}

.block-content .custom-checkbox .input-bg {
  visibility: hidden;
}

.block-content figcaption {
  line-height: 1.5;
  text-align: right;
  margin-top: 0.75rem;
  font-size: 0.75rem;
  color: #1a1a1a;
  font-weight: 400;
}

.contact .block-content .block-text-fullwidth {
  margin-top: 1rem;
}

.layout-block--accordions {
  margin-top: 4rem;
}

@media screen and (max-width: 991px) {
  .block-content {
    margin: 4rem 0 1rem;
  }
  .block-content ul:not(.pagination):not(.no-list-style):not([class^="gfield"]):not([class^="gform_fields"]) {
    padding-left: 1.5rem;
  }
  .block-content ul:not(.pagination):not(.no-list-style):not([class^="gfield"]):not([class^="gform_fields"]) li::before {
    left: 0;
  }
  .block-content .image-text-block img {
    margin: 0;
    width: 100%;
    margin-top: 2rem;
  }
  .block-content .layout-block--text--grey {
    padding: 2rem 1.5rem 3rem;
    margin-left: -2rem;
    margin-right: -2rem;
  }
}

@media screen and (max-width: 768px) {
  .block-content {
    margin: 2rem 0 1rem;
  }
}

.page-banner {
  background: #007AF8;
  position: relative;
  margin: 0;
  padding-top: 3.125rem;
}

.page-banner.home-banner {
  padding-top: 3.125rem;
}

.page-banner .hidden {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  visibility: hidden;
  opacity: 0;
}

.page-banner .banner-cityscape {
  margin: 0;
  height: 9.375rem;
  width: 100%;
  position: relative;
}

.page-banner .banner-cityscape.line {
  background: url("../../img/ui-assets/city-line-title.svg") repeat-x center/contain;
}

.page-banner .banner-cityscape.silhouette {
  background: url("../../img/ui-assets/city-silhouette-title.svg") repeat-x bottom center/contain;
  position: relative;
}

.page-banner .banner-cityscape.silhouette::after {
  position: absolute;
  top: 99%;
  right: 0;
  bottom: 0;
  left: 0;
  background: #1a1a1a;
  content: '';
}

.page-banner .banner-cityscape .silhouette-inner-layer {
  background: url("../../img/ui-assets/city-silhouette-title.svg") repeat-x bottom center/contain;
  opacity: 0.4;
  position: absolute;
  top: 0.8rem;
  right: 0;
  bottom: -5rem;
  left: 0;
  height: 5rem;
}

.page-banner .banner-wrapper {
  margin-top: 0;
}

.page-banner .banner-wrapper .page-heading {
  padding: 4.375rem 0;
}

.page-banner .banner-wrapper .page-heading .h3 {
  color: #fff;
  margin-left: 0;
}

.page-banner .banner-wrapper .page-heading .h3::after {
  display: none;
}

.page-banner .banner-wrapper .page-heading .h3 .black-button-outline:hover, .page-banner .banner-wrapper .page-heading .h3 .black-button-outline:focus {
  background: #1a1a1a;
  border-color: #1a1a1a;
  color: #007AF8;
}

.page-banner .carousel {
  margin: 0;
  background: #1a1a1a;
  padding: 4rem 0 6rem;
  min-height: 500px;
}

.page-banner .carousel--blue {
  background: #007AF8;
}

.page-banner .carousel .slider .previous {
  position: absolute;
  top: 25%;
  bottom: 25%;
  left: 28px;
  color: #fff;
}

.page-banner .carousel .slider .next {
  position: absolute;
  top: 25%;
  right: 28px;
  bottom: 25%;
  color: #fff;
}

.page-banner .carousel .slider .previous,
.page-banner .carousel .slider .next {
  font-size: 1.5rem;
  z-index: 5;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
  padding: 1.50rem;
  border: 2px solid #fff;
  width: 42px;
  height: 42px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: auto 0;
  line-height: 0;
  opacity: 0.5;
}

.page-banner .carousel .slider .previous span,
.page-banner .carousel .slider .next span {
  line-height: 0;
}

.page-banner .carousel .slider .previous:hover, .page-banner .carousel .slider .previous:focus,
.page-banner .carousel .slider .next:hover,
.page-banner .carousel .slider .next:focus {
  opacity: 1;
}

.page-banner .carousel .slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.page-banner .carousel .slide .image-holder {
  overflow: hidden;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.page-banner .carousel .slide figcaption {
  font-size: 2.25rem;
  color: #fff;
  line-height: 1.4;
}

.page-banner .carousel .slide figcaption i, .page-banner .carousel .slide figcaption em, .page-banner .carousel .slide figcaption strong, .page-banner .carousel .slide figcaption b {
  color: #eee047;
}

.page-banner .carousel .slide .image-holder__content {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.page-banner .carousel .slide .image-holder__btn {
  margin-top: 1rem;
  padding: 0.4rem 1.25rem;
}

.page-banner .cta-boxes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100%;
  position: relative;
}

.page-banner .cta-boxes .cta-box {
  width: 50%;
  text-align: center;
  padding: 1.35rem 0;
  color: #fff;
  font-size: 1.25rem;
  text-decoration: none;
  border: 5px solid #007AF8;
}

.page-banner .cta-boxes .cta-box:hover {
  -webkit-filter: brightness(115%);
          filter: brightness(115%);
}

.page-banner .cta-boxes .cta-box:first-of-type {
  padding-left: calc((100vw - 1270px) / 2 + 1px);
  color: #000;
  background-color: #eee047;
  border-color: #eee047;
}

.page-banner .cta-boxes .cta-box:first-of-type .link {
  color: #000;
}

.page-banner .cta-boxes .cta-box.second {
  padding-right: calc((100vw - 1270px) / 2 + 1px);
  background-color: #007AF8;
}

.page-banner .cta-boxes .cta-box.second .cta-box__link {
  color: #fff;
}

.page-banner .cta-boxes .cta-box.third {
  width: 100%;
  padding: 1.35rem 2rem;
  background-color: #e9e9e9;
  border-color: #e9e9e9;
  color: #000;
}

.page-banner .cta-boxes .cta-box.third .cta-box__link {
  color: #000;
}

.page-banner .cta-boxes .cta-box .cta-box__links a {
  text-decoration: none;
}

.page-banner .cta-boxes .cta-box .cta-box__links a:hover .cta-box__link {
  color: #000;
}

.page-banner .cta-boxes .cta-box .cta-box__links a:hover .cta-box__link u {
  text-decoration: none;
}

.page-banner .cta-boxes .cta-box .link {
  color: #fff;
  text-decoration: underline;
  padding-left: 1rem;
}

.page-banner .cta-boxes .cta-box .cta-box__linked-text {
  text-decoration: none !important;
}

.page-banner .cta-boxes .cta-box .cta-box__link {
  color: #000;
  white-space: nowrap;
  margin: 0 1rem;
}

.page-banner .cta-boxes .cta-box .cta-box__link .fa-angle-right {
  margin-left: 0.75rem;
}

.page-banner .cta-boxes .cta-box.full-width {
  width: 100% !important;
  padding-left: unset;
}

@media only screen and (max-width: 1279px) {
  .page-banner .cta-boxes .cta-box {
    font-size: 1.125rem;
  }
  .page-banner .cta-boxes .cta-box:first-of-type::before {
    width: 100%;
  }
}

@media only screen and (max-width: 991px) {
  .page-banner .cta-container {
    padding: 0;
  }
  .page-banner .cta-boxes {
    max-height: unset;
  }
  .page-banner .cta-boxes .cta-box {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) {
  .page-banner .banner-cityscape.line, .page-banner .banner-cityscape.silhouette {
    background-size: cover;
  }
  .page-banner .banner-wrapper .page-heading h3 {
    font-size: 2rem;
  }
  .page-banner .carousel .slide .image-holder img {
    max-width: 250px;
    margin: 0 auto;
    text-align: center;
    display: block;
    padding: 0 2.5rem;
  }
  .page-banner .carousel .slide figcaption p {
    text-align: center;
    padding: 0 2.5rem;
    margin-top: 2.5rem;
    font-size: 2rem;
  }
  .page-banner .carousel .slide .image-holder__content {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .page-banner .carousel .slider .previous {
    position: absolute;
    top: 25%;
    bottom: 25%;
    left: 12px;
  }
  .page-banner .carousel .slider .next {
    position: absolute;
    top: 25%;
    right: 12px;
    bottom: 25%;
  }
  .page-banner .carousel .slider .previous,
  .page-banner .carousel .slider .next {
    font-size: 1.25rem;
    padding: 1.25rem;
    width: 25px;
    height: 25px;
  }
  .page-banner .cta-boxes .cta-box:first-of-type {
    padding: 1.35rem 0.5rem;
  }
}

.steps-section {
  margin: 5rem 0;
  overflow: hidden;
}

.steps-section .step-item {
  margin: 3.875rem calc(8.33333%);
  position: relative;
  min-height: 100%;
}

.steps-section .step-item::after {
  height: 2px;
  content: '';
  background: #ccc;
  margin: 0 auto;
  position: absolute;
  right: -50%;
  bottom: -3.875rem;
  left: -50%;
}

.steps-section .step-item:nth-of-type(3n-1) .step-content::before, .steps-section .step-item:nth-of-type(3n-1) .step-content::after {
  height: 100%;
  width: 2px;
  content: '';
  background: #ccc;
}

.steps-section .step-item:nth-of-type(3n-1) .step-content::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -50%;
}

.steps-section .step-item:nth-of-type(3n-1) .step-content::after {
  position: absolute;
  top: 0;
  right: -50%;
  bottom: 0;
}

.steps-section .step-item:nth-last-child(-n+3)::after {
  display: none;
}

.steps-section .step-item .step-content {
  margin: -1rem;
  margin-top: 0;
  margin-bottom: 0;
  min-height: 100%;
}

.steps-section .step-item .step-content img {
  width: 100%;
  height: auto;
  display: block;
}

.steps-section .step-item .step-content .step-number {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.875rem;
}

.steps-section .step-item .step-content h4 {
  color: #e92a0e;
  margin-top: 0;
}

.radon .image-text-block img {
  max-height: 13em;
}

.radon .block-text-content h4:first-of-type {
  margin-top: 0;
}

@media only screen and (max-width: 768px) {
  .steps-section .step-item:nth-of-type(3n-1) .step-content::before, .steps-section .step-item:nth-of-type(3n-1) .step-content::after {
    display: none;
  }
  .steps-section .step-item:nth-of-type(odd) .step-content::after {
    position: absolute;
    top: 0;
    right: -25%;
    bottom: 0;
    display: block;
    height: 100%;
    width: 2px;
    content: '';
    background: #ccc;
  }
  .steps-section .step-item:nth-last-child(-n+3)::after {
    display: block;
  }
  .steps-section .step-item:nth-last-child(-n+2)::after {
    display: none;
  }
}

@media only screen and (max-width: 575px) {
  .steps-section .step-item:nth-last-child(-n+3)::after {
    display: block;
  }
  .steps-section .step-item:nth-last-child(-n+1)::after {
    display: none;
  }
  .steps-section .step-item .step-content {
    padding: 0 5rem;
  }
  .steps-section .step-item .step-content img {
    margin: 0 auto;
    max-width: 300px;
  }
}

.results-section {
  padding: 5.625rem 0;
  overflow: hidden;
  background: #e9e9e9;
}

.results-section .results-intro {
  margin: 4rem 0;
}

.results-section .results-intro .intro-text .red {
  color: #e92a0e;
}

.results-section .results-intro .intro-graph {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.results-section .results-intro .intro-graph .graph-title, .results-section .results-intro .intro-graph .graph-label {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
}

.results-section .results-intro .intro-graph .graph-title {
  text-transform: uppercase;
}

.results-section .results-intro .intro-graph .graph {
  width: calc(100% + 1rem);
  height: 36px;
  position: relative;
  background: -webkit-gradient(linear, left top, right top, from(#007AF8), color-stop(50%, #e92a0e));
  background: linear-gradient(to right, #007AF8, #e92a0e 50%);
}

.results-section .results-intro .intro-graph .graph::before, .results-section .results-intro .intro-graph .graph::after {
  content: '';
  width: 2rem;
  height: 36px;
  border-top: 18px solid transparent;
  border-left: 18px solid transparent;
  border-right: 18px solid #e9e9e9;
  border-bottom: 18px solid transparent;
}

.results-section .results-intro .intro-graph .graph::after {
  position: absolute;
  top: -18px;
  right: 0;
  bottom: 0;
}

.results-section .results-intro .intro-graph .graph::before {
  position: absolute;
  top: 18px;
  right: 0;
  bottom: 0;
}

.results-section .results-intro .intro-graph .graph .graph-label {
  margin: 0;
  padding: 1rem 0.1rem 0;
  width: 90px;
  text-align: center;
}

.results-section .results-intro .intro-graph .graph .graph-label::before {
  position: absolute;
  top: -60px;
  right: 0;
  left: 0;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff), color-stop(50%, #a19d9d));
  background: linear-gradient(to bottom, #fff 50%, #a19d9d 50%);
  margin: 0 auto;
  content: '';
  width: 2px;
  height: 72px;
}

.results-section .results-intro .intro-graph .graph .graph-label.safe-threshold {
  position: absolute;
  top: 60px;
  bottom: 0;
  left: -45px;
}

.results-section .results-intro .intro-graph .graph .graph-label.safe-threshold::before {
  background: #a19d9d;
}

.results-section .results-intro .intro-graph .graph .graph-label.dangerous-threshold {
  position: absolute;
  top: 60px;
  right: calc(50% - 2rem);
  bottom: 0;
}

.results-section .results-cards .result-safe, .results-section .results-cards .result-dangerous {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}

.results-section .results-cards .result-safe a, .results-section .results-cards .result-dangerous a {
  text-decoration: none;
  border-width: 2px;
  -ms-flex-item-align: end;
      align-self: flex-end;
  padding: 0.7rem 1.3rem;
}

.results-section .results-cards .result-safe h4 {
  color: #007AF8;
}

.results-section .results-cards .result-dangerous h4 {
  color: #e92a0e;
}

.results-section .results-cards .result-dangerous a {
  border-color: #e92a0e;
  color: #e92a0e;
}

.results-section .results-cards .result-dangerous a:hover, .results-section .results-cards .result-dangerous a:focus {
  background: #e92a0e;
  color: #fff;
}

@media only screen and (max-width: 768px) {
  .results-section .results-intro .intro-graph .graph {
    width: calc(100% - 1rem);
  }
  .results-section .results-intro .intro-graph .graph .graph-label.safe-threshold {
    position: absolute;
    top: 60px;
    bottom: 0;
    left: 0;
    text-align: left;
  }
  .results-section .results-intro .intro-graph .graph .graph-label.safe-threshold::before {
    position: absolute;
    top: -60px;
    left: 0;
    margin: 0;
  }
  .results-section .results-cards .result-safe {
    margin-bottom: 4rem;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Jhc2UtdGhlbWUvYXNzZXRzL3Njc3MvdXRpbGl0aWVzL19taXhpbnMuc2NzcyIsInBhZ2UtdGVtcGxhdGVzL3BhZ2UtdGVzdGluZy5jc3MiLCIuLi8uLi8uLi9iYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy9fZXh0ZW5zaW9ucy5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX2FyY2hpdmUtbmV3cy5zY3NzIiwiX2xheW91dC1ibG9jay1wZW9wbGUtZ3JpZC5zY3NzIiwiX2FjY29yZGlvbi5zY3NzIiwiX3RvZ2dsZS1idXR0b24uc2NzcyIsIl9ibG9jay1jb250ZW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9jb3JlL2JvdXJib24vbGlicmFyeS9fcG9zaXRpb24uc2NzcyIsIl9wYWdlLWJhbm5lci5zY3NzIiwiX3BhZ2UtcmFkb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7c0JDRXNCO0FERXRCOzs7Ozs7WUNLWTtBRGtCWjs7Ozs7WUNaWTtBRHVCWjs7c0JDcEJzQjtBRHdCdEI7OztZQ3BCWTtBRDhCWjs7OztZQ3pCWTtBRHdDWjs7Ozs7WUNsQ1k7QUQ2Q1o7Ozs7O1lDdkNZO0FEa0RaOzs7WUM5Q1k7QUQwRFo7OztZQ3REWTtBQy9DWjs7Ozs4RURvRDhFO0FDOUM5RTs7d0NEaUR3QztBQzdDeEM7O1lEZ0RZO0FDbEJaOztZRHFCWTtBQ0VaOztZRENZO0FDb0RaOztZRGpEWTtBQ2tFWjs7WUQvRFk7QUNpR1o7O1lEOUZZO0FDK0daOztZRDVHWTtBQ3VIWjs7d0NEcEh3QztBQ3dIeEM7O1lEckhZO0FDcUlaOztZRGxJWTtBQytMWjs7WUQ1TFk7QUNrTlo7O1lEL01ZO0FDb1FaOztZRGpRWTtBQzBWWjs7WUR2Vlk7QUNtV1o7O1lEaFdZO0FDNmFaOztZRDFhWTtBRXZHWjs7c0JGMEdzQjtBRXRHdEI7O1lGeUdZO0FFakdaOztZRm9HWTtBRW5FWjs7WUZzRVk7QUVyRFo7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QztJRHBPekMsV0NvT2tEO0lEcE9sRCxVQ29PdUQ7RVQ0dEIzRDtFUzEvQkY7SURzREUsa0JDMk93QztJRHZPcEMsUUN1T3lDO0lEdk96QyxXQ3VPOEM7SUR2TzlDLFdDdU9rRDtFVCt0QnREO0VTaGdDRjs7SUFxU2dCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLFlBQVk7RVQrdEIxQjtFU3ZnQ0Y7SUE2U1EsdUJBQXVCO0VUNnRCN0I7QUFDRjs7QVV6Z0NBO0VBQ0ksY0FBYztFQUNkLGdCQUFnQjtBVjRnQ3BCOztBVTlnQ0E7RUFLUSwrQkFBK0I7RUFDL0Isa0JBQWtCO0VBQ2xCLGdCQUFnQjtBVjZnQ3hCOztBVXBoQ0E7RUFVWSxXQUFXO0VBQ1gsV0FBVztFQUNYLGdCQUFnQjtFQUNoQixjQUFjO0VGdUN4QixrQkV0Q29DO0VGMENoQyxXRTFDMkM7RUYwQzNDLGlCRTFDcUQ7RUYwQ3JELFVFMUMwRDtBVmloQ2hFOztBVS9oQ0E7RUFtQm9CLFlBQVk7RUFDWixVQUFVO0VBQ1YsV0FBVztFQUNYLGdCQUFnQjtBVmdoQ3BDOztBVXRpQ0E7RUZvREUsa0JFM0I0QztFRitCeEMsTUUvQjJDO0VGK0IzQyxTRS9Ca0Q7RUYrQmxELFVFL0J1RDtBVm9oQzdEOztBVTdpQ0E7RUZvREUsa0JFeEI0QztFRjRCeEMsTUU1QjJDO0VGNEIzQyxXRTVCZ0Q7RUY0QmhELFNFNUJrRDtBVndoQ3hEOztBVXBqQ0E7RUFrQ2dCLGFBQWE7QVZzaEM3Qjs7QVV4akNBO0VBc0NZLGFBQTRCO0VBQzVCLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0FWc2hDNUI7O0FVL2pDQTtFQTRDZ0IsV0FBVztFQUNYLFlBQVk7RUFDWixjQUFjO0FWdWhDOUI7O0FVcmtDQTtFQWlEZ0IseUJBQXlCO0VBQ3pCLGdCUnNDSDtFUXJDRyxtQlhpQ29DO0FDdS9CcEQ7O0FVM2tDQTtFQXNEZ0IsY1J0Q2U7RVF1Q2YsYUFBYTtBVnloQzdCOztBVXBoQ0E7RUFHWSxnQkFBZ0I7QVZxaEM1Qjs7QVV4aENBO0VBUVksYUFBYTtBVm9oQ3pCOztBVS9nQ0E7RUF6RUE7SUFpRndCLGFBQWE7RVY0Z0NuQztFVW5oQ0U7SUZ0QkYsa0JFb0NnRDtJRmhDNUMsTUVnQytDO0lGaEMvQyxXRWdDb0Q7SUZoQ3BELFNFZ0NzRDtJQUNwQyxjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixXQUFXO0lBQ1gsZ0JBQWdCO0VWMmdDdEM7RVV4bUNGO0lBbUdvQixjQUFjO0VWd2dDaEM7RVVqaUNFO0lBOEJnQixhQUFhO0VWc2dDL0I7QUFDRjs7QVVoZ0NBO0VBL0dBO0lBb0hvQixjQUFjO0VWZ2dDaEM7RVVwZ0NFO0lBU2dCLGFBQWE7RVY4L0IvQjtFVXZuQ0Y7SUE2SGdCLGVBQWU7RVY2L0I3QjtFVTFuQ0Y7SUFnSW9CLGNBQWM7SUFDZCxnQkFBZ0I7RVY2L0JsQztBQUNGOztBVXQvQkE7RUFDSSxtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLG1CUmpIYztBRjBtQ2xCOztBVTUvQkE7RUFNUSxjQUFjO0FWMC9CdEI7O0FVaGdDQTtFQVNZLGNSbEltQjtBRjZuQy9COztBVXBnQ0E7RUFZWSxnQkFBZ0I7RUFDaEIsbUJBQW1CO0FWNC9CL0I7O0FVemdDQTtFQWdCZ0IsbUJBQW1CO0VBQ25CLGdCUmxFSDtFUW1FRyxzQkFBc0I7QVY2L0J0Qzs7QVUvZ0NBO0VBcUJnQix5QkFBeUI7QVY4L0J6Qzs7QVVuaENBO0VBd0JnQix3QkFBeUM7RUFDekMsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixrR0FJQztFQUpELDJEQUlDO0FWMi9CakI7O0FVMWhDQTtFQWtDb0IsV0FBVztFQUNYLFdBQTZCO0VBQzdCLFlBQVk7RUFFWixrQ0FBb0M7RUFDcEMsbUNBQXFDO0VBQ3JDLGdDUnRKRjtFUXVKRSxxQ0FBdUM7QVYyL0IzRDs7QVVwaUNBO0VGckZFLGtCRWlJNEM7RUY3SHhDLFVFNkgrQztFRjdIL0MsUUU2SGlEO0VGN0hqRCxTRTZIbUQ7QVYrL0J6RDs7QVUzaUNBO0VGckZFLGtCRW9JNEM7RUZoSXhDLFNFZ0k4QztFRmhJOUMsUUVnSWdEO0VGaEloRCxTRWdJa0Q7QVZtZ0N4RDs7QVVsakNBO0VBa0RvQixTQUFTO0VBQ1Qsc0JBQXNCO0VBQ3RCLFdBQVc7RUFDWCxrQkFBa0I7QVZvZ0N0Qzs7QVV6akNBO0VGckZFLGtCRTZJZ0Q7RUZ6STVDLFVFeUltRDtFRnpJbkQsUUV5SXFEO0VGeklyRCxPRXlJNEQ7RUFDMUMsNEdBSUM7RUFKRCw2REFJQztFQUNELGNBQWM7RUFDZCxXQUFXO0VBQ1gsVUFBVTtFQUNWLFlBQVk7QVZvZ0NwQzs7QVVya0NBO0VGckZFLGtCRXlKZ0Q7RUZySjVDLFNFcUprRDtFRnJKbEQsU0VxSnlEO0VGckp6RCxXRXFKK0Q7QVZ3Z0NyRTs7QVU1a0NBO0VBdUU0QixtQkFBbUI7QVZ5Z0MvQzs7QVVobENBO0VGckZFLGtCRWdLZ0Q7RUY1SjVDLFNFNEprRDtFRjVKbEQsdUJFNEowRjtFRjVKMUYsU0U0SjRGO0FWNGdDbEc7O0FVdmxDQTtFQW1GWSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDhCQUFtQjtFQUFuQiw2QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG1CQUFtQjtBVndnQy9COztBVTVsQ0E7RUF1RmdCLHFCQUFxQjtFQUNyQixpQkFBaUI7RUFDakIsd0JBQW9CO01BQXBCLG9CQUFvQjtFQUNwQixzQkFBc0I7QVZ5Z0N0Qzs7QVVubUNBO0VBK0ZnQixjUjFOZTtBRmt1Qy9COztBVXZtQ0E7RUFvR2dCLGNSN05lO0FGb3VDL0I7O0FVM21DQTtFQXVHZ0IscUJSaE9lO0VRaU9mLGNSak9lO0FGeXVDL0I7O0FVaG5DQTtFQTJHb0IsbUJScE9XO0VRcU9YLFdBQVc7QVZ5Z0MvQjs7QVVsZ0NBO0VBbkhBO0lBcUhRLHdCQUF5QztFVnFnQy9DO0VVMW5DRjtJRnJGRSxrQkU2TW9DO0lGek1oQyxTRXlNc0M7SUZ6TXRDLFNFeU02QztJRnpNN0MsT0V5TStDO0lBQ3pDLGdCQUFnQjtFVndnQzFCO0VVam9DRjtJRnJGRSxrQkVpTndDO0lGN01wQyxVRTZNMkM7SUY3TTNDLE9FNk11RDtJQUM3QyxTQUFTO0VWMGdDdkI7RVV0Z0NFO0lBQ0ksbUJBQW1CO0VWd2dDekI7QUFDRiIsImZpbGUiOiJwYWdlLXRlbXBsYXRlcy9wYWdlLXRlc3RpbmcuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBNaXhpbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS1cbiBAIE1haW50YWluIEFzcGVjdCBSYXRpb1xuXHQtICoqKiByZXF1aXJlcyB0aGF0IHRoZSBlbGVtZW50IGhhcyBhbiBpbm5lciBjb250YWluZXIgZWxlbWVudCBpZiB0aGVyZSBpcyBpbm5lciBjb250ZW50XG5cdC0gJHggPT4geCBwb3J0aW9uIG9mIHJhdGlvXG5cdC0gJHkgPT4geSBwb3J0aW9uIG9mIHJhdGlvXG4gICAgLSAkYyA9PiBzZXQgdG8gJ2ZhbHNlJyB0byBza2lwIDpmaXJzdC1jaGlsZCBzdHlsaW5nXG4tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHg6IDEsICR5OiAxLCAkYzogdHJ1ZSkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoJHkgLyAkeCk7XG5cdH1cblx0QGlmICgkYyA9PSB0cnVlKSB7XG5cdFx0JiA+IDpmaXJzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG5cdFx0fVxuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIEJhY2tncm91bmQgSW1hZ2Vcblx0LSBTaG9ydGN1dCBmb3IgbGlua2luZyBpbWFnZXMgaW4gdGhlIGNvbmZpZ3VyZWQgaW1hZ2VzIGZvbGRlclxuXHQtICRpID0+IGltYWdlIGZpbGUgbmFtZSAocmVsYXRpdmUgdG8gaW1hZ2VzIGZvbGRlcilcblx0LSAkcmVzdCA9PiBhbnkgYWRkaXRpb25hbCAnYmFja2dyb3VuZCcgcHJvcGVydHkgc2hvcnRjdXQgZGVjbGFyYXRpb25zIChpZTogbm8tcmVwZWF0KVxuLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gYmctaW1hZ2UoJGksICRyZXN0Li4uKSB7XG5cdGJhY2tncm91bmQ6IHVybChcIiN7JGltYWdlcy1mb2xkZXJ9LyN7JGl9XCIpICRyZXN0O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIEZ1bmN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3IgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkdGhlbWUtY29sb3JzIG1hcFxuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gY29sb3ItZ2V0KCRrZXlzKSB7XG5cdCRjb2xvcjogbWFwLWRlZXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXlzKTtcblx0QHJldHVybiAkY29sb3I7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIEJyZWFrcG9pbnQgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkZ3JpZC1icmVha3BvaW50cyBtYXBcbiBcdC0gJHR5cGUgPT4gJ21heCcgfCAnbWluJywgZGVwZW5kaW5nIG9uIG1lZGlhIHF1ZXJ5IHR5cGVcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0KCR0eXBlLCAka2V5cykge1xuXHQkYnJlYWtwb2ludDogbWFwLWRlZXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAka2V5cyk7XG5cdEBpZiAoJHR5cGUgPT0gJ21heCcpe1xuXHRcdEByZXR1cm4gJGJyZWFrcG9pbnQgLSAxO1xuXHR9IEBlbHNlIHtcblx0XHRAcmV0dXJuICRicmVha3BvaW50O1xuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIEVtc1xuXHQtIGNvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuXHQtICRwID0+IHBpeGVsIHZhbHVlXG5cdC0gJGIgPT4gYmFzZSBzaXplICh0byB1c2UgaW4gZm9ybXVsYSkgLSBkZWZhdWx0cyB0byAkZm9udC1zaXplcyByb290IHZhcmlhYmxlXG4tLS0tLS0tLS0tICovXG5cbkBmdW5jdGlvbiBlbXMoJHAsICRiOiBtYXAtZ2V0KCRmb250LXNpemVzLCByb290KSkge1xuXHRAcmV0dXJuIChzdHJpcC11bml0KCRwKSAvIHN0cmlwLXVuaXQoJGIpKSArIDBlbTtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgUmVtc1xuXHQtIGNvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcblx0LSAkcCA9PiBwaXhlbCB2YWx1ZVxuXHQtICRiID0+IGJhc2Ugc2l6ZSAodG8gdXNlIGluIGZvcm11bGEpIC0gZGVmYXVsdHMgdG8gJGZvbnQtc2l6ZXMgcm9vdCB2YXJpYWJsZVxuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gcmVtcygkcCwgJGI6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsIHJvb3QpKSB7XG4gICAgQHJldHVybiAoc3RyaXAtdW5pdCgkcCkgLyBzdHJpcC11bml0KCRiKSkgKyAwcmVtO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBNYXAgRGVlcCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gbmVzdGVkIG1hcHNcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIG1hcC1kZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuXHRAZWFjaCAka2V5IGluICRrZXlzIHtcblx0XHQkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuXHR9XG5cdEByZXR1cm4gJG1hcDtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgV2VpZ2h0IEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJGZvbnQtd2VpZ2h0cyBtYXBcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIHdlaWdodC1nZXQoJGtleXMpIHtcblx0JHdlaWdodDogbWFwLWRlZXAtZ2V0KCRmb250LXdlaWdodHMsICRrZXlzKTtcblx0QHJldHVybiAkd2VpZ2h0O1xufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgTWl4aW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgTWFpbnRhaW4gQXNwZWN0IFJhdGlvXG5cdC0gKioqIHJlcXVpcmVzIHRoYXQgdGhlIGVsZW1lbnQgaGFzIGFuIGlubmVyIGNvbnRhaW5lciBlbGVtZW50IGlmIHRoZXJlIGlzIGlubmVyIGNvbnRlbnRcblx0LSAkeCA9PiB4IHBvcnRpb24gb2YgcmF0aW9cblx0LSAkeSA9PiB5IHBvcnRpb24gb2YgcmF0aW9cbiAgICAtICRjID0+IHNldCB0byAnZmFsc2UnIHRvIHNraXAgOmZpcnN0LWNoaWxkIHN0eWxpbmdcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEJhY2tncm91bmQgSW1hZ2Vcblx0LSBTaG9ydGN1dCBmb3IgbGlua2luZyBpbWFnZXMgaW4gdGhlIGNvbmZpZ3VyZWQgaW1hZ2VzIGZvbGRlclxuXHQtICRpID0+IGltYWdlIGZpbGUgbmFtZSAocmVsYXRpdmUgdG8gaW1hZ2VzIGZvbGRlcilcblx0LSAkcmVzdCA9PiBhbnkgYWRkaXRpb25hbCAnYmFja2dyb3VuZCcgcHJvcGVydHkgc2hvcnRjdXQgZGVjbGFyYXRpb25zIChpZTogbm8tcmVwZWF0KVxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBGdW5jdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvciBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICR0aGVtZS1jb2xvcnMgbWFwXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBCcmVha3BvaW50IEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJGdyaWQtYnJlYWtwb2ludHMgbWFwXG4gXHQtICR0eXBlID0+ICdtYXgnIHwgJ21pbicsIGRlcGVuZGluZyBvbiBtZWRpYSBxdWVyeSB0eXBlXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBFbXNcblx0LSBjb252ZXJ0IHBpeGVscyB0byBlbXNcblx0LSAkcCA9PiBwaXhlbCB2YWx1ZVxuXHQtICRiID0+IGJhc2Ugc2l6ZSAodG8gdXNlIGluIGZvcm11bGEpIC0gZGVmYXVsdHMgdG8gJGZvbnQtc2l6ZXMgcm9vdCB2YXJpYWJsZVxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgUmVtc1xuXHQtIGNvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcblx0LSAkcCA9PiBwaXhlbCB2YWx1ZVxuXHQtICRiID0+IGJhc2Ugc2l6ZSAodG8gdXNlIGluIGZvcm11bGEpIC0gZGVmYXVsdHMgdG8gJGZvbnQtc2l6ZXMgcm9vdCB2YXJpYWJsZVxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgTWFwIERlZXAgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIG5lc3RlZCBtYXBzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBXZWlnaHQgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkZm9udC13ZWlnaHRzIG1hcFxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gQEBAIEdsb2JhbCBFeHRlbnNpb25zXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgR2VuZXJpYyBTdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBEaXNwbGF5XG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBQb3NpdGlvbmluZ1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgTGF5b3V0XG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvcnNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIE92ZXJmbG93XG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBNaXNjIFZpc3VhbHNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgQ29tcG9uZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFBhZ2luYXRpb25cbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFNsaWRlcnNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFRleHQgRmllbGRzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBEcm9wZG93bnNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIENoZWNrYm94ZXNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFJhZGlvIEJ1dHRvbnNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIERpYWxvZ3Ncbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFRvb2x0aXBzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIFByb2plY3QgU3BlY2lmaWMgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgT3B0aW9uc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3JzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBMYXlvdXRcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIE1pc2Ncbi0tLS0tLS0tLS0gKi9cbiNuZXdzIHtcbiAgbWFyZ2luOiA2Ljc1cmVtIDA7XG59XG5cbiNuZXdzIC5uby1yZXN1bHRzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogNHJlbSAwIDJyZW07XG59XG5cbiNuZXdzIC5uby1yZXN1bHRzOjpiZWZvcmUsICNuZXdzIC5uby1yZXN1bHRzOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTUwLCAxNTAsIDE1MCwgMC4yNSk7XG59XG5cbiNuZXdzIC5uby1yZXN1bHRzIC5uby1yZXN1bHRzLXRleHQge1xuICBvcGFjaXR5OiAwLjM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDVyZW07XG4gIGZvbnQtZmFtaWx5OiBhem8tc2Fucy13ZWIsIFwiQXZlbmlyXCIsIFwiVHcgQ2VuIE1UXCIsIFwiSGVsdmV0aWNhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIuNXJlbTtcbn1cblxuI25ld3MgLmNhcmQgLmNhcmQtY29udGVudCBwIHtcbiAgbWFyZ2luOiAwLjVyZW0gMDtcbn1cblxuI25ld3MgLnBhZ2luYXRpb24tYXJlYSB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgI25ld3MgLmNhcmQge1xuICAgIHBhZGRpbmc6IDEuNzVyZW07XG4gIH1cbiAgI25ld3MgLmNhcmQgLmNhcmQtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gICNuZXdzIC5jYXJkIC5mYS1jaGV2cm9uLWNpcmNsZS1yaWdodCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICNuZXdzIC5jYXJkLWNvbnRlbnQsICNuZXdzIC5jYXJkLWltYWdlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gICNuZXdzIC5uZXdzLXBvc3Rpbmcge1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI25ld3MgLmNhcmQgLmNhcmQtYm90dG9tIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAjbmV3cyB7XG4gICAgbWFyZ2luOiA0cmVtIDA7XG4gIH1cbiAgI25ld3MgZGl2LmNhcmQge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gIH1cbiAgI25ld3MgZGl2LmNhcmQgLmNhcmQtaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ubC1wZW9wbGUtZ3JpZCB7XG4gIHdpZHRoOiAxMDB2dztcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgcGFkZGluZzogM3JlbSAwIDYuNXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmwtcGVvcGxlLWdyaWQgaDMge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmwtcGVvcGxlLWdyaWQgKyAubC1wZW9wbGUtZ3JpZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5sLXBlb3BsZS1ncmlkLS1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN0FGODtcbn1cblxuLmwtcGVvcGxlLWdyaWQtLWJsdWUgaDMge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmwtcGVvcGxlLWdyaWQtLWdyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllOWU5O1xufVxuXG4ubC1wZW9wbGUtZ3JpZC0tbW9sZWN1bGVzIHtcbiAgYmFja2dyb3VuZDogI2U5ZTllOSB1cmwoXCIuLi9pbWcvdWktYXNzZXRzL3JhZG9uLWNoZW1pY2FsLXN0cnVjdHVyZS10aWxlLnN2Z1wiKSByZXBlYXQgY2VudGVyLzcwMHB4IGF1dG87XG59XG5cbi5sLXBlb3BsZS1ncmlkLS1yYWRpYXRpb24ge1xuICBiYWNrZ3JvdW5kOiAjZTllOWU5IHVybChcIi4uL2ltZy91aS1hc3NldHMvbnVjbGVhci1iYWNrZ3JvdW5kLXRpbGUuc3ZnXCIpIHJlcGVhdCBjZW50ZXIvNzAwcHggYXV0bztcbn1cblxuLmwtcGVvcGxlLWdyaWRfX3N0YWZmLmwtcGVvcGxlLWdyaWRfX3N0YWZmIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAubGF5b3V0LWJsb2NrLS1wZW9wbGUtZ3JpZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoKCgxMzQ0cHggLSAxMDAlIC0gMy4yNXJlbSkgKyAoKDEwMHZ3IC0gMTM0NHB4KSAvIDIpICsgMS43NXJlbSkgKiAtMSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCgoMTAwdncgLSAxMzQ0cHgpIC8gMiArIDJyZW0pICogLTEpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM0NHB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmxheW91dC1ibG9jay0tcGVvcGxlLWdyaWQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCgxMDB2dyAtIDEwMCUgLSAycmVtKSAqIC0xKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5sYXlvdXQtYmxvY2stLXBlb3BsZS1ncmlkIHtcbiAgICBtYXJnaW4tbGVmdDogLTIuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMC43NXJlbSk7XG4gIH1cbn1cblxuLmMtYWNjb3JkaW9ucyB7XG4gIC0tYWNjb3JkaW9uLXRvZ2dsZS1iZy1jb2xvcjogdmFyKC0tYnJhbmQtZ3JleSk7XG4gIC0tYWNjb3JkaW9uLXRvZ2dsZS1pY29uLWJnLWNvbG9yLWFjdGl2ZTogI2ZmZjtcbiAgLS1hY2NvcmRpb24tdG9nZ2xlLWljb24tbGluZS1jb2xvci1hY3RpdmU6IHZhcigtLWJyYW5kLWNoYXJjb2FsKTtcbiAgcGFkZGluZzogMDtcbn1cblxuLmMtYWNjb3JkaW9uc19fc2VjdGlvbi1oZWFkaW5nICsgLmMtYWNjb3JkaW9uc19fc2VjdGlvbi1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmMtYWNjb3JkaW9uc19fc2VjdGlvbi1oZWFkaW5nICsgLmMtYWNjb3JkaW9uc19fbGlzdCB7XG4gIG1hcmdpbi10b3A6IDEuNzVyZW07XG59XG5cbi5jLWFjY29yZGlvbnNfX3NlY3Rpb24tY29udGVudCArIC5jLWFjY29yZGlvbnNfX2xpc3Qge1xuICBtYXJnaW4tdG9wOiAyLjRyZW07XG59XG5cbi5jLWFjY29yZGlvbiB7XG4gIC0teC1wYWRkaW5nOiAxLjg1cmVtO1xuICAtLXktcGFkZGluZzogMS41cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbn1cblxuLmhhcy1vcGVuLWFjY29yZGlvbi5jLWFjY29yZGlvbiAuYy1hY2NvcmRpb25fX3RvZ2dsZS1idXR0b24ge1xuICAtLXRvZ2dsZS1iZzogdmFyKC0tYWNjb3JkaW9uLXRvZ2dsZS1pY29uLWJnLWNvbG9yLWFjdGl2ZSk7XG4gIC0taWNvbi1jb2xvcjogdmFyKC0tYWNjb3JkaW9uLXRvZ2dsZS1pY29uLWxpbmUtY29sb3ItYWN0aXZlKTtcbn1cblxuLmMtYWNjb3JkaW9uX190aXRsZSB7XG4gIGNvbG9yOiB2YXIoLS1hY2NvcmRpb24tdGl0bGUtY29sb3IsIHZhcigtLWJyYW5kLWJsdWUpKTtcbiAgZm9udC1zaXplOiAxLjY1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIGZsZXg6IDE7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbn1cblxuLmMtYWNjb3JkaW9uX19jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtZ3JleSk7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmhhcy1vcGVuLWFjY29yZGlvbiAuYy1hY2NvcmRpb25fX2NvbnRlbnQge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jLWFjY29yZGlvbl9faWNvbi13cmFwcGVyIHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxLjY3cmVtIDAgMy4xMXJlbTtcbn1cblxuLmMtYWNjb3JkaW9uX190b2dnbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY29yZGlvbi10b2dnbGUtYmctY29sb3IpO1xuICBwYWRkaW5nOiB2YXIoLS15LXBhZGRpbmcpIDAgdmFyKC0teS1wYWRkaW5nKSB2YXIoLS14LXBhZGRpbmcpO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYy1hY2NvcmRpb25fX3RvZ2dsZS1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oYXMtb3Blbi1hY2NvcmRpb24gLmMtYWNjb3JkaW9uX190b2dnbGUsXG4uYy1hY2NvcmRpb25fX3RvZ2dsZTpob3ZlciB7XG4gIC0tYWNjb3JkaW9uLXRpdGxlLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NvcmRpb24tdG9nZ2xlLWJnLWNvbG9yLWFjdGl2ZSwgdmFyKC0tYnJhbmQtcm95YWwtYmx1ZSkpO1xufVxuXG4uaGFzLW9wZW4tYWNjb3JkaW9uLmMtYWNjb3JkaW9uIC5jLXRvZ2dsZS1idXR0b25fX2xpbmUtLXkge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi5jLWFjY29yZGlvbl9fY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKHZhcigtLXktcGFkZGluZykgLyAyICogLTEpKTtcbn1cblxuLmMtYWNjb3JkaW9uX19pbm5lciB7XG4gIHBhZGRpbmc6IHZhcigtLXZlcnRpY2FsLW1hcmdpbi1iYXNlKSB2YXIoLS14LXBhZGRpbmcpIHZhcigtLXktcGFkZGluZyk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmMtYWNjb3JkaW9uc19fc2VjdGlvbi1jb250ZW50ICsgLmMtYWNjb3JkaW9uc19fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMS43NXJlbTtcbiAgfVxuICAuYy1hY2NvcmRpb25zX19zZWN0aW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLmMtYWNjb3JkaW9uIHtcbiAgICAtLXgtcGFkZGluZzogdmFyKC0tZ3JpZC1wYWRkaW5nKTtcbiAgfVxuICAuYy1hY2NvcmRpb24gLmMtYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuYy1hY2NvcmRpb25fX2ljb24td3JhcHBlciB7XG4gICAgcGFkZGluZzogMCAwLjYzcmVtO1xuICB9XG59XG5cbi5jLXRvZ2dsZS1idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIC0taWNvbi1zaXplOiAxLjFlbTtcbiAgLS10b2dnbGUtc2l6ZTogNTBweDtcbiAgLS10b2dnbGUtYmc6IHZhcigtLXRvZ2dsZS1idXR0b24tYmctY29sb3IsIHZhcigtLWJyYW5kLWJsdWUpKTtcbiAgLS10b2dnbGUtYmctYWN0aXZlOiAjZmZmO1xuICAtLWljb24tY29sb3I6ICNmZmY7XG4gIC0taWNvbi1jb2xvci1hY3RpdmU6IHZhcigtLWJyYW5kLWNoYXJjb2FsKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10b2dnbGUtYmcsIHZhcigtLWJyYW5kLWJsdWUpKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiB2YXIoLS10b2dnbGUtc2l6ZSwgNTRweCk7XG4gIGhlaWdodDogdmFyKC0tdG9nZ2xlLXNpemUsIDU0cHgpO1xuICBpbnNldDogdmFyKC0tdG9nZ2xlLWluc2V0KTtcbiAgei1pbmRleDogMjAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbn1cblxuLmMtdG9nZ2xlLWJ1dHRvbl9fY29udGVudCB7XG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlLWluLW91dDtcbn1cblxuLmMtdG9nZ2xlLWJ1dHRvbjpob3Zlcixcbi5jLXRvZ2dsZS1idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10b2dnbGUtYmctYWN0aXZlLCAjZmZmKTtcbn1cblxuLmMtdG9nZ2xlLWJ1dHRvbl9faWNvbiB7XG4gIGNvbG9yOiB2YXIoLS1pY29uLWNvbG9yKTtcbn1cblxuLmMtdG9nZ2xlLWJ1dHRvbjpob3ZlciAuYy10b2dnbGUtYnV0dG9uX19pY29uLFxuLmMtdG9nZ2xlLWJ1dHRvbjpmb2N1cyAuYy10b2dnbGUtYnV0dG9uX19pY29uIHtcbiAgY29sb3I6IHZhcigtLWljb24tY29sb3ItYWN0aXZlKTtcbn1cblxuLmMtdG9nZ2xlLWJ1dHRvbl9fdHJheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xufVxuXG4uYy10b2dnbGUtYnV0dG9uX19pY29uIHtcbiAgaGVpZ2h0OiB2YXIoLS1pY29uLXNpemUpO1xufVxuXG4uYy10b2dnbGUtYnV0dG9uX19saW5lIHtcbiAgdHJhbnNpdGlvbjogMjUwbXMgYWxsIGVhc2U7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cblxuLmlzLWFjdGl2ZS10b29sdGlwIC5jLXRvZ2dsZS1idXR0b25fX2xpbmUtLXkge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmMtdG9nZ2xlLWJ1dHRvbiB7XG4gICAgLS1pY29uLXNpemU6IDAuNzVlbTtcbiAgICAtLXRvZ2dsZS1zaXplOiA0MHB4O1xuICB9XG59XG5cbi5ibG9jay1jb250ZW50IHtcbiAgbWFyZ2luOiA0Ljc1cmVtIDA7XG59XG5cbi5ibG9jay1jb250ZW50IC5yb3c6Zmlyc3Qtb2YtdHlwZS5ibG9jay10ZXh0LWNvbnRlbnQsIC5ibG9jay1jb250ZW50IC5yb3c6Zmlyc3Qtb2YtdHlwZS5pbWFnZS10ZXh0LWJsb2NrLFxuLmJsb2NrLWNvbnRlbnQgLnJvdzpmaXJzdC1vZi10eXBlIC5ibG9jay10ZXh0LWNvbnRlbnQsIC5ibG9jay1jb250ZW50IC5yb3c6Zmlyc3Qtb2YtdHlwZSAuaW1hZ2UtdGV4dC1ibG9jayxcbi5ibG9jay1jb250ZW50IC5yb3c6Zmlyc3Qtb2YtdHlwZSAuYmxvY2stYWNjb3JkaW9ucyB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xufVxuXG4uYmxvY2stY29udGVudCAuYmxvY2stdGV4dCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYmxvY2stY29udGVudCAuYmxvY2stdGV4dC1mdWxsd2lkdGgge1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmJsb2NrLXRleHQtZnVsbHdpZHRoIC5ibGFjay1idXR0b24tb3V0bGluZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmxheW91dC1ibG9jay0tdGV4dDpmaXJzdC1jaGlsZCBoMzpmaXJzdC1jaGlsZCwgLmJsb2NrLWNvbnRlbnQgLmxheW91dC1ibG9jay0tdGV4dDpmaXJzdC1jaGlsZCBoNDpmaXJzdC1jaGlsZCwgLmJsb2NrLWNvbnRlbnQgLmxheW91dC1ibG9jay0tdGV4dDpmaXJzdC1jaGlsZCBoNTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5ibG9jay1jb250ZW50IC5ibG9jay10ZXh0LWNvbnRlbnQge1xuICBwYWRkaW5nOiAycmVtIDAgMXJlbTtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmJsb2NrLXRleHQtY29udGVudCBwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXRvcDogMi4xcmVtO1xufVxuXG4uYmxvY2stY29udGVudCAuYmxvY2stdGV4dC1jb250ZW50IGgzIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmJsb2NrLXRleHQtY29udGVudCBsaSB7XG4gIG1hcmdpbjogMXJlbSAwO1xufVxuXG4uYmxvY2stY29udGVudCAuYmxvY2stdGV4dC1jb250ZW50IGxpOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5ibG9jay1jb250ZW50IC5ibG9jay10ZXh0LWNvbnRlbnQgbGkgbGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmJsb2NrLXRleHQtY29udGVudCBsaSBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ibG9jay1jb250ZW50IC5ibG9jay10ZXh0LWNvbnRlbnQgYmxvY2txdW90ZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlci1sZWZ0OiA3cHggc29saWQgIzAwN0FGODtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuXG4uYmxvY2stY29udGVudCAuYmxvY2stdGV4dC1jb250ZW50IGJsb2NrcXVvdGUgcCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmJsb2NrLWJ1dHRvbnMge1xuICBwYWRkaW5nOiAxcmVtIDA7XG59XG5cbi5ibG9jay1jb250ZW50IC5ibG9jay1idXR0b25zIC5ibG9jay1idXR0b25zX19idXR0b24ge1xuICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xufVxuXG4uYmxvY2stY29udGVudCAubGF5b3V0LWJsb2NrLS10ZXh0ICsgLmxheW91dC1ibG9jay0tYnV0dG9ucyAuYmxvY2stYnV0dG9ucyB7XG4gIG1hcmdpbi10b3A6IC0ycmVtO1xuICBwYWRkaW5nOiAwIDAgMXJlbTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmxheW91dC1ibG9jay0tdGV4dC0tZ3JleSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWxpZ2h0KTtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDguMzMzJTtcbiAgcGFkZGluZy1ib3R0b206IDRyZW07XG59XG5cbi5ibG9jay1jb250ZW50IC5sYXlvdXQtYmxvY2stLXRleHQtLWdyZXkgKyAubGF5b3V0LWJsb2NrLS10ZXh0LS1ncmV5IHtcbiAgbWFyZ2luLXRvcDogLTUuOXJlbTtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5ibG9jay1jb250ZW50IC5sYXlvdXQtYmxvY2stLXRleHQtLWdyZXkgKyAubGF5b3V0LWJsb2NrLS10ZXh0LS1ncmV5IC5ibG9jay10ZXh0LWNvbnRlbnQ6aGFzKGgxOmZpcnN0LWNoaWxkLCBoMjpmaXJzdC1jaGlsZCwgaDM6Zmlyc3QtY2hpbGQsIGg0OmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmxheW91dC1ibG9jay0tdGV4dC0td2hpdGUgKyAubGF5b3V0LWJsb2NrLS10ZXh0LS13aGl0ZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5ibG9jay1jb250ZW50IC5sYXlvdXQtYmxvY2stLXRleHQtLXdoaXRlICsgLmxheW91dC1ibG9jay0tdGV4dC0td2hpdGUgLmJsb2NrLXRleHQtY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAxLjFyZW07XG59XG5cbi5ibG9jay1jb250ZW50IC5ibG9jay12aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYmxvY2stY29udGVudCAuYmxvY2stdmlkZW8gLmlmcmFtZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ibG9jay1jb250ZW50IC5ibG9jay12aWRlbyAuaWZyYW1lLWNvbnRhaW5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDU2LjI1JTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmJsb2NrLXZpZGVvIC5pZnJhbWUtY29udGFpbmVyID4gOmZpcnN0LWNoaWxkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5ibG9jay1jb250ZW50IC5ibG9jay12aWRlbyAuaWZyYW1lLWNvbnRhaW5lciBpZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uYmxvY2stY29udGVudCAuYmxvY2stdmlkZW8gZmlndXJlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5ibG9jay1jb250ZW50IC5ibG9jay12aWRlbyBmaWd1cmUgdmlkZW8ge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5ibG9jay1jb250ZW50IC5mdWxsLXdpZHRoLWltYWdlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMjVzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi5ibG9jay1jb250ZW50IC5mdWxsLXdpZHRoLWltYWdlLS1oYXMtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmZ1bGwtd2lkdGgtaW1hZ2UtLWhhcy1saW5rOmhvdmVyIGltZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgYm94LXNoYWRvdzogMCAwLjVyZW0gMS41cmVtIDJweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xufVxuXG4uYmxvY2stY29udGVudCAuZnVsbC13aWR0aC1pbWFnZV9fbGluayB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4uYmxvY2stY29udGVudCAuaW1hZ2UtdGV4dC1ibG9jayB7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xufVxuXG4uYmxvY2stY29udGVudCAuaW1hZ2UtdGV4dC1ibG9jayBwIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgaDQge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uYmxvY2stY29udGVudCBoMyArICoge1xuICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5ibG9jay1jb250ZW50IGg0ICsgKiB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLmJsb2NrLWNvbnRlbnQgcCwgLmJsb2NrLWNvbnRlbnQgdWwsIC5ibG9jay1jb250ZW50IG9sIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYmxvY2stY29udGVudCBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmJsb2NrLWNvbnRlbnQgdGFibGUgdHI6Zmlyc3Qtb2YtdHlwZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdhZjggIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5ibG9jay1jb250ZW50IHRhYmxlIHRyOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzgwODA4MDtcbn1cblxuLmJsb2NrLWNvbnRlbnQgdGFibGUgdHI6bGFzdC1vZi10eXBlIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgdGFibGUgdHI6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xufVxuXG4uYmxvY2stY29udGVudCB0YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbn1cblxuLmJsb2NrLWNvbnRlbnQgLmN1c3RvbS1jaGVja2JveCAuaW5wdXQtYmcge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5ibG9jay1jb250ZW50IGZpZ2NhcHRpb24ge1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogIzFhMWExYTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmNvbnRhY3QgLmJsb2NrLWNvbnRlbnQgLmJsb2NrLXRleHQtZnVsbHdpZHRoIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmxheW91dC1ibG9jay0tYWNjb3JkaW9ucyB7XG4gIG1hcmdpbi10b3A6IDRyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5ibG9jay1jb250ZW50IHtcbiAgICBtYXJnaW46IDRyZW0gMCAxcmVtO1xuICB9XG4gIC5ibG9jay1jb250ZW50IHVsOm5vdCgucGFnaW5hdGlvbik6bm90KC5uby1saXN0LXN0eWxlKTpub3QoW2NsYXNzXj1cImdmaWVsZFwiXSk6bm90KFtjbGFzc149XCJnZm9ybV9maWVsZHNcIl0pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgfVxuICAuYmxvY2stY29udGVudCB1bDpub3QoLnBhZ2luYXRpb24pOm5vdCgubm8tbGlzdC1zdHlsZSk6bm90KFtjbGFzc149XCJnZmllbGRcIl0pOm5vdChbY2xhc3NePVwiZ2Zvcm1fZmllbGRzXCJdKSBsaTo6YmVmb3JlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5ibG9jay1jb250ZW50IC5pbWFnZS10ZXh0LWJsb2NrIGltZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gIH1cbiAgLmJsb2NrLWNvbnRlbnQgLmxheW91dC1ibG9jay0tdGV4dC0tZ3JleSB7XG4gICAgcGFkZGluZzogMnJlbSAxLjVyZW0gM3JlbTtcbiAgICBtYXJnaW4tbGVmdDogLTJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYmxvY2stY29udGVudCB7XG4gICAgbWFyZ2luOiAycmVtIDAgMXJlbTtcbiAgfVxufVxuXG4ucGFnZS1iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiAjMDA3QUY4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy10b3A6IDMuMTI1cmVtO1xufVxuXG4ucGFnZS1iYW5uZXIuaG9tZS1iYW5uZXIge1xuICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG59XG5cbi5wYWdlLWJhbm5lciAuaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnBhZ2UtYmFubmVyIC5iYW5uZXItY2l0eXNjYXBlIHtcbiAgbWFyZ2luOiAwO1xuICBoZWlnaHQ6IDkuMzc1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGFnZS1iYW5uZXIgLmJhbm5lci1jaXR5c2NhcGUubGluZSB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltZy91aS1hc3NldHMvY2l0eS1saW5lLXRpdGxlLnN2Z1wiKSByZXBlYXQteCBjZW50ZXIvY29udGFpbjtcbn1cblxuLnBhZ2UtYmFubmVyIC5iYW5uZXItY2l0eXNjYXBlLnNpbGhvdWV0dGUge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWcvdWktYXNzZXRzL2NpdHktc2lsaG91ZXR0ZS10aXRsZS5zdmdcIikgcmVwZWF0LXggYm90dG9tIGNlbnRlci9jb250YWluO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wYWdlLWJhbm5lciAuYmFubmVyLWNpdHlzY2FwZS5zaWxob3VldHRlOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA5OSU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gIGNvbnRlbnQ6ICcnO1xufVxuXG4ucGFnZS1iYW5uZXIgLmJhbm5lci1jaXR5c2NhcGUgLnNpbGhvdWV0dGUtaW5uZXItbGF5ZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWcvdWktYXNzZXRzL2NpdHktc2lsaG91ZXR0ZS10aXRsZS5zdmdcIikgcmVwZWF0LXggYm90dG9tIGNlbnRlci9jb250YWluO1xuICBvcGFjaXR5OiAwLjQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjhyZW07XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IC01cmVtO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDVyZW07XG59XG5cbi5wYWdlLWJhbm5lciAuYmFubmVyLXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ucGFnZS1iYW5uZXIgLmJhbm5lci13cmFwcGVyIC5wYWdlLWhlYWRpbmcge1xuICBwYWRkaW5nOiA0LjM3NXJlbSAwO1xufVxuXG4ucGFnZS1iYW5uZXIgLmJhbm5lci13cmFwcGVyIC5wYWdlLWhlYWRpbmcgLmgzIHtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ucGFnZS1iYW5uZXIgLmJhbm5lci13cmFwcGVyIC5wYWdlLWhlYWRpbmcgLmgzOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wYWdlLWJhbm5lciAuYmFubmVyLXdyYXBwZXIgLnBhZ2UtaGVhZGluZyAuaDMgLmJsYWNrLWJ1dHRvbi1vdXRsaW5lOmhvdmVyLCAucGFnZS1iYW5uZXIgLmJhbm5lci13cmFwcGVyIC5wYWdlLWhlYWRpbmcgLmgzIC5ibGFjay1idXR0b24tb3V0bGluZTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gIGJvcmRlci1jb2xvcjogIzFhMWExYTtcbiAgY29sb3I6ICMwMDdBRjg7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwge1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gIHBhZGRpbmc6IDRyZW0gMCA2cmVtO1xuICBtaW4taGVpZ2h0OiA1MDBweDtcbn1cblxuLnBhZ2UtYmFubmVyIC5jYXJvdXNlbC0tYmx1ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDdBRjg7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAucHJldmlvdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjUlO1xuICBib3R0b206IDI1JTtcbiAgbGVmdDogMjhweDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAubmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyNSU7XG4gIHJpZ2h0OiAyOHB4O1xuICBib3R0b206IDI1JTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAucHJldmlvdXMsXG4ucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZXIgLm5leHQge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgei1pbmRleDogNTtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlO1xuICBwYWRkaW5nOiAxLjUwcmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiBhdXRvIDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAucHJldmlvdXMgc3Bhbixcbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAubmV4dCBzcGFuIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAucHJldmlvdXM6aG92ZXIsIC5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAucHJldmlvdXM6Zm9jdXMsXG4ucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZXIgLm5leHQ6aG92ZXIsXG4ucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZXIgLm5leHQ6Zm9jdXMge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlIC5pbWFnZS1ob2xkZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZSBmaWdjYXB0aW9uIHtcbiAgZm9udC1zaXplOiAyLjI1cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnBhZ2UtYmFubmVyIC5jYXJvdXNlbCAuc2xpZGUgZmlnY2FwdGlvbiBpLCAucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZSBmaWdjYXB0aW9uIGVtLCAucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZSBmaWdjYXB0aW9uIHN0cm9uZywgLnBhZ2UtYmFubmVyIC5jYXJvdXNlbCAuc2xpZGUgZmlnY2FwdGlvbiBiIHtcbiAgY29sb3I6ICNlZWUwNDc7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlIC5pbWFnZS1ob2xkZXJfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlIC5pbWFnZS1ob2xkZXJfX2J0biB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIHBhZGRpbmc6IDAuNHJlbSAxLjI1cmVtO1xufVxuXG4ucGFnZS1iYW5uZXIgLmN0YS1ib3hlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wYWdlLWJhbm5lciAuY3RhLWJveGVzIC5jdGEtYm94IHtcbiAgd2lkdGg6IDUwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxLjM1cmVtIDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyOiA1cHggc29saWQgIzAwN0FGODtcbn1cblxuLnBhZ2UtYmFubmVyIC5jdGEtYm94ZXMgLmN0YS1ib3g6aG92ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMTE1JSk7XG59XG5cbi5wYWdlLWJhbm5lciAuY3RhLWJveGVzIC5jdGEtYm94OmZpcnN0LW9mLXR5cGUge1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoKDEwMHZ3IC0gMTI3MHB4KSAvIDIgKyAxcHgpO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTA0NztcbiAgYm9yZGVyLWNvbG9yOiAjZWVlMDQ3O1xufVxuXG4ucGFnZS1iYW5uZXIgLmN0YS1ib3hlcyAuY3RhLWJveDpmaXJzdC1vZi10eXBlIC5saW5rIHtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi5wYWdlLWJhbm5lciAuY3RhLWJveGVzIC5jdGEtYm94LnNlY29uZCB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gMTI3MHB4KSAvIDIgKyAxcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3QUY4O1xufVxuXG4ucGFnZS1iYW5uZXIgLmN0YS1ib3hlcyAuY3RhLWJveC5zZWNvbmQgLmN0YS1ib3hfX2xpbmsge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnBhZ2UtYmFubmVyIC5jdGEtYm94ZXMgLmN0YS1ib3gudGhpcmQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMS4zNXJlbSAycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllOWU5O1xuICBib3JkZXItY29sb3I6ICNlOWU5ZTk7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4ucGFnZS1iYW5uZXIgLmN0YS1ib3hlcyAuY3RhLWJveC50aGlyZCAuY3RhLWJveF9fbGluayB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4ucGFnZS1iYW5uZXIgLmN0YS1ib3hlcyAuY3RhLWJveCAuY3RhLWJveF9fbGlua3MgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnBhZ2UtYmFubmVyIC5jdGEtYm94ZXMgLmN0YS1ib3ggLmN0YS1ib3hfX2xpbmtzIGE6aG92ZXIgLmN0YS1ib3hfX2xpbmsge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLnBhZ2UtYmFubmVyIC5jdGEtYm94ZXMgLmN0YS1ib3ggLmN0YS1ib3hfX2xpbmtzIGE6aG92ZXIgLmN0YS1ib3hfX2xpbmsgdSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnBhZ2UtYmFubmVyIC5jdGEtYm94ZXMgLmN0YS1ib3ggLmxpbmsge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbn1cblxuLnBhZ2UtYmFubmVyIC5jdGEtYm94ZXMgLmN0YS1ib3ggLmN0YS1ib3hfX2xpbmtlZC10ZXh0IHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlLWJhbm5lciAuY3RhLWJveGVzIC5jdGEtYm94IC5jdGEtYm94X19saW5rIHtcbiAgY29sb3I6ICMwMDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1hcmdpbjogMCAxcmVtO1xufVxuXG4ucGFnZS1iYW5uZXIgLmN0YS1ib3hlcyAuY3RhLWJveCAuY3RhLWJveF9fbGluayAuZmEtYW5nbGUtcmlnaHQge1xuICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbn1cblxuLnBhZ2UtYmFubmVyIC5jdGEtYm94ZXMgLmN0YS1ib3guZnVsbC13aWR0aCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogdW5zZXQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5wYWdlLWJhbm5lciAuY3RhLWJveGVzIC5jdGEtYm94IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICB9XG4gIC5wYWdlLWJhbm5lciAuY3RhLWJveGVzIC5jdGEtYm94OmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAucGFnZS1iYW5uZXIgLmN0YS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLnBhZ2UtYmFubmVyIC5jdGEtYm94ZXMge1xuICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xuICB9XG4gIC5wYWdlLWJhbm5lciAuY3RhLWJveGVzIC5jdGEtYm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLWJhbm5lciAuYmFubmVyLWNpdHlzY2FwZS5saW5lLCAucGFnZS1iYW5uZXIgLmJhbm5lci1jaXR5c2NhcGUuc2lsaG91ZXR0ZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuICAucGFnZS1iYW5uZXIgLmJhbm5lci13cmFwcGVyIC5wYWdlLWhlYWRpbmcgaDMge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxuICAucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZSAuaW1hZ2UtaG9sZGVyIGltZyB7XG4gICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMCAyLjVyZW07XG4gIH1cbiAgLnBhZ2UtYmFubmVyIC5jYXJvdXNlbCAuc2xpZGUgZmlnY2FwdGlvbiBwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAyLjVyZW07XG4gICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxuICAucGFnZS1iYW5uZXIgLmNhcm91c2VsIC5zbGlkZSAuaW1hZ2UtaG9sZGVyX19jb250ZW50IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAucHJldmlvdXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDI1JTtcbiAgICBib3R0b206IDI1JTtcbiAgICBsZWZ0OiAxMnB4O1xuICB9XG4gIC5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAubmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjUlO1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIGJvdHRvbTogMjUlO1xuICB9XG4gIC5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAucHJldmlvdXMsXG4gIC5wYWdlLWJhbm5lciAuY2Fyb3VzZWwgLnNsaWRlciAubmV4dCB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICB9XG4gIC5wYWdlLWJhbm5lciAuY3RhLWJveGVzIC5jdGEtYm94OmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmc6IDEuMzVyZW0gMC41cmVtO1xuICB9XG59XG5cbi5zdGVwcy1zZWN0aW9uIHtcbiAgbWFyZ2luOiA1cmVtIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zdGVwcy1zZWN0aW9uIC5zdGVwLWl0ZW0ge1xuICBtYXJnaW46IDMuODc1cmVtIGNhbGMoOC4zMzMzMyUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG59XG5cbi5zdGVwcy1zZWN0aW9uIC5zdGVwLWl0ZW06OmFmdGVyIHtcbiAgaGVpZ2h0OiAycHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTUwJTtcbiAgYm90dG9tOiAtMy44NzVyZW07XG4gIGxlZnQ6IC01MCU7XG59XG5cbi5zdGVwcy1zZWN0aW9uIC5zdGVwLWl0ZW06bnRoLW9mLXR5cGUoM24tMSkgLnN0ZXAtY29udGVudDo6YmVmb3JlLCAuc3RlcHMtc2VjdGlvbiAuc3RlcC1pdGVtOm50aC1vZi10eXBlKDNuLTEpIC5zdGVwLWNvbnRlbnQ6OmFmdGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMnB4O1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZDogI2NjYztcbn1cblxuLnN0ZXBzLXNlY3Rpb24gLnN0ZXAtaXRlbTpudGgtb2YtdHlwZSgzbi0xKSAuc3RlcC1jb250ZW50OjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAtNTAlO1xufVxuXG4uc3RlcHMtc2VjdGlvbiAuc3RlcC1pdGVtOm50aC1vZi10eXBlKDNuLTEpIC5zdGVwLWNvbnRlbnQ6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtNTAlO1xuICBib3R0b206IDA7XG59XG5cbi5zdGVwcy1zZWN0aW9uIC5zdGVwLWl0ZW06bnRoLWxhc3QtY2hpbGQoLW4rMyk6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnN0ZXBzLXNlY3Rpb24gLnN0ZXAtaXRlbSAuc3RlcC1jb250ZW50IHtcbiAgbWFyZ2luOiAtMXJlbTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cblxuLnN0ZXBzLXNlY3Rpb24gLnN0ZXAtaXRlbSAuc3RlcC1jb250ZW50IGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc3RlcHMtc2VjdGlvbiAuc3RlcC1pdGVtIC5zdGVwLWNvbnRlbnQgLnN0ZXAtbnVtYmVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLnN0ZXBzLXNlY3Rpb24gLnN0ZXAtaXRlbSAuc3RlcC1jb250ZW50IGg0IHtcbiAgY29sb3I6ICNlOTJhMGU7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5yYWRvbiAuaW1hZ2UtdGV4dC1ibG9jayBpbWcge1xuICBtYXgtaGVpZ2h0OiAxM2VtO1xufVxuXG4ucmFkb24gLmJsb2NrLXRleHQtY29udGVudCBoNDpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuc3RlcHMtc2VjdGlvbiAuc3RlcC1pdGVtOm50aC1vZi10eXBlKDNuLTEpIC5zdGVwLWNvbnRlbnQ6OmJlZm9yZSwgLnN0ZXBzLXNlY3Rpb24gLnN0ZXAtaXRlbTpudGgtb2YtdHlwZSgzbi0xKSAuc3RlcC1jb250ZW50OjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuc3RlcHMtc2VjdGlvbiAuc3RlcC1pdGVtOm50aC1vZi10eXBlKG9kZCkgLnN0ZXAtY29udGVudDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC0yNSU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gIH1cbiAgLnN0ZXBzLXNlY3Rpb24gLnN0ZXAtaXRlbTpudGgtbGFzdC1jaGlsZCgtbiszKTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5zdGVwcy1zZWN0aW9uIC5zdGVwLWl0ZW06bnRoLWxhc3QtY2hpbGQoLW4rMik6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLnN0ZXBzLXNlY3Rpb24gLnN0ZXAtaXRlbTpudGgtbGFzdC1jaGlsZCgtbiszKTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5zdGVwcy1zZWN0aW9uIC5zdGVwLWl0ZW06bnRoLWxhc3QtY2hpbGQoLW4rMSk6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5zdGVwcy1zZWN0aW9uIC5zdGVwLWl0ZW0gLnN0ZXAtY29udGVudCB7XG4gICAgcGFkZGluZzogMCA1cmVtO1xuICB9XG4gIC5zdGVwcy1zZWN0aW9uIC5zdGVwLWl0ZW0gLnN0ZXAtY29udGVudCBpbWcge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gIH1cbn1cblxuLnJlc3VsdHMtc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDUuNjI1cmVtIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlOWU5ZTk7XG59XG5cbi5yZXN1bHRzLXNlY3Rpb24gLnJlc3VsdHMtaW50cm8ge1xuICBtYXJnaW46IDRyZW0gMDtcbn1cblxuLnJlc3VsdHMtc2VjdGlvbiAucmVzdWx0cy1pbnRybyAuaW50cm8tdGV4dCAucmVkIHtcbiAgY29sb3I6ICNlOTJhMGU7XG59XG5cbi5yZXN1bHRzLXNlY3Rpb24gLnJlc3VsdHMtaW50cm8gLmludHJvLWdyYXBoIHtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbn1cblxuLnJlc3VsdHMtc2VjdGlvbiAucmVzdWx0cy1pbnRybyAuaW50cm8tZ3JhcGggLmdyYXBoLXRpdGxlLCAucmVzdWx0cy1zZWN0aW9uIC5yZXN1bHRzLWludHJvIC5pbnRyby1ncmFwaCAuZ3JhcGgtbGFiZWwge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4xcmVtO1xufVxuXG4ucmVzdWx0cy1zZWN0aW9uIC5yZXN1bHRzLWludHJvIC5pbnRyby1ncmFwaCAuZ3JhcGgtdGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ucmVzdWx0cy1zZWN0aW9uIC5yZXN1bHRzLWludHJvIC5pbnRyby1ncmFwaCAuZ3JhcGgge1xuICB3aWR0aDogY2FsYygxMDAlICsgMXJlbSk7XG4gIGhlaWdodDogMzZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwMDdBRjgsICNlOTJhMGUgNTAlKTtcbn1cblxuLnJlc3VsdHMtc2VjdGlvbiAucmVzdWx0cy1pbnRybyAuaW50cm8tZ3JhcGggLmdyYXBoOjpiZWZvcmUsIC5yZXN1bHRzLXNlY3Rpb24gLnJlc3VsdHMtaW50cm8gLmludHJvLWdyYXBoIC5ncmFwaDo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMzZweDtcbiAgYm9yZGVyLXRvcDogMThweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDE4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMThweCBzb2xpZCAjZTllOWU5O1xuICBib3JkZXItYm90dG9tOiAxOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4ucmVzdWx0cy1zZWN0aW9uIC5yZXN1bHRzLWludHJvIC5pbnRyby1ncmFwaCAuZ3JhcGg6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xOHB4O1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xufVxuXG4ucmVzdWx0cy1zZWN0aW9uIC5yZXN1bHRzLWludHJvIC5pbnRyby1ncmFwaCAuZ3JhcGg6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxOHB4O1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xufVxuXG4ucmVzdWx0cy1zZWN0aW9uIC5yZXN1bHRzLWludHJvIC5pbnRyby1ncmFwaCAuZ3JhcGggLmdyYXBoLWxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxcmVtIDAuMXJlbSAwO1xuICB3aWR0aDogOTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucmVzdWx0cy1zZWN0aW9uIC5yZXN1bHRzLWludHJvIC5pbnRyby1ncmFwaCAuZ3JhcGggLmdyYXBoLWxhYmVsOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTYwcHg7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmIDUwJSwgI2ExOWQ5ZCA1MCUpO1xuICBtYXJnaW46IDAgYXV0bztcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAycHg7XG4gIGhlaWdodDogNzJweDtcbn1cblxuLnJlc3VsdHMtc2VjdGlvbiAucmVzdWx0cy1pbnRybyAuaW50cm8tZ3JhcGggLmdyYXBoIC5ncmFwaC1sYWJlbC5zYWZlLXRocmVzaG9sZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2MHB4O1xuICBib3R0b206IDA7XG4gIGxlZnQ6IC00NXB4O1xufVxuXG4ucmVzdWx0cy1zZWN0aW9uIC5yZXN1bHRzLWludHJvIC5pbnRyby1ncmFwaCAuZ3JhcGggLmdyYXBoLWxhYmVsLnNhZmUtdGhyZXNob2xkOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjYTE5ZDlkO1xufVxuXG4ucmVzdWx0cy1zZWN0aW9uIC5yZXN1bHRzLWludHJvIC5pbnRyby1ncmFwaCAuZ3JhcGggLmdyYXBoLWxhYmVsLmRhbmdlcm91cy10aHJlc2hvbGQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNjBweDtcbiAgcmlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7XG4gIGJvdHRvbTogMDtcbn1cblxuLnJlc3VsdHMtc2VjdGlvbiAucmVzdWx0cy1jYXJkcyAucmVzdWx0LXNhZmUsIC5yZXN1bHRzLXNlY3Rpb24gLnJlc3VsdHMtY2FyZHMgLnJlc3VsdC1kYW5nZXJvdXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4ucmVzdWx0cy1zZWN0aW9uIC5yZXN1bHRzLWNhcmRzIC5yZXN1bHQtc2FmZSBhLCAucmVzdWx0cy1zZWN0aW9uIC5yZXN1bHRzLWNhcmRzIC5yZXN1bHQtZGFuZ2Vyb3VzIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgcGFkZGluZzogMC43cmVtIDEuM3JlbTtcbn1cblxuLnJlc3VsdHMtc2VjdGlvbiAucmVzdWx0cy1jYXJkcyAucmVzdWx0LXNhZmUgaDQge1xuICBjb2xvcjogIzAwN0FGODtcbn1cblxuLnJlc3VsdHMtc2VjdGlvbiAucmVzdWx0cy1jYXJkcyAucmVzdWx0LWRhbmdlcm91cyBoNCB7XG4gIGNvbG9yOiAjZTkyYTBlO1xufVxuXG4ucmVzdWx0cy1zZWN0aW9uIC5yZXN1bHRzLWNhcmRzIC5yZXN1bHQtZGFuZ2Vyb3VzIGEge1xuICBib3JkZXItY29sb3I6ICNlOTJhMGU7XG4gIGNvbG9yOiAjZTkyYTBlO1xufVxuXG4ucmVzdWx0cy1zZWN0aW9uIC5yZXN1bHRzLWNhcmRzIC5yZXN1bHQtZGFuZ2Vyb3VzIGE6aG92ZXIsIC5yZXN1bHRzLXNlY3Rpb24gLnJlc3VsdHMtY2FyZHMgLnJlc3VsdC1kYW5nZXJvdXMgYTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNlOTJhMGU7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5yZXN1bHRzLXNlY3Rpb24gLnJlc3VsdHMtaW50cm8gLmludHJvLWdyYXBoIC5ncmFwaCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICB9XG4gIC5yZXN1bHRzLXNlY3Rpb24gLnJlc3VsdHMtaW50cm8gLmludHJvLWdyYXBoIC5ncmFwaCAuZ3JhcGgtbGFiZWwuc2FmZS10aHJlc2hvbGQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDYwcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAucmVzdWx0cy1zZWN0aW9uIC5yZXN1bHRzLWludHJvIC5pbnRyby1ncmFwaCAuZ3JhcGggLmdyYXBoLWxhYmVsLnNhZmUtdGhyZXNob2xkOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC02MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5yZXN1bHRzLXNlY3Rpb24gLnJlc3VsdHMtY2FyZHMgLnJlc3VsdC1zYWZlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICB9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiBAQEAgR2xvYmFsIEV4dGVuc2lvbnNcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIEdlbmVyaWMgU3R5bGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBEaXNwbGF5XG4tLS0tLS0tLS0tICovXG5cbiVibG9jayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuJWlubGluZSB7XG5cdGRpc3BsYXk6IGlubGluZTtcbn1cbiVpbmxpbmUtYmxvY2sge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ldGFibGUge1xuXHRkaXNwbGF5OiB0YWJsZTtcbn1cbiV0YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbn1cbiV0YWJsZS1jZWxsIHtcblx0ZGlzcGxheTogdGFibGUtY2VsbDtcbn1cbiVub25lIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbiVwc2V1ZG8ge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgUG9zaXRpb25pbmdcbi0tLS0tLS0tLS0gKi9cblxuJWFic29sdXRlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xufVxuJXJlbGF0aXZlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuJWZpeGVkIHtcblx0cG9zaXRpb246IGZpeGVkO1xufVxuJXN0YXRpYyB7XG5cdHBvc2l0aW9uOiBzdGF0aWM7XG59XG4lc3RyZXRjaCB7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgTGF5b3V0XG4tLS0tLS0tLS0tICovXG5cbiVmdWxsLXdpZHRoIHtcblx0d2lkdGg6IDEwMCU7XG59XG4lZnVsbC1oZWlnaHQge1xuXHRoZWlnaHQ6IDEwMCU7XG59XG4lYWxpZ24tbGVmdCB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG4lYWxpZ24tY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuJWFsaWduLXJpZ2h0IHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG4lanVzdGlmeSB7XG5cdHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG4ldi1hbGlnbi10b3Age1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuJXYtYWxpZ24tbWlkZGxlIHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbiV2LWFsaWduLWJvdHRvbSB7XG5cdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG4ldi1hbGlnbi1iYXNlbGluZSB7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbiVuby1tYXJnaW4ge1xuXHRtYXJnaW46IDA7XG59XG4lbWFyZ2luLWF1dG8ge1xuXHRtYXJnaW46IGF1dG87XG59XG4lbm8tcGFkZGluZyB7XG5cdHBhZGRpbmc6IDA7XG59XG4lZmxvYXQtbGVmdCB7XG5cdGZsb2F0OiBsZWZ0O1xufVxuJWZsb2F0LXJpZ2h0IHtcblx0ZmxvYXQ6IHJpZ2h0O1xufVxuJWZsb2F0LW5vbmUge1xuICAgIGZsb2F0OiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvcnNcbi0tLS0tLS0tLS0gKi9cblxuJWJnLXdoaXRlIHtcblx0YmFja2dyb3VuZDogI2ZmZjtcbn1cbiViZy1ibGFjayB7XG5cdGJhY2tncm91bmQ6ICMwMDA7XG59XG4lY29sb3Itd2hpdGUge1xuXHRjb2xvcjogI2ZmZjtcbn1cbiVjb2xvci1ibGFjayB7XG5cdGNvbG9yOiAjMDAwO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBUeXBvZ3JhcGh5XG4tLS0tLS0tLS0tICovXG5cbiV1cHBlcmNhc2Uge1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuJWxvd2VyY2FzZSB7XG5cdHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG4lY2FwaXRhbGl6ZSB7XG5cdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuJXVuZGVybGluZSB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuJW5vLXVuZGVybGluZSB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbiVuby1saXN0LXN0eWxlIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cbiV3aGl0ZS1zcGFjZS1ub3JtYWwge1xuXHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuJW5vd3JhcCB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4lZWxsaXBzaXMge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgT3ZlcmZsb3dcbi0tLS0tLS0tLS0gKi9cblxuJW92ZXJmbG93LWF1dG8ge1xuXHRvdmVyZmxvdzogYXV0bztcbn1cbiVvdmVyZmxvdy1oaWRkZW4ge1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuJW92ZXJmbG93LXZpc2libGUge1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcbn1cbiVvdmVyZmxvdy1zY3JvbGwge1xuXHRvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBNaXNjIFZpc3VhbHNcbi0tLS0tLS0tLS0gKi9cblxuJXBvaW50ZXIge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG4ldHJhbnNpdGlvbiB7XG5cdHRyYW5zaXRpb246IDAuMTVzIGFsbCBlYXNlLWluLW91dDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBDb21wb25lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBQYWdpbmF0aW9uXG4tLS0tLS0tLS0tICovXG5cbiVwYWdpbmF0aW9uIHtcblx0LnBhZ2UtbGluayB7XG5cdFx0QGlmIHZhcmlhYmxlLWV4aXN0cyhib2R5LWNvbG9yKXtcblx0XHRcdGNvbG9yOiAkYm9keS1jb2xvcjtcblx0XHR9XG5cdH1cblx0LmRpc2FibGVkIC5wYWdlLWxpbmsge1xuXHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcblx0fVxufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBTbGlkZXJzXG4tLS0tLS0tLS0tICovXG5cbiVzbGlkZXIge1xuICAgIEBleHRlbmQgJXJlbGF0aXZlICFvcHRpb25hbDtcblx0QGV4dGVuZCAubm8tYXhpb21hdGljLW1hcmdpbiAhb3B0aW9uYWw7XG5cbiAgICAuc2xpZGUtcGFnaW5hdGlvbiB7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAuNWVtO1xuXHRcdFx0QGlmIHZhcmlhYmxlLWV4aXN0cyhmb250LXNpemUtYmFzZSl7XG5cdFx0XHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuXHRcdFx0fVxuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxZW0pO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBbZGF0YS1zbGlkZXItY29tcG9uZW50fj1cImNvbnRyb2xzXCJdIHtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIEBleHRlbmQgJXBvaW50ZXIgIW9wdGlvbmFsO1xuICAgICAgICB9XG4gICAgfVxuXHQuc2xpZGUtb3ZlcmZsb3cge1xuXHRcdEBleHRlbmQgJW92ZXJmbG93LWhpZGRlbiAhb3B0aW9uYWw7XG5cdH1cblx0LnNsaWRlIHtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0fVxuICAgICYudHJhbnNpdGlvbi1mYWRlIHtcbiAgICAgICAgQGV4dGVuZCAlcmVsYXRpdmUgIW9wdGlvbmFsO1xuXG4gICAgICAgIC5zbGlkZS1ob2xkZXIge1xuICAgICAgICAgICAgQGV4dGVuZCAlZnVsbC13aWR0aCAhb3B0aW9uYWw7XG5cdFx0XHRoZWlnaHQ6IDI1ZW07XG4gICAgICAgICAgICBAZXh0ZW5kICVyZWxhdGl2ZSAhb3B0aW9uYWw7XG4gICAgICAgIH1cblx0XHQuc2xpZGUge1xuXHRcdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuXHRcdH1cbiAgICB9XG4gICAgJi50cmFuc2l0aW9uLXNsaWRlIHtcbiAgICAgICAgLnNsaWRlLWhvbGRlciB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZWxhdGl2ZSAhb3B0aW9uYWw7XG4gICAgICAgICAgICBAZXh0ZW5kIC5kLWZsZXggIW9wdGlvbmFsO1xuXHRcdFx0QGV4dGVuZCAuYWxpZ24taXRlbXMtY2VudGVyICFvcHRpb25hbDtcblx0XHRcdGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG4gICAgICAgIC5zbGlkZSB7XG5cdFx0XHRmbGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBUZXh0IEZpZWxkc1xuLS0tLS0tLS0tLSAqL1xuXG4laW5wdXQge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAwLjM1ZW07XG5cbiAgICBAaWYgdmFyaWFibGUtZXhpc3RzKHRoZW1lLWNvbG9ycykgYW5kIG1hcC1oYXMta2V5KCR0aGVtZS1jb2xvcnMsIHByaW1hcnkpe1xuXHQgICAgJjpmb2N1cyB7XG5cdCAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnkpO1xuXHQgICAgfVxuXHR9XG5cdEBpZiB2YXJpYWJsZS1leGlzdHModGhlbWUtY29sb3JzKSBhbmQgbWFwLWhhcy1rZXkoJHRoZW1lLWNvbG9ycywgZGFuZ2VyKXtcblx0ICAgICYuZXJyb3Ige1xuXHQgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdGhlbWUtY29sb3JzLCBkYW5nZXIpO1xuXHQgICAgfVxuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIERyb3Bkb3duc1xuLS0tLS0tLS0tLSAqL1xuXG4lY3VzdG9tLWRyb3Bkb3duIHtcbiAgICBAZXh0ZW5kICVyZWxhdGl2ZSAhb3B0aW9uYWw7XG5cbiAgICBzZWxlY3Qge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBAZXh0ZW5kICVwb2ludGVyICFvcHRpb25hbDtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgJiArIC5mYWtlLWRyb3Bkb3duIHtcblx0XHRcdFx0QGlmIHZhcmlhYmxlLWV4aXN0cyh0aGVtZS1jb2xvcnMpIGFuZCBtYXAtaGFzLWtleSgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KXtcblx0ICAgICAgICAgICAgICAgIC5hcnJvdy1ob2xkZXIge1xuXHQgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbihtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsIHByaW1hcnkpLCAxMCUpO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZha2UtZHJvcGRvd24ge1xuICAgICAgICBbZGF0YS12YWx1ZV0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlaW5wdXQ7XG4gICAgICAgIH1cbiAgICAgICAgLmFycm93LWhvbGRlciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjE1cyBiYWNrZ3JvdW5kIGVhc2UtaW4tb3V0O1xuXHRcdFx0QGlmIHZhcmlhYmxlLWV4aXN0cyh0aGVtZS1jb2xvcnMpIGFuZCBtYXAtaGFzLWtleSgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KXtcblx0XHRcdFx0YmFja2dyb3VuZDogbWFwLWdldCgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KTtcblx0XHRcdH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgbnVsbCBudWxsKTtcbiAgICAgICAgICAgIEBleHRlbmQgJWFsaWduLWNlbnRlciAhb3B0aW9uYWw7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDIuMDVlbSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIEBleHRlbmQgJWlubGluZS1ibG9jayAhb3B0aW9uYWw7XG5cblx0XHRcdEBpZiB2YXJpYWJsZS1leGlzdHModGhlbWUtY29sb3JzKSBhbmQgbWFwLWhhcy1rZXkoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSl7XG5cdCAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuXHQgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSksIDEwJSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG4gICAgICAgICAgICAuYXJyb3c6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwZDdcIjtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgQ2hlY2tib3hlc1xuLS0tLS0tLS0tLSAqL1xuXG4lY3VzdG9tLWNoZWNrYm94IHtcblx0QGlmIHZhcmlhYmxlLWV4aXN0cyhncmlkLXBhZGRpbmcpe1xuXHRcdG1hcmdpbjogJGdyaWQtcGFkZGluZyAwO1xuXHR9XG5cdEBleHRlbmQgLmQtZmxleCAhb3B0aW9uYWw7XG5cdEBleHRlbmQgLmFsaWduLWl0ZW1zLWNlbnRlciAhb3B0aW9uYWw7XG5cblx0bGFiZWwge1xuXHRcdGZsZXgtZ3JvdzogMTtcblx0XHRwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcblx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0fVxuICAgIGxpIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cdGlucHV0IHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0QGV4dGVuZCAlcmVsYXRpdmUgIW9wdGlvbmFsO1xuXHRcdHotaW5kZXg6IDU7XG5cdFx0QGV4dGVuZCAlcG9pbnRlciAhb3B0aW9uYWw7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG5cbiAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgfVxuXHRcdCZbZGlzYWJsZWRdIH4gLmlucHV0LWJnIHtcblx0XHRcdG9wYWNpdHk6IDAuMzU7XG5cdFx0fVxuXHR9XG4gICAgLmlucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxLjI1ZW0pO1xuXHRcdG1hcmdpbi1yaWdodDogMC41ZW07XG5cdFx0QGV4dGVuZCAlcmVsYXRpdmUgIW9wdGlvbmFsO1xuXHRcdEBleHRlbmQgJXBvaW50ZXIgIW9wdGlvbmFsO1xuXHR9XG4gICAgLmlucHV0LWJnIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAgICAgQGV4dGVuZCAlYWJzb2x1dGUgIW9wdGlvbmFsO1xuICAgICAgICBAZXh0ZW5kICVzdHJldGNoICFvcHRpb25hbDtcbiAgICB9XG4gICAgLnNlbGVjdGVkLWluZGljYXRvciB7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgbnVsbCBudWxsIDUwJSk7XG4gICAgICAgIEBleHRlbmQgJWFsaWduLWNlbnRlciAhb3B0aW9uYWw7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgICAgICAgIHdpZHRoOiAxLjM1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzVyZW07XG4gICAgICAgICAgICBAZXh0ZW5kICVhbGlnbi1jZW50ZXIgIW9wdGlvbmFsO1xuICAgICAgICAgICAgQGV4dGVuZCAlaW5saW5lLWJsb2NrICFvcHRpb25hbDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMTVzIHRyYW5zZm9ybSBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNlbGVjdGVkIHtcbiAgICAgICAgLnNlbGVjdGVkLWluZGljYXRvciB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAaWYgdmFyaWFibGUtZXhpc3RzKGZvbnQtd2VpZ2h0cykgYW5kIG1hcC1oYXMta2V5KCRmb250LXdlaWdodHMsIHJlZ3VsYXIpe1xuXHQgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRmb250LXdlaWdodHMsIHJlZ3VsYXIpO1xuXHQgICAgfVxuICAgIH1cblx0Ji5mb2N1cyBsYWJlbCwgLmZvY3VzICsgbGFiZWwge1xuXHRcdEBleHRlbmQgJXVuZGVybGluZSAhb3B0aW9uYWw7XG5cdH1cblx0QGlmIHZhcmlhYmxlLWV4aXN0cyh0aGVtZS1jb2xvcnMpIGFuZCBtYXAtaGFzLWtleSgkdGhlbWUtY29sb3JzLCBwcmltYXJ5KXtcblx0ICAgIC5mb2N1cyArIGxpIGlucHV0IHtcblx0ICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgcHJpbWFyeSk7XG5cdCAgICB9XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgUmFkaW8gQnV0dG9uc1xuLS0tLS0tLS0tLSAqL1xuXG4lY3VzdG9tLXJhZGlvIHtcblx0QGV4dGVuZCAlY3VzdG9tLWNoZWNrYm94O1xuXG5cdC5pbnB1dC1iZyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMjByZW07XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgRGlhbG9nc1xuLS0tLS0tLS0tLSAqL1xuXG4lZGlhbG9nLWhvbGRlciB7XG5cdEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwIDAgMCAwKTtcblx0b3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjMpO1xuICAgIHRyYW5zaXRpb246IDAuMnMgYmFja2dyb3VuZCBlYXNlLWluLW91dDtcblxuXHQuc2Nyb2xsIHtcblx0XHRAZXh0ZW5kICVmdWxsLXdpZHRoICFvcHRpb25hbDtcblx0XHRAZXh0ZW5kICVmdWxsLWhlaWdodCAhb3B0aW9uYWw7XG5cdFx0QGV4dGVuZCAldGFibGUgIW9wdGlvbmFsO1xuXHR9XG5cdC5jZW50ZXIge1xuXHRcdEBleHRlbmQgJXRhYmxlLWNlbGwgIW9wdGlvbmFsO1xuXHRcdEBleHRlbmQgJXYtYWxpZ24tbWlkZGxlICFvcHRpb25hbDtcbiAgICAgICAgQGV4dGVuZCAlcmVsYXRpdmUgIW9wdGlvbmFsO1xuXHR9XG5cdC5kaWFsb2cge1xuICAgICAgICBAZXh0ZW5kICViZy13aGl0ZSAhb3B0aW9uYWw7XG5cdFx0QGV4dGVuZCAlZnVsbC13aWR0aCAhb3B0aW9uYWw7XG5cdFx0QGlmIHZhcmlhYmxlLWV4aXN0cyhncmlkLWd1dHRlci13aWR0aCl7XG5cdFx0XHRtYXJnaW46ICRncmlkLWd1dHRlci13aWR0aCBhdXRvO1xuXHRcdH1cbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcblx0XHR3aWR0aDogOTAlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCAxZW0gcmdiYSgwLDAsMCwwLjM1KTtcblx0XHRAaWYgdmFyaWFibGUtZXhpc3RzKGdyaWQtcGFkZGluZyl7XG5cdFx0XHRwYWRkaW5nOiAkZ3JpZC1wYWRkaW5nICogMS41O1xuXHRcdH1cblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG5cblx0XHRAaWYgdmFyaWFibGUtZXhpc3RzKGdyaWQtYnJlYWtwb2ludHMpe1xuXHRcdFx0Ji5kaWFsb2ctbGcge1xuXHRcdFx0XHRtYXgtd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIGxnKTtcblx0XHRcdH1cblx0XHRcdCYuZGlhbG9nLW1kIHtcblx0XHRcdFx0bWF4LXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBtZCk7XG5cdFx0XHR9XG5cdFx0XHQmLmRpYWxvZy1zbSB7XG5cdFx0XHRcdG1heC13aWR0aDogbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgc20pO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuZGlhbG9nLWhlYWRpbmcge1xuXHRcdFx0QGlmIHZhcmlhYmxlLWV4aXN0cyhncmlkLXBhZGRpbmcpIGFuZCB2YXJpYWJsZS1leGlzdHMoZ3JpZC1ndXR0ZXItd2lkdGgpe1xuXHRcdFx0XHRwYWRkaW5nOiAoJGdyaWQtcGFkZGluZyAqIDEuNSkgJGdyaWQtZ3V0dGVyLXdpZHRoO1xuXHRcdFx0fVxuXG4gICAgICAgICAgICBoNCB7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDJlbTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXHRcdH1cblx0XHQuYnV0dG9uLWdyb3VwIHtcblx0XHRcdEBpZiB2YXJpYWJsZS1leGlzdHMoZ3JpZC1wYWRkaW5nKXtcblx0XHRcdFx0bWFyZ2luLXRvcDogJGdyaWQtcGFkZGluZztcblx0XHRcdH1cblxuXHRcdFx0LmJ0biB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMC41ZW07XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5kaWFsb2ctZXJyb3Ige1xuXHRcdFx0d2lkdGg6IDYwJTtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cdCY6bm90KC5jbG9zaW5nKSB+ICYge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFRvb2x0aXBzXG4tLS0tLS0tLS0tICovXG5cbiV0b29sdGlwc3Rlci1iYXNlIHtcblx0LnRvb2x0aXBzdGVyLWJveCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLDAsMCwwLjI1KTtcblx0XHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE4cHg7XG5cdFx0cGFkZGluZzogOHB4IDEwcHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWF4LXdpZHRoOiAyNzVweDtcblxuICAgICAgICAudG9vbHRpcHN0ZXItY29udGVudCB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb2xvci13aGl0ZSAhb3B0aW9uYWw7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cdH1cbiAgICAudG9vbHRpcHN0ZXItYXJyb3ctYm9yZGVyIHtcbiAgICBcdGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXHQmLmRlZmF1bHQge1xuICAgICAgICAudG9vbHRpcHN0ZXItYm94IHtcbiAgICAgICAgXHRAaWYgdmFyaWFibGUtZXhpc3RzKGJvZHktY29sb3Ipe1xuXHQgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYm9keS1jb2xvcjtcblx0ICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRvb2x0aXBzdGVyLWFycm93LWJhY2tncm91bmQge1xuICAgICAgICBcdEBpZiB2YXJpYWJsZS1leGlzdHMoYm9keS1jb2xvcil7XG5cdCAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib2R5LWNvbG9yO1xuXHQgICAgICAgIH1cbiAgICAgICAgfVxuXHR9XG4gICAgdWwudG9vbHRpcC1saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMS41ZW07XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBQcm9qZWN0IFNwZWNpZmljIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgT3B0aW9uc1xuLS0tLS0tLS0tLSAqL1xuXG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgZmFsc2U7XG4kZW5hYmxlLXNoYWRvd3M6XHRcdFx0ZmFsc2U7XG4kZW5hYmxlLXJlc3BvbnNpdmUtdGV4dDpcdHRydWU7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIENvbG9yc1xuLS0tLS0tLS0tLSAqL1xuXG4kYnJhbmQtcHJpbWFyeTogICAgICAgICAjMDA3QUY4O1xuJGJyYW5kLXNlY29uZGFyeTogICAgICAgI2VlZTA0NztcbiRicmFuZC10ZXJ0aWFyeTogICAgICAgICNlOTJhMGU7XG5cbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZSgkdGhlbWUtY29sb3JzLCAoXG4gICAgcHJpbWFyeTogJGJyYW5kLXByaW1hcnksXG4gICAgc2Vjb25kYXJ5OiAkYnJhbmQtc2Vjb25kYXJ5LFxuICAgIHRlcnRpYXJ5OiAkYnJhbmQtdGVydGlhcnksXG4gICAgYmx1ZTogJGJyYW5kLXByaW1hcnksXG4gICAgeWVsbG93OiAkYnJhbmQtc2Vjb25kYXJ5LFxuICAgIHJlZDogJGJyYW5kLXRlcnRpYXJ5LFxuICAgIGJyYW5kLWxpZ2h0OiAjZTllOWU5LFxuICAgIGJyYW5kLWRhcms6ICMxYTFhMWEsXG4gICAgbGlnaHQ6ICNlOWU5ZTksXG4gICAgZGFyazogIzFhMWExYSxcbiAgICBzdWNjZXNzOiAjNjZiMTMyLFxuICAgIGluZm86ICRicmFuZC1wcmltYXJ5LFxuICAgIHdhcm5pbmc6ICRicmFuZC1zZWNvbmRhcnksXG4gICAgZGFuZ2VyOiAkYnJhbmQtdGVydGlhcnlcbikpO1xuXG4kYm9keS1iZzogICAgICAgICAgICAgICAjZmZmO1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgIzFhMWExYTtcblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnk7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSk7XG5cbiRsaW5lLWNvbG9yOiBcdFx0XHQjZGRkO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBMYXlvdXRcbi0tLS0tLS0tLS0gKi9cblxuJGdyaWQtZ3V0dGVyLXdpZHRoOiBcdCAxcmVtO1xuJGdyaWQtcGFkZGluZzpcdFx0XHQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcblxuJHZlcnRpY2FsLW1hcmdpbi1iYXNlOlx0IDEuNWVtO1xuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICAgIHhzOiAwLFxuICAgIHNtOiA1NzZweCxcbiAgICBtZDogNzY5cHgsXG4gICAgbGc6IDk5MnB4LFxuICAgIHhsOiAxMjgwcHhcbik7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0gKi9cblxuJGZvbnQtc2l6ZXM6IChcbiAgICByb290OiAxNnB4LFxuICAgIGgxOiAzMXB4LFxuICAgIGgyOiA1NHB4LFxuICAgIGgzOiAzMnB4LFxuICAgIGg0OiAyM3B4LFxuICAgIGg1OiAyMHB4LFxuICAgIGg2OiAxOHB4LFxuICAgIGxlYWQ6IDI1cHgsXG4gICAgYmxvY2txdW90ZTogMThweFxuKTtcblxuJGZvbnQtc2l6ZS1iYXNlOiAxcmVtO1xuXG4vLyRlbmFibGUtYW50aWFsaWFzaW5nOiBmYWxzZTtcblxuJGxlYWQtZm9udC1zaXplOiByZW1zKG1hcC1nZXQoJGZvbnQtc2l6ZXMsIGxlYWQpKTtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogcmVtcyhtYXAtZ2V0KCRmb250LXNpemVzLCBibG9ja3F1b3RlKSk7XG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBhem8tc2Fucy13ZWIsIFwiQXZlbmlyXCIsIFwiVHcgQ2VuIE1UXCIsIFwiSGVsdmV0aWNhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1iYXNlOiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcblxuJGZvbnQtd2VpZ2h0czogKFxuICAgIGJvbGQ6IDcwMCxcbiAgICBtZWRpdW06IDUwMCxcbiAgICByZWd1bGFyOiA0MDBcbik7XG5cbiRmb250LXdlaWdodC1iYXNlOiBtYXAtZ2V0KCRmb250LXdlaWdodHMsIHJlZ3VsYXIpO1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRmb250LXdlaWdodHMsIGJvbGQpO1xuJGxlYWQtZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGZvbnQtd2VpZ2h0cywgbWVkaXVtKTtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNjU7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6IDEuMjU7XG5cbiRsaW5rLWRlY29yYXRpb246IHVuZGVybGluZTtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiRyZXNwb25zaXZlLXRleHQ6IChcbiAgICBtb2JpbGUtbWluLXNpemU6IDEycHgsXG4gICAgbW9iaWxlLW1heC1zaXplOiBtYXAtZ2V0KCRmb250LXNpemVzLCByb290KSxcbiAgICBkZXNrdG9wLW1pbi1zaXplOiAxMnB4LFxuICAgIGRlc2t0b3AtbWF4LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZXMsIHJvb3QpLFxuICAgIG1pbi1zY3JlZW4td2lkdGg6IDMyMHB4LFxuICAgIG1vYmlsZS1zY3JlZW4td2lkdGg6IDc2OHB4LFxuICAgIG1heC1zY3JlZW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIHhsKVxuKTtcblxuLyogLS0tLS0tLS0tLVxuIEAgTWlzY1xuLS0tLS0tLS0tLSAqL1xuXG4kaHItYm9yZGVyLWNvbG9yOiAkbGluZS1jb2xvcjtcbiRoci1ib3JkZXItd2lkdGg6IDFweDtcblxuJGJvcmRlci1yYWRpdXM6IDA7XG4kYm9yZGVyLXJhZGl1cy1sZzogJGJvcmRlci1yYWRpdXMgKiAxLjU7XG4kYm9yZGVyLXJhZGl1cy1zbTogJGJvcmRlci1yYWRpdXMgLyAxLjU7XG5cbiRjb250YWluZXItd2lkdGg6IDEzNDRweDtcbiIsIiNuZXdzIHtcbiAgICBtYXJnaW46IDYuNzVyZW0gMDtcblxuICAgIC5uby1yZXN1bHRzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogNHJlbSAwIDJyZW07XG5cbiAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE1MCwgMTUwLCAxNTAsIDAuMjUpO1xuICAgICAgICB9XG4gICAgICAgIC5uby1yZXN1bHRzLXRleHQge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDVyZW07XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2FyZCB7XG4gICAgICAgIC5jYXJkLWNvbnRlbnQge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwLjVyZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucGFnaW5hdGlvbi1hcmVhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG59XG5cbi8vIE1vYmlsZSBTdHlsZXNcblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbGcpKSB7XG4gICAgI25ld3Mge1xuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjc1cmVtO1xuXG4gICAgICAgICAgICAuY2FyZC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmQgLmZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIGFuZCAobWluLXdpZHRoOiBicmVha3BvaW50LWdldCgnbWluJywgc20pKSB7XG4gICAgI25ld3Mge1xuICAgICAgICAuY2FyZC1jb250ZW50LCAuY2FyZC1pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5uZXdzLXBvc3Rpbmcge1xuICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIG1kKSkge1xuICAgICNuZXdzIHtcbiAgICAgICAgLmNhcmQge1xuICAgICAgICAgICAgLmNhcmQtYm90dG9tIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIHNtKSkge1xuICAgICNuZXdzIHtcbiAgICAgICAgbWFyZ2luOiA0cmVtIDA7XG5cbiAgICAgICAgZGl2LmNhcmQge1xuICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcblxuICAgICAgICAgICAgLmNhcmQtaW1hZ2UgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5sLXBlb3BsZS1ncmlkIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICBwYWRkaW5nOiAzcmVtIDAgNi41cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBoMyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICAmICsgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuXG4ubC1wZW9wbGUtZ3JpZC0tYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItZ2V0KGJsdWUpO1xuXG4gICAgaDMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG59XG4ubC1wZW9wbGUtZ3JpZC0tZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItZ2V0KGxpZ2h0KTtcbn1cbi5sLXBlb3BsZS1ncmlkLS1tb2xlY3VsZXMge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLWdldChsaWdodCkgdXJsKCcuLi9pbWcvdWktYXNzZXRzL3JhZG9uLWNoZW1pY2FsLXN0cnVjdHVyZS10aWxlLnN2ZycpIHJlcGVhdCBjZW50ZXIvNzAwcHggYXV0bztcbn1cbi5sLXBlb3BsZS1ncmlkLS1yYWRpYXRpb24ge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLWdldChsaWdodCkgdXJsKCcuLi9pbWcvdWktYXNzZXRzL251Y2xlYXItYmFja2dyb3VuZC10aWxlLnN2ZycpIHJlcGVhdCBjZW50ZXIvNzAwcHggYXV0bztcbn1cbi5sLXBlb3BsZS1ncmlkX19zdGFmZi5sLXBlb3BsZS1ncmlkX19zdGFmZiB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRjb250YWluZXItd2lkdGgpIHtcbiAgICAubGF5b3V0LWJsb2NrLS1wZW9wbGUtZ3JpZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCgoI3skY29udGFpbmVyLXdpZHRofSAtIDEwMCUgLSAzLjI1cmVtKSArICgoMTAwdncgLSAjeyRjb250YWluZXItd2lkdGh9KSAvIDIpICsgMS43NXJlbSkgKiAtMSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygoKDEwMHZ3IC0gI3skY29udGFpbmVyLXdpZHRofSkgLyAyICsgMnJlbSkgKiAtMSk7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRjb250YWluZXItd2lkdGgpIGFuZCAobWluLXdpZHRoOiBicmVha3BvaW50LWdldCgnbWluJywgbGcpKSB7XG4gICAgLmxheW91dC1ibG9jay0tcGVvcGxlLWdyaWQge1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygoMTAwdncgLSAxMDAlIC0gMnJlbSkgKiAtMSk7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBsZykpIHtcbiAgICAubGF5b3V0LWJsb2NrLS1wZW9wbGUtZ3JpZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMi41cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDAuNzVyZW0pO1xuICAgIH1cbn1cbiIsIi5jLWFjY29yZGlvbnMge1xuICAgIC0tYWNjb3JkaW9uLXRvZ2dsZS1iZy1jb2xvcjogdmFyKC0tYnJhbmQtZ3JleSk7XG4gICAgLS1hY2NvcmRpb24tdG9nZ2xlLWljb24tYmctY29sb3ItYWN0aXZlOiAjZmZmO1xuICAgIC0tYWNjb3JkaW9uLXRvZ2dsZS1pY29uLWxpbmUtY29sb3ItYWN0aXZlOiB2YXIoLS1icmFuZC1jaGFyY29hbCk7XG4gICAgcGFkZGluZzogMDtcbn1cbi5jLWFjY29yZGlvbnNfX3NlY3Rpb24taGVhZGluZyArIC5jLWFjY29yZGlvbnNfX3NlY3Rpb24tY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbn1cbi5jLWFjY29yZGlvbnNfX3NlY3Rpb24taGVhZGluZyArIC5jLWFjY29yZGlvbnNfX2xpc3Qge1xuICAgIG1hcmdpbi10b3A6IDEuNzVyZW07XG59XG4uYy1hY2NvcmRpb25zX19zZWN0aW9uLWNvbnRlbnQgKyAuYy1hY2NvcmRpb25zX19saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAyLjRyZW07XG59XG4uYy1hY2NvcmRpb24ge1xuICAgIC0teC1wYWRkaW5nOiAxLjg1cmVtO1xuICAgIC0teS1wYWRkaW5nOiAxLjVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbn1cbi5oYXMtb3Blbi1hY2NvcmRpb24uYy1hY2NvcmRpb24gLmMtYWNjb3JkaW9uX190b2dnbGUtYnV0dG9uIHtcbiAgICAtLXRvZ2dsZS1iZzogdmFyKC0tYWNjb3JkaW9uLXRvZ2dsZS1pY29uLWJnLWNvbG9yLWFjdGl2ZSk7XG4gICAgLS1pY29uLWNvbG9yOiB2YXIoLS1hY2NvcmRpb24tdG9nZ2xlLWljb24tbGluZS1jb2xvci1hY3RpdmUpO1xufVxuLmMtYWNjb3JkaW9uX190aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLWFjY29yZGlvbi10aXRsZS1jb2xvciwgdmFyKC0tYnJhbmQtYmx1ZSkpO1xuICAgIGZvbnQtc2l6ZTogMS42NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBmbGV4OiAxO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xufVxuLmMtYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1ncmV5KTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5oYXMtb3Blbi1hY2NvcmRpb24gLmMtYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG4uYy1hY2NvcmRpb25fX2ljb24td3JhcHBlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDEuNjdyZW0gMCAzLjExcmVtO1xufVxuLmMtYWNjb3JkaW9uX190b2dnbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NvcmRpb24tdG9nZ2xlLWJnLWNvbG9yKTtcbiAgICBwYWRkaW5nOiB2YXIoLS15LXBhZGRpbmcpIDAgdmFyKC0teS1wYWRkaW5nKSB2YXIoLS14LXBhZGRpbmcpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5jLWFjY29yZGlvbl9fdG9nZ2xlLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmhhcy1vcGVuLWFjY29yZGlvbiAuYy1hY2NvcmRpb25fX3RvZ2dsZSxcbi5jLWFjY29yZGlvbl9fdG9nZ2xlOmhvdmVyIHtcbiAgICAtLWFjY29yZGlvbi10aXRsZS1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NvcmRpb24tdG9nZ2xlLWJnLWNvbG9yLWFjdGl2ZSwgdmFyKC0tYnJhbmQtcm95YWwtYmx1ZSkpO1xufVxuLmhhcy1vcGVuLWFjY29yZGlvbi5jLWFjY29yZGlvbiAuYy10b2dnbGUtYnV0dG9uX19saW5lLS15IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG4uYy1hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0teS1wYWRkaW5nKSAvIDIgKiAtMSkpO1xufVxuLmMtYWNjb3JkaW9uX19pbm5lciB7XG4gICAgcGFkZGluZzogdmFyKC0tdmVydGljYWwtbWFyZ2luLWJhc2UpIHZhcigtLXgtcGFkZGluZykgdmFyKC0teS1wYWRkaW5nKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC5jLWFjY29yZGlvbnNfX3NlY3Rpb24tY29udGVudCArIC5jLWFjY29yZGlvbnNfX2xpc3Qge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjc1cmVtO1xuICAgIH1cbiAgICAuYy1hY2NvcmRpb25zX19zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAuYy1hY2NvcmRpb24ge1xuICAgICAgICAtLXgtcGFkZGluZzogdmFyKC0tZ3JpZC1wYWRkaW5nKTtcbiAgICB9XG4gICAgLmMtYWNjb3JkaW9uIC5jLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuYy1hY2NvcmRpb25fX2ljb24td3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMC42M3JlbTtcbiAgICB9XG59XG4iLCIuYy10b2dnbGUtYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgLS1pY29uLXNpemU6IDEuMWVtO1xuICAgIC0tdG9nZ2xlLXNpemU6IDUwcHg7XG4gICAgLS10b2dnbGUtYmc6IHZhcigtLXRvZ2dsZS1idXR0b24tYmctY29sb3IsIHZhcigtLWJyYW5kLWJsdWUpKTtcbiAgICAtLXRvZ2dsZS1iZy1hY3RpdmU6ICNmZmY7XG4gICAgLS1pY29uLWNvbG9yOiAjZmZmO1xuICAgIC0taWNvbi1jb2xvci1hY3RpdmU6IHZhcigtLWJyYW5kLWNoYXJjb2FsKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9nZ2xlLWJnLCB2YXIoLS1icmFuZC1ibHVlKSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiB2YXIoLS10b2dnbGUtc2l6ZSwgNTRweCk7XG4gICAgaGVpZ2h0OiB2YXIoLS10b2dnbGUtc2l6ZSwgNTRweCk7XG4gICAgaW5zZXQ6IHZhcigtLXRvZ2dsZS1pbnNldCk7XG4gICAgei1pbmRleDogMjAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xufVxuLmMtdG9nZ2xlLWJ1dHRvbl9fY29udGVudCB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2UtaW4tb3V0O1xufVxuLmMtdG9nZ2xlLWJ1dHRvbjpob3Zlcixcbi5jLXRvZ2dsZS1idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvZ2dsZS1iZy1hY3RpdmUsICNmZmYpO1xufVxuLmMtdG9nZ2xlLWJ1dHRvbl9faWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWljb24tY29sb3IpO1xufVxuLmMtdG9nZ2xlLWJ1dHRvbjpob3ZlciAuYy10b2dnbGUtYnV0dG9uX19pY29uLFxuLmMtdG9nZ2xlLWJ1dHRvbjpmb2N1cyAuYy10b2dnbGUtYnV0dG9uX19pY29uIHtcbiAgICBjb2xvcjogdmFyKC0taWNvbi1jb2xvci1hY3RpdmUpO1xufVxuLmMtdG9nZ2xlLWJ1dHRvbl9fdHJheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG59XG4uYy10b2dnbGUtYnV0dG9uX19pY29uIHtcbiAgICBoZWlnaHQ6IHZhcigtLWljb24tc2l6ZSk7XG59XG4uYy10b2dnbGUtYnV0dG9uX19saW5lIHtcbiAgICB0cmFuc2l0aW9uOiAyNTBtcyBhbGwgZWFzZTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG4uaXMtYWN0aXZlLXRvb2x0aXAgLmMtdG9nZ2xlLWJ1dHRvbl9fbGluZS0teSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC5jLXRvZ2dsZS1idXR0b24ge1xuICAgICAgICAtLWljb24tc2l6ZTogMC43NWVtO1xuICAgICAgICAtLXRvZ2dsZS1zaXplOiA0MHB4O1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2xheW91dC1ibG9jay1wZW9wbGUtZ3JpZCc7XG5AaW1wb3J0IFwiYWNjb3JkaW9uXCI7XG5AaW1wb3J0IFwidG9nZ2xlLWJ1dHRvblwiO1xuXG4uYmxvY2stY29udGVudCB7XG4gICAgbWFyZ2luOiA0Ljc1cmVtIDA7XG5cbiAgICAucm93OmZpcnN0LW9mLXR5cGUuYmxvY2stdGV4dC1jb250ZW50LCAucm93OmZpcnN0LW9mLXR5cGUuaW1hZ2UtdGV4dC1ibG9jayxcbiAgICAucm93OmZpcnN0LW9mLXR5cGUgLmJsb2NrLXRleHQtY29udGVudCwgLnJvdzpmaXJzdC1vZi10eXBlIC5pbWFnZS10ZXh0LWJsb2NrLFxuICAgIC5yb3c6Zmlyc3Qtb2YtdHlwZSAuYmxvY2stYWNjb3JkaW9ucyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIH1cbiAgICAuYmxvY2stdGV4dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuYmxvY2stdGV4dC1mdWxsd2lkdGgge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICBmb250LXNpemU6IHJlbXMoMjVweCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRmb250LXdlaWdodHMsIG1lZGl1bSk7XG5cbiAgICAgICAgLmJsYWNrLWJ1dHRvbi1vdXRsaW5lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGF5b3V0LWJsb2NrLS10ZXh0OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgaDMsIGg0LCBoNSB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5ibG9jay10ZXh0LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDAgMXJlbTtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblxuICAgICAgICBwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIuMXJlbTtcbiAgICAgICAgfVxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMXJlbSAwO1xuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkZm9udC1zaXplcywgaDUpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIGNvbG9yLWdldChwcmltYXJ5KTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5ibG9jay1idXR0b25zIHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuXG4gICAgICAgIC5ibG9jay1idXR0b25zX19idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGF5b3V0LWJsb2NrLS10ZXh0ICsgLmxheW91dC1ibG9jay0tYnV0dG9ucyAuYmxvY2stYnV0dG9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMXJlbTtcbiAgICB9XG4gICAgLmxheW91dC1ibG9jay0tdGV4dC0tZ3JleSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWxpZ2h0KTtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDguMzMzJTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gICAgfVxuICAgIC5sYXlvdXQtYmxvY2stLXRleHQtLWdyZXkgKyAubGF5b3V0LWJsb2NrLS10ZXh0LS1ncmV5IHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTUuOXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgLmJsb2NrLXRleHQtY29udGVudDpoYXMoaDE6Zmlyc3QtY2hpbGQsIGgyOmZpcnN0LWNoaWxkLCBoMzpmaXJzdC1jaGlsZCwgaDQ6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGF5b3V0LWJsb2NrLS10ZXh0LS13aGl0ZSArIC5sYXlvdXQtYmxvY2stLXRleHQtLXdoaXRlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAuYmxvY2stdGV4dC1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjFyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJsb2NrLXZpZGVvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmlmcmFtZS1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDE2LDkpO1xuXG4gICAgICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgdmlkZW8ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZ1bGwtd2lkdGgtaW1hZ2Uge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMjVzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZ1bGwtd2lkdGgtaW1hZ2UtLWhhcy1saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwLjVyZW0gMS41cmVtIDJweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5mdWxsLXdpZHRoLWltYWdlX19saW5rIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgIH1cbiAgICAuaW1hZ2UtdGV4dC1ibG9jayB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoNCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB3ZWlnaHQtZ2V0KG1lZGl1bSk7XG4gICAgfVxuICAgIGgzICsgKiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgaDQgKyAqIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBwLCB1bCwgb2wge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICB0YWJsZSB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2FmOCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzgwODA4MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmN1c3RvbS1jaGVja2JveCAuaW5wdXQtYmcge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgICAgICAgZm9udC1zaXplOiByZW1zKDEycHgpO1xuICAgICAgICBjb2xvcjogY29sb3ItZ2V0KGRhcmspO1xuICAgICAgICBmb250LXdlaWdodDogd2VpZ2h0LWdldChyZWd1bGFyKTtcbiAgICB9XG59XG4uY29udGFjdCAuYmxvY2stY29udGVudCAuYmxvY2stdGV4dC1mdWxsd2lkdGgge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG4ubGF5b3V0LWJsb2NrLS1hY2NvcmRpb25zIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbGcpKSB7XG4gICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDRyZW0gMCAxcmVtO1xuXG4gICAgICAgIHVsOm5vdCgucGFnaW5hdGlvbik6bm90KC5uby1saXN0LXN0eWxlKTpub3QoW2NsYXNzXj1cImdmaWVsZFwiXSk6bm90KFtjbGFzc149XCJnZm9ybV9maWVsZHNcIl0pIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuXG4gICAgICAgICAgICBsaTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbWFnZS10ZXh0LWJsb2NrIGltZyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIH1cbiAgICAgICAgLmxheW91dC1ibG9jay0tdGV4dC0tZ3JleSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDEuNXJlbSAzcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycmVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMnJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIG1kKSkge1xuICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAycmVtIDAgMXJlbTtcbiAgICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIGNvbmNpc2UsIG9uZS1saW5lIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbmluZ1xuLy8vIHByb3BlcnRpZXM6IGBwb3NpdGlvbmAsIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCBhbmQgYGxlZnRgLiBVc2UgYSBgbnVsbGBcbi8vLyB2YWx1ZSB0byDigJxza2lw4oCdIGFuIGVkZ2Ugb2YgdGhlIGJveC5cbi8vL1xuLy8vIEBhcmd1bWVudCB7c3RyaW5nfSAkcG9zaXRpb25cbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlLlxuLy8vXG4vLy8gQGFyZ3VtZW50IHtsaXN0fSAkYm94LWVkZ2UtdmFsdWVzXG4vLy8gICBMaXN0IG9mIGxlbmd0aHM7IGFjY2VwdHMgQ1NTIHNob3J0aGFuZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIDAgbnVsbCBudWxsIDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gICAvLyBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGxlZnQ6IDEwZW07XG4vLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vLyAgICAgdG9wOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC8vIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8vICAgICB0b3A6IDA7XG4vLy8gICAgIHJpZ2h0OiAwO1xuLy8vICAgICBib3R0b206IDA7XG4vLy8gICAgIGxlZnQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IF9pcy1sZW5ndGhcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gX3VucGFjay1zaG9ydGhhbmRcblxuQG1peGluIHBvc2l0aW9uKFxuICAkcG9zaXRpb24sXG4gICRib3gtZWRnZS12YWx1ZXNcbikge1xuICAkYm94LWVkZ2UtdmFsdWVzOiBfdW5wYWNrLXNob3J0aGFuZCgkYm94LWVkZ2UtdmFsdWVzKTtcbiAgJG9mZnNldHM6IChcbiAgICB0b3A6ICAgIG50aCgkYm94LWVkZ2UtdmFsdWVzLCAxKSxcbiAgICByaWdodDogIG50aCgkYm94LWVkZ2UtdmFsdWVzLCAyKSxcbiAgICBib3R0b206IG50aCgkYm94LWVkZ2UtdmFsdWVzLCAzKSxcbiAgICBsZWZ0OiAgIG50aCgkYm94LWVkZ2UtdmFsdWVzLCA0KSxcbiAgKTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBlYWNoICRvZmZzZXQsICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XG4gICAgQGlmIF9pcy1sZW5ndGgoJHZhbHVlKSB7XG4gICAgICAjeyRvZmZzZXR9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCIucGFnZS1iYW5uZXIge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLWdldChwcmltYXJ5KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTtcblxuICAgICYuaG9tZS1iYW5uZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gICAgfVxuICAgIC5oaWRkZW4ge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCk7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgLmJhbm5lci1jaXR5c2NhcGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGhlaWdodDogOS4zNzVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi5saW5lIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1nL3VpLWFzc2V0cy9jaXR5LWxpbmUtdGl0bGUuc3ZnJykgcmVwZWF0LXggY2VudGVyL2NvbnRhaW47XG4gICAgICAgIH1cbiAgICAgICAgJi5zaWxob3VldHRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1nL3VpLWFzc2V0cy9jaXR5LXNpbGhvdWV0dGUtdGl0bGUuc3ZnJykgcmVwZWF0LXggYm90dG9tIGNlbnRlci9jb250YWluO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDk5JSAwIDAgMCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJvZHktY29sb3I7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNpbGhvdWV0dGUtaW5uZXItbGF5ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWcvdWktYXNzZXRzL2NpdHktc2lsaG91ZXR0ZS10aXRsZS5zdmcnKSByZXBlYXQteCBib3R0b20gY2VudGVyL2NvbnRhaW47XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMC44cmVtIDAgLTVyZW0gMCk7XG4gICAgICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJhbm5lci13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAucGFnZS1oZWFkaW5nIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQuMzc1cmVtIDA7XG5cbiAgICAgICAgICAgIC5oMyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5ibGFjay1idXR0b24tb3V0bGluZSB7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJvZHktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRib2R5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yLWdldChwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2Fyb3VzZWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRib2R5LWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiA0cmVtIDAgNnJlbTtcbiAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XG5cbiAgICAgICAgJi0tYmx1ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1nZXQocHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICAgICAgLnNsaWRlciB7XG5cbiAgICAgICAgICAgIC5wcmV2aW91cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDI1JSBudWxsIDI1JSAyOHB4KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5uZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMjUlIDI4cHggMjUlIG51bGwpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByZXZpb3VzLFxuICAgICAgICAgICAgLm5leHQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNTByZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDJweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zbGlkZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgLmltYWdlLWhvbGRlciB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbXMoMzZweCk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAgICAgICAgIGksIGVtLCBzdHJvbmcsIGIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3ItZ2V0KHllbGxvdyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmltYWdlLWhvbGRlcl9fY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbWFnZS1ob2xkZXJfX2J0biB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMS4yNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY3RhLWJveGVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLy9tYXgtaGVpZ2h0OiA3NnB4O1xuXG4gICAgICAgIC5jdGEtYm94IHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjM1cmVtIDA7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtcygyMHB4KTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIGNvbG9yLWdldChwcmltYXJ5KTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDExNSUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoKDEwMHZ3IC0gMTI3MHB4KSAvIDIgKyAxcHgpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLWdldChzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3ItZ2V0KHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgICAgICAubGluayB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuc2Vjb25kIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCgxMDB2dyAtIDEyNzBweCkgLyAyICsgMXB4KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1nZXQocHJpbWFyeSk7XG5cbiAgICAgICAgICAgICAgICAuY3RhLWJveF9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYudGhpcmQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuMzVyZW0gMnJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1nZXQoYnJhbmQtbGlnaHQpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3ItZ2V0KGJyYW5kLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcblxuICAgICAgICAgICAgICAgIC5jdGEtYm94X19saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmN0YS1ib3hfX2xpbmtzIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIgLmN0YS1ib3hfX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcblxuICAgICAgICAgICAgICAgICAgICB1IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5saW5rIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY3RhLWJveF9fbGlua2VkLXRleHQge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmN0YS1ib3hfX2xpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDFyZW07XG5cbiAgICAgICAgICAgICAgICAuZmEtYW5nbGUtcmlnaHQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmZ1bGwtd2lkdGgge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgeGwpKSB7XG4gICAgLnBhZ2UtYmFubmVyIHtcbiAgICAgICAgLmN0YS1ib3hlcyAuY3RhLWJveCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbXMoMThweCk7XG5cbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBsZykpIHtcbiAgICAucGFnZS1iYW5uZXIge1xuICAgICAgICAuY3RhLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5jdGEtYm94ZXMge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7XG5cbiAgICAgICAgICAgIC5jdGEtYm94IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgLnBhZ2UtYmFubmVyIHtcbiAgICAgICAgLmJhbm5lci1jaXR5c2NhcGUge1xuICAgICAgICAgICAgJi5saW5lLCAmLnNpbGhvdWV0dGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJhbm5lci13cmFwcGVyIC5wYWdlLWhlYWRpbmcgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICB9XG4gICAgICAgIC5jYXJvdXNlbCAuc2xpZGUge1xuICAgICAgICAgICAgLmltYWdlLWhvbGRlciBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMi41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbWFnZS1ob2xkZXJfX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNhcm91c2VsIC5zbGlkZXIge1xuICAgICAgICAgICAgLnByZXZpb3VzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMjUlIG51bGwgMjUlIDEycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm5leHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAyNSUgMTJweCAyNSUgbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucHJldmlvdXMsXG4gICAgICAgICAgICAubmV4dCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5wYWdlLWJhbm5lciAuY3RhLWJveGVzIC5jdGEtYm94OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nOiAxLjM1cmVtIDAuNXJlbTtcbiAgICB9XG59XG4iLCIvLyBcIlN0ZXBzXCIgc2VjdGlvbiwgaW5jbHVkaW5nIG1lZGlhIHF1ZXJpZXNcblxuLnN0ZXBzLXNlY3Rpb24ge1xuICAgIG1hcmdpbjogNXJlbSAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuc3RlcC1pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAzLjg3NXJlbSBjYWxjKDguMzMzMzMlKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAtNTAlIC0zLjg3NXJlbSAtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1vZi10eXBlKDNuLTEpIHtcbiAgICAgICAgICAgIC5zdGVwLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIDAgLTUwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgLTUwJSAwIG51bGwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOm50aC1sYXN0LWNoaWxkKC1uKzMpIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zdGVwLWNvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luOjAgLSRncmlkLWd1dHRlci13aWR0aDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc3RlcC1udW1iZXIge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHdlaWdodC1nZXQoYm9sZCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW1zKDE0cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvci1nZXQocmVkKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLnJhZG9uIHtcbiAgICAuaW1hZ2UtdGV4dC1ibG9jayB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxM2VtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5ibG9jay10ZXh0LWNvbnRlbnQge1xuICAgICAgICBoNDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIG1kKSkge1xuICAgIC5zdGVwcy1zZWN0aW9uIHtcbiAgICAgICAgLnN0ZXAtaXRlbSB7XG4gICAgICAgICAgICAvL21hcmdpbjogMy44NzVyZW0gY2FsYygxNi42NjY2NiUpO1xuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDNuLTEpIHtcbiAgICAgICAgICAgICAgICAuc3RlcC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgICAgICAgICAuc3RlcC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgLTI1JSAwIG51bGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgtbiszKSB7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1sYXN0LWNoaWxkKC1uKzIpIHtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBzbSkpIHtcbiAgICAuc3RlcHMtc2VjdGlvbiB7XG4gICAgICAgIC5zdGVwLWl0ZW0ge1xuICAgICAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgtbiszKSB7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1sYXN0LWNoaWxkKC1uKzEpIHtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN0ZXAtY29udGVudCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cmVtO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLy8gUmVzdWx0cyBzZWN0aW9uLCBpbmNsdWRpbmcgbWVkaWEgcXVlcmllc1xuXG4ucmVzdWx0cy1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiA1LjYyNXJlbSAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogY29sb3ItZ2V0KGxpZ2h0KTtcblxuICAgIC5yZXN1bHRzLWludHJvIHtcbiAgICAgICAgbWFyZ2luOiA0cmVtIDA7XG5cbiAgICAgICAgLmludHJvLXRleHQgLnJlZCB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3ItZ2V0KHJlZCk7XG4gICAgICAgIH1cbiAgICAgICAgLmludHJvLWdyYXBoIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gICAgICAgICAgICAuZ3JhcGgtdGl0bGUsIC5ncmFwaC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogd2VpZ2h0LWdldChib2xkKTtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmdyYXBoLXRpdGxlIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmdyYXBoIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgI3skZ3JpZC1ndXR0ZXItd2lkdGh9KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgICAgICAgICAgdG8gcmlnaHQsXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yLWdldChibHVlKSxcbiAgICAgICAgICAgICAgICAgICAgY29sb3ItZ2V0KHJlZCkgNTAlXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRncmlkLWd1dHRlci13aWR0aCAqIDI7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgICAgICAgICAgICAgJHdpZHRoOiAzNnB4IC8gMjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDE4cHggc29saWQgY29sb3ItZ2V0KGxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtMThweCAwIDAgbnVsbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxOHB4IDAgMCBudWxsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmdyYXBoLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDAuMXJlbSAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTYwcHggMCBudWxsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGJvdHRvbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYTE5ZDlkIDUwJVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3MnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYuc2FmZS10aHJlc2hvbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDYwcHggbnVsbCAwIC00NXB4KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYTE5ZDlkO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYuZGFuZ2Vyb3VzLXRocmVzaG9sZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNjBweCBjYWxjKDUwJSAtICN7KCRncmlkLWd1dHRlci13aWR0aCAqIDIpfSkgMCBudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucmVzdWx0cy1jYXJkcyB7XG4gICAgICAgIC5yZXN1bHQtc2FmZSwgLnJlc3VsdC1kYW5nZXJvdXMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMS4zcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yZXN1bHQtc2FmZSB7XG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yLWdldChibHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmVzdWx0LWRhbmdlcm91cyB7XG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yLWdldChyZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci1nZXQocmVkKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3ItZ2V0KHJlZCk7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3ItZ2V0KHJlZCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgLnJlc3VsdHMtc2VjdGlvbiAucmVzdWx0cy1pbnRybyAuaW50cm8tZ3JhcGggLmdyYXBoIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGdyaWQtZ3V0dGVyLXdpZHRofSk7XG5cbiAgICAgICAgLmdyYXBoLWxhYmVsLnNhZmUtdGhyZXNob2xkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA2MHB4IG51bGwgMCAwKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC02MHB4IG51bGwgbnVsbCAwKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnJlc3VsdHMtc2VjdGlvbiAucmVzdWx0cy1jYXJkcyAucmVzdWx0LXNhZmUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgIH1cbn0iXX0= */
