/* VARIABLES */
:root {
  --vertical-flow: 2.4rem;
  --color-white: #fff;
  --color-black: #000;
  --space-mobile-small: 2.5rem;
  --space-mobile-medium: 5rem;
  --space-mobile-large: 10rem;
  --space-mobile-xlarge: 20rem;
  --space-desktop-small: 2.5rem;
  --space-desktop-medium: 5rem;
  --space-desktop-large: 10rem;
  --space-desktop-xlarge: 20rem;
}

/*  Padding */
/* Breakpoints */
/* Swiper */
/* HELPERS */
.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* Libs general */
.theme-3 {
  --_body-background: white;
  --card-border-radius: 2rem;
  --_border-radius: 2.4rem;
}
.theme-3[data-dev-mode=true] {
  --color-primary: rgb(106, 57, 237);
  --body-font-family: "Montserrat-SemiBold", sans-serif;
  --body-font-weight: normal;
  --headings-font-family: "fredoka", serif;
  --headings-font-weight: normal;
}

.theme-3 {
  --_breadcrumb-dot-background: var(--color-primary);
}

.theme-3 .footer {
  --_footer-headings-color: white;
  --_footer-background: var(--color-primary);
}

.theme-3 .job-postings-size {
  --_job-postings-size-background: var(--color-primary);
  --_job-postings-size-color: white;
}

.theme-3 .main-menu {
  --_main-menu-background: rgb(255,255,255);
  --_main-menu-justify: center;
  --_main-menu-border-bottom: 1px solid rgb(226,225,224);
  --_main-menu-link-color: var(--color-primary);
  --_main-menu-link-color-hover: var(--color-primary);
  --_mobile-main-menu-text-color: var(--color-primary);
  --_mobile-main-menu-text-color-hover: var(--color-primary);
}
.theme-3 .mobile-top-menu {
  --_mobile-top-menu-text-color: var(--color-primary);
}
@media (min-width: 1200px) {
  .theme-3 .main-menu-search-icon {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
}

.theme-3 {
  --_menu-toggle-background: var(--color-primary);
  --_menu-search-toggle-background: transparent;
}

.theme-3 {
  --_pagination-border-radius: 50%;
  --_pagination-background: rgb(237,237,237);
  --_pagination-background-hover: var(--color-primary);
  --_pagination-text-color: inherit;
  --_pagination-text-color-hover: white;
}

.theme-3 {
  --_top-menu-background: rgb(237,237,237);
  --_top-menu-text-color: rgb(18,18,18);
}

.theme-3 .article-card {
  --_article-card-box-shadow: 4px 4px 40px 0px rgba(23, 21, 28, 0.08);
}
.theme-3 .article-card-content-employment, .theme-3 .article-card-published-date {
  opacity: 0.6;
}

.theme-3 .platter-filter,
.theme-3 .filter__wrapper {
  --_filter_wrapper_justify-content: center;
  --filter_input_background: lightgrey;
}
@media (min-width: 768px) {
  .theme-3 .platter-filter .filter__input .block:not(:first-of-type):not(:last-of-type) select,
.theme-3 .platter-filter .filter__input .block:not(:first-of-type):not(:last-of-type) .selector__input,
.theme-3 .filter__wrapper .filter__input .block:not(:first-of-type):not(:last-of-type) select,
.theme-3 .filter__wrapper .filter__input .block:not(:first-of-type):not(:last-of-type) .selector__input {
    border-radius: 0;
    border-right: solid 1px darkgrey;
    border-left: solid 1px darkgrey;
  }
  .theme-3 .platter-filter .filter__input .block:first-of-type select,
.theme-3 .platter-filter .filter__input .block:first-of-type .selector__input,
.theme-3 .filter__wrapper .filter__input .block:first-of-type select,
.theme-3 .filter__wrapper .filter__input .block:first-of-type .selector__input {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
  }
  .theme-3 .platter-filter .filter__input .block:last-of-type select,
.theme-3 .platter-filter .filter__input .block:last-of-type .selector__input,
.theme-3 .filter__wrapper .filter__input .block:last-of-type select,
.theme-3 .filter__wrapper .filter__input .block:last-of-type .selector__input {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
  }
  .theme-3 .platter-filter .filter__input--not-last .block:last-of-type select,
.theme-3 .platter-filter .filter__input--not-last .block:last-of-type .selector__input,
.theme-3 .filter__wrapper .filter__input--not-last .block:last-of-type select,
.theme-3 .filter__wrapper .filter__input--not-last .block:last-of-type .selector__input {
    border-radius: 0;
    border-right: solid 1px darkgrey;
    border-left: solid 1px darkgrey;
  }
}
@media (min-width: 768px) {
  .theme-3 .platter-filter .filter__sort .selector__input,
.theme-3 .filter__wrapper .filter__sort .selector__input {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    border-left: solid 1px darkgrey;
  }
}
.theme-3 .platter-filter .filter__search input,
.theme-3 .filter__wrapper .filter__search input {
  padding-left: 5rem;
}
@media (min-width: 768px) {
  .theme-3 .platter-filter .filter__search input,
.theme-3 .filter__wrapper .filter__search input {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
  }
}
.theme-3 .platter-filter .filter__search svg,
.theme-3 .filter__wrapper .filter__search svg {
  left: 2rem;
}
.theme-3 .platter-filter__content--activities .image img,
.theme-3 .platter-filter__content--articles .image img {
  height: 20rem;
  object-fit: cover;
}
@media (min-width: 768px) {
  .theme-3 .platter-filter__content--activities,
.theme-3 .platter-filter__content--articles {
    grid-template-columns: repeat(12, 1fr);
    grid-auto-flow: dense;
    row-gap: 5rem;
  }
  .theme-3 .platter-filter__content--activities .platter-filter__content-item:nth-child(7n+1),
.theme-3 .platter-filter__content--activities .platter-filter__content-item:nth-child(7n+7),
.theme-3 .platter-filter__content--articles .platter-filter__content-item:nth-child(7n+1),
.theme-3 .platter-filter__content--articles .platter-filter__content-item:nth-child(7n+7) {
    grid-area: span 1/span 7;
  }
  .theme-3 .platter-filter__content--activities .platter-filter__content-item:nth-child(7n+2),
.theme-3 .platter-filter__content--activities .platter-filter__content-item:nth-child(7n+8),
.theme-3 .platter-filter__content--articles .platter-filter__content-item:nth-child(7n+2),
.theme-3 .platter-filter__content--articles .platter-filter__content-item:nth-child(7n+8) {
    grid-area: span 1/span 5;
  }
  .theme-3 .platter-filter__content--activities .platter-filter__content-item:nth-child(7n+3),
.theme-3 .platter-filter__content--activities .platter-filter__content-item:nth-child(7n+4),
.theme-3 .platter-filter__content--activities .platter-filter__content-item:nth-child(7n+5),
.theme-3 .platter-filter__content--articles .platter-filter__content-item:nth-child(7n+3),
.theme-3 .platter-filter__content--articles .platter-filter__content-item:nth-child(7n+4),
.theme-3 .platter-filter__content--articles .platter-filter__content-item:nth-child(7n+5) {
    grid-area: span 1/span 4;
  }
  .theme-3 .platter-filter__content--activities .platter-filter__content-item:nth-child(7n+6),
.theme-3 .platter-filter__content--articles .platter-filter__content-item:nth-child(7n+6) {
    grid-area: span 1/span 5;
  }
}

.theme-3 .form--search-input-wrapper {
  outline: 1px solid var(--input-border-color, var(--_input-border-color, lightgray));
}
.theme-3 .form--search-input-wrapper:focus-within {
  outline: 2px solid var(--color-primary);
}

.theme-3 .frontpage-header-title {
  font-size: 4.4rem;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: white;
}
@media (min-width: 992px) {
  .theme-3 .frontpage-header-title {
    font-size: 6.4rem;
  }
}
.theme-3 .frontpage-header-title span {
  color: var(--_color-tertiary);
}
.theme-3 .frontpage-header-cta-wrapper {
  justify-content: center;
}
.theme-3 .frontpage-header-content {
  grid-area: 1/1/3/2;
  text-align: center;
  color: white;
}
@media (min-width: 992px) {
  .theme-3 .frontpage-header-content {
    grid-area: 1/1/2/3;
  }
}
.theme-3 .frontpage-header-content-inner {
  padding: 8.4rem 4.2rem;
}
@media (min-width: 992px) {
  .theme-3 .frontpage-header-content-inner {
    padding: 3rem 8.4rem 8.4rem;
  }
}
.theme-3 .header-video {
  grid-area: 1/1/3/2;
}
@media (min-width: 992px) {
  .theme-3 .header-video {
    aspect-ratio: 1440/680;
    grid-area: 1/1/2/3;
  }
}
.theme-3 .header-video::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0.24;
  background-color: var(--header_image_before, var(--_header_image_before, var(--headings-font-color, black)));
}
.theme-3 .frontpage-background-image {
  grid-area: 1/1/3/2;
  position: absolute;
  inset: 0;
}
@media (min-width: 992px) {
  .theme-3 .frontpage-background-image {
    grid-area: 1/1/2/3;
  }
}
.theme-3 .frontpage-background-image::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.24;
  background-color: var(--header_image_before, var(--_header_image_before, var(--headings-font-color, black)));
}
.theme-3 .frontpage-header-play {
  display: none;
}
.theme-3 .frontpage-header-play--theme-3 {
  margin-top: 2.4rem;
  display: flex;
  justify-content: center;
}
.theme-3 .frontpage-header-play--theme-3 .video-dialog-trigger {
  display: flex;
  align-items: center;
  background: rgba(0, 0, 0, 0.2);
  /* Note: backdrop-filter has minimal browser support */
  backdrop-filter: blur(10px);
  text-decoration: none;
  color: inherit;
}
.theme-3 .frontpage-header-play--theme-3 .video-dialog-trigger svg {
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  margin-right: 0.6rem;
}

.theme-3 .header-entry-items-wrapper {
  --_header_entry_items_offset_mobile: 0;
  --_header_entry_items_offset: 0;
}
.theme-3 .header-entry-items {
  --_header_entry_items_border_radius: var(--card-border-radius);
  --_header_entry_item_icon_border_radius: 50%;
  --_header_entry_item_icon_size: 5.6rem;
  --_header_entry_item_padding_block: 2.4rem;
  --_header_entry_item_padding_inline: 3.2rem;
}

.theme-3 .header {
  --_header_align: center;
}
.theme-3 .header__wrapper {
  padding: 10rem 0;
}
@media (min-width: 768px) {
  .theme-3 .header__wrapper {
    padding: 10rem 0 15rem;
  }
}
.theme-3 .header__content {
  padding: 0 1.5rem;
}
@media (min-width: 768px) {
  .theme-3 .header__content {
    padding: 0 5rem;
  }
}

.theme-3 .team_member {
  --_team-box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.3);
  --_team-content-padding: 3rem 3rem 0 3rem;
  display: grid;
  grid-template-areas: "portrait" "content";
  align-content: flex-start;
  grid-template-rows: auto 1fr;
}
.theme-3 .team_member__image {
  grid-area: portrait;
}
.theme-3 .team_member__content {
  grid-area: content;
  background-color: var(--team-background, var(--_team-background, white));
  transition: transform 0.3s, margin 0.3s;
  width: 100%;
  display: flex;
  flex-direction: column;
  transform: translateY(0);
}
.theme-3 .team_member__content .link {
  display: block;
  opacity: 0;
  padding-top: 1rem;
  margin-block-start: auto;
  transition: opacity 0.3s;
}
.theme-3 .team_member--link:hover .team_member__content {
  transform: translateY(-2rem);
}
.theme-3 .team_member--link:hover .team_member__content .link {
  color: var(--team-link-color, var(--color-primary));
  opacity: 1;
}

.theme-3 .testimonial:before {
  width: 4rem;
  height: 4px;
  content: "";
  border-radius: 1.9rem;
  margin-bottom: 2rem;
  background-color: var(--color-primary);
}

.theme-3 .accordion {
  --_accordion-border-radius: 8px;
  --_accordion-active-background: lightgrey;
  --accordion-padding-block: 2rem;
  --accordion-padding-inline: 3.2rem;
}

.theme-3 {
  --_button-padding: 1.6rem 3rem;
  --_button-border-radius: 3rem;
  --_button-text-color: white;
}

.theme-3 {
  --_input-background: rgb(241, 241, 241);
  --_input-color: rgb(23, 23, 23);
  --_input-label-color: rgb(23, 23, 23);
  --_input-placeholder-color: #555;
  --_input-padding-block: 1.6rem;
  --_input-padding-inline: 3.2rem;
  --_input-border-radius: 1.6rem;
  --_input-border-color: lightgray;
  --_input-focus-color: var(--color-primary);
  --_input-error-color: #c00;
  --_input-filename-background: rgb(241, 241, 241);
}

.theme-3 .cta_button {
  --cta_btn-box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.3);
}

.theme-3 .featured_page {
  --_featured_page-padding: 0;
  --_featured-page-box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.3);
  --_featured_page-content-padding: 0 3rem 3rem;
  --_featured_page-link-color: var(--color-primary);
}
.theme-3 .featured_page__title {
  flex-wrap: wrap;
}
.theme-3 .featured_page__title svg {
  margin-inline-start: auto;
}
.theme-3 .featured_page--link .featured_page__content {
  padding-bottom: 7rem;
}
.theme-3 .featured_page__content {
  border-top: solid 1px lightgrey;
  transition: border-color, 0.3s;
}
@media (prefers-reduced-motion: reduce) {
  .theme-3 .featured_page__content {
    transition: none;
  }
}
.theme-3 .featured_page.featured_page--large:not(.featured_page--image) .featured_page__content {
  border-top: none;
}
.theme-3 a.featured_page:hover .featured_page__content {
  border-color: var(--color-primary);
}

.theme-3 .image .title {
  --_image-title-background: rgba(0, 0, 0, 0.2);
  --_image-title-color: white;
}
.theme-3 .image.image--imgclip {
  position: relative;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.theme-3 .image.image--imgclip svg {
  position: absolute;
  bottom: -1px;
  left: -1px;
  right: -1px;
}
.theme-3 .image.image--imgclip svg path {
  fill: var(--body-background, var(--_body-background, white));
}

.theme-3 .colleagues-section {
  --_colleagues-columns: repeat(3, 1fr);
}
.theme-3 .colleagues-section .btn {
  display: none;
}
.theme-3 .colleagues-section .link {
  display: block;
}

.theme-3 .featured_activity .activity {
  --_featured_activity-box-shadow: 4px 4px 40px 0 rgba(23, 21, 28, 0.08);
}

.theme-3 .featured-section {
  --_featured_swiper_slide-box-shadow: 4px 4px 40px 0px rgba(23, 21, 28, 0.08);
  --_featured_swiper_scrollbar_background: rgba(79, 36, 104, 0.24);
  --_featured_swiper_scrollbar_drag_background: var(--color-primary);
}

.theme-3 .image-textblock {
  --_image_textblock-box-shadow: 4px 4px 40px 0px rgba(23, 21, 28, 0.08);
}

.theme-3 .impression-section {
  --_impression_swiper_title_padding: 1rem 10rem 1rem 1rem;
  --_impression_swiper_nav_margin: 0;
  --_impression_swiper_margin: 0 16.6666666667%;
  --_impression_swiper_nav_margin_mobile: 0;
}
.theme-3 .impression-section .impression_swiper .impression_swiper__slide__title {
  color: inherit;
  position: relative;
}
.theme-3 .impression-section .impression_swiper__slide {
  opacity: 0;
  transition: opacity, 0.2s;
}
.theme-3 .impression-section .impression_swiper__slide picture img {
  border-radius: var(--border-radius, var(--_border-radius, 0));
}
@media (prefers-reduced-motion: reduce) {
  .theme-3 .impression-section .impression_swiper__slide {
    transition: none;
  }
}
.theme-3 .impression-section .impression_swiper__slide.swiper-slide-active {
  opacity: 1;
}
.theme-3 .impression-section .impression_swiper__nav {
  position: relative;
  bottom: unset;
  left: unset;
  top: 0;
  right: unset;
  z-index: 10;
}
@media (min-width: 768px) {
  .theme-3 .impression-section .impression_swiper__nav {
    top: 1rem;
    right: 1rem;
  }
}
.theme-3 .impression-section .impression_swiper__nav__btns {
  display: none;
}
.theme-3 .impression-section .impression_swiper__nav__pagination {
  display: block;
  width: auto;
  margin-inline: auto;
  visibility: visible;
}
@media (min-width: 768px) {
  .theme-3 .impression-section .impression_swiper__nav__pagination {
    margin-inline: auto 0;
  }
}
.theme-3 .impression-section .impression_swiper__nav__pagination span {
  margin-left: 0.8rem;
  background-color: currentColor;
  opacity: 0.3;
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  transition: opacity;
}
@media (prefers-reduced-motion: reduce) {
  .theme-3 .impression-section .impression_swiper__nav__pagination span {
    transition: none;
  }
}
.theme-3 .impression-section .impression_swiper__nav__pagination span.swiper-pagination-bullet-active {
  opacity: 1;
}
.theme-3 .impression-section .impression_swiper__nav__scrollbar {
  display: none;
}

.theme-3 .testimonial-section {
  --_testimonial-display-pagination: flex;
  --_testimonial-pagination-margin: 2rem auto 2rem auto;
  --_testimonial-margin: 0 10rem;
  --_testimonial-display-btns: block;
  --_testimonial-box-shadow: 4px 4px 40px 0px rgba(23, 21, 28, 0.08);
  --_testimonial-color: black;
}
.theme-3 .testimonial-section .plate--container--swiper {
  max-width: unset;
}
.theme-3 .testimonial-section .testimonial_swiper {
  margin: 0;
}
@media (min-width: 768px) {
  .theme-3 .testimonial-section .testimonial_swiper {
    padding: 0 10rem;
  }
}
.theme-3 .testimonial-section .testimonial_swiper__slide .testimonial:before {
  display: none;
}
.theme-3 .testimonial-section .testimonial_swiper__nav .testimonial_swiper__nav__pagination {
  align-self: center;
}
.theme-3 .testimonial-section .testimonial_swiper__nav .testimonial_swiper__nav__btns {
  display: none;
}

.theme-3 .school_info_page__nav ul li.active > a {
  background-color: #f1f1f1;
}
.theme-3 .school_info_page__nav ul li a {
  padding: 1.5rem 2.4rem;
  border-radius: var(--border-radius, var(--_border-radius, 0));
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWVfMy5jc3MiLCJtYXBwaW5ncyI6IkFBQUE7QUNBQTtFQUNDO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7QUNGRDs7QURZQTtBQThCQTtBQWdCQTtBRHJFQTtBR3lNQTtFQVJDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEOUtEOztBRnZCQTtBSUpBO0VBQ0k7RUFDQTtFQUdBO0FGNkJKO0FFM0JJO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRjRCUjs7QUd6Q0E7RUFDSTtBSDRDSjs7QUk1Q0k7RUFDSTtFQUNBO0FKK0NSOztBS2pESTtFQUNJO0VBQ0E7QUxvRFI7O0FNdERJO0VBQ0k7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUVBO0VBQ0E7QU5zRFI7QU1uREk7RUFDSTtBTnFEUjtBT1JJO0VEMUNBO0lMaUxIO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VEM0hDO0FBQ0Y7O0FRL0VBO0VBQ0k7RUFDQTtBUmtGSjs7QVNwRkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUdUZKOztBVTVGQTtFQUNJO0VBQ0E7QVYrRko7O0FXaEdJO0VBQ0k7QVhtR1I7QVdsR1E7RUFFSTtBWG1HWjs7QVl2R0c7O0VBRUc7RUFDQTtBWjBHTjtBT2xESTtFS2xEaUI7Ozs7SUFFRztJQUNBO0lBQ0E7RVp5R3RCO0VZckdtQjs7OztJQUVHO0lBQ0E7RVp5R3RCO0VZckdtQjs7OztJQUVHO0lBQ0E7RVp5R3RCO0VZbEdzQjs7OztJQUVHO0lBQ0E7SUFDQTtFWnNHekI7QUFDRjtBT2xGSTtFS2JROztJQUVNO0lBQ0E7SUFDQTtFWmtHaEI7QUFDRjtBWTlGWTs7RUFDRztBWmlHZjtBTzlGSTtFS0pROztJQUdNO0lBQ0E7RVpvR2hCO0FBQ0Y7QVlsR1k7O0VBQ0c7QVpxR2Y7QVk3Rk07O0VBQ0c7RUFDQTtBWmdHVDtBTzlHSTtFS1VEOztJQVFNO0lBQ0E7SUFDQTtFWmlHUDtFWTlGTzs7OztJQUVHO0Vaa0dWO0VZL0ZPOzs7O0lBRUc7RVptR1Y7RVloR087Ozs7OztJQUdHO0VacUdWO0VZbEdPOztJQUNHO0VacUdWO0FBQ0Y7O0Fhek1FO0VBQ0U7QWI0TUo7QWEzTUk7RUFDRTtBYjZNTjs7QWMvTVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBZGtOWjtBTzVKSTtFTzFESTtJQU1RO0Vkb05kO0FBQ0Y7QWNsTlk7RUFDSTtBZG9OaEI7QWMvTUk7RUFDSTtBZGlOUjtBYzlNSTtFQUNJO0VBQ0E7RUFDQTtBZGdOUjtBTzVLSTtFT3ZDQTtJQU1RO0VkaU5WO0FBQ0Y7QWMvTVE7RUFDSTtBZGlOWjtBT3BMSTtFTzlCSTtJQUdRO0VkbU5kO0FBQ0Y7QWMvTUk7RUFDSTtBZGlOUjtBTzVMSTtFT3RCQTtJQUdRO0lBQ0E7RWRtTlY7QUFDRjtBY2pOUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZG1OWjtBYzVNSTtFQUNJO0VBRUE7RUFDQTtBZDZNUjtBTy9NSTtFT0ZBO0lBT1E7RWQ4TVY7QUFDRjtBYzVNUTtFQUNJO0VidkRYO0VBR0M7RUFNQTtFQU1BO0VBSUE7RWFzQ1U7RUFDQTtBZGtOWjtBYzNNSTtFQUNJO0FkNk1SO0FjNU1RO0VBQ0k7RUFFQTtFQUNBO0FkNk1aO0FjMU1ZO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QWQwTWhCO0Fjdk1nQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FkeU1wQjs7QWUvU0M7RUFDQztFQUNBO0Fma1RGO0FlL1NDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZmlURjs7QWdCNVRHO0VBQ0c7QWhCK1ROO0FnQjdUTTtFQUNHO0FoQitUVDtBT3hRSTtFU3hERTtJQUdNO0VoQmlVVjtBQUNGO0FnQi9UTTtFQUNHO0FoQmlVVDtBT2hSSTtFU2xERTtJQUdNO0VoQm1VVjtBQUNGOztBaUJoVkc7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCbVZOO0FpQmxWTTtFQUNHO0FqQm9WVDtBaUJqVk07RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBakJrVlQ7QWlCaFZTO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJrVlo7QWlCN1VZO0VBQ0c7QWpCK1VmO0FpQjlVZTtFQUNHO0VBQ0E7QWpCZ1ZsQjs7QWtCbFhNO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQnFYVDs7QW1CNVhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5CK1hKOztBb0JwWUE7RUFDSTtFQUNBO0VBQ0E7QXBCdVlKOztBcUIxWUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FyQjRZRDs7QXNCdlpHO0VBQ0c7QXRCMFpOOztBdUIzWkc7RUFDRztFQUNBO0VBQ0E7RUFDQTtBdkI4Wk47QXVCM1pNO0VBQ0c7QXZCNlpUO0F1QjVaUztFQUNHO0F2QjhaWjtBdUJ6WlM7RUFDRztBdkIyWlo7QXVCeFpNO0VBQ0c7RUNMSCw4QkRNRztBdkIwWlQ7QXdCNVpNO0VEQUE7SUNDRTtFeEIrWk47QUFDRjtBdUI3Wk07RUFDRztBdkIrWlQ7QXVCMVpTO0VBQ0c7QXZCNFpaOztBeUJ6Yk07RUFDRztFQUNBO0F6QjRiVDtBeUIxYk07RUFDRztFQUVBO0VBQ0E7QXpCMmJUO0F5QnpiUztFQUNHO0VBSUE7RUFDQTtFQUNBO0F6QndiWjtBeUJ2Ylk7RUFDRztBekJ5YmY7O0EwQjdjRztFQUNHO0ExQmdkTjtBMEIvY007RUFDRztBMUJpZFQ7QTBCL2NNO0VBQ0c7QTFCaWRUOztBMkJ0ZE07RUFDRztBM0J5ZFQ7O0E0QjNkRztFQUNHO0VBQ0E7RUFDQTtBNUI4ZE47O0E2QmplRztFQUNHO0E3Qm9lTjs7QThCcmVHO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7QTlCd2VOO0E4QnRlUztFQUNHO0VBQ0E7QTlCd2VaO0E4QnRlUztFQUNHO0VOSU4seUJNSU07QTlCaWVaO0E4QnZlZTtFQUNHO0E5QnllbEI7QXdCcGVNO0VNVEc7SU5VRDtFeEJ1ZU47QUFDRjtBOEJ4ZVk7RUFDRztBOUIwZWY7QThCdmVTO0VBQ0c7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5QndlWjtBTzVjSTtFdUJuQ0s7SUFTTTtJQUNBO0U5QjBlYjtBQUNGO0E4QnhlWTtFQUNHO0E5QjBlZjtBOEJ4ZVk7RUFDRztFQUNBO0VBQ0E7RUFJQTtBOUJ1ZWY7QU8zZEk7RXVCbkJRO0lBS007RTlCNmVoQjtBQUNGO0E4QjNlZTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VOeENaLG1CTXlDWTtBOUI2ZWxCO0F3QmxoQk07RU02QlM7SU41QlA7RXhCcWhCTjtBQUNGO0E4Qmpma0I7RUFDRztBOUJtZnJCO0E4Qi9lWTtFQUNHO0E5QmlmZjs7QStCaGpCRztFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0JtakJOO0ErQmhqQk07RUFDRztBL0JrakJUO0ErQmhqQk07RUFDRztBL0JrakJUO0FPcGdCSTtFd0IvQ0U7SUFHTTtFL0JvakJWO0FBQ0Y7QStCampCZTtFQUNHO0EvQm1qQmxCO0ErQjdpQlk7RUFDRztBL0IraUJmO0ErQjdpQlk7RUFDRztBL0IraUJmOztBZ0N6a0JlO0VBQ0c7QWhDNGtCbEI7QWdDMWtCZTtFQUNHO0VBQ0E7QWhDNGtCbEIsQyIsInNvdXJjZXMiOlsid2VicGFjazovL3BsYXRlc3RhcnRlcnRoZW1hLy4vc3JjL3N0eWxlcy92YXJzLnNjc3MiLCJ3ZWJwYWNrOi8vcGxhdGVzdGFydGVydGhlbWEvLi9zcmMvc3R5bGVzL3ZhcmlhYmxlcy92YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9wbGF0ZXN0YXJ0ZXJ0aGVtYS8uL3NyYy9zdHlsZXMvMS10aGVtZXMvdGhlbWUtMy90aGVtZS0zLnNjc3MiLCJ3ZWJwYWNrOi8vcGxhdGVzdGFydGVydGhlbWEvLi9zcmMvc3R5bGVzL2hlbHBlcnMvMC1taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9wbGF0ZXN0YXJ0ZXJ0aGVtYS8uL3NyYy9zdHlsZXMvMS10aGVtZXMvdGhlbWUtMy9jb21wb25lbnRzL2JvZHkuc2NzcyIsIndlYnBhY2s6Ly9wbGF0ZXN0YXJ0ZXJ0aGVtYS8uL3NyYy9zdHlsZXMvMS10aGVtZXMvdGhlbWUtMy9jb21wb25lbnRzL2JyZWFkY3J1bWJzLnNjc3MiLCJ3ZWJwYWNrOi8vcGxhdGVzdGFydGVydGhlbWEvLi9zcmMvc3R5bGVzLzEtdGhlbWVzL3RoZW1lLTMvY29tcG9uZW50cy9mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9wbGF0ZXN0YXJ0ZXJ0aGVtYS8uL3NyYy9zdHlsZXMvMS10aGVtZXMvdGhlbWUtMy9jb21wb25lbnRzL2pvYi1wb3N0aW5ncy1zaXplLnNjc3MiLCJ3ZWJwYWNrOi8vcGxhdGVzdGFydGVydGhlbWEvLi9zcmMvc3R5bGVzLzEtdGhlbWVzL3RoZW1lLTMvY29tcG9uZW50cy9tYWluLW1lbnUuc2NzcyIsIndlYnBhY2s6Ly9wbGF0ZXN0YXJ0ZXJ0aGVtYS8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vcGxhdGVzdGFydGVydGhlbWEvLi9zcmMvc3R5bGVzLzEtdGhlbWVzL3RoZW1lLTMvY29tcG9uZW50cy9uYXYtdG9nZ2xlci5zY3NzIiwid2VicGFjazovL3BsYXRlc3RhcnRlcnRoZW1hLy4vc3JjL3N0eWxlcy8xLXRoZW1lcy90aGVtZS0zL2NvbXBvbmVudHMvcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovL3BsYXRlc3RhcnRlcnRoZW1hLy4vc3JjL3N0eWxlcy8xLXRoZW1lcy90aGVtZS0zL2NvbXBvbmVudHMvdG9wLW1lbnUuc2NzcyIsIndlYnBhY2s6Ly9wbGF0ZXN0YXJ0ZXJ0aGVtYS8uL3NyYy9zdHlsZXMvMS10aGVtZXMvdGhlbWUtMy9pbmNsdWRlcy9hcnRpY2xlLWNhcmQuc2NzcyIsIndlYnBhY2s6Ly9wbGF0ZXN0YXJ0ZXJ0aGVtYS8uL3NyYy9zdHlsZXMvMS10aGVtZXMvdGhlbWUtMy9pbmNsdWRlcy9maWx0ZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vcGxhdGVzdGFydGVydGhlbWEvLi9zcmMvc3R5bGVzLzEtdGhlbWVzL3RoZW1lLTMvaW5jbHVkZXMvZm9ybS1zZWFyY2guc2NzcyIsIndlYnBhY2s6Ly9wbGF0ZXN0YXJ0ZXJ0aGVtYS8uL3NyYy9zdHlsZXMvMS10aGVtZXMvdGhlbWUtMy9pbmNsdWRlcy9mcm9udHBhZ2UtaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vcGxhdGVzdGFydGVydGhlbWEvLi9zcmMvc3R5bGVzLzEtdGhlbWVzL3RoZW1lLTMvaW5jbHVkZXMvaGVhZGVyLWVudHJ5LWl0ZW1zLnNjc3MiLCJ3ZWJwYWNrOi8vcGxhdGVzdGFydGVydGhlbWEvLi9zcmMvc3R5bGVzLzEtdGhlbWVzL3RoZW1lLTMvaW5jbHVkZXMvaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vcGxhdGVzdGFydGVydGhlbWEvLi9zcmMvc3R5bGVzLzEtdGhlbWVzL3RoZW1lLTMvaW5jbHVkZXMvdGVhbS1tZW1iZXIuc2NzcyIsIndlYnBhY2s6Ly9wbGF0ZXN0YXJ0ZXJ0aGVtYS8uL3NyYy9zdHlsZXMvMS10aGVtZXMvdGhlbWUtMy9pbmNsdWRlcy90ZXN0aW1vbmlhbC5zY3NzIiwid2VicGFjazovL3BsYXRlc3RhcnRlcnRoZW1hLy4vc3JjL3N0eWxlcy8xLXRoZW1lcy90aGVtZS0zL2VsZW1lbnRzL2FjY29yZGlvbi5zY3NzIiwid2VicGFjazovL3BsYXRlc3RhcnRlcnRoZW1hLy4vc3JjL3N0eWxlcy8xLXRoZW1lcy90aGVtZS0zL2VsZW1lbnRzL2J1dHRvbi5zY3NzIiwid2VicGFjazovL3BsYXRlc3RhcnRlcnRoZW1hLy4vc3JjL3N0eWxlcy8xLXRoZW1lcy90aGVtZS0zL2VsZW1lbnRzL2NvbnRhY3RfZm9ybS5zY3NzIiwid2VicGFjazovL3BsYXRlc3RhcnRlcnRoZW1hLy4vc3JjL3N0eWxlcy8xLXRoZW1lcy90aGVtZS0zL2VsZW1lbnRzL2N0YV9idXR0b24uc2NzcyIsIndlYnBhY2s6Ly9wbGF0ZXN0YXJ0ZXJ0aGVtYS8uL3NyYy9zdHlsZXMvMS10aGVtZXMvdGhlbWUtMy9lbGVtZW50cy9mZWF0dXJlZF9wYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vcGxhdGVzdGFydGVydGhlbWEvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vcGxhdGVzdGFydGVydGhlbWEvLi9zcmMvc3R5bGVzLzEtdGhlbWVzL3RoZW1lLTMvZWxlbWVudHMvaW1hZ2Uuc2NzcyIsIndlYnBhY2s6Ly9wbGF0ZXN0YXJ0ZXJ0aGVtYS8uL3NyYy9zdHlsZXMvMS10aGVtZXMvdGhlbWUtMy9zZWN0aW9ucy9jb2xsZWFndWVzLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly9wbGF0ZXN0YXJ0ZXJ0aGVtYS8uL3NyYy9zdHlsZXMvMS10aGVtZXMvdGhlbWUtMy9zZWN0aW9ucy9mZWF0dXJlZF9hY3Rpdml0eS5zY3NzIiwid2VicGFjazovL3BsYXRlc3RhcnRlcnRoZW1hLy4vc3JjL3N0eWxlcy8xLXRoZW1lcy90aGVtZS0zL3NlY3Rpb25zL2ZlYXR1cmVkX3N3aXBlci5zY3NzIiwid2VicGFjazovL3BsYXRlc3RhcnRlcnRoZW1hLy4vc3JjL3N0eWxlcy8xLXRoZW1lcy90aGVtZS0zL3NlY3Rpb25zL2ltYWdlLXRleHRibG9jay5zY3NzIiwid2VicGFjazovL3BsYXRlc3RhcnRlcnRoZW1hLy4vc3JjL3N0eWxlcy8xLXRoZW1lcy90aGVtZS0zL3NlY3Rpb25zL2ltcHJlc3Npb24tc2VjdGlvbi5zY3NzIiwid2VicGFjazovL3BsYXRlc3RhcnRlcnRoZW1hLy4vc3JjL3N0eWxlcy8xLXRoZW1lcy90aGVtZS0zL3NlY3Rpb25zL3Rlc3RpbW9uaWFsLXN3aXBlci5zY3NzIiwid2VicGFjazovL3BsYXRlc3RhcnRlcnRoZW1hLy4vc3JjL3N0eWxlcy8xLXRoZW1lcy90aGVtZS0zL3Bvc3RzL3NjaG9vbF9pbmZvLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogVkFSSUFCTEVTICovXG5AaW1wb3J0IFwidmFyaWFibGVzL3ZhcmlhYmxlcy5zY3NzXCI7XG4vKiBIRUxQRVJTICovXG5AaW1wb3J0IFwiaGVscGVycy8wLW1peGlucy5zY3NzXCI7XG4vKiBMaWJzIGdlbmVyYWwgKi9cbkBpbXBvcnQgXCIuLi9jb25maWcvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uL2NvbmZpZy9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vY29uZmlnL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnNcIjtcbiIsIjpyb290IHtcblx0LS12ZXJ0aWNhbC1mbG93OiAyLjRyZW07XG5cdC0tY29sb3Itd2hpdGU6ICNmZmY7XG5cdC0tY29sb3ItYmxhY2s6ICMwMDA7XG5cblxuXHQvLyBOZXcgc3BhY2VzLlxuXHQtLXNwYWNlLW1vYmlsZS1zbWFsbDogMi41cmVtO1xuXHQtLXNwYWNlLW1vYmlsZS1tZWRpdW06IDVyZW07XG5cdC0tc3BhY2UtbW9iaWxlLWxhcmdlOiAxMHJlbTtcblx0LS1zcGFjZS1tb2JpbGUteGxhcmdlOiAyMHJlbTtcblx0XG5cdC0tc3BhY2UtZGVza3RvcC1zbWFsbDogMi41cmVtO1xuXHQtLXNwYWNlLWRlc2t0b3AtbWVkaXVtOiA1cmVtO1xuXHQtLXNwYWNlLWRlc2t0b3AtbGFyZ2U6IDEwcmVtO1xuXHQtLXNwYWNlLWRlc2t0b3AteGxhcmdlOiAyMHJlbTtcbn1cblxuJGZhLWZvbnQtcGF0aDogJy90aGVtZS9hc3NldHMvZm9udHMvd2ViZm9udHMnO1xuLy8gVHJhbnNpdGlvblxuJHRyYW5zaXRpb246IChcblx0ZWFzZTogXCJlYXNlLWluLW91dFwiLFxuXHRzcGVlZDogMC4ycyxcbik7XG5cbi8qICBQYWRkaW5nICovXG4kcGFkZGluZzogKFxuXHRzbWFsbDogMXJlbSxcblx0bWVkaXVtOiAzcmVtLFxuXHRsYXJnZTogNXJlbSxcblx0Y29sdW1uLW1vYmlsZTogMTVweCxcblx0Y29sdW1uLWRlc2t0b3A6IDE1cHgsXG4pO1xuJG1pbkNvbHVtbkhlaWdodDogNHJlbTtcblxuLy8gQHNlZSBzcGFjZS5zY3NzXG4kc3BhY2VzLW1vYmlsZTogKFxuXHRzOiAyLjVyZW0sXG5cdG06IDVyZW0sXG5cdGw6IDEwcmVtLFxuKTtcbiRzcGFjZXMtZGVza3RvcDogKFxuXHRzOiBtYXAtZ2V0KCRzcGFjZXMtbW9iaWxlLCBzKSxcblx0bTogbWFwLWdldCgkc3BhY2VzLW1vYmlsZSwgbSksXG5cdGw6IG1hcC1nZXQoJHNwYWNlcy1tb2JpbGUsIGwpLFxuKTtcblxuJHNlY3Rpb25QYWRkaW5nOiA1cmVtO1xuJHNtYWxsRmFjdG9yOiAwLjU7XG4kbGFyZ2VGYWN0b3I6IDI7XG5cbiRtYXgtc2VjdGlvbnM6IDIwO1xuXG4kbW9iaWxlRmFjdG9yOiAwLjU7XG5cbi8qIEJyZWFrcG9pbnRzICovXG4kZ3JpZC1icmVha3BvaW50czogKFxuXHR4czogMCxcblx0c206IDU3NnB4LFxuXHRtZDogNzY4cHgsXG5cdGxnOiA5OTJweCxcblx0eGw6IDEyMDBweFxuKTtcbiRicERvd246IHNtO1xuJGJwVXA6IG1kO1xuJGJwRG93bk5hdjogbGc7XG4kYnBVcE5hdjogeGw7XG5cbiRoZWFkZXJCcmVha3BvaW50OiBsZztcbiRoZWFkZXJCcmVha3BvaW50RG93bjogbWQ7XG5cbi8qIFN3aXBlciAqL1xuJHN3aXBlci10aGVtZS1jb2xvcjogYmxhY2s7XG4kc3dpcGVyLXByZWxvYWRlci1jb2xvcjogYmxhY2s7XG4kc3dpcGVyLW5hdmlnYXRpb24tY29sb3I6IHdoaXRlO1xuJHN3aXBlci1wYWdpbmF0aW9uLWNvbG9yOiB3aGl0ZTtcbiRzd2lwZXItbmF2aWdhdGlvbi1zaXplOiA0NHB4O1xuJHBhZ2luYXRpb25Db2xvck5hbWU6IFwiYmxhY2tcIjtcblxuLy8gWi1pbmRleCBtYXBwaW5nO1xuLy8gQHNlZTogc3R5bGVzL2hlbHBlcnMvMC1taXhpbnMuc2Nzc1xuJHotaW5kZXg6IChcblx0bW9kYWw6IDIwMCxcblx0c2tpcGxpbms6IDE5MCxcblx0dG9wX25hdmlnYXRpb246IDEyMSxcblx0bmF2aWdhdGlvbjogMTIwLFxuXHRoZWFkZXI6IDExNSxcblx0bWFwOiAxMTAsXG5cdGZvb3RlcjogMTAwLFxuKTtcbiIsIi8qIFZBUklBQkxFUyAqL1xuOnJvb3Qge1xuICAtLXZlcnRpY2FsLWZsb3c6IDIuNHJlbTtcbiAgLS1jb2xvci13aGl0ZTogI2ZmZjtcbiAgLS1jb2xvci1ibGFjazogIzAwMDtcbiAgLS1zcGFjZS1tb2JpbGUtc21hbGw6IDIuNXJlbTtcbiAgLS1zcGFjZS1tb2JpbGUtbWVkaXVtOiA1cmVtO1xuICAtLXNwYWNlLW1vYmlsZS1sYXJnZTogMTByZW07XG4gIC0tc3BhY2UtbW9iaWxlLXhsYXJnZTogMjByZW07XG4gIC0tc3BhY2UtZGVza3RvcC1zbWFsbDogMi41cmVtO1xuICAtLXNwYWNlLWRlc2t0b3AtbWVkaXVtOiA1cmVtO1xuICAtLXNwYWNlLWRlc2t0b3AtbGFyZ2U6IDEwcmVtO1xuICAtLXNwYWNlLWRlc2t0b3AteGxhcmdlOiAyMHJlbTtcbn1cblxuLyogIFBhZGRpbmcgKi9cbi8qIEJyZWFrcG9pbnRzICovXG4vKiBTd2lwZXIgKi9cbi8qIEhFTFBFUlMgKi9cbi52aXN1YWxseS1oaWRkZW4ge1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi8qIExpYnMgZ2VuZXJhbCAqL1xuLnRoZW1lLTMge1xuICAtLV9ib2R5LWJhY2tncm91bmQ6IHdoaXRlO1xuICAtLWNhcmQtYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgLS1fYm9yZGVyLXJhZGl1czogMi40cmVtO1xufVxuLnRoZW1lLTNbZGF0YS1kZXYtbW9kZT10cnVlXSB7XG4gIC0tY29sb3ItcHJpbWFyeTogcmdiKDEwNiwgNTcsIDIzNyk7XG4gIC0tYm9keS1mb250LWZhbWlseTogXCJNb250c2VycmF0LVNlbWlCb2xkXCIsIHNhbnMtc2VyaWY7XG4gIC0tYm9keS1mb250LXdlaWdodDogbm9ybWFsO1xuICAtLWhlYWRpbmdzLWZvbnQtZmFtaWx5OiBcImZyZWRva2FcIiwgc2VyaWY7XG4gIC0taGVhZGluZ3MtZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnRoZW1lLTMge1xuICAtLV9icmVhZGNydW1iLWRvdC1iYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLnRoZW1lLTMgLmZvb3RlciB7XG4gIC0tX2Zvb3Rlci1oZWFkaW5ncy1jb2xvcjogd2hpdGU7XG4gIC0tX2Zvb3Rlci1iYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLnRoZW1lLTMgLmpvYi1wb3N0aW5ncy1zaXplIHtcbiAgLS1fam9iLXBvc3RpbmdzLXNpemUtYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIC0tX2pvYi1wb3N0aW5ncy1zaXplLWNvbG9yOiB3aGl0ZTtcbn1cblxuLnRoZW1lLTMgLm1haW4tbWVudSB7XG4gIC0tX21haW4tbWVudS1iYWNrZ3JvdW5kOiByZ2IoMjU1LDI1NSwyNTUpO1xuICAtLV9tYWluLW1lbnUtanVzdGlmeTogY2VudGVyO1xuICAtLV9tYWluLW1lbnUtYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYigyMjYsMjI1LDIyNCk7XG4gIC0tX21haW4tbWVudS1saW5rLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgLS1fbWFpbi1tZW51LWxpbmstY29sb3ItaG92ZXI6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAtLV9tb2JpbGUtbWFpbi1tZW51LXRleHQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAtLV9tb2JpbGUtbWFpbi1tZW51LXRleHQtY29sb3ItaG92ZXI6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLnRoZW1lLTMgLm1vYmlsZS10b3AtbWVudSB7XG4gIC0tX21vYmlsZS10b3AtbWVudS10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRoZW1lLTMgLm1haW4tbWVudS1zZWFyY2gtaWNvbiB7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB3aWR0aDogMXB4O1xuICB9XG59XG5cbi50aGVtZS0zIHtcbiAgLS1fbWVudS10b2dnbGUtYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIC0tX21lbnUtc2VhcmNoLXRvZ2dsZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRoZW1lLTMge1xuICAtLV9wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgLS1fcGFnaW5hdGlvbi1iYWNrZ3JvdW5kOiByZ2IoMjM3LDIzNywyMzcpO1xuICAtLV9wYWdpbmF0aW9uLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAtLV9wYWdpbmF0aW9uLXRleHQtY29sb3I6IGluaGVyaXQ7XG4gIC0tX3BhZ2luYXRpb24tdGV4dC1jb2xvci1ob3Zlcjogd2hpdGU7XG59XG5cbi50aGVtZS0zIHtcbiAgLS1fdG9wLW1lbnUtYmFja2dyb3VuZDogcmdiKDIzNywyMzcsMjM3KTtcbiAgLS1fdG9wLW1lbnUtdGV4dC1jb2xvcjogcmdiKDE4LDE4LDE4KTtcbn1cblxuLnRoZW1lLTMgLmFydGljbGUtY2FyZCB7XG4gIC0tX2FydGljbGUtY2FyZC1ib3gtc2hhZG93OiA0cHggNHB4IDQwcHggMHB4IHJnYmEoMjMsIDIxLCAyOCwgMC4wOCk7XG59XG4udGhlbWUtMyAuYXJ0aWNsZS1jYXJkLWNvbnRlbnQtZW1wbG95bWVudCwgLnRoZW1lLTMgLmFydGljbGUtY2FyZC1wdWJsaXNoZWQtZGF0ZSB7XG4gIG9wYWNpdHk6IDAuNjtcbn1cblxuLnRoZW1lLTMgLnBsYXR0ZXItZmlsdGVyLFxuLnRoZW1lLTMgLmZpbHRlcl9fd3JhcHBlciB7XG4gIC0tX2ZpbHRlcl93cmFwcGVyX2p1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtLWZpbHRlcl9pbnB1dF9iYWNrZ3JvdW5kOiBsaWdodGdyZXk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRoZW1lLTMgLnBsYXR0ZXItZmlsdGVyIC5maWx0ZXJfX2lucHV0IC5ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSBzZWxlY3QsXG4udGhlbWUtMyAucGxhdHRlci1maWx0ZXIgLmZpbHRlcl9faW5wdXQgLmJsb2NrOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KDpsYXN0LW9mLXR5cGUpIC5zZWxlY3Rvcl9faW5wdXQsXG4udGhlbWUtMyAuZmlsdGVyX193cmFwcGVyIC5maWx0ZXJfX2lucHV0IC5ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSBzZWxlY3QsXG4udGhlbWUtMyAuZmlsdGVyX193cmFwcGVyIC5maWx0ZXJfX2lucHV0IC5ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSAuc2VsZWN0b3JfX2lucHV0IHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4IGRhcmtncmV5O1xuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggZGFya2dyZXk7XG4gIH1cbiAgLnRoZW1lLTMgLnBsYXR0ZXItZmlsdGVyIC5maWx0ZXJfX2lucHV0IC5ibG9jazpmaXJzdC1vZi10eXBlIHNlbGVjdCxcbi50aGVtZS0zIC5wbGF0dGVyLWZpbHRlciAuZmlsdGVyX19pbnB1dCAuYmxvY2s6Zmlyc3Qtb2YtdHlwZSAuc2VsZWN0b3JfX2lucHV0LFxuLnRoZW1lLTMgLmZpbHRlcl9fd3JhcHBlciAuZmlsdGVyX19pbnB1dCAuYmxvY2s6Zmlyc3Qtb2YtdHlwZSBzZWxlY3QsXG4udGhlbWUtMyAuZmlsdGVyX193cmFwcGVyIC5maWx0ZXJfX2lucHV0IC5ibG9jazpmaXJzdC1vZi10eXBlIC5zZWxlY3Rvcl9faW5wdXQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC50aGVtZS0zIC5wbGF0dGVyLWZpbHRlciAuZmlsdGVyX19pbnB1dCAuYmxvY2s6bGFzdC1vZi10eXBlIHNlbGVjdCxcbi50aGVtZS0zIC5wbGF0dGVyLWZpbHRlciAuZmlsdGVyX19pbnB1dCAuYmxvY2s6bGFzdC1vZi10eXBlIC5zZWxlY3Rvcl9faW5wdXQsXG4udGhlbWUtMyAuZmlsdGVyX193cmFwcGVyIC5maWx0ZXJfX2lucHV0IC5ibG9jazpsYXN0LW9mLXR5cGUgc2VsZWN0LFxuLnRoZW1lLTMgLmZpbHRlcl9fd3JhcHBlciAuZmlsdGVyX19pbnB1dCAuYmxvY2s6bGFzdC1vZi10eXBlIC5zZWxlY3Rvcl9faW5wdXQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAudGhlbWUtMyAucGxhdHRlci1maWx0ZXIgLmZpbHRlcl9faW5wdXQtLW5vdC1sYXN0IC5ibG9jazpsYXN0LW9mLXR5cGUgc2VsZWN0LFxuLnRoZW1lLTMgLnBsYXR0ZXItZmlsdGVyIC5maWx0ZXJfX2lucHV0LS1ub3QtbGFzdCAuYmxvY2s6bGFzdC1vZi10eXBlIC5zZWxlY3Rvcl9faW5wdXQsXG4udGhlbWUtMyAuZmlsdGVyX193cmFwcGVyIC5maWx0ZXJfX2lucHV0LS1ub3QtbGFzdCAuYmxvY2s6bGFzdC1vZi10eXBlIHNlbGVjdCxcbi50aGVtZS0zIC5maWx0ZXJfX3dyYXBwZXIgLmZpbHRlcl9faW5wdXQtLW5vdC1sYXN0IC5ibG9jazpsYXN0LW9mLXR5cGUgLnNlbGVjdG9yX19pbnB1dCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCBkYXJrZ3JleTtcbiAgICBib3JkZXItbGVmdDogc29saWQgMXB4IGRhcmtncmV5O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRoZW1lLTMgLnBsYXR0ZXItZmlsdGVyIC5maWx0ZXJfX3NvcnQgLnNlbGVjdG9yX19pbnB1dCxcbi50aGVtZS0zIC5maWx0ZXJfX3dyYXBwZXIgLmZpbHRlcl9fc29ydCAuc2VsZWN0b3JfX2lucHV0IHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCBkYXJrZ3JleTtcbiAgfVxufVxuLnRoZW1lLTMgLnBsYXR0ZXItZmlsdGVyIC5maWx0ZXJfX3NlYXJjaCBpbnB1dCxcbi50aGVtZS0zIC5maWx0ZXJfX3dyYXBwZXIgLmZpbHRlcl9fc2VhcmNoIGlucHV0IHtcbiAgcGFkZGluZy1sZWZ0OiA1cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50aGVtZS0zIC5wbGF0dGVyLWZpbHRlciAuZmlsdGVyX19zZWFyY2ggaW5wdXQsXG4udGhlbWUtMyAuZmlsdGVyX193cmFwcGVyIC5maWx0ZXJfX3NlYXJjaCBpbnB1dCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICB9XG59XG4udGhlbWUtMyAucGxhdHRlci1maWx0ZXIgLmZpbHRlcl9fc2VhcmNoIHN2Zyxcbi50aGVtZS0zIC5maWx0ZXJfX3dyYXBwZXIgLmZpbHRlcl9fc2VhcmNoIHN2ZyB7XG4gIGxlZnQ6IDJyZW07XG59XG4udGhlbWUtMyAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtLWFjdGl2aXRpZXMgLmltYWdlIGltZyxcbi50aGVtZS0zIC5wbGF0dGVyLWZpbHRlcl9fY29udGVudC0tYXJ0aWNsZXMgLmltYWdlIGltZyB7XG4gIGhlaWdodDogMjByZW07XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50aGVtZS0zIC5wbGF0dGVyLWZpbHRlcl9fY29udGVudC0tYWN0aXZpdGllcyxcbi50aGVtZS0zIC5wbGF0dGVyLWZpbHRlcl9fY29udGVudC0tYXJ0aWNsZXMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICAgIGdyaWQtYXV0by1mbG93OiBkZW5zZTtcbiAgICByb3ctZ2FwOiA1cmVtO1xuICB9XG4gIC50aGVtZS0zIC5wbGF0dGVyLWZpbHRlcl9fY29udGVudC0tYWN0aXZpdGllcyAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtaXRlbTpudGgtY2hpbGQoN24rMSksXG4udGhlbWUtMyAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtLWFjdGl2aXRpZXMgLnBsYXR0ZXItZmlsdGVyX19jb250ZW50LWl0ZW06bnRoLWNoaWxkKDduKzcpLFxuLnRoZW1lLTMgLnBsYXR0ZXItZmlsdGVyX19jb250ZW50LS1hcnRpY2xlcyAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtaXRlbTpudGgtY2hpbGQoN24rMSksXG4udGhlbWUtMyAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtLWFydGljbGVzIC5wbGF0dGVyLWZpbHRlcl9fY29udGVudC1pdGVtOm50aC1jaGlsZCg3bis3KSB7XG4gICAgZ3JpZC1hcmVhOiBzcGFuIDEvc3BhbiA3O1xuICB9XG4gIC50aGVtZS0zIC5wbGF0dGVyLWZpbHRlcl9fY29udGVudC0tYWN0aXZpdGllcyAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtaXRlbTpudGgtY2hpbGQoN24rMiksXG4udGhlbWUtMyAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtLWFjdGl2aXRpZXMgLnBsYXR0ZXItZmlsdGVyX19jb250ZW50LWl0ZW06bnRoLWNoaWxkKDduKzgpLFxuLnRoZW1lLTMgLnBsYXR0ZXItZmlsdGVyX19jb250ZW50LS1hcnRpY2xlcyAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtaXRlbTpudGgtY2hpbGQoN24rMiksXG4udGhlbWUtMyAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtLWFydGljbGVzIC5wbGF0dGVyLWZpbHRlcl9fY29udGVudC1pdGVtOm50aC1jaGlsZCg3bis4KSB7XG4gICAgZ3JpZC1hcmVhOiBzcGFuIDEvc3BhbiA1O1xuICB9XG4gIC50aGVtZS0zIC5wbGF0dGVyLWZpbHRlcl9fY29udGVudC0tYWN0aXZpdGllcyAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtaXRlbTpudGgtY2hpbGQoN24rMyksXG4udGhlbWUtMyAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtLWFjdGl2aXRpZXMgLnBsYXR0ZXItZmlsdGVyX19jb250ZW50LWl0ZW06bnRoLWNoaWxkKDduKzQpLFxuLnRoZW1lLTMgLnBsYXR0ZXItZmlsdGVyX19jb250ZW50LS1hY3Rpdml0aWVzIC5wbGF0dGVyLWZpbHRlcl9fY29udGVudC1pdGVtOm50aC1jaGlsZCg3bis1KSxcbi50aGVtZS0zIC5wbGF0dGVyLWZpbHRlcl9fY29udGVudC0tYXJ0aWNsZXMgLnBsYXR0ZXItZmlsdGVyX19jb250ZW50LWl0ZW06bnRoLWNoaWxkKDduKzMpLFxuLnRoZW1lLTMgLnBsYXR0ZXItZmlsdGVyX19jb250ZW50LS1hcnRpY2xlcyAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtaXRlbTpudGgtY2hpbGQoN24rNCksXG4udGhlbWUtMyAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtLWFydGljbGVzIC5wbGF0dGVyLWZpbHRlcl9fY29udGVudC1pdGVtOm50aC1jaGlsZCg3bis1KSB7XG4gICAgZ3JpZC1hcmVhOiBzcGFuIDEvc3BhbiA0O1xuICB9XG4gIC50aGVtZS0zIC5wbGF0dGVyLWZpbHRlcl9fY29udGVudC0tYWN0aXZpdGllcyAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtaXRlbTpudGgtY2hpbGQoN24rNiksXG4udGhlbWUtMyAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtLWFydGljbGVzIC5wbGF0dGVyLWZpbHRlcl9fY29udGVudC1pdGVtOm50aC1jaGlsZCg3bis2KSB7XG4gICAgZ3JpZC1hcmVhOiBzcGFuIDEvc3BhbiA1O1xuICB9XG59XG5cbi50aGVtZS0zIC5mb3JtLS1zZWFyY2gtaW5wdXQtd3JhcHBlciB7XG4gIG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IsIHZhcigtLV9pbnB1dC1ib3JkZXItY29sb3IsIGxpZ2h0Z3JheSkpO1xufVxuLnRoZW1lLTMgLmZvcm0tLXNlYXJjaC1pbnB1dC13cmFwcGVyOmZvY3VzLXdpdGhpbiB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLnRoZW1lLTMgLmZyb250cGFnZS1oZWFkZXItdGl0bGUge1xuICBmb250LXNpemU6IDQuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudGhlbWUtMyAuZnJvbnRwYWdlLWhlYWRlci10aXRsZSB7XG4gICAgZm9udC1zaXplOiA2LjRyZW07XG4gIH1cbn1cbi50aGVtZS0zIC5mcm9udHBhZ2UtaGVhZGVyLXRpdGxlIHNwYW4ge1xuICBjb2xvcjogdmFyKC0tX2NvbG9yLXRlcnRpYXJ5KTtcbn1cbi50aGVtZS0zIC5mcm9udHBhZ2UtaGVhZGVyLWN0YS13cmFwcGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4udGhlbWUtMyAuZnJvbnRwYWdlLWhlYWRlci1jb250ZW50IHtcbiAgZ3JpZC1hcmVhOiAxLzEvMy8yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudGhlbWUtMyAuZnJvbnRwYWdlLWhlYWRlci1jb250ZW50IHtcbiAgICBncmlkLWFyZWE6IDEvMS8yLzM7XG4gIH1cbn1cbi50aGVtZS0zIC5mcm9udHBhZ2UtaGVhZGVyLWNvbnRlbnQtaW5uZXIge1xuICBwYWRkaW5nOiA4LjRyZW0gNC4ycmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50aGVtZS0zIC5mcm9udHBhZ2UtaGVhZGVyLWNvbnRlbnQtaW5uZXIge1xuICAgIHBhZGRpbmc6IDNyZW0gOC40cmVtIDguNHJlbTtcbiAgfVxufVxuLnRoZW1lLTMgLmhlYWRlci12aWRlbyB7XG4gIGdyaWQtYXJlYTogMS8xLzMvMjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudGhlbWUtMyAuaGVhZGVyLXZpZGVvIHtcbiAgICBhc3BlY3QtcmF0aW86IDE0NDAvNjgwO1xuICAgIGdyaWQtYXJlYTogMS8xLzIvMztcbiAgfVxufVxuLnRoZW1lLTMgLmhlYWRlci12aWRlbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogMTtcbiAgb3BhY2l0eTogMC4yNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taGVhZGVyX2ltYWdlX2JlZm9yZSwgdmFyKC0tX2hlYWRlcl9pbWFnZV9iZWZvcmUsIHZhcigtLWhlYWRpbmdzLWZvbnQtY29sb3IsIGJsYWNrKSkpO1xufVxuLnRoZW1lLTMgLmZyb250cGFnZS1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgZ3JpZC1hcmVhOiAxLzEvMy8yO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50aGVtZS0zIC5mcm9udHBhZ2UtYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgZ3JpZC1hcmVhOiAxLzEvMi8zO1xuICB9XG59XG4udGhlbWUtMyAuZnJvbnRwYWdlLWJhY2tncm91bmQtaW1hZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMC4yNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taGVhZGVyX2ltYWdlX2JlZm9yZSwgdmFyKC0tX2hlYWRlcl9pbWFnZV9iZWZvcmUsIHZhcigtLWhlYWRpbmdzLWZvbnQtY29sb3IsIGJsYWNrKSkpO1xufVxuLnRoZW1lLTMgLmZyb250cGFnZS1oZWFkZXItcGxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udGhlbWUtMyAuZnJvbnRwYWdlLWhlYWRlci1wbGF5LS10aGVtZS0zIHtcbiAgbWFyZ2luLXRvcDogMi40cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi50aGVtZS0zIC5mcm9udHBhZ2UtaGVhZGVyLXBsYXktLXRoZW1lLTMgLnZpZGVvLWRpYWxvZy10cmlnZ2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAvKiBOb3RlOiBiYWNrZHJvcC1maWx0ZXIgaGFzIG1pbmltYWwgYnJvd3NlciBzdXBwb3J0ICovXG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi50aGVtZS0zIC5mcm9udHBhZ2UtaGVhZGVyLXBsYXktLXRoZW1lLTMgLnZpZGVvLWRpYWxvZy10cmlnZ2VyIHN2ZyB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNnJlbTtcbn1cblxuLnRoZW1lLTMgLmhlYWRlci1lbnRyeS1pdGVtcy13cmFwcGVyIHtcbiAgLS1faGVhZGVyX2VudHJ5X2l0ZW1zX29mZnNldF9tb2JpbGU6IDA7XG4gIC0tX2hlYWRlcl9lbnRyeV9pdGVtc19vZmZzZXQ6IDA7XG59XG4udGhlbWUtMyAuaGVhZGVyLWVudHJ5LWl0ZW1zIHtcbiAgLS1faGVhZGVyX2VudHJ5X2l0ZW1zX2JvcmRlcl9yYWRpdXM6IHZhcigtLWNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gIC0tX2hlYWRlcl9lbnRyeV9pdGVtX2ljb25fYm9yZGVyX3JhZGl1czogNTAlO1xuICAtLV9oZWFkZXJfZW50cnlfaXRlbV9pY29uX3NpemU6IDUuNnJlbTtcbiAgLS1faGVhZGVyX2VudHJ5X2l0ZW1fcGFkZGluZ19ibG9jazogMi40cmVtO1xuICAtLV9oZWFkZXJfZW50cnlfaXRlbV9wYWRkaW5nX2lubGluZTogMy4ycmVtO1xufVxuXG4udGhlbWUtMyAuaGVhZGVyIHtcbiAgLS1faGVhZGVyX2FsaWduOiBjZW50ZXI7XG59XG4udGhlbWUtMyAuaGVhZGVyX193cmFwcGVyIHtcbiAgcGFkZGluZzogMTByZW0gMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGhlbWUtMyAuaGVhZGVyX193cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAxMHJlbSAwIDE1cmVtO1xuICB9XG59XG4udGhlbWUtMyAuaGVhZGVyX19jb250ZW50IHtcbiAgcGFkZGluZzogMCAxLjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRoZW1lLTMgLmhlYWRlcl9fY29udGVudCB7XG4gICAgcGFkZGluZzogMCA1cmVtO1xuICB9XG59XG5cbi50aGVtZS0zIC50ZWFtX21lbWJlciB7XG4gIC0tX3RlYW0tYm94LXNoYWRvdzogMXB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgLS1fdGVhbS1jb250ZW50LXBhZGRpbmc6IDNyZW0gM3JlbSAwIDNyZW07XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwicG9ydHJhaXRcIiBcImNvbnRlbnRcIjtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmcjtcbn1cbi50aGVtZS0zIC50ZWFtX21lbWJlcl9faW1hZ2Uge1xuICBncmlkLWFyZWE6IHBvcnRyYWl0O1xufVxuLnRoZW1lLTMgLnRlYW1fbWVtYmVyX19jb250ZW50IHtcbiAgZ3JpZC1hcmVhOiBjb250ZW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZWFtLWJhY2tncm91bmQsIHZhcigtLV90ZWFtLWJhY2tncm91bmQsIHdoaXRlKSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzLCBtYXJnaW4gMC4zcztcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cbi50aGVtZS0zIC50ZWFtX21lbWJlcl9fY29udGVudCAubGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBhdXRvO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG59XG4udGhlbWUtMyAudGVhbV9tZW1iZXItLWxpbms6aG92ZXIgLnRlYW1fbWVtYmVyX19jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycmVtKTtcbn1cbi50aGVtZS0zIC50ZWFtX21lbWJlci0tbGluazpob3ZlciAudGVhbV9tZW1iZXJfX2NvbnRlbnQgLmxpbmsge1xuICBjb2xvcjogdmFyKC0tdGVhbS1saW5rLWNvbG9yLCB2YXIoLS1jb2xvci1wcmltYXJ5KSk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi50aGVtZS0zIC50ZXN0aW1vbmlhbDpiZWZvcmUge1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yYWRpdXM6IDEuOXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi50aGVtZS0zIC5hY2NvcmRpb24ge1xuICAtLV9hY2NvcmRpb24tYm9yZGVyLXJhZGl1czogOHB4O1xuICAtLV9hY2NvcmRpb24tYWN0aXZlLWJhY2tncm91bmQ6IGxpZ2h0Z3JleTtcbiAgLS1hY2NvcmRpb24tcGFkZGluZy1ibG9jazogMnJlbTtcbiAgLS1hY2NvcmRpb24tcGFkZGluZy1pbmxpbmU6IDMuMnJlbTtcbn1cblxuLnRoZW1lLTMge1xuICAtLV9idXR0b24tcGFkZGluZzogMS42cmVtIDNyZW07XG4gIC0tX2J1dHRvbi1ib3JkZXItcmFkaXVzOiAzcmVtO1xuICAtLV9idXR0b24tdGV4dC1jb2xvcjogd2hpdGU7XG59XG5cbi50aGVtZS0zIHtcbiAgLS1faW5wdXQtYmFja2dyb3VuZDogcmdiKDI0MSwgMjQxLCAyNDEpO1xuICAtLV9pbnB1dC1jb2xvcjogcmdiKDIzLCAyMywgMjMpO1xuICAtLV9pbnB1dC1sYWJlbC1jb2xvcjogcmdiKDIzLCAyMywgMjMpO1xuICAtLV9pbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogIzU1NTtcbiAgLS1faW5wdXQtcGFkZGluZy1ibG9jazogMS42cmVtO1xuICAtLV9pbnB1dC1wYWRkaW5nLWlubGluZTogMy4ycmVtO1xuICAtLV9pbnB1dC1ib3JkZXItcmFkaXVzOiAxLjZyZW07XG4gIC0tX2lucHV0LWJvcmRlci1jb2xvcjogbGlnaHRncmF5O1xuICAtLV9pbnB1dC1mb2N1cy1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIC0tX2lucHV0LWVycm9yLWNvbG9yOiAjYzAwO1xuICAtLV9pbnB1dC1maWxlbmFtZS1iYWNrZ3JvdW5kOiByZ2IoMjQxLCAyNDEsIDI0MSk7XG59XG5cbi50aGVtZS0zIC5jdGFfYnV0dG9uIHtcbiAgLS1jdGFfYnRuLWJveC1zaGFkb3c6IDFweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi50aGVtZS0zIC5mZWF0dXJlZF9wYWdlIHtcbiAgLS1fZmVhdHVyZWRfcGFnZS1wYWRkaW5nOiAwO1xuICAtLV9mZWF0dXJlZC1wYWdlLWJveC1zaGFkb3c6IDFweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIC0tX2ZlYXR1cmVkX3BhZ2UtY29udGVudC1wYWRkaW5nOiAwIDNyZW0gM3JlbTtcbiAgLS1fZmVhdHVyZWRfcGFnZS1saW5rLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi50aGVtZS0zIC5mZWF0dXJlZF9wYWdlX190aXRsZSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi50aGVtZS0zIC5mZWF0dXJlZF9wYWdlX190aXRsZSBzdmcge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xufVxuLnRoZW1lLTMgLmZlYXR1cmVkX3BhZ2UtLWxpbmsgLmZlYXR1cmVkX3BhZ2VfX2NvbnRlbnQge1xuICBwYWRkaW5nLWJvdHRvbTogN3JlbTtcbn1cbi50aGVtZS0zIC5mZWF0dXJlZF9wYWdlX19jb250ZW50IHtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4IGxpZ2h0Z3JleTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yLCAwLjNzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnRoZW1lLTMgLmZlYXR1cmVkX3BhZ2VfX2NvbnRlbnQge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi50aGVtZS0zIC5mZWF0dXJlZF9wYWdlLmZlYXR1cmVkX3BhZ2UtLWxhcmdlOm5vdCguZmVhdHVyZWRfcGFnZS0taW1hZ2UpIC5mZWF0dXJlZF9wYWdlX19jb250ZW50IHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi50aGVtZS0zIGEuZmVhdHVyZWRfcGFnZTpob3ZlciAuZmVhdHVyZWRfcGFnZV9fY29udGVudCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi50aGVtZS0zIC5pbWFnZSAudGl0bGUge1xuICAtLV9pbWFnZS10aXRsZS1iYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIC0tX2ltYWdlLXRpdGxlLWNvbG9yOiB3aGl0ZTtcbn1cbi50aGVtZS0zIC5pbWFnZS5pbWFnZS0taW1nY2xpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4udGhlbWUtMyAuaW1hZ2UuaW1hZ2UtLWltZ2NsaXAgc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xcHg7XG4gIGxlZnQ6IC0xcHg7XG4gIHJpZ2h0OiAtMXB4O1xufVxuLnRoZW1lLTMgLmltYWdlLmltYWdlLS1pbWdjbGlwIHN2ZyBwYXRoIHtcbiAgZmlsbDogdmFyKC0tYm9keS1iYWNrZ3JvdW5kLCB2YXIoLS1fYm9keS1iYWNrZ3JvdW5kLCB3aGl0ZSkpO1xufVxuXG4udGhlbWUtMyAuY29sbGVhZ3Vlcy1zZWN0aW9uIHtcbiAgLS1fY29sbGVhZ3Vlcy1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbn1cbi50aGVtZS0zIC5jb2xsZWFndWVzLXNlY3Rpb24gLmJ0biB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udGhlbWUtMyAuY29sbGVhZ3Vlcy1zZWN0aW9uIC5saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50aGVtZS0zIC5mZWF0dXJlZF9hY3Rpdml0eSAuYWN0aXZpdHkge1xuICAtLV9mZWF0dXJlZF9hY3Rpdml0eS1ib3gtc2hhZG93OiA0cHggNHB4IDQwcHggMCByZ2JhKDIzLCAyMSwgMjgsIDAuMDgpO1xufVxuXG4udGhlbWUtMyAuZmVhdHVyZWQtc2VjdGlvbiB7XG4gIC0tX2ZlYXR1cmVkX3N3aXBlcl9zbGlkZS1ib3gtc2hhZG93OiA0cHggNHB4IDQwcHggMHB4IHJnYmEoMjMsIDIxLCAyOCwgMC4wOCk7XG4gIC0tX2ZlYXR1cmVkX3N3aXBlcl9zY3JvbGxiYXJfYmFja2dyb3VuZDogcmdiYSg3OSwgMzYsIDEwNCwgMC4yNCk7XG4gIC0tX2ZlYXR1cmVkX3N3aXBlcl9zY3JvbGxiYXJfZHJhZ19iYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLnRoZW1lLTMgLmltYWdlLXRleHRibG9jayB7XG4gIC0tX2ltYWdlX3RleHRibG9jay1ib3gtc2hhZG93OiA0cHggNHB4IDQwcHggMHB4IHJnYmEoMjMsIDIxLCAyOCwgMC4wOCk7XG59XG5cbi50aGVtZS0zIC5pbXByZXNzaW9uLXNlY3Rpb24ge1xuICAtLV9pbXByZXNzaW9uX3N3aXBlcl90aXRsZV9wYWRkaW5nOiAxcmVtIDEwcmVtIDFyZW0gMXJlbTtcbiAgLS1faW1wcmVzc2lvbl9zd2lwZXJfbmF2X21hcmdpbjogMDtcbiAgLS1faW1wcmVzc2lvbl9zd2lwZXJfbWFyZ2luOiAwIDE2LjY2NjY2NjY2NjclO1xuICAtLV9pbXByZXNzaW9uX3N3aXBlcl9uYXZfbWFyZ2luX21vYmlsZTogMDtcbn1cbi50aGVtZS0zIC5pbXByZXNzaW9uLXNlY3Rpb24gLmltcHJlc3Npb25fc3dpcGVyIC5pbXByZXNzaW9uX3N3aXBlcl9fc2xpZGVfX3RpdGxlIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi50aGVtZS0zIC5pbXByZXNzaW9uLXNlY3Rpb24gLmltcHJlc3Npb25fc3dpcGVyX19zbGlkZSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHksIDAuMnM7XG59XG4udGhlbWUtMyAuaW1wcmVzc2lvbi1zZWN0aW9uIC5pbXByZXNzaW9uX3N3aXBlcl9fc2xpZGUgcGljdHVyZSBpbWcge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCB2YXIoLS1fYm9yZGVyLXJhZGl1cywgMCkpO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnRoZW1lLTMgLmltcHJlc3Npb24tc2VjdGlvbiAuaW1wcmVzc2lvbl9zd2lwZXJfX3NsaWRlIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4udGhlbWUtMyAuaW1wcmVzc2lvbi1zZWN0aW9uIC5pbXByZXNzaW9uX3N3aXBlcl9fc2xpZGUuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG4udGhlbWUtMyAuaW1wcmVzc2lvbi1zZWN0aW9uIC5pbXByZXNzaW9uX3N3aXBlcl9fbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3R0b206IHVuc2V0O1xuICBsZWZ0OiB1bnNldDtcbiAgdG9wOiAwO1xuICByaWdodDogdW5zZXQ7XG4gIHotaW5kZXg6IDEwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50aGVtZS0zIC5pbXByZXNzaW9uLXNlY3Rpb24gLmltcHJlc3Npb25fc3dpcGVyX19uYXYge1xuICAgIHRvcDogMXJlbTtcbiAgICByaWdodDogMXJlbTtcbiAgfVxufVxuLnRoZW1lLTMgLmltcHJlc3Npb24tc2VjdGlvbiAuaW1wcmVzc2lvbl9zd2lwZXJfX25hdl9fYnRucyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udGhlbWUtMyAuaW1wcmVzc2lvbi1zZWN0aW9uIC5pbXByZXNzaW9uX3N3aXBlcl9fbmF2X19wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50aGVtZS0zIC5pbXByZXNzaW9uLXNlY3Rpb24gLmltcHJlc3Npb25fc3dpcGVyX19uYXZfX3BhZ2luYXRpb24ge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG8gMDtcbiAgfVxufVxuLnRoZW1lLTMgLmltcHJlc3Npb24tc2VjdGlvbiAuaW1wcmVzc2lvbl9zd2lwZXJfX25hdl9fcGFnaW5hdGlvbiBzcGFuIHtcbiAgbWFyZ2luLWxlZnQ6IDAuOHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICBvcGFjaXR5OiAwLjM7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHk7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAudGhlbWUtMyAuaW1wcmVzc2lvbi1zZWN0aW9uIC5pbXByZXNzaW9uX3N3aXBlcl9fbmF2X19wYWdpbmF0aW9uIHNwYW4ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi50aGVtZS0zIC5pbXByZXNzaW9uLXNlY3Rpb24gLmltcHJlc3Npb25fc3dpcGVyX19uYXZfX3BhZ2luYXRpb24gc3Bhbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cbi50aGVtZS0zIC5pbXByZXNzaW9uLXNlY3Rpb24gLmltcHJlc3Npb25fc3dpcGVyX19uYXZfX3Njcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50aGVtZS0zIC50ZXN0aW1vbmlhbC1zZWN0aW9uIHtcbiAgLS1fdGVzdGltb25pYWwtZGlzcGxheS1wYWdpbmF0aW9uOiBmbGV4O1xuICAtLV90ZXN0aW1vbmlhbC1wYWdpbmF0aW9uLW1hcmdpbjogMnJlbSBhdXRvIDJyZW0gYXV0bztcbiAgLS1fdGVzdGltb25pYWwtbWFyZ2luOiAwIDEwcmVtO1xuICAtLV90ZXN0aW1vbmlhbC1kaXNwbGF5LWJ0bnM6IGJsb2NrO1xuICAtLV90ZXN0aW1vbmlhbC1ib3gtc2hhZG93OiA0cHggNHB4IDQwcHggMHB4IHJnYmEoMjMsIDIxLCAyOCwgMC4wOCk7XG4gIC0tX3Rlc3RpbW9uaWFsLWNvbG9yOiBibGFjaztcbn1cbi50aGVtZS0zIC50ZXN0aW1vbmlhbC1zZWN0aW9uIC5wbGF0ZS0tY29udGFpbmVyLS1zd2lwZXIge1xuICBtYXgtd2lkdGg6IHVuc2V0O1xufVxuLnRoZW1lLTMgLnRlc3RpbW9uaWFsLXNlY3Rpb24gLnRlc3RpbW9uaWFsX3N3aXBlciB7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGhlbWUtMyAudGVzdGltb25pYWwtc2VjdGlvbiAudGVzdGltb25pYWxfc3dpcGVyIHtcbiAgICBwYWRkaW5nOiAwIDEwcmVtO1xuICB9XG59XG4udGhlbWUtMyAudGVzdGltb25pYWwtc2VjdGlvbiAudGVzdGltb25pYWxfc3dpcGVyX19zbGlkZSAudGVzdGltb25pYWw6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50aGVtZS0zIC50ZXN0aW1vbmlhbC1zZWN0aW9uIC50ZXN0aW1vbmlhbF9zd2lwZXJfX25hdiAudGVzdGltb25pYWxfc3dpcGVyX19uYXZfX3BhZ2luYXRpb24ge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4udGhlbWUtMyAudGVzdGltb25pYWwtc2VjdGlvbiAudGVzdGltb25pYWxfc3dpcGVyX19uYXYgLnRlc3RpbW9uaWFsX3N3aXBlcl9fbmF2X19idG5zIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRoZW1lLTMgLnNjaG9vbF9pbmZvX3BhZ2VfX25hdiB1bCBsaS5hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbn1cbi50aGVtZS0zIC5zY2hvb2xfaW5mb19wYWdlX19uYXYgdWwgbGkgYSB7XG4gIHBhZGRpbmc6IDEuNXJlbSAyLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIHZhcigtLV9ib3JkZXItcmFkaXVzLCAwKSk7XG59IiwiQG1peGluIHBzZXVkby1hYnNvbHV0ZSgkdG9wOiAwLCAkbGVmdDogMCkge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogJHRvcDtcblx0bGVmdDogJGxlZnQ7XG59XG5cbkBtaXhpbiBwc2V1ZG8tYWJzb2x1dGUtY292ZXIge1xuXHRAaW5jbHVkZSBwc2V1ZG8tYWJzb2x1dGU7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbkBtaXhpbiBjb3ZlcigkYWxpZ246IFwidW5zZXRcIikge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0QGlmICRhbGlnbiA9PSBcInJpZ2h0XCIgb3IgJGFsaWduID09IFwidW5zZXRcIiB7XG5cdFx0cmlnaHQ6IDA7XG5cdH0gQGVsc2Uge1xuXHRcdGxlZnQ6IDA7XG5cdH1cblxuXHRAaWYgJGFsaWduID09IFwidG9wXCIgb3IgJGFsaWduID09IFwicmlnaHRcIiBvciAkYWxpZ24gPT0gXCJsZWZ0XCIgb3IgJGFsaWduID09IFwidW5zZXRcIiB7XG5cdFx0dG9wOiAwO1xuXHR9IEBlbHNlIHtcblx0XHRib3R0b206IDA7XG5cdH1cblxuXHRAaWYgJGFsaWduID09IFwidG9wXCIgb3IgJGFsaWduID09IFwiYm90dG9tXCIgb3IgJGFsaWduID09IFwidW5zZXRcIiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHRAaWYgJGFsaWduID09IFwibGVmdFwiIG9yICRhbGlnbiA9PSBcInJpZ2h0XCIgb3IgJGFsaWduID09IFwidW5zZXRcIiB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG59XG5cbkBtaXhpbiBmbGV4LWMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5AbWl4aW4gZmxleC1zYyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuQG1peGluIGZsZXgtZWMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5AbWl4aW4gZmxleC1jYyB7XG5cdEBpbmNsdWRlIGZsZXgtYztcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmbGV4LWNiIHtcblx0QGluY2x1ZGUgZmxleC1jO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbkBtaXhpbiBmbGV4LWNlIHtcblx0QGluY2x1ZGUgZmxleC1jO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG5AbWl4aW4gZmxleC1jcyB7XG5cdEBpbmNsdWRlIGZsZXgtYztcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG5AbWl4aW4gZmxleC1jYSB7XG5cdEBpbmNsdWRlIGZsZXgtYztcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbkBtaXhpbiBmbGV4Yy1jIHtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuQG1peGluIGZsZXhjLWNjIHtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0QGluY2x1ZGUgZmxleC1jO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuQG1peGluIGZsZXhjLWNiIHtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0QGluY2x1ZGUgZmxleC1jO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbkBtaXhpbiBmbGV4Yy1jZSB7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdEBpbmNsdWRlIGZsZXgtYztcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuQG1peGluIGZsZXhjLWNzIHtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0QGluY2x1ZGUgZmxleC1jO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbkBtaXhpbiBmbGV4Yy1jYSB7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdEBpbmNsdWRlIGZsZXgtYztcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbkBtaXhpbiBjb3Zlci1pbWcge1xuXHRAaW5jbHVkZSBjb3Zlcjtcblx0b2JqZWN0LWZpdDogY292ZXI7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRhdHRyaWJ1dGU6IGFsbCwgJHNwZWVkOiBtYXAtZ2V0KCR0cmFuc2l0aW9uLCBcInNwZWVkXCIpLCAkZWFzZTogZWFzZS1pbi1vdXQpIHtcblx0dHJhbnNpdGlvbjogJGF0dHJpYnV0ZSAkc3BlZWQgJGVhc2U7XG59XG5AbWl4aW4gbXVsdGlwbGVUcmFuc2l0aW9ucygkYXR0cmlidXRlcywgJHNwZWVkOiBtYXAtZ2V0KCR0cmFuc2l0aW9uLCBcInNwZWVkXCIpLCAkZWFzZTogZWFzZS1pbi1vdXQpIHtcblx0JHRyYW5zaXRpb246ICgpO1xuXHRAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkYXR0cmlidXRlcykge1xuXHRcdCR0cmFuc2l0aW9uOiBhcHBlbmQoJHRyYW5zaXRpb24sIChudGgoJGF0dHJpYnV0ZXMsICRpKSAkc3BlZWQgJGVhc2UpLCBjb21tYSk7XG5cdH1cblx0dHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG59XG5cbkBtaXhpbiBib3goJHdpZHRoLCAkaGVpZ2h0OiAkd2lkdGgpIHtcblx0d2lkdGg6ICR3aWR0aDtcblx0aGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuXHRvcGFjaXR5OiAkb3BhY2l0eTtcblx0JG9wYWNpdHktaWU6ICRvcGFjaXR5ICogMTAwO1xuXHRmaWx0ZXI6IGFscGhhKG9wYWNpdHk9JG9wYWNpdHktaWUpOyAvL0lFOFxufVxuXG5AbWl4aW4gZm9udC1zaXplKCRzaXplLCAkYmFzZTogMTYpIHtcblx0Zm9udC1zaXplOiAkc2l6ZTsgLy8gZmFsbGJhY2sgZm9yIG9sZCBicm93c2Vyc1xuXHRmb250LXNpemU6ICgkc2l6ZSAvICRiYXNlKSAqIDFyZW07XG59XG5cbkBtaXhpbiBncmFkaWVudCgkc3RhcnQtY29sb3IsICRlbmQtY29sb3IsICRvcmllbnRhdGlvbikge1xuXHRiYWNrZ3JvdW5kOiAkc3RhcnQtY29sb3I7XG5cblx0QGlmICRvcmllbnRhdGlvbj09IFwidmVydGljYWxcIiB7XG5cdFx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG5cdH0gQGVsc2UgaWYgJG9yaWVudGF0aW9uPT0gXCJob3Jpem9udGFsXCIge1xuXHRcdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuXHR9IEBlbHNlIHtcblx0XHRiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG5cdFx0YmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuXHR9XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCkge1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG5AbWl4aW4gc2Nyb2xsKCkge1xuXHRvdmVyZmxvdy14OiBzY3JvbGw7XG5cdC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcblx0c2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuXG5cdCY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbkBtaXhpbiBpbWdMYXJnZSgkc2l6ZSwgJGRpcmVjdGlvbikge1xuXHQuaW1hZ2UtLWxhcmdlIHtcblx0XHRtYXJnaW4tI3skZGlyZWN0aW9ufTogLSRzaXplO1xuXHRcdGhlaWdodDogY2FsYygxMDAlICsgKDIgKiAjeyRzaXplfSkpO1xuXHR9XG59XG5cbi8vIEBtaXhpbiBjb2xvcigkdHlwZSkge1xuLy8gXHRAZWFjaCAkbmFtZSwgJGNvZGUgaW4gJGNvbG9ycyB7XG4vLyBcdFx0Ji0tI3skbmFtZX0ge1xuLy8gXHRcdFx0I3skdHlwZX06ICRjb2RlICFpbXBvcnRhbnQ7XG4vLyBcdFx0fVxuLy8gXHR9XG4vLyB9XG5cbi8vIFRoaXMgaXMgYSBhY2Nlc3NpYmxlIHdheSBvZiAnaGlkaW5nJyBzb21ldGhpbmcuXG4vLyBAc2VlOiBodHRwczovL2dldGJvb3RzdHJhcC5jb20vZG9jcy81LjAvaGVscGVycy92aXN1YWxseS1oaWRkZW4vXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuIHtcblx0Y2xpcDogcmVjdCgwIDAgMCAwKTtcblx0Y2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuXHRoZWlnaHQ6IDFweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR3aWR0aDogMXB4O1xufVxuLnZpc3VhbGx5LWhpZGRlbiB7XG5cdEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbjtcbn1cblxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9uTmFtZSwgJGR1cmF0aW9uLCAkZmlsbE1vZGU6IFwiZm9yd2FyZHNcIikge1xuXHRhbmltYXRpb24tbmFtZTogI3skYW5pbWF0aW9uTmFtZX07XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogI3skZHVyYXRpb259O1xuXHRhbmltYXRpb24tZmlsbC1tb2RlOiAjeyRmaWxsTW9kZX07XG59XG5cbkBtaXhpbiB2ZXJ0aWNhbEFuaW1hdGlvbigkYW5pbWF0aW9uTmFtZSwgJGR1cmF0aW9uOiAycykge1xuXHQkZnJvbTogMTAwJTtcblx0JHRvOiAwJTtcblx0QGlmICRhbmltYXRpb25OYW1lID09IFwiYW5pbWF0aW9uRG93blwiIHtcblx0XHQkZnJvbTogLTEwMCU7XG5cdFx0JHRvOiAwJTtcblx0fVxuXHRhbmltYXRpb24tbmFtZTogI3skYW5pbWF0aW9uTmFtZX07XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogI3skZHVyYXRpb259O1xuXHRhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcblxuXHRAa2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcblx0XHRmcm9tIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRAaWYgJGFuaW1hdGlvbk5hbWUgIT0gXCJhbmltYXRpb25GYWRlXCIge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoI3skZnJvbX0pO1xuXHRcdFx0fVxuXHRcdH1cblx0XHR0byB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0QGlmICRhbmltYXRpb25OYW1lICE9IFwiYW5pbWF0aW9uRmFkZVwiIHtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKCN7JHRvfSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBmdW5jdGlvbiB6LWluZGV4KCRrZXkpIHtcblx0QHJldHVybiBtYXAtZ2V0KCR6LWluZGV4LCAka2V5KTtcbn1cblxuQG1peGluIHotaW5kZXgoJGtleSkge1xuXHR6LWluZGV4OiB6LWluZGV4KCRrZXkpO1xufVxuXG5AbWl4aW4gc2NhbGVkRm9udHMoKSB7XG5cdCRzY2FsZS1yYXRpbzogMC4zMzM7XG5cdGZvbnQtc2l6ZTogJGJvZHlfZm9udFNpemU7XG5cdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG5cdFx0LmgjeyRpfSxcblx0XHRoI3skaX0ge1xuXHRcdFx0LS10aGlzRm9udFNpemU6IGNsYW1wKFxuXHRcdFx0XHQjeyRib2R5X2ZvbnRTaXplfSxcblx0XHRcdFx0Y2FsYygoMTAwdncgLSAxMDAlKSAvIChjYWxjKDEwICsgI3skaX0pKSksXG5cdFx0XHRcdGNhbGModmFyKC0tZm9udHNpemVfaDEpICogKCN7JHNjYWxlLXJhdGlvfSAqIGNhbGMoNiAvIGNhbGMoI3skaX0gKyAxKSkpKVxuXHRcdFx0KTtcblx0XHRcdC0tY3VzdG9tRm9udFNpemU6IGNsYW1wKCN7JGJvZHlfZm9udFNpemV9LCBjYWxjKCgxMDB2dyAtIDEwMCUpIC8gKGNhbGMoMTAgKyAjeyRpfSkpKSwgdmFyKC0tZm9udHNpemVfaCN7JGl9KSk7XG5cdFx0XHRmb250LXNpemU6IHZhcigtLWN1c3RvbUZvbnRTaXplLCB2YXIoLS10aGlzRm9udFNpemUpKTtcblx0XHR9XG5cdH1cbn1cbiIsIi50aGVtZS0zIHtcbiAgICAtLV9ib2R5LWJhY2tncm91bmQ6IHdoaXRlO1xuICAgIC0tY2FyZC1ib3JkZXItcmFkaXVzOiAycmVtO1xuICAgIC8vLS1ib2R5LWZvbnQtZmFtaWx5OiBcIlBhcHlydXNcIiwgc2Fucy1zZXJpZjtcbiAgICAvLy0taGVhZGluZ3MtZm9udC1mYW1pbHk6IFwiSW1wYWN0XCIsIHNlcmlmO1xuICAgIC0tX2JvcmRlci1yYWRpdXM6IDIuNHJlbTtcblxuICAgICZbZGF0YS1kZXYtbW9kZT1cInRydWVcIl0ge1xuICAgICAgICAvLyBEZXYgbW9kZSBjb2xvcnMsIGFzIHRvIHByb3Blcmx5IHNlZSB0aGUgZGlmZmVyZW5jZSB3aGVuIHRoZW1lLXBpY2tlciBpcyBhY3RpdmUuXG4gICAgICAgIC0tY29sb3ItcHJpbWFyeTogcmdiKDEwNiwgNTcsIDIzNyk7XG4gICAgICAgIC0tYm9keS1mb250LWZhbWlseTogXCJNb250c2VycmF0LVNlbWlCb2xkXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIC0tYm9keS1mb250LXdlaWdodDogbm9ybWFsOyAvLyA3MDBcbiAgICAgICAgLS1oZWFkaW5ncy1mb250LWZhbWlseTogXCJmcmVkb2thXCIsIHNlcmlmO1xuICAgICAgICAtLWhlYWRpbmdzLWZvbnQtd2VpZ2h0OiBub3JtYWw7IC8vIDQwMFxuICAgIH1cbn1cbiIsIi50aGVtZS0zIHtcbiAgICAtLV9icmVhZGNydW1iLWRvdC1iYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbiIsIi50aGVtZS0zIHtcbiAgICAuZm9vdGVyIHtcbiAgICAgICAgLS1fZm9vdGVyLWhlYWRpbmdzLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgLS1fZm9vdGVyLWJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cbn1cbiIsIi50aGVtZS0zIHtcbiAgICAuam9iLXBvc3RpbmdzLXNpemUge1xuICAgICAgICAtLV9qb2ItcG9zdGluZ3Mtc2l6ZS1iYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgLS1fam9iLXBvc3RpbmdzLXNpemUtY29sb3I6IHdoaXRlO1xuICAgIH1cbn1cbiIsIi50aGVtZS0zIHtcbiAgICAubWFpbi1tZW51IHtcbiAgICAgICAgLS1fbWFpbi1tZW51LWJhY2tncm91bmQ6IHJnYigyNTUsMjU1LDI1NSk7XG4gICAgICAgIC0tX21haW4tbWVudS1qdXN0aWZ5OiBjZW50ZXI7XG4gICAgICAgIC0tX21haW4tbWVudS1ib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKDIyNiwyMjUsMjI0KTtcblxuICAgICAgICAvLyBMaW5rc1xuICAgICAgICAtLV9tYWluLW1lbnUtbGluay1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIC0tX21haW4tbWVudS1saW5rLWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblxuICAgICAgICAtLV9tb2JpbGUtbWFpbi1tZW51LXRleHQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICAtLV9tb2JpbGUtbWFpbi1tZW51LXRleHQtY29sb3ItaG92ZXI6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5tb2JpbGUtdG9wLW1lbnUge1xuICAgICAgICAtLV9tb2JpbGUtdG9wLW1lbnUtdGV4dC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLm1haW4tbWVudS1zZWFyY2gtaWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJwVXBOYXYpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLnRoZW1lLTMge1xuICAgIC0tX21lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIC0tX21lbnUtc2VhcmNoLXRvZ2dsZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbiIsIi50aGVtZS0zIHtcbiAgICAtLV9wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAtLV9wYWdpbmF0aW9uLWJhY2tncm91bmQ6IHJnYigyMzcsMjM3LDIzNyk7XG4gICAgLS1fcGFnaW5hdGlvbi1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAtLV9wYWdpbmF0aW9uLXRleHQtY29sb3I6IGluaGVyaXQ7XG4gICAgLS1fcGFnaW5hdGlvbi10ZXh0LWNvbG9yLWhvdmVyOiB3aGl0ZTtcbn1cbiIsIi50aGVtZS0zIHtcbiAgICAtLV90b3AtbWVudS1iYWNrZ3JvdW5kOiByZ2IoMjM3LDIzNywyMzcpO1xuICAgIC0tX3RvcC1tZW51LXRleHQtY29sb3I6ICByZ2IoMTgsMTgsMTgpO1xufVxuIiwiLnRoZW1lLTMge1xuICAgIC5hcnRpY2xlLWNhcmQge1xuICAgICAgICAtLV9hcnRpY2xlLWNhcmQtYm94LXNoYWRvdzogNHB4IDRweCA0MHB4IDBweCByZ2JhKDIzLCAyMSwgMjgsIDAuMDgpO1xuICAgICAgICAmLWNvbnRlbnQtZW1wbG95bWVudCxcbiAgICAgICAgJi1wdWJsaXNoZWQtZGF0ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudGhlbWUtMyB7XG4gICAucGxhdHRlci1maWx0ZXIsXG4gICAuZmlsdGVyX193cmFwcGVyIHtcbiAgICAgIC0tX2ZpbHRlcl93cmFwcGVyX2p1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgLS1maWx0ZXJfaW5wdXRfYmFja2dyb3VuZDogbGlnaHRncmV5O1xuICAgICAgLmZpbHRlciB7XG4gICAgICAgICAmX19pbnB1dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicFVwKSB7XG4gICAgICAgICAgICAgICAuYmxvY2sge1xuICAgICAgICAgICAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgICAgICAgICAgICAuc2VsZWN0b3JfX2lucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCBkYXJrZ3JleTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggZGFya2dyZXk7XG4gICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgICAgICAgICAgICAgLnNlbGVjdG9yX19pbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgICAgICAgICAgICAgLnNlbGVjdG9yX19pbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICYtLW5vdC1sYXN0IHtcbiAgICAgICAgICAgICAgICAgIC5ibG9jayB7XG4gICAgICAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAuc2VsZWN0b3JfX2lucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCBkYXJrZ3JleTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggZGFya2dyZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICAgICAmX19zb3J0IHtcbiAgICAgICAgICAgIC5zZWxlY3Rvcl9faW5wdXQge1xuICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnBVcCkge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogc29saWQgMXB4IGRhcmtncmV5O1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgICAgJl9fc2VhcmNoIHtcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXJlbTtcbiAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJwVXApIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgIGxlZnQ6IDJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG5cbiAgIC5wbGF0dGVyLWZpbHRlcl9fY29udGVudC0tYWN0aXZpdGllcyxcbiAgIC5wbGF0dGVyLWZpbHRlcl9fY29udGVudC0tYXJ0aWNsZXMge1xuICAgICAgLmltYWdlIGltZyB7XG4gICAgICAgICBoZWlnaHQ6IDIwcmVtO1xuICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJwVXApIHtcbiAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICAgICAgICAgZ3JpZC1hdXRvLWZsb3c6IGRlbnNlO1xuICAgICAgICAgcm93LWdhcDogNXJlbTtcblxuICAgICAgICAgLy8gVGhlIHBhdHRlcm4gcmVwZWF0cyBldmVyeSA3IGl0ZW1zLlxuICAgICAgICAgLnBsYXR0ZXItZmlsdGVyX19jb250ZW50LWl0ZW06bnRoLWNoaWxkKDduICsgMSksXG4gICAgICAgICAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtaXRlbTpudGgtY2hpbGQoN24gKyA3KSB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IHNwYW4gMSAvIHNwYW4gNztcbiAgICAgICAgIH1cblxuICAgICAgICAgLnBsYXR0ZXItZmlsdGVyX19jb250ZW50LWl0ZW06bnRoLWNoaWxkKDduICsgMiksXG4gICAgICAgICAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtaXRlbTpudGgtY2hpbGQoN24gKyA4KSB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IHNwYW4gMSAvIHNwYW4gNTtcbiAgICAgICAgIH1cblxuICAgICAgICAgLnBsYXR0ZXItZmlsdGVyX19jb250ZW50LWl0ZW06bnRoLWNoaWxkKDduICsgMyksXG4gICAgICAgICAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtaXRlbTpudGgtY2hpbGQoN24gKyA0KSxcbiAgICAgICAgIC5wbGF0dGVyLWZpbHRlcl9fY29udGVudC1pdGVtOm50aC1jaGlsZCg3biArIDUpIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogc3BhbiAxIC8gc3BhbiA0O1xuICAgICAgICAgfVxuXG4gICAgICAgICAucGxhdHRlci1maWx0ZXJfX2NvbnRlbnQtaXRlbTpudGgtY2hpbGQoN24gKyA2KSB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IHNwYW4gMSAvIHNwYW4gNTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cbiIsIi50aGVtZS0zIHtcbiAgLmZvcm0tLXNlYXJjaC1pbnB1dC13cmFwcGVyIHtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0taW5wdXQtYm9yZGVyLWNvbG9yLCB2YXIoLS1faW5wdXQtYm9yZGVyLWNvbG9yLCBsaWdodGdyYXkpKTtcbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIH1cbiAgfVxufVxuIiwiLnRoZW1lLTMge1xuICAgIC5mcm9udHBhZ2UtaGVhZGVyIHtcbiAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQuNHJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGhlYWRlckJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDYuNHJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLV9jb2xvci10ZXJ0aWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZnJvbnRwYWdlLWhlYWRlci1jdGEtd3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5mcm9udHBhZ2UtaGVhZGVyLWNvbnRlbnQge1xuICAgICAgICBncmlkLWFyZWE6IDEvMS8zLzI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGhlYWRlckJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogMS8xLzIvMztcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZzogOC40cmVtIDQuMnJlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGhlYWRlckJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcmVtIDguNHJlbSA4LjRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyLXZpZGVvIHtcbiAgICAgICAgZ3JpZC1hcmVhOiAxLzEvMy8yO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRoZWFkZXJCcmVha3BvaW50KSB7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE0NDAvNjgwO1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiAxLzEvMi8zO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjI0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0taGVhZGVyX2ltYWdlX2JlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS1faGVhZGVyX2ltYWdlX2JlZm9yZSwgdmFyKC0taGVhZGluZ3MtZm9udC1jb2xvciwgYmxhY2spKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mcm9udHBhZ2UtYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgICAgIGdyaWQtYXJlYTogMS8xLzMvMjtcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGhlYWRlckJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogMS8xLzIvMztcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgQGluY2x1ZGUgY292ZXI7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjI0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAgICAgICAgIC0taGVhZGVyX2ltYWdlX2JlZm9yZSxcbiAgICAgICAgICAgICAgICB2YXIoLS1faGVhZGVyX2ltYWdlX2JlZm9yZSwgdmFyKC0taGVhZGluZ3MtZm9udC1jb2xvciwgYmxhY2spKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mcm9udHBhZ2UtaGVhZGVyLXBsYXkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAmLS10aGVtZS0zIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIuNHJlbTtcblxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAvLyBUaGUgcG9wdXAgbGluay5cbiAgICAgICAgICAgIC52aWRlby1kaWFsb2ctdHJpZ2dlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICAgICAgICAgIC8qIE5vdGU6IGJhY2tkcm9wLWZpbHRlciBoYXMgbWluaW1hbCBicm93c2VyIHN1cHBvcnQgKi9cbiAgICAgICAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG5cbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICAgICAvLyBCZWNhdXNlIHRoZXJlIGlzIGEgbGFiZWwgbmV4dCB0byB0aGlzIHBsYXkgYnV0dG9uLiBXZSBzZXQgZXhwbGljaXQgd2lkdGgvaGVpZ2h0IGZvciB0aGlzIFNWRy5cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bzsgLy8gRG8gbm90IHNocmlua3kuXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC42cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50aGVtZS0zIHtcblx0Ly8gVGhlIHdhdmUgc2l0cyBhdCB0aGUgYm90dG9tIG9mIHRoZSBoZWFkZXIsIHNvIHRoZSBjYXJkIGRvZXMgbm90IG92ZXJsYXAgaXQuXG5cdC5oZWFkZXItZW50cnktaXRlbXMtd3JhcHBlciB7XG5cdFx0LS1faGVhZGVyX2VudHJ5X2l0ZW1zX29mZnNldF9tb2JpbGU6IDA7XG5cdFx0LS1faGVhZGVyX2VudHJ5X2l0ZW1zX29mZnNldDogMDtcblx0fVxuXG5cdC5oZWFkZXItZW50cnktaXRlbXMge1xuXHRcdC0tX2hlYWRlcl9lbnRyeV9pdGVtc19ib3JkZXJfcmFkaXVzOiB2YXIoLS1jYXJkLWJvcmRlci1yYWRpdXMpO1xuXHRcdC0tX2hlYWRlcl9lbnRyeV9pdGVtX2ljb25fYm9yZGVyX3JhZGl1czogNTAlO1xuXHRcdC0tX2hlYWRlcl9lbnRyeV9pdGVtX2ljb25fc2l6ZTogNS42cmVtO1xuXHRcdC0tX2hlYWRlcl9lbnRyeV9pdGVtX3BhZGRpbmdfYmxvY2s6IDIuNHJlbTtcblx0XHQtLV9oZWFkZXJfZW50cnlfaXRlbV9wYWRkaW5nX2lubGluZTogMy4ycmVtO1xuXHR9XG59XG4iLCIudGhlbWUtMyB7XG4gICAuaGVhZGVyIHtcbiAgICAgIC0tX2hlYWRlcl9hbGlnbjogY2VudGVyO1xuICAgICAgLy8gLmhlYWRlcl9fd3JhcHBlcjtcbiAgICAgICZfX3dyYXBwZXIge1xuICAgICAgICAgcGFkZGluZzogMTByZW0gMDtcbiAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJwVXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcmVtIDAgMTVyZW07XG4gICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19jb250ZW50IHtcbiAgICAgICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnBVcCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCA1cmVtO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuIiwiLnRoZW1lLTMge1xuICAgLnRlYW1fbWVtYmVyIHtcbiAgICAgIC0tX3RlYW0tYm94LXNoYWRvdzogMXB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgIC0tX3RlYW0tY29udGVudC1wYWRkaW5nOiAzcmVtIDNyZW0gMCAzcmVtO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6ICdwb3J0cmFpdCcgJ2NvbnRlbnQnO1xuICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnI7XG4gICAgICAmX19pbWFnZSB7XG4gICAgICAgICBncmlkLWFyZWE6IHBvcnRyYWl0O1xuICAgICAgfVxuXG4gICAgICAmX19jb250ZW50IHtcbiAgICAgICAgIGdyaWQtYXJlYTogY29udGVudDtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlYW0tYmFja2dyb3VuZCwgdmFyKC0tX3RlYW0tYmFja2dyb3VuZCwgd2hpdGUpKTtcbiAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MsIG1hcmdpbiAuM3M7XG4gICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cbiAgICAgICAgIC5saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi0tbGluayB7XG4gICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC50ZWFtX21lbWJlcl9fY29udGVudCB7XG4gICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJyZW0pO1xuICAgICAgICAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXRlYW0tbGluay1jb2xvciwgdmFyKC0tY29sb3ItcHJpbWFyeSkpO1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cbiIsIi50aGVtZS0zIHtcbiAgIC50ZXN0aW1vbmlhbCB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEuOXJlbTtcbiAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgIH1cbiAgIH1cbn1cbiIsIi50aGVtZS0zIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgLS1fYWNjb3JkaW9uLWJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAtLV9hY2NvcmRpb24tYWN0aXZlLWJhY2tncm91bmQ6IGxpZ2h0Z3JleTtcbiAgICAtLWFjY29yZGlvbi1wYWRkaW5nLWJsb2NrOiAycmVtO1xuICAgIC0tYWNjb3JkaW9uLXBhZGRpbmctaW5saW5lOiAzLjJyZW07XG4gIH1cbn1cbiIsIi50aGVtZS0zIHtcbiAgICAtLV9idXR0b24tcGFkZGluZzogMS42cmVtIDNyZW07XG4gICAgLS1fYnV0dG9uLWJvcmRlci1yYWRpdXM6IDNyZW07XG4gICAgLS1fYnV0dG9uLXRleHQtY29sb3I6IHdoaXRlO1xufVxuIiwiLnRoZW1lLTMge1xuXHQtLV9pbnB1dC1iYWNrZ3JvdW5kOiByZ2IoMjQxLCAyNDEsIDI0MSk7XG5cdC0tX2lucHV0LWNvbG9yOiByZ2IoMjMsIDIzLCAyMyk7XG5cdC0tX2lucHV0LWxhYmVsLWNvbG9yOiByZ2IoMjMsIDIzLCAyMyk7XG5cdC0tX2lucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAjNTU1O1xuXHQtLV9pbnB1dC1wYWRkaW5nLWJsb2NrOiAxLjZyZW07XG5cdC0tX2lucHV0LXBhZGRpbmctaW5saW5lOiAzLjJyZW07XG5cdC0tX2lucHV0LWJvcmRlci1yYWRpdXM6IDEuNnJlbTtcblx0LS1faW5wdXQtYm9yZGVyLWNvbG9yOiBsaWdodGdyYXk7XG5cdC0tX2lucHV0LWZvY3VzLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblx0LS1faW5wdXQtZXJyb3ItY29sb3I6ICNjMDA7XG5cblx0LS1faW5wdXQtZmlsZW5hbWUtYmFja2dyb3VuZDogcmdiKDI0MSwgMjQxLCAyNDEpO1xufVxuIiwiLnRoZW1lLTMge1xuICAgLmN0YV9idXR0b24ge1xuICAgICAgLS1jdGFfYnRuLWJveC1zaGFkb3c6IDFweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICB9XG59XG4iLCIudGhlbWUtMyB7XG4gICAuZmVhdHVyZWRfcGFnZSB7XG4gICAgICAtLV9mZWF0dXJlZF9wYWdlLXBhZGRpbmc6IDA7XG4gICAgICAtLV9mZWF0dXJlZC1wYWdlLWJveC1zaGFkb3c6IDFweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICAtLV9mZWF0dXJlZF9wYWdlLWNvbnRlbnQtcGFkZGluZzogMCAzcmVtIDNyZW07XG4gICAgICAtLV9mZWF0dXJlZF9wYWdlLWxpbmstY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXG5cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1saW5rIHtcbiAgICAgICAgIC5mZWF0dXJlZF9wYWdlX19jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3cmVtO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggbGlnaHRncmV5O1xuICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IsIDAuM3MpO1xuICAgICAgfVxuICAgICAgJi5mZWF0dXJlZF9wYWdlLS1sYXJnZTpub3QoLmZlYXR1cmVkX3BhZ2UtLWltYWdlKSAuZmVhdHVyZWRfcGFnZV9fY29udGVudCB7XG4gICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgfVxuICAgfVxuICAgYS5mZWF0dXJlZF9wYWdlIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICAgLmZlYXR1cmVkX3BhZ2VfX2NvbnRlbnQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIudGhlbWUtMyB7XG4gICAuaW1hZ2Uge1xuICAgICAgLnRpdGxlIHtcbiAgICAgICAgIC0tX2ltYWdlLXRpdGxlLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgIC0tX2ltYWdlLXRpdGxlLWNvbG9yOiB3aGl0ZTtcbiAgICAgIH1cbiAgICAgICYuaW1hZ2UtLWltZ2NsaXAge1xuICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgLy8gUmVtb3ZlIGJvcmRlciByYWRpdXMgaWYgaW1hZ2UgdXNlcyB0aGUgaW1hZ2UgY2xpcCB0aGluZ3kuXG4gICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cbiAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAvLyAgYSBjb21tb24gaXNzdWUgd2l0aCBwb3NpdGlvbmluZyBlbGVtZW50cyBvdmVyIGFuIGltYWdlIHVzaW5nIGFic29sdXRlIHBvc2l0aW9uaW5nLFxuICAgICAgICAgICAgLy8gIHdoZXJlIHNvbWV0aW1lcyBhIHNtYWxsIGxpbmUgb2YgdGhlIHVuZGVybHlpbmcgY29udGVudCBpcyB2aXNpYmxlLlxuICAgICAgICAgICAgLy8gIFRoaXMgY2FuIGhhcHBlbiBkdWUgdG8gcm91bmRpbmcgZXJyb3JzIG9yIHN1YnBpeGVsIHJlbmRlcmluZyBpbmNvbnNpc3RlbmNpZXMgaW4gZGlmZmVyZW50IGJyb3dzZXJzLlxuICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgICAgIHJpZ2h0OiAtMXB4O1xuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICBmaWxsOiB2YXIoLS1ib2R5LWJhY2tncm91bmQsIHZhcigtLV9ib2R5LWJhY2tncm91bmQsIHdoaXRlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG4iLCIudGhlbWUtMyB7XG4gICAuY29sbGVhZ3Vlcy1zZWN0aW9uIHtcbiAgICAgIC0tX2NvbGxlYWd1ZXMtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICAuYnRuIHtcbiAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAubGluayB7XG4gICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgIH1cbn1cbiIsIi50aGVtZS0zIHtcbiAgIC5mZWF0dXJlZF9hY3Rpdml0eSB7XG4gICAgICAuYWN0aXZpdHkge1xuICAgICAgICAgLS1fZmVhdHVyZWRfYWN0aXZpdHktYm94LXNoYWRvdzogNHB4IDRweCA0MHB4IDAgcmdiYSgyMywgMjEsIDI4LCAwLjA4KTtcbiAgICAgIH1cbiAgIH1cbn1cbiIsIi50aGVtZS0zIHtcbiAgIC5mZWF0dXJlZC1zZWN0aW9uIHtcbiAgICAgIC0tX2ZlYXR1cmVkX3N3aXBlcl9zbGlkZS1ib3gtc2hhZG93OiA0cHggNHB4IDQwcHggMHB4IHJnYmEoMjMsIDIxLCAyOCwgMC4wOCk7XG4gICAgICAtLV9mZWF0dXJlZF9zd2lwZXJfc2Nyb2xsYmFyX2JhY2tncm91bmQ6IHJnYmEoNzksIDM2LCAxMDQsIDAuMjQpO1xuICAgICAgLS1fZmVhdHVyZWRfc3dpcGVyX3Njcm9sbGJhcl9kcmFnX2JhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgfVxufVxuIiwiLnRoZW1lLTMge1xuICAgLmltYWdlLXRleHRibG9jayB7XG4gICAgICAtLV9pbWFnZV90ZXh0YmxvY2stYm94LXNoYWRvdzogNHB4IDRweCA0MHB4IDBweCByZ2JhKDIzLCAyMSwgMjgsIDAuMDgpO1xuICAgfVxufVxuIiwiLnRoZW1lLTMge1xuICAgLmltcHJlc3Npb24tc2VjdGlvbiB7XG4gICAgICAtLV9pbXByZXNzaW9uX3N3aXBlcl90aXRsZV9wYWRkaW5nOiAxcmVtIDEwcmVtIDFyZW0gMXJlbTtcbiAgICAgIC0tX2ltcHJlc3Npb25fc3dpcGVyX25hdl9tYXJnaW46IDA7XG4gICAgICAtLV9pbXByZXNzaW9uX3N3aXBlcl9tYXJnaW46IDAgMTYuNjY2NjY2NjY2NyU7XG4gICAgICAtLV9pbXByZXNzaW9uX3N3aXBlcl9uYXZfbWFyZ2luX21vYmlsZTogMDtcbiAgICAgIC5pbXByZXNzaW9uX3N3aXBlciB7XG4gICAgICAgICAuaW1wcmVzc2lvbl9zd2lwZXJfX3NsaWRlX190aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgIH1cbiAgICAgICAgICZfX3NsaWRlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwaWN0dXJlIHtcbiAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCB2YXIoLS1fYm9yZGVyLXJhZGl1cywgMCkpO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSwgMC4ycyk7XG4gICAgICAgICAgICAmLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgICAgICZfX25hdiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnBVcCkge1xuICAgICAgICAgICAgICAgdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2J0bnMge1xuICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3BhZ2luYXRpb24ge1xuICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicFVwKSB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvIDA7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC44cmVtO1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgICAgICAgICAgICAgICAmLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3Njcm9sbGJhciB7XG4gICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuIiwiLnRoZW1lLTMge1xuICAgLnRlc3RpbW9uaWFsLXNlY3Rpb24ge1xuICAgICAgLS1fdGVzdGltb25pYWwtZGlzcGxheS1wYWdpbmF0aW9uOiBmbGV4O1xuICAgICAgLS1fdGVzdGltb25pYWwtcGFnaW5hdGlvbi1tYXJnaW46IDJyZW0gYXV0byAycmVtIGF1dG87XG4gICAgICAtLV90ZXN0aW1vbmlhbC1tYXJnaW46IDAgMTByZW07XG4gICAgICAtLV90ZXN0aW1vbmlhbC1kaXNwbGF5LWJ0bnM6IGJsb2NrO1xuICAgICAgLS1fdGVzdGltb25pYWwtYm94LXNoYWRvdzogNHB4IDRweCA0MHB4IDBweCByZ2JhKDIzLCAyMSwgMjgsIDAuMDgpO1xuICAgICAgLS1fdGVzdGltb25pYWwtY29sb3I6IGJsYWNrO1xuXG4gICAgICAvLyBCZWNhdXNlIGl0IG5lZWRzIGZ1bGx3aWR0aD8uXG4gICAgICAucGxhdGUtLWNvbnRhaW5lci0tc3dpcGVyIHtcbiAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICB9XG4gICAgICAudGVzdGltb25pYWxfc3dpcGVyIHtcbiAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJwVXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTByZW07XG4gICAgICAgICB9XG4gICAgICAgICAmX19zbGlkZSB7XG4gICAgICAgICAgICAudGVzdGltb25pYWwge1xuICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgICAgICZfX25hdiB7XG5cbiAgICAgICAgICAgIC50ZXN0aW1vbmlhbF9zd2lwZXJfX25hdl9fcGFnaW5hdGlvbiB7XG4gICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudGVzdGltb25pYWxfc3dpcGVyX19uYXZfX2J0bnMge1xuICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cbiIsIi50aGVtZS0zIHtcbiAgIC5zY2hvb2xfaW5mb19wYWdlIHtcbiAgICAgICZfX25hdiB7XG4gICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDEsIDI0MSwgMjQxLCAxKTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMS41cmVtIDIuNHJlbTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIHZhcigtLV9ib3JkZXItcmFkaXVzLCAwKSk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/
