@charset "UTF-8";
@font-face {
  font-family: "Material Symbols Outlined";
  font-style: normal;
  font-weight: 100 700;
  font-display: block;
  src: url("../fonts/material-symbols-outlined.woff2") format("woff2");
}
.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

/*------------------------------------*\
	RESET
\*------------------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

body {
  margin: 0;
  min-height: 100vh;
}

body, h1, h2, h3, h4,
p, figure, blockquote, dl, dd {
  margin-block-start: 0;
  margin-block-end: 0;
}

h1, h2, h3, h4 {
  text-wrap: pretty;
}

ul,
ol {
  margin: unset;
  padding: unset;
  list-style: none;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img,
picture {
  display: block;
  max-width: 100%;
}

input, button,
textarea, select {
  font-family: inherit;
  font-size: inherit;
}

button {
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}

fieldset {
  border: none;
  padding: 0;
}

textarea:not([rows]) {
  min-height: 10em;
}

*[popover] {
  height: 100%;
  width: 100%;
  border: none;
}

:target {
  scroll-margin-block: 5ex;
}

/*------------------------------------*\
	MEDIA QUERY

	Wraps content in the appropriate media query.

	Usage:
	.block {
		@include media-query('768') { ... }
	}

	Available aliases:
	portrait, landscape
	768, 768-plus
	900, 900-plus
	1024, 1024-plus
	1440, 1440-plus
	1920, 1920-plus
\*------------------------------------*/
/*------------------------------------*\
	GRID
\*------------------------------------*/
.grid {
  display: grid;
  grid-column: 1/-1;
  row-gap: 25px;
  column-gap: 25px;
  width: 100%;
}

.grid--1 {
  grid-template-columns: 100%;
}

.grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media screen and (max-width: 767px) {
  .grid--2 {
    grid-template-columns: 100%;
  }
}
.grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media screen and (max-width: 767px) {
  .grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media screen and (max-width: 767px) {
  .grid--4 {
    grid-template-columns: 100%;
  }
}
.grid--5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media screen and (max-width: 767px) {
  .grid--5 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.grid--6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media screen and (max-width: 1024px) {
  .grid--6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .grid--6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/*------------------------------------*\
	IMAGES
\*------------------------------------*/
/*------------------------------------*\
	TRANSITIONS
\*------------------------------------*/
.hover-zoom {
  display: block;
  overflow: hidden;
}

.hover-zoom img {
  transition: all 300ms ease;
  width: 100%;
  height: auto;
}

.hover-zoom:hover img {
  transform: scale(1.08);
}

.img--cover {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.img--contain {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

/*------------------------------------*\
	VISIBILITY
\*------------------------------------*/
.is-hidden {
  display: none;
}

@media screen and (max-width: 767px) {
  .is-hidden--mobile {
    display: none !important;
  }
}
@media screen and (max-width: 1024px) {
  .is-hidden--tablet {
    display: none !important;
  }
}
@media screen and (min-width: 1025px) {
  .is-hidden--desktop {
    display: none !important;
  }
}
@media (orientation: portrait) {
  .is-hidden--portrait {
    display: none !important;
  }
}
@media (orientation: landscape) {
  .is-hidden--landscape {
    display: none !important;
  }
}
/*------------------------------------*\
	HOVER

	Generates hover, focus, and active states.
	Pass $include-active: true to also include
	:active and .is-active states.
\*------------------------------------*/
/*------------------------------------*\
	BACKGROUND

	Shorthand for rgba background with opacity.

	Usage: @include background($dark-charcoal, 0.8);
\*------------------------------------*/
/*------------------------------------*\
	BRAND TOKENS — :root custom properties (single source)

	The Nerdworks brand token set, as a mixin so the SAME declarations emit to
	two targets under two different selectors:
	  • nerdworks.scss → `:root { @include brand-token-vars; }`          (front end)
	  • tokens.scss    → `.editor-styles-wrapper { @include … }`         (editor)

	Why the editor copy is scoped to .editor-styles-wrapper, NOT :root:
	third-party admin/plugin CSS loads into the editor canvas iframe and can set
	the SAME generic custom properties on :root (SearchWP's colors.css sets
	:root{--primary:#437e47}). Same specificity as our :root → load order decides,
	and it wins. Declaring the brand tokens on the canvas wrapper (the iframe
	<body>, a descendant of the plugin's :root on <html>) makes them win for every
	block by custom-property inheritance proximity — no specificity hack, no
	load-order reliance. The front end has no such collision, so it stays on :root.

	These are inert custom properties — they paint nothing on their own, so the
	editor tokens sheet is safe in wp-admin's canvas. Brand RULES never cross over.
\*------------------------------------*/
.button, .wp-block-button__link {
  display: inline-block;
  padding: 10px 30px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
}

.button--large {
  padding: 20px 45px;
  font-size: 20px;
}

.button--green, .wp-block-button.is-style-green .wp-block-button__link {
  background-color: #266038;
  color: #F0F2F0;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.button--green:hover, .wp-block-button.is-style-green .wp-block-button__link:hover {
  background-color: #F5C840;
  color: #1A1E1A;
}

.button--saffron, .wp-block-button.is-style-saffron .wp-block-button__link {
  background-color: #F5C840;
  color: #1A1E1A;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.button--saffron:hover, .wp-block-button.is-style-saffron .wp-block-button__link:hover {
  background-color: #F0F2F0;
}

.button--clear, .wp-block-button.is-style-clear .wp-block-button__link {
  background-color: transparent;
  color: inherit;
  border: 1px solid;
  transition: opacity 0.2s ease;
}

.button--clear:hover, .wp-block-button.is-style-clear .wp-block-button__link:hover {
  opacity: 0.7;
}

.button--black, .wp-block-button.is-style-dark .wp-block-button__link {
  background-color: #1A1E1A;
  color: #F0F2F0;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.button--black:hover, .wp-block-button.is-style-dark .wp-block-button__link:hover {
  background-color: #F5C840;
  color: #1A1E1A;
}

.button--ghost-saffron {
  background-color: transparent;
  color: var(--saffron);
  border: 1px solid var(--saffron);
  transition: background-color 0.2s ease;
}

.button--ghost-saffron:hover {
  background-color: rgba(245, 200, 64, 0.12);
}

.button--ghost-green {
  background-color: transparent;
  color: var(--primary);
  border: 1px solid var(--primary);
  transition: background-color 0.2s ease;
}

.button--ghost-green:hover {
  background-color: rgba(38, 96, 56, 0.08);
}

.title, .wp-block-heading {
  font-family: "proxima-nova", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  width: 100%;
}

.title__hero {
  font-size: 72px;
  font-weight: 700;
  line-height: 1.15;
}

@media screen and (max-width: 1024px) {
  .title__hero {
    font-size: 48px;
  }
}
@media screen and (max-width: 767px) {
  .title__hero {
    font-size: 36px;
  }
}
.title__primary, h1.wp-block-heading {
  font-size: var(--fs-display);
  font-weight: 700;
  line-height: 1.15;
}

.title__secondary, h2.wp-block-heading {
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 1.15;
}

.title__tertiary, h3.wp-block-heading {
  font-size: var(--fs-h3);
  font-weight: 500;
  line-height: 1.15;
}

.title__quaternary, h4.wp-block-heading, h5.wp-block-heading, h6.wp-block-heading {
  font-size: var(--fs-h4);
  font-weight: 500;
  line-height: 1.15;
}

.title--green {
  color: #217E52;
}

.title--muted {
  color: #9AA49A;
}

.hero__eyebrow {
  margin-bottom: var(--space-15);
}

.hero__title {
  font-family: var(--font-heading);
  font-size: var(--fs-display);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--bright);
}

.hero__lead {
  max-width: 32em;
  margin-top: var(--space-20);
  font-size: var(--fs-lead);
  line-height: 1.5;
  color: var(--bright);
}

.hero__cta {
  align-self: flex-start;
  margin-top: var(--space-30);
  min-height: 44px;
  padding: 12px 20px;
  border-radius: var(--radius-interactive);
  font-family: var(--font-heading);
  font-size: var(--fs-body);
  font-weight: 600;
  background-color: var(--primary);
  color: var(--bright);
}

.hero__cta:target, .hero__cta:focus, .hero__cta:hover {
  filter: brightness(1.08);
}

.hero__overlay {
  background: linear-gradient(to right, var(--anchor) 0%, var(--anchor) 25%, rgba(31, 35, 31, 0) 60%);
}

.hero__usp {
  margin-top: var(--space-40);
  padding: var(--space-20);
  background-color: rgba(31, 35, 31, 0.55);
  backdrop-filter: blur(20px);
  border: 1px solid var(--rule-on-anchor);
  border-radius: var(--radius-card);
}

.hero__usp-icon {
  color: var(--primary);
}

.hero__usp-label {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  font-weight: 600;
  line-height: 1.2;
  color: var(--bright);
}

.hero__usp-sub {
  font-size: var(--fs-meta);
  line-height: 1.4;
  color: rgba(240, 242, 238, 0.62);
}

@media screen and (max-width: 900px) {
  .hero__overlay {
    background: linear-gradient(to bottom, rgba(31, 35, 31, 0) 40%, var(--anchor) 100%);
  }
}
.banner {
  min-height: 520px;
  padding-block: 90px;
}

.banner__overlay {
  background: linear-gradient(to right, rgba(26, 30, 26, 0.92) 0%, rgba(26, 30, 26, 0.7) 45%, rgba(26, 30, 26, 0.2) 80%, rgba(26, 30, 26, 0) 100%);
}

.banner__body {
  max-width: var(--site-max-width, 1440px);
  margin-inline: auto;
  padding-inline: 20px;
}

.banner__content {
  max-width: 640px;
  color: #F0F2F0;
}

.banner__date {
  display: block;
  margin-bottom: 20px;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 14px;
  font-weight: 500;
  color: #F5C840;
}

.banner__title {
  margin-bottom: 20px;
}

.banner__text {
  margin-bottom: 30px;
  font-size: 16px;
  line-height: 1.55;
  color: rgba(240, 242, 240, 0.9);
}

.section > .banner {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.link-box {
  aspect-ratio: 5/6;
  padding: 30px;
  border-radius: 12px;
}

.link-box__image {
  transition: all 300ms ease;
}

.link-box__overlay {
  background: linear-gradient(to top, rgba(26, 30, 26, 0.9) 0%, rgba(26, 30, 26, 0.35) 45%, rgba(26, 30, 26, 0) 75%);
}

.link-box__count {
  margin-bottom: 5px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #F5C840;
}

.link-box__title {
  color: #F8F9F8;
}

.link-box:target .link-box__image, .link-box:focus .link-box__image, .link-box:hover .link-box__image {
  transform: scale(1.05);
}

.link-card {
  background-color: #1A1E1A;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(26, 30, 26, 0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.link-card:target, .link-card:focus, .link-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(26, 30, 26, 0.2);
}

.link-card__image {
  aspect-ratio: 4/5;
}

.link-card__body {
  gap: 5px;
  padding: 20px;
}

.link-card__title {
  font-size: 16px;
  font-weight: 600;
  color: #F0F2F0;
}

.link-card__subtitle {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px;
  color: #F5C840;
}

.category-tile {
  position: relative;
  display: block;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: var(--radius-card);
  box-shadow: var(--card-shadow);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.category-tile:target, .category-tile:focus, .category-tile:hover {
  box-shadow: var(--card-shadow-hover);
  transform: translateY(-2px);
}

.category-tile__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.category-tile__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(31, 35, 31, 0.85) 0%, rgba(31, 35, 31, 0.15) 55%, rgba(31, 35, 31, 0) 100%);
}

.category-tile__label {
  position: absolute;
  right: var(--space-20);
  bottom: var(--space-20);
  left: var(--space-20);
  font-family: var(--font-heading);
  font-size: var(--fs-h3);
  font-weight: 700;
  line-height: 1.2;
  color: var(--bright);
}

.section-header {
  margin-bottom: var(--space-40);
}

.section-header__group {
  max-width: 760px;
}

.section-header__eyebrow {
  margin-bottom: var(--space-15);
}

.section-header__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.section-header__lead {
  margin-top: var(--space-15);
  font-size: var(--fs-lead);
  line-height: 1.5;
}

.section-header__link {
  flex-shrink: 0;
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  font-weight: 600;
  white-space: nowrap;
}

.section-header__link::after {
  content: " →";
}

.section-header__link:target, .section-header__link:focus, .section-header__link:hover {
  text-decoration: underline;
}

.section-header__link--saffron {
  color: var(--saffron);
}

.section-header__link--green {
  color: var(--green);
}

@media screen and (max-width: 767px) {
  .section-header {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-20);
  }
}
.price {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-weight: 500;
}

.price--saffron {
  color: #F5C840;
}

.price--green {
  color: #266038;
}

.label {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 14px;
}

.label--saffron {
  color: #F5C840;
}

.label--green {
  color: #266038;
}

.eyebrow, .is-style-eyebrow {
  font-family: var(--font-heading);
  font-size: var(--fs-eyebrow);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.eyebrow--saffron {
  color: var(--saffron);
}

.eyebrow--green {
  color: var(--green);
}

.featured-product {
  gap: var(--space-40);
}

.featured-product__media {
  border-radius: var(--radius-card);
  overflow: hidden;
}

.featured-product__image {
  aspect-ratio: 4/5;
}

.featured-product__eyebrow {
  margin-bottom: var(--space-15);
}

.featured-product__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.featured-product__text {
  max-width: 52ch;
  margin-top: var(--space-20);
  font-size: var(--fs-lead);
  line-height: 1.5;
}

.featured-product__price {
  margin-top: var(--space-20);
  font-size: var(--fs-label-card);
}

.featured-product__cta {
  margin-top: var(--space-30);
}

@media screen and (max-width: 767px) {
  .featured-product {
    gap: var(--space-30);
  }
}
.product-card {
  background-color: var(--anchor-elevated);
  color: var(--bright);
}

.product-card__media img {
  aspect-ratio: 4/5;
}

.product-card__body {
  gap: var(--space-15);
  padding: var(--space-15);
}

.product-card__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h3);
  font-weight: 600;
  line-height: 1.3;
  color: var(--bright);
}

.product-card__title a:not([class]) {
  color: inherit;
  text-decoration: none;
}

.product-card__price {
  font-size: var(--fs-label-card);
  margin-bottom: var(--space-20);
}

.showcase__media {
  margin-bottom: var(--space-30);
  border-radius: var(--radius-card);
  overflow: hidden;
}

.showcase__image {
  aspect-ratio: 3/2;
}

.showcase__eyebrow {
  margin-bottom: var(--space-15);
}

.showcase__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.showcase__text {
  margin-top: var(--space-20);
  font-size: var(--fs-lead);
  line-height: 1.5;
}

.showcase__meta {
  gap: var(--space-30);
  margin-top: var(--space-30);
  padding-top: var(--space-20);
  border-top: 1px solid var(--rule-on-bright);
}

.showcase__meta-item {
  gap: 4px;
  text-align: left;
}

.showcase__meta-name {
  font-family: var(--font-heading);
  font-size: var(--fs-eyebrow);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--primary);
}

.showcase__meta-value {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-label);
  color: var(--primary);
}

.showcase__cta {
  margin-top: var(--space-30);
}

.commentary-card {
  background-color: #F0F2F0;
  color: #1A1E1A;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(26, 30, 26, 0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.commentary-card:target, .commentary-card:focus, .commentary-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.55);
}

.commentary-card__image {
  aspect-ratio: 4/5;
}

.commentary-card__body {
  gap: 20px;
  padding: 20px;
}

.commentary-card__title {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.35;
}

.commentary-card__meta {
  gap: 10px 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(26, 30, 26, 0.12);
}

.commentary-card__price {
  font-size: 28px;
}

.commentary-card__commentary {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(26, 30, 26, 0.85);
}

.commentary-card__commentary strong {
  font-weight: 600;
}

.post-card {
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--card-shadow);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.post-card:target, .post-card:focus, .post-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--card-shadow-hover);
}

.post-card__image {
  aspect-ratio: 3/2;
}

.post-card__body {
  gap: var(--space-15);
  padding: var(--space-20);
}

.post-card__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h3);
  font-weight: 600;
  line-height: 1.3;
}

.post-card__text {
  font-size: var(--fs-body);
  line-height: 1.65;
}

.post-card--light {
  background-color: var(--bright);
  color: var(--anchor);
}

.post-card--dark {
  background-color: var(--anchor);
  color: var(--bright);
}

@media screen and (max-width: 767px) {
  .grid:has(> .post-card) {
    grid-template-columns: 100%;
  }
}
.intro {
  margin-bottom: 45px;
}

.intro__eyebrow {
  margin-bottom: 10px;
}

.intro__title {
  margin-bottom: 20px;
}

.intro__text {
  font-size: 20px;
  line-height: 1.55;
}

.item-tile {
  background-color: var(--anchor-elevated);
  color: var(--bright);
}

.item-tile__image {
  aspect-ratio: 4/5;
}

.item-tile__badge {
  padding: 4px 8px;
  font-family: var(--font-label);
  font-size: var(--fs-meta);
  font-weight: 500;
  line-height: 1;
  color: var(--anchor);
  background-color: var(--saffron);
  border-radius: var(--radius-interactive);
}

.item-tile__body {
  gap: 6px;
  padding: var(--space-15);
}

.item-tile__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  font-weight: 600;
  line-height: 1.25;
  color: var(--bright);
}

.item-tile__set {
  font-family: var(--font-label);
  font-size: var(--fs-meta);
  font-weight: 500;
  color: rgba(240, 242, 238, 0.62);
}

.item-tile__price {
  font-size: var(--fs-label-card);
}

.button-group {
  margin-top: 45px;
}

.stat__icon {
  color: var(--primary);
}

.stat__figure {
  font-family: var(--font-label);
  font-size: 24px;
  font-weight: 500;
  color: var(--primary);
}

.stat__label {
  font-size: var(--fs-meta);
  font-weight: 400;
  color: var(--anchor);
}

.info-card {
  padding: 30px;
  background-color: rgba(240, 242, 240, 0.06);
  border-radius: 8px;
}

.info-card__eyebrow {
  margin-bottom: 20px;
}

.info-card__title {
  margin-bottom: 20px;
}

.info-card__text {
  color: rgba(240, 242, 240, 0.8);
  font-size: 14px;
  line-height: 1.55;
}

@media screen and (max-width: 767px) {
  .grid:has(> .info-card) {
    grid-template-columns: 100%;
  }
}
.spotlight {
  gap: var(--space-60);
}

.spotlight__image {
  aspect-ratio: 4/5;
  border-radius: var(--radius-card);
  overflow: hidden;
}

.spotlight__eyebrow {
  margin-bottom: var(--space-15);
}

.spotlight__title {
  margin-bottom: var(--space-20);
}

.spotlight__text {
  margin-bottom: var(--space-20);
  font-size: var(--fs-lead);
  line-height: 1.55;
  color: rgba(240, 242, 240, 0.9);
}

.spotlight__meta {
  gap: var(--space-30);
  margin: var(--space-20) 0 var(--space-30);
  padding: var(--space-20) 0;
  border-top: 1px solid rgba(240, 242, 240, 0.18);
  border-bottom: 1px solid rgba(240, 242, 240, 0.18);
}

.spotlight__meta-item {
  gap: 5px;
}

.spotlight__meta-name {
  font-size: var(--fs-eyebrow);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(240, 242, 240, 0.65);
}

.spotlight--wide {
  gap: var(--space-40);
}

.spotlight--wide .spotlight__media {
  border-radius: var(--radius-card);
  overflow: hidden;
}

.spotlight--wide .spotlight__image {
  aspect-ratio: 3/2;
}

.spotlight--wide .spotlight__eyebrow {
  margin-bottom: var(--space-15);
}

.spotlight--wide .spotlight__title {
  margin-bottom: 0;
  font-family: var(--font-heading);
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.spotlight--wide .spotlight__body {
  margin-top: var(--space-20);
  font-size: var(--fs-body);
  line-height: 1.65;
}

.spotlight--wide .spotlight__cta {
  margin-top: var(--space-30);
}

.mosaic__grid {
  grid-template-columns: repeat(6, 1fr);
  grid-auto-rows: 140px;
  gap: var(--space-20);
  margin-bottom: var(--space-30);
}

@media screen and (max-width: 767px) {
  .mosaic__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 120px;
  }
}
.mosaic__item {
  border-radius: var(--radius-card);
  transition: transform 0.2s ease;
}

.mosaic__item:target, .mosaic__item:focus, .mosaic__item:hover {
  transform: scale(1.01);
}

.mosaic__item:nth-child(1) {
  grid-column: span 3;
  grid-row: span 2;
}

.mosaic__item:nth-child(2) {
  grid-column: span 2;
  grid-row: span 2;
}

.mosaic__item:nth-child(3) {
  grid-column: span 1;
  grid-row: span 1;
}

.mosaic__item:nth-child(4) {
  grid-column: span 1;
  grid-row: span 1;
}

.mosaic__item:nth-child(5) {
  grid-column: span 2;
  grid-row: span 2;
}

.mosaic__item:nth-child(6) {
  grid-column: span 4;
  grid-row: span 2;
}

@media screen and (max-width: 767px) {
  .mosaic__item:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
  }
}
.mosaic__caption {
  max-width: 560px;
  margin-inline: auto;
  font-size: var(--fs-label);
  line-height: 1.55;
  text-align: center;
  color: rgba(25, 28, 25, 0.7);
}

.mosaic__caption a {
  font-weight: 600;
  color: var(--green);
  border-bottom: 1px solid var(--green);
  transition: opacity 0.15s ease;
}

.mosaic__caption a:target, .mosaic__caption a:focus, .mosaic__caption a:hover {
  opacity: 0.7;
}

.mosaic--spans .mosaic__grid {
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 180px;
  gap: var(--space-15);
  margin-bottom: 0;
}

@media screen and (max-width: 900px) {
  .mosaic--spans .mosaic__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 160px;
  }
}
@media screen and (max-width: 767px) {
  .mosaic--spans .mosaic__grid {
    grid-template-columns: 1fr;
  }
}
.mosaic--spans .mosaic__item {
  border-radius: var(--radius-card);
  overflow: hidden;
  transition: none;
}

.mosaic--spans .mosaic__item:nth-child(n) {
  grid-column: auto;
  grid-row: auto;
}

.mosaic--spans .mosaic__item:target, .mosaic--spans .mosaic__item:focus, .mosaic--spans .mosaic__item:hover {
  transform: none;
}

.mosaic--spans .mosaic__item--wide {
  grid-column: span 2;
}

.mosaic--spans .mosaic__item--tall {
  grid-row: span 2;
}

.mosaic--spans .mosaic__item--big {
  grid-column: span 2;
  grid-row: span 2;
}

.mosaic--spans .mosaic__caption {
  margin-top: var(--space-30);
  margin-bottom: 0;
  max-width: none;
  font-size: var(--fs-lead);
  line-height: 1.5;
}

.mosaic--spans .mosaic__caption a {
  color: var(--primary);
  border-bottom: 0;
}

.mosaic--spans .mosaic__caption a:target, .mosaic--spans .mosaic__caption a:focus, .mosaic--spans .mosaic__caption a:hover {
  opacity: 1;
  text-decoration: underline;
}

@media screen and (max-width: 900px) {
  .mosaic--spans .mosaic__item--big {
    grid-column: span 2;
  }
}
@media screen and (max-width: 767px) {
  .mosaic--spans .mosaic__item--wide,
  .mosaic--spans .mosaic__item--big {
    grid-column: span 1;
  }
}
.newsletter__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.newsletter__lead {
  margin-top: var(--space-15);
  font-size: var(--fs-lead);
  line-height: 1.5;
}

.newsletter .form {
  margin-top: var(--space-30);
}

.form {
  display: flex;
  gap: 10px;
  align-items: stretch;
}

@media screen and (max-width: 767px) {
  .form {
    flex-direction: column;
  }
}
.form__input {
  flex: 1;
  min-width: 0;
  height: 48px;
  padding: 0 20px;
  background-color: rgba(240, 242, 240, 0.06);
  border: 1px solid rgba(240, 242, 240, 0.18);
  border-radius: 4px;
  color: #F0F2F0;
  font-size: 16px;
}

.form__input::placeholder {
  color: rgba(240, 242, 240, 0.5);
}

.form__input:focus {
  outline: none;
  border-color: #F5C840;
  box-shadow: 0 0 0 2px rgba(245, 200, 64, 0.4);
}

@media screen and (max-width: 767px) {
  .form__input {
    flex: none;
  }
}
.form__submit {
  height: 48px;
  border-radius: 4px;
}

@media screen and (max-width: 767px) {
  .form__submit {
    width: 100%;
  }
}
.breadcrumbs {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-meta);
}

.breadcrumbs__item {
  color: var(--saffron);
}

.breadcrumbs__item:not(:last-child)::after {
  content: "›";
  margin-left: 6px;
  color: rgba(245, 200, 64, 0.55);
}

.breadcrumbs__link:target, .breadcrumbs__link:focus, .breadcrumbs__link:hover {
  text-decoration: underline;
}

.breadcrumbs__current {
  color: rgba(245, 200, 64, 0.7);
  max-width: 40ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.slider-gallery__content {
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--card-shadow);
}

.slider-gallery__image {
  aspect-ratio: 16/9;
}

.slider-gallery__zoom {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-interactive);
  background-color: rgba(31, 35, 31, 0.7);
  color: var(--saffron);
}

.slider-gallery__zoom svg {
  width: 20px;
  height: 20px;
}

.slider-gallery__thumb {
  border: 2px solid transparent;
  border-radius: var(--radius-interactive);
}

.slider-gallery__thumb--active {
  border-color: var(--saffron);
}

.atc__quantity {
  height: 44px;
  border-radius: var(--radius-interactive);
  background-color: var(--anchor-elevated);
  overflow: hidden;
}

.atc__quantity__button {
  width: 44px;
  background-color: transparent;
  border: none;
  color: var(--bright);
  font-family: var(--font-heading);
  font-size: 20px;
  cursor: pointer;
}

.atc__quantity__button:target, .atc__quantity__button:focus, .atc__quantity__button:hover {
  color: var(--saffron);
}

.atc__quantity__input {
  width: 48px;
  background-color: transparent;
  border: none;
  color: var(--bright);
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-body);
  text-align: center;
}

.atc__submit {
  width: 100%;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.woocommerce-product__set-code {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-label);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--saffron);
}

.woocommerce-product__tag {
  padding: 4px 10px;
  border-radius: var(--radius-interactive);
  background-color: var(--saffron);
  color: var(--anchor);
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-meta);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.woocommerce-product__title {
  font-family: var(--font-heading);
  font-size: 40px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--bright);
}

.woocommerce-product__stars {
  color: var(--saffron);
}

.woocommerce-product__star--empty {
  color: rgba(245, 200, 64, 0.3);
}

.woocommerce-product__review-count {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-label);
  color: rgba(240, 242, 238, 0.7);
}

.woocommerce-product__rrp {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-h4);
  color: rgba(240, 242, 238, 0.5);
  text-decoration: line-through;
}

.woocommerce-product__price {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: 30px;
  color: var(--saffron);
}

.woocommerce-product__finance {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: 12px;
  color: rgba(240, 242, 238, 0.7);
}

.woocommerce-product__stock {
  align-self: flex-start;
  padding: 6px 14px;
  border-radius: 999px;
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-label);
}

.woocommerce-product__stock--in {
  background-color: var(--saffron);
  color: var(--anchor);
}

.woocommerce-product__stock--low {
  background-color: var(--anchor);
  color: var(--saffron);
  border: 1px solid var(--saffron);
}

.woocommerce-product__stock--preorder {
  background-color: var(--primary);
  color: var(--bright);
}

.woocommerce-product__variant-label {
  font-family: var(--font-heading);
  font-size: var(--fs-eyebrow);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--saffron);
}

.woocommerce-product__swatch {
  padding: 8px 16px;
  border: 1px solid rgba(240, 242, 238, 0.2);
  border-radius: 999px;
  background-color: transparent;
  color: var(--bright);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--fs-meta);
  cursor: pointer;
}

.woocommerce-product__swatch--active {
  padding: 7px 15px;
  border-width: 2px;
  border-color: var(--saffron);
}

.woocommerce-product__wishlist {
  width: 100%;
}

.woocommerce-product__wishlist svg {
  width: 18px;
  height: 18px;
}

.woocommerce-product__trust {
  padding-top: var(--space-15);
  border-top: 1px solid var(--rule-on-anchor);
}

.woocommerce-product__trust-item {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: 12px;
  color: rgba(240, 242, 238, 0.8);
}

.woocommerce-product__trust-item svg {
  color: var(--saffron);
  flex: 0 0 auto;
}

.woocommerce-product__payment {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: 12px;
  color: rgba(240, 242, 238, 0.6);
  letter-spacing: 0.02em;
}

.woocommerce .atc__submit.button--saffron {
  background-color: var(--saffron);
  color: var(--anchor);
}

.woocommerce .woocommerce-product__wishlist.button--ghost-saffron {
  color: var(--saffron);
  border-color: var(--saffron);
}

.process-grid {
  max-width: var(--site-max-width, 1440px);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-45, 45px);
  padding-right: var(--space-45, 45px);
}

@media screen and (max-width: 767px) {
  .process-grid {
    padding-left: var(--space-20);
    padding-right: var(--space-20);
  }
}
.process-grid__header {
  text-align: center;
  margin-bottom: var(--space-60);
}

.process-grid__header .eyebrow {
  display: block;
  margin-bottom: var(--space-20);
  color: var(--green);
}

.process-grid__grid {
  gap: var(--space-30);
}

.process-grid--narrow {
  max-width: 980px;
  padding-left: 0;
  padding-right: 0;
}

.process-grid--narrow .process-grid__steps {
  gap: var(--space-30);
  margin-top: var(--space-40);
}

.process-step {
  background-color: var(--anchor);
  border-radius: var(--radius-card);
  padding: var(--space-45, 45px);
  position: relative;
  transition: background-color 0.2s ease;
}

.process-step:hover {
  background-color: var(--anchor-elevated);
}

.process-step__number {
  font-family: var(--font-label);
  font-size: 48px;
  font-weight: 700;
  color: rgba(38, 96, 56, 0.3);
  line-height: 1;
  margin-bottom: var(--space-45, 45px);
  transition: color 0.2s ease;
}

.process-step:hover .process-step__number {
  color: var(--green);
}

.process-step__body {
  font-size: var(--fs-body);
  line-height: 1.55;
  color: var(--grey, #9aa49a);
  margin-bottom: var(--space-20);
}

.process-step__note {
  font-family: var(--font-label);
  font-size: var(--fs-meta);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--green-light, #217e52);
}

.process-step__recommended {
  position: absolute;
  top: -10px;
  right: var(--space-20);
  background-color: var(--saffron);
  color: var(--anchor);
  font-size: var(--fs-meta);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  padding: 4px var(--space-15);
  border-radius: var(--radius-interactive);
}

.process-step--plain {
  background-color: transparent;
  border-radius: 0;
  padding: 0;
}

.process-step--plain:hover {
  background-color: transparent;
}

.process-step--plain .process-step__eyebrow {
  display: block;
  margin-bottom: var(--space-15);
  padding-bottom: var(--space-15);
  border-bottom: 1px solid var(--rule-on-anchor);
  font-family: var(--font-heading);
  font-size: var(--fs-eyebrow);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.process-step--plain .process-step__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h3);
  font-weight: 600;
  line-height: 1.3;
}

.process-step--plain .process-step__body {
  margin-top: var(--space-15);
  margin-bottom: 0;
  font-size: var(--fs-body);
  line-height: 1.65;
  color: inherit;
}

.single-card {
  overflow: hidden;
  border-radius: var(--radius-card);
  background: var(--bright);
  color: var(--anchor);
  box-shadow: var(--card-shadow);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.single-card:target, .single-card:focus, .single-card:hover {
  box-shadow: var(--card-shadow-hover);
  transform: translateY(-2px);
}

.single-card__image {
  aspect-ratio: 4/5;
}

.single-card__body {
  gap: var(--space-15);
  padding: var(--space-20);
}

.single-card__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h3);
  font-weight: 600;
  line-height: 1.3;
  color: var(--anchor);
}

.single-card__meta {
  gap: var(--space-15);
  padding-bottom: var(--space-15);
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-label);
  color: var(--primary);
  border-bottom: 1px solid var(--rule-on-bright);
}

.single-card__price {
  font-size: var(--fs-label-card);
}

.single-card__note {
  font-size: var(--fs-body);
  line-height: 1.65;
}

.terrain-tile {
  gap: var(--space-15);
}

.terrain-tile__media {
  overflow: hidden;
  border-radius: var(--radius-card);
  box-shadow: var(--card-shadow);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.terrain-tile:target .terrain-tile__media, .terrain-tile:focus .terrain-tile__media, .terrain-tile:hover .terrain-tile__media {
  box-shadow: var(--card-shadow-hover);
  transform: translateY(-2px);
}

.terrain-tile__image {
  aspect-ratio: 4/5;
}

.terrain-tile__name {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  font-weight: 600;
  line-height: 1.25;
}

.feature-event {
  min-height: 460px;
  border-radius: var(--radius-card);
}

.feature-event__scrim {
  background: linear-gradient(to top, rgba(31, 35, 31, 0.92) 0%, rgba(31, 35, 31, 0.55) 45%, rgba(31, 35, 31, 0.1) 100%);
}

.feature-event__content {
  max-width: 640px;
  padding: var(--space-40);
}

.feature-event__eyebrow {
  margin-bottom: var(--space-15);
}

.feature-event__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--bright);
}

.feature-event__date {
  margin-top: var(--space-15);
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-label-card);
  color: var(--saffron);
}

.feature-event__body {
  margin-top: var(--space-20);
  font-size: var(--fs-body);
  line-height: 1.65;
  color: var(--bright);
}

.feature-event__cta {
  margin-top: var(--space-30);
}

.product-meta-strip {
  background: var(--anchor);
  color: var(--bright);
}

.product-meta-strip__slot {
  border-left-color: var(--rule-on-anchor);
}

.product-meta-strip__label {
  font-family: var(--font-label);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--saffron);
}

.product-meta-strip__value {
  font-family: var(--font-label);
  font-size: var(--fs-label);
  color: var(--bright);
}

@media (max-width: 768px) {
  .product-meta-strip__slot {
    border-top-color: var(--rule-on-anchor);
  }
}
.product-description__eyebrow {
  font-family: var(--font-heading);
  font-size: var(--fs-eyebrow);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.product-description__body {
  font-size: var(--fs-body);
  line-height: 1.65;
  color: var(--anchor);
  margin: 0;
}

.product-description__pullquote {
  font-family: var(--font-heading);
  font-size: 22px;
  color: var(--anchor);
  border-left-color: var(--primary);
}

.product-description__card-eyebrow {
  font-family: var(--font-heading);
  font-size: var(--fs-eyebrow);
}

.product-description__check {
  color: var(--saffron);
}

.product-description__staff-byline {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-meta);
  color: var(--saffron);
}

.product-description__card--dark {
  background: var(--anchor);
  color: var(--bright);
}

.product-description__card--dark .product-description__spec-row {
  border-bottom-color: var(--rule-on-anchor);
}

.product-description__card--dark .product-description__spec-key {
  color: rgba(240, 242, 238, 0.6);
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-label);
}

.product-description__card--dark .product-description__spec-value {
  color: var(--bright);
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-label);
}

.product-description__card--dark .product-description__box-item {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-label);
  color: var(--bright);
}

.product-description__card--green {
  background: var(--primary);
  color: var(--bright);
}

.product-description__card--green .product-description__staff-quote {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  color: var(--bright);
}

.spec-panel__heading {
  font-family: var(--font-heading);
  font-size: var(--fs-h2);
  font-weight: 700;
}

.spec-panel__eyebrow {
  font-family: var(--font-heading);
  font-size: var(--fs-eyebrow);
}

.spec-panel__lead {
  font-size: var(--fs-lead);
}

.spec-panel__key {
  font-family: var(--font-heading);
  font-size: var(--fs-eyebrow);
}

.spec-panel__value {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-label);
}

.spec-panel--dark {
  color: var(--bright);
}

.spec-panel--dark .spec-panel__row {
  border-bottom-color: var(--rule-on-anchor);
}

.chase-card__rarity {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-meta);
  background-color: var(--saffron);
  color: var(--anchor);
}

.chase-card__name {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  font-weight: 600;
}

.chase-card__pull {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-meta);
}

.chase-card__price {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-label-card);
}

.chase-card--light {
  background-color: var(--bright);
  color: var(--anchor);
}

.chase-card--light .chase-card__pull {
  color: rgba(31, 35, 31, 0.6);
}

.chase-card--light .chase-card__meta {
  border-top-color: var(--rule-on-bright);
}

.lore-band__scrim {
  background: linear-gradient(to right, rgba(25, 28, 25, 0.92) 0%, rgba(25, 28, 25, 0.7) 40%, rgba(25, 28, 25, 0.3) 100%);
}

.lore-band__content {
  max-width: 720px;
}

.lore-band__eyebrow {
  display: block;
  margin-bottom: var(--space-15);
  font-family: var(--font-heading);
  font-size: var(--fs-eyebrow);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--saffron);
}

.lore-band__title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--bright);
}

.lore-band__body {
  margin-top: var(--space-20);
  font-size: 18px;
  line-height: 1.65;
  color: rgba(240, 242, 238, 0.95);
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .lore-band__scrim {
    background: linear-gradient(to top, rgba(25, 28, 25, 0.92) 0%, rgba(25, 28, 25, 0.7) 60%, rgba(25, 28, 25, 0.4) 100%);
  }
}
.singles-banner {
  background-color: var(--primary);
  color: var(--bright);
}

.singles-banner__eyebrow {
  display: block;
  margin-bottom: var(--space-15);
  font-family: var(--font-heading);
  font-size: var(--fs-eyebrow);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--saffron);
}

.singles-banner__title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--bright);
}

.singles-banner__sub {
  margin-top: var(--space-15);
  font-size: 18px;
  line-height: 1.5;
  color: var(--bright);
}

.review-card__meta {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-meta);
}

.review-card__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  font-weight: 600;
}

.review-card__text {
  font-size: var(--fs-label);
}

.review-card--light {
  background-color: var(--bright);
  color: var(--anchor);
}

.collector-card {
  background-color: var(--anchor);
  color: var(--bright);
}

.collector-card__ratings {
  border-color: var(--rule-on-anchor);
}

.collector-card__dim-label {
  font-family: var(--font-label);
  font-weight: 500;
  color: rgba(240, 242, 238, 0.6);
}

.collector-card__dim-stars {
  color: var(--saffron);
}

.collector-card__star--empty {
  color: rgba(245, 200, 64, 0.3);
}

.collector-card__name {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  font-weight: 600;
  color: var(--bright);
}

.collector-card__badge {
  background-color: var(--saffron);
  color: var(--anchor);
}

.collector-card__badge::after {
  background-color: var(--anchor-elevated);
  color: var(--bright);
  font-family: var(--font-label);
  font-weight: 500;
  border-color: var(--rule-on-anchor);
}

.collector-card__text {
  font-size: var(--fs-label);
  color: var(--bright);
}

.collector-card__readmore {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-meta);
  color: var(--saffron);
}

.collector-card__readmore:hover {
  text-decoration: underline;
}

.collector-card__time {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: 11px;
  color: rgba(240, 242, 238, 0.6);
}

.pickup-strip {
  background-color: var(--primary);
  color: var(--bright);
}

.pickup-strip__icon {
  color: var(--saffron);
}

.pickup-strip__status-line {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-label);
  color: var(--saffron);
}

.pickup-strip__store {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-label);
  color: var(--bright);
}

.pickup-strip__detail {
  border-left-color: var(--rule-on-primary);
}

.pickup-strip__label {
  font-family: var(--font-heading);
  font-size: var(--fs-eyebrow);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--saffron);
}

.pickup-strip__value {
  font-family: var(--font-label);
  font-weight: 500;
  font-size: var(--fs-label);
  color: var(--bright);
}

.site-head__alerts {
  background-color: #022C22;
  color: #F8F9F8;
}

.site-head__main {
  background-color: #266038;
  color: #F8F9F8;
}

.site-head__main .icon {
  fill: #F8F9F8;
}

.site-head__main .site-nav__burger {
  color: #F8F9F8;
}

.site-head__main .site-nav__burger .icon {
  width: 30px;
  height: 25px;
}

@media screen and (max-width: 1024px) {
  .site-head__main .site-nav__logo {
    width: 60px;
  }
}
.site-head .site-nav__menu__item,
.site-head .site-nav__menu__item:not([class]) {
  color: #F8F9F8;
}

.site-head__actions {
  --icon-size: 24px;
}

.site-head__actions__basket__count {
  margin-left: 8px;
}

.desktop-nav::after, .desktop-nav::before {
  background-color: #266038;
}

.desktop-nav::backdrop {
  background-color: rgba(0, 0, 0, 0.65);
}

.desktop-nav .site-nav__menu__item {
  color: #F8F9F8;
}

.desktop-nav .site-nav__close .icon {
  fill: #F8F9F8;
}

.desktop-nav__menu__item {
  margin-bottom: 10px;
}

.desktop-nav__menu__item a:not([class]),
.desktop-nav__menu__item span {
  color: #F8F9F8;
  text-decoration: none;
}

.desktop-nav__menu__item a:not([class]):hover,
.desktop-nav__menu__item span:hover {
  border-color: #F8F9F8;
}

.desktop-nav__menu__drawer {
  border-left: 2px solid #217E52;
}

.desktop-nav__menu__drawer__item {
  color: #F8F9F8;
  text-decoration: none;
}

.desktop-nav__menu__drawer__item:hover {
  color: #D4EAD9;
}

.mobile-nav,
.mobile-nav__panel {
  background-color: #022C22;
  color: #F8F9F8;
}

.mobile-nav::backdrop,
.mobile-nav__panel::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}

.mobile-nav__header {
  padding: 0 20px;
  border-bottom: 1px solid rgba(248, 249, 248, 0.1);
}

.mobile-nav__header__title {
  display: flex;
  align-items: center;
  column-gap: 10px;
  padding-left: 0;
  color: #F8F9F8;
}

.mobile-nav__header__title__icon {
  fill: #F8F9F8;
}

.mobile-nav__header__close button {
  display: flex;
  align-items: center;
}

.mobile-nav__header__close button .icon {
  margin-left: auto;
  margin-right: 0;
  fill: #F8F9F8;
}

.mobile-nav__list {
  padding: 20px;
}

.mobile-nav__list__item {
  padding: 20px 0;
  border-bottom: 1px solid rgba(248, 249, 248, 0.1);
}

.mobile-nav__list__item a:not([class]),
.mobile-nav__list__item button {
  color: #F8F9F8;
  text-decoration: none;
}

.mobile-nav__list__item a:not([class]) {
  display: flex;
  align-items: center;
  column-gap: 10px;
}

.mobile-nav__list__item .icon {
  fill: #F8F9F8;
}

.is-style-eyebrow {
  color: var(--ground-accent, var(--saffron));
}

.wp-block-media-text__media {
  border-radius: var(--radius-card);
  overflow: hidden;
}

.wp-block-media-text__media img {
  display: block;
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
}

.wp-block-media-text__content .wp-block-buttons {
  margin-top: var(--space-30);
}

.wp-block-columns {
  margin-bottom: 0;
}

a:not([class]) {
  color: var(--primary);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.2s ease;
}

a:not([class]):hover {
  color: var(--saffron);
}

p {
  font-size: var(--fs-body);
  line-height: 1.65;
}

.is-style-lead {
  font-size: var(--fs-lead);
  line-height: 1.5;
}

ul.wp-block-list,
ol.wp-block-list {
  padding-left: 1.5em;
  line-height: 1.65;
}

ul.wp-block-list li + li,
ol.wp-block-list li + li {
  margin-top: 0.4em;
}

ul.wp-block-list li::marker,
ol.wp-block-list li::marker {
  color: var(--primary);
}

ul.wp-block-list ul,
ul.wp-block-list ol,
ol.wp-block-list ul,
ol.wp-block-list ol {
  margin-top: 0.4em;
}

ul.wp-block-list {
  list-style: disc;
}

ul.wp-block-list ul {
  list-style: circle;
}

ol.wp-block-list {
  list-style: decimal;
}

ol.wp-block-list ol {
  list-style: lower-alpha;
}

.wp-block-quote {
  padding-left: var(--space-20);
  border-left: 3px solid var(--primary);
  font-size: var(--fs-lead);
  font-style: italic;
  line-height: 1.5;
}

.wp-block-quote cite {
  display: block;
  margin-top: var(--space-15);
  font-family: var(--font-label);
  font-style: normal;
  font-size: var(--fs-meta);
  color: var(--muted);
}

.wp-block-table {
  overflow-x: auto;
}

.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-body);
}

.wp-block-table th,
.wp-block-table td {
  padding: var(--space-15) var(--space-20);
  border: 1px solid var(--rule-on-bright);
  text-align: left;
}

.wp-block-table thead th {
  background: var(--anchor);
  color: var(--bright);
  font-family: var(--font-label);
  font-size: var(--fs-meta);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.wp-block-table tbody tr:nth-child(even) {
  background: rgba(25, 28, 25, 0.035);
}

.wp-block-table figcaption {
  margin-top: var(--space-15);
  font-size: var(--fs-meta);
  color: var(--muted);
  text-align: center;
}

.wp-block-image img {
  border-radius: var(--radius-card);
}

.wp-block-image figcaption {
  margin-top: var(--space-15);
  font-family: var(--font-label);
  font-size: var(--fs-meta);
  color: var(--muted);
  text-align: center;
}

.wp-block-gallery figcaption {
  font-family: var(--font-label);
  font-size: var(--fs-meta);
}

.wp-block-separator {
  width: 100%;
  max-width: 120px;
  margin-inline: auto;
  border: 0;
  border-top: 2px solid var(--primary);
  opacity: 1;
}

.wp-block-separator.alignwide, .wp-block-separator.is-style-wide {
  max-width: 100%;
  border-top-width: 1px;
  border-top-color: var(--rule-on-bright);
}

/*------------------------------------*\
	CSS CUSTOM PROPERTIES
	Front-end token surface. The declarations live in _brand-tokens.scss as a
	mixin so the same set also compiles to tokens.css (scoped to the editor
	canvas wrapper) for WYSIWYG block previews. See tokens.scss.
\*------------------------------------*/
:root {
  --site-max-width: 1440px;
  --gutter: 30px;
  --gutter-small: 20px;
  --hero-min-height: 720px;
  --icon-size: 20px;
  --fs-base: 16px;
  --near-black: #1A1E1A;
  --off-white: #F0F2F0;
  --green: #266038;
  --saffron: #F5C840;
  /*--------------------------------------------------------------------*\
  	SEMANTIC GROUNDS — design-phase token set (mockup #12222)

  	Seeded verbatim from the accepted homepage mockup's :root — the
  	empirical spec the homepage blocks resolve against. These differ
  	slightly from the legacy tones above (anchor #1f231f vs near-black
  	#1A1E1A; bright #f0f2ee vs off-white #F0F2F0); the design agent
  	refined the scale during authoring. Reconciling them back into
  	styleguide 11700 + its generator is a tracked follow-up — until
  	then the mockup is the source of truth.
  \*--------------------------------------------------------------------*/
  --anchor: #1f231f;
  --anchor-elevated: #262a26;
  --bright: #f0f2ee;
  --primary: #266038;
  --rule-on-anchor: rgba(240, 242, 238, 0.12);
  --rule-on-bright: rgba(25, 28, 25, 0.12);
  --rule-on-primary: rgba(240, 242, 238, 0.18);
  --muted: rgba(25, 28, 25, 0.6);
  --card-shadow: 0 8px 24px rgba(25, 28, 25, 0.1);
  --card-shadow-hover: 0 16px 32px rgba(25, 28, 25, 0.2);
  --font-heading: "proxima-nova", sans-serif;
  --font-body: "proxima-nova", sans-serif;
  --font-label: "JetBrains Mono", monospace;
  --fs-display: 52px;
  --fs-h2: 30px;
  --fs-h3: 21px;
  --fs-h4: 17px;
  --fs-body: 16px;
  --fs-lead: 19px;
  --fs-meta: 13px;
  --fs-eyebrow: 13px;
  --fs-label: 14px;
  --fs-label-card: 20px;
  --space-15: 15px;
  --space-20: 20px;
  --space-30: 30px;
  --space-40: 40px;
  --space-60: 60px;
  --radius-interactive: 4px;
  --radius-card: 8px;
  --container-max: 1440px;
  --content-max: 760px;
  --section-padding: var(--space-60);
}

html {
  font-size: 16px;
  line-height: 24.8px;
  font-family: "proxima-nova", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.wrapper {
  max-width: 1440px;
  margin: 0 auto;
  padding: 30px;
}

@media screen and (max-width: 767px) {
  .wrapper {
    padding: 20px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNldHRpbmdzL19mb250cy5zY3NzIiwiLi4vLi4vLi4vZ2xvYmFsL3Njc3MvY29yZS9fcmVzZXQuc2NzcyIsIi4uLy4uLy4uL2dsb2JhbC9zY3NzL2Z1bmN0aW9ucy9fbWVkaWEtcXVlcnkuc2NzcyIsIi4uLy4uLy4uL2dsb2JhbC9zY3NzL2NvcmUvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL2dsb2JhbC9zY3NzL2NvcmUvX2ltYWdlcy5zY3NzIiwiLi4vLi4vLi4vZ2xvYmFsL3Njc3MvZnVuY3Rpb25zL190cmFuc2l0aW9ucy5zY3NzIiwiLi4vLi4vLi4vZ2xvYmFsL3Njc3MvY29yZS9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vZ2xvYmFsL3Njc3MvZnVuY3Rpb25zL19ob3Zlci5zY3NzIiwiLi4vLi4vLi4vZ2xvYmFsL3Njc3MvZnVuY3Rpb25zL19iYWNrZ3JvdW5kLnNjc3MiLCJfYnJhbmQtdG9rZW5zLnNjc3MiLCJjb21wb25lbnRzL19idXR0b24uc2NzcyIsImNvbXBvbmVudHMvX3RpdGxlLnNjc3MiLCJjb21wb25lbnRzL19oZXJvLnNjc3MiLCJjb21wb25lbnRzL19iYW5uZXIuc2NzcyIsImNvbXBvbmVudHMvX2xpbmstYm94LnNjc3MiLCJjb21wb25lbnRzL19saW5rLWNhcmQuc2NzcyIsImNvbXBvbmVudHMvX2NhdGVnb3J5LXRpbGUuc2NzcyIsImNvbXBvbmVudHMvX3NlY3Rpb24taGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19wcmljZS5zY3NzIiwiY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsImNvbXBvbmVudHMvX2V5ZWJyb3cuc2NzcyIsImNvbXBvbmVudHMvX2ZlYXR1cmVkLXByb2R1Y3Quc2NzcyIsImNvbXBvbmVudHMvX3Byb2R1Y3QtY2FyZC5zY3NzIiwiY29tcG9uZW50cy9fc2hvd2Nhc2Uuc2NzcyIsImNvbXBvbmVudHMvX2NvbW1lbnRhcnktY2FyZC5zY3NzIiwiY29tcG9uZW50cy9fcG9zdC1jYXJkLnNjc3MiLCJjb21wb25lbnRzL19pbnRyby5zY3NzIiwiY29tcG9uZW50cy9faXRlbS10aWxlLnNjc3MiLCJjb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsImNvbXBvbmVudHMvX3N0YXQuc2NzcyIsImNvbXBvbmVudHMvX2luZm8tY2FyZC5zY3NzIiwiY29tcG9uZW50cy9fc3BvdGxpZ2h0LnNjc3MiLCJjb21wb25lbnRzL19tb3NhaWMuc2NzcyIsImNvbXBvbmVudHMvX25ld3NsZXR0ZXIuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJjb21wb25lbnRzL19zbGlkZXItZ2FsbGVyeS5zY3NzIiwiY29tcG9uZW50cy9fYXRjLnNjc3MiLCJjb21wb25lbnRzL193b29jb21tZXJjZS1wcm9kdWN0LnNjc3MiLCJjb21wb25lbnRzL19wcm9jZXNzLWdyaWQuc2NzcyIsImNvbXBvbmVudHMvX3Byb2Nlc3Mtc3RlcC5zY3NzIiwiY29tcG9uZW50cy9fc2luZ2xlLWNhcmQuc2NzcyIsImNvbXBvbmVudHMvX3RlcnJhaW4tdGlsZS5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZS1ldmVudC5zY3NzIiwiY29tcG9uZW50cy9fcHJvZHVjdC1tZXRhLXN0cmlwLnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0LWRlc2NyaXB0aW9uLnNjc3MiLCJjb21wb25lbnRzL19zcGVjLXBhbmVsLnNjc3MiLCJjb21wb25lbnRzL19jaGFzZS1jYXJkLnNjc3MiLCJjb21wb25lbnRzL19sb3JlLWJhbmQuc2NzcyIsImNvbXBvbmVudHMvX3NpbmdsZXMtYmFubmVyLnNjc3MiLCJjb21wb25lbnRzL19yZXZpZXctY2FyZC5zY3NzIiwiY29tcG9uZW50cy9fY29sbGVjdG9yLWNhcmQuc2NzcyIsImNvbXBvbmVudHMvX3BpY2t1cC1zdHJpcC5zY3NzIiwibGF5b3V0cy9fc2l0ZS1oZWFkLnNjc3MiLCJsYXlvdXRzL19uYXYtZGVza3RvcC5zY3NzIiwibGF5b3V0cy9fbmF2LW1vYmlsZS5zY3NzIiwiYmxvY2tzL19leWVicm93LnNjc3MiLCJibG9ja3MvX3dwLWJsb2NrLW1lZGlhLXRleHQuc2NzcyIsImJsb2Nrcy9fd3AtYmxvY2stY29sdW1ucy5zY3NzIiwiYmxvY2tzL19saW5rcy5zY3NzIiwiYmxvY2tzL193cC1ibG9jay1wYXJhZ3JhcGguc2NzcyIsImJsb2Nrcy9fd3AtYmxvY2stbGlzdC5zY3NzIiwiYmxvY2tzL193cC1ibG9jay1xdW90ZS5zY3NzIiwiYmxvY2tzL193cC1ibG9jay10YWJsZS5zY3NzIiwiYmxvY2tzL193cC1ibG9jay1pbWFnZS5zY3NzIiwiYmxvY2tzL193cC1ibG9jay1nYWxsZXJ5LnNjc3MiLCJibG9ja3MvX3dwLWJsb2NrLXNlcGFyYXRvci5zY3NzIiwibmVyZHdvcmtzLnNjc3MiLCJzZXR0aW5ncy9fdHlwb2dyYXBoeS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDMUJEO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtFQUlDOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBOzs7QUFJRDtBQUFBO0VBR0M7RUFDQTs7O0FBSUQ7RUFFQzs7O0FBSUQ7QUFBQTtFQUdDO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQzs7O0FBSUQ7QUFBQTtFQUdDO0VBQ0E7OztBQUlEO0FBQUE7RUFHQztFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7OztBQUlEO0VBRUM7OztBQUlEO0VBRUM7RUFDQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUN4R0Q7QUFBQTs7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDRUE7QUFBQTtBQUFBO0FBSUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDOzs7QUFJRDtFQUVDOzs7QUR5Q0M7RUMzQ0Y7SUFNRTs7O0FBTUY7RUFFQzs7O0FENkJDO0VDL0JGO0lBTUU7OztBQU1GO0VBRUM7OztBRGlCQztFQ25CRjtJQU1FOzs7QUFNRjtFQUVDOzs7QURLQztFQ1BGO0lBTUU7OztBQU1GO0VBRUM7OztBRFBDO0VDS0Y7SUFNRTs7O0FEWEE7RUNLRjtJQVlFOzs7QUNoRkg7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FETUE7RUFFQztFQUNBOzs7QUFFQTtFQ0xBO0VEU0M7RUFDQTs7O0FBTUE7RUFFQzs7O0FBVUY7RUFFQztFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBOzs7QUU1Q0Y7QUFBQTtBQUFBO0FBSUE7RUFFQzs7O0FKdURFO0VJckRGO0lBSUU7OztBSmlEQTtFSTNDRjtJQUlFOzs7QUp1Q0E7RUlqQ0Y7SUFJRTs7O0FBUUQ7RUFGRDtJQUlFOzs7QUFRRDtFQUZEO0lBSUU7OztBQ3RESDtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTs7QUFBQTs7QUFBQTtBQUFBO0FDUUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQ0pBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0E7RUFFQztFQUNBOzs7QUFLRDtFQUVDO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBOzs7QUFNRjtFQUVDO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQzs7O0FBT0Y7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQzs7O0FBUUY7RUFFQztFQUNBO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTs7O0FBVUY7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQzs7O0FBVUY7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQzs7O0FDL0dIO0VBRUM7RUFDQTs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7OztBVCtDQztFU25ERjtJQVFFOzs7QVQyQ0E7RVNuREY7SUFjRTs7O0FBZ0JGO0VBRUM7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBOzs7QUFNRDtFQUVDOzs7QUFJRDtFQUVDOzs7QUNwRUQ7RUFFQzs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FML0JBO0VLbUNDOzs7QUFRRjtFQUVDOzs7QUFLRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFHQzs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFFQTs7O0FWNUNDO0VVbUREO0lBRUM7OztBQzFHSDtFQUVDO0VBQ0E7OztBQUVBO0VBRUM7OztBQUlEO0VBRUM7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFRRjtFQUVDO0VBQ0E7RUFDQTs7O0FDN0REO0VBRUM7RUFDQTtFQUNBOzs7QUFFQTtFVFRBOzs7QVNlQTtFQUVDOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQzs7O0FBTUE7RUFFQzs7O0FDeENIO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FSVUM7RVFOQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUFJRDtFQUVDO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FDekNGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBVFNDO0VTTEE7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7OztBQUtEO0VBRUM7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDekNGO0VBRUM7OztBQUVBO0VBRUM7OztBQU1EO0VBRUM7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7OztBQU1EO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQzs7O0FWbENEO0VVd0NDOzs7QUFJRDtFQUVDOzs7QUFJRDtFQUVDOzs7QWZiQTtFZXJESDtJQTBFRTtJQUNBO0lBQ0E7OztBQ2hGRjtFQUVDO0VBQ0E7OztBQUVBO0VBRUM7OztBQUlEO0VBRUM7OztBQ1pGO0VBRUM7RUFDQTs7O0FBRUE7RUFFQzs7O0FBSUQ7RUFFQzs7O0FDWkY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDOzs7QUFJRDtFQUVDOzs7QUNmRjtFQUVDOzs7QUFFQTtFQUVDO0VBQ0E7OztBQUlEO0VBRUM7OztBQUtEO0VBRUM7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBS0Q7RUFFQztFQUNBOzs7QUFJRDtFQUVDOzs7QW5CQ0M7RW1CdERIO0lBMkRFOzs7QUN2REY7RUFFQztFQUNBOzs7QUFFQTtFQUVDOzs7QUFJRDtFQUVDO0VBQ0E7OztBQU9EO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBOzs7QUFVRjtFQUVDO0VBQ0E7OztBQ2hERDtFQUVDO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQzs7O0FBS0Q7RUFFQzs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FBS0Q7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBOzs7QUFNRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQzs7O0FDbEZGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FqQlVDO0VpQk5BO0VBQ0E7OztBQUlEO0VBRUM7OztBQUlEO0VBRUM7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQzs7O0FDbkRIO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBbEJJQztFa0JBQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUFJRDtFQUVDO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTs7O0FBUUQ7RUFFQztFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7OztBdkJUQztFdUJpQkg7SUFJRTs7O0FDN0VGO0VBRUM7OztBQUVBO0VBRUM7OztBQUlEO0VBRUM7OztBQUlEO0VBRUM7RUFDQTs7O0FDYkY7RUFFQztFQUNBOzs7QUFFQTtFQUVDOzs7QUFLRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRDtFQUVDOzs7QUM5REY7RUFFQzs7O0FDS0E7RUFFQzs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7OztBQ3hCRjtFQUVDO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQzs7O0FBSUQ7RUFFQzs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7OztBNUJpQ0M7RTRCekJIO0lBSUU7OztBQzlCRjtFQUVDOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQzs7O0FBSUQ7RUFFQzs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRDtFQUVDOzs7QUFFQTtFQUVDO0VBQ0E7OztBQUlEO0VBRUM7OztBQUtEO0VBRUM7OztBQUtEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQzs7O0FDdEdGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBOUIyQ0M7RThCaERGO0lBVUU7SUFDQTs7O0FBTUY7RUFFQztFQUNBOzs7QXpCWEE7RXlCZUM7OztBQUtEO0VBQWlCO0VBQXFCOzs7QUFDdEM7RUFBaUI7RUFBcUI7OztBQUN0QztFQUFpQjtFQUFxQjs7O0FBQ3RDO0VBQWlCO0VBQXFCOzs7QUFDdEM7RUFBaUI7RUFBcUI7OztBQUN0QztFQUFpQjtFQUFxQjs7O0E5QmNyQztFOEJUQTtJQUVDO0lBQ0E7OztBQVFIO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QXpCdkREO0V5QjJERTs7O0FBV0Y7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0E5QnBDQTtFOEIrQkQ7SUFVRTtJQUNBOzs7QTlCMUNEO0U4QitCRDtJQWtCRTs7O0FBTUY7RUFFQztFQUNBO0VBQ0E7OztBQUdBO0VBRUM7RUFDQTs7O0F6QnhHRjtFeUI4R0U7OztBQU1GO0VBQXNCOzs7QUFDdEI7RUFBc0I7OztBQUN0QjtFQUFzQjtFQUFxQjs7O0FBRTNDO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0E7RUFFQztFQUNBOzs7QXpCcElGO0V5QndJRztFQUNBOzs7QTlCbEdGO0U4QjZHQTtJQUVDOzs7QTlCL0dEO0U4QndIQTtBQUFBO0lBR0M7OztBQy9LSDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBOzs7QUFLRDtFQUVDOzs7QUNyQkY7RUFFQztFQUNBO0VBQ0E7OztBaENnREU7RWdDcERIO0lBUUU7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FoQ2tCQTtFZ0N4Q0Y7SUErQkU7OztBQVNGO0VBRUM7RUFDQTs7O0FoQ0hDO0VnQ0FGO0lBT0U7OztBQy9ESDtFQUVDO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQzs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7OztBNUJHRDtFNEJPQzs7O0FBTUY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUNuQ0Q7RUFFQztFQUNBO0VBQ0E7OztBQUlEO0VBRUM7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBOzs7QUFNRjtFQUVDO0VBQ0E7OztBQUVBO0VBRUM7OztBQ3BDRjtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QTlCREQ7RThCS0U7OztBQU1GO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUM3Q0Q7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0Q7RUFFQzs7O0FBSUQ7RUFFQzs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBS0Q7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBOzs7QUFPRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTtFQUNBOzs7QUFRRjtFQUVDOzs7QUFFQTtFQUVDO0VBQ0E7OztBQU9GO0VBRUM7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBOzs7QUFNRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQWFEO0VBRUM7RUFDQTs7O0FBSUQ7RUFFQztFQUNBOzs7QUNoT0Y7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QXJDOENFO0VxQ3BESDtJQVVFO0lBQ0E7OztBQUlEO0VBRUM7RUFDQTs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7OztBQU9GO0VBRUM7OztBQUtEO0VBRUM7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7OztBQzlDSDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7OztBQU1GO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0Q7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRDtFQUVDO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQzs7O0FBU0Q7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDdEhIO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QWxDT0M7RWtDSEE7RUFDQTs7O0FBSUQ7RUFFQzs7O0FBSUQ7RUFFQztFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtEO0VBRUM7OztBQUlEO0VBRUM7RUFDQTs7O0FDL0RGO0VBRUM7OztBQUVBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQU1BO0VBRUM7RUFDQTs7O0FBTUY7RUFFQzs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FDakNGO0VBRUM7RUFDQTs7O0FBR0E7RUFFQzs7O0FBSUQ7RUFFQztFQUNBOzs7QUFLRDtFQUVDOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0Q7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUN6REY7RUFFQztFQUNBOzs7QUFFQTtFQUVDOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBOzs7QUFLRDtFQUVDO0lBRUM7OztBQy9CRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTs7O0FBTUQ7RUFFQzs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBTUQ7RUFFQztFQUNBOzs7QUFFQTtFQUVDOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUVDO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTtFQUNBOzs7QUN6R0Y7RUFFQztFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTs7O0FBSUQ7RUFFQzs7O0FBSUQ7RUFFQztFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FBS0Q7RUFFQzs7O0FBRUE7RUFFQzs7O0FDekNGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FBTUQ7RUFFQztFQUNBOzs7QUFFQTtFQUVDOzs7QUFJRDtFQUVDOzs7QUM3Q0Y7RUFFQzs7O0FBSUQ7RUFFQzs7O0FBSUQ7RUFFQztFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBOUNGQztFOENZRDtJQUVDOzs7QUNsRUg7RUFFQztFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQ2hDRDtFQUVDO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7OztBQUlEO0VBRUM7OztBQUtEO0VBRUM7RUFDQTs7O0FDckJGO0VBRUM7RUFDQTs7O0FBSUE7RUFFQzs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7OztBQUlEO0VBRUM7OztBQUtEO0VBRUM7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQU1EO0VBRUM7RUFDQTs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUVDO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7OztBQU1GO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQ2hHRjtFQUVDO0VBQ0E7OztBQUVBO0VBRUM7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7OztBQUtEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUMxREQ7RUFFQztFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7OztBQU1BO0VBRUM7OztBQU9EO0VBRUM7OztBQU1BO0VBRUM7RUFDQTs7O0FuRHFCRDtFbURWQTtJQUVDOzs7QUFhSDtBQUFBO0VBR0M7OztBQVNEO0VBRUM7OztBQUtBO0VBRUM7OztBQzNFRjtFQUdDOzs7QUFJRDtFQUVDOzs7QUFPRDtFQUVDOzs7QUFJRDtFQUVDOzs7QUFJRDtFQUVDOzs7QUFFQTtBQUFBO0VBR0M7RUFDQTs7O0FBRUE7QUFBQTtFQUVDOzs7QUFRSDtFQUVDOzs7QUFJRDtFQUVDO0VBQ0E7OztBQUVBO0VBRUM7OztBQzlESDtBQUFBO0VBR0M7RUFDQTs7O0FBRUE7QUFBQTtFQUVDOzs7QUFNRjtFQUVDO0VBQ0E7OztBQU9BO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBT0Q7RUFFQzs7O0FBUUQ7RUFFQztFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTs7O0FBUUg7RUFFQzs7O0FBRUE7RUFFQztFQUNBOzs7QUFFQTtBQUFBO0VBR0M7RUFDQTs7O0FBUUQ7RUFFQztFQUNBO0VBQ0E7OztBQUlEO0VBRUM7OztBQzVGSDtFQUlDOzs7QUNGQTtFQUVDO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQWFEO0VBRUM7OztBQzdCSDtFQUVDOzs7QUNQRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDOzs7QUNIRjtFQUVDO0VBQ0E7OztBQVNEO0VBRUM7RUFDQTs7O0FDdEJEO0FBQUE7RUFHQztFQUNBOzs7QUFFQTtBQUFBO0VBRUM7OztBQUlEO0FBQUE7RUFFQzs7O0FBSUQ7QUFBQTtBQUFBO0FBQUE7RUFHQzs7O0FBTUY7RUFFQzs7O0FBRUE7RUFFQzs7O0FBTUY7RUFFQzs7O0FBRUE7RUFFQzs7O0FDN0NGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ2RGO0VBRUM7OztBQUVBO0VBRUM7RUFDQTtFQUNBOzs7QUFJRDtBQUFBO0VBR0M7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQzs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FDM0NEO0VBRUM7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDWEQ7RUFFQztFQUNBOzs7QUNORjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFHQztFQUNBO0VBQ0E7OztBQ2tERjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtFMUQvQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBQ0E7QUFFQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFhQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUdBO0VBR0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFLQTtFQUdBO0VBSUE7OztBMEQ3QkQ7RUNqQ0M7RUFDQTtFRG9DQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7OztBakVqQ0U7RWlFNkJIO0lBUUUiLCJmaWxlIjoibmVyZHdvcmtzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIOKUgOKUgCBOZXJkd29ya3MgbG9jYWxseSBob3N0ZWQgZm9udHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbkBmb250LWZhY2Uge1xuXG5cdGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgU3ltYm9scyBPdXRsaW5lZCc7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IDEwMCA3MDA7XG5cdGZvbnQtZGlzcGxheTogYmxvY2s7XG5cdHNyYzogdXJsKCcuLi9mb250cy9tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuXG59XG5cbi5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHtcblxuXHRmb250LWZhbWlseTogJ01hdGVyaWFsIFN5bWJvbHMgT3V0bGluZWQnO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtc2l6ZTogMjRweDtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHdvcmQtd3JhcDogbm9ybWFsO1xuXHRkaXJlY3Rpb246IGx0cjtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnRklMTCcgMCwgJ3dnaHQnIDQwMCwgJ0dSQUQnIDAsICdvcHN6JyAyNDtcblxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0UkVTRVRcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG5cblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxufVxuXG5odG1sIHtcblxuXHQtbW96LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7XG5cdC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTtcblx0dGV4dC1zaXplLWFkanVzdDogbm9uZTtcblxufVxuXG5ib2R5IHtcblxuXHRtYXJnaW46IDA7XG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xuXG59XG5cbmJvZHksIGgxLCBoMiwgaDMsIGg0LFxucCwgZmlndXJlLCBibG9ja3F1b3RlLCBkbCwgZGQge1xuXG5cdG1hcmdpbi1ibG9jay1zdGFydDogMDtcblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcblxufVxuXG5oMSwgaDIsIGgzLCBoNCB7XG5cblx0dGV4dC13cmFwOiBwcmV0dHk7XG5cbn1cblxudWwsXG5vbCB7XG5cblx0bWFyZ2luOiB1bnNldDtcblx0cGFkZGluZzogdW5zZXQ7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cbn1cblxuYTpub3QoW2NsYXNzXSkge1xuXG5cdHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bztcblxufVxuXG5pbWcsXG5waWN0dXJlIHtcblxuXHRkaXNwbGF5OiBibG9jaztcblx0bWF4LXdpZHRoOiAxMDAlO1xuXG59XG5cbmlucHV0LCBidXR0b24sXG50ZXh0YXJlYSwgc2VsZWN0IHtcblxuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Zm9udC1zaXplOiBpbmhlcml0O1xuXG59XG5cbmJ1dHRvbiB7XG5cblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cbn1cblxuZmllbGRzZXQge1xuXG5cdGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMDtcblxufVxuXG50ZXh0YXJlYTpub3QoW3Jvd3NdKSB7XG5cblx0bWluLWhlaWdodDogMTBlbTtcblxufVxuXG4qW3BvcG92ZXJdIHtcblxuXHRoZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3JkZXI6IG5vbmU7XG5cbn1cblxuOnRhcmdldCB7XG5cblx0c2Nyb2xsLW1hcmdpbi1ibG9jazogNWV4O1xuXG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRNRURJQSBRVUVSWVxuXG5cdFdyYXBzIGNvbnRlbnQgaW4gdGhlIGFwcHJvcHJpYXRlIG1lZGlhIHF1ZXJ5LlxuXG5cdFVzYWdlOlxuXHQuYmxvY2sge1xuXHRcdEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KCc3NjgnKSB7IC4uLiB9XG5cdH1cblxuXHRBdmFpbGFibGUgYWxpYXNlczpcblx0cG9ydHJhaXQsIGxhbmRzY2FwZVxuXHQ3NjgsIDc2OC1wbHVzXG5cdDkwMCwgOTAwLXBsdXNcblx0MTAyNCwgMTAyNC1wbHVzXG5cdDE0NDAsIDE0NDAtcGx1c1xuXHQxOTIwLCAxOTIwLXBsdXNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiRicmVha3BvaW50LS1wb3J0cmFpdDogICAgJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJztcbiRicmVha3BvaW50LS1sYW5kc2NhcGU6ICAgJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKSc7XG5cbiRicmVha3BvaW50LS03Njg6ICAgICAgICAgJyhtYXgtd2lkdGg6IDc2N3B4KSc7XG4kYnJlYWtwb2ludC0tNzY4LXBsdXM6ICAgICcobWluLXdpZHRoOiA3NjhweCknO1xuXG4kYnJlYWtwb2ludC0tOTAwOiAgICAgICAgICcobWF4LXdpZHRoOiA5MDBweCknO1xuJGJyZWFrcG9pbnQtLTkwMC1wbHVzOiAgICAnKG1pbi13aWR0aDogOTAxcHgpJztcblxuJGJyZWFrcG9pbnQtLTEwMjQ6ICAgICAgICAnKG1heC13aWR0aDogMTAyNHB4KSc7XG4kYnJlYWtwb2ludC0tMTAyNC1wbHVzOiAgICcobWluLXdpZHRoOiAxMDI1cHgpJztcblxuJGJyZWFrcG9pbnQtLTE0NDA6ICAgICAgICAnKG1heC13aWR0aDogMTQzOXB4KSc7XG4kYnJlYWtwb2ludC0tMTQ0MC1wbHVzOiAgICcobWluLXdpZHRoOiAxNDQwcHgpJztcblxuJGJyZWFrcG9pbnQtLTE5MjA6ICAgICAgICAnKG1heC13aWR0aDogMTkxOXB4KSc7XG4kYnJlYWtwb2ludC0tMTkyMC1wbHVzOiAgICcobWluLXdpZHRoOiAxOTIwcHgpJztcblxuQG1peGluIG1lZGlhLXF1ZXJ5KCRhbGlhcywgJHNjcmVlbi1vbmx5OiB0cnVlKSB7XG5cblx0JGNhbGN1bGF0ZWQtYnJlYWtwb2ludDogJyc7XG5cblx0QGlmICgkYWxpYXMgPT0gJ3BvcnRyYWl0JykgICAgeyAkY2FsY3VsYXRlZC1icmVha3BvaW50OiAkYnJlYWtwb2ludC0tcG9ydHJhaXQ7IH1cblx0QGlmICgkYWxpYXMgPT0gJ2xhbmRzY2FwZScpICAgeyAkY2FsY3VsYXRlZC1icmVha3BvaW50OiAkYnJlYWtwb2ludC0tbGFuZHNjYXBlOyB9XG5cblx0QGlmICgkYWxpYXMgPT0gJzc2OCcpICAgICAgICAgeyAkY2FsY3VsYXRlZC1icmVha3BvaW50OiAkYnJlYWtwb2ludC0tNzY4OyB9XG5cdEBpZiAoJGFsaWFzID09ICc3NjgtcGx1cycpICAgIHsgJGNhbGN1bGF0ZWQtYnJlYWtwb2ludDogJGJyZWFrcG9pbnQtLTc2OC1wbHVzOyB9XG5cblx0QGlmICgkYWxpYXMgPT0gJzkwMCcpICAgICAgICAgeyAkY2FsY3VsYXRlZC1icmVha3BvaW50OiAkYnJlYWtwb2ludC0tOTAwOyB9XG5cdEBpZiAoJGFsaWFzID09ICc5MDAtcGx1cycpICAgIHsgJGNhbGN1bGF0ZWQtYnJlYWtwb2ludDogJGJyZWFrcG9pbnQtLTkwMC1wbHVzOyB9XG5cblx0QGlmICgkYWxpYXMgPT0gJzEwMjQnKSAgICAgICAgeyAkY2FsY3VsYXRlZC1icmVha3BvaW50OiAkYnJlYWtwb2ludC0tMTAyNDsgfVxuXHRAaWYgKCRhbGlhcyA9PSAnMTAyNC1wbHVzJykgICB7ICRjYWxjdWxhdGVkLWJyZWFrcG9pbnQ6ICRicmVha3BvaW50LS0xMDI0LXBsdXM7IH1cblxuXHRAaWYgKCRhbGlhcyA9PSAnMTQ0MCcpICAgICAgICB7ICRjYWxjdWxhdGVkLWJyZWFrcG9pbnQ6ICRicmVha3BvaW50LS0xNDQwOyB9XG5cdEBpZiAoJGFsaWFzID09ICcxNDQwLXBsdXMnKSAgIHsgJGNhbGN1bGF0ZWQtYnJlYWtwb2ludDogJGJyZWFrcG9pbnQtLTE0NDAtcGx1czsgfVxuXG5cdEBpZiAoJGFsaWFzID09ICcxOTIwJykgICAgICAgIHsgJGNhbGN1bGF0ZWQtYnJlYWtwb2ludDogJGJyZWFrcG9pbnQtLTE5MjA7IH1cblx0QGlmICgkYWxpYXMgPT0gJzE5MjAtcGx1cycpICAgeyAkY2FsY3VsYXRlZC1icmVha3BvaW50OiAkYnJlYWtwb2ludC0tMTkyMC1wbHVzOyB9XG5cblx0QGlmICgkY2FsY3VsYXRlZC1icmVha3BvaW50ICE9ICcnKSB7XG5cblx0XHRAaWYgKCRzY3JlZW4tb25seSA9PSB0cnVlKSB7XG5cblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kICN7JGNhbGN1bGF0ZWQtYnJlYWtwb2ludH0ge1xuXG5cdFx0XHRcdEBjb250ZW50O1xuXG5cdFx0XHR9XG5cblx0XHR9IEBlbHNlIHtcblxuXHRcdFx0QG1lZGlhIGFsbCBhbmQgI3skY2FsY3VsYXRlZC1icmVha3BvaW50fSB7XG5cblx0XHRcdFx0QGNvbnRlbnQ7XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL2Z1bmN0aW9ucy9tZWRpYS1xdWVyeScgYXMgKjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0R1JJRFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmdyaWQge1xuXG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtY29sdW1uOiAxIC8gLTE7XG5cdHJvdy1nYXA6IDI1cHg7XG5cdGNvbHVtbi1nYXA6IDI1cHg7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdCYtLTEge1xuXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuXG5cdH1cblxuXHQmLS0yIHtcblxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KCc3NjgnKSB7XG5cblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcblxuXHRcdH1cblxuXHR9XG5cblx0Ji0tMyB7XG5cblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1xdWVyeSgnNzY4Jykge1xuXG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG5cblx0XHR9XG5cblx0fVxuXG5cdCYtLTQge1xuXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtcXVlcnkoJzc2OCcpIHtcblxuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmLS01IHtcblxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KCc3NjgnKSB7XG5cblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcblxuXHRcdH1cblxuXHR9XG5cblx0Ji0tNiB7XG5cblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCBtaW5tYXgoMCwgMWZyKSk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1xdWVyeSgnMTAyNCcpIHtcblxuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuXG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEtcXVlcnkoJzc2OCcpIHtcblxuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0SU1BR0VTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AdXNlICcuLi9mdW5jdGlvbnMvdHJhbnNpdGlvbnMnIGFzICo7XG5cbi5ob3Zlci16b29tIHtcblxuXHRkaXNwbGF5OiBibG9jaztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRpbWcge1xuXG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbi1hbGw7XG5cblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cblx0fVxuXG5cdCY6aG92ZXIge1xuXG5cdFx0aW1nIHtcblxuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA4KTtcblxuXHRcdH1cblxuXHR9XG5cbn1cblxuLmltZyB7XG5cblx0Ji0tY292ZXIge1xuXG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdH1cblxuXHQmLS1jb250YWluIHtcblxuXHRcdG9iamVjdC1maXQ6IGNvbnRhaW47XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdH1cblxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0VFJBTlNJVElPTlNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbkBtaXhpbiB0cmFuc2l0aW9uLWFsbCB7XG5cblx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG5cbn1cblxuQG1peGluIHRyYW5zaXRpb24tYWxsLS1zbG93IHtcblxuXHR0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZTtcblxufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1hbGwtLXF1aWNrIHtcblxuXHR0cmFuc2l0aW9uOiBhbGwgMTgwbXMgZWFzZTtcblxufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1hbGwtLXJhcGlkIHtcblxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMG1zLCB2aXNpYmlsaXR5IDBtcztcblxufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1hbGwtLWluLXNsb3cge1xuXG5cdHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluO1xuXG59XG4iLCJAdXNlICcuLi9mdW5jdGlvbnMvbWVkaWEtcXVlcnknIGFzICo7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFZJU0lCSUxJVFlcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5pcy1oaWRkZW4ge1xuXG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0Ji0tbW9iaWxlIHtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KCc3NjgnKSB7XG5cblx0XHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuXHRcdH1cblxuXHR9XG5cblx0Ji0tdGFibGV0IHtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KCcxMDI0Jykge1xuXG5cdFx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cblx0XHR9XG5cblx0fVxuXG5cdCYtLWRlc2t0b3Age1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtcXVlcnkoJzEwMjQtcGx1cycpIHtcblxuXHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmLS1wb3J0cmFpdCB7XG5cblx0XHRAbWVkaWEgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuXG5cdFx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cblx0XHR9XG5cblx0fVxuXG5cdCYtLWxhbmRzY2FwZSB7XG5cblx0XHRAbWVkaWEgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcblxuXHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0SE9WRVJcblxuXHRHZW5lcmF0ZXMgaG92ZXIsIGZvY3VzLCBhbmQgYWN0aXZlIHN0YXRlcy5cblx0UGFzcyAkaW5jbHVkZS1hY3RpdmU6IHRydWUgdG8gYWxzbyBpbmNsdWRlXG5cdDphY3RpdmUgYW5kIC5pcy1hY3RpdmUgc3RhdGVzLlxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQG1peGluIGhvdmVyKCRpbmNsdWRlLWFjdGl2ZTogZmFsc2UpIHtcblxuXHRAaWYgKCRpbmNsdWRlLWFjdGl2ZSkge1xuXG5cdFx0Jjp0YXJnZXQsXG5cdFx0JjphY3RpdmUsXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzLFxuXHRcdCYuaXMtYWN0aXZlIHtcblxuXHRcdFx0QGNvbnRlbnQ7XG5cblx0XHR9XG5cblx0fSBAZWxzZSB7XG5cblx0XHQmOnRhcmdldCxcblx0XHQmOmZvY3VzLFxuXHRcdCY6aG92ZXIge1xuXG5cdFx0XHRAY29udGVudDtcblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdEJBQ0tHUk9VTkRcblxuXHRTaG9ydGhhbmQgZm9yIHJnYmEgYmFja2dyb3VuZCB3aXRoIG9wYWNpdHkuXG5cblx0VXNhZ2U6IEBpbmNsdWRlIGJhY2tncm91bmQoJGRhcmstY2hhcmNvYWwsIDAuOCk7XG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AbWl4aW4gYmFja2dyb3VuZCgkY29sb3IsICRvcGFjaXR5OiAwLjUpIHtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJG9wYWNpdHkpO1xuXG59XG4iLCIvLyBTb3VyY2UgdGhlIGJyYW5kICR2YXJpYWJsZXMgZGlyZWN0bHkgZnJvbSB0aGUgc2V0dGluZ3Mgc3ViLXBhcnRpYWxzIOKAlCBOT1QgdmlhXG4vLyBgQHVzZSAnc2V0dGluZ3MnYCwgd2hvc2UgX2luZGV4IEBmb3J3YXJkcyB0aGUgZ2xvYmFsIGZyYW1ld29yayBhbmQgd291bGQgZW1pdFxuLy8gdGhlIHdob2xlIHJlc2V0IGludG8gdGhpcyBzaGVldC4gVGhlc2UgdGhyZWUgcGFydGlhbHMgYXJlIHB1cmUgdmFyaWFibGUvbWl4aW5cbi8vIGRlZmluaXRpb25zIChubyBDU1Mgb3V0cHV0KS5cbkB1c2UgJ3NldHRpbmdzL21ldHJpY3MnIGFzICo7XG5AdXNlICdzZXR0aW5ncy9jb2xvcnMnIGFzICo7XG5AdXNlICdzZXR0aW5ncy90eXBvZ3JhcGh5JyBhcyAqO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRCUkFORCBUT0tFTlMg4oCUIDpyb290IGN1c3RvbSBwcm9wZXJ0aWVzIChzaW5nbGUgc291cmNlKVxuXG5cdFRoZSBOZXJkd29ya3MgYnJhbmQgdG9rZW4gc2V0LCBhcyBhIG1peGluIHNvIHRoZSBTQU1FIGRlY2xhcmF0aW9ucyBlbWl0IHRvXG5cdHR3byB0YXJnZXRzIHVuZGVyIHR3byBkaWZmZXJlbnQgc2VsZWN0b3JzOlxuXHQgIOKAoiBuZXJkd29ya3Muc2NzcyDihpIgYDpyb290IHsgQGluY2x1ZGUgYnJhbmQtdG9rZW4tdmFyczsgfWAgICAgICAgICAgKGZyb250IGVuZClcblx0ICDigKIgdG9rZW5zLnNjc3MgICAg4oaSIGAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIHsgQGluY2x1ZGUg4oCmIH1gICAgICAgICAgKGVkaXRvcilcblxuXHRXaHkgdGhlIGVkaXRvciBjb3B5IGlzIHNjb3BlZCB0byAuZWRpdG9yLXN0eWxlcy13cmFwcGVyLCBOT1QgOnJvb3Q6XG5cdHRoaXJkLXBhcnR5IGFkbWluL3BsdWdpbiBDU1MgbG9hZHMgaW50byB0aGUgZWRpdG9yIGNhbnZhcyBpZnJhbWUgYW5kIGNhbiBzZXRcblx0dGhlIFNBTUUgZ2VuZXJpYyBjdXN0b20gcHJvcGVydGllcyBvbiA6cm9vdCAoU2VhcmNoV1AncyBjb2xvcnMuY3NzIHNldHNcblx0OnJvb3R7LS1wcmltYXJ5OiM0MzdlNDd9KS4gU2FtZSBzcGVjaWZpY2l0eSBhcyBvdXIgOnJvb3Qg4oaSIGxvYWQgb3JkZXIgZGVjaWRlcyxcblx0YW5kIGl0IHdpbnMuIERlY2xhcmluZyB0aGUgYnJhbmQgdG9rZW5zIG9uIHRoZSBjYW52YXMgd3JhcHBlciAodGhlIGlmcmFtZVxuXHQ8Ym9keT4sIGEgZGVzY2VuZGFudCBvZiB0aGUgcGx1Z2luJ3MgOnJvb3Qgb24gPGh0bWw+KSBtYWtlcyB0aGVtIHdpbiBmb3IgZXZlcnlcblx0YmxvY2sgYnkgY3VzdG9tLXByb3BlcnR5IGluaGVyaXRhbmNlIHByb3hpbWl0eSDigJQgbm8gc3BlY2lmaWNpdHkgaGFjaywgbm9cblx0bG9hZC1vcmRlciByZWxpYW5jZS4gVGhlIGZyb250IGVuZCBoYXMgbm8gc3VjaCBjb2xsaXNpb24sIHNvIGl0IHN0YXlzIG9uIDpyb290LlxuXG5cdFRoZXNlIGFyZSBpbmVydCBjdXN0b20gcHJvcGVydGllcyDigJQgdGhleSBwYWludCBub3RoaW5nIG9uIHRoZWlyIG93biwgc28gdGhlXG5cdGVkaXRvciB0b2tlbnMgc2hlZXQgaXMgc2FmZSBpbiB3cC1hZG1pbidzIGNhbnZhcy4gQnJhbmQgUlVMRVMgbmV2ZXIgY3Jvc3Mgb3Zlci5cblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbkBtaXhpbiBicmFuZC10b2tlbi12YXJzIHtcblxuXHQtLXNpdGUtbWF4LXdpZHRoOiAjeyRzaXRlLW1heC13aWR0aH07XG5cdC0tZ3V0dGVyOiAjeyRndXR0ZXJ9O1xuXHQtLWd1dHRlci1zbWFsbDogI3skZ3V0dGVyLS1zbWFsbH07XG5cdC0taGVyby1taW4taGVpZ2h0OiA3MjBweDtcblx0LS1pY29uLXNpemU6ICN7JGljb259O1xuXHQtLWZzLWJhc2U6ICN7JGJhc2UtZm9udC1zaXplfTtcblxuXHQvLyBCcmFuZCB0b25lcyDigJQgY29uc3VtZWQgYnkgZ2xvYmFsIC5zZWN0aW9uLS17dG9uZX0gbW9kaWZpZXJzLiBMZWdhY3lcblx0Ly8gY29sb3VyLW5hbWUgdm9jYWJ1bGFyeSwgcmV0YWluZWQgZm9yIHNlY3Rpb25zIG5vdCB5ZXQgbWlncmF0ZWQuXG5cdC0tbmVhci1ibGFjazogI3skbmVhci1ibGFja307XG5cdC0tb2ZmLXdoaXRlOiAjeyRvZmYtd2hpdGV9O1xuXHQtLWdyZWVuOiAjeyRncmVlbn07XG5cdC0tc2FmZnJvbjogI3skc2FmZnJvbn07XG5cblx0LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdFNFTUFOVElDIEdST1VORFMg4oCUIGRlc2lnbi1waGFzZSB0b2tlbiBzZXQgKG1vY2t1cCAjMTIyMjIpXG5cblx0XHRTZWVkZWQgdmVyYmF0aW0gZnJvbSB0aGUgYWNjZXB0ZWQgaG9tZXBhZ2UgbW9ja3VwJ3MgOnJvb3Qg4oCUIHRoZVxuXHRcdGVtcGlyaWNhbCBzcGVjIHRoZSBob21lcGFnZSBibG9ja3MgcmVzb2x2ZSBhZ2FpbnN0LiBUaGVzZSBkaWZmZXJcblx0XHRzbGlnaHRseSBmcm9tIHRoZSBsZWdhY3kgdG9uZXMgYWJvdmUgKGFuY2hvciAjMWYyMzFmIHZzIG5lYXItYmxhY2tcblx0XHQjMUExRTFBOyBicmlnaHQgI2YwZjJlZSB2cyBvZmYtd2hpdGUgI0YwRjJGMCk7IHRoZSBkZXNpZ24gYWdlbnRcblx0XHRyZWZpbmVkIHRoZSBzY2FsZSBkdXJpbmcgYXV0aG9yaW5nLiBSZWNvbmNpbGluZyB0aGVtIGJhY2sgaW50b1xuXHRcdHN0eWxlZ3VpZGUgMTE3MDAgKyBpdHMgZ2VuZXJhdG9yIGlzIGEgdHJhY2tlZCBmb2xsb3ctdXAg4oCUIHVudGlsXG5cdFx0dGhlbiB0aGUgbW9ja3VwIGlzIHRoZSBzb3VyY2Ugb2YgdHJ1dGguXG5cdFxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXHQvLyBQYWxldHRlICggLS1zYWZmcm9uIGFscmVhZHkgZGVjbGFyZWQgYWJvdmU6ICNmNWM4NDAsIG1hdGNoZXMgdGhlIG1vY2t1cCApXG5cdC0tYW5jaG9yOiAjMWYyMzFmO1xuXHQtLWFuY2hvci1lbGV2YXRlZDogIzI2MmEyNjtcblx0LS1icmlnaHQ6ICNmMGYyZWU7XG5cdC0tcHJpbWFyeTogIzI2NjAzODtcblxuXHQvLyBIYWlybGluZSBydWxlcyBwZXIgZ3JvdW5kXG5cdC0tcnVsZS1vbi1hbmNob3I6IHJnYmEoMjQwLCAyNDIsIDIzOCwgMC4xMik7XG5cdC0tcnVsZS1vbi1icmlnaHQ6IHJnYmEoMjUsIDI4LCAyNSwgMC4xMik7XG5cdC0tcnVsZS1vbi1wcmltYXJ5OiByZ2JhKDI0MCwgMjQyLCAyMzgsIDAuMTgpO1xuXG5cdC8vIE11dGVkIHRleHQgb24gbGlnaHQgZ3JvdW5kcyDigJQgY2FwdGlvbnMsIGNpdGVzLCBzZWNvbmRhcnkgcHJvc2UuXG5cdC0tbXV0ZWQ6IHJnYmEoMjUsIDI4LCAyNSwgMC42KTtcblxuXHQvLyBDYXJkIHNoYWRvd3Ncblx0LS1jYXJkLXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDI1LCAyOCwgMjUsIDAuMSk7XG5cdC0tY2FyZC1zaGFkb3ctaG92ZXI6IDAgMTZweCAzMnB4IHJnYmEoMjUsIDI4LCAyNSwgMC4yKTtcblxuXHQvLyBGb250c1xuXHQtLWZvbnQtaGVhZGluZzogXCJwcm94aW1hLW5vdmFcIiwgc2Fucy1zZXJpZjtcblx0LS1mb250LWJvZHk6IFwicHJveGltYS1ub3ZhXCIsIHNhbnMtc2VyaWY7XG5cdC0tZm9udC1sYWJlbDogXCJKZXRCcmFpbnMgTW9ub1wiLCBtb25vc3BhY2U7XG5cblx0Ly8gVHlwZSBzY2FsZVxuXHQtLWZzLWRpc3BsYXk6IDUycHg7XG5cdC0tZnMtaDI6IDMwcHg7XG5cdC0tZnMtaDM6IDIxcHg7XG5cdC0tZnMtaDQ6IDE3cHg7XG5cdC0tZnMtYm9keTogMTZweDtcblx0LS1mcy1sZWFkOiAxOXB4O1xuXHQtLWZzLW1ldGE6IDEzcHg7XG5cdC0tZnMtZXllYnJvdzogMTNweDtcblx0LS1mcy1sYWJlbDogMTRweDtcblx0LS1mcy1sYWJlbC1jYXJkOiAyMHB4O1xuXG5cdC8vIFNwYWNpbmcgc2NhbGUgKHJlc3RyaWN0ZWQgc2V0KVxuXHQtLXNwYWNlLTE1OiAxNXB4O1xuXHQtLXNwYWNlLTIwOiAyMHB4O1xuXHQtLXNwYWNlLTMwOiAzMHB4O1xuXHQtLXNwYWNlLTQwOiA0MHB4O1xuXHQtLXNwYWNlLTYwOiA2MHB4O1xuXG5cdC8vIFJhZGlpXG5cdC0tcmFkaXVzLWludGVyYWN0aXZlOiA0cHg7XG5cdC0tcmFkaXVzLWNhcmQ6IDhweDtcblxuXHQvLyBDb250YWluZXIg4oCUIGFsaWduZWQgdG8gdGhlIGZyYW1ld29yayB3cmFwcGVyIHdpZHRoICgtLXNpdGUtbWF4LXdpZHRoIDE0NDApXG5cdC8vIHNvIHRoZSBwcm9kdWN0LXdhbGsgZnVsbC1ibGVlZCBiYW5kcyBsaW5lIHVwIHdpdGggdGhlIC5zZWN0aW9uIGJhbmRzLiBUaGVcblx0Ly8gbW9ja3VwIGF1dGhvcmVkIGF0IDE0MDA7IHRoZSBzaGlwcGVkIGJyYW5kIHdpZHRoIGlzIDE0NDAuXG5cdC0tY29udGFpbmVyLW1heDogI3skc2l0ZS1tYXgtd2lkdGh9O1xuXG5cdC8vIFJlYWRhYmxlIHByb3NlIG1lYXN1cmUg4oCUIHRoZSAuY29udGVudCBwcm9zZSBjb250YWluZXIgY2FwcyBoZXJlIChjb250ZW50LnNjc3MpLlxuXHQtLWNvbnRlbnQtbWF4OiA3NjBweDtcblxuXHQvLyBTZWN0aW9uIHJoeXRobSDigJQgbW9ja3VwICMxMjIyMiBiYW5kcyBhcmUgNjBweCAodnMgdGhlIGdsb2JhbCA5NnB4XG5cdC8vIGRlZmF1bHQpLiBUaWdodGVuIGV2ZXJ5IG5lcmR3b3JrcyBzZWN0aW9uIHRvIHRoZSBtb2NrdXAgcmh5dGhtLlxuXHQtLXNlY3Rpb24tcGFkZGluZzogdmFyKC0tc3BhY2UtNjApO1xuXG59XG4iLCJAdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxuLy8g4pSA4pSAIEJ1dHRvbiBjb21wb25lbnQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5idXR0b24ge1xuXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogJGd1dHRlci0tbWluaSAkZ3V0dGVyO1xuXHRib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcblx0Zm9udC13ZWlnaHQ6ICRzZW1pLWJvbGQ7XG5cdGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogJHdpZGUtbGV0dGVyLXNwYWNpbmc7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHQvLyBMYXJnZSDigJQgc2l6ZSBtb2RpZmllciAoaGVybyAvIHByaW1hcnktYWN0aW9uIHNpemUpXG5cdCYtLWxhcmdlIHtcblxuXHRcdHBhZGRpbmc6ICRndXR0ZXItLXNtYWxsICRndXR0ZXItLW1pZGk7XG5cdFx0Zm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc2l6ZTtcblxuXHR9XG5cblx0Ly8g4pSA4pSAIENvbG91ciBtb2RpZmllcnMg4oCUIHNldCB0aGUgZmlsbCBleHBsaWNpdGx5LCBwZXIgcGxhY2VtZW50IOKUgOKUgOKUgOKUgOKUgOKUgFxuXHQmLS1ncmVlbiB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG5cdFx0Y29sb3I6ICRvZmYtd2hpdGU7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcblxuXHRcdCY6aG92ZXIge1xuXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2FmZnJvbjtcblx0XHRcdGNvbG9yOiAkbmVhci1ibGFjaztcblxuXHRcdH1cblxuXHR9XG5cblx0Ji0tc2FmZnJvbiB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2FmZnJvbjtcblx0XHRjb2xvcjogJG5lYXItYmxhY2s7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcblxuXHRcdCY6aG92ZXIge1xuXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmLXdoaXRlO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQvLyBDbGVhciDigJQgdHJhbnNwYXJlbnQ7IG91dGxpbmUgKyB0ZXh0IGluIHRoZSBjdXJyZW50IChzZWN0aW9uKSBjb2xvdXIuXG5cdCYtLWNsZWFyIHtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdGJvcmRlcjogJGhhaXJsaW5lLWJvcmRlciBzb2xpZDtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcblxuXHRcdCY6aG92ZXIge1xuXG5cdFx0XHRvcGFjaXR5OiAwLjc7XG5cblx0XHR9XG5cblx0fVxuXG5cdC8vIEJsYWNrIOKAlCBuZWFyLWJsYWNrIGZpbGwgZm9yIGhpZ2gtY29udHJhc3QgQ1RBcyBvdmVyIGdyZWVuIC8gbGlnaHQgYmFuZHMuXG5cdC8vIEZpbGwvaG92ZXIgdmFsdWVzIGxpZnRlZCBmcm9tIHRoZSBNTlcxIG1vY2t1cCdzIHByaW1hcnkgYnV0dG9uIG9uIGl0cyBncmVlbiBiYW5kLlxuXHQmLS1ibGFjayB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmVhci1ibGFjaztcblx0XHRjb2xvcjogJG9mZi13aGl0ZTtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xuXG5cdFx0Jjpob3ZlciB7XG5cblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzYWZmcm9uO1xuXHRcdFx0Y29sb3I6ICRuZWFyLWJsYWNrO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQvLyBHaG9zdC1zYWZmcm9uIOKAlCB0cmFuc3BhcmVudCB3aXRoIGEgc2FmZnJvbiBvdXRsaW5lICsgdGV4dC4gVGhlIGV4cGxpY2l0XG5cdC8vIGNvdW50ZXJwYXJ0IHRvIHRoZSBtb2NrdXAncyBncm91bmQtcmVsYXRpdmUgYnRuLS1zZWNvbmRhcnksIHdoaWNoIHJlc29sdmVzXG5cdC8vIHRvIHNhZmZyb24gb24gYW5jaG9yICsgcHJpbWFyeSBncm91bmRzIGFuZCBpbnNpZGUgZGFyayBwcm9kdWN0IGNhcmRzLlxuXHQvLyAoQXV0aG9yZWQgb24gdmFyKC0tdG9rZW4pOyB0aGUgbGVnYWN5IGZpbGxzIGFib3ZlIHN0YXkgb24gU2FzcyB2YXJzLilcblx0Ji0tZ2hvc3Qtc2FmZnJvbiB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRjb2xvcjogdmFyKC0tc2FmZnJvbik7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tc2FmZnJvbik7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cblx0XHQmOmhvdmVyIHtcblxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDUsIDIwMCwgNjQsIDAuMTIpO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQvLyBHaG9zdC1ncmVlbiDigJQgdHJhbnNwYXJlbnQgd2l0aCBhIHByaW1hcnkgKGdyZWVuKSBvdXRsaW5lICsgdGV4dC4gVGhlXG5cdC8vIGJyaWdodC1ncm91bmQgY291bnRlcnBhcnQgb2YgLS1naG9zdC1zYWZmcm9uOiB0aGUgbW9ja3VwJ3MgYnRuLS1zZWNvbmRhcnlcblx0Ly8gcmVzb2x2ZXMgdG8gdGhlIGdyZWVuIHByaW1hcnkgb24gdGhlIGxpZ2h0IGJhbmQgKGV2ZW50cyBcIkJvb2tcIiwgXCJTdWJtaXQgYVxuXHQvLyByZXZpZXdcIikuIEFkZGVkIGluIHRoZSBwcm9kdWN0LXBhZ2Ugd2FsayAobW9ja3VwICMxMjIyNCkuXG5cdCYtLWdob3N0LWdyZWVuIHtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcmltYXJ5KTtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblxuXHRcdCY6aG92ZXIge1xuXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM4LCA5NiwgNTYsIDAuMDgpO1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiQHVzZSAnLi4vc2V0dGluZ3MnIGFzICo7XG5cbi8vIOKUgOKUgCBUaXRsZSBjb21wb25lbnQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBCbG9jazogc2hhcmVkIGZvbnQgZmFtaWx5IGZvciBhbGwgdGl0bGVzLlxuLy8gRWxlbWVudHM6IHNpemUgdGllcnMgKGhlcm8sIHByaW1hcnksIHNlY29uZGFyeSwgdGVydGlhcnksIHF1YXRlcm5hcnkpLlxuLy8gTW9kaWZpZXJzOiBjb2xvdXIgb3ZlcnJpZGVzLlxuXG4udGl0bGUge1xuXG5cdGZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udC1mYW1pbHk7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdCZfX2hlcm8ge1xuXG5cdFx0Zm9udC1zaXplOiAkc2VjdGlvbi1mb250LXNpemU7XG5cdFx0Zm9udC13ZWlnaHQ6ICRib2xkO1xuXHRcdGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1saW5lLWhlaWdodDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KCcxMDI0Jykge1xuXG5cdFx0XHRmb250LXNpemU6IDQ4cHg7XG5cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1xdWVyeSgnNzY4Jykge1xuXG5cdFx0XHRmb250LXNpemU6IDM2cHg7XG5cblx0XHR9XG5cblx0fVxuXG5cdC8vIFRpZXJzIGJlbG93IHJlc29sdmUgZnJvbSB0aGUgYnJhbmQgYC0tZnMtKmAgdG9rZW4gc2NhbGUgKGluIF9icmFuZC10b2tlbnMuc2NzcyksXG5cdC8vIG5vdCB0aGUgb2xkZXIgU2FzcyBgJCotZm9udC1zaXplYCB2YXJpYWJsZXMgdGhhdCBvdGhlciBjb21wb25lbnRzIG1pZ3JhdGVkIGF3YXlcblx0Ly8gZnJvbS4gVGhlIHByZXZpb3VzIFNhc3MgdmFsdWVzICg1NiAvIDQwIC8gMjggLyAyMCkgd2VyZSBiaWcgc2VjdGlvbi13YWxrLWVyYVxuXHQvLyBzaXplczsgdGhlIG1vZGVybiB0b2tlbiBzY2FsZSAoNTIgLyAzMCAvIDIxIC8gMTcpIG1hdGNoZXMgd2hhdCBfc2VjdGlvbi1oZWFkZXIsXG5cdC8vIF9zcG90bGlnaHQsIF9sb3JlLWJhbmQgZXRjLiBhbHJlYWR5IHJlbmRlciBhdCB2aWEgYHZhcigtLWZzLWgqKWAgZGlyZWN0bHkuIFRoaXNcblx0Ly8gcmVhbGlnbm1lbnQgbWFrZXMgYEBleHRlbmQgLnRpdGxlX19zZWNvbmRhcnlgICh1c2VkIGJ5IGBoMi53cC1ibG9jay1oZWFkaW5nYClcblx0Ly8gbGFuZCBvbiBgLS1mcy1oMmAgbGlrZSBvcGVyYXRvcnMgZXhwZWN0LCByYXRoZXIgdGhhbiB0aGUgZGl2ZXJnZW50IFNhc3MgdmFsdWUuXG5cdC8vIEhlcm8gc3RheXMgU2Fzcy1kcml2ZW4g4oCUIGl0J3MgdGVtcGxhdGUtb25seSAoUEhQIGhlcm8gc2VjdGlvbnMgKyBwYWdlIHRpdGxlcylcblx0Ly8gYW5kIGN1cnJlbnRseSBoYXMgbm8gdG9rZW4gZXF1aXZhbGVudC5cblxuXHQmX19wcmltYXJ5IHtcblxuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtZGlzcGxheSk7XG5cdFx0Zm9udC13ZWlnaHQ6ICRib2xkO1xuXHRcdGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1saW5lLWhlaWdodDtcblxuXHR9XG5cblx0Jl9fc2Vjb25kYXJ5IHtcblxuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtaDIpO1xuXHRcdGZvbnQtd2VpZ2h0OiAkYm9sZDtcblx0XHRsaW5lLWhlaWdodDogJGhlYWRpbmctbGluZS1oZWlnaHQ7XG5cblx0fVxuXG5cdCZfX3RlcnRpYXJ5IHtcblxuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtaDMpO1xuXHRcdGZvbnQtd2VpZ2h0OiAkbWVkaXVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1saW5lLWhlaWdodDtcblxuXHR9XG5cblx0Jl9fcXVhdGVybmFyeSB7XG5cblx0XHRmb250LXNpemU6IHZhcigtLWZzLWg0KTtcblx0XHRmb250LXdlaWdodDogJG1lZGl1bTtcblx0XHRsaW5lLWhlaWdodDogJGhlYWRpbmctbGluZS1oZWlnaHQ7XG5cblx0fVxuXG5cdC8vIOKUgOKUgCBDb2xvdXIgbW9kaWZpZXJzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5cdCYtLWdyZWVuIHtcblxuXHRcdGNvbG9yOiAkZ3JlZW4tLWxpZ2h0O1xuXG5cdH1cblxuXHQmLS1tdXRlZCB7XG5cblx0XHRjb2xvcjogJGdyZXk7XG5cblx0fVxuXG59XG4iLCJAdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxuLy8g4pSA4pSAIEhlcm8g4oCUIE5lcmR3b3JrcyBicmFuZCBkZWx0YSAoY29udGFpbmVkIHNwbGl0LCBtb2NrdXAgIzEyMjIyKSDilIDilIDilIDilIDilIDilIBcbi8vXG4vLyBTdHJ1Y3R1cmUgKHRoZSBjb250YWluZWQgMi1jb2wgZ3JpZCwgbWVkaWEgZmlsbCwgVVNQLXBhbmVsIGdyaWQsIHJlc3BvbnNpdmVcbi8vIGNvbGxhcHNlKSBsaXZlcyBpbiB0aGUgZ2xvYmFsIHNpbG86XG4vLyBmcmFtZXdvcmstdjIvZ2xvYmFsL3Njc3MvY29tcG9uZW50cy9faGVyby5zY3NzLiBHcm91bmQgdG9uZSBjb21lcyBmcm9tIHRoZVxuLy8gLnNlY3Rpb24tLWFuY2hvciB3cmFwcGVyLiBUaGlzIGxheWVyIG93bnMgYnJhbmQgY29sb3VyLCB0eXBlLCB0aGUgaW1hZ2UtYmxlbmRcbi8vIGdyYWRpZW50IGFuZCB0aGUgZnJvc3RlZCBVU1AtcGFuZWwgc3VyZmFjZSBvbmx5IOKAlCBhbGwgb24gdGhlIHNlbWFudGljXG4vLyB2YXIoLS10b2tlbikgZ3JvdW5kcyAobWlncmF0ZWQgZnJvbSB0aGUgb2xkICQtdmFyaWFibGUgaGVybykuXG5cbi5oZXJvIHtcblxuXHQvLyBQb3NpdGlvbmluZyBvbmx5IOKAlCB0eXBlIGNvbWVzIGZyb20gdGhlIGNsYXNzLW1peGVkIC5leWVicm93IHByaW1pdGl2ZSxcblx0Ly8gY29sb3VyIGZyb20gaXRzIC0tZ3JlZW4gbW9kaWZpZXIgKHRoZSBoZXJvIGV4Y2VwdGlvbjogYSBncmVlbi9wcmltYXJ5XG5cdC8vIGFjY2VudCBvbiB0aGUgYW5jaG9yIGdyb3VuZCwgd2hlcmUgc2VjdGlvbi1oZWFkZXJzIHdvdWxkIHVzZSBzYWZmcm9uKS5cblx0Jl9fZXllYnJvdyB7XG5cblx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xNSk7XG5cblx0fVxuXG5cdCZfX3RpdGxlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtZGlzcGxheSk7XG5cdFx0Zm9udC13ZWlnaHQ6IDgwMDtcblx0XHRsaW5lLWhlaWdodDogMS4xO1xuXHRcdGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuXHRcdGNvbG9yOiB2YXIoLS1icmlnaHQpO1xuXG5cdH1cblxuXHQmX19sZWFkIHtcblxuXHRcdG1heC13aWR0aDogMzJlbTtcblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yMCk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1sZWFkKTtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdGNvbG9yOiB2YXIoLS1icmlnaHQpO1xuXG5cdH1cblxuXHQmX19jdGEge1xuXG5cdFx0YWxpZ24tc2VsZjogZmxleC1zdGFydDtcblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zMCk7XG5cdFx0bWluLWhlaWdodDogNDRweDtcblx0XHRwYWRkaW5nOiAxMnB4IDIwcHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWludGVyYWN0aXZlKTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLWJvZHkpO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0Ly8gSGVybyBleGNlcHRpb246IHByaW1hcnkgKGdyZWVuKSBmaWxsIG9uIHRoZSBhbmNob3IgZ3JvdW5kLlxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRcdGNvbG9yOiB2YXIoLS1icmlnaHQpO1xuXG5cdFx0QGluY2x1ZGUgaG92ZXIge1xuXG5cdFx0XHRmaWx0ZXI6IGJyaWdodG5lc3MoMS4wOCk7XG5cblx0XHR9XG5cblx0fVxuXG5cdC8vIEltYWdlLWJsZW5kIGdyYWRpZW50IOKAlCBmYWRlcyB0aGUgbWVkaWEncyBsZWZ0IGVkZ2UgaW50byB0aGUgYW5jaG9yIGNvbHVtbi5cblx0Ly8gVHJhbnNwYXJlbnQgc3RvcCBpcyBhbmNob3IgKCMxZjIzMWYgPSAzMSwzNSwzMSkgYXQgemVybyBhbHBoYS5cblx0Jl9fb3ZlcmxheSB7XG5cblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLWFuY2hvcikgMCUsIHZhcigtLWFuY2hvcikgMjUlLCByZ2JhKDMxLCAzNSwgMzEsIDApIDYwJSk7XG5cblx0fVxuXG5cdC8vIEZyb3N0ZWQgVVNQIHBhbmVsIGRvY2tlZCBiZWxvdyB0aGUgY29udGVudCBjb2x1bW4uXG5cdCZfX3VzcCB7XG5cblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS00MCk7XG5cdFx0cGFkZGluZzogdmFyKC0tc3BhY2UtMjApO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzEsIDM1LCAzMSwgMC41NSk7XG5cdFx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJ1bGUtb24tYW5jaG9yKTtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2FyZCk7XG5cblx0fVxuXG5cdCZfX3VzcC1pY29uIHtcblxuXHRcdC8vIEhlcm8gZXhjZXB0aW9uOiBwcmltYXJ5LWNvbG91cmVkIGljb25zLlxuXHRcdGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcblxuXHR9XG5cblx0Jl9fdXNwLWxhYmVsIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtaDQpO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRjb2xvcjogdmFyKC0tYnJpZ2h0KTtcblxuXHR9XG5cblx0Jl9fdXNwLXN1YiB7XG5cblx0XHRmb250LXNpemU6IHZhcigtLWZzLW1ldGEpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdFx0Ly8gYnJpZ2h0ICgjZjBmMmVlID0gMjQwLDI0MiwyMzgpIGF0IHJlZHVjZWQgYWxwaGEgZm9yIHRoZSBzdWItbGFiZWwuXG5cdFx0Y29sb3I6IHJnYmEoMjQwLCAyNDIsIDIzOCwgMC42Mik7XG5cblx0fVxuXG5cdC8vIFN0YWNrZWQ6IGJsZW5kIHRoZSBpbWFnZSBmcm9tIHRoZSBib3R0b20gaW5zdGVhZCBvZiB0aGUgbGVmdC5cblx0QGluY2x1ZGUgbWVkaWEtcXVlcnkoJzkwMCcpIHtcblxuXHRcdCZfX292ZXJsYXkge1xuXG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDMxLCAzNSwgMzEsIDApIDQwJSwgdmFyKC0tYW5jaG9yKSAxMDAlKTtcblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgQmFubmVyIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTdHJ1Y3R1cmFsIG92ZXJsYXkgcGFuZWwgbGl2ZXMgaW4gdGhlIGdsb2JhbCBzaWxvLiBUaGUgTU5XMSBmZWF0dXJlZCBldmVudCxcbi8vIHJ1biBmdWxsLWJsZWVkIGFjcm9zcyB0aGUgc2VjdGlvbjogYSBuZWFyLWJsYWNrIHNjcmltIGxlZnQtdG8tcmlnaHQgb3ZlciBhblxuLy8gZWRnZS10by1lZGdlIGltYWdlLCB3aXRoIHRoZSBjb250ZW50IHJlLWNvbnRhaW5lZCB0byB0aGUgc2l0ZSB3aWR0aCBhdCB0aGVcbi8vIGZvb3QuIFRoZSBzZWN0aW9uIHBhaXJzIHdpdGggLnNlY3Rpb24tLWZsdXNoIChubyB2ZXJ0aWNhbCByaHl0aG0pIHNvIHRoZSBpbWFnZVxuLy8gZmlsbHMgdGhlIHNlY3Rpb24ncyBmdWxsIGhlaWdodDsgdGhlIHJ1bGUgYmVsb3cgYnJlYWtzIHRoZSBiYW5uZXIgb3V0IG9mIHRoZVxuLy8gc2VjdGlvbiB3cmFwcGVyJ3MgbWF4LXdpZHRoICsgZ3V0dGVycyBzbyBpdCBmaWxscyB0aGUgZnVsbCB3aWR0aC5cblxuLmJhbm5lciB7XG5cblx0bWluLWhlaWdodDogNTIwcHg7XG5cdHBhZGRpbmctYmxvY2s6ICRndXR0ZXItLXRyZWJsZTtcblxuXHQmX19vdmVybGF5IHtcblxuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgkbmVhci1ibGFjaywgMC45MikgMCUsIHJnYmEoJG5lYXItYmxhY2ssIDAuNykgNDUlLCByZ2JhKCRuZWFyLWJsYWNrLCAwLjIpIDgwJSwgcmdiYSgkbmVhci1ibGFjaywgMCkgMTAwJSk7XG5cblx0fVxuXG5cdCZfX2JvZHkge1xuXG5cdFx0bWF4LXdpZHRoOiB2YXIoLS1zaXRlLW1heC13aWR0aCwgMTQ0MHB4KTtcblx0XHRtYXJnaW4taW5saW5lOiBhdXRvO1xuXHRcdHBhZGRpbmctaW5saW5lOiAkZ3V0dGVyLS1zbWFsbDtcblxuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cblx0XHRtYXgtd2lkdGg6IDY0MHB4O1xuXHRcdGNvbG9yOiAkb2ZmLXdoaXRlO1xuXG5cdH1cblxuXHQmX19kYXRlIHtcblxuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206ICRndXR0ZXItLXNtYWxsO1xuXHRcdGZvbnQtZmFtaWx5OiAkbW9uby1mb250LWZhbWlseTtcblx0XHRmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG5cdFx0Zm9udC13ZWlnaHQ6ICRtZWRpdW07XG5cdFx0Y29sb3I6ICRzYWZmcm9uO1xuXG5cdH1cblxuXHQmX190aXRsZSB7XG5cblx0XHRtYXJnaW4tYm90dG9tOiAkZ3V0dGVyLS1zbWFsbDtcblxuXHR9XG5cblx0Jl9fdGV4dCB7XG5cblx0XHRtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuXHRcdGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuXHRcdGxpbmUtaGVpZ2h0OiAkYm9keS1saW5lLWhlaWdodDtcblx0XHRjb2xvcjogcmdiYSgkb2ZmLXdoaXRlLCAwLjkpO1xuXG5cdH1cblxufVxuXG4vLyBGdWxsLWJsZWVkOiBicmVhayB0aGUgYmFubmVyIG91dCBvZiB0aGUgc2VjdGlvbiB3cmFwcGVyJ3MgbWF4LXdpZHRoICsgZ3V0dGVyc1xuLy8gc28gdGhlIGltYWdlIHJlYWNoZXMgdGhlIHNlY3Rpb24gZWRnZXMuIEhpZ2hlciBzcGVjaWZpY2l0eSB0aGFuIGAuc2VjdGlvbiA+IGRpdmAuXG4uc2VjdGlvbiA+IC5iYW5uZXIge1xuXG5cdG1heC13aWR0aDogbm9uZTtcblx0cGFkZGluZy1sZWZ0OiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiAwO1xuXG59XG4iLCJAdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxuLy8g4pSA4pSAIExpbmstYm94IOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEgKG92ZXJsYXkgY2F0ZWdvcnkgdGlsZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vL1xuLy8gU3RydWN0dXJhbCBiYXNlIGxpdmVzIGluIHRoZSBnbG9iYWwgc2lsb1xuLy8gKGZyYW1ld29yay12Mi9nbG9iYWwvc2Nzcy9jb21wb25lbnRzL19saW5rLWJveC5zY3NzOiB0aGUgaW1hZ2UgZmlsbCwgdGhlXG4vLyBvdmVybGF5IGxheWVyLCB0aGUgYm90dG9tLWFuY2hvcmVkIGNvbnRlbnQpLiBUaGlzIGxheWVyIG93bnMgdGhlIGJyYW5kXG4vLyBhc3BlY3QsIHJhZGl1cywgdGhlIGxlZ2liaWxpdHkgZ3JhZGllbnQsIHR5cGUsIGNvbG91ciwgYW5kIGhvdmVyLlxuXG4ubGluay1ib3gge1xuXG5cdGFzcGVjdC1yYXRpbzogNSAvIDY7XG5cdHBhZGRpbmc6ICRndXR0ZXI7XG5cdGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cblx0Jl9faW1hZ2Uge1xuXG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbi1hbGw7XG5cblx0fVxuXG5cdCZfX292ZXJsYXkge1xuXG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgkbmVhci1ibGFjaywgMC45KSAwJSwgcmdiYSgkbmVhci1ibGFjaywgMC4zNSkgNDUlLCByZ2JhKCRuZWFyLWJsYWNrLCAwKSA3NSUpO1xuXG5cdH1cblxuXHQmX19jb3VudCB7XG5cblx0XHRtYXJnaW4tYm90dG9tOiAkZ3V0dGVyLS10aW55O1xuXHRcdGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcblx0XHRmb250LXdlaWdodDogJHNlbWktYm9sZDtcblx0XHRsZXR0ZXItc3BhY2luZzogJHdpZGUtbGV0dGVyLXNwYWNpbmc7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogJHNhZmZyb247XG5cblx0fVxuXG5cdCZfX3RpdGxlIHtcblxuXHRcdGNvbG9yOiAkbmVhci13aGl0ZTtcblxuXHR9XG5cblx0QGluY2x1ZGUgaG92ZXIoKSB7XG5cblx0XHQubGluay1ib3hfX2ltYWdlIHtcblxuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgTGluay1jYXJkIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTdHJ1Y3R1cmFsIHN0YWNrIGxpdmVzIGluIHRoZSBnbG9iYWwgc2lsby4gRmlyc3QgcG9wdWxhdGlvbiBvZiB0aGUgY2Fub25pY2FsXG4vLyBsaW5rLWNhcmQsIGJ1aWx0IGZvciB0aGUgTU5XMSB0ZXJyYWluIHBpY2tlcjogYSBzb2xpZCBuZWFyLWJsYWNrIGNhcmQgb24gdGhlXG4vLyBicmlnaHQgYmFuZCwgNDo1IGltYWdlLCBhIGNvbXBhY3QgYm9keSB3aXRoIGFuIG9mZi13aGl0ZSB0aXRsZSBvdmVyIGEgbW9ub1xuLy8gc2FmZnJvbiBzdWItbGFiZWwsIGxpZnRpbmcgb24gaG92ZXIuIFRoZSB3aG9sZSBibG9jayBpcyBhIGxpbmsuXG5cbi5saW5rLWNhcmQge1xuXG5cdGJhY2tncm91bmQtY29sb3I6ICRuZWFyLWJsYWNrO1xuXHRib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ym94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKCRuZWFyLWJsYWNrLCAwLjEpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTtcblxuXHRAaW5jbHVkZSBob3ZlcigpIHtcblxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcblx0XHRib3gtc2hhZG93OiAwIDE2cHggMzJweCByZ2JhKCRuZWFyLWJsYWNrLCAwLjIpO1xuXG5cdH1cblxuXHQmX19pbWFnZSB7XG5cblx0XHRhc3BlY3QtcmF0aW86IDQgLyA1O1xuXG5cdH1cblxuXHQmX19ib2R5IHtcblxuXHRcdGdhcDogJGd1dHRlci0tdGlueTtcblx0XHRwYWRkaW5nOiAkZ3V0dGVyLS1zbWFsbDtcblxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXG5cdFx0Zm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG5cdFx0Zm9udC13ZWlnaHQ6ICRzZW1pLWJvbGQ7XG5cdFx0Y29sb3I6ICRvZmYtd2hpdGU7XG5cblx0fVxuXG5cdCZfX3N1YnRpdGxlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiAkbW9uby1mb250LWZhbWlseTtcblx0XHRmb250LXNpemU6ICRtaWNyby1mb250LXNpemU7XG5cdFx0Y29sb3I6ICRzYWZmcm9uO1xuXG5cdH1cblxufVxuIiwiQHVzZSAnLi4vc2V0dGluZ3MnIGFzICo7XG5cbi8vIOKUgOKUgCBDYXRlZ29yeSB0aWxlIOKAlCBzcXVhcmUgbWVkaWEgdGlsZSB3aXRoIGEgZ3JhZGllbnQgc2NyaW0gKyBsYWJlbCDilIDilIDilIBcbi8vIFJlbmFtZWQgZnJvbSB0aGUgbW9ja3VwJ3MgZ2FtZS10aWxlIChtb2NrdXAgIzEyMjIyKS4gTGlua3MgYW4gaW1hZ2UgdG8gYVxuLy8gZ2FtZS9jYXRlZ29yeS4gX19vdmVybGF5IGNhcnJpZXMgdGhlIGJvdHRvbSBzY3JpbTsgX19sYWJlbCBzaXRzIG92ZXIgaXQuXG4vLyBCcmFuZC1hZGRpdGl2ZSBibG9jaywga2VwdCB3aG9sZSBpbiB0aGUgdGhlbWUgc2lsby4gTWlncmF0ZWQgdG8gdmFyKC0tdG9rZW4pLlxuXG4uY2F0ZWdvcnktdGlsZSB7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBibG9jaztcblx0YXNwZWN0LXJhdGlvOiAxIC8gMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWNhcmQpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdyk7XG5cdHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuXG5cdEBpbmNsdWRlIGhvdmVyKCkge1xuXG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tY2FyZC1zaGFkb3ctaG92ZXIpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcblxuXHR9XG5cblx0Jl9faW1hZ2Uge1xuXG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXG5cdH1cblxuXHQvLyBCb3R0b20tdXAgc2NyaW0gZm9yIGxhYmVsIGxlZ2liaWxpdHkg4oCUIGFuY2hvciAoMzEsMzUsMzEpIGF0IHN0ZXBwZWQgYWxwaGEuXG5cdCZfX292ZXJsYXkge1xuXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGluc2V0OiAwO1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMzEsIDM1LCAzMSwgMC44NSkgMCUsIHJnYmEoMzEsIDM1LCAzMSwgMC4xNSkgNTUlLCByZ2JhKDMxLCAzNSwgMzEsIDApIDEwMCUpO1xuXG5cdH1cblxuXHQmX19sYWJlbCB7XG5cblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IHZhcigtLXNwYWNlLTIwKTtcblx0XHRib3R0b206IHZhcigtLXNwYWNlLTIwKTtcblx0XHRsZWZ0OiB2YXIoLS1zcGFjZS0yMCk7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1oMyk7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdGNvbG9yOiB2YXIoLS1icmlnaHQpO1xuXG5cdH1cblxufVxuIiwiQHVzZSAnLi4vc2V0dGluZ3MnIGFzICo7XG5cbi8vIOKUgOKUgCBTZWN0aW9uLWhlYWRlciDigJQgTmVyZHdvcmtzIGJyYW5kIHN0eWxpbmcgKG1vY2t1cCAjMTIyMjIpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy9cbi8vIFRoZSB0aGluIHN0cnVjdHVyYWwgZmxleCBzdHViICgrIHRoZSAtLWNlbnRlciBtb2RpZmllcikgbGl2ZXMgaW4gdGhlIGdsb2JhbFxuLy8gc2lsby4gVGhpcyBsYXllciBvd25zIHR5cGUsIHRoZSBleWVicm93ICsgbGluayBhY2NlbnQgdHJlYXRtZW50LCBzcGFjaW5nIGFuZFxuLy8gdGhlIHJlc3BvbnNpdmUgc3RhY2suIEhlYWRpbmcgKyBsZWFkIGNvbG91ciBpbmhlcml0IGZyb20gdGhlIHBhcmVudCAuc2VjdGlvblxuLy8gZ3JvdW5kLiBUaXRsZSBpcyBzdHlsZWQgZGlyZWN0bHkgb24gdGhlIC0tZnMtKiBzY2FsZSAobWF0Y2hpbmcgdGhlIG1vY2t1cCArXG4vLyBoZXJvKSwgbm90IHZpYSB0aGUgLnRpdGxlIHByaW1pdGl2ZS5cblxuLnNlY3Rpb24taGVhZGVyIHtcblxuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00MCk7XG5cblx0Jl9fZ3JvdXAge1xuXG5cdFx0bWF4LXdpZHRoOiA3NjBweDtcblxuXHR9XG5cblx0Ly8gUG9zaXRpb25pbmcgb25seSDigJQgdHlwZSArIGNvbG91ciBjb21lIGZyb20gdGhlIGNsYXNzLW1peGVkIC5leWVicm93XG5cdC8vIHByaW1pdGl2ZSArIGl0cyBjb2xvdXIgbW9kaWZpZXIgKGNob3NlbiBwZXIgc2VjdGlvbiBncm91bmQpLlxuXHQmX19leWVicm93IHtcblxuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTE1KTtcblxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1oMik7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsaW5lLWhlaWdodDogMS4xNTtcblx0XHRsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcblxuXHR9XG5cblx0Jl9fbGVhZCB7XG5cblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0xNSk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1sZWFkKTtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXG5cdH1cblxuXHQvLyBUcmFpbGluZyBcInZpZXcgYWxsXCIgbGluay4gQ29sb3VyIGZyb20gYW4gZXhwbGljaXQgbW9kaWZpZXIgKC0tc2FmZnJvbiAvXG5cdC8vIC0tZ3JlZW4pIHBlciBncm91bmQ7IHRoZSBhcnJvdyBpcyBhcHBlbmRlZCwgbm90IGluIHRoZSBjb3B5LlxuXHQmX19saW5rIHtcblxuXHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtaDQpO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHRcdCY6OmFmdGVyIHtcblxuXHRcdFx0Y29udGVudDogJyBcXDIxOTInO1xuXG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgaG92ZXIoKSB7XG5cblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG5cdFx0fVxuXG5cdFx0Ji0tc2FmZnJvbiB7XG5cblx0XHRcdGNvbG9yOiB2YXIoLS1zYWZmcm9uKTtcblxuXHRcdH1cblxuXHRcdCYtLWdyZWVuIHtcblxuXHRcdFx0Y29sb3I6IHZhcigtLWdyZWVuKTtcblxuXHRcdH1cblxuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEtcXVlcnkoJzc2OCcpIHtcblxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0Z2FwOiB2YXIoLS1zcGFjZS0yMCk7XG5cblx0fVxuXG59XG4iLCJAdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxuLy8g4pSA4pSAIFByaWNlIOKAlCBOZXJkd29ya3MgYnJhbmQgKG1vbm8pIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gQ2xhc3MtbWl4IHByaW1pdGl2ZS4gVGhlIHN0eWxlZ3VpZGUgbWFuZGF0ZXMgSmV0QnJhaW5zIE1vbm8gZm9yIGFsbFxuLy8gcHJpY2VzLiBTaXplICsgY29sb3VyIGFyZSBjb250ZXh0dWFsIOKAlCBzZXQgd2hlcmUgdGhlIHByaWNlIGlzIHBsYWNlZC5cblxuLnByaWNlIHtcblxuXHRmb250LWZhbWlseTogJG1vbm8tZm9udC1mYW1pbHk7XG5cdGZvbnQtd2VpZ2h0OiAkbWVkaXVtO1xuXG5cdCYtLXNhZmZyb24ge1xuXG5cdFx0Y29sb3I6ICRzYWZmcm9uO1xuXG5cdH1cblxuXHQmLS1ncmVlbiB7XG5cblx0XHRjb2xvcjogJGdyZWVuO1xuXG5cdH1cblxufVxuIiwiQHVzZSAnLi4vc2V0dGluZ3MnIGFzICo7XG5cbi8vIOKUgOKUgCBMYWJlbCDigJQgTmVyZHdvcmtzIGJyYW5kIChtb25vKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIENsYXNzLW1peCBwcmltaXRpdmUgZm9yIHNob3J0IHRlY2huaWNhbCBsYWJlbHMgKFNLVSwgc3RvY2ssIHJlZiBjb2RlLFxuLy8gY29uZGl0aW9uIGdyYWRlLCBudW1lcmljIHNwZWMpLiBUaGUgc3R5bGVndWlkZSBtYW5kYXRlcyBKZXRCcmFpbnMgTW9uby5cbi8vIENvbG91ciBpcyBjb250ZXh0dWFsIOKAlCBzZXQgd2hlcmUgdGhlIGxhYmVsIGlzIHBsYWNlZC5cblxuLmxhYmVsIHtcblxuXHRmb250LWZhbWlseTogJG1vbm8tZm9udC1mYW1pbHk7XG5cdGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcblxuXHQmLS1zYWZmcm9uIHtcblxuXHRcdGNvbG9yOiAkc2FmZnJvbjtcblxuXHR9XG5cblx0Ji0tZ3JlZW4ge1xuXG5cdFx0Y29sb3I6ICRncmVlbjtcblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgRXllYnJvdyDigJQgTmVyZHdvcmtzIChjbGFzcy1taXggcHJpbWl0aXZlKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEEgc21hbGwgbGFiZWwgYWJvdmUgYSBoZWFkaW5nLiBUeXBlIGhlcmU7IGNvbG91ciBjb21lcyBmcm9tIGFuIGV4cGxpY2l0XG4vLyBtb2RpZmllciAoLS1zYWZmcm9uIC8gLS1ncmVlbikgY2hvc2VuIHBlciBwbGFjZW1lbnQsIG5ldmVyIGEgc2VjdGlvblxuLy8gY2FzY2FkZS4gVGhlIGJsb2NrJ3MgX19leWVicm93IGVsZW1lbnQgb3ducyB0aGUgcG9zaXRpb25pbmcgKG1hcmdpbnMpLlxuLy8gTWlncmF0ZWQgdG8gdGhlIHNlbWFudGljIHZhcigtLXRva2VuKSBncm91bmRzIChtb2NrdXAgIzEyMjIyKS5cblxuLmV5ZWJyb3cge1xuXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRmb250LXNpemU6IHZhcigtLWZzLWV5ZWJyb3cpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuXG5cdCYtLXNhZmZyb24ge1xuXG5cdFx0Y29sb3I6IHZhcigtLXNhZmZyb24pO1xuXG5cdH1cblxuXHQmLS1ncmVlbiB7XG5cblx0XHRjb2xvcjogdmFyKC0tZ3JlZW4pO1xuXG5cdH1cblxufVxuIiwiQHVzZSAnLi4vc2V0dGluZ3MnIGFzICo7XG5cbi8vIOKUgOKUgCBGZWF0dXJlZC1wcm9kdWN0IOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEgKG1vY2t1cCAjMTIyMjIpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy9cbi8vIFN0cnVjdHVyYWwgc3BsaXQgbGl2ZXMgaW4gdGhlIGdsb2JhbCBzaWxvLiBUaGlzIGxheWVyIG93bnMgdGhlIGNvbHVtbiBnYXAsXG4vLyB0aGUgbWVkaWEgcmFkaXVzICsgaW1hZ2UgcmF0aW8sIHR5cGUgYW5kIHRoZSBwcmljZS9jdGEgc3BhY2luZy4gR3JvdW5kXG4vLyAoZ3JlZW4pIGNvbWVzIGZyb20gdGhlIHBhcmVudCAuc2VjdGlvbi0tcHJpbWFyeTsgdGhlIGV5ZWJyb3cgKyBwcmljZSB0YWtlXG4vLyBzYWZmcm9uIG9uIGl0ICh2aWEgdGhlaXIgcHJpbWl0aXZlcykuIE1pZ3JhdGVkIHRvIHZhcigtLXRva2VuKS5cblxuLmZlYXR1cmVkLXByb2R1Y3Qge1xuXG5cdGdhcDogdmFyKC0tc3BhY2UtNDApO1xuXG5cdCZfX21lZGlhIHtcblxuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jYXJkKTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdH1cblxuXHQmX19pbWFnZSB7XG5cblx0XHRhc3BlY3QtcmF0aW86IDQgLyA1O1xuXG5cdH1cblxuXHQvLyBQb3NpdGlvbmluZyBvbmx5IOKAlCB0eXBlIGZyb20gdGhlIC5leWVicm93IHByaW1pdGl2ZSAoLS1zYWZmcm9uIG9uIGdyZWVuKS5cblx0Jl9fZXllYnJvdyB7XG5cblx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xNSk7XG5cblx0fVxuXG5cdCZfX3RpdGxlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtaDIpO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMTU7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG5cblx0fVxuXG5cdCZfX3RleHQge1xuXG5cdFx0bWF4LXdpZHRoOiA1MmNoO1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTIwKTtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLWxlYWQpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cblx0fVxuXG5cdC8vIFBvc2l0aW9uaW5nICsgc2l6ZSBvbmx5IOKAlCBtb25vIGZhY2UgKyBzYWZmcm9uIGZyb20gdGhlIC5wcmljZSBwcmltaXRpdmUuXG5cdCZfX3ByaWNlIHtcblxuXHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTIwKTtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLWxhYmVsLWNhcmQpO1xuXG5cdH1cblxuXHQmX19jdGEge1xuXG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMzApO1xuXG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYS1xdWVyeSgnNzY4Jykge1xuXG5cdFx0Z2FwOiB2YXIoLS1zcGFjZS0zMCk7XG5cblx0fVxuXG59XG4iLCJAdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxuLy8g4pSA4pSAIFByb2R1Y3QtY2FyZCDigJQgTmVyZHdvcmtzIGJyYW5kIGRlbHRhIChtb2NrdXAgIzEyMjIyKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vXG4vLyBTdHJ1Y3R1cmFsIHN0YWNrLCByYWRpdXMsIHNoYWRvdyBhbmQgaG92ZXIgbGlmdCBsaXZlIGluIHRoZSBnbG9iYWwgc2lsb1xuLy8gKGZyYW1ld29yay12Mi9nbG9iYWwvc2Nzcy9jb21wb25lbnRzL19wcm9kdWN0LWNhcmQuc2NzcykuIFRoaXMgbGF5ZXIgb3duc1xuLy8gdGhlIHN1cmZhY2UsIGltYWdlIHJhdGlvLCBib2R5IHBhZGRpbmcvZmxvdyBhbmQgdHlwZS5cbi8vXG4vLyBwcm9kdWN0LWNhcmQgYXBwZWFycyBPTkxZIG9uIHRoZSBhbmNob3IgZ3JvdW5kIG9uIHRoZSBob21lcGFnZSwgc28gdGhlXG4vLyBzdXJmYWNlIGlzIHN0eWxlZCBkaXJlY3RseSBoZXJlIOKAlCBubyBzZWN0aW9uIGNhc2NhZGUuIFJhaXNlZCBkYXJrIHN1cmZhY2Vcbi8vICgtLWFuY2hvci1lbGV2YXRlZCksIGJyaWdodCB0aXRsZSwgc2FmZnJvbiBleWVicm93ICsgcHJpY2UuIFRoZSBDVEEgaXMgdGhlXG4vLyBnaG9zdC1zYWZmcm9uIGJ1dHRvbiAobW9ja3VwIGJ0bi0tc2Vjb25kYXJ5KSwgc3R5bGVkIGJ5IGl0cyBvd24gbW9kaWZpZXIuXG5cbi5wcm9kdWN0LWNhcmQge1xuXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFuY2hvci1lbGV2YXRlZCk7XG5cdGNvbG9yOiB2YXIoLS1icmlnaHQpO1xuXG5cdCZfX21lZGlhIGltZyB7XG5cblx0XHRhc3BlY3QtcmF0aW86IDQgLyA1O1xuXG5cdH1cblxuXHQmX19ib2R5IHtcblxuXHRcdGdhcDogdmFyKC0tc3BhY2UtMTUpO1xuXHRcdHBhZGRpbmc6IHZhcigtLXNwYWNlLTE1KTtcblxuXHR9XG5cblx0Ly8gRXllYnJvdyBjYXJyaWVzIG5vIHBvc2l0aW9uaW5nIGhlcmUg4oCUIHRoZSBfX2JvZHkgZmxleCBnYXAgc3BhY2VzIGl0LlxuXHQvLyBUeXBlICsgc2FmZnJvbiBjb2xvdXIgY29tZSBmcm9tIHRoZSAuZXllYnJvdyBleWVicm93LS1zYWZmcm9uIHByaW1pdGl2ZS5cblxuXHQmX190aXRsZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLWgzKTtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdFx0Y29sb3I6IHZhcigtLWJyaWdodCk7XG5cblx0XHRhOm5vdChbY2xhc3NdKSB7XG5cblx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQvLyBQb3NpdGlvbmluZyArIHNpemUgb25seSDigJQgbW9ubyBmYWNlICsgc2FmZnJvbiBmcm9tIHRoZSAucHJpY2UgcHJpbWl0aXZlLlxuXHQvLyBtYXJnaW4tYm90dG9tIHdpZGVucyB0aGUgcHJpY2XihpJDVEEgZ2FwIHNvIHRoZSBDVEEgcmVhZHMgYXMgdGhlIG5leHQgYmVhdCxcblx0Ly8gbm90IGEgc2libGluZyBvZiBwcmljZTsgY29tYmluZXMgd2l0aCB0aGUgYm9keSdzIGZsZXggZ2FwIGFuZCB0aGUgQ1RBJ3Ncblx0Ly8gbWFyZ2luLXRvcDogYXV0byBwaW4gKGdsb2JhbCBzaWxvKSBmb3IgZ3JpZC1hbGlnbmVkIENUQXMgYWNyb3NzIHRoZSByb3cuXG5cdCZfX3ByaWNlIHtcblxuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtbGFiZWwtY2FyZCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMjApO1xuXG5cdH1cblxufVxuIiwiQHVzZSAnLi4vc2V0dGluZ3MnIGFzICo7XG5cbi8vIOKUgOKUgCBTaG93Y2FzZSDigJQgTmVyZHdvcmtzIGJyYW5kIGRlbHRhIChtb2NrdXAgIzEyMjIyIHByZS1vcmRlciBmZWF0dXJlKSDilIBcbi8vIENlbnRyZWQgc2luZ2xlLXN1YmplY3Qgc3BvdGxpZ2h0OiAzOjIgbWVkaWEsIGhlYWRpbmcgYmxvY2ssIGEgY2VudHJlZCBzcGVjXG4vLyBzdHJpcCBib3VuZGVkIGJ5IGEgc2luZ2xlIGhhaXJsaW5lLCBtb25vIHNwZWMgdmFsdWVzLiBUaGUgY2VudHJlZCBjb2x1bW4gK1xuLy8gaW1hZ2UgZmlsbCBsaXZlIGluIHRoZSBnbG9iYWwgc2lsby4gR3JvdW5kIChicmlnaHQpIGZyb20gLnNlY3Rpb24tLWJyaWdodDtcbi8vIHRoZSBleWVicm93ICsgc3BlYyBhY2NlbnRzIGFyZSBncmVlbiAocHJpbWFyeSkgb24gaXQuIE1pZ3JhdGVkIHRvIHZhcigtLXRva2VuKS5cblxuLnNob3djYXNlIHtcblxuXHQmX19tZWRpYSB7XG5cblx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zMCk7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWNhcmQpO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0fVxuXG5cdCZfX2ltYWdlIHtcblxuXHRcdGFzcGVjdC1yYXRpbzogMyAvIDI7XG5cblx0fVxuXG5cdC8vIFBvc2l0aW9uaW5nIG9ubHkg4oCUIHR5cGUgZnJvbSB0aGUgLmV5ZWJyb3cgcHJpbWl0aXZlICgtLWdyZWVuIG9uIGJyaWdodCkuXG5cdCZfX2V5ZWJyb3cge1xuXG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMTUpO1xuXG5cdH1cblxuXHQmX190aXRsZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLWgyKTtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjE1O1xuXHRcdGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuXG5cdH1cblxuXHQmX190ZXh0IHtcblxuXHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTIwKTtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLWxlYWQpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cblx0fVxuXG5cdC8vIENlbnRyZWQgc3BlYyBzdHJpcCDigJQgc2luZ2xlIGhhaXJsaW5lIHRvcCBydWxlIG9uIHRoZSBicmlnaHQgZ3JvdW5kLlxuXHQmX19tZXRhIHtcblxuXHRcdGdhcDogdmFyKC0tc3BhY2UtMzApO1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTMwKTtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMjApO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ydWxlLW9uLWJyaWdodCk7XG5cblx0fVxuXG5cdCZfX21ldGEtaXRlbSB7XG5cblx0XHRnYXA6IDRweDtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdH1cblxuXHQvLyBGaWVsZCBuYW1lICsgbW9ubyB2YWx1ZS4gU3R5bGVkIGRpcmVjdGx5IChtb25vIHZhbHVlIG1hdGNoZXMgdGhlIG1vY2t1cCk7XG5cdC8vIGFjY2VudCBpcyBncmVlbiBvbiB0aGUgYnJpZ2h0IGdyb3VuZC5cblx0Jl9fbWV0YS1uYW1lIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtZXllYnJvdyk7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG5cdFx0Y29sb3I6IHZhcigtLXByaW1hcnkpO1xuXG5cdH1cblxuXHQmX19tZXRhLXZhbHVlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWxhYmVsKTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtbGFiZWwpO1xuXHRcdGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcblxuXHR9XG5cblx0Jl9fY3RhIHtcblxuXHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTMwKTtcblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgQ29tbWVudGFyeS1jYXJkIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTdHJ1Y3R1cmFsIHN0YWNrIGxpdmVzIGluIHRoZSBnbG9iYWwgc2lsby4gTWF0Y2hlcyBNTlcxIGhvdC1zaW5nbGU6IGEgbGlnaHQsXG4vLyBzZWxmLWNvbnRhaW5lZCBjYXJkIChvZmYtd2hpdGUgc3VyZmFjZSwgbmVhci1ibGFjayB0ZXh0KSB3aXRoIGdyZWVuIGFjY2VudHMsXG4vLyBzaXR0aW5nIG9uIHRoZSBncmVlbiBzZWN0aW9uLiBMaWZ0cyBvbiBob3Zlci4gQWNjZW50IGNvbG91ciBpcyBmaXhlZCBncmVlblxuLy8gKHRoZSBjYXJkIGlzIGFsd2F5cyBsaWdodCksIGFwcGxpZWQgdmlhIC5wcmljZS0tZ3JlZW4gLyAubGFiZWwtLWdyZWVuLlxuXG4uY29tbWVudGFyeS1jYXJkIHtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmLXdoaXRlO1xuXHRjb2xvcjogJG5lYXItYmxhY2s7XG5cdGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuXHRib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoJG5lYXItYmxhY2ssIDAuMSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xuXG5cdEBpbmNsdWRlIGhvdmVyKCkge1xuXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuXHRcdGJveC1zaGFkb3c6ICRzaGFkb3ctLWxhcmdlO1xuXG5cdH1cblxuXHQmX19pbWFnZSB7XG5cblx0XHRhc3BlY3QtcmF0aW86IDQgLyA1O1xuXG5cdH1cblxuXHQmX19ib2R5IHtcblxuXHRcdGdhcDogJGd1dHRlci0tc21hbGw7XG5cdFx0cGFkZGluZzogJGd1dHRlci0tc21hbGw7XG5cblx0fVxuXG5cdCZfX3RpdGxlIHtcblxuXHRcdGZvbnQtc2l6ZTogJGxhcmdlLWZvbnQtc2l6ZTtcblx0XHRmb250LXdlaWdodDogJHNlbWktYm9sZDtcblx0XHRsaW5lLWhlaWdodDogJGNhcmQtbGluZS1oZWlnaHQ7XG5cblx0fVxuXG5cdCZfX21ldGEge1xuXG5cdFx0Z2FwOiAkZ3V0dGVyLS1taW5pICRndXR0ZXItLXNtYWxsO1xuXHRcdHBhZGRpbmctYm90dG9tOiAkZ3V0dGVyLS1taW5pO1xuXHRcdGJvcmRlci1ib3R0b206ICRoYWlybGluZS1ib3JkZXIgc29saWQgcmdiYSgkbmVhci1ibGFjaywgMC4xMik7XG5cblx0fVxuXG5cdCZfX3ByaWNlIHtcblxuXHRcdGZvbnQtc2l6ZTogJHN1YmhlYWRpbmctZm9udC1zaXplO1xuXG5cdH1cblxuXHQmX19jb21tZW50YXJ5IHtcblxuXHRcdGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcblx0XHRsaW5lLWhlaWdodDogMS42O1xuXHRcdGNvbG9yOiByZ2JhKCRuZWFyLWJsYWNrLCAwLjg1KTtcblxuXHRcdHN0cm9uZyB7XG5cblx0XHRcdGZvbnQtd2VpZ2h0OiAkc2VtaS1ib2xkO1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiQHVzZSAnLi4vc2V0dGluZ3MnIGFzICo7XG5cbi8vIOKUgOKUgCBQb3N0LWNhcmQg4oCUIE5lcmR3b3JrcyBicmFuZCBkZWx0YSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFN0cnVjdHVyYWwgc3RhY2sgbGl2ZXMgaW4gdGhlIGdsb2JhbCBzaWxvLiBPbmUgZmxleGlibGUgaW1hZ2UtbGVkIGNvbnRlbnRcbi8vIGNhcmQgc2VydmVzIHR3byBob21lcGFnZSBmZWVkcyAoZXZlbnRzICsgYmxvZykgYW5kIHRoZSBwcm9kdWN0LXBhZ2UgZXZlbnRzXG4vLyBncmlkLlxuLy9cbi8vIEFDQ0VOVC1DT0xPVVIgTEFXIChzZWUgYnVpbGQtcHJvbXB0cy9zZWN0aW9uLXdhbGstbWV0aG9kb2xvZ3kubWQpOiB0aGUgZ3JvdW5kXG4vLyBuZXZlciBkZWNpZGVzIHRoaXMgY2FyZCdzIGNvbG91ci4gQmxvY2sgbW9kaWZpZXJzIHNldCBTVVJGQUNFIE9OTFlcbi8vICgtLWxpZ2h0IC8gLS1kYXJrID0gYmFja2dyb3VuZCArIGJhc2UgdGV4dCkuIEFjY2VudCBjb2xvdXJzIGNvbWUgZnJvbSB0aGVcbi8vIC5leWVicm93IC8gLmxhYmVsIC8gLmJ1dHRvbiBwcmltaXRpdmVzIGluIHRoZSBtYXJrdXAsIGNob3NlbiBwZXIgcGxhY2VtZW50OlxuLy8gICDigKIgbGlnaHQgY2FyZCAoYnJpZ2h0IHN1cmZhY2UpIOKGkiBleWVicm93LS1ncmVlbiAvIGxhYmVsLS1ncmVlbiAvIGdob3N0LWdyZWVuXG4vLyAgIOKAoiBkYXJrICBjYXJkIChhbmNob3Igc3VyZmFjZSkg4oaSIGV5ZWJyb3ctLXNhZmZyb24gLyBsYWJlbC0tc2FmZnJvbiAvIGdob3N0LXNhZmZyb25cbi8vIE5FVkVSIGEgLnNlY3Rpb24tLXggY2FzY2FkZSBhbmQgTkVWRVIgYW4gYWNjZW50IGNvbG91ciBiYWtlZCBpbnRvIGEgbW9kaWZpZXIuXG5cbi5wb3N0LWNhcmQge1xuXG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jYXJkKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ym94LXNoYWRvdzogdmFyKC0tY2FyZC1zaGFkb3cpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTtcblxuXHRAaW5jbHVkZSBob3ZlcigpIHtcblxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcblx0XHRib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdy1ob3Zlcik7XG5cblx0fVxuXG5cdCZfX2ltYWdlIHtcblxuXHRcdGFzcGVjdC1yYXRpbzogMyAvIDI7XG5cblx0fVxuXG5cdCZfX2JvZHkge1xuXG5cdFx0Z2FwOiB2YXIoLS1zcGFjZS0xNSk7XG5cdFx0cGFkZGluZzogdmFyKC0tc3BhY2UtMjApO1xuXG5cdH1cblxuXHQmX190aXRsZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLWgzKTtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cblx0fVxuXG5cdCZfX3RleHQge1xuXG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1ib2R5KTtcblx0XHRsaW5lLWhlaWdodDogMS42NTtcblxuXHR9XG5cblx0Ly8g4pSA4pSAIFN1cmZhY2UgbW9kaWZpZXJzIChzdXJmYWNlIG9ubHkg4oCUIGJhY2tncm91bmQgKyBiYXNlIHRleHQgY29sb3VyKSDilIDilIBcblx0Ly8gTm8gYWNjZW50IGNvbG91cnMgaGVyZTsgdGhlIGV5ZWJyb3cvZGF0ZSBjYXJyeSB0aGVpciBvd24gLmV5ZWJyb3ctLSogL1xuXHQvLyAubGFiZWwtLSogbW9kaWZpZXIgaW4gdGhlIG1hcmt1cCwgY2hvc2VuIGZvciB0aGUgc3VyZmFjZS5cblxuXHQmLS1saWdodCB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmlnaHQpO1xuXHRcdGNvbG9yOiB2YXIoLS1hbmNob3IpO1xuXG5cdH1cblxuXHQmLS1kYXJrIHtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFuY2hvcik7XG5cdFx0Y29sb3I6IHZhcigtLWJyaWdodCk7XG5cblx0fVxuXG59XG5cbi8vIEEgZ3JpZCBvZiBwb3N0LWNhcmRzIHN0YWNrcyB0byBvbmUgY29sdW1uIGF0IHBob25lIOKAlCBjb250ZW50IGNhcmRzICh0aXRsZSArXG4vLyBleGNlcnB0KSBhcmUgdG9vIGNyYW1wZWQgdHdvLXVwLlxuLmdyaWQ6aGFzKD4gLnBvc3QtY2FyZCkge1xuXG5cdEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KCc3NjgnKSB7XG5cblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XG5cblx0fVxuXG59XG4iLCJAdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxuLy8g4pSA4pSAIEludHJvIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBDZW50ZXJlZCBoZWFkaW5nIGNsdXN0ZXIgKHN0cnVjdHVyYWwgbWF4LXdpZHRoICsgY2VudGVyaW5nIGxpdmUgaW4gdGhlIGdsb2JhbFxuLy8gc2lsbykuIFNwYWNpbmcgKyBsZWFkIHR5cGUgaGVyZTsgdGhlIGV5ZWJyb3cgY29sb3VyIGNvbWVzIGZyb20gaXRzIG1vZGlmaWVyLFxuLy8gYW5kIHRoZSBsZWFkIGluaGVyaXRzIHRoZSBzZWN0aW9uIHRvbmUgc28gaXQgcmVhZHMgb24gYW55IGJhbmQuXG5cbi5pbnRybyB7XG5cblx0bWFyZ2luLWJvdHRvbTogJGd1dHRlci0tbWlkaTtcblxuXHQmX19leWVicm93IHtcblxuXHRcdG1hcmdpbi1ib3R0b206ICRndXR0ZXItLW1pbmk7XG5cblx0fVxuXG5cdCZfX3RpdGxlIHtcblxuXHRcdG1hcmdpbi1ib3R0b206ICRndXR0ZXItLXNtYWxsO1xuXG5cdH1cblxuXHQmX190ZXh0IHtcblxuXHRcdGZvbnQtc2l6ZTogJGxhcmdlLWZvbnQtc2l6ZTtcblx0XHRsaW5lLWhlaWdodDogJGJvZHktbGluZS1oZWlnaHQ7XG5cblx0fVxuXG59XG4iLCJAdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxuLy8g4pSA4pSAIEl0ZW0tdGlsZSDigJQgTmVyZHdvcmtzIGJyYW5kIGRlbHRhIChtb2NrdXAgIzEyMjIyKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vXG4vLyBTdHJ1Y3R1cmFsIHN0YWNrLCBtZWRpYSwgcmFkaXVzLCBzaGFkb3cgYW5kIGhvdmVyIGxpZnQgbGl2ZSBpbiB0aGUgZ2xvYmFsXG4vLyBzaWxvLiBUaGlzIGxheWVyIG93bnMgdGhlIHN1cmZhY2UsIGltYWdlIHJhdGlvLCBib2R5IHBhZGRpbmcvZmxvdywgdGhlXG4vLyBjb25kaXRpb24gYmFkZ2UgYW5kIHR5cGUuXG4vL1xuLy8gaXRlbS10aWxlIGFwcGVhcnMgb25seSBvbiB0aGUgYW5jaG9yIGdyb3VuZCBvbiB0aGUgaG9tZXBhZ2UsIHNvIHRoZSBzdXJmYWNlXG4vLyBpcyBzdHlsZWQgZGlyZWN0bHkgaGVyZSDigJQgbm8gc2VjdGlvbiBjYXNjYWRlLiBSYWlzZWQgZGFyayBzdXJmYWNlLCBicmlnaHRcbi8vIGNhcmQgbmFtZSwgbXV0ZWQgbW9ubyBzZXQgbGluZSwgc2FmZnJvbiBwcmljZSwgYW5kIGEgc2FmZnJvbiBjb25kaXRpb24gYmFkZ2Vcbi8vIG92ZXIgdGhlIGltYWdlLlxuXG4uaXRlbS10aWxlIHtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hbmNob3ItZWxldmF0ZWQpO1xuXHRjb2xvcjogdmFyKC0tYnJpZ2h0KTtcblxuXHQmX19pbWFnZSB7XG5cblx0XHRhc3BlY3QtcmF0aW86IDQgLyA1O1xuXG5cdH1cblxuXHQvLyBDb25kaXRpb24gYmFkZ2Ug4oCUIG1vbm8gc2FmZnJvbiBjaGlwIG92ZXIgdGhlIGltYWdlLlxuXHQmX19iYWRnZSB7XG5cblx0XHRwYWRkaW5nOiA0cHggOHB4O1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWxhYmVsKTtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLW1ldGEpO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0Y29sb3I6IHZhcigtLWFuY2hvcik7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2FmZnJvbik7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWludGVyYWN0aXZlKTtcblxuXHR9XG5cblx0Jl9fYm9keSB7XG5cblx0XHRnYXA6IDZweDtcblx0XHRwYWRkaW5nOiB2YXIoLS1zcGFjZS0xNSk7XG5cblx0fVxuXG5cdCZfX3RpdGxlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtaDQpO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjU7XG5cdFx0Y29sb3I6IHZhcigtLWJyaWdodCk7XG5cblx0fVxuXG5cdC8vIFNldCAvIGVkaXRpb24g4oCUIG11dGVkIG1vbm8gbGluZSBiZW5lYXRoIHRoZSBuYW1lLlxuXHQmX19zZXQge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbGFiZWwpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtbWV0YSk7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRjb2xvcjogcmdiYSgyNDAsIDI0MiwgMjM4LCAwLjYyKTtcblxuXHR9XG5cblx0Ly8gUG9zaXRpb25pbmcgKyBzaXplIG9ubHkg4oCUIG1vbm8gZmFjZSArIHNhZmZyb24gZnJvbSB0aGUgLnByaWNlIHByaW1pdGl2ZS5cblx0Jl9fcHJpY2Uge1xuXG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1sYWJlbC1jYXJkKTtcblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgQnV0dG9uLWdyb3VwIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTdHJ1Y3R1cmFsIHJvdyBsaXZlcyBpbiB0aGUgZ2xvYmFsIHNpbG8gKGZsZXggKyBnYXAgKyAtLWNlbnRlcikuIEEgQ1RBIHJvd1xuLy8gZ2V0cyBicmVhdGhpbmcgcm9vbSBhYm92ZSBpdC5cblxuLmJ1dHRvbi1ncm91cCB7XG5cblx0bWFyZ2luLXRvcDogJGd1dHRlci0tbWlkaTtcblxufVxuIiwiQHVzZSAnLi4vc2V0dGluZ3MnIGFzICo7XG5cbi8vIOKUgOKUgCBTdGF0IOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEgKG1vY2t1cCAjMTIyMjIpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy9cbi8vIENlbnRyZWQgdHJ1c3Qtc3RyaXAgc3RhdHMgb24gdGhlIGJyaWdodCBiYW5kOiBncmVlbiBpY29uLCBtb25vIGdyZWVuIGZpZ3VyZSxcbi8vIGRhcmsgbGFiZWwuIFN0cnVjdHVyYWwgY2VudHJlZCBjb2x1bW4gbGl2ZXMgaW4gdGhlIGdsb2JhbCBzaWxvLlxuLy9cbi8vIEZpZ3VyZSBzaXplIGlzIHRoZSBtb2NrdXAncyBsaXRlcmFsIDI0cHgg4oCUIHRoZXJlIGlzIG5vIGJyYW5kIHRva2VuIGJldHdlZW5cbi8vIC0tZnMtaDQgKDE3cHgpIGFuZCAtLWZzLWgzICgyMXB4KSB0aGF0IG1hdGNoZXMsIGFuZCAtLWZzLWxhYmVsLWNhcmQgKDIwcHgpXG4vLyByZWFkcyBzbWFsbCBhZ2FpbnN0IHRoZSAyOHB4IGljb24uIFRva2VuIHNuYXAgZmxhZ2dlZCBmb3IgdGhlIHN0eWxlZ3VpZGUuXG5cbi5zdGF0IHtcblxuXHQmX19pY29uIHtcblxuXHRcdGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcblxuXHR9XG5cblx0Jl9fZmlndXJlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWxhYmVsKTtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG5cblx0fVxuXG5cdCZfX2xhYmVsIHtcblxuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtbWV0YSk7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRjb2xvcjogdmFyKC0tYW5jaG9yKTtcblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgSW5mby1jYXJkIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTdHJ1Y3R1cmFsIHN0YWNrIGxpdmVzIGluIHRoZSBnbG9iYWwgc2lsby4gRmlyc3QgdXNlZCBmb3IgdGhlIE1OVzEgc2FsZS1vci1cbi8vIHJldHVybiBzdGVwczogYSByYWlzZWQgZGFyayBjYXJkIG9uIHRoZSBuZWFyLWJsYWNrIGJhbmQsIDhweCByYWRpdXMsIHdpdGggYVxuLy8gc2FmZnJvbiB1cHBlcmNhc2UgZXllYnJvdyBvdmVyIGEgYnJpZ2h0IGhlYWRpbmcgYW5kIG11dGVkIGJvZHkgY29weS4gUmFpc2VkXG4vLyBzdXJmYWNlIHJldXNlcyB0aGUgaXRlbS10aWxlIC8gcHJvZHVjdC1jYXJkIGNvbnZlbnRpb24g4oCUIHJnYmEoJG9mZi13aGl0ZSwgMC4wNikuXG5cbi5pbmZvLWNhcmQge1xuXG5cdHBhZGRpbmc6ICRndXR0ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJG9mZi13aGl0ZSwgMC4wNik7XG5cdGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuXG5cdCZfX2V5ZWJyb3cge1xuXG5cdFx0bWFyZ2luLWJvdHRvbTogJGd1dHRlci0tc21hbGw7XG5cblx0fVxuXG5cdCZfX3RpdGxlIHtcblxuXHRcdG1hcmdpbi1ib3R0b206ICRndXR0ZXItLXNtYWxsO1xuXG5cdH1cblxuXHQmX190ZXh0IHtcblxuXHRcdGNvbG9yOiByZ2JhKCRvZmYtd2hpdGUsIDAuOCk7XG5cdFx0Zm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuXHRcdGxpbmUtaGVpZ2h0OiAkYm9keS1saW5lLWhlaWdodDtcblxuXHR9XG5cbn1cblxuLy8gQSBncmlkIG9mIGluZm8tY2FyZHMgc3RhY2tzIHRvIG9uZSBjb2x1bW4gYXQgcGhvbmUg4oCUIHRocmVlIHRleHQtY2FyZHMgYXJlIGZhclxuLy8gdG9vIGNyYW1wZWQgdHdvLXVwICh0aGUgZ2xvYmFsIGdyaWQtLTMgb25seSBjb2xsYXBzZXMgdG8gMiBhdCB0aGlzIHdpZHRoKS5cbi5ncmlkOmhhcyg+IC5pbmZvLWNhcmQpIHtcblxuXHRAaW5jbHVkZSBtZWRpYS1xdWVyeSgnNzY4Jykge1xuXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuXG5cdH1cblxufVxuIiwiQHVzZSAnLi4vc2V0dGluZ3MnIGFzICo7XG5cbi8vIOKUgOKUgCBTcG90bGlnaHQg4oCUIE5lcmR3b3JrcyBicmFuZCBkZWx0YSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFN0cnVjdHVyYWwgMi1jb2x1bW4gc3BsaXQgbGl2ZXMgaW4gdGhlIGdsb2JhbCBzaWxvLiBUaGUgYmFzZSBibG9jayBpcyB0aGVcbi8vIE1OVzEgc2V0LXNwb3RsaWdodDogYSA0OjUgaW1hZ2UgYmVzaWRlIGFuIGVkaXRvcmlhbCBjb2x1bW4gd2l0aCBhIHNhZmZyb25cbi8vIGV5ZWJyb3csIGEgaGFpcmxpbmUtYm91bmRlZCBrZXktdmFsdWUgc3BlYyBzdHJpcCBhbmQgYSBDVEEuIEdyb3VuZCB0b25lIGNvbWVzXG4vLyBmcm9tIHRoZSBwYXJlbnQgLnNlY3Rpb24uIE1pZ3JhdGVkIHRvIHZhcigtLXRva2VuKSAodmFsdWVzIHVuY2hhbmdlZCkuXG4vL1xuLy8gLS13aWRlOiBtb2NrdXAgIzEyMjIyIHNldC1zcG90bGlnaHQgdHJlYXRtZW50IOKAlCBhIDM6MiBpbWFnZSwgbm8gc3BlYyBzdHJpcCxcbi8vIHRoZSB0aXRsZSBzdHlsZWQgZGlyZWN0bHkgYW5kIGEgYm9keS1zaXplIHBhcmFncmFwaC4gQ2FycmllZCBieSBhIG1vZGlmaWVyIHNvXG4vLyB0aGUgZXhpc3RpbmcgNDo1IGJhc2UgKHVzZWQgYnkgb3RoZXIgdGVtcGxhdGVzKSBpcyBsZWZ0IGludGFjdC5cblxuLnNwb3RsaWdodCB7XG5cblx0Z2FwOiB2YXIoLS1zcGFjZS02MCk7XG5cblx0Jl9faW1hZ2Uge1xuXG5cdFx0YXNwZWN0LXJhdGlvOiA0IC8gNTtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2FyZCk7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHR9XG5cblx0Jl9fZXllYnJvdyB7XG5cblx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xNSk7XG5cblx0fVxuXG5cdCZfX3RpdGxlIHtcblxuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIwKTtcblxuXHR9XG5cblx0Jl9fdGV4dCB7XG5cblx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yMCk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1sZWFkKTtcblx0XHRsaW5lLWhlaWdodDogMS41NTtcblx0XHRjb2xvcjogcmdiYSgyNDAsIDI0MiwgMjQwLCAwLjkpO1xuXG5cdH1cblxuXHQmX19tZXRhIHtcblxuXHRcdGdhcDogdmFyKC0tc3BhY2UtMzApO1xuXHRcdG1hcmdpbjogdmFyKC0tc3BhY2UtMjApIDAgdmFyKC0tc3BhY2UtMzApO1xuXHRcdHBhZGRpbmc6IHZhcigtLXNwYWNlLTIwKSAwO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI0MCwgMjQyLCAyNDAsIDAuMTgpO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI0MCwgMjQyLCAyNDAsIDAuMTgpO1xuXG5cdH1cblxuXHQmX19tZXRhLWl0ZW0ge1xuXG5cdFx0Z2FwOiA1cHg7XG5cblx0fVxuXG5cdCZfX21ldGEtbmFtZSB7XG5cblx0XHRmb250LXNpemU6IHZhcigtLWZzLWV5ZWJyb3cpO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcblx0XHRjb2xvcjogcmdiYSgyNDAsIDI0MiwgMjQwLCAwLjY1KTtcblxuXHR9XG5cblx0Ly8g4pSA4pSAIC0td2lkZSDigJQgbW9ja3VwICMxMjIyMiBzZXQtc3BvdGxpZ2h0ICgzOjIgbWVkaWEsIG5vIHNwZWMgc3RyaXApIOKUgOKUgFxuXHQmLS13aWRlIHtcblxuXHRcdGdhcDogdmFyKC0tc3BhY2UtNDApO1xuXG5cdFx0LnNwb3RsaWdodF9fbWVkaWEge1xuXG5cdFx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2FyZCk7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0fVxuXG5cdFx0LnNwb3RsaWdodF9faW1hZ2Uge1xuXG5cdFx0XHRhc3BlY3QtcmF0aW86IDMgLyAyO1xuXG5cdFx0fVxuXG5cdFx0Ly8gUG9zaXRpb25pbmcgb25seSDigJQgdHlwZSArIHNhZmZyb24gZnJvbSB0aGUgLmV5ZWJyb3cgcHJpbWl0aXZlICgtLXNhZmZyb24gb24gZ3JlZW4pLlxuXHRcdC5zcG90bGlnaHRfX2V5ZWJyb3cge1xuXG5cdFx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xNSk7XG5cblx0XHR9XG5cblx0XHQvLyBTdHlsZWQgZGlyZWN0bHk7IGNvbG91ciBpbmhlcml0cyB0aGUgZ3JlZW4gZ3JvdW5kIChicmlnaHQgdGV4dCkuXG5cdFx0LnNwb3RsaWdodF9fdGl0bGUge1xuXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdFx0XHRmb250LXNpemU6IHZhcigtLWZzLWgyKTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4xNTtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuXG5cdFx0fVxuXG5cdFx0LnNwb3RsaWdodF9fYm9keSB7XG5cblx0XHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTIwKTtcblx0XHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtYm9keSk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS42NTtcblxuXHRcdH1cblxuXHRcdC5zcG90bGlnaHRfX2N0YSB7XG5cblx0XHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTMwKTtcblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgTW9zYWljIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTdHJ1Y3R1cmFsIGdyaWQgc2NhZmZvbGQgbGl2ZXMgaW4gdGhlIGdsb2JhbCBzaWxvLiBUaGUgYmFzZSBpcyB0aGUgTU5XMVxuLy8gZXZlbnRzIGdhbGxlcnk6IGEgNi1jb2x1bW4gbW9zYWljIG9uIDE0MHB4IHJvd3Mgd2l0aCBhIGZpeGVkIG50aC1jaGlsZFxuLy8gY29tcG9zaXRpb24uIE1pZ3JhdGVkIHRvIHZhcigtLXRva2VuKSwgdmFsdWVzIHVuY2hhbmdlZC5cbi8vXG4vLyAtLXNwYW5zOiBtb2NrdXAgIzEyMjIyIGV2ZW50cy1nYWxsZXJ5IHRyZWF0bWVudCDigJQgYSA0LWNvbHVtbiBtb3NhaWMgb24gMTgwcHhcbi8vIHJvd3Mgd2hvc2UgY2VsbHMgdGFrZSB0aGVpciBzcGFuIGZyb20gZXhwbGljaXQgX19pdGVtLS13aWRlIC8gLS10YWxsIC8gLS1iaWdcbi8vIGNsYXNzZXMgKG5vdCBudGgtY2hpbGQpLiBUaGUgZ3JpZCBJUyBzcGVjaWFsLCBzbyBpdCBpcyBhdXRob3JlZCBoZXJlIHJhdGhlclxuLy8gdGhhbiBpbiB0aGUgLmdyaWQgdXRpbGl0eS4gQ2FycmllZCBieSBhIG1vZGlmaWVyIHNvIHRoZSBleGlzdGluZyBudGgtY2hpbGRcbi8vIGJhc2UgaXMgbGVmdCBpbnRhY3QuIE9uIHRoZSBicmlnaHQgYmFuZC5cblxuLm1vc2FpYyB7XG5cblx0Jl9fZ3JpZCB7XG5cblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xuXHRcdGdyaWQtYXV0by1yb3dzOiAxNDBweDtcblx0XHRnYXA6IHZhcigtLXNwYWNlLTIwKTtcblx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zMCk7XG5cblx0XHQvLyBQaG9uZTogdGhlIHNpeC1jb2x1bW4gbW9zYWljIHNoYXR0ZXJzIOKAlCBkcm9wIHRvIGEgdW5pZm9ybSAyLXVwIGdyaWQuXG5cdFx0QGluY2x1ZGUgbWVkaWEtcXVlcnkoJzc2OCcpIHtcblxuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblx0XHRcdGdyaWQtYXV0by1yb3dzOiAxMjBweDtcblxuXHRcdH1cblxuXHR9XG5cblx0Jl9faXRlbSB7XG5cblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2FyZCk7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcblxuXHRcdEBpbmNsdWRlIGhvdmVyKCkge1xuXG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDEpO1xuXG5cdFx0fVxuXG5cdFx0Ly8gRml4ZWQgc2l4LWNlbGwgY29tcG9zaXRpb24uXG5cdFx0JjpudGgtY2hpbGQoMSkgeyBncmlkLWNvbHVtbjogc3BhbiAzOyBncmlkLXJvdzogc3BhbiAyOyB9XG5cdFx0JjpudGgtY2hpbGQoMikgeyBncmlkLWNvbHVtbjogc3BhbiAyOyBncmlkLXJvdzogc3BhbiAyOyB9XG5cdFx0JjpudGgtY2hpbGQoMykgeyBncmlkLWNvbHVtbjogc3BhbiAxOyBncmlkLXJvdzogc3BhbiAxOyB9XG5cdFx0JjpudGgtY2hpbGQoNCkgeyBncmlkLWNvbHVtbjogc3BhbiAxOyBncmlkLXJvdzogc3BhbiAxOyB9XG5cdFx0JjpudGgtY2hpbGQoNSkgeyBncmlkLWNvbHVtbjogc3BhbiAyOyBncmlkLXJvdzogc3BhbiAyOyB9XG5cdFx0JjpudGgtY2hpbGQoNikgeyBncmlkLWNvbHVtbjogc3BhbiA0OyBncmlkLXJvdzogc3BhbiAyOyB9XG5cblx0XHQvLyBQaG9uZTogZHJvcCB0aGUgYmVzcG9rZSBzcGFucyBiYWNrIHRvIHVuaWZvcm0gY2VsbHMuXG5cdFx0QGluY2x1ZGUgbWVkaWEtcXVlcnkoJzc2OCcpIHtcblxuXHRcdFx0JjpudGgtY2hpbGQobikge1xuXG5cdFx0XHRcdGdyaWQtY29sdW1uOiBhdXRvO1xuXHRcdFx0XHRncmlkLXJvdzogYXV0bztcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19jYXB0aW9uIHtcblxuXHRcdG1heC13aWR0aDogNTYwcHg7XG5cdFx0bWFyZ2luLWlubGluZTogYXV0bztcblx0XHRmb250LXNpemU6IHZhcigtLWZzLWxhYmVsKTtcblx0XHRsaW5lLWhlaWdodDogMS41NTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Y29sb3I6IHJnYmEoMjUsIDI4LCAyNSwgMC43KTtcblxuXHRcdGEge1xuXG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0Y29sb3I6IHZhcigtLWdyZWVuKTtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ncmVlbik7XG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7XG5cblx0XHRcdEBpbmNsdWRlIGhvdmVyKCkge1xuXG5cdFx0XHRcdG9wYWNpdHk6IDAuNztcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxuXHQvLyDilIDilIAgLS1zcGFucyDigJQgbW9ja3VwICMxMjIyMiBldmVudHMgZ2FsbGVyeSAoc3Bhbi1jbGFzcyBwbGFjZW1lbnQpIOKUgOKUgOKUgFxuXHQmLS1zcGFucyB7XG5cblx0XHQubW9zYWljX19ncmlkIHtcblxuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcblx0XHRcdGdyaWQtYXV0by1yb3dzOiAxODBweDtcblx0XHRcdGdhcDogdmFyKC0tc3BhY2UtMTUpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdFx0Ly8gVGFibGV0OiBjb2xsYXBzZSB0byBhIDItdXAgZ3JpZDsgLS1iaWcga2VlcHMgaXRzIHdpZHRoLlxuXHRcdFx0QGluY2x1ZGUgbWVkaWEtcXVlcnkoJzkwMCcpIHtcblxuXHRcdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHRcdFx0XHRncmlkLWF1dG8tcm93czogMTYwcHg7XG5cblx0XHRcdH1cblxuXHRcdFx0Ly8gUGhvbmU6IHNpbmdsZSBjb2x1bW4uXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1xdWVyeSgnNzY4Jykge1xuXG5cdFx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQubW9zYWljX19pdGVtIHtcblxuXHRcdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWNhcmQpO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHRyYW5zaXRpb246IG5vbmU7XG5cblx0XHRcdC8vIFNwYW5zIGNvbWUgZnJvbSB0aGUgZXhwbGljaXQgbW9kaWZpZXIgY2xhc3Nlcywgbm90IG50aC1jaGlsZC5cblx0XHRcdCY6bnRoLWNoaWxkKG4pIHtcblxuXHRcdFx0XHRncmlkLWNvbHVtbjogYXV0bztcblx0XHRcdFx0Z3JpZC1yb3c6IGF1dG87XG5cblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgaG92ZXIoKSB7XG5cblx0XHRcdFx0dHJhbnNmb3JtOiBub25lO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQubW9zYWljX19pdGVtLS13aWRlIHsgZ3JpZC1jb2x1bW46IHNwYW4gMjsgfVxuXHRcdC5tb3NhaWNfX2l0ZW0tLXRhbGwgeyBncmlkLXJvdzogc3BhbiAyOyB9XG5cdFx0Lm1vc2FpY19faXRlbS0tYmlnICB7IGdyaWQtY29sdW1uOiBzcGFuIDI7IGdyaWQtcm93OiBzcGFuIDI7IH1cblxuXHRcdC5tb3NhaWNfX2NhcHRpb24ge1xuXG5cdFx0XHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zMCk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1sZWFkKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cblx0XHRcdC8vIEJyaWdodCBncm91bmQg4oCUIGdyZWVuIGlubGluZSBsaW5rLCBubyBwZXJtYW5lbnQgdW5kZXJsaW5lLlxuXHRcdFx0YSB7XG5cblx0XHRcdFx0Y29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAwO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGhvdmVyKCkge1xuXG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdC8vIFRhYmxldDogLS1iaWcga2VlcHMgaXRzIGZ1bGwgd2lkdGggaW4gdGhlIDItdXAgZ3JpZC5cblx0XHRAaW5jbHVkZSBtZWRpYS1xdWVyeSgnOTAwJykge1xuXG5cdFx0XHQubW9zYWljX19pdGVtLS1iaWcge1xuXG5cdFx0XHRcdGdyaWQtY29sdW1uOiBzcGFuIDI7XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdC8vIFBob25lOiB3aWRlIC8gYmlnIGNlbGxzIGRyb3AgdG8gYSBzaW5nbGUgc3Bhbi5cblx0XHRAaW5jbHVkZSBtZWRpYS1xdWVyeSgnNzY4Jykge1xuXG5cdFx0XHQubW9zYWljX19pdGVtLS13aWRlLFxuXHRcdFx0Lm1vc2FpY19faXRlbS0tYmlnIHtcblxuXHRcdFx0XHRncmlkLWNvbHVtbjogc3BhbiAxO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCJAdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxuLy8g4pSA4pSAIE5ld3NsZXR0ZXIg4oCUIE5lcmR3b3JrcyBicmFuZCBkZWx0YSAobW9ja3VwICMxMjIyMikg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vL1xuLy8gU3RydWN0dXJhbCBjZW50cmVkIGNvbHVtbiBsaXZlcyBpbiB0aGUgZ2xvYmFsIHNpbG8uIEEgNjQwcHggY2VudHJlZCBzaWduLXVwXG4vLyBvbiB0aGUgYW5jaG9yIGJhbmQ6IGhlYWRpbmcsIGxlYWQsIHRoZW4gdGhlIHNoYXJlZCAuZm9ybSBibG9jayAoaW5wdXQgK1xuLy8gc2FmZnJvbiBzdWJtaXQpLiBUZXh0IGNvbG91ciBpbmhlcml0cyBmcm9tIHRoZSBhbmNob3Igc2VjdGlvbiBncm91bmQ7IGZvcm1cbi8vIGZpZWxkIHN0eWxpbmcgbGl2ZXMgaW4gX2Zvcm0uc2NzcywgdGhlIHN1Ym1pdCBmaWxsIGluIC5idXR0b24uYnV0dG9uLS1zYWZmcm9uLlxuXG4ubmV3c2xldHRlciB7XG5cblx0Jl9fdGl0bGUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1oMik7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsaW5lLWhlaWdodDogMS4xNTtcblx0XHRsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcblxuXHR9XG5cblx0Jl9fbGVhZCB7XG5cblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0xNSk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1sZWFkKTtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXG5cdH1cblxuXHQvLyBUaGUgc2hhcmVkIC5mb3JtIGJsb2NrIGdldHMgYnJlYXRoaW5nIHJvb20gYWJvdmUgaXQgd2l0aGluIHRoZSBjb2x1bW4uXG5cdC5mb3JtIHtcblxuXHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTMwKTtcblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgRm9ybSDigJQgTmVyZHdvcmtzIGJyYW5kIGRlbHRhIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gU3RydWN0dXJhbCAuZm9ybSAvIF9fZ3JvdXAgLyBfX2lucHV0IC8gX19zdWJtaXQgbGl2ZSBpbiB0aGUgZ2xvYmFsIHNpbG9cbi8vIChtaXJyb3JzIGZyYW1ld29yay12MSdzIC5mb3JtKS4gVGhpcyBpcyB0aGUgTmVyZHdvcmtzIGlubGluZSBmb3JtICh0aGVcbi8vIG5ld3NsZXR0ZXIgc2lnbi11cCBpcyBpdHMgZmlyc3QgY29uc3VtZXIpOiBhbiBpbnB1dCArIHN1Ym1pdCBpbiBhIHJvdyB0aGF0XG4vLyBzdGFja3MgdG8gZnVsbC13aWR0aCBhdCBwaG9uZS4gU3R5bGVkIGZvciBhIGRhcmsgYmFuZCDigJQgYSByYWlzZWQtZGFyayBmaWVsZFxuLy8gd2l0aCBhIHNhZmZyb24gZm9jdXMgcmluZy4gVGhlIHN1Ym1pdCdzIGZpbGwgY29tZXMgZnJvbSBhIGNsYXNzLW1peGVkXG4vLyAuYnV0dG9uLmJ1dHRvbi0tc2FmZnJvbiAocGVyIHYxKTsgdGhpcyBzbG90IG93bnMgb25seSB0aGUgbGF5b3V0LiBBXG4vLyBsaWdodC1iYW5kIHZhcmlhbnQgY2FuIGZvbGxvdyB3aGVuIGEgZm9ybSBsYW5kcyBvbiBhIGxpZ2h0IHNlY3Rpb24uXG5cbi5mb3JtIHtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6ICRndXR0ZXItLW1pbmk7XG5cdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG5cdEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KCc3NjgnKSB7XG5cblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG5cdH1cblxuXHQmX19pbnB1dCB7XG5cblx0XHRmbGV4OiAxO1xuXHRcdG1pbi13aWR0aDogMDtcblx0XHRoZWlnaHQ6IDQ4cHg7XG5cdFx0cGFkZGluZzogMCAkZ3V0dGVyLS1zbWFsbDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRvZmYtd2hpdGUsIDAuMDYpO1xuXHRcdGJvcmRlcjogJGhhaXJsaW5lLWJvcmRlciBzb2xpZCByZ2JhKCRvZmYtd2hpdGUsIDAuMTgpO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtLXNtYWxsO1xuXHRcdGNvbG9yOiAkb2ZmLXdoaXRlO1xuXHRcdGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuXG5cdFx0Jjo6cGxhY2Vob2xkZXIge1xuXG5cdFx0XHRjb2xvcjogcmdiYSgkb2ZmLXdoaXRlLCAwLjUpO1xuXG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyB7XG5cblx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHRib3JkZXItY29sb3I6ICRzYWZmcm9uO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoJHNhZmZyb24sIDAuNCk7XG5cblx0XHR9XG5cblx0XHQvLyBTdGFja2VkOiBkcm9wIHRoZSBmbGV4LWdyb3cgc28gdGhlIGZpZWxkIGtlZXBzIGl0cyA0OHB4IGhlaWdodCDigJRcblx0XHQvLyBmbGV4LWJhc2lzIDAlIHdvdWxkIG90aGVyd2lzZSBjb2xsYXBzZSBpdCB0byB0aGUgbGluZSBib3ggb25jZSB0aGVcblx0XHQvLyBtYWluIGF4aXMgaXMgdmVydGljYWwuXG5cdFx0QGluY2x1ZGUgbWVkaWEtcXVlcnkoJzc2OCcpIHtcblxuXHRcdFx0ZmxleDogbm9uZTtcblxuXHRcdH1cblxuXHR9XG5cblx0Ly8gU3VibWl0IGZpbGwvdHlwZS9ob3ZlciBjb21lIGZyb20gLmJ1dHRvbi5idXR0b24tLXNhZmZyb24gKGNsYXNzLW1peGVkIGluXG5cdC8vIG1hcmt1cCkuIFRoaXMgc2xvdCBvd25zIG9ubHkgdGhlIGxheW91dDogbWF0Y2ggdGhlIGlucHV0J3MgNDhweCBoZWlnaHRcblx0Ly8gYW5kIDRweCByYWRpdXMsIGdvIGZ1bGwtd2lkdGggd2hlbiBzdGFja2VkLlxuXHQmX19zdWJtaXQge1xuXG5cdFx0aGVpZ2h0OiA0OHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtLXNtYWxsO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtcXVlcnkoJzc2OCcpIHtcblxuXHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCJAdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxuLy8g4pSA4pSAIEJyZWFkY3J1bWJzIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEgKG1vY2t1cCAjMTIyMjQpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gQSBtb25vIGxhYmVsLWZvbnQgdHJhaWwgb24gdGhlIGFuY2hvciBwYWdlOiBzYWZmcm9uIGxpbmtzLCBhIG11dGVkLXNhZmZyb25cbi8vIGN1cnJlbnQgcGFnZSwgYW5kIGEgZmFpbnQtc2FmZnJvbiDigLogZ2x5cGggYmV0d2VlbiBpdGVtcy4gRmxleCBsYXlvdXQgKyBiYW5kXG4vLyBpbnNldCBsaXZlIGluIHRoZSBnbG9iYWwgc2lsbzsgbWlncmF0ZWQgdG8gdGhlIHNlbWFudGljIHZhcigtLXRva2VuKSBncm91bmRzLlxuXG4uYnJlYWRjcnVtYnMge1xuXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWxhYmVsKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Zm9udC1zaXplOiB2YXIoLS1mcy1tZXRhKTtcblxuXHQmX19pdGVtIHtcblxuXHRcdGNvbG9yOiB2YXIoLS1zYWZmcm9uKTtcblxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuXG5cdFx0XHRjb250ZW50OiAn4oC6Jztcblx0XHRcdG1hcmdpbi1sZWZ0OiA2cHg7XG5cdFx0XHRjb2xvcjogcmdiYSgyNDUsIDIwMCwgNjQsIDAuNTUpO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19saW5rIHtcblxuXHRcdEBpbmNsdWRlIGhvdmVyKCkge1xuXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fY3VycmVudCB7XG5cblx0XHRjb2xvcjogcmdiYSgyNDUsIDIwMCwgNjQsIDAuNyk7XG5cdFx0bWF4LXdpZHRoOiA0MGNoO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHR9XG5cbn1cbiIsIi8vIOKUgOKUgCBTbGlkZXIgZ2FsbGVyeSDigJQgTmVyZHdvcmtzIGJyYW5kIGRlbHRhIChtb2NrdXAgIzEyMjI0KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEEgcm91bmRlZCAxNi85IGZvY2FsIGltYWdlIChjbGlwcGVkIGJ5IF9fY29udGVudCkgd2l0aCBhIGNsaWNrLXRvLXpvb21cbi8vIGFmZm9yZGFuY2UsIGFib3ZlIGEgZmxhdCB0aHVtYm5haWwgc3RyaXAgd2hvc2UgYWN0aXZlIHRodW1iIGNhcnJpZXMgYSBzYWZmcm9uXG4vLyBib3JkZXIuIExheW91dCBsaXZlcyBpbiB0aGUgZ2xvYmFsIHNpbG87IHRoaXMgaXMgdGhlIGJyYW5kIHNraW4gb24gdGhlXG4vLyBzZW1hbnRpYyB2YXIoLS10b2tlbikgZ3JvdW5kcy5cblxuLnNsaWRlci1nYWxsZXJ5IHtcblxuXHQmX19jb250ZW50IHtcblxuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jYXJkKTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGJveC1zaGFkb3c6IHZhcigtLWNhcmQtc2hhZG93KTtcblxuXHR9XG5cblx0Jl9faW1hZ2Uge1xuXG5cdFx0YXNwZWN0LXJhdGlvOiAxNiAvIDk7IC8vIG1vY2t1cCAjMTIyMjQgcGxhY2Vob2xkZXIgcmF0aW8g4oCUIHJlYWwgcHJvZHVjdCBwaG90b3MgbWF5IHdhbnQgMS8xIG9yIDQvNVxuXG5cdH1cblxuXHQmX196b29tIHtcblxuXHRcdHdpZHRoOiA0MHB4O1xuXHRcdGhlaWdodDogNDBweDtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW50ZXJhY3RpdmUpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzEsIDM1LCAzMSwgMC43KTtcblx0XHRjb2xvcjogdmFyKC0tc2FmZnJvbik7XG5cblx0XHRzdmcge1xuXG5cdFx0XHR3aWR0aDogMjBweDtcblx0XHRcdGhlaWdodDogMjBweDtcblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fdGh1bWIge1xuXG5cdFx0Ym9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWludGVyYWN0aXZlKTtcblxuXHRcdCYtLWFjdGl2ZSB7XG5cblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tc2FmZnJvbik7XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCJAdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxuLy8g4pSA4pSAIEFkZCB0byBjYXJ0IOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEgKG1vY2t1cCAjMTIyMjQpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gVGhlIHNpbmdsZS1wcm9kdWN0IHB1cmNoYXNlIGNsdXN0ZXI6IGEgNDRweCBzdGVwcGVyIHF1YW50aXR5IHdpZGdldCBvbiBhXG4vLyByYWlzZWQtZGFyayBzdXJmYWNlLCBhYm92ZSBhIGZ1bGwtd2lkdGggNTJweCBzdWJtaXQuIFRoZSBzdWJtaXQncyBmaWxsIGNvbWVzXG4vLyBmcm9tIGEgY2xhc3MtbWl4ZWQgLmJ1dHRvbi5idXR0b24tLXNhZmZyb24gKG1hcmt1cCk7IHRoaXMgb3ducyBvbmx5IHNpemluZy5cbi8vIExheW91dCAodGhlIHN0YWNrZWQgdmFyaWFudCkgbGl2ZXMgaW4gdGhlIGdsb2JhbCBzaWxvOyBtaWdyYXRlZCB0byB2YXIoLS10b2tlbikuXG5cbi5hdGMge1xuXG5cdCZfX3F1YW50aXR5IHtcblxuXHRcdGhlaWdodDogNDRweDtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW50ZXJhY3RpdmUpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFuY2hvci1lbGV2YXRlZCk7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdCZfX2J1dHRvbiB7XG5cblx0XHRcdHdpZHRoOiA0NHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRjb2xvcjogdmFyKC0tYnJpZ2h0KTtcblx0XHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0XHRAaW5jbHVkZSBob3ZlcigpIHtcblxuXHRcdFx0XHRjb2xvcjogdmFyKC0tc2FmZnJvbik7XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdCZfX2lucHV0IHtcblxuXHRcdFx0d2lkdGg6IDQ4cHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdGNvbG9yOiB2YXIoLS1icmlnaHQpO1xuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbGFiZWwpO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtYm9keSk7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX3N1Ym1pdCB7XG5cblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDUycHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdH1cblxufVxuIiwiQHVzZSAnLi4vc2V0dGluZ3MnIGFzICo7XG5cbi8vIOKUgOKUgCBTaW5nbGUgcHJvZHVjdCDigJQgTmVyZHdvcmtzIGJyYW5kIGRlbHRhIChtb2NrdXAgIzEyMjI0KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFRoZSBjb252ZXJzaW9uIGhlcm8gb24gYW5jaG9yIGdyb3VuZDogYSA1NS80NSBnYWxsZXJ5ICsgc3RpY2t5IHB1cmNoYXNlXG4vLyBwYW5lbC4gQnJpZ2h0IHRleHQsIHNhZmZyb24gYWNjZW50cywgSmV0QnJhaW5zLU1vbm8gbGFiZWwtZm9udCBmb3IgdGhlXG4vLyBzZXQtY29kZSAvIHByaWNlIC8gbWV0YSBwZXIgdGhlIHN0eWxlZ3VpZGUuIEhlcm8gZ3JpZCArIGNsdXN0ZXIgbGF5b3V0cyBsaXZlXG4vLyBpbiB0aGUgZ2xvYmFsIHNpbG87IHRoaXMgaXMgdGhlIGJyYW5kIHNraW4gb24gdGhlIHNlbWFudGljIHZhcigtLXRva2VuKSBncm91bmRzLlxuXG4ud29vY29tbWVyY2UtcHJvZHVjdCB7XG5cblx0Ly8gU2V0LWNvZGUgZXllYnJvdyBiZXNpZGUgdGhlIHByb2R1Y3QtdHlwZSB0YWcuXG5cdCZfX3NldC1jb2RlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWxhYmVsKTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtbGFiZWwpO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcblx0XHRjb2xvcjogdmFyKC0tc2FmZnJvbik7XG5cblx0fVxuXG5cdC8vIFByb2R1Y3QtdHlwZSB0YWcg4oCUIGEgc2FmZnJvbiBwaWxsIHdpdGggYW5jaG9yIHRleHQuXG5cdCZfX3RhZyB7XG5cblx0XHRwYWRkaW5nOiA0cHggMTBweDtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtaW50ZXJhY3RpdmUpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNhZmZyb24pO1xuXHRcdGNvbG9yOiB2YXIoLS1hbmNob3IpO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWxhYmVsKTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtbWV0YSk7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuXG5cdH1cblxuXHQmX190aXRsZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0XHRmb250LXNpemU6IDQwcHg7IC8vIGNhbmRpZGF0ZSB0b2tlbiAtLWZzLXByb2R1Y3QtdGl0bGUgKGJldHdlZW4gLS1mcy1oMiAzMCBhbmQgLS1mcy1kaXNwbGF5IDUyKVxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMTU7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG5cdFx0Y29sb3I6IHZhcigtLWJyaWdodCk7XG5cblx0fVxuXG5cdC8vIFJldmlldyByb3cg4oCUIHNhZmZyb24gc3RhcnMgb3ZlciBhIG11dGVkIHRyYWNrOyBtb25vIGNvdW50LlxuXHQmX19zdGFycyB7XG5cblx0XHRjb2xvcjogdmFyKC0tc2FmZnJvbik7XG5cblx0fVxuXG5cdCZfX3N0YXItLWVtcHR5IHtcblxuXHRcdGNvbG9yOiByZ2JhKDI0NSwgMjAwLCA2NCwgMC4zKTtcblxuXHR9XG5cblx0Jl9fcmV2aWV3LWNvdW50IHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWxhYmVsKTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtbGFiZWwpO1xuXHRcdGNvbG9yOiByZ2JhKDI0MCwgMjQyLCAyMzgsIDAuNyk7XG5cblx0fVxuXG5cdC8vIFByaWNlIGJsb2NrIOKAlCBSUlAgc3RyaWtlLCBsYXJnZSBzYWZmcm9uIHByaWNlLCBmaW5hbmNlIGxpbmUuXG5cdCZfX3JycCB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1sYWJlbCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLWg0KTtcblx0XHRjb2xvcjogcmdiYSgyNDAsIDI0MiwgMjM4LCAwLjUpO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXG5cdH1cblxuXHQmX19wcmljZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1sYWJlbCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRmb250LXNpemU6IDMwcHg7IC8vIGNhbmRpZGF0ZSB0b2tlbiAtLWZzLXByaWNlLWxnXG5cdFx0Y29sb3I6IHZhcigtLXNhZmZyb24pO1xuXG5cdH1cblxuXHQmX19maW5hbmNlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWxhYmVsKTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGZvbnQtc2l6ZTogMTJweDsgLy8gY2FuZGlkYXRlIHRva2VuIC0tZnMtbWljcm9cblx0XHRjb2xvcjogcmdiYSgyNDAsIDI0MiwgMjM4LCAwLjcpO1xuXG5cdH1cblxuXHQvLyBTdG9jayBiYWRnZSDigJQgcGlsbDsgbG93LXN0b2NrID0gc2FmZnJvbiBvdXRsaW5lIG9uIGFuY2hvci5cblx0Jl9fc3RvY2sge1xuXG5cdFx0YWxpZ24tc2VsZjogZmxleC1zdGFydDtcblx0XHRwYWRkaW5nOiA2cHggMTRweDtcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1sYWJlbCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLWxhYmVsKTtcblxuXHRcdCYtLWluIHtcblxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2FmZnJvbik7XG5cdFx0XHRjb2xvcjogdmFyKC0tYW5jaG9yKTtcblxuXHRcdH1cblxuXHRcdCYtLWxvdyB7XG5cblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFuY2hvcik7XG5cdFx0XHRjb2xvcjogdmFyKC0tc2FmZnJvbik7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zYWZmcm9uKTtcblxuXHRcdH1cblxuXHRcdCYtLXByZW9yZGVyIHtcblxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeSk7XG5cdFx0XHRjb2xvcjogdmFyKC0tYnJpZ2h0KTtcblxuXHRcdH1cblxuXHR9XG5cblx0Ly8gVmFyaWFudCBsYWJlbCDigJQgYSBoZWFkaW5nLWZvbnQgZXllYnJvdyBhYm92ZSB0aGUgc3dhdGNoZXMuXG5cdCZfX3ZhcmlhbnQtbGFiZWwge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1leWVicm93KTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcblx0XHRjb2xvcjogdmFyKC0tc2FmZnJvbik7XG5cblx0fVxuXG5cdCZfX3N3YXRjaCB7XG5cblx0XHRwYWRkaW5nOiA4cHggMTZweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI0MCwgMjQyLCAyMzgsIDAuMik7XG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Y29sb3I6IHZhcigtLWJyaWdodCk7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLW1ldGEpO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdCYtLWFjdGl2ZSB7XG5cblx0XHRcdHBhZGRpbmc6IDdweCAxNXB4O1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdFx0XHRib3JkZXItY29sb3I6IHZhcigtLXNhZmZyb24pO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQvLyBGdWxsLXdpZHRoIHNlY29uZGFyeSBDVEEgKHdpc2hsaXN0KSDigJQgd2lkdGggKyBpY29uIHNpemluZyBoZXJlOyB0aGVcblx0Ly8gYnV0dG9uLS1naG9zdC1zYWZmcm9uIG1vZGlmaWVyIChtYXJrdXApIGRyYXdzIHRoZSBzYWZmcm9uIG91dGxpbmUgKyB0ZXh0LlxuXHQmX193aXNobGlzdCB7XG5cblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdHN2ZyB7XG5cblx0XHRcdHdpZHRoOiAxOHB4O1xuXHRcdFx0aGVpZ2h0OiAxOHB4O1xuXG5cdFx0fVxuXG5cdH1cblxuXHQvLyBUcnVzdCBzaWduYWxzIOKAlCBkaXZpZGVyIHJ1bGUgYWJvdmUgdGhlIHdyYXBwaW5nIHJvdy5cblx0Jl9fdHJ1c3Qge1xuXG5cdFx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTE1KTtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcnVsZS1vbi1hbmNob3IpO1xuXG5cdH1cblxuXHQmX190cnVzdC1pdGVtIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWxhYmVsKTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGZvbnQtc2l6ZTogMTJweDsgLy8gY2FuZGlkYXRlIHRva2VuIC0tZnMtbWljcm9cblx0XHRjb2xvcjogcmdiYSgyNDAsIDI0MiwgMjM4LCAwLjgpO1xuXG5cdFx0c3ZnIHtcblxuXHRcdFx0Y29sb3I6IHZhcigtLXNhZmZyb24pO1xuXHRcdFx0ZmxleDogMCAwIGF1dG87XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX3BheW1lbnQge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbGFiZWwpO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0Zm9udC1zaXplOiAxMnB4OyAvLyBjYW5kaWRhdGUgdG9rZW4gLS1mcy1taWNyb1xuXHRcdGNvbG9yOiByZ2JhKDI0MCwgMjQyLCAyMzgsIDAuNik7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcblxuXHR9XG5cbn1cblxuLy8gV29vQ29tbWVyY2Ugc2tpbnMgLndvb2NvbW1lcmNlIGEuYnV0dG9uIC8gYnV0dG9uLmJ1dHRvbiBhdCAoMCwyLDEpLCBvdXQtcmFua2luZ1xuLy8gdGhlIGJyYW5kIGJ1dHRvbiBtb2RpZmllcnMgKDAsMSwwKSBldmVuIHRob3VnaCBvdXIgQ1NTIGxvYWRzIGxhdGVyLiBSZS1hc3NlcnQgdGhlXG4vLyBwdXJjaGFzZS1wYW5lbCBidXR0b24gZmlsbHMgYXQgYSB3aW5uaW5nIHNwZWNpZmljaXR5ICh0aGUgLndvb2NvbW1lcmNlIHNjb3BlICtcbi8vIGRvdWJsZWQgY2xhc3MgcmVhY2hlcyAoMCwzLDApKS4gSW5lcnQgdW50aWwgdGhlIFdDIHdpcmluZyBwaGFzZSBhZGRzIHRoZVxuLy8gLndvb2NvbW1lcmNlIHdyYXBwZXI7IGtlcHQgaGVyZSBzbyB0aGUgYnV5IHBhbmVsIHN1cnZpdmVzIHRoYXQgcGFzcy5cbi53b29jb21tZXJjZSB7XG5cblx0LmF0Y19fc3VibWl0LmJ1dHRvbi0tc2FmZnJvbiB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYWZmcm9uKTtcblx0XHRjb2xvcjogdmFyKC0tYW5jaG9yKTtcblxuXHR9XG5cblx0Lndvb2NvbW1lcmNlLXByb2R1Y3RfX3dpc2hsaXN0LmJ1dHRvbi0tZ2hvc3Qtc2FmZnJvbiB7XG5cblx0XHRjb2xvcjogdmFyKC0tc2FmZnJvbik7XG5cdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1zYWZmcm9uKTtcblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgUHJvY2VzcyBncmlkIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBDZW50cmVkIFwiaG93IGl0IHdvcmtzXCIgd3JhcHBlci4gVGhlIHN0cnVjdHVyYWwgbWF4LXdpZHRoIGNvbHVtbiArIHN0ZXBzIHJvd1xuLy8gc2NhZmZvbGQgbGl2ZSBpbiB0aGUgZ2xvYmFsIHNpbG8uIEV4aXN0aW5nIGJhc2UgKHRoZSB3aWRlIF9faGVhZGVyIC8gX19ncmlkXG4vLyBjYXJkIGxheW91dCB1c2VkIGJ5IG90aGVyIHRlbXBsYXRlcykgaXMga2VwdCBpbnRhY3QgYW5kIG1pZ3JhdGVkIHRvIHRva2Vucy5cbi8vXG4vLyAtLW5hcnJvdzogbW9ja3VwICMxMjIyMiBzYWxlLW9yLXJldHVybiB0cmVhdG1lbnQg4oCUIGEgdGlnaHRlciA5ODBweCBjb2x1bW4sXG4vLyB0b2tlbiBnYXBzIG9uIHRoZSBzdGVwcyByb3cgYW5kIGJyZWF0aGluZyByb29tIGFib3ZlIHRoZSBDVEEuIENhcnJpZWQgYnkgYVxuLy8gbW9kaWZpZXIgc28gdGhlIGV4aXN0aW5nIHdpZGUgYmFzZSBpcyBsZWZ0IHVudG91Y2hlZC5cblxuLnByb2Nlc3MtZ3JpZCB7XG5cblx0bWF4LXdpZHRoOiB2YXIoLS1zaXRlLW1heC13aWR0aCwgMTQ0MHB4KTtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS00NSwgNDVweCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTQ1LCA0NXB4KTtcblxuXHRAaW5jbHVkZSBtZWRpYS1xdWVyeSgnNzY4Jykge1xuXG5cdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS0yMCk7XG5cdFx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtMjApO1xuXG5cdH1cblxuXHQmX19oZWFkZXIge1xuXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTYwKTtcblxuXHRcdC5leWVicm93IHtcblxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yMCk7XG5cdFx0XHRjb2xvcjogdmFyKC0tZ3JlZW4pO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQvLyBHcmlkIHdyYXBwZXIg4oCUIGdhcCBvbmx5OyBjb2x1bW5zIGNvbWUgZnJvbSB0aGUgLmdyaWQuZ3JpZC0tMyB1dGlsaXR5LlxuXHQmX19ncmlkIHtcblxuXHRcdGdhcDogdmFyKC0tc3BhY2UtMzApO1xuXG5cdH1cblxuXHQvLyDilIDilIAgLS1uYXJyb3cg4oCUIG1vY2t1cCAjMTIyMjIgc2FsZS1vci1yZXR1cm4gKHRpZ2h0IDk4MHB4IGNvbHVtbikg4pSA4pSA4pSA4pSA4pSAXG5cdCYtLW5hcnJvdyB7XG5cblx0XHRtYXgtd2lkdGg6IDk4MHB4O1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXG5cdFx0LnByb2Nlc3MtZ3JpZF9fc3RlcHMge1xuXG5cdFx0XHRnYXA6IHZhcigtLXNwYWNlLTMwKTtcblx0XHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQwKTtcblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgUHJvY2VzcyBzdGVwIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBPbmUgbnVtYmVyZWQgc3RlcC4gVGhlIGxlZnQtYWxpZ25lZCBmbG93IGxpdmVzIGluIHRoZSBnbG9iYWwgc2lsby4gVGhlIGJhc2Vcbi8vIGlzIHRoZSBkYXJrIG51bWJlcmVkIGNhcmQgKHVzZWQgYnkgb3RoZXIgXCJob3cgaXQgd29ya3NcIiBzZWN0aW9ucyk7IG1pZ3JhdGVkXG4vLyB0byB2YXIoLS10b2tlbiksIHZhbHVlcyB1bmNoYW5nZWQuXG4vL1xuLy8gLS1wbGFpbjogbW9ja3VwICMxMjIyMiBzYWxlLW9yLXJldHVybiB0cmVhdG1lbnQg4oCUIG5vIGNhcmQgc3VyZmFjZSwgYSBzYWZmcm9uXG4vLyBcIlN0ZXAgTlwiIGV5ZWJyb3cgb24gYSBoYWlybGluZSBib3R0b20gcnVsZSwgYSB0aXRsZSBhbmQgYSBib2R5IGxpbmUuIEFjY2VudFxuLy8gY29sb3VyIChzYWZmcm9uKSBjb21lcyBmcm9tIHRoZSAuZXllYnJvdy0tc2FmZnJvbiBwcmltaXRpdmUgaW4gdGhlIG1hcmt1cDtcbi8vIGJ5IGEgbW9kaWZpZXIgc28gdGhlIGV4aXN0aW5nIGRhcmstY2FyZCBiYXNlIGlzIGxlZnQgaW50YWN0LlxuXG4ucHJvY2Vzcy1zdGVwIHtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hbmNob3IpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2FyZCk7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNlLTQ1LCA0NXB4KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblxuXHQmOmhvdmVyIHtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFuY2hvci1lbGV2YXRlZCk7XG5cblx0fVxuXG5cdCZfX251bWJlciB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1sYWJlbCk7XG5cdFx0Zm9udC1zaXplOiA0OHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0Y29sb3I6IHJnYmEoMzgsIDk2LCA1NiwgMC4zKTtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00NSwgNDVweCk7XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuXG5cdFx0LnByb2Nlc3Mtc3RlcDpob3ZlciAmIHtcblxuXHRcdFx0Y29sb3I6IHZhcigtLWdyZWVuKTtcblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fYm9keSB7XG5cblx0XHRmb250LXNpemU6IHZhcigtLWZzLWJvZHkpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU1O1xuXHRcdGNvbG9yOiB2YXIoLS1ncmV5LCAjOWFhNDlhKTtcblx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yMCk7XG5cblx0fVxuXG5cdCZfX25vdGUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbGFiZWwpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtbWV0YSk7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuXHRcdGNvbG9yOiB2YXIoLS1ncmVlbi1saWdodCwgIzIxN2U1Mik7XG5cblx0fVxuXG5cdC8vIFJlY29tbWVuZGVkIGJhZGdlIOKAlCBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgdG9wLXJpZ2h0IGNvcm5lci5cblx0Jl9fcmVjb21tZW5kZWQge1xuXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTEwcHg7XG5cdFx0cmlnaHQ6IHZhcigtLXNwYWNlLTIwKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYWZmcm9uKTtcblx0XHRjb2xvcjogdmFyKC0tYW5jaG9yKTtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLW1ldGEpO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuXHRcdHBhZGRpbmc6IDRweCB2YXIoLS1zcGFjZS0xNSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWludGVyYWN0aXZlKTtcblxuXHR9XG5cblx0Ly8g4pSA4pSAIC0tcGxhaW4g4oCUIG1vY2t1cCAjMTIyMjIgc2FsZS1vci1yZXR1cm4gKG5vIGNhcmQsIHJ1bGVkIGV5ZWJyb3cpIOKUgFxuXHQmLS1wbGFpbiB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cblx0XHQmOmhvdmVyIHtcblxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cblx0XHR9XG5cblx0XHQvLyBTdGVwIGxhYmVsIHdpdGggYSBoYWlybGluZSBib3R0b20gcnVsZS4gU3R5bGVkIGRpcmVjdGx5IChpdCBpcyBub3QgdGhlXG5cdFx0Ly8gLmV5ZWJyb3cgcHJpbWl0aXZlIOKAlCBpdCBjYXJyaWVzIGEgcnVsZSB0aGUgcHJpbWl0aXZlIGRvZXNuJ3QpLiBTYWZmcm9uXG5cdFx0Ly8gYWNjZW50IGNvbWVzIGZyb20gdGhlIC5leWVicm93LS1zYWZmcm9uIHByaW1pdGl2ZSBpbiB0aGUgbWFya3VwOyB0aGVcblx0XHQvLyBoYWlybGluZSB1c2VzIHZhcigtLXJ1bGUtb24tYW5jaG9yKSBhcyBwcm9jZXNzLXN0ZXAtLXBsYWluIGlzIGFsd2F5c1xuXHRcdC8vIHVzZWQgb24gYW5jaG9yIHNlY3Rpb25zLlxuXHRcdC5wcm9jZXNzLXN0ZXBfX2V5ZWJyb3cge1xuXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTE1KTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0xNSk7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcnVsZS1vbi1hbmNob3IpO1xuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdFx0XHRmb250LXNpemU6IHZhcigtLWZzLWV5ZWJyb3cpO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuXG5cdFx0fVxuXG5cdFx0Ly8gU3R5bGVkIGRpcmVjdGx5OyBjb2xvdXIgaW5oZXJpdHMgZnJvbSB0aGUgYW5jaG9yIHNlY3Rpb24gKGJyaWdodCB0ZXh0KS5cblx0XHQucHJvY2Vzcy1zdGVwX190aXRsZSB7XG5cblx0XHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1oMyk7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMztcblxuXHRcdH1cblxuXHRcdC5wcm9jZXNzLXN0ZXBfX2JvZHkge1xuXG5cdFx0XHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0xNSk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1ib2R5KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjY1O1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCJAdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxuLy8g4pSA4pSAIFNpbmdsZS1jYXJkIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEgKG1vY2t1cCAjMTIyMjIgSG90dGVzdCBTaW5nbGVzKSDilIBcbi8vXG4vLyBUaGUgdmVydGljYWwgc3RhY2sgKyBpbWFnZSBmaWxsIGxpdmUgaW4gdGhlIGdsb2JhbCBzaWxvLiBUaGlzIGxheWVyIG93bnNcbi8vIHRoZSBjYXJkIHN1cmZhY2UsIHJhZGl1cywgc2hhZG93ICsgaG92ZXIgbGlmdCwgdGhlIGltYWdlIHJhdGlvLCB0eXBlIGFuZFxuLy8gdGhlIGdyb3VuZC1yZWxhdGl2ZSBhY2NlbnQuIFRoZSBzZWN0aW9uIHNpdHMgb24gdGhlIHByaW1hcnkgKGdyZWVuKSBncm91bmQ7XG4vLyB0aGUgY2FyZCBmbGlwcyB0byBhIGJyaWdodCBzdXJmYWNlIHdpdGggYW5jaG9yIHRleHQsIHByaW1hcnktZ3JlZW4gdGl0bGUgL1xuLy8gbWV0YSAvIHByaWNlIGFuZCBhIGhhaXJsaW5lIHVuZGVyIHRoZSBtZXRhIHJvdy5cblxuLnNpbmdsZS1jYXJkIHtcblxuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2FyZCk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJyaWdodCk7XG5cdGNvbG9yOiB2YXIoLS1hbmNob3IpO1xuXHRib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdyk7XG5cdHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuXG5cdEBpbmNsdWRlIGhvdmVyKCkge1xuXG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tY2FyZC1zaGFkb3ctaG92ZXIpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcblxuXHR9XG5cblx0Jl9faW1hZ2Uge1xuXG5cdFx0YXNwZWN0LXJhdGlvOiA0IC8gNTtcblxuXHR9XG5cblx0Jl9fYm9keSB7XG5cblx0XHRnYXA6IHZhcigtLXNwYWNlLTE1KTtcblx0XHRwYWRkaW5nOiB2YXIoLS1zcGFjZS0yMCk7XG5cblx0fVxuXG5cdCZfX3RpdGxlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtaDMpO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHRjb2xvcjogdmFyKC0tYW5jaG9yKTtcblxuXHR9XG5cblx0Ly8gTW9ubyBtZXRhIHJvdywgcHJpbWFyeS1ncmVlbiBvbiB0aGUgYnJpZ2h0IHN1cmZhY2UsIGhhaXJsaW5lIGJlbmVhdGguXG5cdCZfX21ldGEge1xuXG5cdFx0Z2FwOiB2YXIoLS1zcGFjZS0xNSk7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTE1KTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1sYWJlbCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLWxhYmVsKTtcblx0XHRjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJ1bGUtb24tYnJpZ2h0KTtcblxuXHR9XG5cblx0Ly8gUG9zaXRpb25pbmcgKyBzaXplIG9ubHkg4oCUIG1vbm8gZmFjZSBmcm9tIHRoZSAucHJpY2UgcHJpbWl0aXZlOyBncmVlbiBoZXJlLlxuXHQmX19wcmljZSB7XG5cblx0XHRmb250LXNpemU6IHZhcigtLWZzLWxhYmVsLWNhcmQpO1xuXG5cdH1cblxuXHQmX19ub3RlIHtcblxuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtYm9keSk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNjU7XG5cblx0fVxuXG59XG4iLCJAdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxuLy8g4pSA4pSAIFRlcnJhaW4tdGlsZSDigJQgTmVyZHdvcmtzIGJyYW5kIGRlbHRhIChtb2NrdXAgIzEyMjIyIHRhYmxlIGJvb2tpbmcpIOKUgOKUgFxuLy9cbi8vIFRoZSB2ZXJ0aWNhbCBzdGFjayArIGltYWdlIGZpbGwgbGl2ZSBpbiB0aGUgZ2xvYmFsIHNpbG8uIFRoaXMgbGF5ZXIgb3ducyB0aGVcbi8vIHN0YWNrIGdhcCwgdGhlIG1lZGlhIHJhZGl1cy9zaGFkb3cgKyBob3ZlciBsaWZ0LCB0aGUgaW1hZ2UgcmF0aW8gYW5kIHRoZVxuLy8gY2FwdGlvbiB0eXBlLiBUaGUgc2VjdGlvbiBzaXRzIG9uIHRoZSBicmlnaHQgZ3JvdW5kOyB0aGUgbmFtZSBpbmhlcml0cyBpdHNcbi8vIGFuY2hvciB0ZXh0IGNvbG91ci5cblxuLnRlcnJhaW4tdGlsZSB7XG5cblx0Z2FwOiB2YXIoLS1zcGFjZS0xNSk7XG5cblx0Jl9fbWVkaWEge1xuXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2FyZCk7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tY2FyZC1zaGFkb3cpO1xuXHRcdHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuXG5cdH1cblxuXHRAaW5jbHVkZSBob3ZlcigpIHtcblxuXHRcdC50ZXJyYWluLXRpbGVfX21lZGlhIHtcblxuXHRcdFx0Ym94LXNoYWRvdzogdmFyKC0tY2FyZC1zaGFkb3ctaG92ZXIpO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19pbWFnZSB7XG5cblx0XHRhc3BlY3QtcmF0aW86IDQgLyA1O1xuXG5cdH1cblxuXHQmX19uYW1lIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtaDQpO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjU7XG5cblx0fVxuXG59XG4iLCJAdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxuLy8g4pSA4pSAIEZlYXR1cmUtZXZlbnQg4oCUIE5lcmR3b3JrcyBicmFuZCBkZWx0YSAobW9ja3VwICMxMjIyMiBGZWF0dXJlZCBFdmVudCkg4pSAXG4vL1xuLy8gVGhlIHJlbGF0aXZlIGNhcmQgKyBhYnNvbHV0ZSBpbWFnZS9zY3JpbSBsYXllcmluZyBsaXZlIGluIHRoZSBnbG9iYWwgc2lsby5cbi8vIFRoaXMgbGF5ZXIgb3ducyB0aGUgcmFkaXVzLCBtaW4taGVpZ2h0LCB0aGUgc2NyaW0gZ3JhZGllbnQsIHRoZSBjb250ZW50XG4vLyBwYWRkaW5nICsgd2lkdGgsIGFuZCB0aGUgdHlwZS4gVGhlIHNlY3Rpb24gc2l0cyBvbiB0aGUgYW5jaG9yIGdyb3VuZDsgdGhlXG4vLyBvdmVybGFpZCBjb250ZW50IHJlYWRzIG9uIHRoZSBzY3JpbSDigJQgdGl0bGUgKyBib2R5IGluIGJyaWdodCwgdGhlIGV5ZWJyb3cgK1xuLy8gZGF0ZSBpbiBzYWZmcm9uLiBUaGUgZXllYnJvdyB0YWtlcyBpdHMgdHlwZS9jb2xvdXIgZnJvbSB0aGUgLmV5ZWJyb3dcbi8vIHByaW1pdGl2ZSAoLS1zYWZmcm9uIG9uIGFuY2hvcik7IF9fZXllYnJvdyBpcyBwb3NpdGlvbmluZyBvbmx5LlxuXG4uZmVhdHVyZS1ldmVudCB7XG5cblx0bWluLWhlaWdodDogNDYwcHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1jYXJkKTtcblxuXHQvLyBCb3R0b20tdXAgc2NyaW0gZm9yIGNvbnRlbnQgbGVnaWJpbGl0eSDigJQgYW5jaG9yICgzMSwzNSwzMSkgYXQgc3RlcHBlZCBhbHBoYS5cblx0Jl9fc2NyaW0ge1xuXG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgzMSwgMzUsIDMxLCAwLjkyKSAwJSwgcmdiYSgzMSwgMzUsIDMxLCAwLjU1KSA0NSUsIHJnYmEoMzEsIDM1LCAzMSwgMC4xKSAxMDAlKTtcblxuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cblx0XHRtYXgtd2lkdGg6IDY0MHB4O1xuXHRcdHBhZGRpbmc6IHZhcigtLXNwYWNlLTQwKTtcblxuXHR9XG5cblx0Ly8gUG9zaXRpb25pbmcgb25seSDigJQgdHlwZSBmcm9tIHRoZSAuZXllYnJvdyBwcmltaXRpdmUgKC0tc2FmZnJvbiBvbiBhbmNob3IpLlxuXHQmX19leWVicm93IHtcblxuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTE1KTtcblxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1oMik7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsaW5lLWhlaWdodDogMS4xNTtcblx0XHRsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcblx0XHRjb2xvcjogdmFyKC0tYnJpZ2h0KTtcblxuXHR9XG5cblx0Ly8gTW9ubyBkYXRlIHN0cmlwIGluIHNhZmZyb24sIGJlbmVhdGggdGhlIHRpdGxlLlxuXHQmX19kYXRlIHtcblxuXHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTE1KTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1sYWJlbCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLWxhYmVsLWNhcmQpO1xuXHRcdGNvbG9yOiB2YXIoLS1zYWZmcm9uKTtcblxuXHR9XG5cblx0Jl9fYm9keSB7XG5cblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yMCk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1ib2R5KTtcblx0XHRsaW5lLWhlaWdodDogMS42NTtcblx0XHRjb2xvcjogdmFyKC0tYnJpZ2h0KTtcblxuXHR9XG5cblx0Jl9fY3RhIHtcblxuXHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTMwKTtcblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgUHJvZHVjdC1tZXRhLXN0cmlwIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEgKG1vY2t1cCAjMTIyMjQpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy9cbi8vIEZ1bGwtYmxlZWQgYW5jaG9yIGJhbmQgYmVsb3cgdGhlIHByb2R1Y3QgaGVyby4gT3ducyBpdHMgb3duIGJhY2tncm91bmQgYW5kXG4vLyBmb3JlZ3JvdW5kIGJlY2F1c2UgaXQgaXMgTk9UIGEgLnNlY3Rpb24g4oCUIGl0IHVzZXMgMjBweCBibG9jayBwYWRkaW5nLCBub3Rcbi8vIHRoZSA2MHB4IHNlY3Rpb24gcmh5dGhtLiBTdHJ1Y3R1cmFsIGZsb3cgYW5kIHJlc3BvbnNpdmUgd3JhcHBpbmcgbGl2ZSBpbiB0aGVcbi8vIGdsb2JhbCBzaWxvLlxuLy9cbi8vIEdyb3VuZDogYW5jaG9yICgjMWYyMzFmKSB3aXRoIGJyaWdodCB0ZXh0LiBTbG90IGxhYmVscyBpbiBzYWZmcm9uIG1vbm8sXG4vLyB2YWx1ZXMgaW4gYnJpZ2h0IG1vbm8uIExlZnQgaGFpcmxpbmVzIChhbmQgbW9iaWxlIHRvcCBoYWlybGluZXMpIHVzZVxuLy8gcnVsZS1vbi1hbmNob3IuXG5cbi5wcm9kdWN0LW1ldGEtc3RyaXAge1xuXG5cdGJhY2tncm91bmQ6IHZhcigtLWFuY2hvcik7XG5cdGNvbG9yOiB2YXIoLS1icmlnaHQpO1xuXG5cdCZfX3Nsb3Qge1xuXG5cdFx0Ym9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXJ1bGUtb24tYW5jaG9yKTtcblxuXHR9XG5cblx0Jl9fbGFiZWwge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbGFiZWwpO1xuXHRcdGZvbnQtc2l6ZTogMTFweDsgLy8gY2FuZGlkYXRlIHRva2VuIOKAlCBiZXR3ZWVuIC0tZnMtbWV0YSAoMTNweCkgYW5kIG5vdGhpbmcgc21hbGxlclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcblx0XHRjb2xvcjogdmFyKC0tc2FmZnJvbik7XG5cblx0fVxuXG5cdCZfX3ZhbHVlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWxhYmVsKTtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLWxhYmVsKTtcblx0XHRjb2xvcjogdmFyKC0tYnJpZ2h0KTtcblxuXHR9XG5cblx0Ly8gT24gbW9iaWxlIHRoZSBib3JkZXIgZmxpcHMgZnJvbSBsZWZ0IHRvIHRvcC5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cblx0XHQmX19zbG90IHtcblxuXHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogdmFyKC0tcnVsZS1vbi1hbmNob3IpO1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiQHVzZSAnLi4vc2V0dGluZ3MnIGFzICo7XG5cbi8vIOKUgOKUgCBQcm9kdWN0LWRlc2NyaXB0aW9uIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEgKG1vY2t1cCAjMTIyMjQpIOKUgOKUgOKUgOKUgOKUgOKUgFxuLy9cbi8vIDItY29sdW1uIGVkaXRvcmlhbCBibG9jayBvbiBhIGJyaWdodCBiYW5kLiBUaGUgLnNlY3Rpb24tLWJyaWdodCBvd25zIHRoZSBiYW5kO1xuLy8gdGhpcyBmaWxlIG93bnMgdHlwZSwgdGhlIGNhcmQgU1VSRkFDRVMsIGFuZCB0aGUgc3BlYy10YWJsZSB0cmVhdG1lbnQuXG4vL1xuLy8gQUNDRU5ULUNPTE9VUiBMQVcgKGJ1aWxkLXByb21wdHMvc2VjdGlvbi13YWxrLW1ldGhvZG9sb2d5Lm1kKTogY2FyZCBtb2RpZmllcnNcbi8vIHNldCBTVVJGQUNFIG9ubHkgKC0tZGFyayAvIC0tZ3JlZW4pOyB0aGUgZXllYnJvdyBhY2NlbnQgY29sb3VyIGNvbWVzIGZyb20gdGhlXG4vLyAuZXllYnJvdyBwcmltaXRpdmUgaW4gdGhlIG1hcmt1cCwgY2hvc2VuIHBlciBwbGFjZW1lbnQuIFRoZSBjaGVjay1pY29uIGFuZFxuLy8gc3RhZmYtYnlsaW5lIGFyZSBmaXhlZCBzYWZmcm9uIG1hcmtzIChpbnRyaW5zaWMgdG8gdGhlIGVsZW1lbnQsIG5vdFxuLy8gZ3JvdW5kLWRlY2lkZWQpIGFuZCBsaXZlIG9uIHRoZSBiYXNlLiBUaGUgZ3JvdW5kIG5ldmVyIGRlY2lkZXMgYW4gYWNjZW50XG4vLyBjb2xvdXIsIGFuZCB0aGVyZSBpcyBuZXZlciBhIHNlY3Rpb24gY2FzY2FkZS5cblxuLnByb2R1Y3QtZGVzY3JpcHRpb24ge1xuXG5cdCZfX2V5ZWJyb3cge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1leWVicm93KTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcblxuXHR9XG5cblx0Jl9fYm9keSB7XG5cblx0XHRmb250LXNpemU6IHZhcigtLWZzLWJvZHkpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjY1O1xuXHRcdGNvbG9yOiB2YXIoLS1hbmNob3IpO1xuXHRcdG1hcmdpbjogMDtcblxuXHR9XG5cblx0Jl9fcHVsbHF1b3RlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdGZvbnQtc2l6ZTogMjJweDsgLy8gY2FuZGlkYXRlIHRva2VuIOKAlCBiZXR3ZWVuIC0tZnMtaDMgKDIxcHgpIGFuZCAtLWZzLWxlYWQgKDE5cHgpXG5cdFx0Y29sb3I6IHZhcigtLWFuY2hvcik7XG5cdFx0Ym9yZGVyLWxlZnQtY29sb3I6IHZhcigtLXByaW1hcnkpO1xuXG5cdH1cblxuXHQmX19jYXJkLWV5ZWJyb3cge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1leWVicm93KTtcblxuXHR9XG5cblx0Ly8gRml4ZWQgc2FmZnJvbiBtYXJrcyDigJQgaW50cmluc2ljIHRvIHRoZSBlbGVtZW50LCB0aGUgc2FtZSBvbiBlaXRoZXIgY2FyZFxuXHQvLyBzdXJmYWNlLCBzbyBub3QgYSBncm91bmQtcmVsYXRpdmUgYWNjZW50LlxuXHQmX19jaGVjayB7XG5cblx0XHRjb2xvcjogdmFyKC0tc2FmZnJvbik7XG5cblx0fVxuXG5cdCZfX3N0YWZmLWJ5bGluZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1sYWJlbCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLW1ldGEpO1xuXHRcdGNvbG9yOiB2YXIoLS1zYWZmcm9uKTtcblxuXHR9XG5cblx0Ly8g4pSA4pSAIENhcmQgc3VyZmFjZSBtb2RpZmllcnMgKHN1cmZhY2Ugb25seSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cblx0Jl9fY2FyZC0tZGFyayB7XG5cblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1hbmNob3IpO1xuXHRcdGNvbG9yOiB2YXIoLS1icmlnaHQpO1xuXG5cdFx0LnByb2R1Y3QtZGVzY3JpcHRpb25fX3NwZWMtcm93IHtcblxuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tcnVsZS1vbi1hbmNob3IpO1xuXG5cdFx0fVxuXG5cdFx0LnByb2R1Y3QtZGVzY3JpcHRpb25fX3NwZWMta2V5IHtcblxuXHRcdFx0Y29sb3I6IHJnYmEoMjQwLCAyNDIsIDIzOCwgMC42KTsgLy8gbXV0ZWQgYnJpZ2h0IG9uIGFuY2hvclxuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbGFiZWwpO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtbGFiZWwpO1xuXG5cdFx0fVxuXG5cdFx0LnByb2R1Y3QtZGVzY3JpcHRpb25fX3NwZWMtdmFsdWUge1xuXG5cdFx0XHRjb2xvcjogdmFyKC0tYnJpZ2h0KTtcblx0XHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWxhYmVsKTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRmb250LXNpemU6IHZhcigtLWZzLWxhYmVsKTtcblxuXHRcdH1cblxuXHRcdC5wcm9kdWN0LWRlc2NyaXB0aW9uX19ib3gtaXRlbSB7XG5cblx0XHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWxhYmVsKTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRmb250LXNpemU6IHZhcigtLWZzLWxhYmVsKTtcblx0XHRcdGNvbG9yOiB2YXIoLS1icmlnaHQpO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19jYXJkLS1ncmVlbiB7XG5cblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5KTtcblx0XHRjb2xvcjogdmFyKC0tYnJpZ2h0KTtcblxuXHRcdC5wcm9kdWN0LWRlc2NyaXB0aW9uX19zdGFmZi1xdW90ZSB7XG5cblx0XHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1oNCk7XG5cdFx0XHRjb2xvcjogdmFyKC0tYnJpZ2h0KTtcblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgU3BlYy1wYW5lbCDigJQgTmVyZHdvcmtzIGJyYW5kIGRlbHRhIChtb2NrdXAgIzEyMjI0KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vXG4vLyBcIlNldCBmYWN0c1wiIDItY29sdW1uIGJsb2NrLiBUaGUgLnNlY3Rpb24gd3JhcHBpbmcgaXQgb3ducyB0aGUgYmFuZC4gVGhpcyBmaWxlXG4vLyBvd25zIHR5cGUgKyB0aGUgc3VyZmFjZSBtb2RpZmllciAoYmFzZSB0ZXh0ICsgcm93LWRpdmlkZXIgaGFpcmxpbmUpLlxuLy9cbi8vIEFDQ0VOVC1DT0xPVVIgTEFXIChidWlsZC1wcm9tcHRzL3NlY3Rpb24td2Fsay1tZXRob2RvbG9neS5tZCk6IHRoZSBibG9ja1xuLy8gbW9kaWZpZXIgc2V0cyBTVVJGQUNFIG9ubHk7IHRoZSBleWVicm93ICsga2V5IGFjY2VudCBjb2xvdXIgY29tZSBmcm9tXG4vLyBwcmltaXRpdmVzICguZXllYnJvdy0tc2FmZnJvbiwgLmxhYmVsLS1zYWZmcm9uKSBpbiB0aGUgbWFya3VwLCBjaG9zZW4gZm9yIHRoZVxuLy8gc3VyZmFjZS4gVGhlIGdyb3VuZCBuZXZlciBkZWNpZGVzIGFuIGFjY2VudCBjb2xvdXIuXG5cbi5zcGVjLXBhbmVsIHtcblxuXHQmX19oZWFkaW5nIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtaDIpO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cblx0fVxuXG5cdCZfX2V5ZWJyb3cge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1leWVicm93KTtcblxuXHR9XG5cblx0Jl9fbGVhZCB7XG5cblx0XHRmb250LXNpemU6IHZhcigtLWZzLWxlYWQpO1xuXG5cdH1cblxuXHQmX19rZXkge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1leWVicm93KTtcblxuXHR9XG5cblx0Jl9fdmFsdWUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbGFiZWwpO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1sYWJlbCk7XG5cblx0fVxuXG5cdC8vIFN1cmZhY2Ugb25seSDigJQgZGFyayBwYW5lbCAoYnJpZ2h0IHRleHQsIGFuY2hvci1ncm91bmQgaGFpcmxpbmUgcm93cykuXG5cdCYtLWRhcmsge1xuXG5cdFx0Y29sb3I6IHZhcigtLWJyaWdodCk7XG5cblx0XHQuc3BlYy1wYW5lbF9fcm93IHtcblxuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tcnVsZS1vbi1hbmNob3IpO1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiQHVzZSAnLi4vc2V0dGluZ3MnIGFzICo7XG5cbi8vIOKUgOKUgCBjaGFzZS1jYXJkIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEgKG1vY2t1cCAjMTIyMjQpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy9cbi8vIFN0cnVjdHVyYWwgc3RhY2ssIG1lZGlhIGNsaXAsIGJhZGdlIHBvc2l0aW9uLCBtZXRhLXJvdyBwaW4gYW5kIGhvdmVyIGxpZnRcbi8vIGxpdmUgaW4gdGhlIGdsb2JhbCBzaWxvLiBUaGlzIGxheWVyIG93bnMgc3VyZmFjZSwgdHlwZSwgdGhlIChmaXhlZCkgcmFyaXR5XG4vLyBwaWxsLCBhbmQgdGhlIGRpdmlkZXIgcGVyIHN1cmZhY2UuXG4vL1xuLy8gQUNDRU5ULUNPTE9VUiBMQVcgKGJ1aWxkLXByb21wdHMvc2VjdGlvbi13YWxrLW1ldGhvZG9sb2d5Lm1kKTogdGhlIGJsb2NrXG4vLyBtb2RpZmllciBzZXRzIFNVUkZBQ0Ugb25seTsgdGhlIHByaWNlIGFjY2VudCBjb2xvdXIgY29tZXMgZnJvbSB0aGUgLnByaWNlXG4vLyBwcmltaXRpdmUgaW4gdGhlIG1hcmt1cCwgY2hvc2VuIGZvciB0aGUgc3VyZmFjZS4gVGhlIHJhcml0eSBwaWxsIGlzIGEgZml4ZWRcbi8vIHNhZmZyb24gY2hpcCAoaW50cmluc2ljIHRvIHRoZSBlbGVtZW50LCBub3QgYSBncm91bmQtcmVsYXRpdmUgYWNjZW50KSwgc28gaXRcbi8vIGxpdmVzIG9uIHRoZSBiYXNlLiBUaGUgZ3JvdW5kIG5ldmVyIGRlY2lkZXMgYW4gYWNjZW50IGNvbG91ci5cblxuLmNoYXNlLWNhcmQge1xuXG5cdCZfX3Jhcml0eSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1sYWJlbCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLW1ldGEpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNhZmZyb24pO1xuXHRcdGNvbG9yOiB2YXIoLS1hbmNob3IpO1xuXG5cdH1cblxuXHQmX19uYW1lIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtaDQpO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cblx0fVxuXG5cdCZfX3B1bGwge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbGFiZWwpO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1tZXRhKTtcblxuXHR9XG5cblx0Jl9fcHJpY2Uge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbGFiZWwpO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1sYWJlbC1jYXJkKTtcblxuXHR9XG5cblx0Ly8gU3VyZmFjZSBvbmx5IOKAlCBsaWdodCBjYXJkIChicmlnaHQgc3VyZmFjZSwgYW5jaG9yIHRleHQpIG9uIHRoZSBwcmltYXJ5IGJhbmQuXG5cdC8vIE11dGVkIHB1bGwgdGV4dCArIHRoZSByb3cgZGl2aWRlciBhcmUgc3VyZmFjZSBjb25jZXJucywgbm90IGFjY2VudHMuXG5cdCYtLWxpZ2h0IHtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyaWdodCk7XG5cdFx0Y29sb3I6IHZhcigtLWFuY2hvcik7XG5cblx0XHQuY2hhc2UtY2FyZF9fcHVsbCB7XG5cblx0XHRcdGNvbG9yOiByZ2JhKDMxLCAzNSwgMzEsIDAuNik7XG5cblx0XHR9XG5cblx0XHQuY2hhc2UtY2FyZF9fbWV0YSB7XG5cblx0XHRcdGJvcmRlci10b3AtY29sb3I6IHZhcigtLXJ1bGUtb24tYnJpZ2h0KTtcblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgbG9yZS1iYW5kIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEgKG1vY2t1cCAjMTIyMjQpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy9cbi8vIFN0cnVjdHVyZSAocmVsYXRpdmUgcm9vdCwgYWJzb2x1dGUgaW1hZ2UsIGFic29sdXRlIHNjcmltLCBjb250ZW50XG4vLyBwb3NpdGlvbmluZykgbGl2ZXMgaW4gdGhlIGdsb2JhbCBzaWxvLiBUaGlzIGxheWVyIG93bnMgdGhlIHNjcmltXG4vLyBncmFkaWVudCwgY29udGVudCB3aWR0aCBjYXAsIHR5cGUsIGFuZCB0aGUgbW9iaWxlIHNjcmltIGZsaXAuXG4vL1xuLy8gVGhlIGJhbmQgc2l0cyBvbiBpdHMgb3duIGltYWdlIGdyb3VuZCDigJQgbm8gc2VjdGlvbiB3cmFwcGVyLiBBbmNob3Jcbi8vIGZsYXZvdXI6IGRhcmsgc2NyaW0gb3ZlciBpbWFnZSwgYnJpZ2h0IGhlYWRpbmcsIGp1c3RpZmllZCBicmlnaHQgYm9keSxcbi8vIHNhZmZyb24gZXllYnJvdy4gVGhlIGV5ZWJyb3cgaXMgc3R5bGVkIGRpcmVjdGx5IHZpYSB2YXIoLS1zYWZmcm9uKSBhc1xuLy8gdGhlIGNvbG91ciBpcyBhbHdheXMgc2FmZnJvbiBvbiB0aGlzIGRhcmsgc2NyaW0gZ3JvdW5kLlxuLy9cbi8vIFNjcmltIGxpdGVyYWxzOiByZ2JhKDI1LDI4LDI1LOKApikgaXMgdGhlIG5lYXItYmxhY2sgYmFuZC1zY3JpbSB2YWx1ZSDigJRcbi8vIGNhbmRpZGF0ZSAtLXNjcmltLWFuY2hvciB0b2tlbiAoZGFya2VyIHRoYW4gLS1hbmNob3IgcmdiYSgzMSwzNSwzMSkpLlxuXG4ubG9yZS1iYW5kIHtcblxuXHQvLyBMZWZ0LXRvLXJpZ2h0IHNjcmltIG9uIGRlc2t0b3A6IGRlZXAgb24gdGhlIGxlZnQgd2hlcmUgY29udGVudCBzaXRzLFxuXHQvLyBmYWRlcyBvdXQgdG93YXJkIHRoZSByaWdodCB0byByZXZlYWwgdGhlIGltYWdlLlxuXHQmX19zY3JpbSB7XG5cblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjUsIDI4LCAyNSwgMC45MikgMCUsIHJnYmEoMjUsIDI4LCAyNSwgMC43KSA0MCUsIHJnYmEoMjUsIDI4LCAyNSwgMC4zKSAxMDAlKTtcblxuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cblx0XHRtYXgtd2lkdGg6IDcyMHB4O1xuXG5cdH1cblxuXHQmX19leWVicm93IHtcblxuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTE1KTtcblx0XHQvLyBleWVicm93IHByaW1pdGl2ZSBzdXBwbGllcyBmb250L3NpemUvd2VpZ2h0L3RyYW5zZm9ybS90cmFja2luZy5cblx0XHQvLyBDb2xvdXIgaXMgYWx3YXlzIHNhZmZyb24gb24gdGhpcyBkYXJrIHNjcmltIGdyb3VuZCDigJQgc2V0IGRpcmVjdGx5LlxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtZXllYnJvdyk7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG5cdFx0Y29sb3I6IHZhcigtLXNhZmZyb24pO1xuXG5cdH1cblxuXHQmX190aXRsZSB7XG5cblx0XHRtYXJnaW46IDA7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1oMik7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsaW5lLWhlaWdodDogMS4xNTtcblx0XHRsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcblx0XHRjb2xvcjogdmFyKC0tYnJpZ2h0KTtcblxuXHR9XG5cblx0Jl9fYm9keSB7XG5cblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yMCk7XG5cdFx0Zm9udC1zaXplOiAxOHB4OyAvLyBjYW5kaWRhdGUgLS1mcy1sZWFkLWxnIHRva2VuIOKAlCBubyBtYXRjaCBpbiBjdXJyZW50IHNldFxuXHRcdGxpbmUtaGVpZ2h0OiAxLjY1O1xuXHRcdGNvbG9yOiByZ2JhKDI0MCwgMjQyLCAyMzgsIDAuOTUpOyAvLyBjYW5kaWRhdGUgLS1icmlnaHQtbXV0ZWQgdG9rZW5cblx0XHR0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuXG5cdH1cblxuXHQvLyBNb2JpbGU6IGZsaXAgc2NyaW0gdG8gYm90dG9t4oaSdG9wIHNvIHRoZSBpbWFnZSByZWFkcyBhdCB0aGUgdG9wIGFuZFxuXHQvLyB0aGUgdGV4dCBzaXRzIG9uIHRoZSBkYXJrIG92ZXJsYXkgYXQgdGhlIGJvdHRvbS5cblx0Ly8gTm90ZTogQHVzZSAnLi4vc2V0dGluZ3MnIGFzICogcHVsbHMgaW4gdGhlIGZ1bmN0aW9ucy9fbWVkaWEtcXVlcnkgbWl4aW5cblx0Ly8gdmlhIHRoZSBzZXR0aW5ncyBpbmRleCwgc28gQGluY2x1ZGUgbWVkaWEtcXVlcnkgaXMgYXZhaWxhYmxlIGhlcmUuXG5cdEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KCc3NjgnKSB7XG5cblx0XHQmX19zY3JpbSB7XG5cblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMjUsIDI4LCAyNSwgMC45MikgMCUsIHJnYmEoMjUsIDI4LCAyNSwgMC43KSA2MCUsIHJnYmEoMjUsIDI4LCAyNSwgMC40KSAxMDAlKTtcblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgc2luZ2xlcy1iYW5uZXIg4oCUIE5lcmR3b3JrcyBicmFuZCBkZWx0YSAobW9ja3VwICMxMjIyNCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vL1xuLy8gU3RydWN0dXJlIChmbGV4IHJvb3QsIGlubmVyIGdyaWQsIGZhbiBwb3NpdGlvbnMvcm90YXRpb25zKSBsaXZlcyBpblxuLy8gdGhlIGdsb2JhbCBzaWxvLiBUaGlzIGxheWVyIG93bnMgdGhlIHByaW1hcnkgZ3JvdW5kLCB0eXBlIHBhbGV0dGUsXG4vLyBhbmQgdGhlIGNhcmQgc2hhZG93IChhbHJlYWR5IGEgdG9rZW4pLiBUaGUgQ1RBIGlzIGJ1dHRvbi0tYmxhY2sg4oCUXG4vLyBuZWFyLWJsYWNrIGZpbGwgb24gYSBwcmltYXJ5L2dyZWVuIGdyb3VuZCAoYWxyZWFkeSBzaGlwcGVkIG1vZGlmaWVyKS5cbi8vXG4vLyBUaGUgZXllYnJvdyBpcyBhbHdheXMgc2FmZnJvbiBvbiB0aGlzIGdyZWVuIGdyb3VuZCDigJQgc3R5bGVkIGRpcmVjdGx5LlxuXG4uc2luZ2xlcy1iYW5uZXIge1xuXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tYnJpZ2h0KTtcblxuXHQmX19leWVicm93IHtcblxuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTE1KTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLWV5ZWJyb3cpO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuXHRcdGNvbG9yOiB2YXIoLS1zYWZmcm9uKTtcblxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXG5cdFx0bWFyZ2luOiAwO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtaDIpO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMTU7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG5cdFx0Y29sb3I6IHZhcigtLWJyaWdodCk7XG5cblx0fVxuXG5cdCZfX3N1YiB7XG5cblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0xNSk7XG5cdFx0Zm9udC1zaXplOiAxOHB4OyAvLyBjYW5kaWRhdGUgLS1mcy1sZWFkLWxnIHRva2VuIOKAlCBubyBtYXRjaCBpbiBjdXJyZW50IHNldFxuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdFx0Y29sb3I6IHZhcigtLWJyaWdodCk7XG5cblx0fVxuXG59XG4iLCJAdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxuLy8g4pSA4pSAIHJldmlldy1jYXJkIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEgKG1vY2t1cCAjMTIyMjQpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy9cbi8vIFN0cnVjdHVyYWwgZmxleCBjb2x1bW4sIHBhZGRpbmcsIGdhcCwgcmFkaXVzLCBzaGFkb3cgYW5kIGhvdmVyIGxpZnQgbGl2ZSBpblxuLy8gdGhlIGdsb2JhbCBzaWxvLiBUaGlzIGxheWVyIG93bnMgc3VyZmFjZSArIHR5cGUgb25seS5cbi8vXG4vLyBBQ0NFTlQtQ09MT1VSIExBVyAoYnVpbGQtcHJvbXB0cy9zZWN0aW9uLXdhbGstbWV0aG9kb2xvZ3kubWQpOiB0aGUgYmxvY2tcbi8vIG1vZGlmaWVyIHNldHMgU1VSRkFDRSBvbmx5OyB0aGUgc3Rhci9tZXRhIGFjY2VudCBjb2xvdXIgY29tZXMgZnJvbSBhIGNvbG91clxuLy8gbW9kaWZpZXIgKC5sYWJlbC0tZ3JlZW4gLyAubGFiZWwtLXNhZmZyb24pIG9uIHRoZSBtZXRhIGluIHRoZSBtYXJrdXAsIGNob3NlblxuLy8gZm9yIHRoZSBjYXJkJ3Mgc3VyZmFjZS4gVGhlIGdyb3VuZCBuZXZlciBkZWNpZGVzIGl0LlxuXG4ucmV2aWV3LWNhcmQge1xuXG5cdCZfX21ldGEge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbGFiZWwpO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1tZXRhKTtcblxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1oNCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblxuXHR9XG5cblx0Jl9fdGV4dCB7XG5cblx0XHRmb250LXNpemU6IHZhcigtLWZzLWxhYmVsKTtcblxuXHR9XG5cblx0Ly8gU3VyZmFjZSBvbmx5IOKAlCBsaWdodCBjYXJkIChicmlnaHQgc3VyZmFjZSwgYW5jaG9yIHRleHQpIG9uIHRoZSBwcmltYXJ5IGJhbmQuXG5cdCYtLWxpZ2h0IHtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyaWdodCk7XG5cdFx0Y29sb3I6IHZhcigtLWFuY2hvcik7XG5cblx0fVxuXG59XG4iLCJAdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxuLy8g4pSA4pSAIGNvbGxlY3Rvci1jYXJkIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEgKG1vY2t1cCAjMTIyMjQpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy9cbi8vIExheW91dCAodHdvLWNvbHVtbiBncmlkLCByYXRpbmdzIGNvbHVtbiwgaGV4IGJhZGdlIGNsaXAtcGF0aCArIHRvb2x0aXAsXG4vLyBwaG90byByb3csIHJlc3BvbnNpdmUgY29sbGFwc2UpIGxpdmVzIGluIHRoZSBnbG9iYWwgc2lsb1xuLy8gKGZyYW1ld29yay12Mi9nbG9iYWwvc2Nzcy9jb21wb25lbnRzL19jb2xsZWN0b3ItY2FyZC5zY3NzKS4gVGhpcyBsYXllciBvd25zXG4vLyBzdXJmYWNlLCB0eXBlLCBhY2NlbnQgY29sb3VycywgZGl2aWRlciBjb2xvdXJzLCBhbmQgdGhlIGJhZGdlL3Rvb2x0aXAgYnJhbmRcbi8vIGNvbG91cnMuXG4vL1xuLy8gY29sbGVjdG9yLWNhcmQgaXMgTk9UIGdyb3VuZC1yZWxhdGl2ZSDigJQgaXQgaXMgYWx3YXlzIGEgZGFyayAoLS1hbmNob3IpXG4vLyBzdXJmYWNlIGNhcmQsIGRlc2lnbmVkIHRvIHNpdCBvbiBhIGJyaWdodCBzZWN0aW9uICguc2VjdGlvbi0tYnJpZ2h0KSB3aGVyZVxuLy8gdGhlIGNvbnRyYXN0IGlzIGhpZ2hlc3QuIFRoZSBzdXJmYWNlIGlzIGEgZml4ZWQgYnJhbmQgZGVjaXNpb24sIG5vdCBhXG4vLyBtb2RpZmllci5cbi8vXG4vLyBUaGUgcmF0aW5ncyBjb2x1bW4gdXNlcyBib3JkZXItY29sb3I6IHJ1bGUtb24tYW5jaG9yIGZvciBib3RoIHRoZSBkZXNrdG9wXG4vLyByaWdodC1ib3JkZXIgYW5kIHRoZSBtb2JpbGUgYm90dG9tLWJvcmRlciAoZ2xvYmFsIHNpbG8gdG9nZ2xlcyBiZXR3ZWVuIHRoZW1cbi8vIHZpYSB0aGUgbWVkaWEgcXVlcnk7IHRoaXMgb25lIHRva2VuIGNvdmVycyBib3RoKS5cblxuLmNvbGxlY3Rvci1jYXJkIHtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hbmNob3IpO1xuXHRjb2xvcjogdmFyKC0tYnJpZ2h0KTtcblxuXHQvLyBSYXRpbmdzIGNvbHVtbiDigJQgYm9yZGVyLWNvbG9yIGFwcGxpZXMgdG8gYm90aCByaWdodCAoZGVza3RvcCkgYW5kXG5cdC8vIGJvdHRvbSAobW9iaWxlKSB2aWEgdGhlIGdsb2JhbCBzaWxvJ3MgbWVkaWEtcXVlcnkgdG9nZ2xlLlxuXHQmX19yYXRpbmdzIHtcblxuXHRcdGJvcmRlci1jb2xvcjogdmFyKC0tcnVsZS1vbi1hbmNob3IpO1xuXG5cdH1cblxuXHQmX19kaW0tbGFiZWwge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbGFiZWwpO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0Y29sb3I6IHJnYmEoMjQwLCAyNDIsIDIzOCwgMC42KTtcblxuXHR9XG5cblx0Jl9fZGltLXN0YXJzIHtcblxuXHRcdGNvbG9yOiB2YXIoLS1zYWZmcm9uKTtcblxuXHR9XG5cblx0Ly8gRW1wdHkgc3RhciByZXRhaW5zIHNhZmZyb24gaHVlIGF0IGxvdyBvcGFjaXR5LlxuXHQmX19zdGFyLS1lbXB0eSB7XG5cblx0XHRjb2xvcjogcmdiYSgyNDUsIDIwMCwgNjQsIDAuMyk7XG5cblx0fVxuXG5cdCZfX25hbWUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1oNCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRjb2xvcjogdmFyKC0tYnJpZ2h0KTtcblxuXHR9XG5cblx0Ly8gSGV4IHZlcmlmaWVkLWNvbGxlY3RvciBiYWRnZSDigJQgc2FmZnJvbiBiYWNrZ3JvdW5kLCBhbmNob3IgaWNvbiBjb2xvdXIuXG5cdC8vIFRvb2x0aXAgc3VyZmFjZSArIHR5cGUgY29sb3VycyBtYXRjaCBjYXJkIHZvY2FidWxhcnkuXG5cdCZfX2JhZGdlIHtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNhZmZyb24pO1xuXHRcdGNvbG9yOiB2YXIoLS1hbmNob3IpO1xuXG5cdFx0Jjo6YWZ0ZXIge1xuXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hbmNob3ItZWxldmF0ZWQpO1xuXHRcdFx0Y29sb3I6IHZhcigtLWJyaWdodCk7XG5cdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1sYWJlbCk7XG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1ydWxlLW9uLWFuY2hvcik7XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX3RleHQge1xuXG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1sYWJlbCk7XG5cdFx0Y29sb3I6IHZhcigtLWJyaWdodCk7XG5cblx0fVxuXG5cdCZfX3JlYWRtb3JlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWxhYmVsKTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtbWV0YSk7XG5cdFx0Y29sb3I6IHZhcigtLXNhZmZyb24pO1xuXG5cdFx0Jjpob3ZlciB7XG5cblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX190aW1lIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWxhYmVsKTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGZvbnQtc2l6ZTogMTFweDsgLy8gY2FuZGlkYXRlIHRva2VuOiAtLWZzLW1pY3JvXG5cdFx0Y29sb3I6IHJnYmEoMjQwLCAyNDIsIDIzOCwgMC42KTtcblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgcGlja3VwLXN0cmlwIOKAlCBOZXJkd29ya3MgYnJhbmQgZGVsdGEgKG1vY2t1cCAjMTIyMjQpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy9cbi8vIFN0cnVjdHVyZSAoZmxleCBsYXlvdXQsIGdhcCwgd3JhcCwgZGV0YWlsIGJvcmRlcikgbGl2ZXMgaW4gdGhlIGdsb2JhbFxuLy8gc2lsby4gVGhpcyBsYXllciBvd25zIHRoZSBwcmltYXJ5IGdyb3VuZCwgY29sb3VycywgaWNvbiBjb2xvdXIsIHR5cGVcbi8vIHBhbGV0dGUsIGFuZCB0aGUgaGFpcmxpbmUgYm9yZGVyIGNvbG91ciBvbiB0aGUgZGV0YWlsIGRpdmlkZXJzLlxuLy9cbi8vIFRoZSBpY29uLCBzdGF0dXMtbGluZSwgYW5kIGRldGFpbCBsYWJlbHMgcmVhZCBpbiBzYWZmcm9uOyBzdG9yZSBhZGRyZXNzXG4vLyBhbmQgZGV0YWlsIHZhbHVlcyByZWFkIGluIGJyaWdodC4gVGhlIGRldGFpbCBsZWZ0LWJvcmRlciB1c2VzXG4vLyAtLXJ1bGUtb24tcHJpbWFyeSAoc2hpcHBlZCB0b2tlbikuXG5cbi5waWNrdXAtc3RyaXAge1xuXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tYnJpZ2h0KTtcblxuXHQmX19pY29uIHtcblxuXHRcdGNvbG9yOiB2YXIoLS1zYWZmcm9uKTtcblxuXHR9XG5cblx0Jl9fc3RhdHVzLWxpbmUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbGFiZWwpO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1sYWJlbCk7XG5cdFx0Y29sb3I6IHZhcigtLXNhZmZyb24pO1xuXG5cdH1cblxuXHQmX19zdG9yZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1sYWJlbCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLWxhYmVsKTtcblx0XHRjb2xvcjogdmFyKC0tYnJpZ2h0KTtcblxuXHR9XG5cblx0Jl9fZGV0YWlsIHtcblxuXHRcdGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1ydWxlLW9uLXByaW1hcnkpO1xuXG5cdH1cblxuXHQvLyBEZXRhaWwgbGFiZWwg4oCUIHNtYWxsIGhlYWRpbmcgaW4gc2FmZnJvbiwgaGVhZGluZyBmYWNlICsgZXllYnJvdyB0cmVhdG1lbnQuXG5cdCZfX2xhYmVsIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtZXllYnJvdyk7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG5cdFx0Y29sb3I6IHZhcigtLXNhZmZyb24pO1xuXG5cdH1cblxuXHQmX192YWx1ZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1sYWJlbCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLWxhYmVsKTtcblx0XHRjb2xvcjogdmFyKC0tYnJpZ2h0KTtcblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgU2l0ZSBoZWFkZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5zaXRlLWhlYWQge1xuXG5cdCZfX2FsZXJ0cyB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tLWRhcms7XG5cdFx0Y29sb3I6ICRuZWFyLXdoaXRlO1xuXG5cdH1cblxuXHQmX19tYWluIHtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcblx0XHRjb2xvcjogJG5lYXItd2hpdGU7XG5cblx0XHQvLyBFdmVyeSBpY29uIGluc2lkZSB0aGUgZ3JlZW4gbWFpbiBiYXIg4oCUIGJ1cmdlciBvbiBtb2JpbGUgKyB0aGVcblx0XHQvLyBzZWFyY2ggLyBhY2NvdW50IC8gYmFza2V0IGljb25zIG9uIGRlc2t0b3Ag4oCUIHJlbmRlcnMgaW4gbmVhci13aGl0ZVxuXHRcdC8vIGFnYWluc3QgdGhlIGJyYW5kIGdyZWVuLlxuXG5cdFx0Lmljb24ge1xuXG5cdFx0XHRmaWxsOiAkbmVhci13aGl0ZTtcblxuXHRcdH1cblxuXHRcdC8vIDxidXR0b24+IGRvZXNuJ3QgaW5oZXJpdCBjb2xvdXIgZnJvbSBpdHMgcGFyZW50IOKAlCBzZXQgbmVhci13aGl0ZVxuXHRcdC8vIGV4cGxpY2l0bHkgc28gdGhlIFwiTUVOVVwiIGxhYmVsIHVuZGVyIHRoZSBidXJnZXIgaXNuJ3QgZGFyay5cblxuXHRcdC5zaXRlLW5hdl9fYnVyZ2VyIHtcblxuXHRcdFx0Y29sb3I6ICRuZWFyLXdoaXRlO1xuXG5cdFx0XHQvLyBTbGlnaHRseSBzbWFsbGVyIHRoYW4gdGhlIDM1eDMwIGdsb2JhbCBzdHJ1Y3R1cmFsIGRlZmF1bHQg4oCUXG5cdFx0XHQvLyB0aGUgYnVyZ2VyIGdseXBoIHJlYWRzIGNsZWFuZXIgYXQgdGhpcyBzaXplIGFnYWluc3QgdGhlXG5cdFx0XHQvLyBsYXJnZXIgMjRweCBhY3Rpb24gaWNvbnMgb24gdGhlIHJpZ2h0LlxuXG5cdFx0XHQuaWNvbiB7XG5cblx0XHRcdFx0d2lkdGg6IDMwcHg7XG5cdFx0XHRcdGhlaWdodDogMjVweDtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0Ly8gTW9iaWxlIHNpdGUgbG9nbyBidW1wcyArMTBweCB3aWRlciB0aGFuIHRoZSA1MHB4IGdsb2JhbCBkZWZhdWx0XG5cdFx0Ly8gc28gdGhlIHdvcmRtYXJrIGhhcyBtb3JlIGJyZWF0aGluZyByb29tIGJldHdlZW4gYnVyZ2VyICsgYWN0aW9ucy5cblxuXHRcdEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KCcxMDI0Jykge1xuXG5cdFx0XHQuc2l0ZS1uYXZfX2xvZ28ge1xuXG5cdFx0XHRcdHdpZHRoOiA2MHB4O1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cdC8vIENsb3NlZC1oZWFkZXIgdG9wLWxldmVsIG5hdiBpdGVtcyByZW5kZXIgYXMgPGJ1dHRvbj4gKHdpdGggc3ViLXBhbmVsKVxuXHQvLyBvciA8YT4gKHdpdGhvdXQpLiBJbmhlcml0LWZyb20tX19tYWluIGlzbid0IHByb3BhZ2F0aW5nIGJlY2F1c2UgPGJ1dHRvbj5cblx0Ly8gZGVmYXVsdHMgaXRzIG93biBjb2xvdXIgYW5kIDxhPiBwaWNrcyB1cCB0aGUgZ2VuZXJpYyBhOm5vdChbY2xhc3NdKSBydWxlXG5cdC8vIOKAlCBuYW1lIGJvdGggZXhwbGljaXRseS5cblxuXHQuc2l0ZS1uYXZfX21lbnVfX2l0ZW0sXG5cdC5zaXRlLW5hdl9fbWVudV9faXRlbTpub3QoW2NsYXNzXSkge1xuXG5cdFx0Y29sb3I6ICRuZWFyLXdoaXRlO1xuXG5cdH1cblxuXHQvLyBBY3Rpb24gaWNvbnMgKHNlYXJjaCwgYWNjb3VudCwgYmFza2V0KSDigJQgc2V0IGV4cGxpY2l0bHkgdG8gbmVhci13aGl0ZVxuXHQvLyArIGJ1bXAgZnJvbSB0aGUgZGVmYXVsdCAyMHB4IHRvIDI0cHggZm9yIGJldHRlciB2aXN1YWwgd2VpZ2h0IG9uIHRoZVxuXHQvLyBncmVlbiBiYXIuIFRoZSBpY29uIGhlbHBlciB1c2VzIC0taWNvbi1zaXplIGludGVybmFsbHk7IHNldHRpbmcgaXQgb25cblx0Ly8gdGhlIGFjdGlvbiB3cmFwcGVyIGFwcGxpZXMgdG8gZXZlcnkgbmVzdGVkIC5pY29uLlxuXG5cdCZfX2FjdGlvbnMge1xuXG5cdFx0LS1pY29uLXNpemU6IDI0cHg7XG5cblx0XHQvLyBCcmVhdGhpbmcgcm9vbSBiZXR3ZWVuIHRoZSBjYXJ0IGljb24gYW5kIHRoZSBjb3VudCBudW1iZXIg4oCUIHRoZVxuXHRcdC8vIDNweCBnbG9iYWwgZGVmYXVsdCByZWFkcyBhcyB0aGUgY291bnQgYmVpbmcgc3R1Y2sgdG8gdGhlIGljb24uXG5cblx0XHQmX19iYXNrZXRfX2NvdW50IHtcblxuXHRcdFx0bWFyZ2luLWxlZnQ6IDhweDtcblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgRGVza3RvcCBwb3BvdmVyIG1lbnUg4oCUIGJyYW5kIHN1cmZhY2Ug4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBUaGUgc3RydWN0dXJhbCBDU1MgbGl2ZXMgaW4gZnJhbWV3b3JrLXYyL2dsb2JhbC9zY3NzL2xheW91dHMvX25hdi1kZXNrdG9wLnNjc3Ncbi8vIChwb3NpdGlvbmluZywgc2xpZGUtaW4gYW5pbWF0aW9uLCBwYW5lbCBsYXlvdXQpLiBUaGlzIGZpbGUgYWRkcyB0aGUgYnJhbmRcbi8vIHN1cmZhY2UgdGhhdCB0dXJucyB0aGUgb3BlbiBwb3BvdmVyIGludG8gYSB2aXNpYmxlIGdyZWVuIHBhbmVsLlxuLy9cbi8vIFNwZWNpZmljaXR5IG5vdGU6IHBhbmVsIGxpbmsgYW5jaG9ycyBjYXJyeSBubyBjbGFzcywgc28gdGhlIGdlbmVyaWNcbi8vIGBhOm5vdChbY2xhc3NdKSB7IGNvbG9yOiB2YXIoLS1wcmltYXJ5KTsgfWAgcnVsZSBpbiBuZXJkd29ya3MuY3NzIHdvdWxkXG4vLyByZXBhaW50IHRoZW0gZ3JlZW4tb24tZ3JlZW4uIFRoZSBgOm5vdChbY2xhc3NdKWAgcXVhbGlmaWVyIGJlbG93IGtlZXBzIHRoZVxuLy8gc2VsZWN0b3JzIGF0IG1hdGNoaW5nIHNwZWNpZmljaXR5IHNvIHRoZSBjYXNjYWRlIG9yZGVyIHdpbnMuXG5cbi5kZXNrdG9wLW5hdiB7XG5cblx0Jjo6YWZ0ZXIsXG5cdCY6OmJlZm9yZSB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG5cblx0fVxuXG5cdCY6OmJhY2tkcm9wIHtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjY1KTtcblxuXHR9XG5cblx0Ly8gSW5uZXIgZHVwbGljYXRlIHNpdGUtbmF2IGluc2lkZSB0aGUgb3BlbiBwb3BvdmVyIOKAlCB0b3AtbGV2ZWwgaXRlbXNcblx0Ly8gKyB0aGUgWCBjbG9zZSBidXR0b24uIEJyYW5kLWNvbG91ciBldmVyeSB0ZXh0ICsgaWNvbiB0byBuZWFyLXdoaXRlLlxuXG5cdC5zaXRlLW5hdl9fbWVudV9faXRlbSB7XG5cblx0XHRjb2xvcjogJG5lYXItd2hpdGU7XG5cblx0fVxuXG5cdC5zaXRlLW5hdl9fY2xvc2UgLmljb24ge1xuXG5cdFx0ZmlsbDogJG5lYXItd2hpdGU7XG5cblx0fVxuXG5cdCZfX21lbnVfX2l0ZW0ge1xuXG5cdFx0bWFyZ2luLWJvdHRvbTogJGd1dHRlci0tbWluaTtcblxuXHRcdGE6bm90KFtjbGFzc10pLFxuXHRcdHNwYW4ge1xuXG5cdFx0XHRjb2xvcjogJG5lYXItd2hpdGU7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdCY6aG92ZXIge1xuXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJG5lYXItd2hpdGU7XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fbWVudV9fZHJhd2VyIHtcblxuXHRcdGJvcmRlci1sZWZ0OiAycHggc29saWQgJGdyZWVuLS1saWdodDtcblxuXHR9XG5cblx0Jl9fbWVudV9fZHJhd2VyX19pdGVtIHtcblxuXHRcdGNvbG9yOiAkbmVhci13aGl0ZTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHQmOmhvdmVyIHtcblxuXHRcdFx0Y29sb3I6ICRncmVlbi0tcGFsZTtcblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4vLyDilIDilIAgTW9iaWxlIHBvcG92ZXIgbWVudSDigJQgYnJhbmQgc3VyZmFjZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFN0cnVjdHVyYWwgQ1NTIChzbGlkZS1pbiBhbmltYXRpb24sIGxpc3QgbGF5b3V0LCBoZWFkZXIgbGF5b3V0KSBsaXZlcyBpblxuLy8gZnJhbWV3b3JrLXYyL2dsb2JhbC9zY3NzL2xheW91dHMvX25hdi1tb2JpbGUuc2Nzcy4gVGhpcyBmaWxlIGFkZHMgdGhlIGJyYW5kXG4vLyBzdXJmYWNlIHNvIHRoZSBvcGVuIHBvcG92ZXIgYW5kIGl0cyBzdWItcGFuZWxzIHJlbmRlciBhcyBhIHJlYWwgZHJhd2VyXG4vLyBpbnN0ZWFkIG9mIGJhcmUgcG9wb3ZlciBkZWZhdWx0cy5cbi8vXG4vLyBNb2JpbGUgc3ViLXBhbmVscyAoI21vYmlsZV9wYW5lbF8qKSByZXVzZSB0aGUgc2FtZSAubW9iaWxlLW5hdl9faGVhZGVyLFxuLy8gLm1vYmlsZS1uYXZfX2xpc3QgZWxlbWVudHMgYXMgdGhlIHJvb3QgbW9iaWxlLW5hdiDigJQgc28gdGhlIGVsZW1lbnQgc3R5bGVzXG4vLyBiZWxvdyBjb3ZlciBib3RoIGNvbnRleHRzLiBTcGVjaWZpY2l0eSBidW1wcyBvbiBhbmNob3Igc2VsZWN0b3JzIGNsZWFyIHRoZVxuLy8gZ2VuZXJpYyBgYTpub3QoW2NsYXNzXSkgeyBjb2xvcjogdmFyKC0tcHJpbWFyeSk7IH1gIHJ1bGUgaW4gbmVyZHdvcmtzLmNzcy5cblxuLm1vYmlsZS1uYXYsXG4ubW9iaWxlLW5hdl9fcGFuZWwge1xuXG5cdGJhY2tncm91bmQtY29sb3I6ICRncmVlbi0tZGFyaztcblx0Y29sb3I6ICRuZWFyLXdoaXRlO1xuXG5cdCY6OmJhY2tkcm9wIHtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjUpO1xuXG5cdH1cblxufVxuXG4ubW9iaWxlLW5hdl9faGVhZGVyIHtcblxuXHRwYWRkaW5nOiAwICRndXR0ZXItLXNtYWxsO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkbmVhci13aGl0ZSwgMC4xKTtcblxuXHQvLyBEcm9wIHRoZSBzdHJ1Y3R1cmFsIDEwcHggbGVmdCBpbnNldCBvbiB0aGUgdGl0bGUgYW5kIHJlLWZsb3cgdGhlXG5cdC8vIHRpdGxlIGFzIGZsZXggc28gdGhlIHN1Yi1wYW5lbCBiYWNrIGJ1dHRvbiAoY2hldnJvbiArIE1FTlUpIGxheXNcblx0Ly8gb3V0IG9uIG9uZSBsaW5lLiBjb2x1bW4tZ2FwIGlzIGEgbm8tb3Agd2hlbiB0aGUgdGl0bGUgb25seSBoYXMgYVxuXHQvLyB0ZXh0IGNoaWxkIChyb290IGhlYWRlcikuXG5cblx0Jl9fdGl0bGUge1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGNvbHVtbi1nYXA6ICRndXR0ZXItLW1pbmk7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdGNvbG9yOiAkbmVhci13aGl0ZTtcblxuXHR9XG5cblx0Ly8gQmFjay1idXR0b24gY2hldnJvbiAoc3ViLXBhbmVsIG9ubHkpLiBGaWxsIG5lYXItd2hpdGUgc28gaXQnc1xuXHQvLyB2aXNpYmxlIG9uIHRoZSBkYXJrIHN1cmZhY2UuXG5cblx0Jl9fdGl0bGVfX2ljb24ge1xuXG5cdFx0ZmlsbDogJG5lYXItd2hpdGU7XG5cblx0fVxuXG5cdC8vIENsb3NlIFggYnV0dG9uIOKAlCBtYWtlIHRoZSBidXR0b24gZmxleCBzbyBtYXJnaW4tbGVmdDogYXV0byBvbiB0aGVcblx0Ly8gaWNvbiBwdXNoZXMgaXQgdG8gdGhlIHJpZ2h0IGVkZ2Ugb2YgdGhlIGJ1dHRvbiAodGhlIGJ1dHRvbiBpcyA1MHB4XG5cdC8vIHdpZGU7IHRoZSBpY29uIHdhcyBzaXR0aW5nIGF0IGl0cyBsZWZ0IGhhbGYsIGxvb2tpbmcgXCJwdWxsZWQgbGVmdFwiKS5cblxuXHQmX19jbG9zZSBidXR0b24ge1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0Lmljb24ge1xuXG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdGZpbGw6ICRuZWFyLXdoaXRlO1xuXG5cdFx0fVxuXG5cdH1cblxufVxuXG4ubW9iaWxlLW5hdl9fbGlzdCB7XG5cblx0cGFkZGluZzogJGd1dHRlci0tc21hbGw7XG5cblx0Jl9faXRlbSB7XG5cblx0XHRwYWRkaW5nOiAkZ3V0dGVyLS1zbWFsbCAwO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRuZWFyLXdoaXRlLCAwLjEpO1xuXG5cdFx0YTpub3QoW2NsYXNzXSksXG5cdFx0YnV0dG9uIHtcblxuXHRcdFx0Y29sb3I6ICRuZWFyLXdoaXRlO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0fVxuXG5cdFx0Ly8gTXkgQWNjb3VudCAvIFdpc2hsaXN0IGl0ZW1zIHJlbmRlciBpY29uICsgdGV4dCB0b2dldGhlciBpbnNpZGVcblx0XHQvLyB0aGUgYW5jaG9yIOKAlCB3aXRob3V0IGZsZXggdGhleSBzdGFjayBhd2t3YXJkbHkuIEFwcGx5IGZsZXggb25cblx0XHQvLyBldmVyeSBsaXN0LWl0ZW0gYW5jaG9yIHNvIGFueSBpY29uLWJlZm9yZS10ZXh0IGNvbWJvIGxpbmVzIHVwLlxuXG5cdFx0YTpub3QoW2NsYXNzXSkge1xuXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGNvbHVtbi1nYXA6ICRndXR0ZXItLW1pbmk7XG5cblx0XHR9XG5cblx0XHQuaWNvbiB7XG5cblx0XHRcdGZpbGw6ICRuZWFyLXdoaXRlO1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gRXllYnJvdyDigJQgY29yZS9wYXJhZ3JhcGggXCJFeWVicm93XCIgYmxvY2sgc3R5bGUuXG4vL1xuLy8gUGF0aCBBIChjb3JlLWJsb2NrIHN0eWxpbmcg4oCUIGJ1aWxkLXByb21wdHMvYmxvY2stc3R5bGluZy1zeXN0ZW0ubWQpOiBhcHBseSB0aGVcbi8vIGV4aXN0aW5nIC5leWVicm93IGNvbXBvbmVudCB0byB0aGUgV29yZFByZXNzLWdlbmVyYXRlZCAuaXMtc3R5bGUtZXllYnJvdyBzZWxlY3RvclxuLy8gdmlhIEBleHRlbmQsIG9uIHRoZSBGUk9OVCBFTkQuIFRoaXMgcGFydGlhbCBjb21waWxlcyBpbnRvIG5lcmR3b3Jrcy5jc3MgKHZpYSB0aGVcbi8vIHNpbmdsZSBgQHVzZSAnYmxvY2tzJztgIGluIG5lcmR3b3Jrcy5zY3NzKSwgd2hlcmUgLmV5ZWJyb3cgYWxzbyBsaXZlcywgc28gQGV4dGVuZFxuLy8gcmVzb2x2ZXMuIEBmb3J3YXJkIHRoZSBjb21wb25lbnQgc28gdGhlIHNlbGVjdG9yIGlzIHJlYWNoYWJsZSBmb3IgQGV4dGVuZCBoZXJlLlxuLy9cbi8vIENvbG91ciByaWRlcyB0aGUgZ3JvdW5kIGNvbnRyYWN0J3MgLS1ncm91bmQtYWNjZW50IChzYWZmcm9uIGZhbGxiYWNrIG9mZi1ncm91bmQpLFxuLy8gdGhlIG9uZSBibG9jay1zcGVjaWZpYyBlZGl0IG9uIHRvcCBvZiB0aGUgY29tcG9uZW50LiBUaGUgZWRpdG9yIHNob3dzIGEgcGxhaW5cbi8vIHBhcmFncmFwaCArIHRoZSBcIkV5ZWJyb3dcIiBzdHlsZSBsYWJlbCDigJQgaXQgZG9lcyBOT1QgcHJldmlldyB0aGUgdHJlYXRtZW50LCB3aGljaFxuLy8gaXMgY29ycmVjdCAoZWRpdG9yID0gbGF5b3V0ICsgYmFzaWMgY29sb3VyLCBub3QgV1lTSVdZRykuXG5cbkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuQGZvcndhcmQgJy4uL2NvbXBvbmVudHMvZXllYnJvdyc7XG5cbi5pcy1zdHlsZS1leWVicm93IHtcblxuXHRAZXh0ZW5kIC5leWVicm93O1xuXG5cdGNvbG9yOiB2YXIoLS1ncm91bmQtYWNjZW50LCB2YXIoLS1zYWZmcm9uKSk7XG5cbn1cbiIsIi8vIE1lZGlhLXRleHQg4oCUIGNvcmUvbWVkaWEtdGV4dCAodGhlIHNlY3Rpb24gc3BvdGxpZ2h0IGNvbnRhaW5lcikuXG4vL1xuLy8gUGF0aCBBIChjb3JlLWJsb2NrIHN0eWxpbmcg4oCUIGJ1aWxkLXByb21wdHMvYmxvY2stc3R5bGluZy1zeXN0ZW0ubWQpLCBPcHRpb24gQjpcbi8vIHRoZSBtZWRpYS10ZXh0IHNpdHMgSU5TSURFIGEgZ3JvdW5kLXN0eWxlZCBjb3JlL2dyb3VwICh0aGUgZ3JvdXAgaXMgdGhlXG4vLyBmdWxsLXdpZHRoIGJhbmQpLiBjb3JlL21lZGlhLXRleHQgc3VwcGxpZXMgdGhlIDItY29sdW1uIGdyaWQgKyBtb2JpbGUgc3RhY2tpbmdcbi8vIG5hdGl2ZWx5LCBzbyB0aGlzIHBhcnRpYWwgb25seSBhZGRzIHR3byBicmFuZCB0aGluZ3M6XG4vLyAgIDEuIHRoZSBpbWFnZSB0cmVhdG1lbnQg4oCUIGNvbnN0cmFpbiB0aGUgdGFsbCBzb3VyY2UgY3JvcCB0byAzOjIgKyByb3VuZCBpdDtcbi8vICAgMi4gdGhlIHZlcnRpY2FsIHJoeXRobSBiZXR3ZWVuIHRoZSBjb250ZW50IGNvbHVtbidzIGJsb2NrcyAobWFyZ2luLXRvcCBvblxuLy8gICAgICBzdWNjZXNzaXZlIHNpYmxpbmdzIOKAlCB0aGUgb3dsKS5cbi8vIFR5cGUgKyBjb2xvdXIgb2YgdGhlIGlubmVyIGJsb2NrcyAoZXllYnJvdyAvIGhlYWRpbmcgLyBidXR0b24pIGNvbWUgZnJvbSB0aGVpclxuLy8gb3duIFBhdGgtQSBwYXJ0aWFscywgbm90IGhlcmUuXG5cbkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4ud3AtYmxvY2stbWVkaWEtdGV4dCB7XG5cblx0Ly8gTWVkaWEg4oCUIHJvdW5kIHRoZSBjb2x1bW4gYW5kIGNvbnN0cmFpbiB0aGUgc291cmNlIGNyb3AgdG8gdGhlIG1vY2t1cCdzIDM6MlxuXHQvLyAodGhlIHJhdyBpbWFnZSBpcyBhIHRhbGwgc2xhYjsgMzoyICsgb2JqZWN0LWZpdCByZWR1Y2VzIGl0IHRvIHRoZSBzZXQgcmF0aW8pLlxuXHQmX19tZWRpYSB7XG5cblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2FyZCk7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdGltZyB7XG5cblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRhc3BlY3QtcmF0aW86IDMgLyAyO1xuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cblx0XHR9XG5cblx0fVxuXG5cdC8vIFZlcnRpY2FsIHJoeXRobSDigJQgdGV4dC1ibG9jayBjbHVzdGVyaW5nIChleWVicm93IC8gdGl0bGUgLyBib2R5KSBpcyBoYW5kbGVkXG5cdC8vIGJ5IHRoZSB1bml2ZXJzYWwgYDp3aGVyZShwLCBoMS4uaDYsIHVsLCBvbCwgYmxvY2txdW90ZSkgKyA6d2hlcmUoLi4uKWAgcnVsZVxuXHQvLyBpbiBzZWN0aW9uLWJhbmRzLnNjc3MuIFRoaXMgcGFydGlhbCBvbmx5IGFkZHMgdGhlIDMwcHggQ1RBIGxpZnQgYmVmb3JlIHRoZVxuXHQvLyBidXR0b25zIHJvdywgc2luY2UgYnV0dG9ucyBhcmVuJ3QgdGV4dC1ibG9ja3MgYW5kIHRoZSB1bml2ZXJzYWwgcnVsZSBkb2Vzbid0XG5cdC8vIHJlYWNoIHRoZW0uIEJyYW5kIC0tc3BhY2UtKiB0b2tlbnM7IG1pcnJvcnMgdGhlIHN0YXRpYyBzcG90bGlnaHQncyBmZWVsLlxuXHQmX19jb250ZW50IHtcblxuXHRcdC53cC1ibG9jay1idXR0b25zIHtcblxuXHRcdFx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMzApO1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gQ29sdW1ucyDigJQgY29yZS9jb2x1bW5zLlxuLy9cbi8vIFJlc2V0IFdvcmRQcmVzcyBjb3JlJ3MgZGVmYXVsdCBibG9jayBtYXJnaW46IDp3aGVyZSgud3AtYmxvY2stY29sdW1ucykgc2V0c1xuLy8gbWFyZ2luLWJvdHRvbTogMS43NWVtICgyOHB4KS4gSW5zaWRlIHNlY3Rpb25zIHRoZSBiYW5kIHBhZGRpbmcgKyBibG9jayBnYXAgb3duXG4vLyB0aGUgdmVydGljYWwgcmh5dGhtLCBzbyB0aGF0IGNvcmUgbWFyZ2luIG9ubHkgYWRkcyB1bndhbnRlZCBzcGFjZSBiZWxvdyBhXG4vLyBjb2x1bW5zIHJvdy4gVGhlIGNvcmUgc2VsZWN0b3IgaXMgOndoZXJlKCkgKHplcm8gc3BlY2lmaWNpdHkpLCBzbyB0aGlzIHBsYWluXG4vLyBjbGFzcyBvdmVycmlkZSB3aW5zLiBSZS1hZGQgZGVsaWJlcmF0ZSBzcGFjaW5nIHBlci1pbnN0YW5jZSB2aWEgdGhlIGVkaXRvclxuLy8gRGltZW5zaW9ucyBjb250cm9sIGlmIGV2ZXIgbmVlZGVkIChzYW1lIG92ZXJyaWRlIG1vZGVsIGFzIHRoZSBzZWN0aW9uIHBhZGRpbmcpLlxuLy9cbi8vIE5vdCBhIGJyYW5kIEBleHRlbmQgbGlrZSB0aGUgc2libGluZyBwYXJ0aWFscyDigJQgYSBjb3JlLWRlZmF1bHQgcmVzZXQg4oCUIGJ1dFxuLy8gY29yZS9jb2x1bW5zIHN0eWxpbmcgYmVsb25ncyBoZXJlIGJ5IGJsb2NrIG5hbWUuXG5cbkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4ud3AtYmxvY2stY29sdW1ucyB7XG5cblx0bWFyZ2luLWJvdHRvbTogMDtcblxufVxuIiwiLy8gTGlua3Mg4oCUIHVuY2xhc3NlZCBhbmNob3JzIGFueXdoZXJlIG9uIHRoZSBmcm9udCBlbmQuXG4vL1xuLy8gQXV0aG9yZWQgbGlnaHQgKG5vIGJyYW5kIGNvbXBvbmVudCBmb3IgcGxhaW4gbGlua3MpLiBCdXR0b25zIC8gbmF2IC8gdXRpbGl0eVxuLy8gbGlua3MgY2FycnkgdGhlaXIgb3duIGNsYXNzZXM7IHRoaXMgdGFyZ2V0cyBvbmx5IGJhcmUgcHJvc2UtZmxvdyBsaW5rcyBzbyBpdFxuLy8gbmV2ZXIgY29sbGlkZXMgd2l0aCBjbGFzc2VkIGVsZW1lbnRzLiBXYXMgaW5zaWRlIC5jb250ZW50IGJlZm9yZSB0aGUgdW5pdmVyc2FsXG4vLyBzcGxpdDsgcHJvbW90ZWQgb3V0IHNvIGEgbGluayBpbiBhbnkgYmxvY2sgc3VyZmFjZSBnZXRzIHRoZSBicmFuZCB0cmVhdG1lbnQuXG5cbkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG5hOm5vdChbY2xhc3NdKSB7XG5cblx0Y29sb3I6IHZhcigtLXByaW1hcnkpO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0dGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcblxuXHQmOmhvdmVyIHtcblxuXHRcdGNvbG9yOiB2YXIoLS1zYWZmcm9uKTtcblxuXHR9XG5cbn1cbiIsIi8vIFBhcmFncmFwaCDigJQgY29yZS9wYXJhZ3JhcGguXG4vL1xuLy8gQnJhbmQgYm9keS10ZXh0IGRlZmF1bHQgZm9yIGFueSBiYXJlIDxwPiBvbiB0aGUgZnJvbnQgZW5kLiBDYXRjaGVzIHBhcmFncmFwaFxuLy8gYmxvY2tzIGRyb3BwZWQgb24gdGhlIGNhbnZhcyAvIGluc2lkZSBhIHNlY3Rpb24gYmFuZCAvIGFueXdoZXJlIG91dHNpZGUgYVxuLy8gcHJvc2UgY29udGFpbmVyLCBzbyB0aGV5IHJlYWQgYXQgYm9keSBzaXplIHdpdGggcmVhZGluZy1jb21mb3J0YWJsZSBsaW5lLVxuLy8gaGVpZ2h0IGluc3RlYWQgb2YgYnJvd3NlciBkZWZhdWx0LiBJbnNpZGUgLmNvbnRlbnQgdGhlIHNhbWUgdmFsdWVzIGZpcmUgdmlhXG4vLyBgLmNvbnRlbnQgcGAgKGhpZ2hlciBzcGVjaWZpY2l0eSkgc28gcHJvc2UgZmxvdyBpcyB1bmNoYW5nZWQuXG4vL1xuLy8gQXV0aG9yZWQgbGlnaHQg4oCUIG5vIGJyYW5kIGNvbXBvbmVudCBleGlzdHMgZm9yIGJvZHkgY29weS4gVGFyZ2V0aW5nIGJhcmUgYHBgXG4vLyBtYXRjaGVzIGV2ZXJ5IHBhcmFncmFwaCBibG9jayAoV1AgZW1pdHMgbm8gY2xhc3MgYnkgZGVmYXVsdCkgYW5kIGFueSBvdGhlclxuLy8gPHA+IGluIHRoZSBtYXJrdXAgKGZvb3RlciBjb3B5LCBjb21tZW50cyBmb3JtLCBldGMuKSDigJQgYnJhbmQgYm9keS10dW5lIG9uXG4vLyBhbnkgPHA+IGFueXdoZXJlIGlzIHRoZSBkZXNpcmVkIGJhc2VsaW5lLlxuXG5AdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxucCB7XG5cblx0Zm9udC1zaXplOiB2YXIoLS1mcy1ib2R5KTtcblx0bGluZS1oZWlnaHQ6IDEuNjU7XG5cbn1cblxuLy8g4pSA4pSAIExlYWQgdmFyaWF0aW9uIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gUmVnaXN0ZXJlZCBpbiBuZXJkd29ya3NfcmVnaXN0ZXJfY29yZV9ibG9ja19zdHlsZXMgKGZ1bmN0aW9ucy5waHApIHNvIGl0XG4vLyBhcHBlYXJzIGFzIFwiTGVhZFwiIGluIHRoZSBwYXJhZ3JhcGggYmxvY2sncyBTdHlsZXMgcGFuZWwuIE9wZXJhdG9yIGFwcGxpZXNcbi8vIHBlciBwYXJhZ3JhcGggZm9yIGludHJvIC8gc3RhbmRvdXQgY29weSB0aGF0IHdhbnRzIG1vcmUgdmlzdWFsIHdlaWdodCB0aGFuXG4vLyB0aGUgMTZweCBib2R5IGRlZmF1bHQuIFNhbWUgbGluZS1oZWlnaHQgdGhlIHByaW9yIHB1bGxxdW90ZSB1c2VkICgxLjUpLlxuLmlzLXN0eWxlLWxlYWQge1xuXG5cdGZvbnQtc2l6ZTogdmFyKC0tZnMtbGVhZCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cbn1cbiIsIi8vIExpc3RzIOKAlCBjb3JlL2xpc3QuXG4vL1xuLy8gVGhlIGdsb2JhbCByZXNldCBzdHJpcHMgdWwvb2wgKG5vIG1hcmtlcnMsIG5vIHBhZGRpbmcpLiAud3AtYmxvY2stbGlzdCBpcyB0aGVcbi8vIGNsYXNzIHRoZSBlZGl0b3IgZW1pdHMgb24gcHJvc2UgbGlzdHM7IG5hdiBhbmQgdXRpbGl0eSBsaXN0cyBkb24ndCBjYXJyeSBpdCxcbi8vIHNvIHRoZXkgc3RheSByZXNldC4gQSBsaXN0IGJsb2NrIGRyb3BwZWQgb24gYW55IHN1cmZhY2UgZ2V0cyB0aGUgYnJhbmQgbG9vay5cblxuQHVzZSAnLi4vc2V0dGluZ3MnIGFzICo7XG5cbnVsLndwLWJsb2NrLWxpc3QsXG5vbC53cC1ibG9jay1saXN0IHtcblxuXHRwYWRkaW5nLWxlZnQ6IDEuNWVtO1xuXHRsaW5lLWhlaWdodDogMS42NTtcblxuXHRsaSArIGxpIHtcblxuXHRcdG1hcmdpbi10b3A6IDAuNGVtO1xuXG5cdH1cblxuXHRsaTo6bWFya2VyIHtcblxuXHRcdGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcblxuXHR9XG5cblx0dWwsXG5cdG9sIHtcblxuXHRcdG1hcmdpbi10b3A6IDAuNGVtO1xuXG5cdH1cblxufVxuXG51bC53cC1ibG9jay1saXN0IHtcblxuXHRsaXN0LXN0eWxlOiBkaXNjO1xuXG5cdHVsIHtcblxuXHRcdGxpc3Qtc3R5bGU6IGNpcmNsZTtcblxuXHR9XG5cbn1cblxub2wud3AtYmxvY2stbGlzdCB7XG5cblx0bGlzdC1zdHlsZTogZGVjaW1hbDtcblxuXHRvbCB7XG5cblx0XHRsaXN0LXN0eWxlOiBsb3dlci1hbHBoYTtcblxuXHR9XG5cbn1cbiIsIi8vIFF1b3RlIOKAlCBjb3JlL3F1b3RlLlxuLy9cbi8vIEF1dGhvcmVkIGxpZ2h0OiBsZWZ0LXJ1bGUgKyBpdGFsaWMgYmxvY2txdW90ZSwgd2l0aCBhIGxhYmVsbGVkIGNpdGF0aW9uLiBBXG4vLyBxdW90ZSBvbiBhbnkgc3VyZmFjZSBnZXRzIHRoZSBzYW1lIHRyZWF0bWVudC4gUHVsbHF1b3RlIHN0YXlzIHByb3NlLW9ubHkgaW5cbi8vIGNvbnRlbnQuc2NzcyDigJQgaXRzIGNlbnRyZWQtd2l0aC1ydWxlcyB0cmVhdG1lbnQgb25seSBtYWtlcyBzZW5zZSBpbiBmbG93LlxuXG5AdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxuLndwLWJsb2NrLXF1b3RlIHtcblxuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTIwKTtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1wcmltYXJ5KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mcy1sZWFkKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXG5cdGNpdGUge1xuXG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMTUpO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWxhYmVsKTtcblx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1tZXRhKTtcblx0XHRjb2xvcjogdmFyKC0tbXV0ZWQpO1xuXG5cdH1cblxufVxuIiwiLy8gVGFibGUg4oCUIGNvcmUvdGFibGUuXG4vL1xuLy8gQXV0aG9yZWQgbGlnaHQuIERlZmF1bHRzIGFzc3VtZSBhIGxpZ2h0IHN1cmZhY2Ug4oCUIGRhcmsgaGVhZGVyIGJhbmQgKyBsaWdodFxuLy8gemVicmEuIFRhYmxlcyBpbnNpZGUgYSBkYXJrIHNlY3Rpb24gZ3JvdW5kIHdpbGwgd2FudCBwZXItZ3JvdW5kIG92ZXJyaWRlcyBpZlxuLy8gdGhlIGNhc2UgZXZlciBzdXJmYWNlczsgdGhlIGxpZ2h0LXN1cmZhY2UgZGVmYXVsdCBpcyB3aGF0IHByb3NlIC8gcHJvZHVjdFxuLy8gZGVzY3JpcHRpb24gY29udGV4dHMgdXNlLlxuXG5AdXNlICcuLi9zZXR0aW5ncycgYXMgKjtcblxuLndwLWJsb2NrLXRhYmxlIHtcblxuXHRvdmVyZmxvdy14OiBhdXRvO1xuXG5cdHRhYmxlIHtcblxuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1ib2R5KTtcblxuXHR9XG5cblx0dGgsXG5cdHRkIHtcblxuXHRcdHBhZGRpbmc6IHZhcigtLXNwYWNlLTE1KSB2YXIoLS1zcGFjZS0yMCk7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tcnVsZS1vbi1icmlnaHQpO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0fVxuXG5cdHRoZWFkIHRoIHtcblxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWFuY2hvcik7XG5cdFx0Y29sb3I6IHZhcigtLWJyaWdodCk7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbGFiZWwpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtbWV0YSk7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuXG5cdH1cblxuXHR0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuXG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNSwgMjgsIDI1LCAwLjAzNSk7XG5cblx0fVxuXG5cdGZpZ2NhcHRpb24ge1xuXG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMTUpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtbWV0YSk7XG5cdFx0Y29sb3I6IHZhcigtLW11dGVkKTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0fVxuXG59XG4iLCIvLyBJbWFnZSDigJQgY29yZS9pbWFnZS5cbi8vXG4vLyBSb3VuZGVkIGNvcm5lcnMgKyBicmFuZGVkIGZpZ2NhcHRpb24gdG9uZS4gQW4gaW1hZ2UgYmxvY2sgb24gYW55IHN1cmZhY2UgZ2V0c1xuLy8gdGhlIGJyYW5kIGxvb2sg4oCUIHByb3NlLCBwcm9kdWN0IGRlc2NyaXB0aW9uLCBob21lcGFnZSBzZWN0aW9uIGJhbmQuXG5cbkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4ud3AtYmxvY2staW1hZ2Uge1xuXG5cdGltZyB7XG5cblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2FyZCk7XG5cblx0fVxuXG5cdGZpZ2NhcHRpb24ge1xuXG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMTUpO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWxhYmVsKTtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLW1ldGEpO1xuXHRcdGNvbG9yOiB2YXIoLS1tdXRlZCk7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdH1cblxufVxuIiwiLy8gR2FsbGVyeSDigJQgY29yZS9nYWxsZXJ5LlxuLy9cbi8vIEdhbGxlcmllcyBhcmUgbWFkZSBvZiAud3AtYmxvY2staW1hZ2UgY2hpbGRyZW4sIHNvIHRoZSBpbWFnZSBwYXJ0aWFsJ3Ncbi8vIHJvdW5kZWQtY29ybmVycyArIGZpZ2NhcHRpb24gdG9uZSBhbHJlYWR5IGFwcGx5IHZpYSB0aGUgcGVyLWltYWdlIHJ1bGVzLiBPbmx5XG4vLyB0aGUgZ2FsbGVyeS1sZXZlbCBjYXB0aW9uIHRvbmUgaXMgYWRkZWQgaGVyZS5cblxuQHVzZSAnLi4vc2V0dGluZ3MnIGFzICo7XG5cbi53cC1ibG9jay1nYWxsZXJ5IHtcblxuXHRmaWdjYXB0aW9uIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWxhYmVsKTtcblx0XHRmb250LXNpemU6IHZhcigtLWZzLW1ldGEpO1xuXG5cdH1cblxufVxuIiwiLy8gU2VwYXJhdG9yIOKAlCBjb3JlL3NlcGFyYXRvci5cbi8vXG4vLyBEZWZhdWx0OiBzaG9ydCBjZW50cmVkIHByaW1hcnkgcnVsZS4gV2lkZSB2YXJpYW50ICguYWxpZ253aWRlIG9yIC5pcy1zdHlsZS13aWRlKVxuLy8gc3BhbnMgZnVsbC13aWR0aCBhcyBhIGhhaXJsaW5lLiBBcHBsaWVzIG9uIGFueSBzdXJmYWNlIOKAlCBzZWN0aW9ucyBhbmQgcHJvc2UuXG5cbkB1c2UgJy4uL3NldHRpbmdzJyBhcyAqO1xuXG4ud3AtYmxvY2stc2VwYXJhdG9yIHtcblxuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiAxMjBweDtcblx0bWFyZ2luLWlubGluZTogYXV0bztcblx0Ym9yZGVyOiAwO1xuXHRib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tcHJpbWFyeSk7XG5cdG9wYWNpdHk6IDE7XG5cblx0Ji5hbGlnbndpZGUsXG5cdCYuaXMtc3R5bGUtd2lkZSB7XG5cblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0Ym9yZGVyLXRvcC13aWR0aDogMXB4O1xuXHRcdGJvcmRlci10b3AtY29sb3I6IHZhcigtLXJ1bGUtb24tYnJpZ2h0KTtcblxuXHR9XG5cbn1cbiIsIkB1c2UgJ3NldHRpbmdzL2ZvbnRzJztcbkB1c2UgJ3NldHRpbmdzJyBhcyAqO1xuQHVzZSAnYnJhbmQtdG9rZW5zJyBhcyAqO1xuXG4vLyDilIDilIAgQ29tcG9uZW50cyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFNlY3Rpb24td2FsayByZWJ1aWxkOiBhY2NydWVkIG9uZSBzZWN0aW9uIGF0IGEgdGltZS4gT25seSB0aGUgYmxvY2tzIHRoZVxuLy8gc2hpcHBlZCBzZWN0aW9ucyBuZWVkIGFyZSBmb3J3YXJkZWQgaGVyZS4gVGhlIEZELWVyYSBwYXJ0aWFscyByZW1haW4gb25cbi8vIGRpc2ssIGRvcm1hbnQsIHJlYWR5IHRvIHJlLWFkb3B0IGFzIHRoZSB3YWxrIHJlYWNoZXMgdGhvc2Ugc2VjdGlvbnMuXG4vL1xuLy8gU2hpcHBlZDogaG9tZXBhZ2UgaGVybywgc2hvcC1ieS1nYW1lLCBmZWF0dXJlZC1wcm9kdWN0LCBuZXctYXJyaXZhbHMsXG4vLyBibG9vbWJ1cnJvdyBzaG93Y2FzZSwgaG90dGVzdCBzaW5nbGVzLCBzaW5nbGVzIGNhdGFsb2d1ZS5cblxuQHVzZSAnY29tcG9uZW50cy9idXR0b24nO1xuQHVzZSAnY29tcG9uZW50cy90aXRsZSc7XG5AdXNlICdjb21wb25lbnRzL2hlcm8nO1xuQHVzZSAnY29tcG9uZW50cy9iYW5uZXInO1xuQHVzZSAnY29tcG9uZW50cy9saW5rLWJveCc7XG5AdXNlICdjb21wb25lbnRzL2xpbmstY2FyZCc7XG5AdXNlICdjb21wb25lbnRzL2NhdGVnb3J5LXRpbGUnO1xuQHVzZSAnY29tcG9uZW50cy9zZWN0aW9uLWhlYWRlcic7XG5AdXNlICdjb21wb25lbnRzL3ByaWNlJztcbkB1c2UgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQHVzZSAnY29tcG9uZW50cy9leWVicm93JztcbkB1c2UgJ2NvbXBvbmVudHMvZmVhdHVyZWQtcHJvZHVjdCc7XG5AdXNlICdjb21wb25lbnRzL3Byb2R1Y3QtY2FyZCc7XG5AdXNlICdjb21wb25lbnRzL3Nob3djYXNlJztcbkB1c2UgJ2NvbXBvbmVudHMvY29tbWVudGFyeS1jYXJkJztcbkB1c2UgJ2NvbXBvbmVudHMvcG9zdC1jYXJkJztcbkB1c2UgJ2NvbXBvbmVudHMvaW50cm8nO1xuQHVzZSAnY29tcG9uZW50cy9pdGVtLXRpbGUnO1xuQHVzZSAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQHVzZSAnY29tcG9uZW50cy9zdGF0JztcbkB1c2UgJ2NvbXBvbmVudHMvaW5mby1jYXJkJztcbkB1c2UgJ2NvbXBvbmVudHMvc3BvdGxpZ2h0JztcbkB1c2UgJ2NvbXBvbmVudHMvbW9zYWljJztcbkB1c2UgJ2NvbXBvbmVudHMvbmV3c2xldHRlcic7XG5AdXNlICdjb21wb25lbnRzL2Zvcm0nO1xuQHVzZSAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AdXNlICdjb21wb25lbnRzL3NsaWRlci1nYWxsZXJ5JztcbkB1c2UgJ2NvbXBvbmVudHMvYXRjJztcbkB1c2UgJ2NvbXBvbmVudHMvd29vY29tbWVyY2UtcHJvZHVjdCc7XG5AdXNlICdjb21wb25lbnRzL3Byb2Nlc3MtZ3JpZCc7XG5AdXNlICdjb21wb25lbnRzL3Byb2Nlc3Mtc3RlcCc7XG5AdXNlICdjb21wb25lbnRzL3NpbmdsZS1jYXJkJztcbkB1c2UgJ2NvbXBvbmVudHMvdGVycmFpbi10aWxlJztcbkB1c2UgJ2NvbXBvbmVudHMvZmVhdHVyZS1ldmVudCc7XG4vLyBQcm9kdWN0LXBhZ2Ugd2FsayAobW9ja3VwICMxMjIyNClcbkB1c2UgJ2NvbXBvbmVudHMvcHJvZHVjdC1tZXRhLXN0cmlwJztcbkB1c2UgJ2NvbXBvbmVudHMvcHJvZHVjdC1kZXNjcmlwdGlvbic7XG5AdXNlICdjb21wb25lbnRzL3NwZWMtcGFuZWwnO1xuQHVzZSAnY29tcG9uZW50cy9jaGFzZS1jYXJkJztcbkB1c2UgJ2NvbXBvbmVudHMvbG9yZS1iYW5kJztcbkB1c2UgJ2NvbXBvbmVudHMvc2luZ2xlcy1iYW5uZXInO1xuQHVzZSAnY29tcG9uZW50cy9yZXZpZXctY2FyZCc7XG5AdXNlICdjb21wb25lbnRzL2NvbGxlY3Rvci1jYXJkJztcbkB1c2UgJ2NvbXBvbmVudHMvcGlja3VwLXN0cmlwJztcblxuLy8g4pSA4pSAIExheW91dHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBDaHJvbWUgbGF5b3V0IG92ZXJyaWRlcyDigJQgZ2xvYmFsIHN0cnVjdHVyYWwgQ1NTIGxpdmVzIGluIGZyYW1ld29yay12Mi9cbi8vIGdsb2JhbC9zY3NzL2xheW91dHMvLCBicmFuZCBzaWxvIGFkZHMgY29sb3VyLW9ubHkgZGVsdGFzLiBBY2NydWVkIHRoZVxuLy8gc2FtZSB3YXkgY29tcG9uZW50cyBhcmU6IG9ubHkgZm9yd2FyZCB3aGF0J3MgYmVlbiB3aXJlZC5cblxuQHVzZSAnbGF5b3V0cy9zaXRlLWhlYWQnO1xuQHVzZSAnbGF5b3V0cy9uYXYtZGVza3RvcCc7XG5AdXNlICdsYXlvdXRzL25hdi1tb2JpbGUnO1xuXG4vLyDilIDilIAgQmxvY2sgc3R5bGluZyAoUGF0aCBBKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFBlci1ibG9jayBAZXh0ZW5kIHJ1bGVzIHRoYXQgYXBwbHkgdGhlIGNvbXBvbmVudHMgYWJvdmUgb250byBXb3JkUHJlc3Ncbi8vIGJsb2NrIHNlbGVjdG9ycyAoZnJvbnQgZW5kIG9ubHkpLiBTZWUgYnVpbGQtcHJvbXB0cy9ibG9jay1zdHlsaW5nLXN5c3RlbS5tZC5cbkB1c2UgJ2Jsb2Nrcyc7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdENTUyBDVVNUT00gUFJPUEVSVElFU1xuXHRGcm9udC1lbmQgdG9rZW4gc3VyZmFjZS4gVGhlIGRlY2xhcmF0aW9ucyBsaXZlIGluIF9icmFuZC10b2tlbnMuc2NzcyBhcyBhXG5cdG1peGluIHNvIHRoZSBzYW1lIHNldCBhbHNvIGNvbXBpbGVzIHRvIHRva2Vucy5jc3MgKHNjb3BlZCB0byB0aGUgZWRpdG9yXG5cdGNhbnZhcyB3cmFwcGVyKSBmb3IgV1lTSVdZRyBibG9jayBwcmV2aWV3cy4gU2VlIHRva2Vucy5zY3NzLlxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuOnJvb3Qge1xuXG5cdEBpbmNsdWRlIGJyYW5kLXRva2VuLXZhcnM7XG5cbn1cblxuaHRtbCB7XG5cblx0QGluY2x1ZGUgYm9keS1mb250O1xuXG5cdGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcblxufVxuXG4ud3JhcHBlciB7XG5cblx0bWF4LXdpZHRoOiAkc2l0ZS1tYXgtd2lkdGg7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRwYWRkaW5nOiAkZ3V0dGVyO1xuXG5cdEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KCc3NjgnKSB7XG5cblx0XHRwYWRkaW5nOiAkZ3V0dGVyLS1zbWFsbDtcblxuXHR9XG5cbn1cbiIsIkB1c2UgJ21ldHJpY3MnIGFzIG1ldHJpY3M7XG5cbi8vIOKUgOKUgCBGb250IGZhbWlsaWVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4kYmFzZS1mb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7XG5cbi8vIE1vbm8g4oCUIEpldEJyYWlucyBNb25vLiBTdHlsZWd1aWRlIChTTlczKSBtYW5kYXRlcyBtb25vc3BhY2UgZm9yIHByaWNlcyxcbi8vIHJlZiBjb2RlcywgY29uZGl0aW9uIGdyYWRlcywgYW5kIG51bWVyaWMgc3BlYyBkYXRhIOKAlCBuZXZlciBib2R5L2hlYWRpbmdzLlxuJG1vbm8tZm9udC1mYW1pbHk6IFwiSmV0QnJhaW5zIE1vbm9cIiwgdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIG1vbm9zcGFjZTtcblxuLy8gTGVnYWN5IGFsaWFzZXMgZm9yIGdsb2JhbCBzaWxvXG4kZm9ybS1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4kaGVhZGluZy1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4kdGl0bGUtZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuJGN0YS1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG5cbi8vIOKUgOKUgCBXZWlnaHRzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4kcmVndWxhcjogNDAwO1xuJG1lZGl1bTogNTAwO1xuJHNlbWktYm9sZDogNjAwO1xuJGJvbGQ6IDcwMDtcbiR4Ym9sZDogODAwO1xuXG4vLyDilIDilIAgTGluZSBoZWlnaHRzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4kdGlnaHQtbGluZS1oZWlnaHQ6IDEuMDU7XG4kaGVhZGluZy1saW5lLWhlaWdodDogMS4xNTtcbiRjYXJkLWxpbmUtaGVpZ2h0OiAxLjM1O1xuJGJvZHktbGluZS1oZWlnaHQ6IDEuNTU7XG4kdWktbGluZS1oZWlnaHQ6IDEuMjtcblxuLy8gTGVnYWN5IGFsaWFzZXNcbiRiYXNlLWxpbmUtaGVpZ2h0LXJhdGlvOiAkYm9keS1saW5lLWhlaWdodDtcbiRoZWFkaW5nLWxpbmUtaGVpZ2h0LXJhdGlvOiAkaGVhZGluZy1saW5lLWhlaWdodDtcbiR0aXRsZS1saW5lLWhlaWdodC1yYXRpbzogMS4zO1xuJGN0YS1saW5lLWhlaWdodC1yYXRpbzogJHVpLWxpbmUtaGVpZ2h0O1xuJGZvcm0tbGluZS1oZWlnaHQtcmF0aW86IDE7XG5cbi8vIOKUgOKUgCBMZXR0ZXIgc3BhY2luZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuJHRpZ2h0LWxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuJGhlYWRpbmctbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4kd2lkZS1sZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuJHdpZGVyLWxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4kd2lkZXN0LWxldHRlci1zcGFjaW5nOiAwLjJlbTtcblxuLy8g4pSA4pSAIE1peGlucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuQG1peGluIGJvZHktZm9udCgpIHtcblxuXHRmb250LXNpemU6IG1ldHJpY3MuJGJhc2UtZm9udC1zaXplO1xuXHRsaW5lLWhlaWdodDogbWV0cmljcy4kYmFzZS1mb250LXNpemUgKiAkYm9keS1saW5lLWhlaWdodDtcblxufVxuXG5AbWl4aW4gbGFyZ2UtZm9udCgpIHtcblxuXHRmb250LXNpemU6IG1ldHJpY3MuJGxhcmdlLWZvbnQtc2l6ZTtcblx0bGluZS1oZWlnaHQ6IG1ldHJpY3MuJGxhcmdlLWZvbnQtc2l6ZSAqICRib2R5LWxpbmUtaGVpZ2h0O1xuXG59XG5cbkBtaXhpbiBtZWRpdW0tZm9udCgpIHtcblxuXHRmb250LXNpemU6IG1ldHJpY3MuJHN1YmhlYWRpbmctZm9udC1zaXplO1xuXHRsaW5lLWhlaWdodDogbWV0cmljcy4kc3ViaGVhZGluZy1mb250LXNpemUgKiAkYm9keS1saW5lLWhlaWdodDtcblxufVxuXG5AbWl4aW4gc21hbGwtZm9udCgpIHtcblxuXHRmb250LXNpemU6IG1ldHJpY3MuJHNtYWxsLWZvbnQtc2l6ZTtcblx0bGluZS1oZWlnaHQ6IG1ldHJpY3MuJHNtYWxsLWZvbnQtc2l6ZSAqICRib2R5LWxpbmUtaGVpZ2h0O1xuXG59XG4iXX0= */
