@charset "UTF-8";
/*------------------------------------*\
	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 {
  max-width: 100%;
  box-sizing: border-box;
}

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

*[popover] {
  border: none;
  padding: 0;
}

: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: var(--grid-gap, 25px);
  column-gap: var(--grid-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));
  }
}
.grid--split {
  grid-template-columns: var(--grid-columns, 1fr 1fr);
}

@media screen and (max-width: 1024px) {
  .grid--split {
    grid-template-columns: 100%;
  }
}
/*------------------------------------*\
	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);
\*------------------------------------*/
/*------------------------------------*\
	METRICS
	Spacing + containers + icons + radii from SAS1.
	Radii = 0 (SAS1 uses sharp corners across the board).
	Gutter = 24px (SAS1 canonical grid gap = spacing-5).
\*------------------------------------*/
/*------------------------------------*\
	PALETTE
	Raw colour values from SAS1 styleguide. Trimmed 2026-07-30 to only the
	values MAS43 actually paints with — colours defined but never rendered
	in the mockup are dropped (candidates return when a later mockup adopts
	them). See build-prompts/artsabers/theme-classes.md for the extraction
	protocol.

	Use directly by Sass name (fallback) or via the CSS custom property
	surface in _brand-tokens.scss (preferred).
\*------------------------------------*/
/*------------------------------------*\
	TYPOGRAPHY
	Fonts + weights + rhythm from SAS1 styleguide, trimmed 2026-07-30 to
	what MAS43 actually paints with. Space Grotesk was in SAS1 as a small-
	type chrome font, but MAS43 uses Orbitron for every chrome slot too —
	so we drop it and the theme uses two families (title + body) only.
	SAS1 title_defaults: Orbitron 600 upright. body_defaults: Onest 400.
\*------------------------------------*/
/*------------------------------------*\
	BRAND TOKENS — :root custom properties (single source)

	The ARTSABERS brand token set. Trimmed 2026-07-30 to only what MAS43
	actually paints with. Every colour defined here is referenced somewhere
	in MAS43's rendered CSS; every colour previously defined but only
	speculatively (SAS1 styleguide extras never used in the mockup) has
	been dropped. Same principle for fonts — Space Grotesk dropped since
	MAS43 uses Orbitron for every chrome slot.

	Mixin used twice — once in artsabers.scss :root (front end) and once
	in tokens.scss on .editor-styles-wrapper (editor canvas).

	See build-prompts/artsabers/theme-classes.md for the per-mockup
	colour-extraction protocol.
\*------------------------------------*/
/*------------------------------------*\
	COMPONENTS
	One @use per authored brand component. Accrues as the section walk
	lands each. See build-prompts/artsabers/theme-classes.md for the
	registry of what's authored and what's queued.
\*------------------------------------*/
.archive-header {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.archive-header__crumbs {
  display: flex;
  gap: 8px;
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.archive-header__crumbs-sep {
  opacity: 0.6;
}

.archive-header__crumbs-current {
  color: var(--chrome-warm);
}

.archive-header__title-accent {
  color: var(--ember);
}

.archive-header__desc {
  max-width: 640px;
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.55;
  color: var(--chrome-warm);
}

.article-blockquote {
  margin: 32px 0 0;
  padding: 20px 0 0;
  box-shadow: inset 0 1px 0 rgba(255, 122, 46, 0.35);
}

.article-blockquote__text {
  margin-bottom: 14px;
  font-family: var(--font-body);
  font-style: italic;
  font-size: 17px;
  line-height: 1.55;
  color: var(--chrome-highlight);
}

.article-blockquote__cite {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-size: 11px;
  font-style: normal;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.article-blockquote__cite::before {
  content: "—";
  color: var(--ember);
}

.atc-row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 12px;
  margin-top: 12px;
}

.atc-row__qty {
  display: grid;
  grid-template-columns: 1fr 40px 1fr;
  align-items: center;
  background: var(--hull-panel);
  box-shadow: inset 0 0 0 1px rgba(62, 62, 62, 0.55), inset 0 1px 0 rgba(250, 250, 250, 0.08);
}

.atc-row__qty-btn {
  font-family: var(--font-display);
  font-size: 18px;
  color: var(--chrome-warm);
  padding: 16px 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.atc-row__qty-value {
  text-align: center;
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  font-size: 16px;
  color: var(--chrome-highlight);
}

@media (max-width: 700px) {
  .atc-row {
    grid-template-columns: 100px 1fr;
  }
}
.badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.badge__dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ember);
  box-shadow: 0 0 8px rgba(255, 122, 46, 0.8);
}

.badge--dark {
  background: rgba(6, 6, 6, 0.85);
  border: 1px solid rgba(255, 122, 46, 0.4);
  color: var(--ember);
  font-weight: 700;
  letter-spacing: 0.14em;
}

.badge--ember {
  background: rgba(255, 122, 46, 0.16);
  border: 1px solid rgba(255, 122, 46, 0.65);
  color: var(--ember-glow);
  letter-spacing: 0.18em;
}

.badge--low {
  color: var(--ember-glow);
  border-color: rgba(255, 179, 71, 0.5);
}

.badge--low .badge__dot {
  background: var(--ember-glow);
}

.band-header {
  display: grid;
  grid-template-columns: 1.4fr 0.6fr;
  gap: 40px;
  align-items: end;
  margin-bottom: 44px;
}

.band-header__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--on-primary-fixed);
  opacity: 0.72;
  margin-bottom: 20px;
}

.band-header__eyebrow-idx {
  color: var(--on-primary-fixed);
  opacity: 1;
  font-weight: 700;
}

.band-header__eyebrow-hair {
  display: inline-block;
  width: 28px;
  height: 1px;
  background: var(--on-primary-fixed);
  opacity: 0.55;
}

.band-header__title-main {
  font-family: var(--font-display);
  font-size: clamp(40px, 4.5vw, 62px);
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--on-primary-fixed);
  margin: 0 0 20px;
}

.band-header__sub {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--on-primary-fixed);
  opacity: 0.82;
  max-width: 540px;
  margin: 0;
}

.band-header__meta {
  text-align: right;
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--on-primary-fixed);
  opacity: 0.72;
  line-height: 1.6;
}

.band-header__meta-em {
  display: inline-block;
  margin-top: 4px;
  font-size: 18px;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: var(--on-primary-fixed);
  opacity: 1;
}

@media (max-width: 700px) {
  .band-header {
    grid-template-columns: 1fr;
  }
  .band-header__meta {
    text-align: left;
  }
}
.box-item {
  position: relative;
  padding: 24px;
  background: rgba(20, 20, 20, 0.94);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.16), inset 0 -1px 0 rgba(0, 0, 0, 0.55), 0 10px 28px -10px rgba(0, 0, 0, 0.95), 0 2px 6px -2px rgba(0, 0, 0, 0.7);
}

.box-item::before, .box-item::after {
  content: "";
  position: absolute;
  top: 6px;
  z-index: 2;
  width: 6px;
  height: 6px;
  background: rgba(20, 20, 20, 0.98);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.3);
}

.box-item::before {
  left: 6px;
}

.box-item::after {
  right: 6px;
}

.box-item__stage {
  position: relative;
  aspect-ratio: 4/3;
  margin-bottom: 16px;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: var(--hull-panel-dark);
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.75), inset 0 0 0 1px rgba(0, 0, 0, 0.6);
  font-family: var(--font-body);
  font-style: italic;
  font-size: 11px;
  line-height: 1.45;
  color: var(--chrome-dim);
  overflow: hidden;
}

.box-item__stage::after {
  content: "PHOTOGRAPH BRIEF";
  position: absolute;
  top: 8px;
  left: 10px;
  font-family: var(--font-display);
  font-style: normal;
  font-size: 9px;
  letter-spacing: 0.24em;
  color: var(--ember);
}

.box-item__idx {
  margin-bottom: 6px;
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.18em;
  color: var(--ember);
}

.box-item__title {
  margin-bottom: 6px;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--chrome-highlight);
}

.box-item__caption {
  font-size: 13px;
  line-height: 1.45;
  color: var(--chrome-dim);
}

.breadcrumb {
  padding: 20px 0;
  background: var(--carbon);
  box-shadow: inset 0 -1px 0 rgba(62, 62, 62, 0.35);
}

.breadcrumb__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  max-width: var(--site-max-width, 1440px);
  margin: 0 auto;
  padding: 0 var(--gutter-small, 20px);
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.breadcrumb__inner a {
  color: var(--chrome-dim);
  text-decoration: none;
  transition: color 200ms ease;
}

.breadcrumb__inner a:hover {
  color: var(--ember);
}

.breadcrumb__sep {
  color: var(--ember);
  opacity: 0.6;
}

.breadcrumb__current {
  color: var(--chrome-warm);
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-family: var(--font-display);
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: box-shadow 200ms ease, transform 200ms ease, background 200ms ease, color 200ms ease;
}

.button--primary {
  padding: 20px 40px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: var(--on-primary-fixed);
  background: linear-gradient(180deg, var(--ember-glow) 0%, var(--ember) 50%, var(--ember-deep) 100%);
  box-shadow: var(--ember-glow-sm);
}

.button--primary:hover {
  box-shadow: var(--ember-glow-md);
  transform: translateY(-1px);
}

.button--ghost {
  padding: 18px 34px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.16em;
  color: var(--chrome-warm);
  background: transparent;
  border: 1px solid rgba(62, 62, 62, 0.65);
}

.button--ghost:hover {
  background: var(--hull-panel-lift);
  color: var(--chrome-highlight);
  box-shadow: var(--chrome-top-soft);
}

.button--large {
  padding: 22px 44px;
  font-size: 14px;
}

.button--block {
  display: flex;
  width: 100%;
}

.button__arrow {
  display: inline-block;
  margin-left: 4px;
}

.buy-actions {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.callout {
  margin-top: 48px;
  padding: 32px;
  background: var(--hull-panel-dark);
  box-shadow: var(--panel-lift);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px;
  align-items: center;
  position: relative;
}

.callout::before, .callout::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  top: 6px;
  background: rgba(20, 20, 20, 0.98);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.3);
}

.callout::before {
  left: 6px;
}

.callout::after {
  right: 6px;
}

@media (max-width: 700px) {
  .callout {
    grid-template-columns: 1fr;
  }
}
.callout__badge {
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ember);
  padding: 12px 16px;
  box-shadow: inset 0 0 0 1px rgba(255, 122, 46, 0.55);
  white-space: nowrap;
}

.callout__copy {
  font-size: 14px;
  color: var(--chrome-warm);
  line-height: 1.55;
}

.callout__copy strong {
  color: var(--chrome-highlight);
  font-family: var(--font-display);
  letter-spacing: 0.04em;
}

.cart-drawer {
  background-color: var(--charcoal);
  color: var(--chrome-warm);
  box-shadow: -16px 0 48px rgba(0, 0, 0, 0.6);
}

.cart-drawer__inner {
  background-color: var(--charcoal);
}

.cart-drawer__header {
  background-color: var(--charcoal);
  border-bottom: 1px solid rgba(255, 122, 46, 0.25);
}

.cart-drawer__title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--chrome-highlight);
}

.cart-drawer__full-link {
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chrome-dim);
  transition: color 0.2s ease;
}

.cart-drawer__full-link:hover {
  color: var(--ember);
}

.cart-drawer__close {
  color: var(--chrome-warm);
  background: transparent;
  border: none;
  cursor: pointer;
}

.cart-drawer__close .icon {
  fill: var(--chrome-warm);
}

.cart-drawer__close:hover {
  color: var(--ember);
}

.cart-drawer__close:hover .icon {
  fill: var(--ember);
}

.cart-drawer__body {
  background-color: var(--charcoal);
}

.cart-drawer__empty {
  color: var(--chrome-dim);
  text-align: center;
}

.cart-drawer__empty__lead {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  color: var(--chrome-warm);
  margin-bottom: 24px;
}

.category-browse-tile {
  display: flex;
  flex-direction: column;
  background: var(--hull-panel);
  text-decoration: none;
  box-shadow: var(--panel-lift), var(--chrome-top-soft);
  transition: box-shadow 250ms ease, transform 250ms ease;
}

.category-browse-tile:hover {
  transform: translateY(-4px);
  box-shadow: var(--ember-hot-rim), var(--panel-lift-hover);
}

.category-browse-tile__media {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: linear-gradient(140deg, rgba(15, 15, 15, 0.85) 0%, rgba(15, 15, 15, 0.3) 100%), var(--hull-panel-dark);
  background-size: cover;
  background-position: center;
}

.category-browse-tile__media::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 40%;
  background: linear-gradient(180deg, rgba(15, 15, 15, 0) 0%, rgba(15, 15, 15, 0.9) 100%);
  z-index: 1;
}

.category-browse-tile__media--triptych .category-browse-tile__portraits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  height: 100%;
  background: rgba(6, 6, 6, 0.6);
}

.category-browse-tile__media--triptych .category-browse-tile__portrait {
  background-size: cover;
  background-position: center top;
}

.category-browse-tile__tag {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  padding: 6px 10px;
  background: rgba(6, 6, 6, 0.7);
  border: 1px solid rgba(255, 122, 46, 0.4);
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ember);
}

.category-browse-tile__body {
  padding: 24px 26px 28px;
}

.category-browse-tile__title {
  margin-bottom: 8px;
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.8px;
  color: var(--chrome-highlight);
}

.category-browse-tile__desc {
  margin-bottom: 20px;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--chrome-dim);
}

.category-browse-tile__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-top: 14px;
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ember);
  box-shadow: inset 0 1px 0 rgba(54, 54, 54, 0.5);
}

.comparison-table__wrap {
  overflow-x: auto;
  background: rgba(15, 15, 15, 0.85);
  box-shadow: var(--panel-lift);
}

.comparison-table__table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
}

.comparison-table__table th,
.comparison-table__table td {
  padding: 18px 20px;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid rgba(250, 250, 250, 0.05);
}

.comparison-table__table thead th {
  padding-top: 24px;
  padding-bottom: 24px;
  background: rgba(10, 10, 10, 0.75);
  border-bottom: 1px solid rgba(250, 250, 250, 0.1);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--chrome-warm);
  vertical-align: bottom;
}

.comparison-table__table thead th small {
  display: block;
  margin-top: 6px;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.comparison-table__table tbody th {
  width: 200px;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.comparison-table__table td {
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--chrome-warm);
}

.comparison-table__col-selected {
  position: relative;
  background: rgba(255, 122, 46, 0.06);
  color: var(--chrome-highlight) !important;
  box-shadow: inset 2px 0 0 rgba(255, 122, 46, 0.35);
}

.comparison-table__yes {
  color: var(--ember);
  font-weight: 600;
}

.comparison-table__no {
  color: var(--chrome-dim);
}

.cross-sell-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: rgba(20, 20, 20, 0.94);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.16), inset 0 -1px 0 rgba(0, 0, 0, 0.55), 0 10px 28px -10px rgba(0, 0, 0, 0.95), 0 2px 6px -2px rgba(0, 0, 0, 0.7);
  transition: box-shadow 250ms ease, transform 250ms ease;
  text-decoration: none;
}

.cross-sell-card::before, .cross-sell-card::after {
  content: "";
  position: absolute;
  top: 6px;
  z-index: 2;
  width: 6px;
  height: 6px;
  background: rgba(20, 20, 20, 0.98);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.3);
}

.cross-sell-card::before {
  left: 6px;
}

.cross-sell-card::after {
  right: 6px;
}

.cross-sell-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ember-hot-rim), var(--panel-lift-hover);
}

.cross-sell-card__stage {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  padding: 32px 24px 24px;
  background: var(--hull-panel-dark);
  font-family: var(--font-body);
  font-style: italic;
  font-size: 12px;
  line-height: 1.5;
  color: var(--chrome-dim);
}

.cross-sell-card__stage::before {
  content: "PHOTOGRAPH BRIEF";
  position: absolute;
  top: 12px;
  left: 12px;
  font-family: var(--font-display);
  font-style: normal;
  font-size: 9px;
  letter-spacing: 0.24em;
  color: var(--ember);
}

.cross-sell-card__tag {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px 8px;
  font-family: var(--font-display);
  font-size: 9px;
  font-style: normal;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ember);
  box-shadow: inset 0 0 0 1px rgba(255, 122, 46, 0.55);
}

.cross-sell-card__info {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px 24px;
  background: var(--hull-panel-lift);
}

.cross-sell-card__eyebrow {
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.cross-sell-card__title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--chrome-highlight);
}

.cross-sell-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-top: 4px;
}

.cross-sell-card__tier {
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--chrome-warm);
}

.cross-sell-card__price {
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  font-size: 18px;
  font-weight: 600;
  color: var(--ember);
}

.editorial-band__inner {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 64px;
}

@media (max-width: 1024px) {
  .editorial-band__inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.editorial-band__eyebrow {
  position: relative;
  display: inline-block;
  padding-left: 18px;
  margin-bottom: 16px;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--ember);
}

.editorial-band__eyebrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 3px;
  background: var(--ember);
  box-shadow: 0 0 8px rgba(255, 122, 46, 0.55);
}

.editorial-band__prose {
  margin-top: 24px;
}

.editorial-band__prose p {
  margin-bottom: 18px;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.7;
  color: var(--chrome-warm);
}

.editorial-band__close {
  font-style: italic;
  font-size: 16px !important;
  color: var(--chrome-highlight) !important;
}

.editorial-band__aside {
  padding-top: 8px;
}

.editorial-band__aside-label {
  display: block;
  margin-bottom: 20px;
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ember);
}

.editorial-band__meta {
  display: flex;
  flex-direction: column;
}

.editorial-band__meta-item {
  padding: 14px 0;
  box-shadow: inset 0 -1px 0 rgba(62, 62, 62, 0.35);
}

.editorial-band__meta-label {
  display: block;
  margin-bottom: 4px;
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.editorial-band__meta-value {
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--chrome-highlight);
}

.editorial-band__meta-note {
  margin-top: 6px;
  font-family: var(--font-body);
  font-size: 12px;
  line-height: 1.5;
  color: var(--chrome-dim);
}

.editorial-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 32px;
  padding: 90px 80px;
  background: rgba(20, 20, 20, 0.94);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  box-shadow: var(--panel-lift);
}

.editorial-panel__eyebrow {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--ember);
}

.editorial-panel__lede {
  max-width: 520px;
  font-size: 18px;
  line-height: 1.6;
  color: var(--chrome-warm);
}

.editorial-panel__lede em, .editorial-panel__lede-em {
  color: var(--ember);
  font-style: normal;
  font-weight: 600;
}

.editorial-panel__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  padding: 26px 0 8px;
  border-top: 1px solid rgba(62, 62, 62, 0.4);
  border-bottom: 1px solid rgba(62, 62, 62, 0.4);
  font-family: var(--font-display);
}

.editorial-panel__fact-label {
  display: block;
  margin-bottom: 8px;
  font-size: 9px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.editorial-panel__fact-value {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--chrome-highlight);
}

.editorial-panel__fact-value-em {
  color: var(--ember);
}

.editorial-panel__cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-top: 12px;
}

.editorial-panel__link-em {
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ember);
}

@media (max-width: 700px) {
  .editorial-panel {
    padding: 60px 40px;
    gap: 24px;
  }
  .editorial-panel__facts {
    grid-template-columns: 100%;
    gap: 16px;
  }
}
.editorial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 260px;
  gap: 20px;
}

@media (max-width: 768px) {
  .editorial-grid {
    grid-template-columns: 100%;
    grid-auto-rows: 320px;
  }
  .editorial-grid .media-card--hero,
  .editorial-grid .media-card--wide {
    grid-column: auto;
    grid-row: auto;
  }
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-display);
  font-size: var(--fs-eyebrow);
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ember);
}

.eyebrow__idx {
  color: var(--chrome-dim);
  font-variant-numeric: tabular-nums;
}

.eyebrow__hair {
  display: inline-block;
  width: 46px;
  height: 1px;
  background: var(--ember);
  opacity: 0.7;
}

.eyebrow__em {
  color: var(--ember);
}

.eyebrow--dim {
  color: var(--chrome-dim);
}

.eyebrow--on-primary {
  color: var(--on-primary-fixed);
  opacity: 0.72;
}

.face-card {
  display: flex;
  flex-direction: column;
  background: rgba(20, 20, 20, 0.94);
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.12), 0 10px 28px -10px rgba(0, 0, 0, 0.95);
  transition: box-shadow 250ms ease, transform 250ms ease;
}

.face-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ember-hot-rim), var(--panel-lift-hover);
}

.face-card:hover .face-card__media img {
  transform: scale(1.05);
}

.face-card__media {
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
  background: var(--hull-panel-dark);
}

.face-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 400ms ease;
}

.face-card__badge {
  position: absolute;
  left: 16px;
  bottom: 16px;
  z-index: 2;
  padding: 6px 12px;
  background: rgba(6, 6, 6, 0.75);
  border: 1px solid rgba(255, 122, 46, 0.55);
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ember-glow);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.face-card__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 28px 26px 30px;
}

.face-card__role {
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ember);
}

.face-card__name {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--chrome-highlight);
}

.face-card__desc {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--chrome-warm);
}

.face-card__link {
  margin-top: 4px;
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ember);
}

.face-card__link-arrow {
  margin-left: 6px;
  color: var(--ember);
}

.faq-item {
  position: relative;
  padding: 24px 32px;
  background: rgba(20, 20, 20, 0.94);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.16), inset 0 -1px 0 rgba(0, 0, 0, 0.55), 0 10px 28px -10px rgba(0, 0, 0, 0.95), 0 2px 6px -2px rgba(0, 0, 0, 0.7);
}

.faq-item::before, .faq-item::after {
  content: "";
  position: absolute;
  top: 6px;
  z-index: 2;
  width: 6px;
  height: 6px;
  background: rgba(20, 20, 20, 0.98);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.3);
}

.faq-item::before {
  left: 6px;
}

.faq-item::after {
  right: 6px;
}

.faq-item__head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: baseline;
  gap: 16px;
}

.faq-item__idx {
  min-width: 32px;
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  font-size: 11px;
  letter-spacing: 0.2em;
  color: var(--ember);
}

.faq-item__question {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--chrome-highlight);
}

.faq-item__toggle {
  font-family: var(--font-display);
  font-size: 22px;
  line-height: 1;
  color: var(--ember);
}

.faq-item__answer {
  margin-top: 12px;
  padding-top: 12px;
  max-width: 78ch;
  font-size: 14px;
  line-height: 1.6;
  color: var(--chrome-warm);
  box-shadow: inset 0 1px 0 rgba(62, 62, 62, 0.35);
}

.faq-item--open {
  background: var(--hull-panel-lift);
}

.faq-item--closed .faq-item__answer {
  display: none;
}

.feature-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 620px;
  background: rgba(20, 20, 20, 0.94);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.16), inset 0 -1px 0 rgba(0, 0, 0, 0.55), 0 10px 28px -10px rgba(0, 0, 0, 0.95), 0 2px 6px -2px rgba(0, 0, 0, 0.7);
}

.feature-panel__stage {
  position: relative;
  height: 340px;
  background: var(--hull-panel-dark);
  overflow: hidden;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.8);
}

.feature-panel__media {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;
}

.feature-panel__stage-edge {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(255, 122, 46, 0) 0%, rgba(255, 122, 46, 0.65) 50%, rgba(255, 122, 46, 0) 100%);
  filter: blur(2px);
  z-index: 2;
}

.feature-panel__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: 46px 42px 40px;
}

.feature-panel__title {
  font-family: var(--font-display);
  font-size: var(--fs-heading);
  font-weight: 700;
  letter-spacing: 0.8px;
  line-height: 1.05;
  text-transform: uppercase;
  color: var(--chrome-highlight);
}

.feature-panel__text {
  max-width: 480px;
  font-size: 16px;
  line-height: 1.65;
  color: var(--chrome-warm);
}

.feature-panel__strip {
  margin-top: auto;
  padding-top: 22px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  border-top: 1px solid rgba(62, 62, 62, 0.35);
  font-family: var(--font-display);
}

.feature-panel__strip-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.feature-panel__strip-label {
  font-size: 9px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.feature-panel__strip-value {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--chrome-warm);
}

.feature-panel__strip-value--ember {
  color: var(--ember);
}

@media (max-width: 700px) {
  .feature-panel {
    min-height: 0;
  }
  .feature-panel__stage {
    height: 220px;
  }
  .feature-panel__body {
    padding: 32px 24px 28px;
  }
}
.feature-stage {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  background-color: var(--hull-panel-dark);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.16), inset 0 -1px 0 rgba(0, 0, 0, 0.55), 0 10px 28px -10px rgba(0, 0, 0, 0.95), 0 2px 6px -2px rgba(0, 0, 0, 0.7);
}

.feature-stage__image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;
}

.feature-stage__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.feature-stage__edge {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, rgba(255, 122, 46, 0) 0%, rgba(255, 122, 46, 0.75) 50%, rgba(255, 122, 46, 0) 100%);
  filter: blur(0.5px);
  z-index: 3;
}

.feature-stage__caption {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  z-index: 4;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--chrome-warm);
  background: rgba(6, 6, 6, 0.6);
  padding: 12px 16px;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.feature-stage__caption-idx {
  color: var(--ember);
}

.feature-stage--stretch {
  min-height: 0;
  height: 100%;
}

@media (max-width: 1024px) {
  .feature-stage--stretch {
    min-height: 380px;
  }
}
@media (max-width: 1024px) {
  .feature-stage {
    min-height: 380px;
  }
}
.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  background: rgba(255, 122, 46, 0.1);
  border: 1px solid rgba(255, 122, 46, 0.45);
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ember-glow);
}

.filter-chip__x {
  font-size: 12px;
  color: var(--chrome-dim);
  cursor: pointer;
  transition: color 200ms ease;
}

.filter-chip__x:hover {
  color: var(--ember);
}

.filter-group {
  padding: 16px 0;
  box-shadow: inset 0 -1px 0 rgba(62, 62, 62, 0.35);
}

.filter-group__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  cursor: pointer;
}

.filter-group__title {
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chrome-highlight);
}

.filter-group__toggle {
  font-family: var(--font-display);
  font-size: 16px;
  line-height: 1;
  color: var(--ember);
}

.filter-group__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.filter-group--collapsed .filter-group__list {
  display: none;
}

.filter-option {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--chrome-warm);
}

.filter-option__box {
  flex-shrink: 0;
  position: relative;
  width: 14px;
  height: 14px;
  background: rgba(6, 6, 6, 0.6);
  box-shadow: inset 0 0 0 1px rgba(62, 62, 62, 0.65);
}

.filter-option__label {
  flex: 1;
}

.filter-option__count {
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--chrome-dim);
}

.filter-option--checked .filter-option__box {
  background: rgba(255, 122, 46, 0.16);
  box-shadow: inset 0 0 0 1px rgba(255, 122, 46, 0.65);
}

.filter-option--checked .filter-option__box::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 3px;
  width: 8px;
  height: 8px;
  background: var(--ember);
  box-shadow: 0 0 6px rgba(255, 122, 46, 0.7);
}

.filter-option--checked {
  color: var(--chrome-highlight);
}

.filter-range {
  padding-top: 8px;
}

.filter-range__track {
  position: relative;
  height: 4px;
  background: rgba(6, 6, 6, 0.6);
  box-shadow: inset 0 0 0 1px rgba(62, 62, 62, 0.55);
  margin-bottom: 24px;
}

.filter-range__fill {
  position: absolute;
  left: 12%;
  right: 28%;
  top: 0;
  bottom: 0;
  background: linear-gradient(90deg, var(--ember-forge), var(--ember-glow));
  box-shadow: 0 0 8px rgba(255, 122, 46, 0.45);
}

.filter-range__handle {
  position: absolute;
  top: 50%;
  width: 14px;
  height: 14px;
  transform: translate(-50%, -50%);
  background: var(--ember);
  box-shadow: 0 0 12px rgba(255, 122, 46, 0.75);
  cursor: grab;
}

.filter-range__handle--left {
  left: 12%;
}

.filter-range__handle--right {
  left: 72%;
}

.filter-range__values {
  display: flex;
  justify-content: space-between;
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  font-size: 12px;
  letter-spacing: 0.1em;
  color: var(--ember);
}

.filter-sidebar {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.filter-sidebar__active {
  padding-bottom: 24px;
  box-shadow: inset 0 -1px 0 rgba(62, 62, 62, 0.35);
}

.filter-sidebar__active-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.filter-sidebar__active-title {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.filter-sidebar__clear {
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ember);
  text-decoration: none;
}

.filter-sidebar__clear:hover {
  color: var(--ember-glow);
}

.filter-sidebar__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.handle {
  display: flex;
  align-items: center;
  gap: 10px;
}

.handle__name {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--chrome-highlight);
}

.handle__platform {
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ember);
}

.hero {
  position: relative;
  background: var(--carbon);
  overflow: hidden;
  min-height: 840px;
  padding: 120px 0 180px;
}

.hero__bg {
  position: absolute;
  inset: 0;
  background-image: var(--hero-image, none);
  background-size: cover;
  background-position: center;
  z-index: 0;
}

.hero__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6, 6, 5, 0.5) 0%, rgba(6, 6, 5, 0.55) 55%, rgba(6, 6, 5, 0.65) 100%), linear-gradient(to right, rgba(6, 6, 5, 0.8) 0%, rgba(6, 6, 5, 0.2) 60%, transparent 100%);
  z-index: 1;
}

.hero__inner {
  position: relative;
  z-index: 2;
}

.hero__eyebrow {
  margin-bottom: 28px;
  display: inline-flex;
  align-items: center;
}

.hero__eyebrow::before {
  content: "";
  width: 32px;
  height: 1px;
  background: var(--ember);
  box-shadow: 0 0 6px var(--ember);
  margin-right: 12px;
}

.hero__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(48px, 5.4vw, 80px);
  letter-spacing: 0.8px;
  color: var(--chrome-highlight);
  text-shadow: 0 6px 30px rgba(0, 0, 0, 0.7);
  line-height: 1.05;
  margin: 0 0 34px;
  max-width: 1020px;
}

.hero__subline {
  font-family: var(--font-body);
  font-size: 20px;
  max-width: 620px;
  color: var(--chrome-warm);
  margin: 0 0 44px;
  line-height: 1.55;
}

.hero__actions {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 48px;
  flex-wrap: wrap;
}

.hero__backlight {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 120px;
  background: radial-gradient(ellipse at 30% 100%, rgba(255, 122, 46, 0.25) 0%, transparent 65%);
  z-index: 2;
  pointer-events: none;
}

.hero__trust-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.hero__trust-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.hero__trust-chip::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 1px solid var(--ember);
  display: inline-block;
  transform: rotate(45deg);
  background: rgba(255, 122, 46, 0.15);
}

.length-card {
  text-align: center;
}

.length-card__stage {
  position: relative;
  aspect-ratio: 3/5;
  margin-bottom: 16px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  background: var(--hull-panel-dark);
  box-shadow: var(--panel-lift);
}

.length-card__stage::before {
  content: "PHOTOGRAPH BRIEF";
  position: absolute;
  top: 12px;
  left: 12px;
  font-family: var(--font-display);
  font-size: 9px;
  letter-spacing: 0.24em;
  color: var(--ember);
}

.length-card__caption {
  text-align: left;
  font-family: var(--font-body);
  font-style: italic;
  font-size: 11px;
  line-height: 1.5;
  color: var(--chrome-dim);
}

.length-card__blade {
  position: absolute;
  left: 50%;
  bottom: 20%;
  width: 4px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(255, 179, 71, 0.9) 0%, rgba(255, 122, 46, 0.75) 100%);
  box-shadow: 0 0 24px rgba(255, 122, 46, 0.65);
}

.length-card__blade--short {
  height: 42%;
}

.length-card__blade--medium {
  height: 55%;
}

.length-card__blade--long {
  height: 66%;
}

.length-card__label {
  margin-bottom: 4px;
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--chrome-highlight);
}

.length-card__grade {
  margin-bottom: 4px;
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ember);
}

.length-card__price {
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  font-size: 13px;
  letter-spacing: 0.06em;
  color: var(--chrome-dim);
}

.length-card__price-em {
  color: var(--ember);
}

.link-box {
  position: relative;
  height: 420px;
  background: rgba(15, 15, 15, 0.9);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.16), inset 0 -1px 0 rgba(0, 0, 0, 0.55), 0 10px 28px -10px rgba(0, 0, 0, 0.95), 0 2px 6px -2px rgba(0, 0, 0, 0.7);
  overflow: hidden;
  cursor: pointer;
  transition: box-shadow 250ms ease, transform 250ms ease;
}

.link-box:hover {
  transform: translateY(-4px);
  box-shadow: var(--ember-hot-rim), var(--panel-lift-hover);
}

.link-box:hover .link-box__overlay {
  opacity: 0.75;
}

.link-box:hover .link-box__edge {
  opacity: 1;
}

.link-box__media {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 1;
}

.link-box__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6, 6, 6, 0.15) 0%, rgba(6, 6, 6, 0.15) 55%, rgba(6, 6, 6, 0.9) 100%);
  z-index: 2;
  pointer-events: none;
  transition: opacity 250ms ease;
}

.link-box__edge {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, rgba(255, 122, 46, 0) 0%, rgba(255, 122, 46, 0.75) 50%, rgba(255, 122, 46, 0) 100%);
  box-shadow: 0 0 16px rgba(255, 122, 46, 0.55);
  opacity: 0;
  transition: opacity 250ms ease;
  z-index: 3;
}

.link-box__label {
  position: absolute;
  left: 24px;
  bottom: 24px;
  right: 24px;
  z-index: 4;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.link-box__meta {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.link-box__meta-em {
  color: var(--ember);
  font-variant-numeric: tabular-nums;
}

.link-box__title {
  font-family: var(--font-display);
  font-size: 34px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--chrome-highlight);
  line-height: 1;
}

.link-box__arrow {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--chrome-warm);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
}

.link-box__arrow-glyph {
  color: var(--ember);
}

@media (max-width: 700px) {
  .link-box {
    height: 340px;
  }
}
.link-row {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 12px 20px 12px 12px;
  background: rgba(20, 20, 20, 0.94);
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.55);
  transition: background 220ms ease, transform 220ms ease;
}

.link-row:hover {
  background: rgba(30, 30, 30, 0.96);
  transform: translateX(3px);
}

.link-row:hover .link-row__arrow {
  transform: translateX(4px);
}

.link-row__thumb {
  width: 72px;
  height: 72px;
  background-size: cover;
  background-position: center;
  background-color: var(--hull-panel-dark);
}

.link-row__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.link-row__count {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.link-row__count-em {
  color: var(--ember);
  font-variant-numeric: tabular-nums;
}

.link-row__title {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--chrome-highlight);
}

.link-row__arrow {
  font-family: var(--font-display);
  font-size: 18px;
  color: var(--ember);
  transition: transform 220ms ease;
}

.media-card {
  position: relative;
  overflow: hidden;
  background-color: var(--void);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.media-card--hero {
  grid-column: span 2;
  grid-row: span 2;
}

.media-card--wide {
  grid-column: span 2;
}

.media-card__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(6, 6, 5, 0) 30%, rgba(6, 6, 5, 0.5) 65%, rgba(6, 6, 5, 0.9) 100%);
  pointer-events: none;
}

.media-card__badge {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 3;
}

.media-card__meta {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  padding: 20px 24px 22px;
}

.media-card__meta .handle {
  margin-bottom: 8px;
}

.media-card__caption {
  margin-bottom: 12px;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.4;
  color: var(--chrome-warm);
}

.media-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px;
  border: 1px solid rgba(231, 224, 220, 0.2);
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chrome-warm);
  text-decoration: none;
  transition: border-color 200ms ease, color 200ms ease;
}

.media-card__link::before {
  content: "→";
  font-size: 11px;
  color: var(--ember);
}

.media-card__link:hover {
  border-color: var(--ember);
  color: var(--chrome-highlight);
}

.mid-cta__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  align-items: center;
  justify-content: center;
  padding: 32px 0;
}

.mid-cta__text {
  font-family: var(--font-body);
  font-size: 16px;
  color: var(--chrome-warm);
}

.mid-cta__text strong {
  color: var(--chrome-highlight);
  font-weight: 600;
}

.newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 44px;
  background: rgba(20, 20, 20, 0.94);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.2), 0 30px 60px -20px rgba(0, 0, 0, 0.7);
}

.newsletter-form__label {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--ember-glow);
}

.newsletter-form__input {
  width: 100%;
  padding: 14px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(184, 176, 166, 0.35);
  font-family: var(--font-body);
  font-size: 17px;
  color: var(--chrome-warm);
  outline: none;
  transition: border-color 200ms ease, box-shadow 200ms ease;
}

.newsletter-form__input::placeholder {
  color: var(--chrome-dim);
  opacity: 0.7;
}

.newsletter-form__input:focus {
  border-bottom-color: var(--ember);
  box-shadow: 0 2px 12px -2px rgba(255, 122, 46, 0.4);
}

.newsletter-form__fine {
  font-family: var(--font-body);
  font-size: 12px;
  line-height: 1.5;
  color: var(--chrome-dim);
}

@media (max-width: 700px) {
  .newsletter-form {
    padding: 32px 24px;
  }
}
.offer-card {
  display: grid;
  grid-template-columns: 35% 65%;
  min-height: 240px;
  background: rgba(20, 20, 20, 0.94);
  text-decoration: none;
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.55), 0 24px 48px -18px rgba(0, 0, 0, 0.55), 0 6px 14px -6px rgba(0, 0, 0, 0.45);
  transition: transform 250ms ease, box-shadow 250ms ease;
}

.offer-card:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.24), inset 0 -1px 0 rgba(0, 0, 0, 0.55), 0 32px 60px -18px rgba(0, 0, 0, 0.65), 0 8px 20px -6px rgba(0, 0, 0, 0.55);
}

.offer-card__media {
  position: relative;
  background-size: cover;
  background-position: center;
  background-color: var(--hull-panel-dark);
  min-height: 240px;
}

.offer-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(20, 20, 20, 0) 60%, rgba(20, 20, 20, 0.55) 100%);
  pointer-events: none;
}

.offer-card__body {
  display: flex;
  flex-direction: column;
  padding: 28px 32px;
  gap: 10px;
}

.offer-card__eyebrow {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.offer-card__eyebrow-idx {
  color: var(--ember);
  font-weight: 700;
}

.offer-card__title {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: var(--chrome-highlight);
  margin: 0;
}

.offer-card__text {
  font-size: 14px;
  line-height: 1.55;
  color: var(--chrome-warm);
  margin: 0;
}

.offer-card__strip {
  display: flex;
  gap: 18px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid rgba(62, 62, 62, 0.5);
}

.offer-card__chip {
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-family: var(--font-display);
}

.offer-card__chip-label {
  font-size: 9px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.offer-card__chip-value {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ember);
}

.offer-card__cta {
  margin-top: 12px;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--chrome-highlight);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color 220ms ease, transform 220ms ease;
}

.offer-card:hover .offer-card__cta {
  color: var(--ember);
  transform: translateX(3px);
}

@media (max-width: 700px) {
  .offer-card {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .offer-card__media {
    min-height: 180px;
  }
}
.page-title {
  font-family: var(--font-display);
  font-size: 56px;
  font-weight: 700;
  line-height: 0.96;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--chrome-highlight);
}

@media (max-width: 1024px) {
  .page-title {
    font-size: 44px;
  }
}
@media (max-width: 700px) {
  .page-title {
    font-size: 34px;
  }
}
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 40px;
  padding-top: 32px;
  box-shadow: inset 0 1px 0 rgba(62, 62, 62, 0.35);
}

.pagination__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  padding: 10px 14px;
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--chrome-warm);
  background: transparent;
  box-shadow: inset 0 0 0 1px rgba(62, 62, 62, 0.55);
  text-decoration: none;
  transition: box-shadow 200ms ease, color 200ms ease;
}

.pagination__link:hover {
  color: var(--ember);
  box-shadow: inset 0 0 0 1px rgba(255, 122, 46, 0.65);
}

.pagination__link--active {
  color: var(--chrome-highlight);
  box-shadow: var(--ember-hot-rim);
}

.pagination__link--nav {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
}

.pagination__link--nav.disabled {
  opacity: 0.35;
  pointer-events: none;
}

.pagination__ellipsis {
  font-family: var(--font-display);
  color: var(--chrome-dim);
  padding: 0 4px;
}

.panel-seam {
  position: relative;
  height: 2px;
  width: 100%;
  background: linear-gradient(90deg, rgba(255, 122, 46, 0.25) 0%, rgba(255, 122, 46, 0.85) 50%, rgba(255, 122, 46, 0.25) 100%);
  box-shadow: 0 -14px 40px 0 rgba(255, 122, 46, 0.3), 0 14px 40px 0 rgba(255, 122, 46, 0.5);
  z-index: 4;
  overflow: visible;
}

.price-stack {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.price-stack__amount {
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--ember);
}

.price-stack__bnpl {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--chrome-dim);
}

.price-stack__bnpl strong {
  color: var(--chrome-warm);
  font-weight: 600;
}

.product-card {
  background: rgba(20, 20, 20, 0.94);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.16), inset 0 -1px 0 rgba(0, 0, 0, 0.55), 0 10px 28px -10px rgba(0, 0, 0, 0.95), 0 2px 6px -2px rgba(0, 0, 0, 0.7);
  display: flex;
  flex-direction: column;
  position: relative;
  transition: box-shadow 250ms ease, transform 250ms ease;
}

.product-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ember-hot-rim), var(--panel-lift-hover);
}

.product-card--hot {
  box-shadow: var(--panel-lift), var(--ember-hot-rim);
}

.product-card--hot:hover {
  transform: translateY(-4px);
  box-shadow: var(--ember-hot-rim), var(--panel-lift-hover), var(--ember-glow-md);
}

.product-card__media {
  position: relative;
  aspect-ratio: 1/1;
  background-color: var(--void);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.product-card__media::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 62%, rgba(6, 6, 6, 0.75) 100%);
  z-index: 1;
  pointer-events: none;
}

.product-card__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 4px;
  background: linear-gradient(90deg, rgba(255, 122, 46, 0) 0%, rgba(255, 122, 46, 0.6) 50%, rgba(255, 122, 46, 0) 100%);
  z-index: 2;
  filter: blur(3px);
}

.product-card__badge {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 3;
}

.product-card__body {
  background: var(--hull-panel-lift);
  padding: 24px 28px 28px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.product-card__meta {
  font-family: var(--font-display);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--chrome-dim);
  margin-bottom: 10px;
}

.product-card__name {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--chrome-highlight);
  margin-bottom: 14px;
  line-height: 1.1;
}

.product-card__specs {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px dotted rgba(184, 176, 166, 0.2);
}

.product-card__spec {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-family: var(--font-body);
  font-size: 12px;
  padding: 4px 0;
}

.product-card__spec-label {
  color: var(--chrome-dim);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-family: var(--font-display);
}

.product-card__spec-value {
  color: var(--chrome-warm);
  font-family: var(--font-display);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

.product-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
}

.product-card__price {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 600;
  color: var(--ember);
  font-variant-numeric: tabular-nums;
}

.product-card__price-was {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 500;
  color: var(--chrome-dim);
  text-decoration: line-through;
  text-decoration-color: rgba(199, 193, 190, 0.6);
}

.product-card__cta {
  font-family: var(--font-display);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--chrome-warm);
  text-decoration: none;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--ember);
  transition: color 0.2s ease;
}

.product-card__cta:hover {
  color: var(--ember);
}

.product-gallery {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 16px;
}

.product-gallery__thumbs {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.product-gallery__thumb {
  position: relative;
  aspect-ratio: 1/1;
  background-color: var(--hull-panel);
  background-size: cover;
  background-position: center;
  box-shadow: var(--panel-lift);
  cursor: pointer;
}

.product-gallery__thumb::before, .product-gallery__thumb::after {
  content: "";
  position: absolute;
  top: 4px;
  z-index: 2;
  width: 6px;
  height: 6px;
  background: rgba(20, 20, 20, 0.98);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.3);
}

.product-gallery__thumb::before {
  left: 4px;
}

.product-gallery__thumb::after {
  right: 4px;
}

.product-gallery__thumb--active {
  box-shadow: var(--ember-hot-rim);
}

.product-gallery__main {
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
  background-color: var(--hull-panel);
  background-size: cover;
  background-position: center;
  box-shadow: var(--panel-lift);
}

.product-gallery__main::before, .product-gallery__main::after {
  content: "";
  position: absolute;
  top: 6px;
  z-index: 2;
  width: 8px;
  height: 8px;
  background: rgba(20, 20, 20, 0.98);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.3);
}

.product-gallery__main::before {
  left: 6px;
}

.product-gallery__main::after {
  right: 6px;
}

.product-gallery__callout {
  position: absolute;
  bottom: 24px;
  left: 24px;
  padding: 8px 12px;
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ember);
  background: rgba(6, 6, 6, 0.75);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.14);
}

@media (max-width: 1024px) {
  .product-gallery {
    grid-template-columns: 1fr;
  }
  .product-gallery__thumbs {
    flex-direction: row;
  }
  .product-gallery__thumb {
    width: 64px;
  }
}
.rating-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  box-shadow: inset 0 -1px 0 rgba(62, 62, 62, 0.35);
}

.rating-row__stars {
  display: inline-flex;
  gap: 2px;
  color: var(--ember);
  font-size: 14px;
  letter-spacing: 2px;
}

.rating-row__count {
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.reinforce-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 32px 28px;
  background: rgba(20, 20, 20, 0.94);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.12), 0 10px 28px -10px rgba(0, 0, 0, 0.95);
}

.reinforce-card::before, .reinforce-card::after {
  content: "";
  position: absolute;
  top: 6px;
  z-index: 2;
  width: 6px;
  height: 6px;
  background: rgba(20, 20, 20, 0.98);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.3);
}

.reinforce-card::before {
  left: 6px;
}

.reinforce-card::after {
  right: 6px;
}

.reinforce-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  color: var(--ember);
  background: rgba(255, 122, 46, 0.08);
  box-shadow: inset 0 0 0 1px rgba(255, 122, 46, 0.28);
}

.reinforce-card__icon svg {
  width: 26px;
  height: 26px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
}

.reinforce-card__label {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.reinforce-card__title {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--chrome-highlight);
}

.reinforce-card__body {
  flex: 1;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--chrome-warm);
}

.reinforce-card__cta {
  margin-top: 4px;
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ember);
  text-decoration: none;
}

.reinforce-card--placeholder {
  opacity: 0.75;
}

.reinforce-card--placeholder .reinforce-card__cta {
  color: var(--chrome-dim);
  cursor: default;
}

.reinforce-card__placeholder-note {
  display: inline-block;
  padding: 4px 10px;
  margin-bottom: 4px;
  background: rgba(255, 122, 46, 0.08);
  border: 1px solid rgba(255, 122, 46, 0.35);
  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ember-glow);
  align-self: flex-start;
}

.reinforcement-band {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 32px;
}

.reinforcement-band__phrase {
  position: relative;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--chrome-warm);
}

.reinforcement-band__phrase:not(:first-child)::before {
  content: "•";
  display: inline-block;
  margin-right: 32px;
  color: var(--ember);
  font-size: 14px;
  transform: translateY(-2px);
}

@media (max-width: 700px) {
  .reinforcement-band {
    flex-direction: column;
    gap: 12px;
  }
  .reinforcement-band__phrase:not(:first-child)::before {
    display: none;
  }
}
.review-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
  background: rgba(20, 20, 20, 0.94);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.16), inset 0 -1px 0 rgba(0, 0, 0, 0.55), 0 10px 28px -10px rgba(0, 0, 0, 0.95), 0 2px 6px -2px rgba(0, 0, 0, 0.7);
}

.review-card::before, .review-card::after {
  content: "";
  position: absolute;
  top: 6px;
  z-index: 2;
  width: 6px;
  height: 6px;
  background: rgba(20, 20, 20, 0.98);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.3);
}

.review-card::before {
  left: 6px;
}

.review-card::after {
  right: 6px;
}

.review-card__stars {
  color: var(--ember);
  font-size: 14px;
  letter-spacing: 3px;
}

.review-card__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ember);
}

.review-card__badge::before {
  content: "";
  width: 6px;
  height: 6px;
  background: var(--ember);
  box-shadow: 0 0 8px rgba(255, 122, 46, 0.75);
}

.review-card__title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.8px;
  color: var(--chrome-highlight);
}

.review-card__body {
  flex: 1;
  font-size: 13px;
  line-height: 1.6;
  color: var(--chrome-warm);
}

.review-card__meta {
  padding-top: 12px;
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chrome-dim);
  box-shadow: inset 0 1px 0 rgba(62, 62, 62, 0.35);
}

.reviews-aggregate {
  position: relative;
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 64px;
  margin-bottom: 48px;
  padding: 48px;
  background: rgba(20, 20, 20, 0.94);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.16), inset 0 -1px 0 rgba(0, 0, 0, 0.55), 0 10px 28px -10px rgba(0, 0, 0, 0.95), 0 2px 6px -2px rgba(0, 0, 0, 0.7);
}

.reviews-aggregate::before, .reviews-aggregate::after {
  content: "";
  position: absolute;
  top: 6px;
  z-index: 2;
  width: 6px;
  height: 6px;
  background: rgba(20, 20, 20, 0.98);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.3);
}

.reviews-aggregate::before {
  left: 6px;
}

.reviews-aggregate::after {
  right: 6px;
}

.reviews-aggregate__score {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding-right: 32px;
  box-shadow: inset -1px 0 0 rgba(62, 62, 62, 0.35);
}

.reviews-aggregate__number {
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  font-size: 92px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--ember);
}

.reviews-aggregate__stars {
  color: var(--ember);
  font-size: 20px;
  letter-spacing: 4px;
}

.reviews-aggregate__meta {
  text-align: center;
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.reviews-aggregate__placeholder {
  margin-top: 12px;
  font-family: var(--font-body);
  font-style: italic;
  font-size: 11px;
  color: var(--ember);
}

.reviews-aggregate__bars {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.reviews-aggregate__bar {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  gap: 12px;
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.14em;
  color: var(--chrome-dim);
}

.reviews-aggregate__bar-track {
  position: relative;
  height: 6px;
  background: var(--hull-panel-dark);
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.7);
}

.reviews-aggregate__bar-fill {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background: linear-gradient(90deg, var(--ember-forge), var(--ember-glow));
  box-shadow: 0 0 12px rgba(255, 122, 46, 0.45);
}

@media (max-width: 700px) {
  .reviews-aggregate {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 32px;
  }
  .reviews-aggregate__score {
    padding-right: 0;
    padding-bottom: 24px;
    box-shadow: inset 0 -1px 0 rgba(62, 62, 62, 0.35);
  }
  .reviews-aggregate__number {
    font-size: 68px;
  }
}
.section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 60px;
  margin-bottom: 72px;
}

.section-header__title {
  max-width: 640px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.section-header__title .eyebrow {
  margin-bottom: 4px;
}

.section-header__meta {
  align-self: flex-end;
  text-align: right;
  padding-bottom: 6px;
  font-family: var(--font-display);
  font-size: var(--fs-eyebrow);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.section-header__meta-em {
  color: var(--ember);
}

@media (max-width: 700px) {
  .section-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
  .section-header__meta {
    text-align: left;
  }
}
.section__title {
  font-family: var(--font-display);
  font-size: 34px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--chrome-highlight);
  margin: 0;
}

.section__title--sm {
  font-size: 26px;
}

.section__title--lg {
  font-size: 40px;
}

.section-title--sub {
  font-family: var(--font-body);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.8px;
  text-transform: none;
  color: var(--chrome-dim);
  max-width: 620px;
}

.seo-copy__inner {
  max-width: 900px;
  margin: 0 auto;
}

.seo-copy__eyebrow {
  margin-bottom: 12px;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ember);
}

.seo-copy__title {
  margin-bottom: 40px;
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--chrome-highlight);
}

.seo-copy__title-accent {
  color: var(--ember);
}

.seo-copy__section {
  margin-bottom: 32px;
}

.seo-copy__h3 {
  position: relative;
  padding-left: 20px;
  margin-bottom: 12px;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--chrome-highlight);
}

.seo-copy__h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  background: var(--ember);
  box-shadow: 0 0 8px rgba(255, 122, 46, 0.55);
}

.seo-copy__p {
  max-width: 78ch;
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--chrome-warm);
}

.seo-copy__p + .seo-copy__p {
  margin-top: 10px;
}

.seo-copy__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-top: 40px;
  padding-top: 24px;
  box-shadow: inset 0 1px 0 rgba(62, 62, 62, 0.35);
}

.seo-copy__links-label {
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.seo-copy__link {
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ember);
  text-decoration: none;
}

.seo-copy__link:hover {
  color: var(--ember-glow);
}

.seo-copy__seam {
  height: 2px;
  margin-top: 48px;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 122, 46, 0.55) 50%, transparent 100%);
  box-shadow: 0 0 16px rgba(255, 122, 46, 0.35);
}

.shop-banner {
  position: relative;
  grid-column: 1/-1;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 32px 40px;
  background: linear-gradient(90deg, var(--ember-forge) 0%, var(--ember) 55%, var(--ember-glow) 100%);
  color: var(--on-primary-fixed);
  box-shadow: inset 0 1px 0 rgba(255, 235, 180, 0.45), inset 0 -1px 0 rgba(90, 26, 0, 0.55), 0 12px 32px -8px rgba(255, 122, 46, 0.35);
}

.shop-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: radial-gradient(ellipse at 20% 30%, rgba(255, 235, 180, 0.25) 0%, transparent 55%), radial-gradient(ellipse at 85% 75%, rgba(209, 72, 16, 0.28) 0%, transparent 60%);
  pointer-events: none;
}

.shop-banner__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.shop-banner__eyebrow {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0.72;
}

.shop-banner__title {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.shop-banner__note {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.5;
  opacity: 0.86;
}

.shop-banner__cta-wrap {
  position: relative;
  z-index: 1;
}

.shop-banner__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 24px;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--on-primary-fixed);
  background: rgba(6, 6, 6, 0.75);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.14);
  text-decoration: none;
  transition: background 200ms ease, box-shadow 200ms ease;
}

.shop-banner__cta:hover {
  background: rgba(6, 6, 6, 0.9);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.24), 0 0 16px rgba(0, 0, 0, 0.4);
}

@media (max-width: 700px) {
  .shop-banner {
    grid-template-columns: 1fr;
    padding: 24px 20px;
  }
}
.shop-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 20px;
  box-shadow: inset 0 -1px 0 rgba(62, 62, 62, 0.45);
}

.shop-toolbar__count {
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.shop-toolbar__count strong {
  color: var(--chrome-highlight);
  font-weight: 700;
}

.shop-toolbar__sort {
  display: flex;
  align-items: center;
  gap: 12px;
}

.shop-toolbar__sort-label {
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.shop-toolbar__select {
  padding: 10px 14px;
  background: rgba(6, 6, 6, 0.6);
  border: 1px solid rgba(62, 62, 62, 0.65);
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--chrome-warm);
  cursor: pointer;
  outline: none;
  transition: border-color 200ms ease, box-shadow 200ms ease;
}

.shop-toolbar__select:focus {
  border-color: var(--ember);
  box-shadow: 0 0 12px rgba(255, 122, 46, 0.4);
}

.signal-cell {
  padding: 4px 32px;
  border-right: 1px solid rgba(62, 62, 62, 0.35);
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-family: var(--font-display);
}

.signal-cell:last-child {
  border-right: 0;
}

.signal-cell__label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.signal-cell__value {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--chrome-warm);
}

.signal-cell__value--ember {
  color: var(--ember);
}

@media (max-width: 700px) {
  .signal-cell {
    border-right: 0;
    padding: 4px 12px;
  }
}
.spec-callout {
  padding: 20px 22px;
  background: rgba(20, 20, 20, 0.94);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.12), inset 0 -1px 0 rgba(0, 0, 0, 0.55), 0 10px 28px -10px rgba(0, 0, 0, 0.9);
}

.spec-callout__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: 14px;
  margin-bottom: 8px;
  box-shadow: inset 0 -1px 0 rgba(255, 122, 46, 0.35);
}

.spec-callout__title {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--chrome-highlight);
}

.spec-callout__cert {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ember);
}

.spec-callout__cert-dot {
  width: 6px;
  height: 6px;
  background: var(--ember);
  box-shadow: 0 0 6px rgba(255, 122, 46, 0.7);
}

.spec-callout__row {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 16px;
  padding: 12px 0;
  box-shadow: inset 0 -1px 0 rgba(62, 62, 62, 0.35);
}

.spec-callout__row:last-child {
  box-shadow: none;
}

.spec-callout__label {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.spec-callout__value {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.5;
  color: var(--chrome-warm);
}

.spec-callout__value strong {
  color: var(--chrome-highlight);
  font-weight: 600;
}

.spec-column__title {
  margin-bottom: 24px;
  padding-bottom: 16px;
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--ember);
  box-shadow: inset 0 -1px 0 rgba(255, 122, 46, 0.45);
}

.spec-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: baseline;
  gap: 12px;
  padding: 16px 0;
  box-shadow: inset 0 -1px 0 rgba(62, 62, 62, 0.3);
}

.spec-row__label {
  font-family: var(--font-body);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.spec-row__leader {
  min-width: 40px;
  border-bottom: 1px dotted rgba(62, 62, 62, 0.65);
  transform: translateY(-4px);
}

.spec-row__value {
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: var(--chrome-warm);
}

.spec-row__value--accent {
  color: var(--ember);
  font-size: 17px;
  font-weight: 600;
}

.spec-row__value-unit {
  font-size: 12px;
  color: var(--chrome-dim);
}

.spec-vault {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  padding: 64px;
  background: var(--hull-panel-dark);
  box-shadow: var(--panel-lift);
}

.spec-vault::before, .spec-vault::after {
  content: "";
  position: absolute;
  top: 8px;
  z-index: 2;
  width: 8px;
  height: 8px;
  background: rgba(20, 20, 20, 0.98);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.3);
}

.spec-vault::before {
  left: 8px;
}

.spec-vault::after {
  right: 8px;
}

@media (max-width: 1024px) {
  .spec-vault {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 32px;
  }
}
.sticky-atc {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 40;
  padding: 16px 0;
  background: var(--hull-panel-lift);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.16), inset 0 -1px 0 rgba(0, 0, 0, 0.85), 0 -12px 32px -8px rgba(0, 0, 0, 0.85);
  transform: translateY(100%);
  transition: transform 300ms ease;
}

.sticky-atc::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, rgba(255, 122, 46, 0.25) 0%, rgba(255, 122, 46, 0.85) 50%, rgba(255, 122, 46, 0.25) 100%);
  box-shadow: 0 -12px 30px rgba(255, 122, 46, 0.35);
}

.sticky-atc--shown {
  transform: translateY(0);
}

.sticky-atc__inner {
  display: grid;
  grid-template-columns: 56px 1fr auto auto;
  align-items: center;
  gap: 16px;
}

.sticky-atc__thumb {
  width: 56px;
  height: 56px;
  background-color: var(--hull-panel);
  background-size: cover;
  background-position: center;
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.16), 0 4px 12px rgba(0, 0, 0, 0.6);
}

.sticky-atc__title {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--chrome-highlight);
}

.sticky-atc__line {
  margin-top: 2px;
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.sticky-atc__price {
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  font-size: 22px;
  font-weight: 700;
  color: var(--ember);
}

@media (max-width: 700px) {
  .sticky-atc__inner {
    grid-template-columns: 40px 1fr auto;
  }
  .sticky-atc__price {
    display: none;
  }
}
.sticky-shop {
  position: fixed;
  right: 32px;
  bottom: 32px;
  z-index: 30;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 22px;
  background: rgba(20, 20, 20, 0.95);
  box-shadow: inset 0 1px 0 rgba(255, 122, 46, 0.35), inset 0 -1px 0 rgba(255, 122, 46, 0.35), 0 10px 28px -10px rgba(0, 0, 0, 0.9), 0 0 20px rgba(255, 122, 46, 0.35);
  font-family: var(--font-display);
  text-decoration: none;
  transition: box-shadow 200ms ease, transform 200ms ease;
}

.sticky-shop:hover {
  transform: translateY(-2px);
  box-shadow: inset 0 1px 0 rgba(255, 122, 46, 0.55), inset 0 -1px 0 rgba(255, 122, 46, 0.55), 0 14px 32px -10px rgba(0, 0, 0, 0.95), 0 0 32px rgba(255, 122, 46, 0.55);
}

.sticky-shop__count {
  font-variant-numeric: tabular-nums;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--ember);
}

.sticky-shop__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--chrome-warm);
}

.sticky-shop__arrow {
  font-size: 14px;
  color: var(--ember);
}

@media (max-width: 700px) {
  .sticky-shop {
    right: 16px;
    bottom: 16px;
    padding: 12px 18px;
  }
  .sticky-shop__label {
    display: none;
  }
}
.stock-indicator {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chrome-warm);
}

.stock-indicator__dot {
  width: 8px;
  height: 8px;
  background: var(--ember);
  box-shadow: 0 0 12px rgba(255, 122, 46, 0.75);
}

.testimonial-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 22px;
  min-height: 380px;
  padding: 40px 36px 36px;
  background: var(--hull-panel);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.16), inset 0 -1px 0 rgba(0, 0, 0, 0.55), 0 10px 28px -10px rgba(0, 0, 0, 0.95), 0 2px 6px -2px rgba(0, 0, 0, 0.7);
}

.testimonial-card__mark {
  position: absolute;
  top: 30px;
  right: 34px;
  font-family: var(--font-display);
  font-size: 72px;
  font-weight: 700;
  line-height: 1;
  color: var(--ember);
  opacity: 0.15;
}

.testimonial-card__stars {
  font-family: var(--font-display);
  font-size: 18px;
  letter-spacing: 0.16em;
  color: var(--ember);
  text-shadow: 0 0 12px rgba(255, 122, 46, 0.4);
}

.testimonial-card__body {
  flex: 1;
  font-size: 15.5px;
  font-weight: 500;
  line-height: 1.6;
  color: var(--chrome-warm);
}

.testimonial-card__foot {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 22px;
  border-top: 1px solid rgba(62, 62, 62, 0.35);
}

.testimonial-card__avatar {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: var(--hull-panel-dark);
  box-shadow: var(--chrome-top-soft);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--ember);
}

.testimonial-card__meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.testimonial-card__name {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chrome-highlight);
}

.testimonial-card__product {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.testimonial-card__product-em {
  color: var(--ember);
}

.tier-card {
  background: rgba(20, 20, 20, 0.94);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.16), inset 0 -1px 0 rgba(0, 0, 0, 0.55), 0 10px 28px -10px rgba(0, 0, 0, 0.95), 0 2px 6px -2px rgba(0, 0, 0, 0.7);
  padding: 24px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.tier-card::before, .tier-card::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  top: 6px;
  background: rgba(20, 20, 20, 0.98);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.3);
}

.tier-card::before {
  left: 6px;
}

.tier-card::after {
  right: 6px;
}

.tier-card--current {
  background: rgba(36, 36, 36, 0.94);
  box-shadow: var(--ember-hot-rim), var(--panel-lift);
}

.tier-card__ribbon {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 14px;
  background: linear-gradient(180deg, var(--ember-glow), var(--ember), var(--ember-deep));
  color: var(--on-primary-fixed);
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  box-shadow: var(--ember-glow-sm);
  white-space: nowrap;
}

.tier-card__stage {
  aspect-ratio: 4/3;
  background: var(--hull-panel-dark);
  background-size: cover;
  background-position: center;
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.7);
}

.tier-card__idx {
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ember);
}

.tier-card__name {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--chrome-highlight);
}

.tier-card__price {
  font-family: var(--font-display);
  font-size: 13px;
  letter-spacing: 0.06em;
  color: var(--chrome-dim);
}

.tier-card__price-em {
  color: var(--ember);
  font-weight: 600;
}

.tier-card__specs {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.tier-card__spec {
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--chrome-warm);
  line-height: 1.4;
  padding-left: 12px;
  position: relative;
}

.tier-card__spec::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 4px;
  height: 4px;
  background: var(--ember);
  box-shadow: 0 0 6px rgba(255, 122, 46, 0.65);
}

.trust-chip {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 24px;
  box-shadow: inset -1px 0 0 rgba(62, 62, 62, 0.45);
}

.trust-chip:first-child {
  padding-left: 0;
}

.trust-chip:last-child {
  box-shadow: none;
  padding-right: 0;
}

.trust-chip__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--ember);
  background: rgba(255, 122, 46, 0.08);
  box-shadow: inset 0 0 0 1px rgba(255, 122, 46, 0.28);
}

.trust-chip__icon svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
}

.trust-chip__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.trust-chip__title {
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--chrome-highlight);
}

.trust-chip__note {
  font-family: var(--font-body);
  font-size: 12px;
  line-height: 1.4;
  color: var(--chrome-dim);
}

@media (max-width: 768px) {
  .trust-chip {
    padding: 12px 0;
    box-shadow: inset 0 -1px 0 rgba(62, 62, 62, 0.45);
  }
  .trust-chip:last-child {
    box-shadow: none;
  }
}
.trust-cluster {
  margin-top: 24px;
  padding-top: 24px;
  box-shadow: inset 0 1px 0 rgba(62, 62, 62, 0.35);
}

.trust-cluster__item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--chrome-dim);
  line-height: 1.4;
}

.trust-cluster__label {
  color: var(--chrome-warm);
  font-weight: 600;
}

.variant-selector {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.variant-selector__label {
  display: flex;
  justify-content: space-between;
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--chrome-dim);
}

.variant-selector__label-link {
  color: var(--ember);
  text-decoration: none;
}

.variant-selector__options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.variant-selector__options--full-width .variant-selector__option {
  flex: 1;
  padding: 14px;
  text-align: center;
  font-size: 13px;
}

.variant-selector__option {
  padding: 10px 14px;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--chrome-warm);
  background: var(--hull-panel);
  box-shadow: inset 0 0 0 1px rgba(62, 62, 62, 0.55), inset 0 1px 0 rgba(250, 250, 250, 0.08);
  cursor: pointer;
}

.variant-selector__option--active {
  background: var(--hull-panel-lift);
  color: var(--chrome-highlight);
  box-shadow: var(--ember-hot-rim);
}

.video-panel__stage {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--hull-panel-dark);
  box-shadow: var(--panel-lift);
}

.video-panel__stage::before, .video-panel__stage::after {
  content: "";
  position: absolute;
  top: 8px;
  z-index: 2;
  width: 8px;
  height: 8px;
  background: rgba(20, 20, 20, 0.98);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.3);
}

.video-panel__stage::before {
  left: 8px;
}

.video-panel__stage::after {
  right: 8px;
}

.video-panel__stage::before {
  content: "PHOTOGRAPH BRIEF · VIDEO STILL";
  position: absolute;
  top: 24px;
  left: 24px;
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.24em;
  color: var(--ember);
}

.video-panel__brief {
  max-width: 640px;
  padding: 0 96px;
  text-align: center;
  font-family: var(--font-body);
  font-style: italic;
  font-size: 14px;
  line-height: 1.6;
  color: var(--chrome-dim);
}

.video-panel__play {
  position: absolute;
  width: 88px;
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(6, 6, 6, 0.65);
  box-shadow: var(--ember-hot-rim);
  font-family: var(--font-display);
  font-size: 22px;
  color: var(--ember);
}

.video-panel__duration {
  position: absolute;
  bottom: 16px;
  right: 16px;
  padding: 8px 12px;
  background: rgba(6, 6, 6, 0.8);
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.14);
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--chrome-warm);
}

/*------------------------------------*\
	LAYOUTS
	Brand chrome (parent-chrome delta on framework's structural chrome) +
	section-scope compositions from the walk.
\*------------------------------------*/
.site-head {
  background-color: var(--carbon);
  color: var(--chrome-warm);
  box-shadow: inset 0 -1px 0 rgba(255, 122, 46, 0.35), 0 8px 24px -8px rgba(255, 122, 46, 0.25);
}

.site-head__alerts {
  background-color: var(--charcoal-warm);
  color: var(--chrome-warm);
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  box-shadow: inset 0 -1px 0 rgba(255, 122, 46, 0.35);
}

.site-head__main {
  background-color: var(--carbon);
  color: var(--chrome-warm);
}

.site-head__main .icon {
  fill: var(--chrome-warm);
}

.site-head__main .site-nav__burger {
  color: var(--chrome-warm);
}

.site-head__main .site-nav__burger:hover {
  color: var(--ember);
}

.site-head__main .site-nav__burger:hover .icon {
  fill: var(--ember);
}

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

.site-head__actions > * {
  transition: color 0.2s ease;
}

.site-head__actions > *:hover {
  color: var(--ember);
}

.site-head__actions > *:hover .icon {
  fill: var(--ember);
}

.site-head__actions__basket__count {
  margin-left: 8px;
  color: var(--ember);
  font-family: var(--font-display);
  font-weight: 600;
}

.site-nav__menu__item, .site-nav__menu__item:not([class]) {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chrome-warm);
  transition: color 0.2s ease;
}

.site-nav__menu__item:hover, .site-nav__menu__item.is-active, .site-nav__menu__item[aria-current=page], .site-nav__menu__item:not([class]):hover, .site-nav__menu__item:not([class]).is-active, .site-nav__menu__item:not([class])[aria-current=page] {
  color: var(--ember);
}

.site-nav--dark .site-nav__menu__item {
  color: var(--chrome-warm);
}

.desktop-nav {
  background-color: var(--carbon);
  color: var(--chrome-warm);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
}

.desktop-nav__inner {
  background-color: var(--carbon);
}

.desktop-nav__menu__item {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chrome-warm);
  transition: color 0.2s ease;
}

.desktop-nav__menu__item:hover, .desktop-nav__menu__item.is-active {
  color: var(--ember);
}

.desktop-nav__menu__drawer {
  background-color: var(--charcoal);
}

.desktop-nav__menu__drawer__item {
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chrome-dim);
  transition: color 0.2s ease;
}

.desktop-nav__menu__drawer__item:hover {
  color: var(--ember);
}

.mobile-nav {
  background-color: var(--carbon);
  color: var(--chrome-warm);
}

.mobile-nav__header {
  background-color: var(--carbon);
  border-bottom: 1px solid rgba(255, 122, 46, 0.2);
}

.mobile-nav__header__title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--chrome-highlight);
}

.mobile-nav__header__close {
  color: var(--chrome-warm);
}

.mobile-nav__header__close .icon {
  fill: var(--chrome-warm);
}

.mobile-nav__header__close:hover {
  color: var(--ember);
}

.mobile-nav__header__close:hover .icon {
  fill: var(--ember);
}

.mobile-nav__body {
  background-color: var(--carbon);
}

.mobile-nav__list__item {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chrome-warm);
  border-bottom: 1px solid rgba(184, 176, 166, 0.1);
  transition: color 0.2s ease;
}

.mobile-nav__list__item:hover, .mobile-nav__list__item.is-active {
  color: var(--ember);
}

.footer {
  background-color: var(--carbon);
  color: var(--chrome-warm);
  box-shadow: inset 0 1px 0 rgba(255, 122, 46, 0.35), 0 -8px 24px -8px rgba(255, 122, 46, 0.2);
}

.footer__cta {
  background-color: var(--charcoal-warm);
  color: var(--chrome-highlight);
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  box-shadow: var(--ember-hot-rim);
}

.footer__cta__inner {
  max-width: var(--site-max-width);
  margin: 0 auto;
}

.footer__inner {
  background-color: var(--carbon);
}

.footer__columns {
  color: var(--chrome-warm);
}

.footer__columns__list {
  font-family: var(--font-body);
  font-size: 14px;
}

.footer__columns__list > :first-child {
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--chrome-dim);
  margin-bottom: 16px;
}

.footer__columns__list a {
  color: var(--chrome-warm);
  transition: color 0.2s ease;
}

.footer__columns__list a:hover {
  color: var(--ember);
}

.footer__promo__logo {
  color: var(--chrome-highlight);
}

.footer__promo__info {
  color: var(--chrome-dim);
  font-size: 13px;
  line-height: 1.55;
}

.footer__legal {
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--chrome-dim);
  border-top: 1px solid rgba(184, 176, 166, 0.15);
  padding-top: 24px;
  margin-top: 40px;
}

.footer__legal a {
  color: var(--chrome-dim);
}

.footer__legal a:hover {
  color: var(--ember);
}

.section {
  position: relative;
  isolation: isolate;
  padding-top: 96px;
  padding-bottom: 96px;
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.14), inset 0 -1px 0 rgba(0, 0, 0, 0.85);
}

.section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(250, 250, 250, 0.028) 0%, transparent 8%, transparent 88%, rgba(0, 0, 0, 0.32) 100%);
}

.section > .section__inner {
  position: relative;
  z-index: 1;
}

.section--imaged {
  background-image: var(--section-bg-image, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.section--imaged::before {
  background: linear-gradient(180deg, rgba(6, 6, 6, 0.58) 0%, rgba(6, 6, 6, 0.66) 50%, rgba(6, 6, 6, 0.74) 100%);
}

.section--carbon {
  background-color: var(--carbon);
}

.section--void {
  background-color: var(--void);
}

.section--charcoal {
  background-color: var(--charcoal);
}

.section--panel-seam {
  position: relative;
  background-color: var(--charcoal);
  box-shadow: inset 0 1px 0 rgba(255, 122, 46, 0.5), inset 0 -1px 0 rgba(255, 122, 46, 0.5), 0 -8px 24px -8px rgba(255, 122, 46, 0.35), 0 8px 24px -8px rgba(255, 122, 46, 0.35);
}

.section--ember-band {
  background: linear-gradient(180deg, var(--ember-glow) 0%, var(--ember-bright) 25%, var(--ember) 55%, var(--ember-forge) 100%);
  color: var(--on-primary-fixed);
  overflow: hidden;
  box-shadow: inset 0 2px 0 rgba(255, 235, 180, 0.55), inset 0 -1px 0 rgba(90, 26, 0, 0.55), 0 -12px 40px -8px rgba(255, 122, 46, var(--ember-band-glow-alpha, 0.35));
}

.section--ember-band::before {
  background: radial-gradient(ellipse at 15% 25%, rgba(255, 235, 180, var(--ember-band-radial-alpha, 0.3)) 0%, rgba(255, 235, 180, 0) 55%), radial-gradient(ellipse at 85% 75%, rgba(209, 72, 16, var(--ember-band-radial-alpha, 0.3)) 0%, rgba(209, 72, 16, 0) 60%);
}

.section--tight {
  padding-top: 30px;
  padding-bottom: 30px;
}

.section--strip {
  padding-top: 24px;
  padding-bottom: 24px;
  box-shadow: inset 0 1px 0 rgba(250, 250, 250, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.6);
}

.section--flush {
  padding-top: 0;
  padding-bottom: 0;
}

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

.section--radial-ember::before {
  background: linear-gradient(180deg, rgba(6, 6, 6, 0.58) 0%, rgba(6, 6, 6, 0.66) 50%, rgba(6, 6, 6, 0.74) 100%), radial-gradient(ellipse var(--radial-size, 30% 25%) at var(--radial-position, 92% 88%), rgba(255, 122, 46, var(--radial-alpha, 0.14)) 0%, transparent 70%);
}

@media (max-width: 700px) {
  .grid--3,
  .grid--5 {
    grid-template-columns: 100%;
  }
}
/*------------------------------------*\
	BLOCKS
	Native WP block Path A styling — brand SCSS applied via @extend onto
	the WP block selectors. Populates as the walk hits block-editor content.
\*------------------------------------*/
/*------------------------------------*\
	CSS CUSTOM PROPERTIES
	Bridge from Sass variables to the :root token surface. Consumed by
	global framework primitives (.grid, .wrapper, .section) and by brand
	components.
\*------------------------------------*/
:root {
  /*------------------------------------*\
  	STRUCTURAL — consumed by global framework primitives
  \*------------------------------------*/
  --site-max-width: 1440px;
  --site-max-width-narrow: 720px;
  --site-max-width-default: 1200px;
  --site-max-width-wide: 1440px;
  --container-max: 1440px;
  --gutter: 24px;
  --gutter-small: 12px;
  --icon-size: 20px;
  --icon-size-md: 24px;
  --icon-size-lg: 32px;
  --icon-size-xl: 40px;
  --radius-interactive: 0;
  --radius-card: 0;
  /*------------------------------------*\
  	TYPE SCALE — static SAS1 values (component-level clamp() overrides
  	as needed, per mockup design intent)
  \*------------------------------------*/
  --fs-display: 128px;
  --fs-hero: 84px;
  --fs-section: 60px;
  --fs-title: 40px;
  --fs-heading: 26px;
  --fs-subheading: 22px;
  --fs-large: 20px;
  --fs-base: 16px;
  --fs-small: 14px;
  --fs-eyebrow: 12px;
  --fs-micro: 11px;
  /*------------------------------------*\
  	SPACE SCALE — SAS1 (space-1 through space-10)
  	Plus legacy 15/20/30/40/60 slots consumed by shared components
  	(nerdworks-era vocabulary — kept so shared references resolve).
  \*------------------------------------*/
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --space-10: 128px;
  --space-15: 15px;
  --space-20: 20px;
  --space-30: 30px;
  --space-40: 40px;
  --space-60: 60px;
  /*------------------------------------*\
  	FONTS — SAS1 (Orbitron + Onest only after 2026-07-30 trim;
  	Space Grotesk dropped, MAS43 uses Orbitron for chrome type too)
  \*------------------------------------*/
  --font-display: Orbitron, system-ui, sans-serif;
  --font-body: Onest, system-ui, sans-serif;
  --font-title: Orbitron, system-ui, sans-serif;
  --font-heading: Orbitron, system-ui, sans-serif;
  --font-chrome: Orbitron, system-ui, sans-serif;
  --font-label: Orbitron, system-ui, sans-serif;
  /*------------------------------------*\
  	SHADOWS — SAS1 elevation
  \*------------------------------------*/
  --card-shadow: 0 4px 12px -4px rgba(0, 0, 0, 0.55);
  --card-shadow-hover: 0 10px 28px -10px rgba(0, 0, 0, 0.95), 0 2px 6px -2px rgba(0, 0, 0, 0.7);
  /*------------------------------------*\
  	MAS43 SIGNATURE EFFECTS — the shadow/inset compositions the mockup
  	paints with heavily. Promoted to tokens so brand chrome + section
  	walks can call them by name.
  \*------------------------------------*/
  --panel-lift: inset 0 1px 0 rgba(250, 250, 250, 0.08), 0 8px 24px -8px rgba(0, 0, 0, 0.9);
  --panel-lift-hover: inset 0 1px 0 rgba(250, 250, 250, 0.16), 0 20px 44px -10px rgba(0, 0, 0, 0.95);
  --chrome-top: inset 0 1px 0 rgba(250, 250, 250, 0.36);
  --chrome-top-soft: inset 0 1px 0 rgba(250, 250, 250, 0.18);
  --ember-hot-rim: inset 0 0 0 1px rgba(255, 122, 46, 0.55), 0 0 28px rgba(255, 122, 46, 0.45);
  --ember-glow-sm: 0 0 16px rgba(255, 122, 46, 0.35);
  --ember-glow-md: 0 0 28px rgba(255, 122, 46, 0.55);
  /*------------------------------------*\
  	ARTSABERS PALETTE — SAS1, trimmed to what MAS43 paints with
  \*------------------------------------*/
  --ember-glow: #FFB347;
  --ember-bright: #FF9540;
  --ember: #FF7A2E;
  --ember-forge: #E85D18;
  --ember-deep: #D14810;
  --carbon: #060606;
  --void: #0A0A0A;
  --charcoal: #141414;
  --charcoal-warm: #161412;
  --hull-panel: #1A1A1A;
  --hull-panel-lift: #242424;
  --hull-panel-dark: #0F0F0F;
  --chrome-highlight: #FAFAFA;
  --chrome-warm: #F5F0E8;
  --chrome-dim: #B8B0A6;
  --on-primary-fixed: #2A0800;
  /*------------------------------------*\
  	LEGACY TONE SLOTS — required by framework's .section modifiers
  	(--anchor / --bright / --primary / --saffron). Aliased to the
  	closest ARTSABERS palette entries so if a `.section--*` modifier
  	ever fires, it paints on-brand. ARTSABERS's ground vocabulary
  	lives on `.wp-block-group.is-style-ground-*` in section-bands.scss.
  \*------------------------------------*/
  --anchor: #141414;
  --bright: #F5F0E8;
  --primary: #FF7A2E;
  --saffron: #FFB347;
  /*------------------------------------*\
  	HAIRLINE RULES per ground (MAS43-observed alpha treatment)
  \*------------------------------------*/
  --rule-on-anchor: rgba(245, 240, 232, 0.12);
  --rule-on-bright: rgba(20, 20, 20, 0.12);
  --rule-on-primary: rgba(245, 240, 232, 0.18);
  --muted: rgba(20, 20, 20, 0.6);
}

/*------------------------------------*\
	BASE
	Only html-element defaults belong here. .wrapper comes from framework
	(framework-v2/global/scss/layouts/_wrapper.scss) — do NOT redeclare it
	locally.
\*------------------------------------*/
html {
  font-family: "Onest", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  font-weight: 400;
  font-family: "Onest", system-ui, sans-serif;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2dsb2JhbC9zY3NzL2NvcmUvX3Jlc2V0LnNjc3MiLCIuLi8uLi8uLi9nbG9iYWwvc2Nzcy9mdW5jdGlvbnMvX21lZGlhLXF1ZXJ5LnNjc3MiLCIuLi8uLi8uLi9nbG9iYWwvc2Nzcy9jb3JlL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9nbG9iYWwvc2Nzcy9jb3JlL19pbWFnZXMuc2NzcyIsIi4uLy4uLy4uL2dsb2JhbC9zY3NzL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbnMuc2NzcyIsIi4uLy4uLy4uL2dsb2JhbC9zY3NzL2NvcmUvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL2dsb2JhbC9zY3NzL2Z1bmN0aW9ucy9faG92ZXIuc2NzcyIsIi4uLy4uLy4uL2dsb2JhbC9zY3NzL2Z1bmN0aW9ucy9fYmFja2dyb3VuZC5zY3NzIiwic2V0dGluZ3MvX21ldHJpY3Muc2NzcyIsInNldHRpbmdzL19jb2xvcnMuc2NzcyIsInNldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLCJfYnJhbmQtdG9rZW5zLnNjc3MiLCJhcnRzYWJlcnMuc2NzcyIsImNvbXBvbmVudHMvX2FyY2hpdmUtaGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19hcnRpY2xlLWJsb2NrcXVvdGUuc2NzcyIsImNvbXBvbmVudHMvX2F0Yy1yb3cuc2NzcyIsImNvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCJjb21wb25lbnRzL19iYW5kLWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fYm94LWl0ZW0uc2NzcyIsInNldHRpbmdzL19zY3Jldy1kb3RzLnNjc3MiLCJjb21wb25lbnRzL19icmVhZGNydW1iLnNjc3MiLCJjb21wb25lbnRzL19idXR0b24uc2NzcyIsImNvbXBvbmVudHMvX2J1eS1hY3Rpb25zLnNjc3MiLCJjb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCJjb21wb25lbnRzL19jYXJ0LWRyYXdlci5zY3NzIiwiY29tcG9uZW50cy9fY2F0ZWdvcnktYnJvd3NlLXRpbGUuc2NzcyIsInNldHRpbmdzL19ob3ZlcnMuc2NzcyIsImNvbXBvbmVudHMvX2NvbXBhcmlzb24tdGFibGUuc2NzcyIsImNvbXBvbmVudHMvX2Nyb3NzLXNlbGwtY2FyZC5zY3NzIiwiY29tcG9uZW50cy9fZWRpdG9yaWFsLWJhbmQuc2NzcyIsImNvbXBvbmVudHMvX2VkaXRvcmlhbC1wYW5lbC5zY3NzIiwiY29tcG9uZW50cy9fZWRpdG9yaWFsLWdyaWQuc2NzcyIsImNvbXBvbmVudHMvX2V5ZWJyb3cuc2NzcyIsImNvbXBvbmVudHMvX2ZhY2UtY2FyZC5zY3NzIiwiY29tcG9uZW50cy9fZmFxLWl0ZW0uc2NzcyIsImNvbXBvbmVudHMvX2ZlYXR1cmUtcGFuZWwuc2NzcyIsImNvbXBvbmVudHMvX2ZlYXR1cmUtc3RhZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2ZpbHRlci1jaGlwLnNjc3MiLCJjb21wb25lbnRzL19maWx0ZXItZ3JvdXAuc2NzcyIsImNvbXBvbmVudHMvX2ZpbHRlci1vcHRpb24uc2NzcyIsImNvbXBvbmVudHMvX2ZpbHRlci1yYW5nZS5zY3NzIiwiY29tcG9uZW50cy9fZmlsdGVyLXNpZGViYXIuc2NzcyIsImNvbXBvbmVudHMvX2hhbmRsZS5zY3NzIiwiY29tcG9uZW50cy9faGVyby5zY3NzIiwiY29tcG9uZW50cy9fbGVuZ3RoLWNhcmQuc2NzcyIsImNvbXBvbmVudHMvX2xpbmstYm94LnNjc3MiLCJjb21wb25lbnRzL19saW5rLXJvdy5zY3NzIiwiY29tcG9uZW50cy9fbWVkaWEtY2FyZC5zY3NzIiwiY29tcG9uZW50cy9fbWlkLWN0YS5zY3NzIiwiY29tcG9uZW50cy9fbmV3c2xldHRlci1mb3JtLnNjc3MiLCJjb21wb25lbnRzL19vZmZlci1jYXJkLnNjc3MiLCJjb21wb25lbnRzL19wYWdlLXRpdGxlLnNjc3MiLCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL19wYW5lbC1zZWFtLnNjc3MiLCJjb21wb25lbnRzL19wcmljZS1zdGFjay5zY3NzIiwiY29tcG9uZW50cy9fcHJvZHVjdC1jYXJkLnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0LWdhbGxlcnkuc2NzcyIsImNvbXBvbmVudHMvX3JhdGluZy1yb3cuc2NzcyIsImNvbXBvbmVudHMvX3JlaW5mb3JjZS1jYXJkLnNjc3MiLCJjb21wb25lbnRzL19yZWluZm9yY2VtZW50LWJhbmQuc2NzcyIsImNvbXBvbmVudHMvX3Jldmlldy1jYXJkLnNjc3MiLCJjb21wb25lbnRzL19yZXZpZXdzLWFnZ3JlZ2F0ZS5zY3NzIiwiY29tcG9uZW50cy9fc2VjdGlvbi1oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX3Nlby1jb3B5LnNjc3MiLCJjb21wb25lbnRzL19zaG9wLWJhbm5lci5zY3NzIiwiY29tcG9uZW50cy9fc2hvcC10b29sYmFyLnNjc3MiLCJjb21wb25lbnRzL19zaWduYWwtY2VsbC5zY3NzIiwiY29tcG9uZW50cy9fc3BlYy1jYWxsb3V0LnNjc3MiLCJjb21wb25lbnRzL19zcGVjLWNvbHVtbi5zY3NzIiwiY29tcG9uZW50cy9fc3BlYy1yb3cuc2NzcyIsImNvbXBvbmVudHMvX3NwZWMtdmF1bHQuc2NzcyIsImNvbXBvbmVudHMvX3N0aWNreS1hdGMuc2NzcyIsImNvbXBvbmVudHMvX3N0aWNreS1zaG9wLnNjc3MiLCJjb21wb25lbnRzL19zdG9jay1pbmRpY2F0b3Iuc2NzcyIsImNvbXBvbmVudHMvX3Rlc3RpbW9uaWFsLWNhcmQuc2NzcyIsImNvbXBvbmVudHMvX3RpZXItY2FyZC5zY3NzIiwiY29tcG9uZW50cy9fdHJ1c3QtY2hpcC5zY3NzIiwiY29tcG9uZW50cy9fdHJ1c3QtY2x1c3Rlci5zY3NzIiwiY29tcG9uZW50cy9fdmFyaWFudC1zZWxlY3Rvci5zY3NzIiwiY29tcG9uZW50cy9fdmlkZW8tcGFuZWwuc2NzcyIsImxheW91dHMvX3NpdGUtaGVhZC5zY3NzIiwibGF5b3V0cy9fc2l0ZS1uYXYuc2NzcyIsImxheW91dHMvX25hdi1kZXNrdG9wLnNjc3MiLCJsYXlvdXRzL19uYXYtbW9iaWxlLnNjc3MiLCJsYXlvdXRzL19mb290ZXIuc2NzcyIsImxheW91dHMvX3NlY3Rpb24uc2NzcyIsImxheW91dHMvX2dyaWQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0VBSUM7OztBQUlEO0VBRUM7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7OztBQUlEO0FBQUE7RUFHQztFQUNBOzs7QUFJRDtFQUVDOzs7QUFJRDtBQUFBO0VBR0M7RUFDQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUFJRDtBQUFBO0VBR0M7RUFDQTs7O0FBSUQ7QUFBQTtFQUdDO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTs7O0FBSUQ7RUFFQztFQUNBOzs7QUFJRDtFQUVDOzs7QUFRRDtFQUVDO0VBQ0E7OztBQUlEO0VBRUM7OztBQ2xIRDtBQUFBOztBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNFQTtBQUFBO0FBQUE7QUFJQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7OztBQUlEO0VBRUM7OztBRHlDQztFQzNDRjtJQU1FOzs7QUFNRjtFQUVDOzs7QUQ2QkM7RUMvQkY7SUFNRTs7O0FBTUY7RUFFQzs7O0FEaUJDO0VDbkJGO0lBTUU7OztBQU1GO0VBRUM7OztBREtDO0VDUEY7SUFNRTs7O0FBTUY7RUFFQzs7O0FEUEM7RUNLRjtJQU1FOzs7QURYQTtFQ0tGO0lBWUU7OztBQVlGO0VBRUM7OztBRC9CQztFQzZCRjtJQU1FOzs7QUNsR0g7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FETUE7RUFFQztFQUNBOzs7QUFFQTtFQ0xBO0VEU0M7RUFDQTs7O0FBTUE7RUFFQzs7O0FBVUY7RUFFQztFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBOzs7QUU1Q0Y7QUFBQTtBQUFBO0FBSUE7RUFFQzs7O0FKdURFO0VJckRGO0lBSUU7OztBSmlEQTtFSTNDRjtJQUlFOzs7QUp1Q0E7RUlqQ0Y7SUFJRTs7O0FBUUQ7RUFGRDtJQUlFOzs7QUFRRDtFQUZEO0lBSUU7OztBQ3RESDtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTs7QUFBQTs7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FDRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ01BO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FDTEE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDYUE7RUFFQztFQUNBO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7OztBQUlEO0VBRUM7OztBQUlEO0VBRUM7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDaERGO0VBRUM7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTs7O0FDN0JIO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQXpDRDtJQTJDRTs7O0FDdEJGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBTUQ7RUFFQztFQUNBOzs7QUFFQTtFQUVDOzs7QUN6RUg7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBN0ZEO0lBK0ZFOztFQUVBO0lBRUM7OztBQzdGSDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDSEE7RUFHQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUFJRDtFQUVDOzs7QURaRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FFckZGO0VBRUM7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7OztBQUVBO0VBRUM7OztBQVFIO0VBRUM7RUFDQTs7O0FBSUQ7RUFFQzs7O0FDdENGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1BO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBS0E7OztBQUVBO0VBRUM7RUFDQTs7O0FBU0Y7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7OztBQVFGO0VBRUM7RUFDQTs7O0FBTUQ7RUFFQztFQUNBOzs7QUFPRDtFQUVDO0VBQ0E7OztBQ25HRjtFQUVDO0VBQ0E7RUFDQTs7O0FDTEQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdBO0VBR0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7OztBQUlEO0VBRUM7OztBQUlEO0VBdENEO0lBd0NFOzs7QUFLRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1EO0VBRUM7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTs7O0FDekVIO0VBRUM7RUFDQTtFQUNBOzs7QUFFQTtFQUVDOzs7QUFJRDtFQUVDO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQzs7O0FBTUY7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQzs7O0FBSUQ7RUFFQzs7O0FBRUE7RUFFQzs7O0FBUUg7RUFFQzs7O0FBS0Q7RUFFQztFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQzNFSDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUNWQTtFQWlCQzs7O0FEREQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7OztBQVFIO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUV2SEQ7RUFFQztFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBOzs7QUFFQTtBQUFBO0VBR0M7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBOzs7QUFJRDtFQUVDOzs7QUM3RkY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBS0E7RUFDQTs7O0FUWEE7RUFHQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUFJRDtFQUVDOzs7QVNSRDtFRmZBO0VBaUJDOzs7QUVJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUN2SEQ7RUFFQztFQUNBO0VBQ0E7OztBQUVBO0VBTkQ7SUFRRTtJQUNBOzs7QUFNRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1GO0VBRUM7OztBQUVBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7RUFFQztFQUNBO0VBQ0E7OztBQUlEO0VBRUM7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTs7O0FBSUQ7RUFFQztFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUM1SEY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUdDO0VBQ0E7RUFDQTs7O0FBTUY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQzs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBcEdEO0lBc0dFO0lBQ0E7O0VBSUE7SUFFQztJQUNBOzs7QUMxSEg7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFQRDtJQVNFO0lBQ0E7O0VBR0E7QUFBQTtJQUdDO0lBQ0E7OztBQ1pIO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQzs7O0FBSUQ7RUFFQzs7O0FBUUQ7RUFFQztFQUNBOzs7QUM5Q0Y7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7OztBQUVBO0VQYkE7RUFpQkM7OztBT0FBO0VBRUM7OztBQU1GO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7OztBQzFIRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FmREE7RUFHQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUFJRDtFQUVDOzs7QWVkRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUFJRDtFQUVDOzs7QUMzREY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1BO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU9EO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBS0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDOzs7QUFPRjtFQXhJRDtJQTBJRTs7RUFFQTtJQUVDOztFQUlEO0lBRUM7OztBQzlKSDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1BO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFTRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7OztBQUtEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUFTRDtFQUVDO0VBQ0E7OztBQUVBO0VBTEQ7SUFPRTs7O0FBT0Y7RUF0R0Q7SUF3R0U7OztBQ3JIRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQzs7O0FDZEg7RUFFQztFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQzs7O0FDbkRGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUVDOzs7QUMzREY7RUFFQzs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7OztBQUlEO0VBRUM7OztBQU1GO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3RERjtFQUVDO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7OztBQU1GO0VBRUM7RUFDQTtFQUNBOzs7QUNuREY7RUFFQztFQUNBO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUMzQkY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFHQTs7O0FBSUQ7RUFFQztFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FBR0E7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1GO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7OztBQUdBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3BJSDtFQUVDOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1GO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDOzs7QUFJRDtFQUVDOzs7QUFJRDtFQUVDOzs7QUFNRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQzs7O0FDM0dGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBS0E7RUFDQTtFQUNBOzs7QUFFQTtFbkJaQTtFQWlCQzs7O0FtQkRBO0VBRUM7OztBQUlEO0VBRUM7OztBQU1GO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUQ7RUFFQztFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7OztBQU1EO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBS0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtEO0VBRUM7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0Q7RUFFQzs7O0FBS0Q7RUF0SkQ7SUF3SkU7OztBQ3JKRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTs7O0FBRUE7RUFFQztFQUNBOzs7QUFFQTtFQUVDOzs7QUFNRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FDdEVGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7OztBQUlEO0VBRUM7OztBQU1EO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFLQTs7O0FBT0Q7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBS0Q7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlBO0VBRUM7OztBQU1GO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBT0Q7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTs7O0FDN0hGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBOzs7QUNmSDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTs7O0FBSUQ7RUFFQztFQUNBOzs7QUFNRjtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQTVERDtJQThERTs7O0FDdEVGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFLQTs7O0FBRUE7RUFFQztFQUNBOzs7QUFRRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRDtFQUVDO0VBQ0E7OztBQUtEO0VBbEtEO0lBb0tFO0lBQ0E7O0VBRUE7SUFFQzs7O0FDektIO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBVkQ7SUFZRTs7O0FBSUQ7RUFoQkQ7SUFrQkU7OztBQ2xCRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7OztBQVFIO0VBRUM7RUFDQTtFQUNBOzs7QUNqRUY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUtBO0VBR0E7RUFDQTs7O0FDaEJEO0VBRUM7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBOzs7QUNUSDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBS0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0U3Qm5CQTtFQWlCQzs7O0E2QlVEO0VBRUM7OztBQUVBO0U3Qi9CRDtFQVNDOzs7QTZCOEJEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBS0E7RUFDQTs7O0FBU0Y7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FBS0Q7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQU1EO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBT0Q7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1EO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDOzs7QUM3Tkg7RUFFQztFQUNBO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QXJDbkJEO0VBR0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQzs7O0FBSUQ7RUFFQzs7O0FxQ0FBO0VBRUM7OztBQU1GO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBckN0Q0Q7RUFHQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUFJRDtFQUVDOzs7QXFDcUJEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUE5REQ7SUFnRUU7O0VBRUE7SUFFQzs7RUFJRDtJQUVDOzs7QUNyRkg7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDWkY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0F2Q05BO0VBR0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQzs7O0FBSUQ7RUFFQzs7O0F1Q1hEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBT0Q7RUFFQzs7O0FBRUE7RUFFQztFQUNBOzs7QUFNRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDckhGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1GO0VBL0JEO0lBaUNFO0lBQ0E7O0VBRUE7SUFFQzs7O0FDOUJIO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBekNOQTtFQUdDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7OztBQUlEO0VBRUM7OztBeUNURDtFQUVDO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1GO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDM0VGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0ExQ0xBO0VBR0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQzs7O0FBSUQ7RUFFQzs7O0EwQ1ZEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBN0dEO0lBK0dFO0lBQ0E7SUFDQTs7RUFFQTtJQUVDO0lBQ0E7SUFDQTs7RUFJRDtJQUVDOzs7QUNqSUg7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFLQTtFQUVDOzs7QUFNRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7OztBQUlEO0VBN0NEO0lBK0NFO0lBQ0E7SUFDQTs7RUFFQTtJQUVDOzs7QUFVSDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7OztBQUlEO0VBRUM7OztBQVVGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDL0ZBO0VBRUM7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUFJRDtFQUVDOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7OztBQU1GO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7OztBQU1GO0VBRUM7RUFDQTtFQUNBO0VBS0E7OztBQzNJRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7OztBQUtBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTs7O0FBTUY7RUE1R0Q7SUE4R0U7SUFDQTs7O0FDdEhGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTs7O0FBTUY7RUFFQztFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7OztBQzVESDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQzs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7OztBQU1GO0VBekNEO0lBMkNFO0lBQ0E7OztBQ3JDRjtFQUVDO0VBQ0E7RUFDQTs7O0FBS0E7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQzs7O0FBTUY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTs7O0FDbkdGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDTEY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTs7O0FBTUY7RUFFQztFQUNBOzs7QUNsREY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FuREdBO0VBR0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQzs7O0FBSUQ7RUFFQzs7O0FtRHRCRDtFQVhEO0lBYUU7SUFDQTtJQUNBOzs7QUNURjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBS0E7OztBQUlEO0VBRUM7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztJQUVDOztFQUlEO0lBRUM7OztBQy9HSDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBS0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7OztBQVFEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7OztBQUlEO0VBMUREO0lBNERFO0lBQ0E7SUFDQTs7RUFFQTtJQUVDOzs7QUN4RUg7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUNFRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1BO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDOzs7QUNqSEY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdBO0VBR0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7OztBQUlEO0VBRUM7OztBQUtEO0VBRUM7RUFDQTs7O0FBTUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7OztBQUtEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3ZKSDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7OztBQUlEO0VBRUM7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7RUFFQztFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQXpFRDtJQTJFRTtJQUNBOztFQUVBO0lBRUM7OztBQ2pGSDtFQUVDO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTs7O0FDckJGO0VBRUM7RUFDQTtFQUNBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7OztBQUlEO0VBRUM7RUFDQTtFQUNBOzs7QUFJQztFQUVDO0VBQ0E7RUFDQTtFQUNBOzs7QUFRSDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBOzs7QUFFQTtFQUVDO0VBQ0E7RUFDQTs7O0FDbkVGO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0E1REREO0VBR0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQzs7O0FBSUQ7RUFFQzs7O0E0RGxCQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1GO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QW5FUEY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBb0V0RUE7RUFFQztFQUNBO0VBS0E7OztBQUlBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7OztBQUlEO0VBRUM7RUFDQTs7O0FBS0E7RUFFQzs7O0FBTUQ7RUFFQzs7O0FBRUE7RUFFQzs7O0FBRUE7RUFFQzs7O0FBYUo7RUFFQzs7O0FBRUE7RUFFQzs7O0FBRUE7RUFFQzs7O0FBRUE7RUFFQzs7O0FBU0g7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FDeEZEO0VBR0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBSUM7OztBQWFGO0VBRUM7OztBQ25DSDtFQUVDO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQzs7O0FBTUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFHQzs7O0FBUUY7RUFFQzs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUM7OztBQ2xETDtFQUVDO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTs7O0FBRUE7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7OztBQUVBO0VBRUM7OztBQUlEO0VBRUM7OztBQUVBO0VBRUM7OztBQVVKO0VBRUM7OztBQU1BO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFHQzs7O0FDcEVKO0VBRUM7RUFDQTtFQUlBOzs7QUFRQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQztFQUNBOzs7QUFNRjtFQUVDOzs7QUFJRDtFQUVDOzs7QUFJQTtFQUVDO0VBQ0E7OztBQUlBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRDtFQUVDO0VBQ0E7OztBQUVBO0VBRUM7OztBQWFIO0VBRUM7OztBQUlEO0VBRUM7RUFDQTtFQUNBOzs7QUFNRjtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQzs7O0FBRUE7RUFFQzs7O0FDeEdKO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFPQTs7O0FBU0E7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVdEO0VBRUM7RUFDQTs7O0FBVUQ7RUFFQztFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFFQzs7O0FBYUY7RUFFQzs7O0FBSUQ7RUFFQzs7O0FBSUQ7RUFFQzs7O0FBUUQ7RUFFQztFQUNBO0VBQ0E7OztBQXNCRDtFQUVDO0VBTUE7RUFDQTtFQUNBOzs7QUFLQTtFQUVDOzs7QUFVRjtFQUVDO0VBQ0E7OztBQVNEO0VBRUM7RUFDQTtFQUNBOzs7QUFXRDtFQUVDO0VBQ0E7OztBQUVBO0VBRUM7RUFDQTtFQUNBOzs7QUFtQkQ7RUFFQzs7O0FDN01IO0VBRUM7QUFBQTtJQUdDOzs7QTFFOEVGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBRHpGQztBQUFBO0FBQUE7RUFJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0VBS0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtFQUtBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7RUFDQTtBQUVBO0FBQUE7QUFBQTtFQUlBO0VBQ0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFQTtBQUFBO0FBQUE7RUFLQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFHQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBUUE7RUFDQTtFQUNBO0VBQ0E7QUFFQTtBQUFBO0FBQUE7RUFJQTtFQUNBO0VBQ0E7RUFHQTs7O0FDbkREO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0VGdkRDO0VBQ0E7RUFDQTtFQUNBO0VFd0RBIiwiZmlsZSI6ImFydHNhYmVycy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRSRVNFVFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcblxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG59XG5cbmh0bWwge1xuXG5cdC1tb3otdGV4dC1zaXplLWFkanVzdDogbm9uZTtcblx0LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lO1xuXHR0ZXh0LXNpemUtYWRqdXN0OiBub25lO1xuXG59XG5cbmJvZHkge1xuXG5cdG1hcmdpbjogMDtcblx0bWluLWhlaWdodDogMTAwdmg7XG5cbn1cblxuYm9keSwgaDEsIGgyLCBoMywgaDQsXG5wLCBmaWd1cmUsIGJsb2NrcXVvdGUsIGRsLCBkZCB7XG5cblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuXHRtYXJnaW4tYmxvY2stZW5kOiAwO1xuXG59XG5cbmgxLCBoMiwgaDMsIGg0IHtcblxuXHR0ZXh0LXdyYXA6IHByZXR0eTtcblxufVxuXG51bCxcbm9sIHtcblxuXHRtYXJnaW46IHVuc2V0O1xuXHRwYWRkaW5nOiB1bnNldDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblxufVxuXG5hOm5vdChbY2xhc3NdKSB7XG5cblx0dGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBhdXRvO1xuXG59XG5cbmltZyxcbnBpY3R1cmUge1xuXG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cbn1cblxuaW5wdXQsIGJ1dHRvbixcbnRleHRhcmVhLCBzZWxlY3Qge1xuXG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRmb250LXNpemU6IGluaGVyaXQ7XG5cbn1cblxuYnV0dG9uIHtcblxuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxufVxuXG5maWVsZHNldCB7XG5cblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXG59XG5cbnRleHRhcmVhIHtcblxuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbn1cblxudGV4dGFyZWE6bm90KFtyb3dzXSkge1xuXG5cdG1pbi1oZWlnaHQ6IDEwZW07XG5cbn1cblxuLy8gUG9wb3ZlciByZXNldCDigJQgZHJvcCB0aGUgVUEtZGVmYXVsdCBzb2xpZCBib3JkZXIgKyAwLjI1ZW0gcGFkZGluZyBvbmx5LlxuLy8gU2l6aW5nICh3aWR0aC9oZWlnaHQpIGlzIHRoZSBwb3BvdmVyJ3Mgb3duIGNvbmNlcm47IHRoZSBtZW51IHBvcG92ZXJzXG4vLyAoZGVza3RvcC1uYXYsIG1vYmlsZS1uYXYpIHNldCB0aGVpciBvd24gd2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCUgZXhwbGljaXRseSxcbi8vIGFuZCB0aGUgY2FydC1kcmF3ZXIgKyBmdXR1cmUgc2lkZS1wYW5lbCBwb3BvdmVycyBuZWVkIHRoZWlyIG93biBkaW1lbnNpb25zLlxuKltwb3BvdmVyXSB7XG5cblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXG59XG5cbjp0YXJnZXQge1xuXG5cdHNjcm9sbC1tYXJnaW4tYmxvY2s6IDVleDtcblxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0TUVESUEgUVVFUllcblxuXHRXcmFwcyBjb250ZW50IGluIHRoZSBhcHByb3ByaWF0ZSBtZWRpYSBxdWVyeS5cblxuXHRVc2FnZTpcblx0LmJsb2NrIHtcblx0XHRAaW5jbHVkZSBtZWRpYS1xdWVyeSgnNzY4JykgeyAuLi4gfVxuXHR9XG5cblx0QXZhaWxhYmxlIGFsaWFzZXM6XG5cdHBvcnRyYWl0LCBsYW5kc2NhcGVcblx0NzY4LCA3NjgtcGx1c1xuXHQ5MDAsIDkwMC1wbHVzXG5cdDEwMjQsIDEwMjQtcGx1c1xuXHQxNDQwLCAxNDQwLXBsdXNcblx0MTkyMCwgMTkyMC1wbHVzXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4kYnJlYWtwb2ludC0tcG9ydHJhaXQ6ICAgICcob3JpZW50YXRpb246IHBvcnRyYWl0KSc7XG4kYnJlYWtwb2ludC0tbGFuZHNjYXBlOiAgICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknO1xuXG4kYnJlYWtwb2ludC0tNzY4OiAgICAgICAgICcobWF4LXdpZHRoOiA3NjdweCknO1xuJGJyZWFrcG9pbnQtLTc2OC1wbHVzOiAgICAnKG1pbi13aWR0aDogNzY4cHgpJztcblxuJGJyZWFrcG9pbnQtLTkwMDogICAgICAgICAnKG1heC13aWR0aDogOTAwcHgpJztcbiRicmVha3BvaW50LS05MDAtcGx1czogICAgJyhtaW4td2lkdGg6IDkwMXB4KSc7XG5cbiRicmVha3BvaW50LS0xMDI0OiAgICAgICAgJyhtYXgtd2lkdGg6IDEwMjRweCknO1xuJGJyZWFrcG9pbnQtLTEwMjQtcGx1czogICAnKG1pbi13aWR0aDogMTAyNXB4KSc7XG5cbiRicmVha3BvaW50LS0xNDQwOiAgICAgICAgJyhtYXgtd2lkdGg6IDE0MzlweCknO1xuJGJyZWFrcG9pbnQtLTE0NDAtcGx1czogICAnKG1pbi13aWR0aDogMTQ0MHB4KSc7XG5cbiRicmVha3BvaW50LS0xOTIwOiAgICAgICAgJyhtYXgtd2lkdGg6IDE5MTlweCknO1xuJGJyZWFrcG9pbnQtLTE5MjAtcGx1czogICAnKG1pbi13aWR0aDogMTkyMHB4KSc7XG5cbkBtaXhpbiBtZWRpYS1xdWVyeSgkYWxpYXMsICRzY3JlZW4tb25seTogdHJ1ZSkge1xuXG5cdCRjYWxjdWxhdGVkLWJyZWFrcG9pbnQ6ICcnO1xuXG5cdEBpZiAoJGFsaWFzID09ICdwb3J0cmFpdCcpICAgIHsgJGNhbGN1bGF0ZWQtYnJlYWtwb2ludDogJGJyZWFrcG9pbnQtLXBvcnRyYWl0OyB9XG5cdEBpZiAoJGFsaWFzID09ICdsYW5kc2NhcGUnKSAgIHsgJGNhbGN1bGF0ZWQtYnJlYWtwb2ludDogJGJyZWFrcG9pbnQtLWxhbmRzY2FwZTsgfVxuXG5cdEBpZiAoJGFsaWFzID09ICc3NjgnKSAgICAgICAgIHsgJGNhbGN1bGF0ZWQtYnJlYWtwb2ludDogJGJyZWFrcG9pbnQtLTc2ODsgfVxuXHRAaWYgKCRhbGlhcyA9PSAnNzY4LXBsdXMnKSAgICB7ICRjYWxjdWxhdGVkLWJyZWFrcG9pbnQ6ICRicmVha3BvaW50LS03NjgtcGx1czsgfVxuXG5cdEBpZiAoJGFsaWFzID09ICc5MDAnKSAgICAgICAgIHsgJGNhbGN1bGF0ZWQtYnJlYWtwb2ludDogJGJyZWFrcG9pbnQtLTkwMDsgfVxuXHRAaWYgKCRhbGlhcyA9PSAnOTAwLXBsdXMnKSAgICB7ICRjYWxjdWxhdGVkLWJyZWFrcG9pbnQ6ICRicmVha3BvaW50LS05MDAtcGx1czsgfVxuXG5cdEBpZiAoJGFsaWFzID09ICcxMDI0JykgICAgICAgIHsgJGNhbGN1bGF0ZWQtYnJlYWtwb2ludDogJGJyZWFrcG9pbnQtLTEwMjQ7IH1cblx0QGlmICgkYWxpYXMgPT0gJzEwMjQtcGx1cycpICAgeyAkY2FsY3VsYXRlZC1icmVha3BvaW50OiAkYnJlYWtwb2ludC0tMTAyNC1wbHVzOyB9XG5cblx0QGlmICgkYWxpYXMgPT0gJzE0NDAnKSAgICAgICAgeyAkY2FsY3VsYXRlZC1icmVha3BvaW50OiAkYnJlYWtwb2ludC0tMTQ0MDsgfVxuXHRAaWYgKCRhbGlhcyA9PSAnMTQ0MC1wbHVzJykgICB7ICRjYWxjdWxhdGVkLWJyZWFrcG9pbnQ6ICRicmVha3BvaW50LS0xNDQwLXBsdXM7IH1cblxuXHRAaWYgKCRhbGlhcyA9PSAnMTkyMCcpICAgICAgICB7ICRjYWxjdWxhdGVkLWJyZWFrcG9pbnQ6ICRicmVha3BvaW50LS0xOTIwOyB9XG5cdEBpZiAoJGFsaWFzID09ICcxOTIwLXBsdXMnKSAgIHsgJGNhbGN1bGF0ZWQtYnJlYWtwb2ludDogJGJyZWFrcG9pbnQtLTE5MjAtcGx1czsgfVxuXG5cdEBpZiAoJGNhbGN1bGF0ZWQtYnJlYWtwb2ludCAhPSAnJykge1xuXG5cdFx0QGlmICgkc2NyZWVuLW9ubHkgPT0gdHJ1ZSkge1xuXG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAjeyRjYWxjdWxhdGVkLWJyZWFrcG9pbnR9IHtcblxuXHRcdFx0XHRAY29udGVudDtcblxuXHRcdFx0fVxuXG5cdFx0fSBAZWxzZSB7XG5cblx0XHRcdEBtZWRpYSBhbGwgYW5kICN7JGNhbGN1bGF0ZWQtYnJlYWtwb2ludH0ge1xuXG5cdFx0XHRcdEBjb250ZW50O1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCJAdXNlICcuLi9mdW5jdGlvbnMvbWVkaWEtcXVlcnknIGFzICo7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdEdSSURcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5ncmlkIHtcblxuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLWNvbHVtbjogMSAvIC0xO1xuXHRyb3ctZ2FwOiB2YXIoLS1ncmlkLWdhcCwgMjVweCk7XG5cdGNvbHVtbi1nYXA6IHZhcigtLWdyaWQtZ2FwLCAyNXB4KTtcblx0d2lkdGg6IDEwMCU7XG5cblx0Ji0tMSB7XG5cblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XG5cblx0fVxuXG5cdCYtLTIge1xuXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtcXVlcnkoJzc2OCcpIHtcblxuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmLS0zIHtcblxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KCc3NjgnKSB7XG5cblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcblxuXHRcdH1cblxuXHR9XG5cblx0Ji0tNCB7XG5cblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1xdWVyeSgnNzY4Jykge1xuXG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XG5cblx0XHR9XG5cblx0fVxuXG5cdCYtLTUge1xuXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgbWlubWF4KDAsIDFmcikpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtcXVlcnkoJzc2OCcpIHtcblxuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmLS02IHtcblxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIG1pbm1heCgwLCAxZnIpKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KCcxMDI0Jykge1xuXG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG5cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1xdWVyeSgnNzY4Jykge1xuXG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG5cblx0XHR9XG5cblx0fVxuXG5cdC8vIEFzeW1tZXRyaWMgdHdvLWNvbHVtbiBzcGxpdC4gQ29sdW1uIHJhdGlvIHZpYSB0aGUgYC0tZ3JpZC1jb2x1bW5zYFxuXHQvLyBjdXN0b20gcHJvcCBvbiB0aGUgZ3JpZCBlbGVtZW50OlxuXHQvLyAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtLXNwbGl0XCIgc3R5bGU9XCItLWdyaWQtY29sdW1uczogMS4xNWZyIDAuODVmcjtcIj5cblx0Ly8gRGVmYXVsdCBpcyBhIHBsYWluIDE6MSBzcGxpdCAoZXF1aXZhbGVudCB0byBgLmdyaWQtLTJgKSwgc28gdGhlXG5cdC8vIG1vZGlmaWVyIGlzIHN0aWxsIHVzZWZ1bCB3aGVuIHRoZSBjb2x1bW5zIGNvbWUgZnJvbSBKUyBvciBhblxuXHQvLyB1cHN0cmVhbSBjdXN0b20gcHJvcC4gQ29sbGFwc2VzIHRvIHNpbmdsZS1jb2x1bW4gYXQgMTAyNC5cblx0Ji0tc3BsaXQge1xuXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1ncmlkLWNvbHVtbnMsIDFmciAxZnIpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtcXVlcnkoJzEwMjQnKSB7XG5cblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdElNQUdFU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQHVzZSAnLi4vZnVuY3Rpb25zL3RyYW5zaXRpb25zJyBhcyAqO1xuXG4uaG92ZXItem9vbSB7XG5cblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0aW1nIHtcblxuXHRcdEBpbmNsdWRlIHRyYW5zaXRpb24tYWxsO1xuXG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXG5cdH1cblxuXHQmOmhvdmVyIHtcblxuXHRcdGltZyB7XG5cblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7XG5cblx0XHR9XG5cblx0fVxuXG59XG5cbi5pbWcge1xuXG5cdCYtLWNvdmVyIHtcblxuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblxuXHR9XG5cblx0Ji0tY29udGFpbiB7XG5cblx0XHRvYmplY3QtZml0OiBjb250YWluO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblxuXHR9XG5cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFRSQU5TSVRJT05TXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AbWl4aW4gdHJhbnNpdGlvbi1hbGwge1xuXG5cdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuXG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWFsbC0tc2xvdyB7XG5cblx0dHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2U7XG5cbn1cblxuQG1peGluIHRyYW5zaXRpb24tYWxsLS1xdWljayB7XG5cblx0dHJhbnNpdGlvbjogYWxsIDE4MG1zIGVhc2U7XG5cbn1cblxuQG1peGluIHRyYW5zaXRpb24tYWxsLS1yYXBpZCB7XG5cblx0dHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcywgdmlzaWJpbGl0eSAwbXM7XG5cbn1cblxuQG1peGluIHRyYW5zaXRpb24tYWxsLS1pbi1zbG93IHtcblxuXHR0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZS1pbjtcblxufVxuIiwiQHVzZSAnLi4vZnVuY3Rpb25zL21lZGlhLXF1ZXJ5JyBhcyAqO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRWSVNJQklMSVRZXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uaXMtaGlkZGVuIHtcblxuXHRkaXNwbGF5OiBub25lO1xuXG5cdCYtLW1vYmlsZSB7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1xdWVyeSgnNzY4Jykge1xuXG5cdFx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cblx0XHR9XG5cblx0fVxuXG5cdCYtLXRhYmxldCB7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1xdWVyeSgnMTAyNCcpIHtcblxuXHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmLS1kZXNrdG9wIHtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KCcxMDI0LXBsdXMnKSB7XG5cblx0XHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuXHRcdH1cblxuXHR9XG5cblx0Ji0tcG9ydHJhaXQge1xuXG5cdFx0QG1lZGlhIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcblxuXHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmLS1sYW5kc2NhcGUge1xuXG5cdFx0QG1lZGlhIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG5cblx0XHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdEhPVkVSXG5cblx0R2VuZXJhdGVzIGhvdmVyLCBmb2N1cywgYW5kIGFjdGl2ZSBzdGF0ZXMuXG5cdFBhc3MgJGluY2x1ZGUtYWN0aXZlOiB0cnVlIHRvIGFsc28gaW5jbHVkZVxuXHQ6YWN0aXZlIGFuZCAuaXMtYWN0aXZlIHN0YXRlcy5cblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbkBtaXhpbiBob3ZlcigkaW5jbHVkZS1hY3RpdmU6IGZhbHNlKSB7XG5cblx0QGlmICgkaW5jbHVkZS1hY3RpdmUpIHtcblxuXHRcdCY6dGFyZ2V0LFxuXHRcdCY6YWN0aXZlLFxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyxcblx0XHQmLmlzLWFjdGl2ZSB7XG5cblx0XHRcdEBjb250ZW50O1xuXG5cdFx0fVxuXG5cdH0gQGVsc2Uge1xuXG5cdFx0Jjp0YXJnZXQsXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmhvdmVyIHtcblxuXHRcdFx0QGNvbnRlbnQ7XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRCQUNLR1JPVU5EXG5cblx0U2hvcnRoYW5kIGZvciByZ2JhIGJhY2tncm91bmQgd2l0aCBvcGFjaXR5LlxuXG5cdFVzYWdlOiBAaW5jbHVkZSBiYWNrZ3JvdW5kKCRkYXJrLWNoYXJjb2FsLCAwLjgpO1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQG1peGluIGJhY2tncm91bmQoJGNvbG9yLCAkb3BhY2l0eTogMC41KSB7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRvcGFjaXR5KTtcblxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0TUVUUklDU1xuXHRTcGFjaW5nICsgY29udGFpbmVycyArIGljb25zICsgcmFkaWkgZnJvbSBTQVMxLlxuXHRSYWRpaSA9IDAgKFNBUzEgdXNlcyBzaGFycCBjb3JuZXJzIGFjcm9zcyB0aGUgYm9hcmQpLlxuXHRHdXR0ZXIgPSAyNHB4IChTQVMxIGNhbm9uaWNhbCBncmlkIGdhcCA9IHNwYWNpbmctNSkuXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbi8vIOKUgOKUgCBDb250YWluZXJzIChTQVMxIGNvbnRhaW5lcnMpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4kc2l0ZS1tYXgtd2lkdGg6ICAgICAgICAgIDE0NDBweDtcbiRzaXRlLW1heC13aWR0aC1uYXJyb3c6ICAgIDcyMHB4O1xuJHNpdGUtbWF4LXdpZHRoLWRlZmF1bHQ6ICAxMjAwcHg7XG4kc2l0ZS1tYXgtd2lkdGgtd2lkZTogICAgIDE0NDBweDtcblxuXG4vLyDilIDilIAgU3BhY2luZyBzY2FsZSAoU0FTMSBzcGFjaW5nIHRva2Vucykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiRzcGFjZS0xOiAgICA0cHg7XG4kc3BhY2UtMjogICAgOHB4O1xuJHNwYWNlLTM6ICAgMTJweDtcbiRzcGFjZS00OiAgIDE2cHg7XG4kc3BhY2UtNTogICAyNHB4O1xuJHNwYWNlLTY6ICAgMzJweDtcbiRzcGFjZS03OiAgIDQ4cHg7XG4kc3BhY2UtODogICA2NHB4O1xuJHNwYWNlLTk6ICAgOTZweDtcbiRzcGFjZS0xMDogMTI4cHg7XG5cblxuLy8g4pSA4pSAIEd1dHRlcnMgKGNhbm9uaWNhbCBncmlkIGdhcCAyNHB4ID0gc3BhY2UtNSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiRndXR0ZXI6ICAgICAgICAgICRzcGFjZS01O1xuJGd1dHRlci0tbGFyZ2U6ICAgJHNwYWNlLTc7XG4kZ3V0dGVyLS1kb3VibGU6ICAkc3BhY2UtNjtcbiRndXR0ZXItLW1pZGk6ICAgICRzcGFjZS00O1xuJGd1dHRlci0tc21hbGw6ICAgJHNwYWNlLTM7XG4kZ3V0dGVyLS1taW5pOiAgICAkc3BhY2UtMjtcbiRndXR0ZXItLXRpbnk6ICAgICRzcGFjZS0xO1xuJGd1dHRlci0tdHJlYmxlOiAgJHNwYWNlLTk7XG5cblxuLy8g4pSA4pSAIFJhZGlpIOKAlCBTQVMxIHNoYXJwIGNvcm5lcnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiRyYWRpdXM6ICAgICAgICAgMDtcbiRyYWRpdXMtLXNtYWxsOiAgMDtcbiRyYWRpdXMtLWxhcmdlOiAgMDtcbiRidXR0b24tcmFkaXVzOiAgMDtcbiRmb3JtLXJhZGl1czogICAgMDtcblxuXG4vLyDilIDilIAgQm9yZGVycyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuJGhhaXJsaW5lLWJvcmRlcjogIDFweDtcbiRyZWd1bGFyLWJvcmRlcjogICAycHg7XG4kdGhpY2stYm9yZGVyOiAgICAgNHB4O1xuXG5cbi8vIOKUgOKUgCBTaGFkb3dzIChmcm9tIFNBUzEgZWxldmF0aW9uIHRva2Vucykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiRzaGFkb3c6ICAgICAgICAgIDAgMTBweCAyOHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgMC45NSksIDAgMnB4IDZweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC43KTtcbiRzaGFkb3ctLXNtYWxsOiAgIDAgNHB4IDEycHggLTRweCByZ2JhKDAsIDAsIDAsIDAuNTUpO1xuJHNoYWRvdy0tbGFyZ2U6ICAgMCAyNHB4IDYwcHggLTIwcHggcmdiYSgwLCAwLCAwLCAwLjcpO1xuJHNoYWRvdy0teGxhcmdlOiAgMCAzMnB4IDgwcHggLTIwcHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcblxuXG4vLyDilIDilIAgRm9udCBzaXplcyDigJQgbmFtZWQgYnkgcHVycG9zZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuJGRpc3BsYXktZm9udC1zaXplOiAgICAgIDEyOHB4O1xuJGhlcm8tZm9udC1zaXplOiAgICAgICAgICA4NHB4O1xuJHNlY3Rpb24tZm9udC1zaXplOiAgICAgICA2MHB4O1xuJHRpdGxlLWZvbnQtc2l6ZTogICAgICAgICA0MHB4O1xuJGhlYWRpbmctZm9udC1zaXplOiAgICAgICAyNnB4O1xuJHN1YmhlYWRpbmctZm9udC1zaXplOiAgICAyMnB4O1xuJGxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAyMHB4O1xuJGJhc2UtZm9udC1zaXplOiAgICAgICAgICAxNnB4O1xuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAxNHB4O1xuJGV5ZWJyb3ctZm9udC1zaXplOiAgICAgICAxMnB4O1xuJG1pY3JvLWZvbnQtc2l6ZTogICAgICAgICAxMXB4O1xuXG4vLyBMZWdhY3kgYWxpYXNlcyBmb3IgZ2xvYmFsIHNpbG8gY29tcGF0aWJpbGl0eVxuJGRldGFpbC1mb250LXNpemU6ICAkYmFzZS1mb250LXNpemU7XG4kYnV0dG9uLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemU7XG4kbWVkaXVtLWZvbnQtc2l6ZTogICRzdWJoZWFkaW5nLWZvbnQtc2l6ZTtcblxuXG4vLyDilIDilIAgSWNvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiRpY29uOiAgICAgICAgICAgIDIwcHg7XG4kaWNvbi0tc21hbGw6ICAgICAxNXB4O1xuJGljb24tLW1lZGl1bTogICAgMjRweDtcbiRpY29uLS1sYXJnZTogICAgIDMycHg7XG4kaWNvbi0teC1sYXJnZTogICA0MHB4O1xuXG5cbi8vIOKUgOKUgCBCcmVha3BvaW50cyAoZnJvbSBmcmFtZXdvcmstdjIgbWVkaWEtcXVlcnkgbWl4aW4pIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4kYnAtbW9iaWxlOiAgIDQ4MHB4O1xuJGJwLXRhYmxldDogICA3NjhweDtcbiRicC1kZXNrdG9wOiAxMTAwcHg7XG4kYnAtd2lkZTogICAgMTQ0MHB4O1xuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0UEFMRVRURVxuXHRSYXcgY29sb3VyIHZhbHVlcyBmcm9tIFNBUzEgc3R5bGVndWlkZS4gVHJpbW1lZCAyMDI2LTA3LTMwIHRvIG9ubHkgdGhlXG5cdHZhbHVlcyBNQVM0MyBhY3R1YWxseSBwYWludHMgd2l0aCDigJQgY29sb3VycyBkZWZpbmVkIGJ1dCBuZXZlciByZW5kZXJlZFxuXHRpbiB0aGUgbW9ja3VwIGFyZSBkcm9wcGVkIChjYW5kaWRhdGVzIHJldHVybiB3aGVuIGEgbGF0ZXIgbW9ja3VwIGFkb3B0c1xuXHR0aGVtKS4gU2VlIGJ1aWxkLXByb21wdHMvYXJ0c2FiZXJzL3RoZW1lLWNsYXNzZXMubWQgZm9yIHRoZSBleHRyYWN0aW9uXG5cdHByb3RvY29sLlxuXG5cdFVzZSBkaXJlY3RseSBieSBTYXNzIG5hbWUgKGZhbGxiYWNrKSBvciB2aWEgdGhlIENTUyBjdXN0b20gcHJvcGVydHlcblx0c3VyZmFjZSBpbiBfYnJhbmQtdG9rZW5zLnNjc3MgKHByZWZlcnJlZCkuXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vLyBCYXNlbGluZVxuXG4kYmxhY2s6ICMwMDAwMDAgIWRlZmF1bHQ7XG4kd2hpdGU6ICNGRkZGRkYgIWRlZmF1bHQ7XG5cblxuLy8gRW1iZXIgb21icmUg4oCUIGhvdC1jb3JlIGFjY2VudCBwYWxldHRlICg1IHNoYWRlcyBpbiB1c2UpXG5cbiRlbWJlci1nbG93OiAgICAjRkZCMzQ3OyAgIC8vIE1BUzQzIHVzZXMgw5c5XG4kZW1iZXItYnJpZ2h0OiAgI0ZGOTU0MDsgICAvLyBNQVM0MyB1c2VzIMOXMlxuJGVtYmVyOiAgICAgICAgICNGRjdBMkU7ICAgLy8gTUFTNDMgdXNlcyDDlzQ5IChkb21pbmFudClcbiRlbWJlci1mb3JnZTogICAjRTg1RDE4OyAgIC8vIE1BUzQzIHVzZXMgw5cyXG4kZW1iZXItZGVlcDogICAgI0QxNDgxMDsgICAvLyBNQVM0MyB1c2VzIMOXM1xuXG4vLyBEUk9QUEVEIDIwMjYtMDctMzAgKGRlZmluZWQgYnV0IG5ldmVyIHJlZmVyZW5jZWQgYnkgTUFTNDMpOlxuLy8gICAkZW1iZXItc21vdWxkZXIgICM4QjJFMDhcbi8vICAgJGVtYmVyLXNjYXIgICAgICAjNUExQTAwXG5cblxuLy8gSHVsbCBncmV5cyDigJQgZGFyayBzdXJmYWNlc1xuXG4kY2FyYm9uOiAgICAgICAgICAgICMwNjA2MDY7ICAgLy8gw5cxMFxuJHZvaWQ6ICAgICAgICAgICAgICAjMEEwQTBBOyAgIC8vIMOXNFxuJGNoYXJjb2FsOiAgICAgICAgICAjMTQxNDE0OyAgIC8vIMOXNlxuJGNoYXJjb2FsLXdhcm06ICAgICAjMTYxNDEyOyAgIC8vIMOXMVxuJGh1bGwtcGFuZWw6ICAgICAgICAjMUExQTFBOyAgIC8vIMOXMlxuJGh1bGwtcGFuZWwtbGlmdDogICAjMjQyNDI0OyAgIC8vIMOXNFxuJGh1bGwtcGFuZWwtZGFyazogICAjMEYwRjBGOyAgIC8vIMOXMTRcblxuLy8gRFJPUFBFRCAyMDI2LTA3LTMwIChkZWZpbmVkIGJ1dCBuZXZlciByZWZlcmVuY2VkIGJ5IE1BUzQzKTpcbi8vICAgJGh1bGwtY2hyb21lLXNoYWRvdyAgIzJFMkUyRVxuLy8gICAkaHVsbC1lZGdlICAgICAgICAgICAjMzYzNjM2XG5cblxuLy8gQ2hyb21lIHRleHQg4oCUIGxpZ2h0LW9uLWRhcmtcblxuJGNocm9tZS1oaWdobGlnaHQ6ICAjRkFGQUZBOyAgIC8vIMOXMjBcbiRjaHJvbWUtd2FybTogICAgICAgI0Y1RjBFODsgICAvLyDDlzI0XG4kY2hyb21lLWRpbTogICAgICAgICNCOEIwQTY7ICAgLy8gw5czMFxuXG4vLyBEUk9QUEVEOiAkY2hyb21lLWdsaW50ICgjRThFNEREKSDigJQgZGVmaW5lZCBidXQgbmV2ZXIgcmVmZXJlbmNlZCBieSBNQVM0M1xuXG5cbi8vIFRleHQgb24gZW1iZXIgZmlsbHMg4oCUIGRhcmstb24tbGlnaHQgcmVhZGFibGVcblxuJG9uLXByaW1hcnktZml4ZWQ6ICAjMkEwODAwOyAgIC8vIMOXMTNcblxuLy8gRFJPUFBFRDogJG9uLXByaW1hcnkgKCM1QTFBMDApIOKAlCBkZWZpbmVkIGJ1dCBuZXZlciByZWZlcmVuY2VkLiBJZiBhXG4vLyBmdXR1cmUgbW9ja3VwIG5lZWRzIGEgbGlnaHRlciBvbi1lbWJlciB2YXJpYW50LCBhZGQgdGhlbi5cblxuXG4vLyBEUk9QUEVEIDIwMjYtMDctMzAgKG5ldmVyIHJlZmVyZW5jZWQgYnkgTUFTNDMg4oCUIHNwZWN1bGF0aXZlIGFkZGl0aW9ucyk6XG4vLyAgICRmb3JnZS1yZWQgICNFNjM5Mjlcbi8vICAgJG91dGxpbmUgICAgIzNFM0UzRVxuIiwiQHVzZSAnbWV0cmljcycgYXMgbWV0cmljcztcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0VFlQT0dSQVBIWVxuXHRGb250cyArIHdlaWdodHMgKyByaHl0aG0gZnJvbSBTQVMxIHN0eWxlZ3VpZGUsIHRyaW1tZWQgMjAyNi0wNy0zMCB0b1xuXHR3aGF0IE1BUzQzIGFjdHVhbGx5IHBhaW50cyB3aXRoLiBTcGFjZSBHcm90ZXNrIHdhcyBpbiBTQVMxIGFzIGEgc21hbGwtXG5cdHR5cGUgY2hyb21lIGZvbnQsIGJ1dCBNQVM0MyB1c2VzIE9yYml0cm9uIGZvciBldmVyeSBjaHJvbWUgc2xvdCB0b28g4oCUXG5cdHNvIHdlIGRyb3AgaXQgYW5kIHRoZSB0aGVtZSB1c2VzIHR3byBmYW1pbGllcyAodGl0bGUgKyBib2R5KSBvbmx5LlxuXHRTQVMxIHRpdGxlX2RlZmF1bHRzOiBPcmJpdHJvbiA2MDAgdXByaWdodC4gYm9keV9kZWZhdWx0czogT25lc3QgNDAwLlxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4vLyDilIDilIAgRm9udCBmYW1pbGllcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuJGRpc3BsYXktZm9udC1mYW1pbHk6ICAnT3JiaXRyb24nLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7XG4kYm9keS1mb250LWZhbWlseTogICAgICdPbmVzdCcsIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcblxuLy8gTGVnYWN5IGFsaWFzIGZvciB0aGUgcHJldmlvdXMgLS1mb250LXRpdGxlIGlkZW50aWZpZXIg4oCUIGtlcHQgYXMgYSBTYXNzXG4vLyB2YXIgb25seSAobm8gQ1NTIGN1c3RvbSBwcm9wZXJ0eSBlbWl0KSBzbyBhbnkgbGluZ2VyaW5nIHJlZmVyZW5jZXMgc3RpbGxcbi8vIHJlc29sdmUuXG4kdGl0bGUtZm9udC1mYW1pbHk6ICRkaXNwbGF5LWZvbnQtZmFtaWx5O1xuXG4vLyBCYXNlIGZvciBodG1sL2JvZHkgcmVzZXRcbiRiYXNlLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcblxuLy8gTGVnYWN5IGFsaWFzZXMgZm9yIGdsb2JhbCBzaWxvIGNvbXBhdGliaWxpdHkgKHNvbWUgZnJhbWV3b3JrIFNDU1Ncbi8vIHJlZmVyZW5jZXMgdGhlc2UgU2FzcyBuYW1lcyDigJQgcmVzb2x2ZSB0aGVtIGFsbCB0byBkaXNwbGF5L2JvZHkpLlxuJGZvcm0tZm9udC1mYW1pbHk6ICAgICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRpbmctZm9udC1mYW1pbHk6ICRkaXNwbGF5LWZvbnQtZmFtaWx5O1xuJGN0YS1mb250LWZhbWlseTogICAgICRkaXNwbGF5LWZvbnQtZmFtaWx5O1xuXG5cbi8vIOKUgOKUgCBXZWlnaHRzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4kcmVndWxhcjogICAgNDAwO1xuJG1lZGl1bTogICAgIDUwMDtcbiRzZW1pLWJvbGQ6ICA2MDA7XG4kYm9sZDogICAgICAgNzAwO1xuJHhib2xkOiAgICAgIDgwMDtcblxuXG4vLyDilIDilIAgTGluZSBoZWlnaHRzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4kdGlnaHQtbGluZS1oZWlnaHQ6ICAgIDEuMDU7XG4kaGVhZGluZy1saW5lLWhlaWdodDogIDEuMTU7XG4kY2FyZC1saW5lLWhlaWdodDogICAgIDEuMzU7XG4kYm9keS1saW5lLWhlaWdodDogICAgIDEuNTU7XG4kdWktbGluZS1oZWlnaHQ6ICAgICAgIDEuMjtcblxuLy8gTGVnYWN5IGFsaWFzZXNcbiRiYXNlLWxpbmUtaGVpZ2h0LXJhdGlvOiAgICAgJGJvZHktbGluZS1oZWlnaHQ7XG4kaGVhZGluZy1saW5lLWhlaWdodC1yYXRpbzogICRoZWFkaW5nLWxpbmUtaGVpZ2h0O1xuJHRpdGxlLWxpbmUtaGVpZ2h0LXJhdGlvOiAgICAxLjA2OyAgLy8gU0FTMSB0aXRsZV9kZWZhdWx0c1xuJGN0YS1saW5lLWhlaWdodC1yYXRpbzogICAgICAkdWktbGluZS1oZWlnaHQ7XG4kZm9ybS1saW5lLWhlaWdodC1yYXRpbzogICAgIDE7XG5cblxuLy8g4pSA4pSAIExldHRlciBzcGFjaW5nIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4kdGlnaHQtbGV0dGVyLXNwYWNpbmc6ICAgIC0wLjAyZW07XG4kaGVhZGluZy1sZXR0ZXItc3BhY2luZzogIC0wLjAxZW07XG4kd2lkZS1sZXR0ZXItc3BhY2luZzogICAgIDAuMDhlbTtcbiR3aWRlci1sZXR0ZXItc3BhY2luZzogICAgMC4xNGVtO1xuJHdpZGVzdC1sZXR0ZXItc3BhY2luZzogICAwLjJlbTtcbiRsYWJlbC1sZXR0ZXItc3BhY2luZzogICAgMC4xZW07XG5cblxuLy8g4pSA4pSAIE1peGlucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuXG4vLyBCb2R5IGNvcHkgZGVmYXVsdCDigJQgT25lc3QgNDAwLCB1c2VkIG9uIGh0bWwvYm9keSByZXNldFxuXG5AbWl4aW4gYm9keS1mb250KCkge1xuXG5cdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcblx0Zm9udC1zaXplOiBtZXRyaWNzLiRiYXNlLWZvbnQtc2l6ZTtcblx0bGluZS1oZWlnaHQ6ICRib2R5LWxpbmUtaGVpZ2h0O1xuXHRmb250LXdlaWdodDogJHJlZ3VsYXI7XG5cbn1cblxuXG4vLyBEaXNwbGF5IGRlZmF1bHQg4oCUIE9yYml0cm9uIDYwMCB1cHJpZ2h0LCBicmFuZC1sb2NrZWQgKFNBUzEgdGl0bGVfZGVmYXVsdHMpXG5cbkBtaXhpbiBkaXNwbGF5LWZvbnQoKSB7XG5cblx0Zm9udC1mYW1pbHk6ICRkaXNwbGF5LWZvbnQtZmFtaWx5O1xuXHRmb250LXdlaWdodDogJHNlbWktYm9sZDtcblx0bGluZS1oZWlnaHQ6IDEuMDY7XG5cdGxldHRlci1zcGFjaW5nOiAwLjhweDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxufVxuXG4vLyBMZWdhY3kgbWl4aW4gYWxpYXNcbkBtaXhpbiB0aXRsZS1mb250KCkgeyBAaW5jbHVkZSBkaXNwbGF5LWZvbnQ7IH1cblxuXG4vLyBMZWdhY3kgc2l6aW5nIG1peGluc1xuXG5AbWl4aW4gbGFyZ2UtZm9udCgpIHtcblxuXHRmb250LXNpemU6IG1ldHJpY3MuJGxhcmdlLWZvbnQtc2l6ZTtcblx0bGluZS1oZWlnaHQ6ICRib2R5LWxpbmUtaGVpZ2h0O1xuXG59XG5cbkBtaXhpbiBtZWRpdW0tZm9udCgpIHtcblxuXHRmb250LXNpemU6IG1ldHJpY3MuJHN1YmhlYWRpbmctZm9udC1zaXplO1xuXHRsaW5lLWhlaWdodDogJGJvZHktbGluZS1oZWlnaHQ7XG5cbn1cblxuQG1peGluIHNtYWxsLWZvbnQoKSB7XG5cblx0Zm9udC1zaXplOiBtZXRyaWNzLiRzbWFsbC1mb250LXNpemU7XG5cdGxpbmUtaGVpZ2h0OiAkYm9keS1saW5lLWhlaWdodDtcblxufVxuIiwiLy8gU291cmNlIHRoZSBicmFuZCAkdmFyaWFibGVzIGRpcmVjdGx5IGZyb20gdGhlIHNldHRpbmdzIHN1Yi1wYXJ0aWFscyDigJQgTk9UIHZpYVxuLy8gYEB1c2UgJ3NldHRpbmdzJ2AsIHdob3NlIF9pbmRleCBAZm9yd2FyZHMgdGhlIGdsb2JhbCBmcmFtZXdvcmsgYW5kIHdvdWxkIGVtaXRcbi8vIHRoZSB3aG9sZSByZXNldCBpbnRvIHRoaXMgc2hlZXQuIFRoZXNlIHRocmVlIHBhcnRpYWxzIGFyZSBwdXJlIHZhcmlhYmxlL21peGluXG4vLyBkZWZpbml0aW9ucyAobm8gQ1NTIG91dHB1dCkuXG5AdXNlICdzZXR0aW5ncy9tZXRyaWNzJyBhcyAqO1xuQHVzZSAnc2V0dGluZ3MvY29sb3JzJyBhcyAqO1xuQHVzZSAnc2V0dGluZ3MvdHlwb2dyYXBoeScgYXMgKjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0QlJBTkQgVE9LRU5TIOKAlCA6cm9vdCBjdXN0b20gcHJvcGVydGllcyAoc2luZ2xlIHNvdXJjZSlcblxuXHRUaGUgQVJUU0FCRVJTIGJyYW5kIHRva2VuIHNldC4gVHJpbW1lZCAyMDI2LTA3LTMwIHRvIG9ubHkgd2hhdCBNQVM0M1xuXHRhY3R1YWxseSBwYWludHMgd2l0aC4gRXZlcnkgY29sb3VyIGRlZmluZWQgaGVyZSBpcyByZWZlcmVuY2VkIHNvbWV3aGVyZVxuXHRpbiBNQVM0MydzIHJlbmRlcmVkIENTUzsgZXZlcnkgY29sb3VyIHByZXZpb3VzbHkgZGVmaW5lZCBidXQgb25seVxuXHRzcGVjdWxhdGl2ZWx5IChTQVMxIHN0eWxlZ3VpZGUgZXh0cmFzIG5ldmVyIHVzZWQgaW4gdGhlIG1vY2t1cCkgaGFzXG5cdGJlZW4gZHJvcHBlZC4gU2FtZSBwcmluY2lwbGUgZm9yIGZvbnRzIOKAlCBTcGFjZSBHcm90ZXNrIGRyb3BwZWQgc2luY2Vcblx0TUFTNDMgdXNlcyBPcmJpdHJvbiBmb3IgZXZlcnkgY2hyb21lIHNsb3QuXG5cblx0TWl4aW4gdXNlZCB0d2ljZSDigJQgb25jZSBpbiBhcnRzYWJlcnMuc2NzcyA6cm9vdCAoZnJvbnQgZW5kKSBhbmQgb25jZVxuXHRpbiB0b2tlbnMuc2NzcyBvbiAuZWRpdG9yLXN0eWxlcy13cmFwcGVyIChlZGl0b3IgY2FudmFzKS5cblxuXHRTZWUgYnVpbGQtcHJvbXB0cy9hcnRzYWJlcnMvdGhlbWUtY2xhc3Nlcy5tZCBmb3IgdGhlIHBlci1tb2NrdXBcblx0Y29sb3VyLWV4dHJhY3Rpb24gcHJvdG9jb2wuXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AbWl4aW4gYnJhbmQtdG9rZW4tdmFycyB7XG5cblx0LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRTVFJVQ1RVUkFMIOKAlCBjb25zdW1lZCBieSBnbG9iYWwgZnJhbWV3b3JrIHByaW1pdGl2ZXNcblx0XFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXHQtLXNpdGUtbWF4LXdpZHRoOiAgICAgICAgICAjeyRzaXRlLW1heC13aWR0aH07XG5cdC0tc2l0ZS1tYXgtd2lkdGgtbmFycm93OiAgICN7JHNpdGUtbWF4LXdpZHRoLW5hcnJvd307XG5cdC0tc2l0ZS1tYXgtd2lkdGgtZGVmYXVsdDogICN7JHNpdGUtbWF4LXdpZHRoLWRlZmF1bHR9O1xuXHQtLXNpdGUtbWF4LXdpZHRoLXdpZGU6ICAgICAjeyRzaXRlLW1heC13aWR0aC13aWRlfTtcblx0LS1jb250YWluZXItbWF4OiAgICAgICAgICAgI3skc2l0ZS1tYXgtd2lkdGh9O1xuXHQtLWd1dHRlcjogICAgICAgICAgICAgICAgICAjeyRndXR0ZXJ9O1xuXHQtLWd1dHRlci1zbWFsbDogICAgICAgICAgICAjeyRndXR0ZXItLXNtYWxsfTtcblx0LS1pY29uLXNpemU6ICAgICAgICAgICAgICAgI3skaWNvbn07XG5cdC0taWNvbi1zaXplLW1kOiAgICAgICAgICAgICN7JGljb24tLW1lZGl1bX07XG5cdC0taWNvbi1zaXplLWxnOiAgICAgICAgICAgICN7JGljb24tLWxhcmdlfTtcblx0LS1pY29uLXNpemUteGw6ICAgICAgICAgICAgI3skaWNvbi0teC1sYXJnZX07XG5cdC0tcmFkaXVzLWludGVyYWN0aXZlOiAgICAgIDA7ICAgLy8gU0FTMSBzaGFycCBjb3JuZXJzXG5cdC0tcmFkaXVzLWNhcmQ6ICAgICAgICAgICAgIDA7ICAgLy8gU0FTMSBzaGFycCBjb3JuZXJzXG5cblx0LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRUWVBFIFNDQUxFIOKAlCBzdGF0aWMgU0FTMSB2YWx1ZXMgKGNvbXBvbmVudC1sZXZlbCBjbGFtcCgpIG92ZXJyaWRlc1xuXHRcdGFzIG5lZWRlZCwgcGVyIG1vY2t1cCBkZXNpZ24gaW50ZW50KVxuXHRcXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cdC0tZnMtZGlzcGxheTogICAgICAjeyRkaXNwbGF5LWZvbnQtc2l6ZX07XG5cdC0tZnMtaGVybzogICAgICAgICAjeyRoZXJvLWZvbnQtc2l6ZX07XG5cdC0tZnMtc2VjdGlvbjogICAgICAjeyRzZWN0aW9uLWZvbnQtc2l6ZX07XG5cdC0tZnMtdGl0bGU6ICAgICAgICAjeyR0aXRsZS1mb250LXNpemV9O1xuXHQtLWZzLWhlYWRpbmc6ICAgICAgI3skaGVhZGluZy1mb250LXNpemV9O1xuXHQtLWZzLXN1YmhlYWRpbmc6ICAgI3skc3ViaGVhZGluZy1mb250LXNpemV9O1xuXHQtLWZzLWxhcmdlOiAgICAgICAgI3skbGFyZ2UtZm9udC1zaXplfTtcblx0LS1mcy1iYXNlOiAgICAgICAgICN7JGJhc2UtZm9udC1zaXplfTtcblx0LS1mcy1zbWFsbDogICAgICAgICN7JHNtYWxsLWZvbnQtc2l6ZX07XG5cdC0tZnMtZXllYnJvdzogICAgICAjeyRleWVicm93LWZvbnQtc2l6ZX07XG5cdC0tZnMtbWljcm86ICAgICAgICAjeyRtaWNyby1mb250LXNpemV9O1xuXG5cdC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0U1BBQ0UgU0NBTEUg4oCUIFNBUzEgKHNwYWNlLTEgdGhyb3VnaCBzcGFjZS0xMClcblx0XHRQbHVzIGxlZ2FjeSAxNS8yMC8zMC80MC82MCBzbG90cyBjb25zdW1lZCBieSBzaGFyZWQgY29tcG9uZW50c1xuXHRcdChuZXJkd29ya3MtZXJhIHZvY2FidWxhcnkg4oCUIGtlcHQgc28gc2hhcmVkIHJlZmVyZW5jZXMgcmVzb2x2ZSkuXG5cdFxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblx0LS1zcGFjZS0xOiAgICN7JHNwYWNlLTF9O1xuXHQtLXNwYWNlLTI6ICAgI3skc3BhY2UtMn07XG5cdC0tc3BhY2UtMzogICAjeyRzcGFjZS0zfTtcblx0LS1zcGFjZS00OiAgICN7JHNwYWNlLTR9O1xuXHQtLXNwYWNlLTU6ICAgI3skc3BhY2UtNX07XG5cdC0tc3BhY2UtNjogICAjeyRzcGFjZS02fTtcblx0LS1zcGFjZS03OiAgICN7JHNwYWNlLTd9O1xuXHQtLXNwYWNlLTg6ICAgI3skc3BhY2UtOH07XG5cdC0tc3BhY2UtOTogICAjeyRzcGFjZS05fTtcblx0LS1zcGFjZS0xMDogICN7JHNwYWNlLTEwfTtcblxuXHQvLyBMZWdhY3kgc2xvdHMgKG5lcmR3b3Jrcy1lcmEpLiBWZXJiYXRpbSBweC5cblx0LS1zcGFjZS0xNTogIDE1cHg7XG5cdC0tc3BhY2UtMjA6ICAyMHB4O1xuXHQtLXNwYWNlLTMwOiAgMzBweDtcblx0LS1zcGFjZS00MDogIDQwcHg7XG5cdC0tc3BhY2UtNjA6ICA2MHB4O1xuXG5cdC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0Rk9OVFMg4oCUIFNBUzEgKE9yYml0cm9uICsgT25lc3Qgb25seSBhZnRlciAyMDI2LTA3LTMwIHRyaW07XG5cdFx0U3BhY2UgR3JvdGVzayBkcm9wcGVkLCBNQVM0MyB1c2VzIE9yYml0cm9uIGZvciBjaHJvbWUgdHlwZSB0b28pXG5cdFxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblx0LS1mb250LWRpc3BsYXk6ICAjeyRkaXNwbGF5LWZvbnQtZmFtaWx5fTtcblx0LS1mb250LWJvZHk6ICAgICAjeyRib2R5LWZvbnQtZmFtaWx5fTtcblxuXHQvLyBMZWdhY3kgYWxpYXNlcyBzbyBwcmUtMjAyNi0wNy0zMCBTQ1NTIHN0aWxsIHJlc29sdmVzIOKAlCBhbGwgcG9pbnQgYXRcblx0Ly8gdGhlIGRpc3BsYXkgZmFjZSAoT3JiaXRyb24pIHNpbmNlIE1BUzQzIHVzZXMgaXQgdW5pdmVyc2FsbHkgZm9yXG5cdC8vIGNocm9tZSB0eXBlICsgbGFiZWxzICsgbmF2LlxuXHQtLWZvbnQtdGl0bGU6ICAgICN7JGRpc3BsYXktZm9udC1mYW1pbHl9O1xuXHQtLWZvbnQtaGVhZGluZzogICN7JGRpc3BsYXktZm9udC1mYW1pbHl9O1xuXHQtLWZvbnQtY2hyb21lOiAgICN7JGRpc3BsYXktZm9udC1mYW1pbHl9O1xuXHQtLWZvbnQtbGFiZWw6ICAgICN7JGRpc3BsYXktZm9udC1mYW1pbHl9O1xuXG5cdC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0U0hBRE9XUyDigJQgU0FTMSBlbGV2YXRpb25cblx0XFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXHQtLWNhcmQtc2hhZG93OiAgICAgICAgI3skc2hhZG93LS1zbWFsbH07XG5cdC0tY2FyZC1zaGFkb3ctaG92ZXI6ICAjeyRzaGFkb3d9O1xuXG5cdC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdFx0TUFTNDMgU0lHTkFUVVJFIEVGRkVDVFMg4oCUIHRoZSBzaGFkb3cvaW5zZXQgY29tcG9zaXRpb25zIHRoZSBtb2NrdXBcblx0XHRwYWludHMgd2l0aCBoZWF2aWx5LiBQcm9tb3RlZCB0byB0b2tlbnMgc28gYnJhbmQgY2hyb21lICsgc2VjdGlvblxuXHRcdHdhbGtzIGNhbiBjYWxsIHRoZW0gYnkgbmFtZS5cblx0XFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXHQtLXBhbmVsLWxpZnQ6ICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoMjUwLCAyNTAsIDI1MCwgMC4wOCksIDAgOHB4IDI0cHggLThweCByZ2JhKDAsIDAsIDAsIDAuOSk7XG5cdC0tcGFuZWwtbGlmdC1ob3ZlcjogIGluc2V0IDAgMXB4IDAgcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjE2KSwgMCAyMHB4IDQ0cHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjk1KTtcblx0LS1jaHJvbWUtdG9wOiAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMzYpO1xuXHQtLWNocm9tZS10b3Atc29mdDogICBpbnNldCAwIDFweCAwIHJnYmEoMjUwLCAyNTAsIDI1MCwgMC4xOCk7XG5cdC0tZW1iZXItaG90LXJpbTogICAgIGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMTIyLCA0NiwgMC41NSksIDAgMCAyOHB4IHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjQ1KTtcblx0LS1lbWJlci1nbG93LXNtOiAgICAgMCAwIDE2cHggcmdiYSgyNTUsIDEyMiwgNDYsIDAuMzUpO1xuXHQtLWVtYmVyLWdsb3ctbWQ6ICAgICAwIDAgMjhweCByZ2JhKDI1NSwgMTIyLCA0NiwgMC41NSk7XG5cblx0LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0XHRBUlRTQUJFUlMgUEFMRVRURSDigJQgU0FTMSwgdHJpbW1lZCB0byB3aGF0IE1BUzQzIHBhaW50cyB3aXRoXG5cdFxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblx0Ly8gRW1iZXIgb21icmVcblx0LS1lbWJlci1nbG93OiAgICAjeyRlbWJlci1nbG93fTtcblx0LS1lbWJlci1icmlnaHQ6ICAjeyRlbWJlci1icmlnaHR9O1xuXHQtLWVtYmVyOiAgICAgICAgICN7JGVtYmVyfTtcblx0LS1lbWJlci1mb3JnZTogICAjeyRlbWJlci1mb3JnZX07XG5cdC0tZW1iZXItZGVlcDogICAgI3skZW1iZXItZGVlcH07XG5cblx0Ly8gSHVsbCBncmV5c1xuXHQtLWNhcmJvbjogICAgICAgICAgICAjeyRjYXJib259O1xuXHQtLXZvaWQ6ICAgICAgICAgICAgICAjeyR2b2lkfTtcblx0LS1jaGFyY29hbDogICAgICAgICAgI3skY2hhcmNvYWx9O1xuXHQtLWNoYXJjb2FsLXdhcm06ICAgICAjeyRjaGFyY29hbC13YXJtfTtcblx0LS1odWxsLXBhbmVsOiAgICAgICAgI3skaHVsbC1wYW5lbH07XG5cdC0taHVsbC1wYW5lbC1saWZ0OiAgICN7JGh1bGwtcGFuZWwtbGlmdH07XG5cdC0taHVsbC1wYW5lbC1kYXJrOiAgICN7JGh1bGwtcGFuZWwtZGFya307XG5cblx0Ly8gQ2hyb21lIHRleHRcblx0LS1jaHJvbWUtaGlnaGxpZ2h0OiAgI3skY2hyb21lLWhpZ2hsaWdodH07XG5cdC0tY2hyb21lLXdhcm06ICAgICAgICN7JGNocm9tZS13YXJtfTtcblx0LS1jaHJvbWUtZGltOiAgICAgICAgI3skY2hyb21lLWRpbX07XG5cblx0Ly8gVGV4dCBvbiBlbWJlciBmaWxsc1xuXHQtLW9uLXByaW1hcnktZml4ZWQ6ICAjeyRvbi1wcmltYXJ5LWZpeGVkfTtcblxuXHQvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdExFR0FDWSBUT05FIFNMT1RTIOKAlCByZXF1aXJlZCBieSBmcmFtZXdvcmsncyAuc2VjdGlvbiBtb2RpZmllcnNcblx0XHQoLS1hbmNob3IgLyAtLWJyaWdodCAvIC0tcHJpbWFyeSAvIC0tc2FmZnJvbikuIEFsaWFzZWQgdG8gdGhlXG5cdFx0Y2xvc2VzdCBBUlRTQUJFUlMgcGFsZXR0ZSBlbnRyaWVzIHNvIGlmIGEgYC5zZWN0aW9uLS0qYCBtb2RpZmllclxuXHRcdGV2ZXIgZmlyZXMsIGl0IHBhaW50cyBvbi1icmFuZC4gQVJUU0FCRVJTJ3MgZ3JvdW5kIHZvY2FidWxhcnlcblx0XHRsaXZlcyBvbiBgLndwLWJsb2NrLWdyb3VwLmlzLXN0eWxlLWdyb3VuZC0qYCBpbiBzZWN0aW9uLWJhbmRzLnNjc3MuXG5cdFxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblx0LS1hbmNob3I6ICAgI3skY2hhcmNvYWx9OyAgICAgIC8vIGRhcmsgc3VyZmFjZVxuXHQtLWJyaWdodDogICAjeyRjaHJvbWUtd2FybX07ICAgLy8gbGlnaHQgc3VyZmFjZVxuXHQtLXByaW1hcnk6ICAjeyRlbWJlcn07ICAgICAgICAgLy8gcHJpbWFyeSBhY2NlbnRcblx0LS1zYWZmcm9uOiAgI3skZW1iZXItZ2xvd307ICAgIC8vIHNlY29uZGFyeSBhY2NlbnRcblxuXHQvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRcdEhBSVJMSU5FIFJVTEVTIHBlciBncm91bmQgKE1BUzQzLW9ic2VydmVkIGFscGhhIHRyZWF0bWVudClcblx0XFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXHQtLXJ1bGUtb24tYW5jaG9yOiAgIHJnYmEoMjQ1LCAyNDAsIDIzMiwgMC4xMik7ICAgLy8gY2hyb21lLXdhcm0gb24gZGFya1xuXHQtLXJ1bGUtb24tYnJpZ2h0OiAgIHJnYmEoMjAsIDIwLCAyMCwgMC4xMik7ICAgICAgLy8gY2hhcmNvYWwgb24gbGlnaHRcblx0LS1ydWxlLW9uLXByaW1hcnk6ICByZ2JhKDI0NSwgMjQwLCAyMzIsIDAuMTgpOyAgIC8vIGNocm9tZS13YXJtIG9uIGVtYmVyXG5cblx0Ly8gTXV0ZWQgdGV4dCBvbiBsaWdodCBncm91bmRzXG5cdC0tbXV0ZWQ6ICByZ2JhKDIwLCAyMCwgMjAsIDAuNik7XG5cbn1cbiIsIkB1c2UgJ3NldHRpbmdzJyBhcyAqO1xuQHVzZSAnYnJhbmQtdG9rZW5zJyBhcyAqO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRDT01QT05FTlRTXG5cdE9uZSBAdXNlIHBlciBhdXRob3JlZCBicmFuZCBjb21wb25lbnQuIEFjY3J1ZXMgYXMgdGhlIHNlY3Rpb24gd2Fsa1xuXHRsYW5kcyBlYWNoLiBTZWUgYnVpbGQtcHJvbXB0cy9hcnRzYWJlcnMvdGhlbWUtY2xhc3Nlcy5tZCBmb3IgdGhlXG5cdHJlZ2lzdHJ5IG9mIHdoYXQncyBhdXRob3JlZCBhbmQgd2hhdCdzIHF1ZXVlZC5cblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbkB1c2UgJ2NvbXBvbmVudHMvYXJjaGl2ZS1oZWFkZXInO1xuQHVzZSAnY29tcG9uZW50cy9hcnRpY2xlLWJsb2NrcXVvdGUnO1xuQHVzZSAnY29tcG9uZW50cy9hdGMtcm93JztcbkB1c2UgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQHVzZSAnY29tcG9uZW50cy9iYW5kLWhlYWRlcic7XG5AdXNlICdjb21wb25lbnRzL2JveC1pdGVtJztcbkB1c2UgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYic7XG5AdXNlICdjb21wb25lbnRzL2J1dHRvbic7XG5AdXNlICdjb21wb25lbnRzL2J1eS1hY3Rpb25zJztcbkB1c2UgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AdXNlICdjb21wb25lbnRzL2NhcnQtZHJhd2VyJztcbkB1c2UgJ2NvbXBvbmVudHMvY2F0ZWdvcnktYnJvd3NlLXRpbGUnO1xuQHVzZSAnY29tcG9uZW50cy9jb21wYXJpc29uLXRhYmxlJztcbkB1c2UgJ2NvbXBvbmVudHMvY3Jvc3Mtc2VsbC1jYXJkJztcbkB1c2UgJ2NvbXBvbmVudHMvZWRpdG9yaWFsLWJhbmQnO1xuQHVzZSAnY29tcG9uZW50cy9lZGl0b3JpYWwtcGFuZWwnO1xuQHVzZSAnY29tcG9uZW50cy9lZGl0b3JpYWwtZ3JpZCc7XG5AdXNlICdjb21wb25lbnRzL2V5ZWJyb3cnO1xuQHVzZSAnY29tcG9uZW50cy9mYWNlLWNhcmQnO1xuQHVzZSAnY29tcG9uZW50cy9mYXEtaXRlbSc7XG5AdXNlICdjb21wb25lbnRzL2ZlYXR1cmUtcGFuZWwnO1xuQHVzZSAnY29tcG9uZW50cy9mZWF0dXJlLXN0YWdlJztcbkB1c2UgJ2NvbXBvbmVudHMvZmlsdGVyLWNoaXAnO1xuQHVzZSAnY29tcG9uZW50cy9maWx0ZXItZ3JvdXAnO1xuQHVzZSAnY29tcG9uZW50cy9maWx0ZXItb3B0aW9uJztcbkB1c2UgJ2NvbXBvbmVudHMvZmlsdGVyLXJhbmdlJztcbkB1c2UgJ2NvbXBvbmVudHMvZmlsdGVyLXNpZGViYXInO1xuQHVzZSAnY29tcG9uZW50cy9oYW5kbGUnO1xuQHVzZSAnY29tcG9uZW50cy9oZXJvJztcbkB1c2UgJ2NvbXBvbmVudHMvbGVuZ3RoLWNhcmQnO1xuQHVzZSAnY29tcG9uZW50cy9saW5rLWJveCc7XG5AdXNlICdjb21wb25lbnRzL2xpbmstcm93JztcbkB1c2UgJ2NvbXBvbmVudHMvbWVkaWEtY2FyZCc7XG5AdXNlICdjb21wb25lbnRzL21pZC1jdGEnO1xuQHVzZSAnY29tcG9uZW50cy9uZXdzbGV0dGVyLWZvcm0nO1xuQHVzZSAnY29tcG9uZW50cy9vZmZlci1jYXJkJztcbkB1c2UgJ2NvbXBvbmVudHMvcGFnZS10aXRsZSc7XG5AdXNlICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQHVzZSAnY29tcG9uZW50cy9wYW5lbC1zZWFtJztcbkB1c2UgJ2NvbXBvbmVudHMvcHJpY2Utc3RhY2snO1xuQHVzZSAnY29tcG9uZW50cy9wcm9kdWN0LWNhcmQnO1xuQHVzZSAnY29tcG9uZW50cy9wcm9kdWN0LWdhbGxlcnknO1xuQHVzZSAnY29tcG9uZW50cy9yYXRpbmctcm93JztcbkB1c2UgJ2NvbXBvbmVudHMvcmVpbmZvcmNlLWNhcmQnO1xuQHVzZSAnY29tcG9uZW50cy9yZWluZm9yY2VtZW50LWJhbmQnO1xuQHVzZSAnY29tcG9uZW50cy9yZXZpZXctY2FyZCc7XG5AdXNlICdjb21wb25lbnRzL3Jldmlld3MtYWdncmVnYXRlJztcbkB1c2UgJ2NvbXBvbmVudHMvc2VjdGlvbi1oZWFkZXInO1xuQHVzZSAnY29tcG9uZW50cy9zZW8tY29weSc7XG5AdXNlICdjb21wb25lbnRzL3Nob3AtYmFubmVyJztcbkB1c2UgJ2NvbXBvbmVudHMvc2hvcC10b29sYmFyJztcbkB1c2UgJ2NvbXBvbmVudHMvc2lnbmFsLWNlbGwnO1xuQHVzZSAnY29tcG9uZW50cy9zcGVjLWNhbGxvdXQnO1xuQHVzZSAnY29tcG9uZW50cy9zcGVjLWNvbHVtbic7XG5AdXNlICdjb21wb25lbnRzL3NwZWMtcm93JztcbkB1c2UgJ2NvbXBvbmVudHMvc3BlYy12YXVsdCc7XG5AdXNlICdjb21wb25lbnRzL3N0aWNreS1hdGMnO1xuQHVzZSAnY29tcG9uZW50cy9zdGlja3ktc2hvcCc7XG5AdXNlICdjb21wb25lbnRzL3N0b2NrLWluZGljYXRvcic7XG5AdXNlICdjb21wb25lbnRzL3Rlc3RpbW9uaWFsLWNhcmQnO1xuQHVzZSAnY29tcG9uZW50cy90aWVyLWNhcmQnO1xuQHVzZSAnY29tcG9uZW50cy90cnVzdC1jaGlwJztcbkB1c2UgJ2NvbXBvbmVudHMvdHJ1c3QtY2x1c3Rlcic7XG5AdXNlICdjb21wb25lbnRzL3ZhcmlhbnQtc2VsZWN0b3InO1xuQHVzZSAnY29tcG9uZW50cy92aWRlby1wYW5lbCc7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG5cdExBWU9VVFNcblx0QnJhbmQgY2hyb21lIChwYXJlbnQtY2hyb21lIGRlbHRhIG9uIGZyYW1ld29yaydzIHN0cnVjdHVyYWwgY2hyb21lKSArXG5cdHNlY3Rpb24tc2NvcGUgY29tcG9zaXRpb25zIGZyb20gdGhlIHdhbGsuXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vLyBQYXJlbnQtY2hyb21lIGJyYW5kIGRlbHRhIOKAlCBicmFuZCBjb2xvdXIvdHlwZSBvbiB0b3Agb2YgZnJhbWV3b3JrJ3Ncbi8vIHN0cnVjdHVyYWwgY2hyb21lIChmcmFtZXdvcmstdjIvZ2xvYmFsL3Njc3MvbGF5b3V0cy9zaXRlLWhlYWQsIHNpdGUtbmF2LFxuLy8gbmF2LWRlc2t0b3AsIG5hdi1tb2JpbGUsIGZvb3RlcikuXG5AdXNlICdsYXlvdXRzL3NpdGUtaGVhZCc7XG5AdXNlICdsYXlvdXRzL3NpdGUtbmF2JztcbkB1c2UgJ2xheW91dHMvbmF2LWRlc2t0b3AnO1xuQHVzZSAnbGF5b3V0cy9uYXYtbW9iaWxlJztcbkB1c2UgJ2xheW91dHMvZm9vdGVyJztcblxuLy8gU2VjdGlvbiBiYXNlICsgdG9uZSBtb2RpZmllcnMg4oCUIHByb3ZpZGVzIHRoZSBBUlRTQUJFUlMgdmVydGljYWwgcmh5dGhtXG4vLyBhbmQgc2lnbmF0dXJlIGJhY2tncm91bmQvZWZmZWN0IHZhcmlhbnRzICgtLWNhcmJvbiwgLS12b2lkLCAtLWNoYXJjb2FsLFxuLy8gLS1wYW5lbC1zZWFtLCAtLWVtYmVyLWJhbmQsIC0tdGlnaHQpIHRoYXQgY29tcG9zZSB3aXRoIGAuc2VjdGlvbmAuXG5AdXNlICdsYXlvdXRzL3NlY3Rpb24nO1xuXG4vLyBCcmFuZC1sZXZlbCBtb2JpbGUgb3ZlcnJpZGVzIGZvciBmcmFtZXdvcmsgYC5ncmlkLS0zYCBhbmQgYC5ncmlkLS01YCDigJRcbi8vIGNvbGxhcHNlIHRvIHNpbmdsZS1jb2x1bW4gYXQg4omkNzAwIHNvIEFSVFNBQkVSUyBwcm9kdWN0L2Jyb3dzZSBjYXJkc1xuLy8gaGF2ZSByb29tIHRvIGJyZWF0aGUgb24gcGhvbmVzLiBTZWUgZmlsZSBmb3IgcmF0aW9uYWxlLlxuQHVzZSAnbGF5b3V0cy9ncmlkJztcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcblx0QkxPQ0tTXG5cdE5hdGl2ZSBXUCBibG9jayBQYXRoIEEgc3R5bGluZyDigJQgYnJhbmQgU0NTUyBhcHBsaWVkIHZpYSBAZXh0ZW5kIG9udG9cblx0dGhlIFdQIGJsb2NrIHNlbGVjdG9ycy4gUG9wdWxhdGVzIGFzIHRoZSB3YWxrIGhpdHMgYmxvY2stZWRpdG9yIGNvbnRlbnQuXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vLyBAdXNlICdibG9ja3MnO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRDU1MgQ1VTVE9NIFBST1BFUlRJRVNcblx0QnJpZGdlIGZyb20gU2FzcyB2YXJpYWJsZXMgdG8gdGhlIDpyb290IHRva2VuIHN1cmZhY2UuIENvbnN1bWVkIGJ5XG5cdGdsb2JhbCBmcmFtZXdvcmsgcHJpbWl0aXZlcyAoLmdyaWQsIC53cmFwcGVyLCAuc2VjdGlvbikgYW5kIGJ5IGJyYW5kXG5cdGNvbXBvbmVudHMuXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG46cm9vdCB7XG5cblx0QGluY2x1ZGUgYnJhbmQtdG9rZW4tdmFycztcblxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuXHRCQVNFXG5cdE9ubHkgaHRtbC1lbGVtZW50IGRlZmF1bHRzIGJlbG9uZyBoZXJlLiAud3JhcHBlciBjb21lcyBmcm9tIGZyYW1ld29ya1xuXHQoZnJhbWV3b3JrLXYyL2dsb2JhbC9zY3NzL2xheW91dHMvX3dyYXBwZXIuc2Nzcykg4oCUIGRvIE5PVCByZWRlY2xhcmUgaXRcblx0bG9jYWxseS5cblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmh0bWwge1xuXG5cdEBpbmNsdWRlIGJvZHktZm9udDtcblxuXHRmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgQXJjaGl2ZSBoZWFkZXIgKGNvbXBvc2l0aW9uKVxuLy9cbi8vIFBhZ2UtdG9wIGhlcm8gY2x1c3RlciBmb3Igc2hvcCAvIGNhdGVnb3J5IC8gcHJvZHVjdC10eXBlIC8gZXJhIGFyY2hpdmVcbi8vIHBhZ2VzLiBDb21wb3NlcyBpbnNpZGUgYC5zZWN0aW9uLnNlY3Rpb24tLWltYWdlZGAgKGJnLWltYWdlIHZpYSBpbmxpbmVcbi8vIGAtLXNlY3Rpb24tYmctaW1hZ2VgKSDigJQgdGhpcyBjb21wb25lbnQgb3ducyB0aGUgaW50ZXJpb3IgY2hyb21lOlxuLy8gYnJlYWRjcnVtYnMgKyBoMSAodmlhIGNsYXNzLW1peCBgLnBhZ2UtdGl0bGVgKSArIHN1cHBvcnRpbmcgZGVzY3JpcHRpb24uXG4vL1xuLy8gQW5hdG9teTpcbi8vICAgX19jcnVtYnMgICAgICAgICDigJQgYnJlYWRjcnVtYiByb3cgKEhvbWUgLyBTaG9wIHBhdHRlcm4pXG4vLyAgIF9fY3J1bWJzLXNlcCAgICAg4oCUIHNlcGFyYXRvciBnbHlwaCBpbnNpZGUgY3J1bWJzXG4vLyAgIF9fY3J1bWJzLWN1cnJlbnQg4oCUIGN1cnJlbnQtcGFnZSBsYWJlbCAoY2hyb21lLXdhcm0sIG5vIGxpbmspXG4vLyAgIF9fZGVzYyAgICAgICAgICAg4oCUIGNocm9tZS1kaW0gc3VwcG9ydGluZyBwYXJhZ3JhcGggYmVuZWF0aCB0aXRsZVxuLy8gICBfX3RpdGxlLWFjY2VudCAgIOKAlCBlbWJlciBoaWdobGlnaHQgc3BhbiBpbnNpZGUgdGhlIC5wYWdlLXRpdGxlIGgxXG4vL1xuLy8gV2Fsa2VkIGZyb20gTUFTNTEgKHBvc3QgMTMwMjcpIOKAlCBWYXJpYW50IEcgaHVsbC1wbGF0ZSBhcmNoaXZlIGhlYWRlci5cblxuLmFyY2hpdmUtaGVhZGVyIHtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDE2cHg7XG5cblx0Jl9fY3J1bWJzIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0Z2FwOiA4cHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjE4ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cblx0fVxuXG5cdCZfX2NydW1icy1zZXAge1xuXG5cdFx0b3BhY2l0eTogMC42O1xuXG5cdH1cblxuXHQmX19jcnVtYnMtY3VycmVudCB7XG5cblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXG5cdH1cblxuXHQmX190aXRsZS1hY2NlbnQge1xuXG5cdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblxuXHR9XG5cblx0Jl9fZGVzYyB7XG5cblx0XHRtYXgtd2lkdGg6IDY0MHB4O1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRcdGZvbnQtc2l6ZTogMTdweDtcblx0XHRsaW5lLWhlaWdodDogMS41NTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBBcnRpY2xlIGJsb2NrcXVvdGUgKHByaW1pdGl2ZSlcbi8vXG4vLyBQdWxsLXF1b3RlIHBhdHRlcm4gZm9yIGVkaXRvcmlhbCBjb250ZW50IOKAlCBpdGFsaWMgdGV4dCArIGF0dHJpYnV0aW9uXG4vLyBjaXRlIGxpbmUgd2l0aCBlbWJlciBlbS1kYXNoIHByZWZpeC4gVXNlZCBpbnNpZGUgYC5lZGl0b3JpYWwtYmFuZF9fYXNpZGVgXG4vLyBvbiBjYXRlZ29yeSBwYWdlcyBhbmQgcmV1c2FibGUgYW55d2hlcmUgYSBwdWxsLXF1b3RlIGZpdHMuXG4vL1xuLy8gQW5hdG9teTpcbi8vICAgX190ZXh0ICDigJQgaXRhbGljIHF1b3RlIGJvZHkgKGNocm9tZS1oaWdobGlnaHQsIGxhcmdlciBzY2FsZSlcbi8vICAgX19jaXRlICDigJQgYXR0cmlidXRpb24gbGluZSB3aXRoIGVtYmVyIGRhc2ggcHJlZml4IHZpYSA6OmJlZm9yZVxuXG4uYXJ0aWNsZS1ibG9ja3F1b3RlIHtcblxuXHRtYXJnaW46IDMycHggMCAwO1xuXHRwYWRkaW5nOiAyMHB4IDAgMDtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMTIyLCA0NiwgMC4zNSk7XG5cblx0Jl9fdGV4dCB7XG5cblx0XHRtYXJnaW4tYm90dG9tOiAxNHB4O1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRmb250LXNpemU6IDE3cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTU7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1oaWdobGlnaHQpO1xuXG5cdH1cblxuXHQmX19jaXRlIHtcblxuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiA4cHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4yMGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblxuXHRcdFx0Y29udGVudDogXCJcXDIwMTRcIjtcblx0XHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIEFkZC10by1jYXJ0IHJvdyAocHJpbWl0aXZlKVxuLy9cbi8vIFF1YW50aXR5IHN0ZXBwZXIgKyBzdWJtaXQgYnV0dG9uIGdyaWQuIFRoZSBmaW5hbCBDVEEgcm93IG9mIHRoZVxuLy8gcHJvZHVjdC1oZXJvIGJ1eS1hY3Rpb25zIGJsb2NrLiBDbGFzcyBob29rcyAoYC5hdGMtcm93X19xdHktYnRuYCxcbi8vIGAuYXRjLXJvd19fcXR5LXZhbHVlYCwgYC5hdGMtcm93X19zdWJtaXRgKSBzdGF5IHN0YWJsZSBzbyBXQyAvXG4vLyBDb21wb3NpdGUgSlMgY2FuIGF0dGFjaCB3aXRob3V0IGEgcmVuYW1lIGluIFBoYXNlIDMuXG4vL1xuLy8gQW5hdG9teTpcbi8vICAgX19xdHkgICAgICAgIOKAlCBxdWFudGl0eSBzdGVwcGVyIGNvbnRhaW5lciAoZ3JpZDogWy1dIHZhbHVlIFsrXSlcbi8vICAgX19xdHktYnRuICAgIOKAlCBkZWNyZW1lbnQgLyBpbmNyZW1lbnQgYnV0dG9uc1xuLy8gICBfX3F0eS12YWx1ZSAg4oCUIGN1cnJlbnQgcXR5IGRpc3BsYXlcbi8vICAgX19zdWJtaXQgICAgIOKAlCBDVEEgYnV0dG9uICh1c3VhbGx5IGNsYXNzLW1peCAuYnV0dG9uLmJ1dHRvbi0tcHJpbWFyeS5idXR0b24tLWxhcmdlLmJ1dHRvbi0tYmxvY2spXG5cbi5hdGMtcm93IHtcblxuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEyMHB4IDFmcjtcblx0Z2FwOiAxMnB4O1xuXHRtYXJnaW4tdG9wOiAxMnB4O1xuXG5cdCZfX3F0eSB7XG5cblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDQwcHggMWZyO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0taHVsbC1wYW5lbCk7XG5cdFx0Ym94LXNoYWRvdzpcblx0XHRcdGluc2V0IDAgMCAwIDFweCByZ2JhKDYyLCA2MiwgNjIsIDAuNTUpLFxuXHRcdFx0aW5zZXQgMCAxcHggMCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMDgpO1xuXG5cdH1cblxuXHQmX19xdHktYnRuIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXHRcdHBhZGRpbmc6IDE2cHggMDtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXI6IDA7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdH1cblxuXHQmX19xdHktdmFsdWUge1xuXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtaGlnaGxpZ2h0KTtcblxuXHR9XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDcwMHB4KSB7XG5cblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmcjtcblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgQmFkZ2UgKHByaW1pdGl2ZSlcbi8vXG4vLyBTbWFsbCBvdmVybGF5IGNoaXAgdXNlZCBvbiB0b3Agb2YgbWVkaWEgLyBwcm9kdWN0IHRpbGVzLiBDbGFzcy1taXhlZFxuLy8gb250byBhIGNvbnN1bWVyJ3Mgb3duIHBvc2l0aW9uaW5nIHNsb3QgKGAucHJvZHVjdC1jYXJkX19iYWRnZWAsXG4vLyBgLm1lZGlhLWNhcmRfX2JhZGdlYCwgZXRjLikg4oCUIHRoZSBwcmltaXRpdmUgb3ducyBTSEFQRSAoZm9udCwgcGFkZGluZyxcbi8vIGJsdXIsIGJhY2tkcm9wLCBpY29uIGNvbnZlbnRpb24pLCB0aGUgY29uc3VtZXIgb3ducyBQT1NJVElPTlxuLy8gKHBvc2l0aW9uOiBhYnNvbHV0ZSArIHRvcC9yaWdodC9sZWZ0IGNvb3JkcyArIHotaW5kZXgpLlxuLy9cbi8vIEV4dHJhY3RlZCAyMDI2LTA3LTMwIGR1cmluZyB0aGUgVUdDIGVkaXRvcmlhbC1ncmlkIGZyYW1ld29yay1jaGVja1xuLy8gY29uc29saWRhdGlvbi4gV2FzIHR3byBuZWFyLWR1cGxpY2F0ZXMgKHByb2R1Y3QtY2FyZF9fYmFkZ2UgK1xuLy8gZWRpdG9yaWFsLWdyaWRfX2JhZGdlKSBiZWZvcmUuXG4vL1xuLy8gVmFyaWFudHM6XG4vLyAgIC0tZGFyayAgIOKAlCBkYXJrIHNvbGlkIGJnICsgZW1iZXIgaGFpcmxpbmUgYm9yZGVyICsgZW1iZXIgdGV4dFxuLy8gICAgICAgICAgICAgIChwcm9kdWN0LWNhcmQgc3RhdHVzIHBpbGwgXCJJbiBzdG9jayDCtyBTaGlwcyB0b2RheVwiKVxuLy8gICAtLWVtYmVyICDigJQgZW1iZXItdGludGVkIGJnICsgZW1iZXIgYm9yZGVyICsgZW1iZXItZ2xvdyB0ZXh0XG4vLyAgICAgICAgICAgICAgKG1lZGlhLWNhcmQgZWRpdG9yaWFsIHBpY2sgXCLimIUgRWRpdG9yJ3MgcGlja1wiKVxuLy8gICAtLWxvdyAgICDigJQgY29sb3VyIHNoaWZ0IHRvIGVtYmVyLWdsb3cgKHdhcm1lciwgZGltbWVyIGVtYmVyKSDigJRcbi8vICAgICAgICAgICAgICBsYXllcnMgb24gdG9wIG9mIC0tZGFyayBmb3IgbG93LXN0b2NrIHN0YXR1c1xuLy9cbi8vIEVsZW1lbnQ6XG4vLyAgIF9fZG90ICDigJQgNsOXNiBlbWJlciBkb3QgaW5kaWNhdG9yIChwcm9kdWN0LWNhcmQgc3R5bGUpLiBBZGQgYXMgYVxuLy8gICAgICAgICAgICBsZWFkaW5nIHNwYW4gaW5zaWRlIHRoZSBiYWRnZTogPHNwYW4gY2xhc3M9XCJiYWRnZV9fZG90XCI+XG4vL1xuLy8gVXNhZ2U6XG4vLyAgIDxzcGFuIGNsYXNzPVwicHJvZHVjdC1jYXJkX19iYWRnZSBiYWRnZSBiYWRnZS0tZGFya1wiPlxuLy8gICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2VfX2RvdFwiPjwvc3Bhbj5cbi8vICAgICBJbiBzdG9jayAmbWlkZG90OyBTaGlwcyB0b2RheVxuLy8gICA8L3NwYW4+XG4vL1xuLy8gICA8c3BhbiBjbGFzcz1cIm1lZGlhLWNhcmRfX2JhZGdlIGJhZGdlIGJhZGdlLS1lbWJlclwiPlxuLy8gICAgICYjOTczMzsgRWRpdG9yJnJzcXVvO3MgcGlja1xuLy8gICA8L3NwYW4+XG5cbi5iYWRnZSB7XG5cblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogOHB4O1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMTZlbTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG5cdC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG5cblx0Jl9fZG90IHtcblxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR3aWR0aDogNnB4O1xuXHRcdGhlaWdodDogNnB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1lbWJlcik7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDhweCByZ2JhKDI1NSwgMTIyLCA0NiwgMC44KTtcblxuXHR9XG5cblx0Ji0tZGFyayB7XG5cblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDYsIDYsIDYsIDAuODUpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjQpO1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuXG5cdH1cblxuXHQmLS1lbWJlciB7XG5cblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTIyLCA0NiwgMC4xNik7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDEyMiwgNDYsIDAuNjUpO1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlci1nbG93KTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xOGVtO1xuXG5cdH1cblxuXHQvLyBMb3ctc3RvY2sgY29sb3VyIHNoaWZ0IOKAlCBwYWlycyB3aXRoIC0tZGFyay4gU3RlcHMgYmFjayB0byBlbWJlci1cblx0Ly8gZ2xvdyAoYSB3YXJtZXIsIGxpZ2h0ZXIgZW1iZXIpIHRvIGRpc3Rpbmd1aXNoIGZyb20gc3RhbmRhcmQgZW1iZXIuXG5cdCYtLWxvdyB7XG5cblx0XHRjb2xvcjogdmFyKC0tZW1iZXItZ2xvdyk7XG5cdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMTc5LCA3MSwgMC41KTtcblxuXHRcdC5iYWRnZV9fZG90IHtcblxuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tZW1iZXItZ2xvdyk7XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIEJhbmQgaGVhZGVyIChjb21wb25lbnQpXG4vL1xuLy8gU3BlY2lhbGlzZWQgaGVhZGVyIGNsdXN0ZXIgZm9yIHNlY3Rpb25zIG9uIGNocm9tYXRpYyBiYWNrZ3JvdW5kcyAoZS5nLlxuLy8gdGhlIGVtYmVyIGdyYWRpZW50IG9mIGAuc2VjdGlvbi0tZW1iZXItYmFuZGApLiBSZWFkcyB0ZXh0IGluIGAtLW9uLXByaW1hcnktXG4vLyBmaXhlZGAgKGRhcmsgd2FybS1icm93bikgcmF0aGVyIHRoYW4gdGhlIGNocm9tZSB0b25lcyB0aGUgc3RhbmRhcmRcbi8vIGAuc2VjdGlvbi1oZWFkZXJgIHVzZXMsIGFuZCBjYXJyaWVzIGEgYmlnZ2VyIGRpc3BsYXkgdGl0bGUgc3VpdGVkIHRvXG4vLyBoZXJvLWFkamFjZW50IGJhbmQgY29tcG9zaXRpb24uXG4vL1xuLy8gU3RydWN0dXJlIG1pcnJvcnMgYC5zZWN0aW9uLWhlYWRlcmA6IHR3by1jb2x1bW4gaGVhZCByb3cgKHRpdGxlIGNsdXN0ZXJcbi8vICsgbWV0YSBhdCBlbmQtYWxpZ25tZW50KSB0aGF0IHN0YWNrcyBvbiBtb2JpbGUuXG4vL1xuLy8gV2Fsa2VkIGZyb20gTUFTNDMgKHBvc3QgMTI4NDApIGFzIEFSVFNBQkVSUyBTMiBQMyDCtyByZW5hbWVkIGZyb21cbi8vIG9mZmVyLWJhbmRfX2hlYWQgaW4gdGhlIHNlY3Rpb24tbW9kaWZpZXIgcmV0cm9maXQuXG5cbi5iYW5kLWhlYWRlciB7XG5cblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjRmciAwLjZmcjtcblx0Z2FwOiA0MHB4O1xuXHRhbGlnbi1pdGVtczogZW5kO1xuXHRtYXJnaW4tYm90dG9tOiA0NHB4O1xuXG5cdCZfX2V5ZWJyb3cge1xuXG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDEycHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMjhlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1vbi1wcmltYXJ5LWZpeGVkKTtcblx0XHRvcGFjaXR5OiAwLjcyO1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cblx0fVxuXG5cdCZfX2V5ZWJyb3ctaWR4IHtcblxuXHRcdGNvbG9yOiB2YXIoLS1vbi1wcmltYXJ5LWZpeGVkKTtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cblx0fVxuXG5cdCZfX2V5ZWJyb3ctaGFpciB7XG5cblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IDI4cHg7XG5cdFx0aGVpZ2h0OiAxcHg7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tb24tcHJpbWFyeS1maXhlZCk7XG5cdFx0b3BhY2l0eTogMC41NTtcblxuXHR9XG5cblx0Jl9fdGl0bGUtbWFpbiB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IGNsYW1wKDQwcHgsIDQuNXZ3LCA2MnB4KTtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAwLjk1O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjZweDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1vbi1wcmltYXJ5LWZpeGVkKTtcblx0XHRtYXJnaW46IDAgMCAyMHB4O1xuXG5cdH1cblxuXHQmX19zdWIge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxN3B4O1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRjb2xvcjogdmFyKC0tb24tcHJpbWFyeS1maXhlZCk7XG5cdFx0b3BhY2l0eTogMC44Mjtcblx0XHRtYXgtd2lkdGg6IDU0MHB4O1xuXHRcdG1hcmdpbjogMDtcblxuXHR9XG5cblx0Jl9fbWV0YSB7XG5cblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMjRlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1vbi1wcmltYXJ5LWZpeGVkKTtcblx0XHRvcGFjaXR5OiAwLjcyO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjY7XG5cblx0fVxuXG5cdCZfX21ldGEtZW0ge1xuXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi10b3A6IDRweDtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTBlbTtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGNvbG9yOiB2YXIoLS1vbi1wcmltYXJ5LWZpeGVkKTtcblx0XHRvcGFjaXR5OiAxO1xuXG5cdH1cblxuXHRAbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcblxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXG5cdFx0Jl9fbWV0YSB7XG5cblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIEJveCBpdGVtIChjb21wb25lbnQpXG4vL1xuLy8gVW5ib3hpbmcgbWFuaWZlc3QgY2FyZCDigJQgb25lIG9mIHRoZSBcIndoYXQncyBpbiB0aGUgYm94XCIgY2VsbHMgc2F0XG4vLyBpbnNpZGUgYC5ncmlkLmdyaWQtLTRgIG9uIHRoZSBwcm9kdWN0IHBhZ2UuIFBob3RvZ3JhcGggYnJpZWYgc3RhZ2UgK1xuLy8gaW5kZXggKyB0aXRsZSArIGNhcHRpb24uIERhcmsgcmdiYSBzdXJmYWNlIHdpdGggc2NyZXctZG90IGNvcm5lcnMuXG4vL1xuLy8gVGhlIG1vY2t1cCB1c2VzIGl0YWxpYyBwbGFjZWhvbGRlciBwcm9zZSBpbiBgX19zdGFnZWAgZGVzY3JpYmluZyB0aGVcbi8vIGludGVuZGVkIHByb2R1Y3QgcGhvdG8g4oCUIFBoYXNlIDMgc3dhcHMgdGhpcyBmb3IgcmVhbCBpbWFnZXJ5IHZpYVxuLy8gYSBiZy1pbWFnZSBpbmxpbmUgc3R5bGUgb24gYF9fc3RhZ2VgLiBUaGUgXCJQSE9UT0dSQVBIIEJSSUVGXCIgbGFiZWxcbi8vIHZpYSA6OmFmdGVyIGlzIFBoYXNlLTItb25seSBtb2NrdXAgZnVybml0dXJlOyBrZXB0IGluIFBoYXNlIDIgc28gdGhlXG4vLyBvcGVyYXRvciBjYW4gc2VlIGRlc2lnbiBpbnRlbnQgYWxvbmdzaWRlIHBsYWNlaG9sZGVyIGJyaWVmcy5cbi8vXG4vLyBBbmF0b215OlxuLy8gICBfX3N0YWdlICAgIOKAlCA0OjMgZGFyayBwYW5lbCB3aXRoIGJyaWVmIHByb3NlICsgZW1iZXIgUEhPVE9HUkFQSCBCUklFRiBsYWJlbFxuLy8gICBfX2lkeCAgICAgIOKAlCBlbWJlciBpbmRleCBudW1iZXIgKFwiMDFcIuKAplwiMDRcIilcbi8vICAgX190aXRsZSAgICDigJQgY2hyb21lLWhpZ2hsaWdodCBkaXNwbGF5IHVwcGVyY2FzZSB0aXRsZVxuLy8gICBfX2NhcHRpb24gIOKAlCBjaHJvbWUtZGltIGJvZHkgY2FwdGlvbiBsaW5lXG5cbkB1c2UgJy4uL3NldHRpbmdzL3NjcmV3LWRvdHMnIGFzICo7XG5cbi5ib3gtaXRlbSB7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAyNHB4O1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDIwLCAyMCwgMjAsIDAuOTQpO1xuXHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoM3B4KTtcblx0LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoM3B4KTtcblx0Ym94LXNoYWRvdzpcblx0XHRpbnNldCAwIDFweCAwIHJnYmEoMjUwLCAyNTAsIDI1MCwgMC4xNiksXG5cdFx0aW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjU1KSxcblx0XHQwIDEwcHggMjhweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuOTUpLFxuXHRcdDAgMnB4IDZweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC43KTtcblx0QGluY2x1ZGUgc2NyZXctZG90cztcblxuXHQmX19zdGFnZSB7XG5cblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0YXNwZWN0LXJhdGlvOiA0IC8gMztcblx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRcdHBhZGRpbmc6IDE2cHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1odWxsLXBhbmVsLWRhcmspO1xuXHRcdGJveC1zaGFkb3c6XG5cdFx0XHRpbnNldCAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC43NSksXG5cdFx0XHRpbnNldCAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNDU7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHQmOjphZnRlciB7XG5cblx0XHRcdGNvbnRlbnQ6IFwiUEhPVE9HUkFQSCBCUklFRlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA4cHg7XG5cdFx0XHRsZWZ0OiAxMHB4O1xuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRmb250LXNpemU6IDlweDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjI0ZW07XG5cdFx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19pZHgge1xuXG5cdFx0bWFyZ2luLWJvdHRvbTogNnB4O1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xOGVtO1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0fVxuXG5cdCZfX3RpdGxlIHtcblxuXHRcdG1hcmdpbi1ib3R0b206IDZweDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC44cHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWhpZ2hsaWdodCk7XG5cblx0fVxuXG5cdCZfX2NhcHRpb24ge1xuXG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ1O1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgU2NyZXctZG90cyBtaXhpbiAoZGVjb3JhdGl2ZSlcbi8vXG4vLyBUaGUgcmVwZWF0aW5nIHNjaS1maSBjb3JuZXItZG90IGRlY29yYXRpb24gdGhhdCBhcHBlYXJzIG9uIGV2ZXJ5IGRhcmtcbi8vIHBhbmVsIGluIE1BUzQ0IOKAlCBib3gtaXRlbSwgc3BlYy12YXVsdCBjb250YWluZXIsIGZhcS1pdGVtLCByZXZpZXctY2FyZCxcbi8vIGNyb3NzLXNlbGwtY2FyZCwgdmlkZW8tcGFuZWwgc3RhZ2UsIHJldmlld3MtYWdncmVnYXRlLCB0aWVyLWNvbXBhcmlzb25cbi8vIGNhbGxvdXQuIFR3byA2LThweCBmaWxsZWQgc3F1YXJlcyBpbiB0aGUgdG9wLWxlZnQgKyB0b3AtcmlnaHQgY29ybmVyc1xuLy8gd2l0aCBhbiBpbnNldCBjaHJvbWUgaGlnaGxpZ2h0LiBDb25zdW1lciBtdXN0IGJlIGBwb3NpdGlvbjogcmVsYXRpdmVgXG4vLyAob3IgYWJzb2x1dGUgLyBmaXhlZCkgZm9yIHRoZSA6OmJlZm9yZSAvIDo6YWZ0ZXIgcG9zaXRpb25pbmcgdG8gd29yay5cbi8vXG4vLyBFeHRyYWN0ZWQgZnJvbSBNQVM0NCB3YWxrIDIwMjYtMDctMzAg4oCUIGFwcGVhcnMgaW4gOCsgcGxhY2VzLlxuLy9cbi8vIFBhcmFtczpcbi8vICAgJHNpemUgICAg4oCUIGRvdCBkaW1lbnNpb24gKGRlZmF1bHQgNnB4KVxuLy8gICAkb2Zmc2V0ICDigJQgY29ybmVyIG9mZnNldCAoZGVmYXVsdCA2cHgpXG4vLyAgICR6ICAgICAgIOKAlCB6LWluZGV4IChkZWZhdWx0IDIg4oCUIHNpdHMgYWJvdmUgY2FyZCBiZyBidXQgYmVsb3cgb3ZlcmxheXMpXG4vL1xuLy8gVXNhZ2U6XG4vLyAgIC5ib3gtaXRlbSB7XG4vLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgIEBpbmNsdWRlIHNjcmV3LWRvdHM7XG4vLyAgIH1cblxuQG1peGluIHNjcmV3LWRvdHMoJHNpemU6IDZweCwgJG9mZnNldDogNnB4LCAkejogMikge1xuXG5cdCY6OmJlZm9yZSxcblx0Jjo6YWZ0ZXIge1xuXG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAkb2Zmc2V0O1xuXHRcdHotaW5kZXg6ICR6O1xuXHRcdHdpZHRoOiAkc2l6ZTtcblx0XHRoZWlnaHQ6ICRzaXplO1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAyMCwgMC45OCk7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMzApO1xuXG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXG5cdFx0bGVmdDogJG9mZnNldDtcblxuXHR9XG5cblx0Jjo6YWZ0ZXIge1xuXG5cdFx0cmlnaHQ6ICRvZmZzZXQ7XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIEJyZWFkY3J1bWIgKHByaW1pdGl2ZSlcbi8vXG4vLyBQYWdlLWxldmVsIGJyZWFkY3J1bWIgbGluZSAoSG9tZSAvIFNlY3Rpb24gLyBTdWIgLyBDdXJyZW50KS4gQ2hyb21lLVxuLy8gZGltIGxpbmtzICsgc21hbGwgZW1iZXIgc2VwYXJhdG9yIGdseXBoczsgY3VycmVudC1wYWdlIGl0ZW0gcmVhZHMgaW5cbi8vIGNocm9tZS13YXJtLiBTaXRzIGJlbG93IHNpdGUtbmF2IG9uIGNhdGVnb3J5IGFuZCBzaW5nbGUtcHJvZHVjdFxuLy8gcGFnZXM7IFBoYXNlIDMgaHlkcmF0ZWQgYnkgWW9hc3QgU0VPIC8gV0MgYnJlYWRjcnVtYnMuXG4vL1xuLy8gQW5hdG9teTpcbi8vICAgX19pbm5lciAgICDigJQgY29udGFpbmVyIHdyYXBwZXIgKG1heC13aWR0aCArIGd1dHRlciwgbWlycm9ycyAud3JhcHBlcilcbi8vICAgX19zZXAgICAgICDigJQgc2VwYXJhdG9yIGdseXBoIChcIi9cIikgYmV0d2VlbiBjcnVtYnNcbi8vICAgX19jdXJyZW50ICDigJQgY3VycmVudC1wYWdlIGxhYmVsIChjaHJvbWUtd2FybSwgbm8gbGluaylcblxuLmJyZWFkY3J1bWIge1xuXG5cdHBhZGRpbmc6IDIwcHggMDtcblx0YmFja2dyb3VuZDogdmFyKC0tY2FyYm9uKTtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSg2MiwgNjIsIDYyLCAwLjM1KTtcblxuXHQmX19pbm5lciB7XG5cblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogMTBweDtcblx0XHRtYXgtd2lkdGg6IHZhcigtLXNpdGUtbWF4LXdpZHRoLCAxNDQwcHgpO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdHBhZGRpbmc6IDAgdmFyKC0tZ3V0dGVyLXNtYWxsLCAyMHB4KTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTZlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblxuXHRcdGEge1xuXG5cdFx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlO1xuXG5cdFx0XHQmOmhvdmVyIHtcblxuXHRcdFx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX3NlcCB7XG5cblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXHRcdG9wYWNpdHk6IDAuNjtcblxuXHR9XG5cblx0Jl9fY3VycmVudCB7XG5cblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBCdXR0b24gcHJpbWl0aXZlICh0aGVtZS1hdXRob3JlZCwgbm8gZnJhbWV3b3JrIGJhc2UpXG4vL1xuLy8gQ1RBIGJhc2UuIENsYXNzLW1peGVkIG9udG8gYDxhPmAgYW5kIGA8YnV0dG9uPmAuIFR3byB2YXJpYW50czpcbi8vXG4vLyAgIC0tcHJpbWFyeTogMy1zdG9wIHZlcnRpY2FsIGVtYmVyIGdyYWRpZW50IChnbG93IOKGkiBlbWJlciDihpIgZGVlcCkgd2l0aFxuLy8gICAgICAgICAgICAgIGVtYmVyLWdsb3ctc20gaGFsbzsgbGlmdHMgKyBicmlnaHRlbnMgdG8gZW1iZXItZ2xvdy1tZFxuLy8gICAgICAgICAgICAgIHNoYWRvdyBvbiBob3Zlci4gVGhlIGxpdC1mcm9tLWFib3ZlIGhvdC1jb3JlIGZlZWwuXG4vLyAgIC0tZ2hvc3Q6ICAgc2VtaS10cmFuc3BhcmVudCBkYXJrIGhhaXJsaW5lIGJvcmRlcjsgZmlsbHMgd2l0aCB0aGUgcmFpc2VkXG4vLyAgICAgICAgICAgICAgaHVsbC1wYW5lbC1saWZ0IHN1cmZhY2Ugb24gaG92ZXIgd2l0aCBhIGNocm9tZS10b3Atc29mdFxuLy8gICAgICAgICAgICAgIGluc2V0IGZvciBhIHN1YnRsZSBsaWZ0LlxuLy9cbi8vIFBhZGRpbmcgKyBmb250LXNpemUgZGlmZmVyIGJldHdlZW4gdGhlIHR3byDigJQgcHJpbWFyeSBpcyBsYXJnZXIgKyBzbGlnaHRseVxuLy8gd2lkZXIgbGV0dGVyLXNwYWNpbmcgKDEzcHggLyAwLjE0ZW0pOyBnaG9zdCBpcyBjb21wYWN0ICgxMnB4IC8gMC4xNmVtKS5cbi8vXG4vLyBUaGUgYF9fYXJyb3dgIHNsb3QgaXMgYW4gaW5saW5lIGA8c3Bhbj5gICh1c3VhbGx5IGAmcmFycjtgKSBzYXQgYWZ0ZXIgdGhlXG4vLyBsYWJlbCB0ZXh0OyB0aGUgZmxleCBnYXAgaGFuZGxlcyBzcGFjaW5nIGJldHdlZW4gbGFiZWwgKyBhcnJvdyAocGx1cyBhXG4vLyBzbWFsbCBleHRyYSBtYXJnaW4gZm9yIHR1bmluZykuXG4vL1xuLy8gV2Fsa2VkIGZyb20gTUFTNDMgKHBvc3QgMTI4NDApIGFzIEFSVFNBQkVSUyBTMiBQMSDCtyByZWZpbmVkIDIwMjYtMDctMzAuXG5cbi5idXR0b24ge1xuXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Z2FwOiAxMnB4O1xuXHRib3JkZXI6IDA7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogaW5oZXJpdDtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2UsIHRyYW5zZm9ybSAyMDBtcyBlYXNlLCBiYWNrZ3JvdW5kIDIwMG1zIGVhc2UsIGNvbG9yIDIwMG1zIGVhc2U7XG5cblx0Ly8gRW1iZXItZmlsbGVkIHByaW1hcnkgQ1RBLiBWZXJ0aWNhbCAzLXN0b3AgZ3JhZGllbnQgYWNyb3NzIHRoZSBlbWJlclxuXHQvLyBvbWJyZSBmb3IgbGl0LWZyb20tYWJvdmUgZGVwdGguIEVtYmVyLWdsb3ctc20gc2hhZG93IGdpdmVzIGEgc29mdFxuXHQvLyBoYWxvIHdpdGhvdXQgYSBoYXJkIGJvcmRlcjsgYnJpZ2h0ZW5zIHRvIGVtYmVyLWdsb3ctbWQgKyBsaWZ0cyBvblxuXHQvLyBob3ZlciDigJQgbm8gY29sb3VyIHN3YXAsIG5vIGVhcnRoeSBob3ZlciBzdGF0ZS5cblx0Ji0tcHJpbWFyeSB7XG5cblx0XHRwYWRkaW5nOiAyMHB4IDQwcHg7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTRlbTtcblx0XHRjb2xvcjogdmFyKC0tb24tcHJpbWFyeS1maXhlZCk7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZyxcblx0XHRcdHZhcigtLWVtYmVyLWdsb3cpIDAlLFxuXHRcdFx0dmFyKC0tZW1iZXIpIDUwJSxcblx0XHRcdHZhcigtLWVtYmVyLWRlZXApIDEwMCVcblx0XHQpO1xuXHRcdGJveC1zaGFkb3c6IHZhcigtLWVtYmVyLWdsb3ctc20pO1xuXG5cdFx0Jjpob3ZlciB7XG5cblx0XHRcdGJveC1zaGFkb3c6IHZhcigtLWVtYmVyLWdsb3ctbWQpO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQvLyBPdXRsaW5lZCBnaG9zdCBDVEEg4oCUIHNlbWktdHJhbnNwYXJlbnQgZGFyayBoYWlybGluZSBib3JkZXIgc2l0dGluZ1xuXHQvLyBhZ2FpbnN0IGRhcmsgZ3JvdW5kczsgZmlsbHMgd2l0aCBodWxsLXBhbmVsLWxpZnQgKyBhZGRzIGFcblx0Ly8gY2hyb21lLXRvcC1zb2Z0IGluc2V0IG9uIGhvdmVyLlxuXHQmLS1naG9zdCB7XG5cblx0XHRwYWRkaW5nOiAxOHB4IDM0cHg7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTZlbTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjIsIDYyLCA2MiwgMC42NSk7XG5cblx0XHQmOmhvdmVyIHtcblxuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0taHVsbC1wYW5lbC1saWZ0KTtcblx0XHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtaGlnaGxpZ2h0KTtcblx0XHRcdGJveC1zaGFkb3c6IHZhcigtLWNocm9tZS10b3Atc29mdCk7XG5cblx0XHR9XG5cblx0fVxuXG5cdC8vIExhcmdlciBwYWRkaW5nIGZvciBoZXJvIENUQXMgKGFkZC10by1jYXJ0LCBcIkFkZCB0byBjYXJ0IOKAlCAkNDU5Ljk5XCIpXG5cdC8vIHdoZXJlIHRoZSBidXR0b24gbmVlZHMgdG8gZmVlbCB3ZWlnaHRpZXIuIENvbXBvc2VzIHdpdGggLS1wcmltYXJ5LlxuXHQmLS1sYXJnZSB7XG5cblx0XHRwYWRkaW5nOiAyMnB4IDQ0cHg7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXG5cdH1cblxuXHQvLyBGdWxsLXdpZHRoIGZvciBibG9jay1sZXZlbCBwbGFjZW1lbnQgKEFUQyBzdWJtaXQgaW4gYSBncmlkIGNlbGwsXG5cdC8vIG1vYmlsZSBzdGlja3kgYmFycykuIENvbXBvc2VzIHdpdGggZWl0aGVyIHZhcmlhbnQuXG5cdCYtLWJsb2NrIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0fVxuXG5cdC8vIElubGluZSBhcnJvdyBzbG90IOKAlCBgPHNwYW4gY2xhc3M9XCJidXR0b25fX2Fycm93XCI+JnJhcnI7PC9zcGFuPmAgYWZ0ZXJcblx0Ly8gdGhlIGJ1dHRvbidzIGxhYmVsIHRleHQuIEZsZXggZ2FwIGhhbmRsZXMgdGhlIGJhc2Ugc3BhY2luZzsgdGhlXG5cdC8vIG1hcmdpbi1sZWZ0IGlzIGEgc21hbGwgdHVuaW5nIG51ZGdlLlxuXHQmX19hcnJvdyB7XG5cblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLWxlZnQ6IDRweDtcblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgQnV5IGFjdGlvbnMgKGNvbXBvc2l0aW9uIGNvbnRhaW5lcilcbi8vXG4vLyBWZXJ0aWNhbCBmbGV4IGNvbnRhaW5lciB0aGF0IHN0YWNrcyB0aGUgcHJvZHVjdC1oZXJvIGJ1eSBhZmZvcmRhbmNlczpcbi8vIHByaWNlLXN0YWNrLCBvbmUgb3IgbW9yZSB2YXJpYW50LXNlbGVjdG9ycywgc3RvY2staW5kaWNhdG9yLCBhdGMtcm93LlxuLy8gT24gV29vQ29tbWVyY2UgdGhpcyBpcyB3aGF0IENvbXBvc2l0ZSBQcm9kdWN0cycgYGFkZC10by1jYXJ0L2NvbXBvc2l0ZS5waHBgXG4vLyBldmVudHVhbGx5IHJlbmRlcnMgaW50byDigJQgUGhhc2UgMyBzd2FwLiBJbiBQaGFzZSAyIHRoZSBjaGlsZHJlbiBhcmVcbi8vIHN0YXRpYyBtYXJrdXAgY29tcG9zZWQgYnkgdGhlIHRlbXBsYXRlLlxuLy9cbi8vIFB1cnBvc2UtbmV1dHJhbCBuYW1lIOKAlCByZXVzYWJsZSBvbiBhbnkgc3VyZmFjZSBwcmVzZW50aW5nIHByb2R1Y3QgYnV5XG4vLyBhZmZvcmRhbmNlcyAocHJvZHVjdCBjYXJkcyB3aXRoIG1pbmktYXRjLCBzdGlja3kgYmFycywgcXVpY2stdmlldykuXG5cbi5idXktYWN0aW9ucyB7XG5cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAyNHB4O1xuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIENhbGxvdXQgKGNvbXBvbmVudClcbi8vXG4vLyBEYXJrIGh1bGwtcGFuZWwtZGFyayBwYW5lbCB3aXRoIGEgcGFuZWwtbGlmdCBzaGFkb3csIHR3by1jb2x1bW4gYm9keVxuLy8gKGJhZGdlICsgY29weSksIGRlY29yYXRpdmUgc2NpLWZpIFwic2NyZXdcIiBkb3RzIGF0IHRoZSB0b3AgY29ybmVycy5cbi8vIFVzZWQgYXQgdGhlIGJhc2Ugb2Ygc2VjdGlvbiBjb250ZW50IHRvIGV4cGxhaW4gd2hhdCB0aGUgb3BlcmF0b3Igc2hvdWxkXG4vLyB0YWtlIGF3YXkg4oCUIGUuZy4gdGhlIHRpZXItY29tcGFyaXNvbiBjYWxsb3V0IGJlbG93IHRoZSB0aWVyIGNhcmRzLlxuLy9cbi8vIFdhbGtlZCBmcm9tIE1BUzQzIChwb3N0IDEyODQwKSBhcyBBUlRTQUJFUlMgUzIgUDQgwrcgcmVuYW1lZCBmcm9tXG4vLyB0aWVyLWNvbXBhcmlzb25fX2NhbGxvdXQgaW4gdGhlIHNlY3Rpb24tbW9kaWZpZXIgcmV0cm9maXQuXG5cbi5jYWxsb3V0IHtcblxuXHRtYXJnaW4tdG9wOiA0OHB4O1xuXHRwYWRkaW5nOiAzMnB4O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1odWxsLXBhbmVsLWRhcmspO1xuXHRib3gtc2hhZG93OiB2YXIoLS1wYW5lbC1saWZ0KTtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcblx0Z2FwOiAyNHB4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0Ly8gRGVjb3JhdGl2ZSBcInNjcmV3XCIgZG90cyBhdCB0aGUgdG9wIGNvcm5lcnMg4oCUIHNhbWUgaWRpb20gYXMgdGllci1jYXJkLlxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblxuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiA2cHg7XG5cdFx0aGVpZ2h0OiA2cHg7XG5cdFx0dG9wOiA2cHg7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgyMCwgMjAsIDIwLCAwLjk4KTtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjUwLCAyNTAsIDI1MCwgMC4zMCk7XG5cblx0fVxuXG5cdCY6OmJlZm9yZSB7XG5cblx0XHRsZWZ0OiA2cHg7XG5cblx0fVxuXG5cdCY6OmFmdGVyIHtcblxuXHRcdHJpZ2h0OiA2cHg7XG5cblx0fVxuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiA3MDBweCkge1xuXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cblx0fVxuXG5cdC8vIEVtYmVyLW91dGxpbmUgYmFkZ2Ug4oCUIGNhbGwtdG8tYWN0aW9uIGxhYmVsLlxuXHQmX19iYWRnZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMjBlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cdFx0cGFkZGluZzogMTJweCAxNnB4O1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMTIyLCA0NiwgMC41NSk7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHR9XG5cblx0Ly8gQm9keSBjb3B5IOKAlCBjaHJvbWUtd2FybSB3aXRoIGNocm9tZS1oaWdobGlnaHQgPHN0cm9uZz4gZW1waGFzaXMgZm9yXG5cdC8vIG5hbWUgY2FsbG91dHMgaW5zaWRlLlxuXHQmX19jb3B5IHtcblxuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU1O1xuXG5cdFx0c3Ryb25nIHtcblxuXHRcdFx0Y29sb3I6IHZhcigtLWNocm9tZS1oaWdobGlnaHQpO1xuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBDYXJ0IGRyYXdlciBicmFuZCBkZWx0YVxuLy9cbi8vIEZyYW1ld29yaydzIHN0cnVjdHVyYWwgY2FydC1kcmF3ZXIgKGZyYW1ld29yay12Mi9nbG9iYWwvc2Nzcy9jb21wb25lbnRzL19jYXJ0LWRyYXdlci5zY3NzKVxuLy8gb3ducyB0aGUgc2xpZGUtb3V0IHBvc2l0aW9uICsgaW5uZXIgbGF5b3V0LiBUaGlzIGxheWVyIHBhaW50cyB0aGVcbi8vIGRyYXdlcidzIGJyYW5kIHNraW46IGNoYXJjb2FsIGJhY2tncm91bmQsIGNocm9tZS13YXJtIHRleHQsIGVtYmVyLXByaW1hcnlcbi8vIGNoZWNrb3V0IENUQSwgY2hyb21lLWRpbSBzZXBhcmF0b3JzLlxuXG4uY2FydC1kcmF3ZXIge1xuXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNoYXJjb2FsKTtcblx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblx0Ym94LXNoYWRvdzogLTE2cHggMCA0OHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcblxuXHQmX19pbm5lciB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jaGFyY29hbCk7XG5cblx0fVxuXG5cdCZfX2hlYWRlciB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jaGFyY29hbCk7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjI1KTtcblxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1oaWdobGlnaHQpO1xuXG5cdH1cblxuXHQmX19mdWxsLWxpbmsge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuXG5cdFx0Jjpob3ZlciB7XG5cblx0XHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX2Nsb3NlIHtcblxuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtd2FybSk7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdC5pY29uIHtcblxuXHRcdFx0ZmlsbDogdmFyKC0tY2hyb21lLXdhcm0pO1xuXG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cblx0XHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0XHRcdC5pY29uIHtcblxuXHRcdFx0XHRmaWxsOiB2YXIoLS1lbWJlcik7XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fYm9keSB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jaGFyY29hbCk7XG5cblx0fVxuXG5cdC8vIEVtcHR5LWNhcnQgc3RhdGUgKHJlbmRlcmVkIHdoZW4gdGhlIGRyYXdlciBvcGVucyB3aXRoIG5vIGl0ZW1zKS5cblx0Jl9fZW1wdHkge1xuXG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdCZfX2xlYWQge1xuXG5cdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjU1O1xuXHRcdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDI0cHg7XG5cblx0XHR9XG5cblx0XHQvLyBGcmFtZXdvcmsgY29tcG9zZXMgYSBgYnV0dG9uIGJ1dHRvbi0tc2FmZnJvbmAgZm9yIHRoaXMuIEluXG5cdFx0Ly8gQVJUU0FCRVJTIHRoZSBzYWZmcm9uIHNsb3QgaXMgYWxpYXNlZCB0byBlbWJlci1nbG93LCBzbyB0aGlzXG5cdFx0Ly8gcGFpbnRzIGFzIGEgd2FybS1vcmFuZ2UgZmlsbCB2aWEgX2J1dHRvbi5zY3NzIOKAlCBubyBsb2NhbCBvdmVycmlkZVxuXHRcdC8vIG5lZWRlZC4gUGFkZGluZy9wb3NpdGlvbmluZyBvZiB0aGUgQ1RBIHdpdGhpbiB0aGUgZW1wdHkgc3RhdGVcblx0XHQvLyBzdGF5cyBmcmFtZXdvcmsuXG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIENhdGVnb3J5IGJyb3dzZSB0aWxlIChjb21wb25lbnQpXG4vL1xuLy8gQ3Jvc3Mtc2hvcCBuYXZpZ2F0aW9uIHRpbGUg4oCUIHVzZWQgb24gZXJhIC8gY2hhcmFjdGVyIGNhdGVnb3J5IHBhZ2VzXG4vLyB0byBwb2ludCBzaWRld2F5cyBhdCByZWxhdGVkIGNhdGVnb3JpZXMuIE1lZGlhIHBhbmUgb24gdG9wIHdpdGggYW5cbi8vIG9wdGlvbmFsIDMtcG9ydHJhaXQgdHJpcHR5Y2ggKGBfX21lZGlhLS10cmlwdHljaGApIG9yIGEgYmctaW1hZ2Vcbi8vIHRyZWF0bWVudCwgdGFnIGNoaXAgaW4gdGhlIGNvcm5lciwgYW5kIGEgYm9keSBwYW5lIGJlbG93ICh0aXRsZSArXG4vLyBkZXNjICsgQ1RBKS4gV2hvbGUgdGlsZSBpcyBhbiBhbmNob3IuXG4vL1xuLy8gQ29tcG9zZXMgaW5zaWRlIGAuZ3JpZC5ncmlkLS0zYCDigJQgdGhlIDMtYWNyb3NzIHNpZGV3YXlzLW5hdiBncmlkXG4vLyBjb21tb24gdG8gY2F0ZWdvcnkgdG9wIHBhZ2VzLiBIb3ZlciBsaWZ0cyArIGJyaWdodGVucy5cbi8vXG4vLyBBbmF0b215OlxuLy8gICBfX21lZGlhICAgICAgICAgICAgICAgIOKAlCAxNjo5IG1lZGlhIHBhbmUgKGRhcmsgcmdiYSArIGh1bGwtcGxhdGUgZmFsbGJhY2spXG4vLyAgIF9fbWVkaWEtLXRyaXB0eWNoICAgICAg4oCUIHZhcmlhbnQgd2l0aCBhIDMtY2VsbCBwb3J0cmFpdCBncmlkIGluc2lkZVxuLy8gICBfX3BvcnRyYWl0cyAgICAgICAgICAgIOKAlCBpbm5lciBncmlkIGZvciB0aGUgdHJpcHR5Y2ggdmFyaWFudFxuLy8gICBfX3BvcnRyYWl0ICAgICAgICAgICAgIOKAlCBvbmUgcG9ydHJhaXQgYmctaW1hZ2UgdGlsZVxuLy8gICBfX3RhZyAgICAgICAgICAgICAgICAgIOKAlCBlbWJlci1ib3JkZXJlZCBjaGlwICh0b3AtbGVmdCBvZiBtZWRpYSlcbi8vICAgX19ib2R5ICAgICAgICAgICAgICAgICDigJQgdGV4dCBwYW5lIGJlbG93IG1lZGlhXG4vLyAgIF9fdGl0bGUgICAgICAgICAgICAgICAg4oCUIGNocm9tZS1oaWdobGlnaHQgZGlzcGxheSB0aXRsZVxuLy8gICBfX2Rlc2MgICAgICAgICAgICAgICAgIOKAlCBjaHJvbWUtZGltIGJvZHkgZGVzY3JpcHRpb25cbi8vICAgX19jdGEgICAgICAgICAgICAgICAgICDigJQgZW1iZXIgdXBwZXJjYXNlIENUQSBsaW5lICh0b3AgaGFpcmxpbmUgc2VwYXJhdG9yKVxuXG5AdXNlICcuLi9zZXR0aW5ncy9ob3ZlcnMnIGFzICo7XG5cbi5jYXRlZ29yeS1icm93c2UtdGlsZSB7XG5cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YmFja2dyb3VuZDogdmFyKC0taHVsbC1wYW5lbCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Ym94LXNoYWRvdzogdmFyKC0tcGFuZWwtbGlmdCksIHZhcigtLWNocm9tZS10b3Atc29mdCk7XG5cdHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjUwbXMgZWFzZSwgdHJhbnNmb3JtIDI1MG1zIGVhc2U7XG5cblx0Jjpob3ZlciB7XG5cblx0XHRAaW5jbHVkZSBjYXJkLWhvdmVyLWxpZnQ7XG5cblx0fVxuXG5cdCZfX21lZGlhIHtcblxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRhc3BlY3QtcmF0aW86IDE2IC8gOTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDBkZWcsIHJnYmEoMTUsIDE1LCAxNSwgMC44NSkgMCUsIHJnYmEoMTUsIDE1LCAxNSwgMC4zKSAxMDAlKSwgdmFyKC0taHVsbC1wYW5lbC1kYXJrKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuXHRcdCY6OmFmdGVyIHtcblxuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGhlaWdodDogNDAlO1xuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgxNSwgMTUsIDE1LCAwKSAwJSwgcmdiYSgxNSwgMTUsIDE1LCAwLjkpIDEwMCUpO1xuXHRcdFx0ei1pbmRleDogMTtcblxuXHRcdH1cblxuXHRcdCYtLXRyaXB0eWNoIHtcblxuXHRcdFx0LmNhdGVnb3J5LWJyb3dzZS10aWxlX19wb3J0cmFpdHMge1xuXG5cdFx0XHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG5cdFx0XHRcdGdhcDogMnB4O1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoNiwgNiwgNiwgMC42KTtcblxuXHRcdFx0fVxuXG5cdFx0XHQuY2F0ZWdvcnktYnJvd3NlLXRpbGVfX3BvcnRyYWl0IHtcblxuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX3RhZyB7XG5cblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAxNnB4O1xuXHRcdGxlZnQ6IDE2cHg7XG5cdFx0ei1pbmRleDogMjtcblx0XHRwYWRkaW5nOiA2cHggMTBweDtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDYsIDYsIDYsIDAuNyk7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDEyMiwgNDYsIDAuNCk7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjE2ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdH1cblxuXHQmX19ib2R5IHtcblxuXHRcdHBhZGRpbmc6IDI0cHggMjZweCAyOHB4O1xuXG5cdH1cblxuXHQmX190aXRsZSB7XG5cblx0XHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtaGlnaGxpZ2h0KTtcblxuXHR9XG5cblx0Jl9fZGVzYyB7XG5cblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRsaW5lLWhlaWdodDogMS41NTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cblx0fVxuXG5cdCZfX2N0YSB7XG5cblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogOHB4O1xuXHRcdHBhZGRpbmctdG9wOiAxNHB4O1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoNTQsIDU0LCA1NCwgMC41KTtcblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgQ2FyZCBob3ZlciB0cmVhdG1lbnRzIChtaXhpbnMpXG4vL1xuLy8gVGhlIGNhbm9uaWNhbCBob3Zlci1saWZ0IHNoYXJlZCBhY3Jvc3MgZXZlcnkgY2FyZC1zaGFwZWQgY29tcG9uZW50IGluXG4vLyB0aGUgdGhlbWUuIENvbnNvbGlkYXRlZCAyMDI2LTA3LTMwIGFmdGVyIHRocmVlIG5lYXItYnV0LW5vdC1xdWl0ZS1zYW1lXG4vLyBob3ZlciByZWNpcGVzIGhhZCBlbWVyZ2VkIChsaW5rLWJveCwgcHJvZHVjdC1jYXJkIGJhc2UsIHByb2R1Y3QtY2FyZFxuLy8gLS1ob3QpLiBPbmUgbWl4aW4sIG9uZSB2aXN1YWwgbGFuZ3VhZ2UuXG4vL1xuLy8gVGhlIHNpZ25hdHVyZSBlZmZlY3QgaXMgdGhlIGAtLWVtYmVyLWhvdC1yaW1gIChpbnNldCBlbWJlciBib3JkZXIgK1xuLy8gaGFsbykgY2FsbGVkIG91dCBpbiBfYnJhbmQtdG9rZW5zLnNjc3Mg4oCUIHRoaXMgbWl4aW4gc3RhbmRhcmRpc2VzIG9uIGl0XG4vLyBhcyB0aGUgcmVzdGluZyBob3ZlciBmb3IgZXZlcnkgY2FyZC4gYC0taG90YCBjYXJkcyBsYXllciBhbiBhZGRpdGlvbmFsXG4vLyBvdXRlciBnbG93IChgLS1lbWJlci1nbG93LW1kYCkgZm9yIGV4dHJhIHdlaWdodC5cbi8vXG4vLyBTdGFuZGFyZCB0cmFuc2Zvcm0gaXMgYHRyYW5zbGF0ZVkoLTRweClgLiAoUHJldmlvdXNseSAubGluay1ib3ggd2FzIGFuXG4vLyBvdXRsaWVyIGF0IC0zcHgg4oCUIGZvbGRlZCBpbi4pXG4vL1xuLy8gQ29uc3VtZXJzIHBhaXIgdGhpcyB3aXRoIGEgbWF0Y2hpbmcgYHRyYW5zaXRpb25gIG9uIHRoZSBiYXNlIHJ1bGU6XG4vLyAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjUwbXMgZWFzZSwgdHJhbnNmb3JtIDI1MG1zIGVhc2U7XG4vL1xuLy8gTm90IHVzZWQgYnkgYC5vZmZlci1jYXJkYCDigJQgaXQgc2l0cyBvbiB0aGUgZW1iZXItYmFuZCBzZWN0aW9uIHdoZXJlXG4vLyBlbWJlci1vbi1lbWJlciB3b3VsZCBtdWRkeTsgaXQga2VlcHMgYSBiZXNwb2tlIGRyb3Atc2hhZG93LW9ubHkgaG92ZXIuXG5cbkBtaXhpbiBjYXJkLWhvdmVyLWxpZnQoJGludGVuc2l0eTogJ2RlZmF1bHQnKSB7XG5cblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuXG5cdC8vIEVtYmVyIGhvdC1yaW0gZmlyc3QgaW4gdGhlIGxpc3Qgc28gaXRzIDFweCBpbnNldCBib3JkZXIgcGFpbnRzIG9uXG5cdC8vIHRvcCBvZiB0aGUgcGFuZWwtbGlmdC1ob3ZlcidzIGNocm9tZSBoYWlybGluZSAobGF0ZXIgaXRlbXMgaW4gYVxuXHQvLyBib3gtc2hhZG93IGxpc3QgcGFpbnQgYmVsb3cgZWFybGllciBvbmVzKS4gUHJlc2VydmVzIHRoZSBmdWxseS1cblx0Ly8gdmlzaWJsZSBlbWJlciByaW0gZnJvbSB0aGUgcHJlLWNvbnNvbGlkYXRpb24gLmxpbmstYm94IGhvdmVyLlxuXHRAaWYgJGludGVuc2l0eSA9PSAnc3Ryb25nJyB7XG5cblx0XHQvLyBGZWF0dXJlZCAvIC0taG90IGNhcmRzIOKAlCBob3QtcmltICsgYWRkaXRpb25hbCBvdXRlciBoYWxvLlxuXHRcdGJveC1zaGFkb3c6XG5cdFx0XHR2YXIoLS1lbWJlci1ob3QtcmltKSxcblx0XHRcdHZhcigtLXBhbmVsLWxpZnQtaG92ZXIpLFxuXHRcdFx0dmFyKC0tZW1iZXItZ2xvdy1tZCk7XG5cblx0fSBAZWxzZSB7XG5cblx0XHQvLyBEZWZhdWx0IOKAlCBldmVyeSBjYXJkIGdhaW5zIHRoZSBlbWJlciBob3QtcmltICsgbGlmdCBvbiBob3Zlci5cblx0XHRib3gtc2hhZG93OlxuXHRcdFx0dmFyKC0tZW1iZXItaG90LXJpbSksXG5cdFx0XHR2YXIoLS1wYW5lbC1saWZ0LWhvdmVyKTtcblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgQ29tcGFyaXNvbiB0YWJsZSAoY29tcG9uZW50KVxuLy9cbi8vIENyb3NzLWNvbHVtbiBmZWF0dXJlIGNvbXBhcmlzb24gdGFibGUg4oCUIHRoaXMgaGlsdCBhY3Jvc3MgZXZlcnkgU2FiZXJcbi8vIENvcmUgZWxlY3Ryb25pY3Mgb3B0aW9uLiBDb2x1bW4taGlnaGxpZ2h0IGZvciB0aGUgY3VycmVudGx5LXNlbGVjdGVkXG4vLyBjb3JlIHZpYSBgX19jb2wtc2VsZWN0ZWRgIGNlbGxzLiBXcmFwcyBpbiBgX193cmFwYCAoYG92ZXJmbG93LXg6IGF1dG9gKVxuLy8gc28gd2lkZXIgdGFibGVzIHNjcm9sbCBob3Jpem9udGFsbHkgb24gbmFycm93IHZpZXdwb3J0cyB3aXRob3V0XG4vLyBicmVha2luZyB0aGUgcm93IGFsaWdubWVudC5cbi8vXG4vLyBDb21wb3NlcyBpbnNpZGUgYC5zZWN0aW9uLnNlY3Rpb24tLWNhcmJvbmA7IGBfX3dyYXBgIHByb3ZpZGVzIHRoZVxuLy8gdmlzdWFsIHBhbmVsICsgc2Nyb2xsIGNvbnRhaW5lci5cbi8vXG4vLyBBbmF0b215OlxuLy8gICBfX3dyYXAgICAgICAgICAgIOKAlCBzY3JvbGxhYmxlIHBhbmVsIHdyYXBwZXIgKHBhbmVsLWxpZnQgc2hhZG93KVxuLy8gICBfX3RhYmxlICAgICAgICAgIOKAlCB0aGUgPHRhYmxlPiBlbGVtZW50XG4vLyAgIF9fY29sLXNlbGVjdGVkICAg4oCUIGNlbGxzIGluIHRoZSBoaWdobGlnaHRlZCBjb2x1bW4gKGVtYmVyIHRpbnQgKyBpbnNldCBib3JkZXIpXG4vLyAgIF9feWVzICAgICAgICAgICAg4oCUIGVtYmVyIGFmZmlybWF0aXZlIGNlbGwgY29udGVudHNcbi8vICAgX19ubyAgICAgICAgICAgICDigJQgY2hyb21lLWRpbSBuZWdhdGl2ZSBjZWxsIGNvbnRlbnRzXG5cbi5jb21wYXJpc29uLXRhYmxlIHtcblxuXHQmX193cmFwIHtcblxuXHRcdG92ZXJmbG93LXg6IGF1dG87XG5cdFx0YmFja2dyb3VuZDogcmdiYSgxNSwgMTUsIDE1LCAwLjg1KTtcblx0XHRib3gtc2hhZG93OiB2YXIoLS1wYW5lbC1saWZ0KTtcblxuXHR9XG5cblx0Jl9fdGFibGUge1xuXG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWluLXdpZHRoOiA5MDBweDtcblx0XHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXG5cdFx0dGgsXG5cdFx0dGQge1xuXG5cdFx0XHRwYWRkaW5nOiAxOHB4IDIwcHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMDUpO1xuXG5cdFx0fVxuXG5cdFx0dGhlYWQgdGgge1xuXG5cdFx0XHRwYWRkaW5nLXRvcDogMjRweDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAyNHB4O1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgxMCwgMTAsIDEwLCAwLjc1KTtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMTApO1xuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IGJvdHRvbTtcblxuXHRcdFx0c21hbGwge1xuXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA2cHg7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjE2ZW07XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0dGJvZHkgdGgge1xuXG5cdFx0XHR3aWR0aDogMjAwcHg7XG5cdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC4xMGVtO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblxuXHRcdH1cblxuXHRcdHRkIHtcblxuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0XHRmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuXHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG5cdFx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19jb2wtc2VsZWN0ZWQge1xuXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjA2KTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWhpZ2hsaWdodCkgIWltcG9ydGFudDtcblx0XHRib3gtc2hhZG93OiBpbnNldCAycHggMCAwIHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjM1KTtcblxuXHR9XG5cblx0Jl9feWVzIHtcblxuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblxuXHR9XG5cblx0Jl9fbm8ge1xuXG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBDcm9zcy1zZWxsIGNhcmQgKGNvbXBvbmVudClcbi8vXG4vLyBcIkNvbXBsZXRlIHRoZSBTZXRcIiBhY2Nlc3NvcnkgY2FyZCDigJQgNDozIHBob3RvZ3JhcGggYnJpZWYgc3RhZ2Ugb24gdG9wXG4vLyAod2l0aCBhIGNhdGVnb3J5IHRhZyBjaGlwIGluIHRoZSBjb3JuZXIpICsgaW5mbyBwYW5lbCBiZWxvdyAoZXllYnJvdyArXG4vLyB0aXRsZSArIHRpZXIgLyBwcmljZSBtZXRhIHJvdykuIEFuY2hvciBlbGVtZW50IOKAlCB0aGUgd2hvbGUgY2FyZCBpc1xuLy8gY2xpY2thYmxlLlxuLy9cbi8vIEhvdmVyIGxpZnRzIHdpdGggYSBzb2Z0IGVtYmVyIGdsb3cgKHVzZXMgdGhlIHNoYXJlZCBjYXJkLWhvdmVyLWxpZnRcbi8vIG1peGluJ3MgZGVmYXVsdCBpbnRlbnNpdHkg4oCUIG1hdGNoaW5nIHRoZSB3YWxrJ3MgY2Fub25pY2FsIGhvdmVyKS5cbi8vXG4vLyBBbmF0b215OlxuLy8gICBfX3N0YWdlICAgICDigJQgNDozIGRhcmsgcGFuZWwgd2l0aCBicmllZiBwcm9zZSArIGVtYmVyIFBIT1RPR1JBUEggQlJJRUYgbGFiZWxcbi8vICAgX190YWcgICAgICAg4oCUIGVtYmVyLWJvcmRlcmVkIGNhdGVnb3J5IGNoaXAgKHRvcC1yaWdodCBvZiBzdGFnZSlcbi8vICAgX19pbmZvICAgICAg4oCUIGh1bGwtcGFuZWwtbGlmdCBiZyB0ZXh0IGJsb2NrIGJlbG93IHN0YWdlXG4vLyAgIF9fZXllYnJvdyAgIOKAlCBjaHJvbWUtZGltIHVwcGVyY2FzZSBjYXRlZ29yeSBsaW5lXG4vLyAgIF9fdGl0bGUgICAgIOKAlCBjaHJvbWUtaGlnaGxpZ2h0IGRpc3BsYXkgdXBwZXJjYXNlIHRpdGxlXG4vLyAgIF9fbWV0YSAgICAgIOKAlCBmbGV4IHJvdzogdGllciAobGVmdCkgKyBwcmljZSAocmlnaHQpXG4vLyAgIF9fdGllciAgICAgIOKAlCBjaHJvbWUtd2FybSB1cHBlcmNhc2UgdGllciBsaW5lXG4vLyAgIF9fcHJpY2UgICAgIOKAlCBlbWJlciB0YWJ1bGFyLW51bSBwcmljZVxuXG5AdXNlICcuLi9zZXR0aW5ncy9zY3Jldy1kb3RzJyBhcyAqO1xuQHVzZSAnLi4vc2V0dGluZ3MvaG92ZXJzJyBhcyAqO1xuXG4uY3Jvc3Mtc2VsbC1jYXJkIHtcblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAyMCwgMC45NCk7XG5cdGJveC1zaGFkb3c6XG5cdFx0aW5zZXQgMCAxcHggMCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMTYpLFxuXHRcdGluc2V0IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgMC41NSksXG5cdFx0MCAxMHB4IDI4cHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjk1KSxcblx0XHQwIDJweCA2cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG5cdHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjUwbXMgZWFzZSwgdHJhbnNmb3JtIDI1MG1zIGVhc2U7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0QGluY2x1ZGUgc2NyZXctZG90cztcblxuXHQmOmhvdmVyIHtcblxuXHRcdEBpbmNsdWRlIGNhcmQtaG92ZXItbGlmdDtcblxuXHR9XG5cblx0Jl9fc3RhZ2Uge1xuXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGFzcGVjdC1yYXRpbzogNCAvIDM7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRwYWRkaW5nOiAzMnB4IDI0cHggMjRweDtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1odWxsLXBhbmVsLWRhcmspO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cblx0XHQmOjpiZWZvcmUge1xuXG5cdFx0XHRjb250ZW50OiBcIlBIT1RPR1JBUEggQlJJRUZcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMTJweDtcblx0XHRcdGxlZnQ6IDEycHg7XG5cdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdGZvbnQtc2l6ZTogOXB4O1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMjRlbTtcblx0XHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX3RhZyB7XG5cblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAxMnB4O1xuXHRcdHJpZ2h0OiAxMnB4O1xuXHRcdHBhZGRpbmc6IDRweCA4cHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiA5cHg7XG5cdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjIwZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMTIyLCA0NiwgMC41NSk7XG5cblx0fVxuXG5cdCZfX2luZm8ge1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogOHB4O1xuXHRcdHBhZGRpbmc6IDIwcHggMjRweDtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1odWxsLXBhbmVsLWxpZnQpO1xuXG5cdH1cblxuXHQmX19leWVicm93IHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXG5cdH1cblxuXHQmX190aXRsZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1oaWdobGlnaHQpO1xuXG5cdH1cblxuXHQmX19tZXRhIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcblx0XHRtYXJnaW4tdG9wOiA0cHg7XG5cblx0fVxuXG5cdCZfX3RpZXIge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjEwZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXG5cdH1cblxuXHQmX19wcmljZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIEVkaXRvcmlhbCBiYW5kIChjb21wb25lbnQpXG4vL1xuLy8gMi1jb2wgZWRpdG9yaWFsIGNvbnRlbnQgYmFuZCDigJQgcHJvc2UgY29sdW1uIG9uIGxlZnQgKyBhc2lkZSBjb2x1bW4gb25cbi8vIHJpZ2h0IHdpdGggbWV0YSByb3dzIGFuZCAob3B0aW9uYWxseSkgYSBwdWxsLXF1b3RlLiBVc2VkIG9uIGNhdGVnb3J5XG4vLyBwYWdlcyBmb3IgdGhlIFwid29ybGQgb2YgdGhpcyBlcmFcIiBlZGl0b3JpYWwgYmVhdC5cbi8vXG4vLyBEaXN0aW5jdCBmcm9tIGAuZWRpdG9yaWFsLXBhbmVsYCAoYnJhbmQtc3Rvcnkgc2hhcGUg4oCUIGRhcmsgcmdiYSB0ZXh0XG4vLyBwYW5lbCBvcHBvc2l0ZSBhIGZ1bGwtYmxlZWQgcG9ydHJhaXQpOiBlZGl0b3JpYWwtYmFuZCBpcyBwcm9zZS1maXJzdFxuLy8gd2l0aCBhIG1ldGFkYXRhIGFzaWRlLCBubyBwb3J0cmFpdCBzdGFnZS4gQ29tcG9zZXMgaW5zaWRlXG4vLyBgLnNlY3Rpb24uc2VjdGlvbi0taW1hZ2VkYCAoYmctaW1hZ2UgKyBzY3JpbSkgb3IgYC5zZWN0aW9uLS1jaGFyY29hbGAuXG4vL1xuLy8gQW5hdG9teTpcbi8vICAgX19pbm5lciAgICAgICAg4oCUIDItY29sIGdyaWQgd3JhcHBlciAoMmZyIDFmciBvbiBkZXNrdG9wLCBzdGFja3Mgb24gbW9iaWxlKVxuLy8gICBfX2V5ZWJyb3cgICAgICDigJQgc21hbGwgZW1iZXIgdXBwZXJjYXNlIGtpY2tlciB3aXRoIGxlZnQgZW1iZXIgYmFyIHZpYSA6OmJlZm9yZVxuLy8gICBfX3Byb3NlICAgICAgICDigJQgY29sdW1uIG9mIGJvZHkgcGFyYWdyYXBoc1xuLy8gICBfX2Nsb3NlICAgICAgICDigJQgY2xvc2luZyBwYXJhZ3JhcGggdmFyaWFudCAoaXRhbGljLCBjaHJvbWUtaGlnaGxpZ2h0LCBsYXJnZXIpXG4vLyAgIF9fYXNpZGUgICAgICAgIOKAlCByaWdodC1oYW5kIG1ldGEgY29sdW1uXG4vLyAgIF9fYXNpZGUtbGFiZWwgIOKAlCBlbWJlciB1cHBlcmNhc2Ugc21hbGwtY2FwcyBhc2lkZSBoZWFkZXJcbi8vICAgX19tZXRhICAgICAgICAg4oCUIHZlcnRpY2FsIHN0YWNrIG9mIG1ldGEgaXRlbXMgKGhhaXJsaW5lLXNlcGFyYXRlZClcbi8vICAgX19tZXRhLWl0ZW0gICAg4oCUIG9uZSBtZXRhIHJvd1xuLy8gICBfX21ldGEtbGFiZWwgICDigJQgY2hyb21lLWRpbSB1cHBlcmNhc2UgbGFiZWxcbi8vICAgX19tZXRhLXZhbHVlICAg4oCUIGNocm9tZS1oaWdobGlnaHQgZGlzcGxheSB2YWx1ZVxuLy8gICBfX21ldGEtbm90ZSAgICDigJQgY2hyb21lLWRpbSBib2R5IHN1Yi1ub3RlXG5cbi5lZGl0b3JpYWwtYmFuZCB7XG5cblx0Jl9faW5uZXIge1xuXG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnI7XG5cdFx0Z2FwOiA2NHB4O1xuXG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuXG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHRcdGdhcDogNDBweDtcblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fZXllYnJvdyB7XG5cblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmctbGVmdDogMThweDtcblx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjI0ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblxuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR0b3A6IDZweDtcblx0XHRcdGJvdHRvbTogNnB4O1xuXHRcdFx0d2lkdGg6IDNweDtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWVtYmVyKTtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgyNTUsIDEyMiwgNDYsIDAuNTUpO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19wcm9zZSB7XG5cblx0XHRtYXJnaW4tdG9wOiAyNHB4O1xuXG5cdFx0cCB7XG5cblx0XHRcdG1hcmdpbi1ib3R0b206IDE4cHg7XG5cdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcblx0XHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjc7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19jbG9zZSB7XG5cblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0Zm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1oaWdobGlnaHQpICFpbXBvcnRhbnQ7XG5cblx0fVxuXG5cdCZfX2FzaWRlIHtcblxuXHRcdHBhZGRpbmctdG9wOiA4cHg7XG5cblx0fVxuXG5cdCZfX2FzaWRlLWxhYmVsIHtcblxuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjIwZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdH1cblxuXHQmX19tZXRhIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuXHR9XG5cblx0Jl9fbWV0YS1pdGVtIHtcblxuXHRcdHBhZGRpbmc6IDE0cHggMDtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCByZ2JhKDYyLCA2MiwgNjIsIDAuMzUpO1xuXG5cdH1cblxuXHQmX19tZXRhLWxhYmVsIHtcblxuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IDRweDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMjBlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblxuXHR9XG5cblx0Jl9fbWV0YS12YWx1ZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1oaWdobGlnaHQpO1xuXG5cdH1cblxuXHQmX19tZXRhLW5vdGUge1xuXG5cdFx0bWFyZ2luLXRvcDogNnB4O1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgRWRpdG9yaWFsIHBhbmVsIChjb21wb25lbnQpXG4vL1xuLy8gVGhlIGRhcmsgcmdiYSB0ZXh0IHBhbmVsIHRoYXQgc2l0cyBvcHBvc2l0ZSBhIGZ1bGwtYmxlZWQgcG9ydHJhaXQgL1xuLy8gbWVkaWEgc3RhZ2UgaW4gdGhlIGJyYW5kLXN0b3J5LXNoYXBlZCBlZGl0b3JpYWwgc3BsaXQuIEhlYXZ5IHBhZGRpbmcsXG4vLyBjZW50ZXJlZCB2ZXJ0aWNhbCBsYXlvdXQsIGhvbGRzIGFuIGV5ZWJyb3cgKyBkaXNwbGF5LXNjYWxlIGhlYWRsaW5lICtcbi8vIGxlZGUgKyBmYWN0cyBzdHJpcCArIENUQSByb3cuXG4vL1xuLy8gQ29tcG9zZXMgaW5zaWRlIGEgYC5ncmlkLmdyaWQtLTJgIChzdHJldGNoLWFsaWduZWQsIDAgZ2FwKSBhbG9uZ3NpZGUgYVxuLy8gYC5mZWF0dXJlLXN0YWdlLmZlYXR1cmUtc3RhZ2UtLXN0cmV0Y2hgLiBQYW5lbCBiYWNrZ3JvdW5kIGlzIGRhcmsgcmdiYVxuLy8gc28gdGhlIGVtYmVyIHJhZGlhbCArIHNjcmltbWVkIHBob3RvIG9mIGAuc2VjdGlvbi0taW1hZ2VkXG4vLyAuc2VjdGlvbi0tcmFkaWFsLWVtYmVyYCByZWFkcyBmYWludGx5IHRocm91Z2ggdGhlIHNlYW0gZWRnZS5cbi8vXG4vLyBBbmF0b215OlxuLy8gICBfX2V5ZWJyb3cgICAgICAgICAg4oCUIDExcHggZW1iZXIga2lja2VyIChkaWFtb25kLWdseXBoIG9yIHBsYWluIHRleHQpXG4vLyAgIF9fdGl0bGUgICAgICAgICAgICDigJQgdXN1YWxseSBjbGFzcy1taXhlZCB2aWEgYC5zZWN0aW9uX190aXRsZWAgb24gdGhlXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIGgyIGVsZW1lbnQg4oCUIHBhbmVsIGl0c2VsZiBkb2Vzbid0IG93biB0aGUgdGl0bGVcbi8vICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGUgc2xvdFxuLy8gICBfX2xlZGUgICAgICAgICAgICAg4oCUIDE4cHggY2hyb21lLXdhcm0gaW50cm8gcGFyYWdyYXBoIChtYXggNTIwcHgpXG4vLyAgIF9fbGVkZS1lbSAgICAgICAgICDigJQgZW1iZXIgbm9uLWl0YWxpYyBlbXBoYXNpcyBzcGFuIGluc2lkZSB0aGUgbGVkZVxuLy8gICAgICAgICAgICAgICAgICAgICAgICAobW9ja3VwIHVzZWQgPGVtPiBzbyB3ZSBzdHlsZSB0aGUgZW0gZWxlbWVudCB0b28pXG4vLyAgIF9fZmFjdHMgICAgICAgICAgICDigJQgMy1jb2wgbGFiZWwvdmFsdWUgc3RyaXAgd2l0aCB0b3ArYm90dG9tIGhhaXJsaW5lc1xuLy8gICBfX2ZhY3QgICAgICAgICAgICAg4oCUIG9uZSBsYWJlbC92YWx1ZSBwYWlyICh2ZXJ0aWNhbCBzdGFjaylcbi8vICAgX19mYWN0LWxhYmVsICAgICAgIOKAlCA5cHggY2hyb21lLWRpbSB1cHBlcmNhc2Vcbi8vICAgX19mYWN0LXZhbHVlICAgICAgIOKAlCAyNHB4IGNocm9tZS1oaWdobGlnaHQgZGlzcGxheSB0eXBlXG4vLyAgIF9fZmFjdC12YWx1ZS1lbSAgICDigJQgZW1iZXIgaGlnaGxpZ2h0IHZhcmlhbnQgZm9yIHRoZSBudW1iZXIgc3BhblxuLy8gICBfX2N0YS1yb3cgICAgICAgICAg4oCUIGZsZXggcm93IGZvciBhIGJ1dHRvbiArIHNlY29uZGFyeSBpbmxpbmUgbGlua1xuLy8gICBfX2xpbmstZW0gICAgICAgICAg4oCUIDEycHggZW1iZXIgdXBwZXJjYXNlIGlubGluZSB0ZXh0LWxpbmtcbi8vXG4vLyBXYWxrZWQgZnJvbSBNQVM0MyAocG9zdCAxMjg0MCkgYXMgQVJUU0FCRVJTIFMyIFAxMS5cblxuLmVkaXRvcmlhbC1wYW5lbCB7XG5cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGdhcDogMzJweDtcblx0cGFkZGluZzogOTBweCA4MHB4O1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDIwLCAyMCwgMjAsIDAuOTQpO1xuXHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoM3B4KTtcblx0LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoM3B4KTtcblx0Ym94LXNoYWRvdzogdmFyKC0tcGFuZWwtbGlmdCk7XG5cblx0Jl9fZXllYnJvdyB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4yOGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblxuXHR9XG5cblx0Jl9fbGVkZSB7XG5cblx0XHRtYXgtd2lkdGg6IDUyMHB4O1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRsaW5lLWhlaWdodDogMS42O1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtd2FybSk7XG5cblx0XHRlbSxcblx0XHQmLWVtIHtcblxuXHRcdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX2ZhY3RzIHtcblxuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuXHRcdGdhcDogMjBweDtcblx0XHRwYWRkaW5nOiAyNnB4IDAgOHB4O1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDYyLCA2MiwgNjIsIDAuNCk7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoNjIsIDYyLCA2MiwgMC40KTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblxuXHR9XG5cblx0Jl9fZmFjdC1sYWJlbCB7XG5cblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdFx0Zm9udC1zaXplOiA5cHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMjhlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblxuXHR9XG5cblx0Jl9fZmFjdC12YWx1ZSB7XG5cblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtaGlnaGxpZ2h0KTtcblxuXHR9XG5cblx0Jl9fZmFjdC12YWx1ZS1lbSB7XG5cblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdH1cblxuXHQmX19jdGEtcm93IHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiAyMHB4O1xuXHRcdG1hcmdpbi10b3A6IDEycHg7XG5cblx0fVxuXG5cdCZfX2xpbmstZW0ge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjIwZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdH1cblxuXHRAbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcblxuXHRcdHBhZGRpbmc6IDYwcHggNDBweDtcblx0XHRnYXA6IDI0cHg7XG5cblx0XHQvLyBGYWN0cyBjb2xsYXBzZSB0byBzaW5nbGUgY29sdW1uIGF0IHBob25lIOKAlCAzLWNvbCBhdCAzOTAgbGVhdmVzXG5cdFx0Ly8gZWFjaCBjZWxsIH45MHB4LCB0b28gdGlnaHQgZm9yIGEgdmFsdWUgbGlrZSBcIk5lcmR3b3Jrc1wiLlxuXHRcdCZfX2ZhY3RzIHtcblxuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuXHRcdFx0Z2FwOiAxNnB4O1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBFZGl0b3JpYWwgZ3JpZCAobGF5b3V0KVxuLy9cbi8vIExheW91dCBjb250YWluZXIgZm9yIG1peGVkLXNpemUgbWVkaWEgY2FyZHMuIFRocmVlIGNvbHVtbnMgd2l0aCAyNjBweFxuLy8gYXV0by1yb3dzOyBjaGlsZHJlbiBhcmUgYC5tZWRpYS1jYXJkYCBjb21wb25lbnRzIHRoYXQgb3B0IGludG8gc3BhblxuLy8gbW9kaWZpZXJzIChgLS1oZXJvYCBmb3IgMsOXMiwgYC0td2lkZWAgZm9yIDLDlzEpIHRvIGNvbXBvc2UgYSB2YXJpZWRcbi8vIGVkaXRvcmlhbCByaHl0aG0g4oCUIGUuZy4gb25lIGJpZyBoZXJvIGNlbGwgKyBhIGNvdXBsZSBvZiBzdGFuZGFyZCBjZWxsc1xuLy8gKyBvbmUgbGFuZHNjYXBlIGNlbGwgKyBvbmUgbW9yZSBzdGFuZGFyZC5cbi8vXG4vLyBQb3N0LWNvbnNvbGlkYXRpb24gKDIwMjYtMDctMzApIHRoaXMgZmlsZSBpcyBqdXN0IHRoZSBncmlkIGxheW91dDtcbi8vIGV2ZXJ5dGhpbmcgdGhhdCB3YXMgcHJldmlvdXNseSBhbiBlZGl0b3JpYWwtZ3JpZCBlbGVtZW50IG1vdmVkIGludG9cbi8vIHRoZSBgLm1lZGlhLWNhcmRgIGNvbXBvbmVudCBhbmQgdGhlIHNoYXJlZCBgLmJhZGdlYCArIGAuaGFuZGxlYFxuLy8gcHJpbWl0aXZlcy5cbi8vXG4vLyBNb2JpbGUg4omkNzY4OiBjb2xsYXBzZXMgdG8gc2luZ2xlLWNvbCwgMzIwcHggY2VsbHMsIHNwYW4gbW9kaWZpZXJzXG4vLyBvdmVycmlkZSBvbiB0aGUgbWVkaWEtY2FyZCBzaWRlLlxuLy9cbi8vIFdhbGtlZCBmcm9tIE1BUy1VR0MgKHBvc3QgMTM5NjApIFZhcmlhbnQgMDEgYXMgQVJUU0FCRVJTIFMyLlA5LjUuXG5cbi5lZGl0b3JpYWwtZ3JpZCB7XG5cblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuXHRncmlkLWF1dG8tcm93czogMjYwcHg7XG5cdGdhcDogMjBweDtcblxuXHRAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcblx0XHRncmlkLWF1dG8tcm93czogMzIwcHg7XG5cblx0XHQvLyBEcm9wIHNwYW4gbW9kaWZpZXJzIHNvIGV2ZXJ5IGNhcmQgaXMgYSBzaW5nbGUgcm93L2NvbCBjZWxsLlxuXHRcdC5tZWRpYS1jYXJkLS1oZXJvLFxuXHRcdC5tZWRpYS1jYXJkLS13aWRlIHtcblxuXHRcdFx0Z3JpZC1jb2x1bW46IGF1dG87XG5cdFx0XHRncmlkLXJvdzogYXV0bztcblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgRXllYnJvdyBwcmltaXRpdmUgKHRoZW1lLWF1dGhvcmVkLCBubyBmcmFtZXdvcmsgYmFzZSlcbi8vXG4vLyBTbWFsbC1jYXBzIGtpY2tlciBsYWJlbCDigJQgZW1iZXItdG9uZWQsIHVwcGVyY2FzZSwgd2lkZS1zcGFjZWQuIENvbXBvc2VzXG4vLyBmb3VyIGNoaWxkcmVuOlxuLy9cbi8vICAgX19pZHggIOKAlCBhbiBpbmRleCBsYWJlbCAoXCIwMSDCtyBGYW4gZmF2b3VyaXRlc1wiKSBpbiBjaHJvbWUtZGltXG4vLyAgICAgICAgICAgIHRhYnVsYXItbnVtIHR5cGUsIHNhdCB0byB0aGUgbGVmdCBvZiB0aGUgZXllYnJvdyB0ZXh0XG4vLyAgIF9faGFpciDigJQgYSBzaG9ydCBlbWJlciBoYWlybGluZSAoNDYgw5cgMXB4LCAwLjcgb3BhY2l0eSkgdGhhdCBzaXRzXG4vLyAgICAgICAgICAgIGJldHdlZW4gX19pZHggYW5kIHRoZSBleWVicm93IHRleHQgYXMgYSB2aXN1YWwgc2VwYXJhdG9yXG4vLyAgIF9fZW0gICDigJQgYSBzaG9ydCBoaWdobGlnaHRlZCBzcGFuIGluc2lkZSB0aGUgZXllYnJvdyB0ZXh0OyBwYWlyc1xuLy8gICAgICAgICAgICB3aXRoIGAtLWRpbWAgd2hlcmUgdGhlIGJvZHkgaXMgY2hyb21lLWRpbSBhbmQgdGhpcyBzcGFuXG4vLyAgICAgICAgICAgIGlzIHRoZSBlbWJlciBoaWdobGlnaHQgKGUuZy4gXCIqKkhhbmQtZm9yZ2VkKiogwrcgMTTigJMyNCBkYXlcbi8vICAgICAgICAgICAgdHJhbnNpdFwiKS4gU3RhbmRhbG9uZSAobm8gYC0tZGltYCkgaXQgc3RpbGwgaGlnaGxpZ2h0cy5cbi8vXG4vLyBUaGUgYC0tZGltYCBtb2RpZmllciBmbGlwcyB0aGUgYm9keSBmcm9tIGVtYmVyIHRvIGNocm9tZS1kaW0g4oCUIGZvclxuLy8gZGVzY3JpcHRpdmUgZXllYnJvd3Mgd2hlcmUgdGhlIGJvZHkgaXMgcHJvc2UsIG5vdCBhIGtpY2tlci5cbi8vXG4vLyBBbGwgY2hpbGRyZW4gb3B0aW9uYWwg4oCUIHBsYWluIGA8ZGl2IGNsYXNzPVwiZXllYnJvd1wiPuKApjwvZGl2PmAgcmVuZGVycyBhc1xuLy8ganVzdCBhbiBlbWJlciBsYWJlbC4gQ2xhc3MtbWl4IG9udG8gYSBibG9jaydzIG93biBgX19leWVicm93YCBzbG90IHRvXG4vLyBpbmhlcml0IHRoZSB0eXBlIHNwZWMgKGAuaGVyb19fZXllYnJvdy5leWVicm93YCkuXG4vL1xuLy8gV2Fsa2VkIGZyb20gTUFTNDMgKHBvc3QgMTI4NDApIGFzIEFSVFNBQkVSUyBTMiBQMSDCtyByZWZpbmVkIFA1IMK3IC0tZGltICsgX19lbSBhZGRlZCBQNy5cblxuLmV5ZWJyb3cge1xuXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRmb250LXNpemU6IHZhcigtLWZzLWV5ZWJyb3cpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsZXR0ZXItc3BhY2luZzogMC4yMmVtO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdCZfX2lkeCB7XG5cblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cdFx0Zm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcblxuXHR9XG5cblx0Jl9faGFpciB7XG5cblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IDQ2cHg7XG5cdFx0aGVpZ2h0OiAxcHg7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tZW1iZXIpO1xuXHRcdG9wYWNpdHk6IDAuNztcblxuXHR9XG5cblx0Jl9fZW0ge1xuXG5cdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblxuXHR9XG5cblx0Ji0tZGltIHtcblxuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblxuXHR9XG5cblx0Ly8gT24tZW1iZXItYmcgdmFyaWFudCDigJQgZm9yIGV5ZWJyb3dzIHNhdCBvbiB0aGUgZW1iZXItYmFuZCBzZWN0aW9uXG5cdC8vIChvciBhbnkgYnJpZ2h0L3dhcm0gZ3JvdW5kKSB3aGVyZSBlbWJlci1vbi1lbWJlciB3b3VsZCBjbGFzaC4gVXNlc1xuXHQvLyBvbi1wcmltYXJ5LWZpeGVkIChkYXJrLXdhcm0gdGV4dCBvbiBlbWJlciBmaWxscykgYXQgcmVkdWNlZCBvcGFjaXR5XG5cdC8vIHNvIGl0IHJlYWRzIGFzIGEgc29mdCBzbWFsbC1jYXBzIGtpY2tlci5cblx0Ji0tb24tcHJpbWFyeSB7XG5cblx0XHRjb2xvcjogdmFyKC0tb24tcHJpbWFyeS1maXhlZCk7XG5cdFx0b3BhY2l0eTogMC43MjtcblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgRmFjZSBjYXJkIChjb21wb25lbnQpXG4vL1xuLy8gQ2hhcmFjdGVyLWZlYXR1cmUgY2FyZCBmb3IgdGhlIFwiZmFjZXMgb2YgdGhpcyBlcmFcIiBiYW5kIG9uIGNhdGVnb3J5XG4vLyBwYWdlcyDigJQgbWVkaWEgcGFuZSB3aXRoIGJhZGdlIG92ZXJsYXkgKyBib2R5IHBhbmUgd2l0aCByb2xlICsgbmFtZSArXG4vLyBwcm9zZSArIGxpbmsuIFdob2xlIGNhcmQgaXMgYW4gYW5jaG9yLlxuLy9cbi8vIERpc3RpbmN0IGZyb20gYC5tZWRpYS1jYXJkYCAod2hpY2ggaXMgVUdDIGVkaXRvcmlhbCB3aXRoIHNjcmltICsgbGlua1xuLy8gY2hpcCk6IGZhY2UtY2FyZCBoYXMgYSBzb2xpZC1wYW5lbCBib2R5IGJlbG93IHRoZSBtZWRpYSB3aXRoIG1vcmVcbi8vIHN1YnN0YW50aWFsIGVkaXRvcmlhbCBjb250ZW50LlxuLy9cbi8vIENvbXBvc2VzIGluc2lkZSBgLmdyaWQuZ3JpZC0tM2AuIEhvdmVyIGxpZnRzICsgYnJpZ2h0ZW5zIHRoZSBtZWRpYVxuLy8gaW1hZ2UgdmlhIGB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpYCBvbiB0aGUgaW1nLlxuLy9cbi8vIEFuYXRvbXk6XG4vLyAgIF9fbWVkaWEgIOKAlCBzcXVhcmUtaXNoIG1lZGlhIHBhbmUgKDQ6NSBhc3BlY3QpXG4vLyAgIF9fYmFkZ2UgIOKAlCBlbWJlci1ib3JkZXJlZCBjaGlwIG92ZXJsYXkgKGJvdHRvbS1sZWZ0IG9mIG1lZGlhKVxuLy8gICBfX2JvZHkgICDigJQgdGV4dCBwYW5lIGJlbG93IG1lZGlhXG4vLyAgIF9fcm9sZSAgIOKAlCBlbWJlciB1cHBlcmNhc2Ugcm9sZS9yYW5rIGxpbmVcbi8vICAgX19uYW1lICAg4oCUIGNocm9tZS1oaWdobGlnaHQgZGlzcGxheSBoMyBuYW1lXG4vLyAgIF9fZGVzYyAgIOKAlCBjaHJvbWUtd2FybSBib2R5IHByb3NlXG4vLyAgIF9fbGluayAgIOKAlCBlbWJlciBDVEEgbGluZSBhdCBib3R0b21cbi8vICAgX19saW5rLWFycm93IOKAlCBlbWJlciBhcnJvdyBnbHlwaFxuXG5AdXNlICcuLi9zZXR0aW5ncy9ob3ZlcnMnIGFzICo7XG5cbi5mYWNlLWNhcmQge1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAyMCwgMC45NCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Ym94LXNoYWRvdzpcblx0XHRpbnNldCAwIDFweCAwIHJnYmEoMjUwLCAyNTAsIDI1MCwgMC4xMiksXG5cdFx0MCAxMHB4IDI4cHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjk1KTtcblx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAyNTBtcyBlYXNlLCB0cmFuc2Zvcm0gMjUwbXMgZWFzZTtcblxuXHQmOmhvdmVyIHtcblxuXHRcdEBpbmNsdWRlIGNhcmQtaG92ZXItbGlmdDtcblxuXHRcdC5mYWNlLWNhcmRfX21lZGlhIGltZyB7XG5cblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX21lZGlhIHtcblxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRhc3BlY3QtcmF0aW86IDQgLyA1O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0YmFja2dyb3VuZDogdmFyKC0taHVsbC1wYW5lbC1kYXJrKTtcblxuXHRcdGltZyB7XG5cblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSA0MDBtcyBlYXNlO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19iYWRnZSB7XG5cblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMTZweDtcblx0XHRib3R0b206IDE2cHg7XG5cdFx0ei1pbmRleDogMjtcblx0XHRwYWRkaW5nOiA2cHggMTJweDtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDYsIDYsIDYsIDAuNzUpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjU1KTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWVtYmVyLWdsb3cpO1xuXHRcdGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuXHRcdC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG5cblx0fVxuXG5cdCZfX2JvZHkge1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogMTJweDtcblx0XHRwYWRkaW5nOiAyOHB4IDI2cHggMzBweDtcblxuXHR9XG5cblx0Jl9fcm9sZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMjBlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0fVxuXG5cdCZfX25hbWUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1oaWdobGlnaHQpO1xuXG5cdH1cblxuXHQmX19kZXNjIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRsaW5lLWhlaWdodDogMS42O1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtd2FybSk7XG5cblx0fVxuXG5cdCZfX2xpbmsge1xuXG5cdFx0bWFyZ2luLXRvcDogNHB4O1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblxuXHR9XG5cblx0Jl9fbGluay1hcnJvdyB7XG5cblx0XHRtYXJnaW4tbGVmdDogNnB4O1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIEZBUSBpdGVtIChjb21wb25lbnQpXG4vL1xuLy8gU2luZ2xlIGFjY29yZGlvbiBpdGVtIHdpdGggaGVhZCByb3cgKGluZGV4ICsgcXVlc3Rpb24gKyB0b2dnbGUgZ2x5cGgpXG4vLyBhbmQgZXhwYW5kYWJsZSBhbnN3ZXIuIFN0YXRpYyB2YXJpYW50czogYC0tb3BlbmAgKGFuc3dlciB2aXNpYmxlLFxuLy8gYnJpZ2h0ZXIgcGFuZWwgYmcpIGFuZCBgLS1jbG9zZWRgIChhbnN3ZXIgZGlzcGxheTpub25lLCArKS5cbi8vXG4vLyBQaGFzZSAzIHdpbGwgSlMtYXR0YWNoIGV4cGFuZC9jb2xsYXBzZSBoYW5kbGVyczsgY2xhc3MgaG9va3Mgc3RheVxuLy8gc3RhYmxlIChgX19oZWFkYCwgYF9fdG9nZ2xlYCwgYC0tb3BlbmAgLyBgLS1jbG9zZWRgKS5cbi8vXG4vLyBBbmF0b215OlxuLy8gICBfX2hlYWQgICAgICAg4oCUIGdyaWQgcm93OiBpZHggLyBxdWVzdGlvbiAvIHRvZ2dsZVxuLy8gICBfX2lkeCAgICAgICAg4oCUIGVtYmVyIHRhYnVsYXItbnVtIGluZGV4IChcIlEuMDFcIilcbi8vICAgX19xdWVzdGlvbiAgIOKAlCBjaHJvbWUtaGlnaGxpZ2h0IGRpc3BsYXkgcXVlc3Rpb24gbGluZVxuLy8gICBfX3RvZ2dsZSAgICAg4oCUIGVtYmVyICsvLSBnbHlwaFxuLy8gICBfX2Fuc3dlciAgICAg4oCUIGNocm9tZS13YXJtIGJvZHkgYW5zd2VyIHBhcmFncmFwaCAodG9wIGhhaXJsaW5lOyBoaWRkZW4gb24gLS1jbG9zZWQpXG5cbkB1c2UgJy4uL3NldHRpbmdzL3NjcmV3LWRvdHMnIGFzICo7XG5cbi5mYXEtaXRlbSB7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAyNHB4IDMycHg7XG5cdGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAyMCwgMC45NCk7XG5cdGJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpO1xuXHQtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpO1xuXHRib3gtc2hhZG93OlxuXHRcdGluc2V0IDAgMXB4IDAgcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjE2KSxcblx0XHRpbnNldCAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIDAuNTUpLFxuXHRcdDAgMTBweCAyOHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgMC45NSksXG5cdFx0MCAycHggNnB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjcpO1xuXHRAaW5jbHVkZSBzY3Jldy1kb3RzO1xuXG5cdCZfX2hlYWQge1xuXG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87XG5cdFx0YWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXHRcdGdhcDogMTZweDtcblxuXHR9XG5cblx0Jl9faWR4IHtcblxuXHRcdG1pbi13aWR0aDogMzJweDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4yMGVtO1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0fVxuXG5cdCZfX3F1ZXN0aW9uIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTdweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1oaWdobGlnaHQpO1xuXG5cdH1cblxuXHQmX190b2dnbGUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0fVxuXG5cdCZfX2Fuc3dlciB7XG5cblx0XHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRcdHBhZGRpbmctdG9wOiAxMnB4O1xuXHRcdG1heC13aWR0aDogNzhjaDtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNjtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSg2MiwgNjIsIDYyLCAwLjM1KTtcblxuXHR9XG5cblx0Ji0tb3BlbiB7XG5cblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1odWxsLXBhbmVsLWxpZnQpO1xuXG5cdH1cblxuXHQmLS1jbG9zZWQgJl9fYW5zd2VyIHtcblxuXHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIEZlYXR1cmUgcGFuZWwgKGNvbXBvbmVudClcbi8vXG4vLyBTdGFja2VkIHBhbmVsOiBpbWFnZSBzdGFnZSBvbiB0b3AgKDM0MHB4KSwgYm9keSBjb250ZW50IGJlbG93IHdpdGhcbi8vIHRpdGxlLCBwcm9zZSwgYW5kIGEgc21hbGwgc3RhdCBzdHJpcCBwdXNoZWQgdG8gdGhlIGJvdHRvbSBvZiB0aGUgYm9keS5cbi8vIFRoZSB0d28gXCJyb29tc1wiIGluIE1BUzQzJ3MgTWlzc2lvbiBDb250cm9sIHBhbmVsLXNwbGl0IChSb29tIDAxXG4vLyBmYWN0b3J5LWRpcmVjdCArIFJvb20gMDIgcmVhbCBjdXN0b21lciBzZXJ2aWNlKS5cbi8vXG4vLyBDb21wb3NpdGlvbjpcbi8vICAgX19zdGFnZSAgICAgICAg4oCUIGltYWdlIGNvbnRhaW5lciAoMzQwcHgsIGh1bGwtcGFuZWwtZGFyayBiYXNlKVxuLy8gICBfX21lZGlhICAgICAgICDigJQgZnVsbC1ibGVlZCBiYWNrZ3JvdW5kIGltYWdlIChpbnNldDowLCBjb3ZlciwgejoxKVxuLy8gICBfX3N0YWdlLWVkZ2UgICDigJQgaG9yaXpvbnRhbCBlbWJlciBoYWlybGluZSBnbG93IGF0IHRoZSBCT1RUT00gb2Zcbi8vICAgICAgICAgICAgICAgICAgICB0aGUgc3RhZ2UgKGNvbnRyYXN0IC5mZWF0dXJlLXN0YWdlJ3MgX19lZGdlIHdoaWNoXG4vLyAgICAgICAgICAgICAgICAgICAgaXMgYSB2ZXJ0aWNhbCBoYWlybGluZSBvbiB0aGUgUklHSFQpLiBTZXBhcmF0ZXNcbi8vICAgICAgICAgICAgICAgICAgICB0aGUgc3RhZ2UgaGFsZiBmcm9tIHRoZSBib2R5IGhhbGYuXG4vLyAgIF9fYm9keSAgICAgICAgIOKAlCB0ZXh0IHBhbmUgKDQ2cHggNDJweCA0MHB4IHBhZGRpbmcsIDIycHggc3RhY2sgZ2FwLFxuLy8gICAgICAgICAgICAgICAgICAgIGZsZXg6IDEgc28gcGFuZWxzIGVxdWFsaXNlIGFjcm9zcyBhIGdyaWQpXG4vLyAgIF9fdGl0bGUgICAgICAgIOKAlCBkaXNwbGF5LXNjYWxlIGgzXG4vLyAgIF9fdGV4dCAgICAgICAgIOKAlCBib2R5IHBhcmFncmFwaCAobWF4LXdpZHRoIDQ4MHB4KVxuLy8gICBfX3N0cmlwICAgICAgICDigJQgMy1jZWxsIHN0YXQgZ3JpZCBhdCB0aGUgYm90dG9tIG9mIGJvZHksIHB1c2hlZFxuLy8gICAgICAgICAgICAgICAgICAgIGRvd24gdmlhIGBtYXJnaW4tdG9wOiBhdXRvYDsgdG9wIGJvcmRlciBoYWlybGluZVxuLy8gICBfX3N0cmlwLWNlbGwgICDigJQgdmVydGljYWwgbGFiZWwvdmFsdWUgcGFpclxuLy8gICBfX3N0cmlwLWxhYmVsICDigJQgOXB4IGNocm9tZS1kaW0gdXBwZXJjYXNlXG4vLyAgIF9fc3RyaXAtdmFsdWUgIOKAlCAxNHB4IGNocm9tZS13YXJtIHVwcGVyY2FzZVxuLy8gICBfX3N0cmlwLXZhbHVlLS1lbWJlciDigJQgZW1iZXIgaGlnaGxpZ2h0IHZhcmlhbnRcbi8vXG4vLyBDb21wb3NlcyBpbnNpZGUgYSBgLmdyaWQuZ3JpZC0tMmAg4oCUIHRoZSB0d28tcGFuZWwgc2lkZS1ieS1zaWRlXG4vLyBhcnJhbmdlbWVudC4gYC5leWVicm93YCBwcmltaXRpdmUgY2xhc3MtbWl4ZWQgaW50byB0aGUgYm9keSBmb3IgdGhlXG4vLyBzZWN0aW9uIGV5ZWJyb3cgKFJvb20gMDEgwrcgU291cmNlLCBldGMuKSDigJQgbm8gYF9fZXllYnJvd2Agc2xvdCBvblxuLy8gdGhpcyBjb21wb25lbnQuXG4vL1xuLy8gV2Fsa2VkIGZyb20gTUFTNDMgKHBvc3QgMTI4NDApIGFzIEFSVFNBQkVSUyBTMiBQOS5cblxuLmZlYXR1cmUtcGFuZWwge1xuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0bWluLWhlaWdodDogNjIwcHg7XG5cdGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAyMCwgMC45NCk7XG5cdGJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpO1xuXHQtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRib3gtc2hhZG93OlxuXHRcdGluc2V0IDAgMXB4IDAgcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjE2KSxcblx0XHRpbnNldCAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIDAuNTUpLFxuXHRcdDAgMTBweCAyOHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgMC45NSksXG5cdFx0MCAycHggNnB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjcpO1xuXG5cdCZfX3N0YWdlIHtcblxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRoZWlnaHQ6IDM0MHB4O1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWh1bGwtcGFuZWwtZGFyayk7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIDAuOCk7XG5cblx0fVxuXG5cdCZfX21lZGlhIHtcblxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRpbnNldDogMDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdHotaW5kZXg6IDE7XG5cblx0fVxuXG5cdC8vIEhvcml6b250YWwgZW1iZXIgZ2xvdyBhdCBib3R0b20gb2Ygc3RhZ2Ug4oCUIHNlcGFyYXRlcyBpbWFnZSBoYWxmXG5cdC8vIGZyb20gYm9keSBoYWxmLiBCbHVycmVkIHNvIGl0IHJlYWRzIGFzIGEgc29mdC1saXQgc2VhbSBub3QgYVxuXHQvLyBoYXJkIHJ1bGUuXG5cdCZfX3N0YWdlLWVkZ2Uge1xuXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGhlaWdodDogM3B4O1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZyxcblx0XHRcdHJnYmEoMjU1LCAxMjIsIDQ2LCAwKSAwJSxcblx0XHRcdHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjY1KSA1MCUsXG5cdFx0XHRyZ2JhKDI1NSwgMTIyLCA0NiwgMCkgMTAwJVxuXHRcdCk7XG5cdFx0ZmlsdGVyOiBibHVyKDJweCk7XG5cdFx0ei1pbmRleDogMjtcblxuXHR9XG5cblx0Jl9fYm9keSB7XG5cblx0XHRmbGV4OiAxO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRnYXA6IDIycHg7XG5cdFx0cGFkZGluZzogNDZweCA0MnB4IDQwcHg7XG5cblx0fVxuXG5cdCZfX3RpdGxlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZnMtaGVhZGluZyk7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC44cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMDU7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWhpZ2hsaWdodCk7XG5cblx0fVxuXG5cdCZfX3RleHQge1xuXG5cdFx0bWF4LXdpZHRoOiA0ODBweDtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNjU7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblxuXHR9XG5cblx0Ly8gU3RhdCBzdHJpcCDigJQgcGlubmVkIHRvIHRoZSBib3R0b20gb2YgdGhlIGJvZHkgdmlhIGBtYXJnaW4tdG9wOiBhdXRvYC5cblx0Ly8gVG9wIGhhaXJsaW5lIHNlcGFyYXRlcyBpdCBmcm9tIHRoZSBwcm9zZSBhYm92ZS5cblx0Jl9fc3RyaXAge1xuXG5cdFx0bWFyZ2luLXRvcDogYXV0bztcblx0XHRwYWRkaW5nLXRvcDogMjJweDtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcblx0XHRnYXA6IDE2cHg7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoNjIsIDYyLCA2MiwgMC4zNSk7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cblx0fVxuXG5cdCZfX3N0cmlwLWNlbGwge1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogNHB4O1xuXG5cdH1cblxuXHQmX19zdHJpcC1sYWJlbCB7XG5cblx0XHRmb250LXNpemU6IDlweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4yNGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXG5cdH1cblxuXHQmX19zdHJpcC12YWx1ZSB7XG5cblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xMGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblxuXHRcdCYtLWVtYmVyIHtcblxuXHRcdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblxuXHRcdH1cblxuXHR9XG5cblx0Ly8gTW9iaWxlIOKAlCBzaG9ydGVyIHN0YWdlLCB0aWdodGVyIGJvZHkgcGFkZGluZywgc2luZ2xlLWNvbCBzdHJpcC5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDcwMHB4KSB7XG5cblx0XHRtaW4taGVpZ2h0OiAwO1xuXG5cdFx0Jl9fc3RhZ2Uge1xuXG5cdFx0XHRoZWlnaHQ6IDIyMHB4O1xuXG5cdFx0fVxuXG5cdFx0Jl9fYm9keSB7XG5cblx0XHRcdHBhZGRpbmc6IDMycHggMjRweCAyOHB4O1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBGZWF0dXJlIHN0YWdlIChjb21wb25lbnQpXG4vL1xuLy8gVGFsbCBzaW5nbGUtdmlzdWFsIHRpbGUg4oCUIGEgY2F0ZWdvcnkgcG9ydHJhaXQgLyBjYW1wYWlnbiBoZXJvIC8gZmVhdHVyZVxuLy8gc3BvdGxpZ2h0LCBzYXQgaW5zaWRlIGEgd2lkZXIgY29tcG9zaXRpb24gYXMgdGhlIFwiYmlnIHZpc3VhbFwiIGJlc2lkZVxuLy8gc3VwcG9ydGluZyBjb250ZW50LiBQdXJwb3NlLW5ldXRyYWw6IGFueSBwbGFjZSBhIHBhZ2UgbmVlZHMgb25lIGxhcmdlXG4vLyBpbWFnZSB3aXRoIGFuIGVtYmVyLWhhaXJsaW5lZCBlZGdlIGFuZCBhIGNhcHRpb24gcGlubmVkIHRvIHRoZSBib3R0b20uXG4vL1xuLy8gTGF5ZXJzLCBiYWNrIHRvIGZyb250OlxuLy8gICBfX2ltYWdlICAg4oCUIGZ1bGwtYmxlZWQgYmFja2dyb3VuZCBpbWFnZSAoejoxKSBvbiB0b3Agb2YgYSBodWxsLXBhbmVsLVxuLy8gICAgICAgICAgICAgICAtZGFyayBmYWxsYmFjayBzbyB0aGUgZnJhbWUgcmVhZHMgZXZlbiB3aXRoIG5vIGltYWdlXG4vLyAgIF9fZWRnZSAgICDigJQgMnB4IGVtYmVyIHZlcnRpY2FsIGhhaXJsaW5lIGFuY2hvcmVkIHRvIHRoZSByaWdodCBlZGdlXG4vLyAgICAgICAgICAgICAgICh6OjMpIOKAlCB0aGUgXCJ5b3UncmUgaGVhZGluZyBzb21ld2hlcmVcIiBhZmZvcmRhbmNlLCBhbHdheXNcbi8vICAgICAgICAgICAgICAgdmlzaWJsZSAobm90IGhvdmVyLW9ubHkgbGlrZSBsaW5rLWJveCdzIGVkZ2UpXG4vLyAgIF9fY2FwdGlvbiDigJQgcGlsbCBhdCB0aGUgYm90dG9tIChsZWZ0L3JpZ2h0L2JvdHRvbSAyNHB4LCB6OjQpIHdpdGggYVxuLy8gICAgICAgICAgICAgICBibHVycmVkLWRhcmsgYmFja2Ryb3AsIGNocm9tZS13YXJtIHNtYWxsLWNhcHMgY2FwdGlvbiB0ZXh0LFxuLy8gICAgICAgICAgICAgICBhbmQgYW4gb3B0aW9uYWwgZW1iZXIgX19jYXB0aW9uLWlkeCBwcmVmaXhcbi8vXG4vLyBDb21wb3NlcyBmcmVlbHkgaW5zaWRlIGFueSB3aWRlciBsYXlvdXQg4oCUIHVzZWQgZmlyc3QgaW5zaWRlIHRoZVxuLy8gY2F0ZWdvcnktc2hvd2Nhc2UgdHdvLWNvbCBzcGxpdCAoYC5ncmlkLS1zcGxpdGAgYXQgMS4xNWZyIDAuODVmcikuXG4vL1xuLy8gV2Fsa2VkIGZyb20gTUFTNDMgKHBvc3QgMTI4NDApIGFzIEFSVFNBQkVSUyBTMiBQNy5cblxuLmZlYXR1cmUtc3RhZ2Uge1xuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWluLWhlaWdodDogNjIwcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWh1bGwtcGFuZWwtZGFyayk7XG5cdGJveC1zaGFkb3c6XG5cdFx0aW5zZXQgMCAxcHggMCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMTYpLFxuXHRcdGluc2V0IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgMC41NSksXG5cdFx0MCAxMHB4IDI4cHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjk1KSxcblx0XHQwIDJweCA2cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG5cblx0Jl9faW1hZ2Uge1xuXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGluc2V0OiAwO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0ei1pbmRleDogMTtcblxuXHR9XG5cblx0Ly8gT3B0aW9uYWwgb3ZlcmxheSBzbG90IOKAlCBzaXRzIGJldHdlZW4gdGhlIGltYWdlICh6OjEpIGFuZCB0aGVcblx0Ly8gZWRnZSAoejozKS4gRW1wdHkgYnkgZGVmYXVsdDsgY29uc3VtZXJzIGxheWVyIGEgZ3JhZGllbnQgaW5saW5lXG5cdC8vIChlLmcuIGJyYW5kLXN0b3J5J3MgZGFyay1sZWZ0IOKGkiBlbWJlci1yaWdodCB0cmFuc2l0aW9uIGludG8gYW5cblx0Ly8gYWRqYWNlbnQgdGV4dCBwYW5lbCkuIEtlcHQgb3B0aW9uYWwgYmVjYXVzZSBtb3N0IGZlYXR1cmUtc3RhZ2Vcblx0Ly8gdXNlcyBkb24ndCBuZWVkIGl0LlxuXHQmX19vdmVybGF5IHtcblxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRpbnNldDogMDtcblx0XHR6LWluZGV4OiAyO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdH1cblxuXHQvLyBFbWJlciBoYWlybGluZSBnbG93IGFuY2hvcmVkIHRvIHRoZSByaWdodCBlZGdlIOKAlCBhbHdheXMtb25cblx0Ly8gKGNvbnRyYXN0IHdpdGggLmxpbmstYm94X19lZGdlIHdoaWNoIGZhZGVzIGluIG9uIGhvdmVyKS5cblx0Jl9fZWRnZSB7XG5cblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHR3aWR0aDogMnB4O1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsXG5cdFx0XHRyZ2JhKDI1NSwgMTIyLCA0NiwgMCkgMCUsXG5cdFx0XHRyZ2JhKDI1NSwgMTIyLCA0NiwgMC43NSkgNTAlLFxuXHRcdFx0cmdiYSgyNTUsIDEyMiwgNDYsIDApIDEwMCVcblx0XHQpO1xuXHRcdGZpbHRlcjogYmx1cigwLjVweCk7XG5cdFx0ei1pbmRleDogMztcblxuXHR9XG5cblx0Ly8gQm90dG9tIGNhcHRpb24gcGlsbCDigJQgYmx1cnJlZC1kYXJrIGJhY2tkcm9wIHdpdGggY2hyb21lLXdhcm0gdGV4dC5cblx0Jl9fY2FwdGlvbiB7XG5cblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMjRweDtcblx0XHRyaWdodDogMjRweDtcblx0XHRib3R0b206IDI0cHg7XG5cdFx0ei1pbmRleDogNDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4yNGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDYsIDYsIDYsIDAuNjApO1xuXHRcdHBhZGRpbmc6IDEycHggMTZweDtcblx0XHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcblx0XHQtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuXG5cdH1cblxuXHQmX19jYXB0aW9uLWlkeCB7XG5cblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdH1cblxuXHQvLyBTdHJldGNoIHZhcmlhbnQg4oCUIHVzZWQgaW5zaWRlIGdyaWQgcm93cyBhbGlnbmVkIGBzdHJldGNoYCB3aGVyZVxuXHQvLyB0aGUgc3RhZ2Ugc2hvdWxkIGZpbGwgdGhlIGdyaWQgY2VsbCBoZWlnaHQgaW5zdGVhZCBvZiBob2xkaW5nIGl0c1xuXHQvLyBvd24gNjIwcHggbWluaW11bSAoYnJhbmQtc3RvcnkncyBmdWxsLWJsZWVkIHBvcnRyYWl0IGJlc2lkZSBhXG5cdC8vIHN0cmV0Y2gtaGVpZ2h0IHRleHQgcGFuZWwpLiBBbHNvIHJlbGF4ZXMgdGhlIG1vYmlsZSBtaW4taGVpZ2h0IHNvXG5cdC8vIHN0YWNraW5nIGJlaGF2ZXMgbmF0dXJhbGx5LlxuXHQmLS1zdHJldGNoIHtcblxuXHRcdG1pbi1oZWlnaHQ6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuXG5cdFx0XHRtaW4taGVpZ2h0OiAzODBweDtcblxuXHRcdH1cblxuXHR9XG5cblx0Ly8gTW9iaWxlIOKAlCBzaG9ydGVyIGZyYW1lIHNvIGl0IGRvZXNuJ3QgZG9taW5hdGUgdGhlIHN0YWNrLlxuXHRAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG5cblx0XHRtaW4taGVpZ2h0OiAzODBweDtcblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgRmlsdGVyIGNoaXAgKHByaW1pdGl2ZSlcbi8vXG4vLyBTbWFsbCByZW1vdmFibGUgcGlsbCByZXByZXNlbnRpbmcgYW4gYWN0aXZlIGZpbHRlciDigJQgc2l0cyBpbnNpZGVcbi8vIGAuZmlsdGVyLXNpZGViYXJfX2NoaXBzYC4gRWFjaCBjaGlwIGNhcnJpZXMgaXRzIGxhYmVsICsgYSDDlyBnbHlwaCB0b1xuLy8gcmVtb3ZlIHRoZSBmaWx0ZXIuXG4vL1xuLy8gQW5hdG9teTpcbi8vICAgX194ICDigJQgw5cgY2xvc2UgZ2x5cGggKGNocm9tZS1kaW0sIGJyaWdodGVucyBvbiBob3ZlcilcblxuLmZpbHRlci1jaGlwIHtcblxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdHBhZGRpbmc6IDVweCAxMHB4O1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTIyLCA0NiwgMC4xMCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjQ1KTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMTRlbTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Y29sb3I6IHZhcigtLWVtYmVyLWdsb3cpO1xuXG5cdCZfX3gge1xuXG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZTtcblxuXHRcdCY6aG92ZXIge1xuXG5cdFx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBGaWx0ZXIgZ3JvdXAgKGNvbXBvbmVudClcbi8vXG4vLyBPbmUgY29sbGFwc2libGUgZmlsdGVyIHNlY3Rpb24gaW4gdGhlIHNpZGViYXIuIEhlYWQgcm93IHdpdGggYSB0aXRsZSArXG4vLyBleHBhbmQvY29sbGFwc2UgdG9nZ2xlIGdseXBoOyBsaXN0IGJvZHkgY29udGFpbmluZyBlaXRoZXJcbi8vIGAuZmlsdGVyLW9wdGlvbmAgaXRlbXMgT1IgYSBgLmZpbHRlci1yYW5nZWAgc2xpZGVyIChmb3IgbnVtZXJpYyByYW5nZXNcbi8vIGxpa2UgcHJpY2UpLlxuLy9cbi8vIFZhcmlhbnRzOlxuLy8gICAtLWNvbGxhcHNlZCDigJQgaGlkZXMgdGhlIGxpc3QgYm9keTsgdG9nZ2xlIHJlYWRzIFwiK1wiXG4vLyAgIChkZWZhdWx0KSAgIOKAlCBsaXN0IGJvZHkgdmlzaWJsZTsgdG9nZ2xlIHJlYWRzIFwi4oiSXCJcbi8vXG4vLyBDbGFzcyBob29rcyBzdGFibGUgYWNyb3NzIFBoYXNlIDMgSlMtYXR0YWNoIGZvciBleHBhbmQvY29sbGFwc2UuXG4vL1xuLy8gQW5hdG9teTpcbi8vICAgX19oZWFkICAgIOKAlCBmbGV4IHJvdzogdGl0bGUgKyB0b2dnbGVcbi8vICAgX190aXRsZSAgIOKAlCBjaHJvbWUtaGlnaGxpZ2h0IGRpc3BsYXkgdXBwZXJjYXNlIGZpbHRlciBncm91cCBsYWJlbFxuLy8gICBfX3RvZ2dsZSAg4oCUIGVtYmVyICsvLSBnbHlwaFxuLy8gICBfX2xpc3QgICAg4oCUIG9wdGlvbnMgLyByYW5nZSBib2R5XG5cbi5maWx0ZXItZ3JvdXAge1xuXG5cdHBhZGRpbmc6IDE2cHggMDtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSg2MiwgNjIsIDYyLCAwLjM1KTtcblxuXHQmX19oZWFkIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTJweDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0fVxuXG5cdCZfX3RpdGxlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWhpZ2hsaWdodCk7XG5cblx0fVxuXG5cdCZfX3RvZ2dsZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblxuXHR9XG5cblx0Jl9fbGlzdCB7XG5cblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiA4cHg7XG5cblx0fVxuXG5cdCYtLWNvbGxhcHNlZCAmX19saXN0IHtcblxuXHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIEZpbHRlciBvcHRpb24gKHByaW1pdGl2ZSlcbi8vXG4vLyBPbmUgY2hlY2tib3ggcm93IGluIGEgYC5maWx0ZXItZ3JvdXBfX2xpc3RgLiBDdXN0b20gYm94IChubyBuYXRpdmVcbi8vIGlucHV0LCBKUyB0b2dnbGVzIHRoZSBgLS1jaGVja2VkYCBzdGF0ZSBpbiBQaGFzZSAzKSwgbGFiZWwsIGNvdW50LlxuLy9cbi8vIEFuYXRvbXk6XG4vLyAgIF9fYm94ICAgIOKAlCAxNMOXMTQgY3VzdG9tIGNoZWNrYm94IChkYXJrLCBnZXRzIGVtYmVyIGNoZWNrbWFyayB3aGVuIC0tY2hlY2tlZClcbi8vICAgX19sYWJlbCAg4oCUIGNocm9tZS13YXJtIGJvZHkgbGFiZWwgKGZsZXg6IDEgc28gY291bnQgcHVzaGVzIHRvIHRoZSByaWdodClcbi8vICAgX19jb3VudCAg4oCUIGNocm9tZS1kaW0gdGFidWxhci1udW0gcHJvZHVjdCBjb3VudFxuLy9cbi8vIE1vZGlmaWVyOlxuLy8gICAtLWNoZWNrZWQgIOKAlCBlbWJlci10aW50ZWQgYm94IHdpdGggYSBzbWFsbCBlbWJlciBjaGVja21hcmsgdmlhIDo6YWZ0ZXJcblxuLmZpbHRlci1vcHRpb24ge1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTBweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXG5cdCZfX2JveCB7XG5cblx0XHRmbGV4LXNocmluazogMDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDE0cHg7XG5cdFx0aGVpZ2h0OiAxNHB4O1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoNiwgNiwgNiwgMC42KTtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSg2MiwgNjIsIDYyLCAwLjY1KTtcblxuXHR9XG5cblx0Jl9fbGFiZWwge1xuXG5cdFx0ZmxleDogMTtcblxuXHR9XG5cblx0Jl9fY291bnQge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cblx0fVxuXG5cdCYtLWNoZWNrZWQgJl9fYm94IHtcblxuXHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjE2KTtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDEyMiwgNDYsIDAuNjUpO1xuXG5cdFx0Jjo6YWZ0ZXIge1xuXG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogM3B4O1xuXHRcdFx0dG9wOiAzcHg7XG5cdFx0XHR3aWR0aDogOHB4O1xuXHRcdFx0aGVpZ2h0OiA4cHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1lbWJlcik7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjcpO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmLS1jaGVja2VkIHtcblxuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtaGlnaGxpZ2h0KTtcblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgRmlsdGVyIHJhbmdlIChjb21wb25lbnQpXG4vL1xuLy8gRHVhbC1oYW5kbGUgcHJpY2UgLyBudW1lcmljIHJhbmdlIHNsaWRlci4gU3RhdGljLW9ubHkgaW4gUGhhc2UgMiDigJRcbi8vIFBoYXNlIDMgSlMtYXR0YWNoZXMgZHJhZyBoYW5kbGVycyBvbiB0aGUgX19oYW5kbGUgZWxlbWVudHMuIENsYXNzXG4vLyBob29rcyBzdGF5IHN0YWJsZS5cbi8vXG4vLyBBbmF0b215OlxuLy8gICBfX3RyYWNrICAgICAgICAgIOKAlCBmdWxsLXdpZHRoIGRhcmsgdHJhY2tcbi8vICAgX19maWxsICAgICAgICAgICDigJQgZW1iZXIgZ3JhZGllbnQgYmV0d2VlbiBoYW5kbGVzIChwb3NpdGlvbmVkIHZpYSBpbmxpbmUgbGVmdC9yaWdodCBvciBKUylcbi8vICAgX19oYW5kbGUgICAgICAgICDigJQgZHJhZ2dhYmxlIGNpcmN1bGFyIGtub2IgKHBvc2l0aW9uZWQgYWJzb2x1dGUgdmlhICUgb24gdGhlIHRyYWNrKVxuLy8gICBfX2hhbmRsZS0tbGVmdCAvIC0tcmlnaHQg4oCUIHRoZSB0d28ga25vYnNcbi8vICAgX192YWx1ZXMgICAgICAgICDigJQgZmxleCByb3c6IG1pbiArIG1heCB2YWx1ZSBsYWJlbHMgYmVuZWF0aCB0cmFja1xuXG4uZmlsdGVyLXJhbmdlIHtcblxuXHRwYWRkaW5nLXRvcDogOHB4O1xuXG5cdCZfX3RyYWNrIHtcblxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRoZWlnaHQ6IDRweDtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDYsIDYsIDYsIDAuNik7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoNjIsIDYyLCA2MiwgMC41NSk7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjRweDtcblxuXHR9XG5cblx0Jl9fZmlsbCB7XG5cblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMTIlO1xuXHRcdHJpZ2h0OiAyOCU7XG5cdFx0dG9wOiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWVtYmVyLWZvcmdlKSwgdmFyKC0tZW1iZXItZ2xvdykpO1xuXHRcdGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgyNTUsIDEyMiwgNDYsIDAuNDUpO1xuXG5cdH1cblxuXHQmX19oYW5kbGUge1xuXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogNTAlO1xuXHRcdHdpZHRoOiAxNHB4O1xuXHRcdGhlaWdodDogMTRweDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1lbWJlcik7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDEycHggcmdiYSgyNTUsIDEyMiwgNDYsIDAuNzUpO1xuXHRcdGN1cnNvcjogZ3JhYjtcblxuXHRcdCYtLWxlZnQge1xuXG5cdFx0XHRsZWZ0OiAxMiU7XG5cblx0XHR9XG5cblx0XHQmLS1yaWdodCB7XG5cblx0XHRcdGxlZnQ6IDcyJTtcblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fdmFsdWVzIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjEwZW07XG5cdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgRmlsdGVyIHNpZGViYXIgKGNvbXBvc2l0aW9uKVxuLy9cbi8vIEFzaWRlIGNvbnRhaW5lciBmb3IgdGhlIHNob3AtYXJjaGl2ZSBmaWx0ZXIgc3VyZmFjZS4gT3ducyB0aGUgdG9wXG4vLyBcIkFjdGl2ZSBmaWx0ZXJzXCIgY2x1c3RlciAoYF9fYWN0aXZlYCArIGBfX2FjdGl2ZS1oZWFkYCArIGBfX2NoaXBzYClcbi8vIGFuZCBwcm92aWRlcyB2ZXJ0aWNhbCByaHl0aG0gYmV0d2VlbiBjaGlsZCBgLmZpbHRlci1ncm91cGAgaXRlbXMuXG4vL1xuLy8gQ2xhc3MgaG9va3Mgc3RheSBzdGFibGUgKGBfX2FjdGl2ZWAsIGBfX2NoaXBzYCwgYF9fY2xlYXJgKSBzbyBXQyAvXG4vLyBTZWFyY2hXUCBKUyBhdHRhY2hlcyBpbiBQaGFzZSAzIHdpdGhvdXQgYSByZW5hbWUuIEZpbHRlciB2YWx1ZXMgaW5cbi8vIFBoYXNlIDMgYXJlIGh5ZHJhdGVkIGJ5IFdDJ3MgYXJjaGl2ZSBxdWVyeSBhcmdzICsgYSBmaWx0ZXIgcGx1Z2luXG4vLyAoRmFjZXRXUCAvIFNlYXJjaFdQIC8gbmF0aXZlIFdDIHdpZGdldHMpLlxuLy9cbi8vIEFuYXRvbXk6XG4vLyAgIF9fYWN0aXZlICAgICAgICAg4oCUIGFjdGl2ZS1maWx0ZXJzIGNsdXN0ZXIgYXQgdG9wIG9mIHNpZGViYXJcbi8vICAgX19hY3RpdmUtaGVhZCAgICDigJQgZmxleCByb3c6IHRpdGxlICsgY2xlYXItYWxsIGxpbmtcbi8vICAgX19hY3RpdmUtdGl0bGUgICDigJQgY2hyb21lLWRpbSB1cHBlcmNhc2UgXCJBY3RpdmUgZmlsdGVyc1wiIGxhYmVsXG4vLyAgIF9fY2xlYXIgICAgICAgICAg4oCUIGVtYmVyIHVwcGVyY2FzZSBcIkNsZWFyIGFsbFwiIGxpbmtcbi8vICAgX19jaGlwcyAgICAgICAgICDigJQgZmxleC13cmFwIHJvdyBvZiBgLmZpbHRlci1jaGlwYCBpdGVtc1xuXG4uZmlsdGVyLXNpZGViYXIge1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMzJweDtcblxuXHQmX19hY3RpdmUge1xuXG5cdFx0cGFkZGluZy1ib3R0b206IDI0cHg7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSg2MiwgNjIsIDYyLCAwLjM1KTtcblxuXHR9XG5cblx0Jl9fYWN0aXZlLWhlYWQge1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG5cdH1cblxuXHQmX19hY3RpdmUtdGl0bGUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMThlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblxuXHR9XG5cblx0Jl9fY2xlYXIge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjE2ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdCY6aG92ZXIge1xuXG5cdFx0XHRjb2xvcjogdmFyKC0tZW1iZXItZ2xvdyk7XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX2NoaXBzIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGdhcDogNnB4O1xuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBIYW5kbGUgKHByaW1pdGl2ZSlcbi8vXG4vLyBTb2NpYWwtaGFuZGxlIHBhdHRlcm4g4oCUIGEgY3JlYXRvcidzIEBoYW5kbGUgZm9sbG93ZWQgYnkgdGhlaXIgcGxhdGZvcm1cbi8vIHRhZyAoSW5zdGFncmFtIC8gVGlrVG9rIC8gRGlzY29yZCAvIGV0Yy4pLiBVc2VkIGluc2lkZSBtZWRpYS1jYXJkcyBvblxuLy8gVUdDIHN1cmZhY2VzIGFuZCBhbnl3aGVyZSBhIGNyZWF0b3IgYXR0cmlidXRpb24gbmVlZHMgdG8gcmVhZCBjbGVhbmx5LlxuLy9cbi8vIEV4dHJhY3RlZCAyMDI2LTA3LTMwIGR1cmluZyB0aGUgVUdDIGVkaXRvcmlhbC1ncmlkIGZyYW1ld29yay1jaGVja1xuLy8gY29uc29saWRhdGlvbi4gTm90IHRvIGJlIGNvbmZ1c2VkIHdpdGggYC50ZXN0aW1vbmlhbC1jYXJkYCdzXG4vLyBfX25hbWUvX19wcm9kdWN0IHBhdHRlcm4g4oCUIHRoYXQncyBhIHJlYWwtbmFtZSArIHByb2R1Y3QtYm91Z2h0XG4vLyBhdHRyaWJ1dGlvbiB3aXRoIGRpZmZlcmVudCBsZXR0ZXItc3BhY2luZyArIGNvbG91ciBpbnRlbnQuXG4vL1xuLy8gQW5hdG9teTpcbi8vICAgX19uYW1lICAgICAg4oCUIEBoYW5kbGUgKG1peGVkLWNhc2UsIGNocm9tZS1oaWdobGlnaHQsIDEzcHggNjAwKVxuLy8gICBfX3BsYXRmb3JtICDigJQgcGxhdGZvcm0gdGFnICh1cHBlcmNhc2UsIGVtYmVyLCAxMHB4LCB3aWRlLXRyYWNrZWQpXG4vL1xuLy8gVXNhZ2U6XG4vLyAgIDxkaXYgY2xhc3M9XCJoYW5kbGVcIj5cbi8vICAgICA8c3BhbiBjbGFzcz1cImhhbmRsZV9fbmFtZVwiPkBlbWJlcl9yaWdnczwvc3Bhbj5cbi8vICAgICA8c3BhbiBjbGFzcz1cImhhbmRsZV9fcGxhdGZvcm1cIj5JbnN0YWdyYW08L3NwYW4+XG4vLyAgIDwvZGl2PlxuXG4uaGFuZGxlIHtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEwcHg7XG5cblx0Jl9fbmFtZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtaGlnaGxpZ2h0KTtcblxuXHR9XG5cblx0Jl9fcGxhdGZvcm0ge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjE4ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBIZXJvIGNvbXBvbmVudCAodGhlbWUtYXV0aG9yZWQsIG5vIGZyYW1ld29yayBiYXNlKVxuLy9cbi8vIEZ1bGwtYmxlZWQgcGFnZS10b3Agc2hvd2Nhc2UuIExheWVyZWQgY29tcG9zaXRpb246IGJhY2tncm91bmQgaW1hZ2Vcbi8vIGNvdmVyaW5nIHRoZSBzZWN0aW9uLCBkYXJrIHNjcmltIGdyYWRpZW50IG92ZXJsYXlpbmcgaXQsIGNlbnRyZWQgY29udGVudFxuLy8gKGV5ZWJyb3cgLyB0aXRsZSAvIHN1YmxpbmUgLyBhY3Rpb25zIC8gdHJ1c3QgY2hpcHMpLCBhbmQgYW4gZW1iZXItZ2xvd1xuLy8gYmFja2xpZ2h0IGF0IHRoZSBib3R0b20gZWRnZS5cbi8vXG4vLyBQZXItcGFnZSBoZXJvIGltYWdlIGlzIGFwcGxpZWQgaW5saW5lIHZpYSAtLWhlcm8taW1hZ2Ugb24gdGhlIC5oZXJvXG4vLyBlbGVtZW50LCBzbyBldmVyeSBwYWdlLW9mLWhlcm8gc3dhcHMgaXRzIGltYWdlIHdpdGhvdXQgYSB0b2tlbiBjaGFuZ2UuXG4vLyBGYWxsLWJhY2sgdG8gbm8gaW1hZ2UgdmlhIHZhcigtLWhlcm8taW1hZ2UsIG5vbmUpLlxuLy9cbi8vIENsYXNzLW1peGVzIHRoZSAud3JhcHBlciBwcmltaXRpdmUgb24gLmhlcm9fX2lubmVyIGZvciBjb250ZW50LXdpZHRoIGNhcHBpbmcsXG4vLyBhbmQgdGhlIC5leWVicm93IHByaW1pdGl2ZSBvbiAuaGVyb19fZXllYnJvdyBmb3IgdGhlIGNsYXNzLW1peCBiYXNlLlxuLy9cbi8vIFdhbGtlZCBmcm9tIE1BUzQzIChwb3N0IDEyODQwKSBhcyBBUlRTQUJFUlMgUzIgUDEuXG5cbi5oZXJvIHtcblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNhcmJvbik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1pbi1oZWlnaHQ6IDg0MHB4O1xuXHRwYWRkaW5nOiAxMjBweCAwIDE4MHB4O1xuXG5cdCZfX2JnIHtcblxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRpbnNldDogMDtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1oZXJvLWltYWdlLCBub25lKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHR6LWluZGV4OiAwO1xuXG5cdH1cblxuXHQmX19zY3JpbSB7XG5cblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aW5zZXQ6IDA7XG5cdFx0YmFja2dyb3VuZDpcblx0XHRcdGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoNiwgNiwgNSwgMC41MCkgMCUsIHJnYmEoNiwgNiwgNSwgMC41NSkgNTUlLCByZ2JhKDYsIDYsIDUsIDAuNjUpIDEwMCUpLFxuXHRcdFx0bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDYsIDYsIDUsIDAuOCkgMCUsIHJnYmEoNiwgNiwgNSwgMC4yKSA2MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuXHRcdHotaW5kZXg6IDE7XG5cblx0fVxuXG5cdCZfX2lubmVyIHtcblxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAyO1xuXG5cdH1cblxuXHQmX19leWVicm93IHtcblxuXHRcdG1hcmdpbi1ib3R0b206IDI4cHg7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdC8vIEVtYmVyIGhhaXJsaW5lIG1hcmsgYmVmb3JlIHRoZSBleWVicm93IHRleHQg4oCUIGJyYW5kIHNpZ25hdHVyZS5cblx0XHQmOjpiZWZvcmUge1xuXG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0d2lkdGg6IDMycHg7XG5cdFx0XHRoZWlnaHQ6IDFweDtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWVtYmVyKTtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCA2cHggdmFyKC0tZW1iZXIpO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX190aXRsZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGZvbnQtc2l6ZTogY2xhbXAoNDhweCwgNS40dncsIDgwcHgpO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjhweDtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWhpZ2hsaWdodCk7XG5cdFx0dGV4dC1zaGFkb3c6IDAgNnB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjcpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjA1O1xuXHRcdG1hcmdpbjogMCAwIDM0cHg7XG5cdFx0bWF4LXdpZHRoOiAxMDIwcHg7XG5cblx0fVxuXG5cdCZfX3N1YmxpbmUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdG1heC13aWR0aDogNjIwcHg7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblx0XHRtYXJnaW46IDAgMCA0NHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU1O1xuXG5cdH1cblxuXHQmX19hY3Rpb25zIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDIwcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDhweDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0fVxuXG5cdC8vIEVtYmVyIGdsb3cgYXQgdGhlIHNlY3Rpb24ncyBib3R0b20gZWRnZSDigJQgcHVsbHMgYXR0ZW50aW9uIGludG8gdGhlXG5cdC8vIGNvbnRlbnQgYmVsb3cgd2l0aG91dCBhIGhhcmQgYm9yZGVyLlxuXHQmX19iYWNrbGlnaHQge1xuXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAtMXB4O1xuXHRcdGhlaWdodDogMTIwcHg7XG5cdFx0YmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgMzAlIDEwMCUsIHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjI1KSAwJSwgdHJhbnNwYXJlbnQgNjUlKTtcblx0XHR6LWluZGV4OiAyO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdH1cblxuXHQmX190cnVzdC1jaGlwcyB7XG5cblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRnYXA6IDI2cHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cblx0fVxuXG5cdCZfX3RydXN0LWNoaXAge1xuXG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDEwcHg7XG5cblx0XHQvLyBSb3RhdGVkIGVtYmVyIGRpYW1vbmQgbWFya2VyIGJlZm9yZSBlYWNoIGNoaXAncyB0ZXh0LlxuXHRcdCY6OmJlZm9yZSB7XG5cblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHR3aWR0aDogOHB4O1xuXHRcdFx0aGVpZ2h0OiA4cHg7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1lbWJlcik7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTIyLCA0NiwgMC4xNSk7XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIExlbmd0aCBjYXJkIChjb21wb25lbnQpXG4vL1xuLy8gQmxhZGUtbGVuZ3RoIG9wdGlvbiBjYXJkIOKAlCAzOjUgc3RhZ2Ugd2l0aCBhIHZlcnRpY2FsIGVtYmVyIGJsYWRlXG4vLyBzaWxob3VldHRlICsgcGhvdG9ncmFwaCBicmllZiwgZm9sbG93ZWQgYnkgbGFiZWwgKDI2XCIgZXRjLikgKyBncmFkZSArXG4vLyBwcmljZSBsaW5lLiBTYXQgaW5zaWRlIGAuZ3JpZC5ncmlkLS0zYCBpbiB0aGUgbGVuZ3RoLWd1aWRlIHNlY3Rpb24uXG4vL1xuLy8gVGhlIGJsYWRlIHNpbGhvdWV0dGUgaXMgYSBwb3NpdGlvbmVkIGxpbmVhci1ncmFkaWVudCBiYXIgd2l0aCB0aHJlZVxuLy8gaGVpZ2h0IHZhcmlhbnRzIChgX19ibGFkZS0tc2hvcnQvLS1tZWRpdW0vLS1sb25nYCkgc28gdGhlIHZpc3VhbFxuLy8gY29tcGFyaXNvbiByZWFkcyB3aXRob3V0IG5lZWRpbmcgc2VwYXJhdGUgcGhvdG9ncmFwaHkuXG4vL1xuLy8gQW5hdG9teTpcbi8vICAgX19zdGFnZSAgICDigJQgMzo1IGRhcmsgcGFuZWwgY29udGFpbmVyIChwaG90b2dyYXBoIGJyaWVmICsgYmxhZGUgc2lsaG91ZXR0ZSlcbi8vICAgX19jYXB0aW9uICDigJQgaXRhbGljIGJyaWVmIHByb3NlIChib3R0b20gb2Ygc3RhZ2UpXG4vLyAgIF9fYmxhZGUgICAg4oCUIGVtYmVyIGdyYWRpZW50IGJhciAocG9zaXRpb25lZCwgYmx1ciBnbG93KVxuLy8gICBfX2JsYWRlLS1zaG9ydCAvIC0tbWVkaXVtIC8gLS1sb25nIOKAlCA0MiUgLyA1NSUgLyA2NiUgaGVpZ2h0IHZhcmlhbnRzXG4vLyAgIF9fbGFiZWwgICAg4oCUIGxhcmdlIGRpc3BsYXkgc2l6ZSAoXCIyNlxcXCJcIiwgXCIzMlxcXCJcIiwgXCIzNlxcXCJcIilcbi8vICAgX19ncmFkZSAgICDigJQgZW1iZXIgdXBwZXJjYXNlIGdyYWRlIGxpbmUgKFwiQ29tcGFjdCAvIENvc3BsYXlcIilcbi8vICAgX19wcmljZSAgICDigJQgY2hyb21lLWRpbSBwcmljZSAvIHVwY2hhcmdlIGxpbmUgd2l0aCBfX3ByaWNlLWVtIGVtYmVyIGhpZ2hsaWdodFxuXG4ubGVuZ3RoLWNhcmQge1xuXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHQmX19zdGFnZSB7XG5cblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0YXNwZWN0LXJhdGlvOiAzIC8gNTtcblx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRcdHBhZGRpbmc6IDE2cHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1odWxsLXBhbmVsLWRhcmspO1xuXHRcdGJveC1zaGFkb3c6IHZhcigtLXBhbmVsLWxpZnQpO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblxuXHRcdFx0Y29udGVudDogXCJQSE9UT0dSQVBIIEJSSUVGXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDEycHg7XG5cdFx0XHRsZWZ0OiAxMnB4O1xuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0XHRmb250LXNpemU6IDlweDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjI0ZW07XG5cdFx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19jYXB0aW9uIHtcblxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblxuXHR9XG5cblx0Jl9fYmxhZGUge1xuXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDUwJTtcblx0XHRib3R0b206IDIwJTtcblx0XHR3aWR0aDogNHB4O1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMTc5LCA3MSwgMC45KSAwJSwgcmdiYSgyNTUsIDEyMiwgNDYsIDAuNzUpIDEwMCUpO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAyNHB4IHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjY1KTtcblxuXHRcdCYtLXNob3J0IHtcblxuXHRcdFx0aGVpZ2h0OiA0MiU7XG5cblx0XHR9XG5cblx0XHQmLS1tZWRpdW0ge1xuXG5cdFx0XHRoZWlnaHQ6IDU1JTtcblxuXHRcdH1cblxuXHRcdCYtLWxvbmcge1xuXG5cdFx0XHRoZWlnaHQ6IDY2JTtcblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fbGFiZWwge1xuXG5cdFx0bWFyZ2luLWJvdHRvbTogNHB4O1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1oaWdobGlnaHQpO1xuXG5cdH1cblxuXHQmX19ncmFkZSB7XG5cblx0XHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjE4ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdH1cblxuXHQmX19wcmljZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblxuXHR9XG5cblx0Jl9fcHJpY2UtZW0ge1xuXG5cdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgTGluayBib3ggKGNvbXBvbmVudClcbi8vXG4vLyBJbWFnZS10aWxlIGNhcmQgbGlua2luZyB0byBhIGNhdGVnb3J5L2ZhY3Rpb24uIDQyMHB4IHRhbGwgZGFyay1yZ2JhXG4vLyBwYW5lbDogYSBmdWxsLWJsZWVkIG1lZGlhIGxheWVyICh6OjEpLCBhIGRhcmsgZ3JhZGllbnQgb3ZlcmxheSAoejoyKSxcbi8vIGFuIGVtYmVyIGhhaXJsaW5lIGVkZ2Ugb24gdGhlIHJpZ2h0IHRoYXQgYXBwZWFycyBvbiBob3ZlciAoejozKSwgYW5kXG4vLyB0aGUgdGV4dCBsYWJlbCBjbHVzdGVyIHBpbm5lZCB0byB0aGUgYm90dG9tLWxlZnQgKHo6NCkgd2l0aCBhIHNtYWxsLVxuLy8gY2FwcyBtZXRhICsgZGlzcGxheSB0aXRsZSArIGFycm93IHJvdy5cbi8vXG4vLyBIb3ZlciBiZWhhdmlvdXIgKGNhbm9uaWNhbCB2aWEgY2FyZC1ob3Zlci1saWZ0IG1peGluKTpcbi8vICAgLSBDYXJkIGxpZnRzIHRyYW5zbGF0ZVkoLTRweCkgKyBlbWJlciBob3QtcmltICsgcGFuZWwtbGlmdC1ob3ZlclxuLy8gICAtIE92ZXJsYXkgZmFkZXMgdG93YXJkIDAuNzUgKGltYWdlIGJyaWdodGVucyB0aHJvdWdoKVxuLy8gICAtIFJpZ2h0LWVkZ2UgZW1iZXIgZ2xvdyBmYWRlcyBpbiBmcm9tIDAg4oaSIDFcbi8vXG4vLyBXYWxrZWQgZnJvbSBNQVM0MyAocG9zdCAxMjg0MCkgYXMgQVJUU0FCRVJTIFMyIFA2LiBIb3ZlciBjb25zb2xpZGF0ZWRcbi8vIG9udG8gdGhlIGNhbm9uaWNhbCBjYXJkLWhvdmVyLWxpZnQgbWl4aW4gMjAyNi0wNy0zMCAod2FzIHRyYW5zbGF0ZVkoLTNweClcbi8vIG91dGxpZXIgKyBoYW5kLXJvbGxlZCBzaGFkb3cgbGlzdCkuXG5cbkB1c2UgJy4uL3NldHRpbmdzL2hvdmVycycgYXMgKjtcblxuLmxpbmstYm94IHtcblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogNDIwcHg7XG5cdGJhY2tncm91bmQ6IHJnYmEoMTUsIDE1LCAxNSwgMC45MCk7XG5cdGJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpO1xuXHQtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpO1xuXHRib3gtc2hhZG93OlxuXHRcdGluc2V0IDAgMXB4IDAgcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjE2KSxcblx0XHRpbnNldCAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIDAuNTUpLFxuXHRcdDAgMTBweCAyOHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgMC45NSksXG5cdFx0MCAycHggNnB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjcpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjUwbXMgZWFzZSwgdHJhbnNmb3JtIDI1MG1zIGVhc2U7XG5cblx0Jjpob3ZlciB7XG5cblx0XHRAaW5jbHVkZSBjYXJkLWhvdmVyLWxpZnQ7XG5cblx0XHQubGluay1ib3hfX292ZXJsYXkge1xuXG5cdFx0XHRvcGFjaXR5OiAwLjc1O1xuXG5cdFx0fVxuXG5cdFx0LmxpbmstYm94X19lZGdlIHtcblxuXHRcdFx0b3BhY2l0eTogMTtcblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fbWVkaWEge1xuXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGluc2V0OiAwO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdHotaW5kZXg6IDE7XG5cblx0fVxuXG5cdC8vIERhcmsgYm90dG9tLWhlYXZ5IGdyYWRpZW50IHNjcmltIHNvIHRleHQgc3RheXMgbGVnaWJsZSBvdmVyIHZhcmllZFxuXHQvLyBpbWFnZXJ5LiBGYWRlcyBvbiBob3ZlciB0byBsZXQgdGhlIGltYWdlIHJlYWQgYnJpZ2h0ZXIuXG5cdCZfX292ZXJsYXkge1xuXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGluc2V0OiAwO1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsXG5cdFx0XHRyZ2JhKDYsIDYsIDYsIDAuMTUpIDAlLFxuXHRcdFx0cmdiYSg2LCA2LCA2LCAwLjE1KSA1NSUsXG5cdFx0XHRyZ2JhKDYsIDYsIDYsIDAuOTApIDEwMCVcblx0XHQpO1xuXHRcdHotaW5kZXg6IDI7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcyBlYXNlO1xuXG5cdH1cblxuXHQvLyBFbWJlciBoYWlybGluZSBnbG93IGFuY2hvcmVkIHRvIHRoZSByaWdodCBlZGdlIOKAlCBpbnZpc2libGUgYXQgcmVzdCxcblx0Ly8gZmFkZXMgaW4gb24gaG92ZXIgYXMgYSBcInlvdSdyZSBoZWFkaW5nIHNvbWV3aGVyZVwiIGFmZm9yZGFuY2UuXG5cdCZfX2VkZ2Uge1xuXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0d2lkdGg6IDJweDtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLFxuXHRcdFx0cmdiYSgyNTUsIDEyMiwgNDYsIDApIDAlLFxuXHRcdFx0cmdiYSgyNTUsIDEyMiwgNDYsIDAuNzUpIDUwJSxcblx0XHRcdHJnYmEoMjU1LCAxMjIsIDQ2LCAwKSAxMDAlXG5cdFx0KTtcblx0XHRib3gtc2hhZG93OiAwIDAgMTZweCByZ2JhKDI1NSwgMTIyLCA0NiwgMC41NSk7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2U7XG5cdFx0ei1pbmRleDogMztcblxuXHR9XG5cblx0Ly8gQm90dG9tLWxlZnQgdGV4dCBjbHVzdGVyLlxuXHQmX19sYWJlbCB7XG5cblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMjRweDtcblx0XHRib3R0b206IDI0cHg7XG5cdFx0cmlnaHQ6IDI0cHg7XG5cdFx0ei1pbmRleDogNDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiAxMHB4O1xuXG5cdH1cblxuXHQmX19tZXRhIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjI4ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cblx0fVxuXG5cdC8vIE51bWJlciBoaWdobGlnaHQgc3ViLXNwYW4gaW5zaWRlIG1ldGEg4oCUIGVtYmVyLCB0YWJ1bGFyIG51bWVyYWxzLlxuXHQmX19tZXRhLWVtIHtcblxuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cdFx0Zm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcblxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAzNHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1oaWdobGlnaHQpO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXG5cdH1cblxuXHQmX19hcnJvdyB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4yNGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogOHB4O1xuXHRcdG1hcmdpbi10b3A6IDZweDtcblxuXHR9XG5cblx0Ly8gRW1iZXIgYXJyb3cgZ2x5cGgg4oCUIGRpc3RpbmN0IGZyb20gdGhlIGNocm9tZS13YXJtIGFycm93IGxhYmVsIHRleHQuXG5cdCZfX2Fycm93LWdseXBoIHtcblxuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0fVxuXG5cdC8vIE1vYmlsZSDigJQgc2hyaW5rIGNhcmQgaGVpZ2h0IHRvIGtlZXAgdGhlIHJhdGlvIHJlYXNvbmFibGUgaW4gc2luZ2xlLWNvbC5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDcwMHB4KSB7XG5cblx0XHRoZWlnaHQ6IDM0MHB4O1xuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBMaW5rIHJvdyAoY29tcG9uZW50KVxuLy9cbi8vIFNtYWxsIGhvcml6b250YWwgbGluayB0aWxlIOKAlCA3MnB4IHRodW1iICsgYm9keSAoY291bnQgKyB0aXRsZSkgKyBlbWJlclxuLy8gYXJyb3csIHNhdCBpbnNpZGUgYSB2ZXJ0aWNhbCBzdGFjayBvZiBzaWJsaW5ncy4gVGhlIGNvbXBhY3Qgc2libGluZyBvZlxuLy8gYC5saW5rLWJveGAgKGJpZyBvdmVybGF5IHRpbGUpOyBib3RoIGxpbmsgdG8gYSBjYXRlZ29yeS90YXJnZXQsIGJvdGhcbi8vIGNhcnJ5IGEgbnVtZXJpYyBtZXRhICsgZGlzcGxheSB0aXRsZS5cbi8vXG4vLyBBbmF0b215OlxuLy8gICBfX3RodW1iICAgICAgICDigJQgNzLDlzcyIGltYWdlIHNxdWFyZSAoaHVsbC1wYW5lbC1kYXJrIGZhbGxiYWNrKVxuLy8gICBfX2JvZHkgICAgICAgICDigJQgZmxleCBjb2x1bW4gaG9sZGluZyBjb3VudCArIHRpdGxlXG4vLyAgIF9fY291bnQgICAgICAgIOKAlCBzbWFsbC1jYXBzIG1ldGEgKFwiOCDCtyBQaWVjZXNcIikgaW4gY2hyb21lLWRpbVxuLy8gICBfX2NvdW50LWVtICAgICDigJQgZW1iZXIgdGFidWxhci1udW0gc3ViLXNwYW4gZm9yIHRoZSBudW1iZXJcbi8vICAgX190aXRsZSAgICAgICAg4oCUIGRpc3BsYXktc2NhbGUgdXBwZXJjYXNlIHRpdGxlIGluIGNocm9tZS1oaWdobGlnaHRcbi8vICAgX19hcnJvdyAgICAgICAg4oCUIGVtYmVyIOKGkiBhcnJvdyBnbHlwaCBvbiB0aGUgZmFyIHJpZ2h0XG4vL1xuLy8gSG92ZXIgYmVoYXZpb3VyOlxuLy8gICAtIFJvdyBiYWNrZ3JvdW5kIGxpZnRzIG9uZSBzdGVwIChyZ2JhIDAuOTQg4oaSIDAuOTYpXG4vLyAgIC0gUm93IHNoaWZ0cyArM3B4IHJpZ2h0XG4vLyAgIC0gQXJyb3cgc2hpZnRzICs0cHggcmlnaHQgKGluZGVwZW5kZW50IHRyYW5zaXRpb24pXG4vL1xuLy8gV2Fsa2VkIGZyb20gTUFTNDMgKHBvc3QgMTI4NDApIGFzIEFSVFNBQkVSUyBTMiBQNy5cblxuLmxpbmstcm93IHtcblxuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDcycHggMWZyIGF1dG87XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMjBweDtcblx0cGFkZGluZzogMTJweCAyMHB4IDEycHggMTJweDtcblx0YmFja2dyb3VuZDogcmdiYSgyMCwgMjAsIDIwLCAwLjk0KTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRib3gtc2hhZG93OlxuXHRcdGluc2V0IDAgMXB4IDAgcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjEwKSxcblx0XHRpbnNldCAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIDAuNTUpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIyMG1zIGVhc2UsIHRyYW5zZm9ybSAyMjBtcyBlYXNlO1xuXG5cdCY6aG92ZXIge1xuXG5cdFx0YmFja2dyb3VuZDogcmdiYSgzMCwgMzAsIDMwLCAwLjk2KTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcblxuXHRcdC5saW5rLXJvd19fYXJyb3cge1xuXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fdGh1bWIge1xuXG5cdFx0d2lkdGg6IDcycHg7XG5cdFx0aGVpZ2h0OiA3MnB4O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWh1bGwtcGFuZWwtZGFyayk7XG5cblx0fVxuXG5cdCZfX2JvZHkge1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogNHB4O1xuXG5cdH1cblxuXHQmX19jb3VudCB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4yNGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXG5cdH1cblxuXHQmX19jb3VudC1lbSB7XG5cblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXHRcdGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG5cblx0fVxuXG5cdCZfX3RpdGxlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjZweDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtaGlnaGxpZ2h0KTtcblxuXHR9XG5cblx0Jl9fYXJyb3cge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDIyMG1zIGVhc2U7XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIE1lZGlhIGNhcmQgKGNvbXBvbmVudClcbi8vXG4vLyBJbWFnZS10aWxlIGNhcmQgd2l0aCBhIGZ1bGwtYmxlZWQgYmFja2dyb3VuZCBpbWFnZSwgYSBib3R0b20gZ3JhZGllbnRcbi8vIHNjcmltLCBhIGJvdHRvbS1hbmNob3JlZCBtZXRhIGJsb2NrLCBhbmQgYW4gb3B0aW9uYWwgb3ZlcmxheSBiYWRnZS4gQVxuLy8gZ2VuZXJpYyBtZWRpYSBzdXJmYWNlIOKAlCB1c2VkIGZpcnN0IGZvciBVR0MgZWRpdG9yaWFsIGNlbGxzIChAaGFuZGxlICtcbi8vIGNhcHRpb24gKyBwcm9kdWN0IGxpbmspIGFuZCByZXVzYWJsZSBhbnl3aGVyZSBhIFwicGhvdG8gdGlsZSB3aXRoXG4vLyBjb250ZW50IG92ZXJsYXlcIiBpcyB3YW50ZWQuXG4vL1xuLy8gTm90IGEgbGluayBpdHNlbGYg4oCUIHRoZSBpbnRlcm5hbCBgX19saW5rYCBjaGlwIGlzIHRoZSBjbGljayB0YXJnZXQuXG4vLyBNYXRjaGVzIG1vY2t1cCBpbnRlbnQgdGhhdCBlYWNoIHNob3QgZGVlcC1saW5rcyB0byBhIHNwZWNpZmljIHByb2R1Y3QsXG4vLyBhbmQga2VlcHMgdGhlIHN1cmZhY2Ugc3RhYmxlIHdoZW4gaG92ZXItbGlmdCBkb2Vzbid0IGZpdCAoZGVuc2UgZ3JpZHMpLlxuLy9cbi8vIEFuYXRvbXk6XG4vLyAgIF9fc2NyaW0gIOKAlCBib3R0b20taGVhdnkgZ3JhZGllbnQgb3ZlcmxheSBmb3IgdGV4dCBsZWdpYmlsaXR5ICh6OjEpXG4vLyAgIF9fYmFkZ2UgIOKAlCBwb3NpdGlvbmluZyBzbG90IGZvciBhbiBvdmVybGF5IGNoaXA7IGNsYXNzLW1peCB3aXRoXG4vLyAgICAgICAgICAgICAgYC5iYWRnZS5iYWRnZS0tZW1iZXJgIChvciBgLmJhZGdlLmJhZGdlLS1kYXJrYCkgZm9yIHN0eWxlXG4vLyAgIF9fbWV0YSAgIOKAlCBib3R0b20tYW5jaG9yZWQgY29udGVudCBibG9jayAoejozKVxuLy8gICAgIC5oYW5kbGUgIOKAlCBjbGFzcy1taXhlZCBoYW5kbGUgcHJpbWl0aXZlIChAbmFtZSArIHBsYXRmb3JtKVxuLy8gICBfX2NhcHRpb24g4oCUIG9wdGlvbmFsIDEtMiBsaW5lIHF1b3RlIGZyb20gdGhlIGNyZWF0b3Jcbi8vICAgX19saW5rICAgIOKAlCBpbmxpbmUgcHJvZHVjdC1saW5rIGNoaXAgKGJvcmRlcmVkIHBpbGwsIGVtYmVyIGFycm93KVxuLy9cbi8vIEdyaWQtcGFyZW50IG1vZGlmaWVycyAob25seSBtZWFuaW5nZnVsIGluc2lkZSBhIGdyaWQgcGFyZW50IGxpa2Vcbi8vIGAuZWRpdG9yaWFsLWdyaWRgKTpcbi8vICAgLS1oZXJvICDigJQgc3BhbnMgMiBjb2xzIMOXIDIgcm93cyAodGhlIGZlYXR1cmVkIGJpZyBjZWxsKVxuLy8gICAtLXdpZGUgIOKAlCBzcGFucyAyIGNvbHMgw5cgMSByb3cgKGEgbGFuZHNjYXBlIGNlbGwpXG4vLyAgIGRlZmF1bHQg4oCUIDEgw5cgMSBjZWxsXG4vL1xuLy8gV2Fsa2VkIGZyb20gTUFTLVVHQyAocG9zdCAxMzk2MCkgVmFyaWFudCAwMSBhcyBBUlRTQUJFUlMgUzIuUDkuNS5cbi8vIENvbnNvbGlkYXRpb24gZnJvbSB0aGUgaW5pdGlhbCBzdHJhaWdodC1saWZ0IG9uIDIwMjYtMDctMzAgcHVsbGVkIHRoZVxuLy8gYmFkZ2UgKyBoYW5kbGUgc3ViLXBhdHRlcm5zIG91dCBpbnRvIHNoYXJlZCBwcmltaXRpdmVzLlxuXG4ubWVkaWEtY2FyZCB7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12b2lkKTtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG5cdCYtLWhlcm8ge1xuXG5cdFx0Z3JpZC1jb2x1bW46IHNwYW4gMjtcblx0XHRncmlkLXJvdzogc3BhbiAyO1xuXG5cdH1cblxuXHQmLS13aWRlIHtcblxuXHRcdGdyaWQtY29sdW1uOiBzcGFuIDI7XG5cblx0fVxuXG5cdC8vIEJvdHRvbS1oZWF2eSBncmFkaWVudCBzY3JpbSBzbyB0aGUgbWV0YSBibG9jayByZWFkcyBvdmVyIGFueVxuXHQvLyBpbWFnZS4gVG9wIG9mIGNhcmQgc3RheXMgY2xlYW47IHNjcmltIHJhbXBzIGluIGZyb20gMzAlIGRvd24uXG5cdCZfX3NjcmltIHtcblxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRpbnNldDogMDtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsXG5cdFx0XHRyZ2JhKDYsIDYsIDUsIDApIDMwJSxcblx0XHRcdHJnYmEoNiwgNiwgNSwgMC41KSA2NSUsXG5cdFx0XHRyZ2JhKDYsIDYsIDUsIDAuOTApIDEwMCVcblx0XHQpO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdH1cblxuXHQvLyBQb3NpdGlvbmluZyBzbG90IGZvciB0aGUgc2hhcmVkIGAuYmFkZ2VgIHByaW1pdGl2ZSDigJQgdG9wLWxlZnRcblx0Ly8gb3ZlcmxheSBjaGlwLiBUaGUgYmFkZ2UncyBvd24gc3R5bGluZyBjb21lcyBmcm9tIHRoZSBjbGFzcy1taXhcblx0Ly8gKGAuYmFkZ2UuYmFkZ2UtLWVtYmVyYCBldGMuKTsgdGhpcyBzbG90IG9ubHkgcG9zaXRpb25zLlxuXHQmX19iYWRnZSB7XG5cblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAxNnB4O1xuXHRcdGxlZnQ6IDE2cHg7XG5cdFx0ei1pbmRleDogMztcblxuXHR9XG5cblx0Ly8gQm90dG9tLWFuY2hvcmVkIGNvbnRlbnQgYmxvY2suIFNpdHMgYWJvdmUgc2NyaW0gKyBpbWFnZSB2aWEgejozLlxuXHQmX19tZXRhIHtcblxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHR6LWluZGV4OiAzO1xuXHRcdHBhZGRpbmc6IDIwcHggMjRweCAyMnB4O1xuXG5cdFx0Ly8gTmVzdGVkIGAuaGFuZGxlYCBwcmltaXRpdmUgbmVlZHMgYSBiaXQgb2YgYm90dG9tIGJyZWF0aGluZ1xuXHRcdC8vIHJvb20gYmVmb3JlIHRoZSBjYXB0aW9uIC8gbGluayBiZWxvdy5cblx0XHQuaGFuZGxlIHtcblxuXHRcdFx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19jYXB0aW9uIHtcblxuXHRcdG1hcmdpbi1ib3R0b206IDEycHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblxuXHR9XG5cblx0Ly8gUHJvZHVjdC1saW5rIGNoaXAuIEVtYmVyIGFycm93IHByZWZpeCB2aWEgOjpiZWZvcmUuIEJvcmRlcmVkXG5cdC8vIG91dGxpbmUsIHVwcGVyY2FzZSBzbWFsbC1jYXBzOyBvbiBob3ZlciB0aGUgYm9yZGVyICsgdGV4dCBzaGlmdHNcblx0Ly8gdG93YXJkIGVtYmVyIHRvIHNpZ25hbCB0aGUgY2xpY2sgdGFyZ2V0LlxuXHQmX19saW5rIHtcblxuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiA4cHg7XG5cdFx0cGFkZGluZzogNHB4IDEwcHg7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgyMzEsIDIyNCwgMjIwLCAwLjIwKTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGNvbG9yIDIwMG1zIGVhc2U7XG5cblx0XHQmOjpiZWZvcmUge1xuXG5cdFx0XHRjb250ZW50OiAnXFwyMTkyJztcblx0XHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblxuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1lbWJlcik7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWhpZ2hsaWdodCk7XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIE1pZC1DVEEgc3RyaXAgKGNvbXBvbmVudClcbi8vXG4vLyBUaGluIHByb21vdGlvbmFsIHN0cmlwIHRoYXQgc2l0cyBiZXR3ZWVuIGNvbnRlbnQgc2VjdGlvbnMgb24gY2F0ZWdvcnlcbi8vIHBhZ2VzIOKAlCBzaG9ydCBzdW1tYXJ5IHRleHQgKyBhIGAuYnV0dG9uLmJ1dHRvbi0tcHJpbWFyeWAgQ1RBLiBSZWFkc1xuLy8gYXMgYSBcIjQyIGhpbHRzLCA1IFNhYmVyIENvcmUgdGllcnMsIG9uZSBQcmVxdWVsLWVyYSBjYXRhbG9ndWUg4oaSIFNIT1Bcbi8vIEFMTCBQUkVRVUVMIEhJTFRTXCIgY2FsbCB0byBhY3Rpb24uXG4vL1xuLy8gQ29tcG9zZXMgaW5zaWRlIGAuc2VjdGlvbi5zZWN0aW9uLS12b2lkYCBvciBzaW1pbGFyOyB0aGUgc3RyaXAgaXRzZWxmXG4vLyBpcyBhIGNlbnRyZWQgZmxleCByb3cuXG4vL1xuLy8gQW5hdG9teTpcbi8vICAgX19pbm5lciAg4oCUIGNlbnRyZWQgZmxleCByb3c6IHRleHQgKyBidXR0b25cbi8vICAgX190ZXh0ICAg4oCUIGNocm9tZS13YXJtIGJvZHkgc3VtbWFyeTsgYHN0cm9uZ2Agc3ViLXNwYW5zIGhpZ2hsaWdodCBpbiBjaHJvbWUtaGlnaGxpZ2h0XG5cbi5taWQtY3RhIHtcblxuXHQmX19pbm5lciB7XG5cblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRnYXA6IDMycHg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRwYWRkaW5nOiAzMnB4IDA7XG5cblx0fVxuXG5cdCZfX3RleHQge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtd2FybSk7XG5cblx0XHRzdHJvbmcge1xuXG5cdFx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWhpZ2hsaWdodCk7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBOZXdzbGV0dGVyIGZvcm0gKGNvbXBvbmVudClcbi8vXG4vLyBUaGUgZW1haWwtY2FwdHVyZSBmb3JtIHBhbmVsIHRoYXQgc2l0cyBvbiB0aGUgZW1iZXItYmFuZCBuZXdzbGV0dGVyXG4vLyBzZWN0aW9uLiBEYXJrIHJnYmEgcGFuZWwgd2l0aCBhIHNtYWxsLWNhcHMgZW1iZXItZ2xvdyBsYWJlbCwgYVxuLy8gdHJhbnNwYXJlbnQtdW5kZXJsaW5lIGVtYWlsIGlucHV0LCBhbiBlbWJlci1wcmltYXJ5IENUQSBidXR0b25cbi8vIChjbGFzcy1taXhlZCAuYnV0dG9uLmJ1dHRvbi0tcHJpbWFyeSksIGFuZCBmaW5lLXByaW50IHJlYXNzdXJhbmNlXG4vLyBiZWxvdy5cbi8vXG4vLyBUaGUgQ1RBIGl0c2VsZiBpcyBOT1QgYSBzbG90IG9uIHRoaXMgY29tcG9uZW50IOKAlCBpdCdzIGFuIGV4dGVybmFsXG4vLyBgLmJ1dHRvbi5idXR0b24tLXByaW1hcnlgIHVzZWQgYXMgdGhlIHN1Ym1pdCBidXR0b24uIEtlZXBzIHRoZVxuLy8gY29tcG9uZW50IGZvY3VzZWQgb24gdGhlIGZvcm0tZmllbGQgc3R5bGluZzsgdGhlIENUQSBwYXJ0aWNpcGF0ZXMgaW5cbi8vIHRoZSBicmFuZCBidXR0b24gc3lzdGVtLlxuLy9cbi8vIEFuYXRvbXk6XG4vLyAgIF9fbGFiZWwgIOKAlCAxMXB4IGVtYmVyLWdsb3cgc21hbGwtY2FwcyAoXCJDb21tcyDCtyBTaWduYWwgSW5cIilcbi8vICAgX19pbnB1dCAg4oCUIGVtYWlsIGlucHV0LCB0cmFuc3BhcmVudCBiZywgYm90dG9tLWhhaXJsaW5lIGJvcmRlcixcbi8vICAgICAgICAgICAgICBlbWJlciBmb2N1cyBnbG93XG4vLyAgIF9fZmluZSAgIOKAlCAxMnB4IGNocm9tZS1kaW0gZmluZSBwcmludFxuLy9cbi8vIFdhbGtlZCBmcm9tIE1BUzQzIChwb3N0IDEyODQwKSBhcyBBUlRTQUJFUlMgUzIgUDEyLlxuXG4ubmV3c2xldHRlci1mb3JtIHtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDIwcHg7XG5cdHBhZGRpbmc6IDQ0cHg7XG5cdGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAyMCwgMC45NCk7XG5cdGJveC1zaGFkb3c6XG5cdFx0aW5zZXQgMCAxcHggMCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMiksXG5cdFx0MCAzMHB4IDYwcHggLTIwcHggcmdiYSgwLCAwLCAwLCAwLjcpO1xuXG5cdCZfX2xhYmVsIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjI0ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXItZ2xvdyk7XG5cblx0fVxuXG5cdCZfX2lucHV0IHtcblxuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IDE0cHggMDtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXI6IDA7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTg0LCAxNzYsIDE2NiwgMC4zNSk7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG5cdFx0Zm9udC1zaXplOiAxN3B4O1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtd2FybSk7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjAwbXMgZWFzZSwgYm94LXNoYWRvdyAyMDBtcyBlYXNlO1xuXG5cdFx0Jjo6cGxhY2Vob2xkZXIge1xuXG5cdFx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cdFx0XHRvcGFjaXR5OiAwLjc7XG5cblx0XHR9XG5cblx0XHQmOmZvY3VzIHtcblxuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tZW1iZXIpO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAycHggMTJweCAtMnB4IHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjQpO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19maW5lIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblxuXHR9XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDcwMHB4KSB7XG5cblx0XHRwYWRkaW5nOiAzMnB4IDI0cHg7XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIE9mZmVyIGNhcmQgKGNvbXBvbmVudClcbi8vXG4vLyBBIDItY29sIGNhcmQ6IGltYWdlIG1lZGlhIHBhbmUgb24gdGhlIGxlZnQgKDM1JSksIGNvbnRlbnQgYm9keSBvbiB0aGUgcmlnaHRcbi8vICg2NSUpLiBCb2R5IGhvbGRzIGFuIGV5ZWJyb3cgKHdpdGggZW1iZXIgaWR4KSwgYSB0aXRsZSwgYm9keSB0ZXh0LCBhIGNoaXBcbi8vIHN0cmlwIChsYWJlbCArIHZhbHVlIHBhaXJzKSwgYW5kIGEgQ1RBIHRoYXQgbnVkZ2VzIG9uIGhvdmVyLiBEYXJrIHJnYmFcbi8vIHN1cmZhY2Ugd2l0aCBhbiBpbnNldCBjaHJvbWUtaGlnaGxpZ2h0ICsgaW5zZXQgc2hhZG93LCBhbmQgYSBsaWZ0LW9uLWhvdmVyXG4vLyB3aXRoIHRyYW5zbGF0ZWQgZGVwdGguXG4vL1xuLy8gQ29tcG9zZXMgaW5zaWRlIGAub2ZmZXItYmFuZF9fZ3JpZGAgYXMgdGhlIG9mZmVyLWJhbmQncyBjaGlsZHJlbi4gQW5jaG9yXG4vLyBlbGVtZW50IOKAlCB0aGUgd2hvbGUgY2FyZCBpcyBjbGlja2FibGUuXG4vL1xuLy8gV2Fsa2VkIGZyb20gTUFTNDMgKHBvc3QgMTI4NDApIGFzIEFSVFNBQkVSUyBTMiBQMy5cblxuLm9mZmVyLWNhcmQge1xuXG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzUlIDY1JTtcblx0bWluLWhlaWdodDogMjQwcHg7XG5cdGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAyMCwgMC45NCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ym94LXNoYWRvdzpcblx0XHRpbnNldCAwIDFweCAwIHJnYmEoMjUwLCAyNTAsIDI1MCwgMC4yMCksXG5cdFx0aW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjU1KSxcblx0XHQwIDI0cHggNDhweCAtMThweCByZ2JhKDAsIDAsIDAsIDAuNTUpLFxuXHRcdDAgNnB4IDE0cHggLTZweCByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgZWFzZSwgYm94LXNoYWRvdyAyNTBtcyBlYXNlO1xuXG5cdCY6aG92ZXIge1xuXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuXHRcdGJveC1zaGFkb3c6XG5cdFx0XHRpbnNldCAwIDFweCAwIHJnYmEoMjUwLCAyNTAsIDI1MCwgMC4yNCksXG5cdFx0XHRpbnNldCAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIDAuNTUpLFxuXHRcdFx0MCAzMnB4IDYwcHggLTE4cHggcmdiYSgwLCAwLCAwLCAwLjY1KSxcblx0XHRcdDAgOHB4IDIwcHggLTZweCByZ2JhKDAsIDAsIDAsIDAuNTUpO1xuXG5cdH1cblxuXHQmX19tZWRpYSB7XG5cblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taHVsbC1wYW5lbC1kYXJrKTtcblx0XHRtaW4taGVpZ2h0OiAyNDBweDtcblxuXHRcdC8vIFJpZ2h0LWVkZ2Ugc2NyaW0gdGhhdCBlYXNlcyB0aGUgaW1hZ2UgaW50byB0aGUgYm9keSDigJQgaGVscHMgdGhlXG5cdFx0Ly8gdGl0bGUgcmVhZCBhZ2FpbnN0IHRoZSBtZWRpYSBlZGdlLlxuXHRcdCY6OmFmdGVyIHtcblxuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGluc2V0OiAwO1xuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDIwLCAyMCwgMjAsIDApIDYwJSwgcmdiYSgyMCwgMjAsIDIwLCAwLjU1KSAxMDAlKTtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19ib2R5IHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRwYWRkaW5nOiAyOHB4IDMycHg7XG5cdFx0Z2FwOiAxMHB4O1xuXG5cdH1cblxuXHQmX19leWVicm93IHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjI4ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cblx0fVxuXG5cdCZfX2V5ZWJyb3ctaWR4IHtcblxuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMTU7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1oaWdobGlnaHQpO1xuXHRcdG1hcmdpbjogMDtcblxuXHR9XG5cblx0Jl9fdGV4dCB7XG5cblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTU7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblx0XHRtYXJnaW46IDA7XG5cblx0fVxuXG5cdC8vIENoaXAgc3RyaXAgYXQgdGhlIGJhc2Ugb2YgdGhlIGNhcmQgYm9keSDigJQgcHVzaGVkIHRvIGJvdHRvbSB2aWFcblx0Ly8gbWFyZ2luLXRvcDogYXV0bywgc2VwYXJhdGVkIGZyb20gYm9keSBjb250ZW50IGJ5IGEgaGFpcmxpbmUgcnVsZS5cblx0Jl9fc3RyaXAge1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRnYXA6IDE4cHg7XG5cdFx0bWFyZ2luLXRvcDogYXV0bztcblx0XHRwYWRkaW5nLXRvcDogMTRweDtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSg2MiwgNjIsIDYyLCAwLjUpO1xuXG5cdH1cblxuXHQmX19jaGlwIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRnYXA6IDNweDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblxuXHR9XG5cblx0Jl9fY2hpcC1sYWJlbCB7XG5cblx0XHRmb250LXNpemU6IDlweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4yNGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXG5cdH1cblxuXHQmX19jaGlwLXZhbHVlIHtcblxuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdH1cblxuXHQmX19jdGEge1xuXG5cdFx0bWFyZ2luLXRvcDogMTJweDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4yNGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1oaWdobGlnaHQpO1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiA4cHg7XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgMjIwbXMgZWFzZSwgdHJhbnNmb3JtIDIyMG1zIGVhc2U7XG5cblx0fVxuXG5cdC8vIEhvdmVyIG9uIHRoZSBjYXJkIGxpZnRzIHRoZSBDVEEgYXJyb3cgaW50byBlbWJlciArIG51ZGdlcyByaWdodC5cblx0Jjpob3ZlciAmX19jdGEge1xuXG5cdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcblxuXHR9XG5cblx0Ly8gTW9iaWxlIOKAlCBzdGFjayBtZWRpYSBhYm92ZSBib2R5LCBzaHJpbmsgbWVkaWEgaGVpZ2h0LlxuXHRAbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcblxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdG1pbi1oZWlnaHQ6IGF1dG87XG5cblx0XHQmX19tZWRpYSB7XG5cblx0XHRcdG1pbi1oZWlnaHQ6IDE4MHB4O1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBQYWdlIHRpdGxlIChwcmltaXRpdmUpXG4vL1xuLy8gSGVyby1zY2FsZSBoMSBmb3IgcGFnZS10b3AgaGVybyBoZWFkbGluZXMg4oCUIHByb2R1Y3QtaGVybyB0aXRsZXMsIHNob3Bcbi8vIGFyY2hpdmUgaGVhZGVycywgY2F0ZWdvcnkgbGFuZGluZyB0b3BzLiA1NnB4IGRpc3BsYXksIHVwcGVyY2FzZSwgdGlnaHRcbi8vIGxpbmUtaGVpZ2h0IGZvciB0d28tbGluZSBjZXJlbW9uaWFsLXJlY29yZCByZWFkLiBTdGFuZGFsb25lIHByaW1pdGl2ZTtcbi8vIG5vIHNjb3BlZCB3cmFwcGVyLlxuLy9cbi8vIFJlbmFtZWQgZnJvbSAucHJvZHVjdC10aXRsZSAyMDI2LTA3LTMwIGR1cmluZyB0aGUgTUFTNTEgc2hvcC1hcmNoaXZlXG4vLyB3YWxrIOKAlCBzYW1lIHNoYXBlIG5lZWRlZCBvbiBib3RoIHByb2R1Y3QgcGFnZSArIGFyY2hpdmUgaGVhZGVyLCBzb1xuLy8gdGhlIHByaW1pdGl2ZSBtb3ZlZCB0byBhIHB1cnBvc2UtbmV1dHJhbCBuYW1lLlxuLy9cbi8vIFJlc3BvbnNpdmU6IDQ0cHggYXQg4omkMTAyNCwgMzRweCBhdCDiiaQ3MDAuXG5cbi5wYWdlLXRpdGxlIHtcblxuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0Zm9udC1zaXplOiA1NnB4O1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRsaW5lLWhlaWdodDogMC45Njtcblx0bGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRjb2xvcjogdmFyKC0tY2hyb21lLWhpZ2hsaWdodCk7XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuXG5cdFx0Zm9udC1zaXplOiA0NHB4O1xuXG5cdH1cblxuXHRAbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcblxuXHRcdGZvbnQtc2l6ZTogMzRweDtcblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgUGFnaW5hdGlvbiAoY29tcG9uZW50KVxuLy9cbi8vIEFyY2hpdmUgcGFnZSBuYXZpZ2F0aW9uIOKAlCBQcmV2ICsgbnVtZXJpYyBwYWdlIGxpbmtzICsgZWxsaXBzaXMgKyBOZXh0LlxuLy8gU3RhdGljIG1hcmt1cCBpbiBQaGFzZSAyOyBQaGFzZSAzIHN3YXBzIGZvciBXQydzIGBwYWdpbmF0ZV9saW5rcygpYFxuLy8gb3V0cHV0IChjbGFzcyBob29rcyBwcmVzZXJ2ZWQgZm9yIHRoZSBzd2FwKS5cbi8vXG4vLyBBbmF0b215OlxuLy8gICBfX2xpbmsgICAgICAgICAg4oCUIHBhZ2UtbnVtYmVyIGxpbmsgKGRlZmF1bHQgc3RhdGUpXG4vLyAgIF9fbGluay0tYWN0aXZlICDigJQgY3VycmVudCBwYWdlIChlbWJlciBob3QtcmltICsgYnJpZ2h0ZXIgdGV4dClcbi8vICAgX19saW5rLS1uYXYgICAgIOKAlCBQcmV2IC8gTmV4dCBhcnJvd3MgKGJvcmRlcmVkIG91dGxpbmUgc3R5bGUpXG4vLyAgIF9fbGluay0tbmF2LmRpc2FibGVkIOKAlCBtdXRlZCB3aGVuIGF0IGZpcnN0L2xhc3QgcGFnZVxuLy8gICBfX2VsbGlwc2lzICAgICAg4oCUIGNocm9tZS1kaW0gXCLigKZcIiBnYXAgaW5kaWNhdG9yXG5cbi5wYWdpbmF0aW9uIHtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbi10b3A6IDQwcHg7XG5cdHBhZGRpbmctdG9wOiAzMnB4O1xuXHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoNjIsIDYyLCA2MiwgMC4zNSk7XG5cblx0Jl9fbGluayB7XG5cblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdG1pbi13aWR0aDogNDBweDtcblx0XHRwYWRkaW5nOiAxMHB4IDE0cHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTBlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtd2FybSk7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoNjIsIDYyLCA2MiwgMC41NSk7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZSwgY29sb3IgMjAwbXMgZWFzZTtcblxuXHRcdCY6aG92ZXIge1xuXG5cdFx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjY1KTtcblxuXHRcdH1cblxuXHRcdCYtLWFjdGl2ZSB7XG5cblx0XHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtaGlnaGxpZ2h0KTtcblx0XHRcdGJveC1zaGFkb3c6IHZhcigtLWVtYmVyLWhvdC1yaW0pO1xuXG5cdFx0fVxuXG5cdFx0Ji0tbmF2IHtcblxuXHRcdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjE2ZW07XG5cblx0XHRcdCYuZGlzYWJsZWQge1xuXG5cdFx0XHRcdG9wYWNpdHk6IDAuMzU7XG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX2VsbGlwc2lzIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblx0XHRwYWRkaW5nOiAwIDRweDtcblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgUGFuZWwgc2VhbSAoY29tcG9uZW50KVxuLy9cbi8vIFNpZ25hdHVyZSBoYWlybGluZSBzZXBhcmF0b3IgYmV0d2VlbiBzZWN0aW9ucy4gQSAycHggaG9yaXpvbnRhbCBiYW5kIHdpdGhcbi8vIGEgYnJpZ2h0IGVtYmVyIGdyYWRpZW50IChmYWRlcyBvdXQgYXQgdGhlIGVkZ2VzKSBwbHVzIHNvZnQgZW1iZXItZ2xvd1xuLy8gc2hhZG93cyB0aGF0IGV4dGVuZCA0MHB4IGFib3ZlIGFuZCBiZWxvdy4gU2l0cyBpbmxpbmUgaW4gdGhlIHBhZ2UgZmxvd1xuLy8gYmV0d2VlbiBzaWJsaW5nIDxzZWN0aW9uPiBlbGVtZW50czsgei1pbmRleCBsaWZ0cyBpdCBhYm92ZSBzZWN0aW9uIGJnXG4vLyB0cmVhdG1lbnRzIHNvIHRoZSBnbG93IHJlYWRzIG92ZXIgYWRqYWNlbnQgc2VjdGlvbnMuXG4vL1xuLy8gVXNhZ2U6IDxkaXYgY2xhc3M9XCJwYW5lbC1zZWFtXCI+PC9kaXY+XG4vLyBSZW5kZXJzIGFzIGEgZGVjb3JhdGl2ZSBzZXBhcmF0b3Igd2l0aCBubyBjb250ZW50LlxuXG4ucGFuZWwtc2VhbSB7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDJweDtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZyxcblx0XHRyZ2JhKDI1NSwgMTIyLCA0NiwgMC4yNSkgMCUsXG5cdFx0cmdiYSgyNTUsIDEyMiwgNDYsIDAuODUpIDUwJSxcblx0XHRyZ2JhKDI1NSwgMTIyLCA0NiwgMC4yNSkgMTAwJVxuXHQpO1xuXHRib3gtc2hhZG93OlxuXHRcdDAgLTE0cHggNDBweCAwIHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjMwKSxcblx0XHQwIDE0cHggNDBweCAwIHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjUwKTtcblx0ei1pbmRleDogNDtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgUHJpY2Ugc3RhY2sgKHByaW1pdGl2ZSlcbi8vXG4vLyBFbWJlciBkaXNwbGF5LXNjYWxlIHByaWNlICsgQk5QTCBzdWItbGluZS4gVGhlIHByaW1hcnkgcHJvZHVjdCBwcmljZVxuLy8gYWZmb3JkYW5jZSBpbiBwcm9kdWN0LWhlcm8gYnV5LWFjdGlvbnMgYW5kIGNyb3NzLXNlbGwgc3RyaXBzLlxuLy9cbi8vIEFuYXRvbXk6XG4vLyAgIF9fYW1vdW50ICDigJQgNDBweCBlbWJlciB0YWJ1bGFyLW51bSBkaXNwbGF5IHR5cGVcbi8vICAgX19ibnBsICAgIOKAlCAxM3B4IGNocm9tZS1kaW0gYm9keSBzdWItbGluZSB3aXRoIGEgY2hyb21lLXdhcm0gX19ibnBsIHN0cm9uZ1xuXG4ucHJpY2Utc3RhY2sge1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogNnB4O1xuXG5cdCZfX2Ftb3VudCB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuXHRcdGZvbnQtc2l6ZTogNDBweDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG5cdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblxuXHR9XG5cblx0Jl9fYm5wbCB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXG5cdFx0c3Ryb25nIHtcblxuXHRcdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIFByb2R1Y3QgY2FyZCAoY29tcG9uZW50KVxuLy9cbi8vIEFydGljbGUtZWxlbWVudCBjYXJkOiBzcXVhcmUgbWVkaWEgcGFuZSBvbiB0b3AgKHdpdGggc2NyaW0gKyBlbWJlclxuLy8gaGFpcmxpbmUgdW5kZXJsaW5lICsgc3RhdHVzIGJhZGdlKSwgYm9keSBwYW5lIGJlbG93IHdpdGggbWV0YSwgbmFtZSxcbi8vIHNwZWMgc3RyaXAgKGxhYmVsL3ZhbHVlIHBhaXJzLCBoYWlybGluZS1kb3R0ZWQgc2VwYXJhdG9yKSwgYW5kIGFcbi8vIHByaWNlICsgQ1RBIGZvb3Qgcm93LiBEYXJrIHJnYmEgc3VyZmFjZSB3aXRoIG11bHRpLXNoYWRvdyBkZXB0aCxcbi8vIGxpZnRzICsgZ2FpbnMgZW1iZXItZ2xvdyBvbiBob3ZlciB2aWEgdGhlIGNhbm9uaWNhbCBjYXJkLWhvdmVyLWxpZnRcbi8vIG1peGluLlxuLy9cbi8vIE1vZGlmaWVyczpcbi8vICAgLS1ob3QgICDigJQgaGlnaGxpZ2h0cyBhIGZlYXR1cmVkIHByb2R1Y3Qgd2l0aCAtLWVtYmVyLWhvdC1yaW0gbG9ja2VkXG4vLyAgICAgICAgICAgICBvbiAocmVzdGluZyBzdGF0ZSkgYW5kIGFuIGludGVuc2lmaWVkIGhvdmVyIGhhbG8gdmlhIHRoZVxuLy8gICAgICAgICAgICAgbWl4aW4ncyAnc3Ryb25nJyBpbnRlbnNpdHlcbi8vXG4vLyBCYWRnZSBzbG90OiBgX19iYWRnZWAgaXMgYSBwb3NpdGlvbmluZy1vbmx5IHNsb3QgYXQgdGhlIHRvcC1yaWdodCBvZlxuLy8gICB0aGUgbWVkaWEuIENsYXNzLW1peCBgLmJhZGdlLmJhZGdlLS1kYXJrYCBmb3IgdGhlIHNoYXJlZCBiYWRnZVxuLy8gICBzdHlsaW5nIChpbi1zdG9jayAvIGRpc3BhdGNoIHN0YXR1cykuIExheWVyIGAuYmFkZ2UtLWxvd2AgZm9yIHRoZVxuLy8gICBsb3ctc3RvY2sgY29sb3VyIHZhcmlhbnQuIFRoZSBiYWRnZSBwcmltaXRpdmUgbGl2ZXMgaW4gX2JhZGdlLnNjc3M7XG4vLyAgIHRoZSBlbWJlciBkb3QgaW5kaWNhdG9yIGlzIGEgYC5iYWRnZV9fZG90YCBzcGFuIGluc2lkZSB0aGUgYmFkZ2UuXG4vL1xuLy8gV2Fsa2VkIGZyb20gTUFTNDMgKHBvc3QgMTI4NDApIGFzIEFSVFNBQkVSUyBTMiBQNS4gSG92ZXIgY29uc29saWRhdGVkXG4vLyBvbnRvIGNhcmQtaG92ZXItbGlmdCBtaXhpbiAyMDI2LTA3LTMwLiBTYW1lIGRheTogX19iYWRnZSBzbG90XG4vLyByZWZhY3RvcmVkIHRvIHBvc2l0aW9uaW5nLW9ubHkgYWdhaW5zdCB0aGUgc2hhcmVkIC5iYWRnZSBwcmltaXRpdmVcbi8vICh3YXMgYSBzZWxmLWNvbnRhaW5lZCBiYWRnZSB3aXRoIGR1cGxpY2F0ZWQgc3R5bGluZykuXG5cbkB1c2UgJy4uL3NldHRpbmdzL2hvdmVycycgYXMgKjtcblxuLnByb2R1Y3QtY2FyZCB7XG5cblx0YmFja2dyb3VuZDogcmdiYSgyMCwgMjAsIDIwLCAwLjk0KTtcblx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDNweCk7XG5cdC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDNweCk7XG5cdGJveC1zaGFkb3c6XG5cdFx0aW5zZXQgMCAxcHggMCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMTYpLFxuXHRcdGluc2V0IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgMC41NSksXG5cdFx0MCAxMHB4IDI4cHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjk1KSxcblx0XHQwIDJweCA2cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAyNTBtcyBlYXNlLCB0cmFuc2Zvcm0gMjUwbXMgZWFzZTtcblxuXHQmOmhvdmVyIHtcblxuXHRcdEBpbmNsdWRlIGNhcmQtaG92ZXItbGlmdDtcblxuXHR9XG5cblx0Ly8gRmVhdHVyZWQvaG90IHByb2R1Y3Qg4oCUIGFsd2F5cyBjYXJyaWVzIGFuIGVtYmVyLWhvdC1yaW07IGhvdmVyXG5cdC8vIGludGVuc2lmaWVzIHZpYSB0aGUgbWl4aW4ncyAnc3Ryb25nJyB2YXJpYW50IChob3QtcmltICsgd2lkZXIgaGFsbykuXG5cdCYtLWhvdCB7XG5cblx0XHRib3gtc2hhZG93OiB2YXIoLS1wYW5lbC1saWZ0KSwgdmFyKC0tZW1iZXItaG90LXJpbSk7XG5cblx0XHQmOmhvdmVyIHtcblxuXHRcdFx0QGluY2x1ZGUgY2FyZC1ob3Zlci1saWZ0KCdzdHJvbmcnKTtcblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fbWVkaWEge1xuXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGFzcGVjdC1yYXRpbzogMSAvIDE7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdm9pZCk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuXHRcdC8vIEJvdHRvbS1mYWRlIHNjcmltIG9uIHRoZSBpbWFnZSDigJQgaGVscHMgdGhlIGJhZGdlIGZsb2F0IGNsZWFuXG5cdFx0Ly8gYWdhaW5zdCB2YXJpZWQgcHJvZHVjdCBwaG90b2dyYXBoeS5cblx0XHQmOjpiZWZvcmUge1xuXG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0aW5zZXQ6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDAsIDAsIDApIDYyJSwgcmdiYSg2LCA2LCA2LCAwLjc1KSAxMDAlKTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHRcdH1cblxuXHRcdC8vIEVtYmVyIGhhaXJsaW5lIGdsb3cgYXQgdGhlIGJvdHRvbSBlZGdlIG9mIHRoZSBtZWRpYSDigJQgc2VwYXJhdGVzXG5cdFx0Ly8gaW1hZ2UgZnJvbSBib2R5IHdpdGhvdXQgYSBoYXJkIHJ1bGUuXG5cdFx0Jjo6YWZ0ZXIge1xuXG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0aW5zZXQ6IGF1dG8gMCAwIDA7XG5cdFx0XHRoZWlnaHQ6IDRweDtcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZyxcblx0XHRcdFx0cmdiYSgyNTUsIDEyMiwgNDYsIDApIDAlLFxuXHRcdFx0XHRyZ2JhKDI1NSwgMTIyLCA0NiwgMC42KSA1MCUsXG5cdFx0XHRcdHJnYmEoMjU1LCAxMjIsIDQ2LCAwKSAxMDAlXG5cdFx0XHQpO1xuXHRcdFx0ei1pbmRleDogMjtcblx0XHRcdGZpbHRlcjogYmx1cigzcHgpO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQvLyBQb3NpdGlvbmluZyBzbG90IGZvciB0aGUgc2hhcmVkIGAuYmFkZ2VgIHByaW1pdGl2ZSAoc2VlIF9iYWRnZS5zY3NzKS5cblx0Ly8gU3R5bGUgY29tZXMgZnJvbSBjbGFzcy1taXhpbmcgYC5iYWRnZS5iYWRnZS0tZGFya2A7IGxvdy1zdG9jayBhZGRzXG5cdC8vIGAuYmFkZ2UtLWxvd2AuIERvdCBpbmRpY2F0b3IgaXMgYSBgLmJhZGdlX19kb3RgIHNwYW4gaW5zaWRlIHRoZSBiYWRnZS5cblx0Jl9fYmFkZ2Uge1xuXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMTZweDtcblx0XHRyaWdodDogMTZweDtcblx0XHR6LWluZGV4OiAzO1xuXG5cdH1cblxuXHQmX19ib2R5IHtcblxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWh1bGwtcGFuZWwtbGlmdCk7XG5cdFx0cGFkZGluZzogMjRweCAyOHB4IDI4cHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGZsZXg6IDE7XG5cblx0fVxuXG5cdCZfX21ldGEge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTZlbTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblxuXHR9XG5cblx0Jl9fbmFtZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1oaWdobGlnaHQpO1xuXHRcdG1hcmdpbi1ib3R0b206IDE0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMTtcblxuXHR9XG5cblx0Jl9fc3BlY3Mge1xuXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtcblx0XHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkIHJnYmEoMTg0LCAxNzYsIDE2NiwgMC4yKTtcblxuXHR9XG5cblx0Ly8gU3BlYyByb3cg4oCUIGZsZXggbGFiZWwvdmFsdWUgcGFpciB3aXRoIGJhc2VsaW5lIGFsaWdubWVudC5cblx0Jl9fc3BlYyB7XG5cblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdHBhZGRpbmc6IDRweCAwO1xuXG5cdH1cblxuXHQmX19zcGVjLWxhYmVsIHtcblxuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjFlbTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblxuXHR9XG5cblx0Jl9fc3BlYy12YWx1ZSB7XG5cblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0Zm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcblxuXHR9XG5cblx0Ly8gRm9vdCByb3cg4oCUIHByaWNlIG9uIHRoZSBsZWZ0LCBDVEEgbGluayBvbiB0aGUgcmlnaHQg4oCUIHB1c2hlZCB0b1xuXHQvLyB0aGUgYm90dG9tIG9mIHRoZSBib2R5IHZpYSBtYXJnaW4tdG9wOiBhdXRvLlxuXHQmX19mb290IHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0bWFyZ2luLXRvcDogYXV0bztcblxuXHR9XG5cblx0Jl9fcHJpY2Uge1xuXG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXHRcdGdhcDogMTBweDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDI2cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXHRcdGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG5cblx0fVxuXG5cdC8vIFdhcy1wcmljZSBzdWItc2xvdCDigJQgc3RydWNrLXRocm91Z2ggcHJpb3IgcHJpY2Ugc2F0IGlubGluZSBuZXh0IHRvXG5cdC8vIHRoZSBjdXJyZW50IHByaWNlIGZvciBzYWxlIGRpc3BsYXkuIENocm9tZS1kaW0gc3RyaWtldGhyb3VnaCBzbyBpdFxuXHQvLyByZWFkcyBhcyBjb250ZXh0IHdpdGhvdXQgY29tcGV0aW5nIHdpdGggdGhlIGVtYmVyIGN1cnJlbnQgcHJpY2UuXG5cdCZfX3ByaWNlLXdhcyB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdFx0dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKDE5OSwgMTkzLCAxOTAsIDAuNik7XG5cblx0fVxuXG5cdC8vIENUQSDigJQgY2hyb21lLXdhcm0gdGV4dCB3aXRoIGFuIGVtYmVyIHVuZGVybGluZTsgdGV4dCB0dXJucyBlbWJlclxuXHQvLyBvbiBob3Zlci5cblx0Jl9fY3RhIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjE2ZW07XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0cGFkZGluZy1ib3R0b206IDRweDtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZW1iZXIpO1xuXHRcdHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcblxuXHRcdCY6aG92ZXIge1xuXG5cdFx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBQcm9kdWN0IGdhbGxlcnkgKGNvbXBvbmVudClcbi8vXG4vLyBQcm9kdWN0LWhlcm8gbGVmdCBjb2x1bW46IHRodW1iIHN0cmlwICsgbWFpbiBpbWFnZSAoNDo1IGFzcGVjdCkuXG4vLyBFYWNoIHRodW1iICsgdGhlIG1haW4gaW1hZ2UgY2Fycnkgc2NpLWZpIHNjcmV3LWRvdCBjb3JuZXIgZGV0YWlsLlxuLy8gQWN0aXZlIHRodW1iIHBpY2tzIHVwIGVtYmVyIGhvdC1yaW0uIE1haW4gaW1hZ2UgaW5jbHVkZXMgYW4gb3B0aW9uYWxcbi8vIF9fY2FsbG91dCBjaGlwIChib3R0b20tbGVmdCBvdmVybGF5IOKAlCBcIlhlbm9waXhlbCBWMyDCtyBCbGFkZSAzNlwiIGV0Yy4pXG4vLyBuYW1pbmcgdGhlIGN1cnJlbnQgcHJldmlldy5cbi8vXG4vLyBPbiBXb29Db21tZXJjZSB0aGlzIHNoZWxsIHdpbGwgaG9zdCB0aGUgYHdjLXByb2R1Y3QtZ2FsbGVyeWAgbWFya3VwXG4vLyBpbiBQaGFzZSAzIOKAlCBzd2FwIHRodW1iIGRpdnMgZm9yIGdhbGxlcnktbmF2IGl0ZW1zLCBzd2FwIG1haW4gZm9yXG4vLyBnYWxsZXJ5LW1haW4gc2xpZGVyLiBDbGFzcyBob29rcyBzdGF5IHN0YWJsZSBmb3IgdGhlIEpTIGF0dGFjaC5cbi8vXG4vLyBBbmF0b215OlxuLy8gICBfX3RodW1icyAgICAgIOKAlCB2ZXJ0aWNhbCB0aHVtYiBjb2x1bW4gKGhvcml6b250YWwgYXQgbW9iaWxlKVxuLy8gICBfX3RodW1iICAgICAgIOKAlCA5NsOXOTYgKG1vYmlsZSA2NMOXNjQpIHByZXZpZXcgdGlsZVxuLy8gICBfX3RodW1iLS1hY3RpdmUg4oCUIGVtYmVyIGhvdC1yaW0gaGlnaGxpZ2h0XG4vLyAgIF9fbWFpbiAgICAgICAg4oCUIDQ6NSBhc3BlY3QgbWFpbiBwcmV2aWV3XG4vLyAgIF9fY2FsbG91dCAgICAg4oCUIGJvdHRvbS1sZWZ0IGVtYmVyIGNhcHRpb24gY2hpcCBvbiBtYWluIGltYWdlXG5cbkB1c2UgJy4uL3NldHRpbmdzL3NjcmV3LWRvdHMnIGFzICo7XG5cbi5wcm9kdWN0LWdhbGxlcnkge1xuXG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogOTZweCAxZnI7XG5cdGdhcDogMTZweDtcblxuXHQmX190aHVtYnMge1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogMTJweDtcblxuXHR9XG5cblx0Jl9fdGh1bWIge1xuXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGFzcGVjdC1yYXRpbzogMSAvIDE7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0taHVsbC1wYW5lbCk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tcGFuZWwtbGlmdCk7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdEBpbmNsdWRlIHNjcmV3LWRvdHMoNnB4LCA0cHgpO1xuXG5cdFx0Ji0tYWN0aXZlIHtcblxuXHRcdFx0Ym94LXNoYWRvdzogdmFyKC0tZW1iZXItaG90LXJpbSk7XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX21haW4ge1xuXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGFzcGVjdC1yYXRpbzogNCAvIDU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1odWxsLXBhbmVsKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRib3gtc2hhZG93OiB2YXIoLS1wYW5lbC1saWZ0KTtcblx0XHRAaW5jbHVkZSBzY3Jldy1kb3RzKDhweCwgNnB4KTtcblxuXHR9XG5cblx0Jl9fY2FsbG91dCB7XG5cblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAyNHB4O1xuXHRcdGxlZnQ6IDI0cHg7XG5cdFx0cGFkZGluZzogOHB4IDEycHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjIwZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoNiwgNiwgNiwgMC43NSk7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMTQpO1xuXG5cdH1cblxuXHRAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG5cblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblxuXHRcdCZfX3RodW1icyB7XG5cblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cblx0XHR9XG5cblx0XHQmX190aHVtYiB7XG5cblx0XHRcdHdpZHRoOiA2NHB4O1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBSYXRpbmcgcm93IChwcmltaXRpdmUpXG4vL1xuLy8gU3RhciByb3cgKyByZXZpZXcgY291bnQgbGluZS4gSGFpcmxpbmUgYm90dG9tIGJvcmRlci4gVXNlZCBpbiB0aGVcbi8vIHByb2R1Y3QtaGVybyBkb3NzaWVyIGFib3ZlIHRoZSBidXktYWN0aW9ucyBibG9jaywgYW5kIHJldXNhYmxlIG9uXG4vLyBhbnkgc3VyZmFjZSB0aGF0IG5lZWRzIGFuIGlubGluZSBwcm9kdWN0IHJhdGluZyBzdW1tYXJ5LlxuLy9cbi8vIEFuYXRvbXk6XG4vLyAgIF9fc3RhcnMgIOKAlCBpbmxpbmUgZW1iZXIgc3RhciBnbHlwaHMgKHVuaWNvZGUg4piFLCAxNHB4KVxuLy8gICBfX2NvdW50ICDigJQgY2hyb21lLWRpbSB1cHBlcmNhc2UgY291bnQgbWV0YWRhdGFcblxuLnJhdGluZy1yb3cge1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogMTJweCAwO1xuXHRib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCByZ2JhKDYyLCA2MiwgNjIsIDAuMzUpO1xuXG5cdCZfX3N0YXJzIHtcblxuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGdhcDogMnB4O1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAycHg7XG5cblx0fVxuXG5cdCZfX2NvdW50IHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBSZWluZm9yY2UgY2FyZCAoY29tcG9uZW50KVxuLy9cbi8vIFNlcnZpY2UgLyBhZGphY2VuY3kgY2FyZCBmb3IgY3Jvc3Mtc2VsbCBzdHJpcHMgb24gY2F0ZWdvcnkgcGFnZXMg4oCUXG4vLyBkaXN0aW5jdCBmcm9tIGAucHJvZHVjdC1jYXJkYCAod2hpY2ggaXMgYSBwcm9kdWN0IHRpbGUgd2l0aCBtZWRpYSArXG4vLyBzcGVjcyArIHByaWNlKS4gUmVpbmZvcmNlIGNhcmRzIGNhcnJ5IGFuIGljb24gKyBzaG9ydCBsYWJlbCArIHRpdGxlXG4vLyArIHByb3NlICsgQ1RBIOKAlCB1c2VkIGZvciByZWxhdGVkIGNhdGVnb3JpZXMsIHVwc2VsbCBzZXJ2aWNlcyxcbi8vIHBsYW5uZWQgaW52ZW50b3J5LlxuLy9cbi8vIFZhcmlhbnQgYC0tcGxhY2Vob2xkZXJgIGZhZGVzIHRoZSBjYXJkICsgc3VyZmFjZXMgYSBcIlBsYW5uZWRcbi8vIEludmVudG9yeVwiIGNoaXAgZm9yIGNvbWluZy1zb29uIGFkamFjZW5jaWVzIChDVEEgc3RheXMgYnV0IGRvZXNuJ3Rcbi8vIGxpbmspLlxuLy9cbi8vIEFuYXRvbXk6XG4vLyAgIF9faWNvbiAgICAgICAgICAgICAg4oCUIDI2w5cyNiBTVkcgaG9sZGVyIChlbWJlciBzdHJva2UpXG4vLyAgIF9fbGFiZWwgICAgICAgICAgICAg4oCUIGNocm9tZS1kaW0gdXBwZXJjYXNlIGNhdGVnb3J5IGxhYmVsXG4vLyAgIF9fdGl0bGUgICAgICAgICAgICAg4oCUIGNocm9tZS1oaWdobGlnaHQgZGlzcGxheSB0aXRsZVxuLy8gICBfX2JvZHkgICAgICAgICAgICAgIOKAlCBjaHJvbWUtd2FybSBib2R5IHByb3NlXG4vLyAgIF9fY3RhICAgICAgICAgICAgICAg4oCUIGVtYmVyIHVwcGVyY2FzZSBDVEEgbGlua1xuLy8gICBfX3BsYWNlaG9sZGVyLW5vdGUgIOKAlCBzbWFsbCBlbWJlciBjaGlwIGZvciAtLXBsYWNlaG9sZGVyIHZhcmlhbnRcblxuQHVzZSAnLi4vc2V0dGluZ3Mvc2NyZXctZG90cycgYXMgKjtcblxuLnJlaW5mb3JjZS1jYXJkIHtcblxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogMzJweCAyOHB4O1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDIwLCAyMCwgMjAsIDAuOTQpO1xuXHRib3gtc2hhZG93OlxuXHRcdGluc2V0IDAgMXB4IDAgcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjEyKSxcblx0XHQwIDEwcHggMjhweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuXHRAaW5jbHVkZSBzY3Jldy1kb3RzKDZweCwgNnB4KTtcblxuXHQmX19pY29uIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR3aWR0aDogNDhweDtcblx0XHRoZWlnaHQ6IDQ4cHg7XG5cdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTIyLCA0NiwgMC4wOCk7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjI4KTtcblxuXHRcdHN2ZyB7XG5cblx0XHRcdHdpZHRoOiAyNnB4O1xuXHRcdFx0aGVpZ2h0OiAyNnB4O1xuXHRcdFx0c3Ryb2tlOiBjdXJyZW50Q29sb3I7XG5cdFx0XHRmaWxsOiBub25lO1xuXHRcdFx0c3Ryb2tlLXdpZHRoOiAxLjY7XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX2xhYmVsIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjE4ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cblx0fVxuXG5cdCZfX3RpdGxlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjZweDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtaGlnaGxpZ2h0KTtcblxuXHR9XG5cblx0Jl9fYm9keSB7XG5cblx0XHRmbGV4OiAxO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRsaW5lLWhlaWdodDogMS42O1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtd2FybSk7XG5cblx0fVxuXG5cdCZfX2N0YSB7XG5cblx0XHRtYXJnaW4tdG9wOiA0cHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjE2ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHR9XG5cblx0Ly8gUGxhY2Vob2xkZXIgdmFyaWFudCDigJQgZm9yIHBsYW5uZWQtaW52ZW50b3J5IC8gY29taW5nLXNvb24gY2FyZHMuXG5cdC8vIE11dGVkIGNvbG91cnMgKyBhIHNtYWxsIGVtYmVyIGNoaXAgYWJvdmUgdGhlIGxhYmVsIGFubm91bmNpbmcgdGhlXG5cdC8vIHBsYW5uZWQgc3RhdHVzLiBDVEEgbG9zZXMgaXRzIGxpbmsgYWZmb3JkYW5jZS5cblx0Ji0tcGxhY2Vob2xkZXIge1xuXG5cdFx0b3BhY2l0eTogMC43NTtcblxuXHRcdC5yZWluZm9yY2UtY2FyZF9fY3RhIHtcblxuXHRcdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19wbGFjZWhvbGRlci1ub3RlIHtcblxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwYWRkaW5nOiA0cHggMTBweDtcblx0XHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDEyMiwgNDYsIDAuMDgpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjM1KTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDlweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjIwZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXItZ2xvdyk7XG5cdFx0YWxpZ24tc2VsZjogZmxleC1zdGFydDtcblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgUmVpbmZvcmNlbWVudCBiYW5kIChjb21wb25lbnQpXG4vL1xuLy8gVGhpbiBjbG9zaW5nIHRydXN0IGJhbmQgYXQgdGhlIGJvdHRvbSBvZiBhbiBhcmNoaXZlIHBhZ2UgKG9yIGFib3ZlXG4vLyBmb290ZXIgb24gb3RoZXIgcGFnZSBzaGFwZXMpLiBGbGV4IHJvdyBvZiBzaG9ydCB0cnVzdCBwaHJhc2VzIHNlcGFyYXRlZFxuLy8gYnkgZW1iZXIgZG90IGdseXBocy5cbi8vXG4vLyBDb21wb3NlcyBpbnNpZGUgYC5zZWN0aW9uLnNlY3Rpb24tLWNhcmJvbi5zZWN0aW9uLS10aWdodGAgKHRoaW4gYmFuZCxcbi8vIDMwcHggdmVydGljYWwgcGFkZGluZykgb3IgYC5zZWN0aW9uLS1zdHJpcGAgKHdpdGggY2hyb21lIGhhaXJsaW5lcykuXG4vL1xuLy8gQW5hdG9teTpcbi8vICAgX19waHJhc2Ug4oCUIG9uZSB0cnVzdCBwaHJhc2UgKGNocm9tZS13YXJtIHVwcGVyY2FzZSBzbWFsbC1jYXBzKVxuLy8gICAgICAgICAgICAgIFNlcGFyYXRvcnMgYmV0d2VlbiBwaHJhc2VzIGFyZSA6OmJlZm9yZSBjb250ZW50IG9uXG4vLyAgICAgICAgICAgICAgcGhyYXNlcyBmcm9tIDpudGgtY2hpbGQobisyKSBvbndhcmRzIChlbWJlciBkb3QgZ2x5cGgpLlxuXG4ucmVpbmZvcmNlbWVudC1iYW5kIHtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDMycHg7XG5cblx0Jl9fcGhyYXNlIHtcblxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xOGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblxuXHRcdCY6bm90KDpmaXJzdC1jaGlsZCk6OmJlZm9yZSB7XG5cblx0XHRcdGNvbnRlbnQ6IFwiXFwyMDIyXCI7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDMycHg7XG5cdFx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuXG5cdFx0fVxuXG5cdH1cblxuXHRAbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcblxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiAxMnB4O1xuXG5cdFx0Jl9fcGhyYXNlOm5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUge1xuXG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBSZXZpZXcgY2FyZCAoY29tcG9uZW50KVxuLy9cbi8vIFZlcmlmaWVkLW93bmVyIHJldmlldyBjYXJkIOKAlCBzdGFycyArIGJhZGdlICsgdGl0bGUgKyBib2R5ICsgbWV0YS5cbi8vIERpc3RpbmN0IGZyb20gYC50ZXN0aW1vbmlhbC1jYXJkYCAod2hpY2ggaXMgMy11cCBob21lcGFnZSBjb2xsZWN0b3Jcbi8vIHF1b3RlcyB3aXRoIHF1b3RlLW1hcmsgY2hyb21lICsgYXZhdGFyICsgcHJvZHVjdCBsaW5lKTsgdGhpcyBpcyBhXG4vLyBwcm9kdWN0LXBhZ2UgcmV2aWV3IHdpdGggYSBcIlZlcmlmaWVkIMK3IER1ZWxpc3RcIiBiYWRnZSwgdGl0bGUgbGluZSxcbi8vIHJldmlldyBib2R5LCBhbmQgcmV2aWV3ZXIgbWV0YSAobmFtZSDCtyBsb2NhdGlvbiDCtyBkYXRlKS5cbi8vXG4vLyBFbWJlciBkb3QgaW5kaWNhdG9yIG9uIHRoZSBiYWRnZSB2aWEgOjpiZWZvcmUgKHNhbWUgdmlzdWFsIHBhdHRlcm5cbi8vIGFzIGAuYmFkZ2VfX2RvdGAgb24gYC5iYWRnZS5iYWRnZS0tZGFya2Ag4oCUIGRpZmZlcmVudCBzY2FsZS9zaGFwZVxuLy8gZW5vdWdoIHRvIGtlZXAgbG9jYWw7IHdvdWxkIGV4dHJhY3QgaWYgYSB0aGlyZCByZXZpZXctc3R5bGUgcGF0dGVyblxuLy8gZW1lcmdlZCkuXG4vL1xuLy8gQW5hdG9teTpcbi8vICAgX19zdGFycyAgIOKAlCBlbWJlciBzdGFycyByb3cgKGxldHRlci1zcGFjaW5nIHdpZGVyIGZvciB0aGUgcmV2aWV3IHNjYWxlKVxuLy8gICBfX2JhZGdlICAg4oCUIGVtYmVyIHVwcGVyY2FzZSBiYWRnZSB3aXRoIGRvdCBwcmVmaXggKFwiVmVyaWZpZWQgwrcgRHVlbGlzdFwiKVxuLy8gICBfX3RpdGxlICAg4oCUIGNocm9tZS1oaWdobGlnaHQgZGlzcGxheSB0aXRsZVxuLy8gICBfX2JvZHkgICAg4oCUIGNocm9tZS13YXJtIGJvZHkgdGV4dCAoZmxleDogMSBzbyBtZXRhIHN0aWNrcyBib3R0b20pXG4vLyAgIF9fbWV0YSAgICDigJQgY2hyb21lLWRpbSB1cHBlcmNhc2UgbWV0YSBsaW5lIHdpdGggdG9wIGhhaXJsaW5lXG5cbkB1c2UgJy4uL3NldHRpbmdzL3NjcmV3LWRvdHMnIGFzICo7XG5cbi5yZXZpZXctY2FyZCB7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDEycHg7XG5cdHBhZGRpbmc6IDI0cHg7XG5cdGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAyMCwgMC45NCk7XG5cdGJveC1zaGFkb3c6XG5cdFx0aW5zZXQgMCAxcHggMCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMTYpLFxuXHRcdGluc2V0IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgMC41NSksXG5cdFx0MCAxMHB4IDI4cHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjk1KSxcblx0XHQwIDJweCA2cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG5cdEBpbmNsdWRlIHNjcmV3LWRvdHM7XG5cblx0Jl9fc3RhcnMge1xuXG5cdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDNweDtcblxuXHR9XG5cblx0Jl9fYmFkZ2Uge1xuXG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDZweDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMThlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0XHQmOjpiZWZvcmUge1xuXG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0d2lkdGg6IDZweDtcblx0XHRcdGhlaWdodDogNnB4O1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tZW1iZXIpO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDhweCByZ2JhKDI1NSwgMTIyLCA0NiwgMC43NSk7XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX3RpdGxlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjhweDtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWhpZ2hsaWdodCk7XG5cblx0fVxuXG5cdCZfX2JvZHkge1xuXG5cdFx0ZmxleDogMTtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNjtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXG5cdH1cblxuXHQmX19tZXRhIHtcblxuXHRcdHBhZGRpbmctdG9wOiAxMnB4O1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSg2MiwgNjIsIDYyLCAwLjM1KTtcblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgUmV2aWV3cyBhZ2dyZWdhdGUgKGNvbXBvbmVudClcbi8vXG4vLyBQcm9kdWN0LXBhZ2UgcmV2aWV3IGFnZ3JlZ2F0ZSBwYW5lbCDigJQgc2NvcmUgY29sdW1uIG9uIHRoZSBsZWZ0IChiaWdcbi8vIGVtYmVyIG51bWJlciArIHN0YXJzICsgY291bnQpIHdpdGggYSB2ZXJ0aWNhbCBoYWlybGluZSBzZXBhcmF0b3IsIHRoZW5cbi8vIDUgc3Rhci1kaXN0cmlidXRpb24gYmFycyBvbiB0aGUgcmlnaHQgKDXimIUgLyA04piFIC8gM+KYhSAvIDLimIUgLyAx4piFKS4gU2l0c1xuLy8gYWJvdmUgdGhlIGAuZ3JpZC5ncmlkLS0zYCBvZiBgLnJldmlldy1jYXJkYHMgaW4gdGhlIHJldmlld3Mgc2VjdGlvbi5cbi8vXG4vLyBBbmF0b215OlxuLy8gICBfX3Njb3JlICAgICAgIOKAlCBsZWZ0IGNvbHVtbiB2ZXJ0aWNhbCBzdGFja1xuLy8gICAgIF9fbnVtYmVyICAgICAgIOKAlCA5MnB4IGVtYmVyIGRpc3BsYXkgc2NvcmUgKFwiNC44XCIpXG4vLyAgICAgX19zdGFycyAgICAgICAg4oCUIGVtYmVyIHN0YXIgcm93XG4vLyAgICAgX19tZXRhICAgICAgICAg4oCUIGNocm9tZS1kaW0gY291bnQgbGluZVxuLy8gICAgIF9fcGxhY2Vob2xkZXIgIOKAlCBpdGFsaWMgZW1iZXIgbm90ZSBhYm91dCB0aGUgcmV2aWV3LXBsYXRmb3JtIGluc3RhbGxcbi8vICAgX19iYXJzICAgICAgICDigJQgcmlnaHQgY29sdW1uIGJhciBsaXN0XG4vLyAgICAgX19iYXIgICAgICAgICAg4oCUIGdyaWQgcm93OiBsYWJlbCAvIHRyYWNrIC8gY291bnRcbi8vICAgICBfX2Jhci10cmFjayAgICDigJQgNnB4IGRhcmsgYmFyIGNvbnRhaW5lclxuLy8gICAgIF9fYmFyLWZpbGwgICAgIOKAlCBlbWJlciBncmFkaWVudCBmaWxsICh3aWR0aCB2aWEgaW5saW5lIHN0eWxlKVxuXG5AdXNlICcuLi9zZXR0aW5ncy9zY3Jldy1kb3RzJyBhcyAqO1xuXG4ucmV2aWV3cy1hZ2dyZWdhdGUge1xuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNjBweCAxZnI7XG5cdGdhcDogNjRweDtcblx0bWFyZ2luLWJvdHRvbTogNDhweDtcblx0cGFkZGluZzogNDhweDtcblx0YmFja2dyb3VuZDogcmdiYSgyMCwgMjAsIDIwLCAwLjk0KTtcblx0Ym94LXNoYWRvdzpcblx0XHRpbnNldCAwIDFweCAwIHJnYmEoMjUwLCAyNTAsIDI1MCwgMC4xNiksXG5cdFx0aW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjU1KSxcblx0XHQwIDEwcHggMjhweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuOTUpLFxuXHRcdDAgMnB4IDZweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC43KTtcblx0QGluY2x1ZGUgc2NyZXctZG90cztcblxuXHQmX19zY29yZSB7XG5cblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDEycHg7XG5cdFx0cGFkZGluZy1yaWdodDogMzJweDtcblx0XHRib3gtc2hhZG93OiBpbnNldCAtMXB4IDAgMCByZ2JhKDYyLCA2MiwgNjIsIDAuMzUpO1xuXG5cdH1cblxuXHQmX19udW1iZXIge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcblx0XHRmb250LXNpemU6IDkycHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdH1cblxuXHQmX19zdGFycyB7XG5cblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRsZXR0ZXItc3BhY2luZzogNHB4O1xuXG5cdH1cblxuXHQmX19tZXRhIHtcblxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMThlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblxuXHR9XG5cblx0Jl9fcGxhY2Vob2xkZXIge1xuXG5cdFx0bWFyZ2luLXRvcDogMTJweDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0fVxuXG5cdCZfX2JhcnMge1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogMTJweDtcblxuXHR9XG5cblx0Jl9fYmFyIHtcblxuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0MHB4IDFmciA0MHB4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiAxMnB4O1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblxuXHR9XG5cblx0Jl9fYmFyLXRyYWNrIHtcblxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRoZWlnaHQ6IDZweDtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1odWxsLXBhbmVsLWRhcmspO1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjcpO1xuXG5cdH1cblxuXHQmX19iYXItZmlsbCB7XG5cblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tZW1iZXItZm9yZ2UpLCB2YXIoLS1lbWJlci1nbG93KSk7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDEycHggcmdiYSgyNTUsIDEyMiwgNDYsIDAuNDUpO1xuXG5cdH1cblxuXHRAbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcblxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdGdhcDogMzJweDtcblx0XHRwYWRkaW5nOiAzMnB4O1xuXG5cdFx0Jl9fc2NvcmUge1xuXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDI0cHg7XG5cdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCByZ2JhKDYyLCA2MiwgNjIsIDAuMzUpO1xuXG5cdFx0fVxuXG5cdFx0Jl9fbnVtYmVyIHtcblxuXHRcdFx0Zm9udC1zaXplOiA2OHB4O1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBTZWN0aW9uIGhlYWRlciAodGl0bGUgY2x1c3RlcikgcHJpbWl0aXZlXG4vL1xuLy8gUmV1c2FibGUgaGVhZGVyIGZvciBjb250ZW50IHNlY3Rpb25zIOKAlCBob3VzZXMgYW4gZXllYnJvdyArIGgyIHRpdGxlXG4vLyBjbHVzdGVyIG9uIHRoZSBsZWZ0LCBtZXRhIGluZm8gb24gdGhlIHJpZ2h0LiBGbGV4IHJvdyB3aXRoIDYwcHggZ2FwO1xuLy8gc3RhY2tzIG9uIG1vYmlsZSB3aXRoIG1ldGEgcmUtYWxpZ25lZCB0byB0aGUgbGVmdC5cbi8vXG4vLyBSdWxlLTMgcmVuYW1lOiBNQVM0MydzIG1vY2t1cCBjbGFzcyBgLnNlY3Rpb24taGVhZGAgcmVuZGVycyBhc1xuLy8gYC5zZWN0aW9uLWhlYWRlcmAgaW4gdGhlIHNoaXBwZWQgdGVtcGxhdGUuXG4vL1xuLy8gQWxzbyBjYXJyaWVzIGAuc2VjdGlvbl9fdGl0bGVgIOKAlCB0aGUgZGlzcGxheS1zY2FsZSBoMiBwcmltaXRpdmUgdXNlZFxuLy8gaW5zaWRlIHRoZSBoZWFkZXIgY2x1c3RlciAoYW5kIHN0YW5kYWxvbmUgZWxzZXdoZXJlIGFzIGEgY2xhc3MtbWl4IG9uXG4vLyBgPGgyPmAgZWxlbWVudHMpLiBTaXplIG1vZGlmaWVycyBgLS1zbWAgKDI2cHgpIGFuZCBgLS1sZ2AgKDQwcHgpIHN1cmZhY2Vcbi8vIGFzIGZ1dHVyZSBtb2NrdXBzIG5lZWQgdGhlbS5cbi8vXG4vLyBXYWxrZWQgZnJvbSBNQVM0MyAocG9zdCAxMjg0MCkgYXMgQVJUU0FCRVJTIFMyIFA0LlxuXG4uc2VjdGlvbi1oZWFkZXIge1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXHRnYXA6IDYwcHg7XG5cdG1hcmdpbi1ib3R0b206IDcycHg7XG5cblx0Jl9fdGl0bGUge1xuXG5cdFx0bWF4LXdpZHRoOiA2NDBweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiAyMHB4O1xuXG5cdFx0Ly8gQ2xhc3MtbWl4ZWQgYC5leWVicm93YCBpbnNpZGUgdGhlIHRpdGxlIGNsdXN0ZXIgZ2V0cyBhIHNtYWxsXG5cdFx0Ly8gYm90dG9tIG1hcmdpbiBudWRnZSDigJQgb3RoZXJ3aXNlIHRoZSBmbGV4IGBnYXBgIGFib3ZlIHdvdWxkXG5cdFx0Ly8gZG91YmxlIHVwLlxuXHRcdC5leWVicm93IHtcblxuXHRcdFx0bWFyZ2luLWJvdHRvbTogNHB4O1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19tZXRhIHtcblxuXHRcdGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdHBhZGRpbmctYm90dG9tOiA2cHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1mcy1leWVicm93KTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xOGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXG5cdH1cblxuXHQmX19tZXRhLWVtIHtcblxuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0fVxuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiA3MDBweCkge1xuXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRnYXA6IDI0cHg7XG5cblx0XHQmX19tZXRhIHtcblxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdH1cblxuXHR9XG5cbn1cblxuLy8gRGlzcGxheS1zY2FsZSB0aXRsZSBwcmltaXRpdmUg4oCUIHVzZWQgYXMgY2xhc3MtbWl4IG9uIGA8aDI+YCAoYW5kIGxhcmdlcilcbi8vIGhlYWRpbmdzLCBpbnNpZGUgc2VjdGlvbi1oZWFkZXIgY2x1c3RlcnMgYW5kIHN0YW5kYWxvbmUuXG4uc2VjdGlvbl9fdGl0bGUge1xuXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRmb250LXNpemU6IDM0cHg7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjA1O1xuXHRsZXR0ZXItc3BhY2luZzogMC44cHg7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiB2YXIoLS1jaHJvbWUtaGlnaGxpZ2h0KTtcblx0bWFyZ2luOiAwO1xuXG5cdCYtLXNtIHtcblxuXHRcdGZvbnQtc2l6ZTogMjZweDtcblxuXHR9XG5cblx0Ji0tbGcge1xuXG5cdFx0Zm9udC1zaXplOiA0MHB4O1xuXG5cdH1cblxufVxuXG4vLyBTdWItdGl0bGUgcHJpbWl0aXZlIOKAlCBzb2Z0IHN1YnRpdGxlIHNhdCB1bmRlciBhIC5zZWN0aW9uX190aXRsZS4gQm9keVxuLy8gZm9udCAoT25lc3QsIG5vdCBkaXNwbGF5KSwgcmVndWxhciB3ZWlnaHQsIGNocm9tZS1kaW0sIGNhcHBlZCBhdCA2MjBweC5cbi8vIFVzZWQgc3RhbmRhbG9uZSB2aWEgYC5zZWN0aW9uLXRpdGxlLS1zdWJgIOKAlCBubyBiYXJlIGAuc2VjdGlvbi10aXRsZWBcbi8vIHJvb3Qgc2hpcHBlZCBzaW5jZSBNQVM0MyBkb2Vzbid0IHJlZmVyZW5jZSBpdC5cbi5zZWN0aW9uLXRpdGxlLS1zdWIge1xuXG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRmb250LXNpemU6IDE3cHg7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjY7XG5cdGxldHRlci1zcGFjaW5nOiAwLjhweDtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblx0bWF4LXdpZHRoOiA2MjBweDtcblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBTRU8gY29weSAoY29tcG9zaXRpb24pXG4vL1xuLy8gTG9uZy1mb3JtIFNFTyAvIGVkaXRvcmlhbCBjb250ZW50IHNlY3Rpb24gYXQgdGhlIGJvdHRvbSBvZiB0aGUgc2hvcFxuLy8gYXJjaGl2ZSAoYW5kIHJldXNhYmxlIG9uIGNhdGVnb3J5IC8gYnJhbmQgLyBjb2xsZWN0aW9uIHBhZ2VzKS4gRXllYnJvd1xuLy8gKyBoMiB3aXRoIGVtYmVyIGFjY2VudCArIHJlcGVhdGluZyBgX19zZWN0aW9uYCBibG9ja3MgKGgzICsgcCkgK1xuLy8gY2xvc2luZyBsaW5rcyByb3cuIEJvdHRvbSBoYWlybGluZSBzZWFtLlxuLy9cbi8vIEFuYXRvbXk6XG4vLyAgIF9faW5uZXIgICAgICAgICDigJQgbWF4LXdpZHRoIGNvbnRlbnQgd3JhcHBlciAobmFycm93ZXIgdGhhbiB0aGUgc2VjdGlvbi1pbm5lcilcbi8vICAgX19leWVicm93ICAgICAgIOKAlCBlbWJlciB1cHBlcmNhc2Uga2lja2VyXG4vLyAgIF9fdGl0bGUgICAgICAgICDigJQgY2hyb21lLWhpZ2hsaWdodCBkaXNwbGF5IGgyXG4vLyAgIF9fdGl0bGUtYWNjZW50ICDigJQgZW1iZXIgaGlnaGxpZ2h0IHNwYW4gaW5zaWRlIHRoZSB0aXRsZVxuLy8gICBfX3NlY3Rpb24gICAgICAg4oCUIHJlcGVhdGluZyBoMyArIHAgYmxvY2tcbi8vICAgX19oMyAgICAgICAgICAgIOKAlCBjaHJvbWUtaGlnaGxpZ2h0IGRpc3BsYXkgaDMgd2l0aCBlbWJlciBhY2NlbnQgYmFyIHZpYSA6OmJlZm9yZVxuLy8gICBfX3AgICAgICAgICAgICAg4oCUIGJvZHkgcGFyYWdyYXBoIChtYXggd2lkdGggNzhjaCBmb3IgcmVhZGFiaWxpdHkpXG4vLyAgIF9fbGlua3MgICAgICAgICDigJQgZmxleCByb3c6IGxhYmVsICsgYSBmZXcgZXhwbG9yZSBsaW5rc1xuLy8gICBfX2xpbmtzLWxhYmVsICAg4oCUIGNocm9tZS1kaW0gdXBwZXJjYXNlIGxhYmVsXG4vLyAgIF9fbGluayAgICAgICAgICDigJQgZW1iZXIgdXBwZXJjYXNlIGxpbmtcbi8vICAgX19zZWFtICAgICAgICAgIOKAlCBib3R0b20gZGVjb3JhdGl2ZSBlbWJlciBoYWlybGluZSBzZXBhcmF0b3JcblxuLnNlby1jb3B5IHtcblxuXHQmX19pbm5lciB7XG5cblx0XHRtYXgtd2lkdGg6IDkwMHB4O1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXG5cdH1cblxuXHQmX19leWVicm93IHtcblxuXHRcdG1hcmdpbi1ib3R0b206IDEycHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMjBlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0fVxuXG5cdCZfX3RpdGxlIHtcblxuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMTU7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtaGlnaGxpZ2h0KTtcblxuXHR9XG5cblx0Jl9fdGl0bGUtYWNjZW50IHtcblxuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0fVxuXG5cdCZfX3NlY3Rpb24ge1xuXG5cdFx0bWFyZ2luLWJvdHRvbTogMzJweDtcblxuXHR9XG5cblx0Jl9faDMge1xuXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmctbGVmdDogMjBweDtcblx0XHRtYXJnaW4tYm90dG9tOiAxMnB4O1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWhpZ2hsaWdodCk7XG5cblx0XHQmOjpiZWZvcmUge1xuXG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHRvcDogOHB4O1xuXHRcdFx0Ym90dG9tOiA4cHg7XG5cdFx0XHR3aWR0aDogM3B4O1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tZW1iZXIpO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDhweCByZ2JhKDI1NSwgMTIyLCA0NiwgMC41NSk7XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX3Age1xuXG5cdFx0bWF4LXdpZHRoOiA3OGNoO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRcdGZvbnQtc2l6ZTogMTQuNXB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjc7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblxuXHRcdCsgLnNlby1jb3B5X19wIHtcblxuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fbGlua3Mge1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDIwcHg7XG5cdFx0bWFyZ2luLXRvcDogNDBweDtcblx0XHRwYWRkaW5nLXRvcDogMjRweDtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoNjIsIDYyLCA2MiwgMC4zNSk7XG5cblx0fVxuXG5cdCZfX2xpbmtzLWxhYmVsIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xOGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXG5cdH1cblxuXHQmX19saW5rIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHQmOmhvdmVyIHtcblxuXHRcdFx0Y29sb3I6IHZhcigtLWVtYmVyLWdsb3cpO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19zZWFtIHtcblxuXHRcdGhlaWdodDogMnB4O1xuXHRcdG1hcmdpbi10b3A6IDQ4cHg7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLFxuXHRcdFx0dHJhbnNwYXJlbnQgMCUsXG5cdFx0XHRyZ2JhKDI1NSwgMTIyLCA0NiwgMC41NSkgNTAlLFxuXHRcdFx0dHJhbnNwYXJlbnQgMTAwJVxuXHRcdCk7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDE2cHggcmdiYSgyNTUsIDEyMiwgNDYsIDAuMzUpO1xuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBTaG9wIGJhbm5lciAoY29tcG9uZW50KVxuLy9cbi8vIElubGluZSBtYXJrZXRpbmcgYmFubmVyIHRoYXQgc2l0cyBpbnNpZGUgdGhlIGAuc2hvcC1ncmlkYCBiZXR3ZWVuXG4vLyByb3dzIG9mIHByb2R1Y3QgY2FyZHMsIHNwYW5uaW5nIHRoZSBmdWxsIGdyaWQgd2lkdGguIEVtYmVyIGdyYWRpZW50XG4vLyBiZyB3aXRoIHJhZGlhbCBoaWdobGlnaHRzICsgZXllYnJvdyArIHRpdGxlICsgbm90ZSArIENUQSBsaW5rIG9uXG4vLyB0aGUgcmlnaHQuXG4vL1xuLy8gR3JpZC1wYXJlbnQtYXdhcmU6IGBncmlkLWNvbHVtbjogMSAvIC0xYCBtYWtlcyBpdCBzcGFuIGV2ZXJ5IGNvbHVtblxuLy8gcmVnYXJkbGVzcyBvZiBncmlkIHRlbXBsYXRlLiBTaXRzIGluc2lkZSB0aGUgZ3JpZCBjaGlsZHJlbiBmbG93LlxuLy9cbi8vIEFuYXRvbXk6XG4vLyAgIF9fYm9keSAgICAgICDigJQgdGV4dCBzdGFjayAoZXllYnJvdyArIHRpdGxlICsgbm90ZSlcbi8vICAgX19leWVicm93ICAgIOKAlCBzbWFsbC1jYXBzIHByb21vIGxhYmVsXG4vLyAgIF9fdGl0bGUgICAgICDigJQgZGlzcGxheS1zY2FsZSBvZmZlciBoZWFkbGluZVxuLy8gICBfX25vdGUgICAgICAg4oCUIGJvZHkgY29weSBzdWItbGluZVxuLy8gICBfX2N0YS13cmFwICAg4oCUIHJpZ2h0LWNvbHVtbiB3cmFwcGVyIGZvciB0aGUgQ1RBIGxpbmtcbi8vICAgX19jdGEgICAgICAgIOKAlCBlbWJlciBhcnJvdyBsaW5rIENUQVxuXG4uc2hvcC1iYW5uZXIge1xuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Z3JpZC1jb2x1bW46IDEgLyAtMTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcblx0Z2FwOiAyNHB4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAzMnB4IDQwcHg7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZyxcblx0XHR2YXIoLS1lbWJlci1mb3JnZSkgMCUsXG5cdFx0dmFyKC0tZW1iZXIpIDU1JSxcblx0XHR2YXIoLS1lbWJlci1nbG93KSAxMDAlXG5cdCk7XG5cdGNvbG9yOiB2YXIoLS1vbi1wcmltYXJ5LWZpeGVkKTtcblx0Ym94LXNoYWRvdzpcblx0XHRpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyMzUsIDE4MCwgMC40NSksXG5cdFx0aW5zZXQgMCAtMXB4IDAgcmdiYSg5MCwgMjYsIDAsIDAuNTUpLFxuXHRcdDAgMTJweCAzMnB4IC04cHggcmdiYSgyNTUsIDEyMiwgNDYsIDAuMzUpO1xuXG5cdCY6OmJlZm9yZSB7XG5cblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRpbnNldDogMDtcblx0XHR6LWluZGV4OiAwO1xuXHRcdGJhY2tncm91bmQ6XG5cdFx0XHRyYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCAyMCUgMzAlLCByZ2JhKDI1NSwgMjM1LCAxODAsIDAuMjUpIDAlLCB0cmFuc3BhcmVudCA1NSUpLFxuXHRcdFx0cmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgODUlIDc1JSwgcmdiYSgyMDksIDcyLCAxNiwgMC4yOCkgMCUsIHRyYW5zcGFyZW50IDYwJSk7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0fVxuXG5cdCZfX2JvZHkge1xuXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogOHB4O1xuXG5cdH1cblxuXHQmX19leWVicm93IHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjIwZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRvcGFjaXR5OiAwLjcyO1xuXG5cdH1cblxuXHQmX190aXRsZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsaW5lLWhlaWdodDogMS4xNTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0fVxuXG5cdCZfX25vdGUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdFx0b3BhY2l0eTogMC44NjtcblxuXHR9XG5cblx0Jl9fY3RhLXdyYXAge1xuXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cblx0fVxuXG5cdCZfX2N0YSB7XG5cblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogOHB4O1xuXHRcdHBhZGRpbmc6IDE0cHggMjRweDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xOGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLW9uLXByaW1hcnktZml4ZWQpO1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoNiwgNiwgNiwgMC43NSk7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMTQpO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZTtcblxuXHRcdCY6aG92ZXIge1xuXG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDYsIDYsIDYsIDAuOSk7XG5cdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjUwLCAyNTAsIDI1MCwgMC4yNCksIDAgMCAxNnB4IHJnYmEoMCwgMCwgMCwgMC40KTtcblxuXHRcdH1cblxuXHR9XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDcwMHB4KSB7XG5cblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHRwYWRkaW5nOiAyNHB4IDIwcHg7XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIFNob3AgdG9vbGJhciAoY29tcG9uZW50KVxuLy9cbi8vIEFib3ZlLWdyaWQgY29udHJvbHM6IHByb2R1Y3QgY291bnQgb24gdGhlIGxlZnQgKyBzb3J0IGRyb3Bkb3duIG9uXG4vLyB0aGUgcmlnaHQuIFNpdHMgYWJvdmUgYC5zaG9wLWdyaWRgIGluc2lkZSB0aGUgc2hvcCBtYWluIGNvbHVtbi5cbi8vXG4vLyBBbmF0b215OlxuLy8gICBfX2NvdW50ICAgICAgIOKAlCBcIjE5MiBwcm9kdWN0c1wiIOKAlCBjb3VudCBpcyBhIF9fY291bnQgc3Ryb25nIHNwYW5cbi8vICAgX19zb3J0ICAgICAgICDigJQgZmxleCByb3c6IGxhYmVsICsgPHNlbGVjdD5cbi8vICAgX19zb3J0LWxhYmVsICDigJQgY2hyb21lLWRpbSB1cHBlcmNhc2UgXCJTb3J0IGJ5XCIgbGFiZWxcbi8vICAgX19zZWxlY3QgICAgICDigJQgc3R5bGVkIG5hdGl2ZSA8c2VsZWN0PiAoY2hyb21lLXdhcm0sIGRhcmsgYmcsIGVtYmVyIGZvY3VzKVxuXG4uc2hvcC10b29sYmFyIHtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IDI0cHg7XG5cdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXHRib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCByZ2JhKDYyLCA2MiwgNjIsIDAuNDUpO1xuXG5cdCZfX2NvdW50IHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXG5cdFx0c3Ryb25nIHtcblxuXHRcdFx0Y29sb3I6IHZhcigtLWNocm9tZS1oaWdobGlnaHQpO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fc29ydCB7XG5cblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiAxMnB4O1xuXG5cdH1cblxuXHQmX19zb3J0LWxhYmVsIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXG5cdH1cblxuXHQmX19zZWxlY3Qge1xuXG5cdFx0cGFkZGluZzogMTBweCAxNHB4O1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoNiwgNiwgNiwgMC42KTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDYyLCA2MiwgNjIsIDAuNjUpO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjAwbXMgZWFzZSwgYm94LXNoYWRvdyAyMDBtcyBlYXNlO1xuXG5cdFx0Jjpmb2N1cyB7XG5cblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tZW1iZXIpO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDEycHggcmdiYSgyNTUsIDEyMiwgNDYsIDAuNCk7XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIFNpZ25hbCBjZWxsIChjb21wb25lbnQpXG4vL1xuLy8gU21hbGwgdmVydGljYWwgbGFiZWwvdmFsdWUgc3RhY2sgdXNlZCB0byBjb252ZXkgYSBwcm9vZiBzaWduYWwgKE9yaWdpbixcbi8vIFN1cHBvcnQsIENhdGFsb2d1ZSwgV2FycmFudHkpIGluc2lkZSBhIHRydXN0LXN0cmlwIGJhbmQuIFNpdHMgaW4gYSBgLmdyaWRgXG4vLyB3aXRoIHNpYmxpbmcgY2VsbHM7IGVhY2ggY2VsbCBpcyBzZXBhcmF0ZWQgZnJvbSB0aGUgbmV4dCBieSBhIHJpZ2h0XG4vLyBoYWlybGluZSAoZHJvcHBlZCBvbiBsYXN0IGNoaWxkIGFuZCBvbiBtb2JpbGUpLlxuLy9cbi8vIFZhbHVlIGNhbiBjYXJyeSBhIGAtLWVtYmVyYCBzdWItc3BhbiBmb3IgdGhlIGhpZ2hsaWdodCBudW1iZXIvcGhyYXNlLlxuLy9cbi8vIFdhbGtlZCBmcm9tIE1BUzQzIChwb3N0IDEyODQwKSBhcyBBUlRTQUJFUlMgUzIgUDIgwrcgcmVuYW1lZCBmcm9tXG4vLyB0cnVzdC1zdHJpcF9fY2VsbCBpbiB0aGUgc2VjdGlvbi1tb2RpZmllciByZXRyb2ZpdC5cblxuLnNpZ25hbC1jZWxsIHtcblxuXHRwYWRkaW5nOiA0cHggMzJweDtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSg2MiwgNjIsIDYyLCAwLjM1KTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiA2cHg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXG5cdCY6bGFzdC1jaGlsZCB7XG5cblx0XHRib3JkZXItcmlnaHQ6IDA7XG5cblx0fVxuXG5cdCZfX2xhYmVsIHtcblxuXHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjI4ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cblx0fVxuXG5cdCZfX3ZhbHVlIHtcblxuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjEwZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXG5cdFx0Ji0tZW1iZXIge1xuXG5cdFx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdFx0fVxuXG5cdH1cblxuXHRAbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcblxuXHRcdGJvcmRlci1yaWdodDogMDtcblx0XHRwYWRkaW5nOiA0cHggMTJweDtcblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgU3BlYyBjYWxsb3V0IChjb21wb3NpdGlvbilcbi8vXG4vLyBDb21wYWN0IHN0cnVjdHVyZWQgc3BlYyB0YWJsZSBmb3IgdXNlIElOU0lERSBhbiBlZGl0b3JpYWwgYXNpZGUg4oCUXG4vLyBzbWFsbGVyIGFuZCBzaW1wbGVyIHRoYW4gYC5zcGVjLXZhdWx0YCAod2hpY2ggaXMgYSBzZWN0aW9uLXNjYWxlXG4vLyBkYXJrLXBhbmVsIGNvbnRhaW5lcikuIEhlYWRlciByb3cgKHRpdGxlICsgY2VydCBiYWRnZSkgKyBsYWJlbC92YWx1ZVxuLy8gcm93cyBzZXBhcmF0ZWQgYnkgaGFpcmxpbmVzLlxuLy9cbi8vIENvbXBvc2VzIGluc2lkZSBgLmVkaXRvcmlhbC1iYW5kX19hc2lkZWAgb24gY2F0ZWdvcnkgcGFnZXMsIG9yIGFueVxuLy8gYXNpZGUvc2lkZWJhciBzdXJmYWNlIHRoYXQgbmVlZHMgYSBtaW5pIHNwZWMgdGFibGUuXG4vL1xuLy8gQW5hdG9teTpcbi8vICAgX19oZWFkZXIgICAgIOKAlCBmbGV4IHJvdzogdGl0bGUgKyBjZXJ0IGluZGljYXRvclxuLy8gICBfX3RpdGxlICAgICAg4oCUIGNocm9tZS1oaWdobGlnaHQgZGlzcGxheSB0aXRsZVxuLy8gICBfX2NlcnQgICAgICAg4oCUIGVtYmVyIHVwcGVyY2FzZSBjZXJ0IGJhZGdlIHdpdGggZG90IHByZWZpeCB2aWEgOjpiZWZvcmVcbi8vICAgX19jZXJ0LWRvdCAgIOKAlCBlbWJlciBkb3QgaW5kaWNhdG9yIGluc2lkZSBfX2NlcnQgKHZpYSBtYXJrdXApXG4vLyAgIF9fcm93ICAgICAgICDigJQgb25lIGxhYmVsL3ZhbHVlIHBhaXIgKDItY29sIGdyaWQsIGhhaXJsaW5lIHNlcGFyYXRvcilcbi8vICAgX19sYWJlbCAgICAgIOKAlCBjaHJvbWUtZGltIHVwcGVyY2FzZSBsYWJlbFxuLy8gICBfX3ZhbHVlICAgICAg4oCUIGNocm9tZS13YXJtIGJvZHkgdmFsdWU7IGBzdHJvbmdgIHN1Yi1zcGFucyBpbiBjaHJvbWUtaGlnaGxpZ2h0XG5cbi5zcGVjLWNhbGxvdXQge1xuXG5cdHBhZGRpbmc6IDIwcHggMjJweDtcblx0YmFja2dyb3VuZDogcmdiYSgyMCwgMjAsIDIwLCAwLjk0KTtcblx0Ym94LXNoYWRvdzpcblx0XHRpbnNldCAwIDFweCAwIHJnYmEoMjUwLCAyNTAsIDI1MCwgMC4xMiksXG5cdFx0aW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjU1KSxcblx0XHQwIDEwcHggMjhweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuOSk7XG5cblx0Jl9faGVhZGVyIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcblx0XHRwYWRkaW5nLWJvdHRvbTogMTRweDtcblx0XHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgyNTUsIDEyMiwgNDYsIDAuMzUpO1xuXG5cdH1cblxuXHQmX190aXRsZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1oaWdobGlnaHQpO1xuXG5cdH1cblxuXHQmX19jZXJ0IHtcblxuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiA2cHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjE4ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdH1cblxuXHQmX19jZXJ0LWRvdCB7XG5cblx0XHR3aWR0aDogNnB4O1xuXHRcdGhlaWdodDogNnB4O1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWVtYmVyKTtcblx0XHRib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjcpO1xuXG5cdH1cblxuXHQmX19yb3cge1xuXG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDgwcHggMWZyO1xuXHRcdGdhcDogMTZweDtcblx0XHRwYWRkaW5nOiAxMnB4IDA7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSg2MiwgNjIsIDYyLCAwLjM1KTtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX2xhYmVsIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjE4ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cblx0fVxuXG5cdCZfX3ZhbHVlIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtd2FybSk7XG5cblx0XHRzdHJvbmcge1xuXG5cdFx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWhpZ2hsaWdodCk7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBTcGVjIGNvbHVtbiAocHJpbWl0aXZlKVxuLy9cbi8vIEEgdGl0bGVkIGNvbHVtbiBvZiBgLnNwZWMtcm93YCBpdGVtcyBpbnNpZGUgYC5zcGVjLXZhdWx0YC4gT25seSB0aGVcbi8vIHRpdGxlIGxpdmVzIG9uIHRoaXMgcHJpbWl0aXZlIOKAlCB0aGUgcm93cyBjb21wb3NlIGZyZWVseSBpbnNpZGUgaXQuXG4vL1xuLy8gQW5hdG9teTpcbi8vICAgX190aXRsZSAg4oCUIGVtYmVyIHVwcGVyY2FzZSBjb2x1bW4gaGVhZGluZyB3aXRoIGJvdHRvbSBoYWlybGluZVxuXG4uc3BlYy1jb2x1bW4ge1xuXG5cdCZfX3RpdGxlIHtcblxuXHRcdG1hcmdpbi1ib3R0b206IDI0cHg7XG5cdFx0cGFkZGluZy1ib3R0b206IDE2cHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjhweDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgyNTUsIDEyMiwgNDYsIDAuNDUpO1xuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBTcGVjIHJvdyAocHJpbWl0aXZlKVxuLy9cbi8vIFNpbmdsZSBsYWJlbCAvIGRvdHRlZC1sZWFkZXIgLyB2YWx1ZSByb3cgZm9yIGEgc3BlYyB0YWJsZS4gVXNlcyBncmlkXG4vLyAoYXV0byAxZnIgYXV0bykgd2l0aCBhIGRvdHRlZC1sZWFkZXIgYm9yZGVyIGJldHdlZW4gbGFiZWwgYW5kIHZhbHVlXG4vLyBmb3IgdGhlIGNsYXNzaWMgXCJzcGVjaWZpY2F0aW9ucyBzaGVldFwiIGZlZWwuIEJvdHRvbSBoYWlybGluZVxuLy8gc2VwYXJhdG9yIGJldHdlZW4gcm93cy5cbi8vXG4vLyBBbmF0b215OlxuLy8gICBfX2xhYmVsICAgICAgIOKAlCBjaHJvbWUtZGltIGJvZHkgdXBwZXJjYXNlIGxhYmVsIChcIkhpbHQgTGVuZ3RoXCIpXG4vLyAgIF9fbGVhZGVyICAgICAg4oCUIGRvdHRlZC1saW5lIHNlcGFyYXRvciBmaWxsaW5nIHRoZSBtaWRkbGUgY29sdW1uXG4vLyAgIF9fdmFsdWUgICAgICAg4oCUIGNocm9tZS13YXJtIGRpc3BsYXkgdmFsdWUgKFwiMTIuMiBpblwiKVxuLy8gICBfX3ZhbHVlLXVuaXQgIOKAlCBjaHJvbWUtZGltIHN1Yi11bml0IGluc2lkZSB2YWx1ZSAoXCIoMzEwIG1tKVwiKVxuLy8gICBfX3ZhbHVlLS1hY2NlbnQgIOKAlCBlbWJlciBoaWdobGlnaHQgdmFsdWUgKGUuZy4gXCIzNFwiIGZvciBzb3VuZCBmb250cylcblxuLnNwZWMtcm93IHtcblxuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87XG5cdGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcblx0Z2FwOiAxMnB4O1xuXHRwYWRkaW5nOiAxNnB4IDA7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoNjIsIDYyLCA2MiwgMC4zMCk7XG5cblx0Jl9fbGFiZWwge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjEwZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cblx0fVxuXG5cdCZfX2xlYWRlciB7XG5cblx0XHRtaW4td2lkdGg6IDQwcHg7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCByZ2JhKDYyLCA2MiwgNjIsIDAuNjUpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcblxuXHR9XG5cblx0Jl9fdmFsdWUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtd2FybSk7XG5cblx0XHQmLS1hY2NlbnQge1xuXG5cdFx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXHRcdFx0Zm9udC1zaXplOiAxN3B4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fdmFsdWUtdW5pdCB7XG5cblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBTcGVjIHZhdWx0IChjb21wb3NpdGlvbilcbi8vXG4vLyBEYXJrIHBhZGRlZCBwYW5lbCB0aGF0IGhvbGRzIHRoZSB0ZWNobmljYWwtc3BlY2lmaWNhdGlvbnMgY29sdW1ucyBvblxuLy8gdGhlIHByb2R1Y3QgcGFnZS4gVHdvLWNvbHVtbiBncmlkIG9mIGAuc3BlYy1jb2x1bW5gIGluc2lkZS4gU2NyZXctZG90XG4vLyBjb3JuZXJzLCBwYW5lbC1saWZ0IHNoYWRvdywgaHVsbC1wYW5lbC1kYXJrIGJhc2Ug4oCUIHJlYWRzIGFzIGFuIGluc2V0XG4vLyBcInZhdWx0XCIgcmVjb3JkIGluc2lkZSB0aGUgc2VjdGlvbiBmcmFtZS5cbi8vXG4vLyBDb21wb3NlcyBpbnNpZGUgYC5zZWN0aW9uLnNlY3Rpb24tLWNhcmJvbiA+IC5zZWN0aW9uX19pbm5lcmAgb24gdGhlXG4vLyBzcGVjLXZhdWx0IHNlY3Rpb24uIERpc3RpbmN0IGZyb20gb3RoZXIgcGFuZWwtY2FyZHMgYmVjYXVzZSBpdCdzIGFcbi8vIHNlY3Rpb24tc2NhbGUgY29udGFpbmVyIChzcGFucyB0aGUgZnVsbCBzZWN0aW9uLWlubmVyKSBub3QgYSBjYXJkLlxuXG5AdXNlICcuLi9zZXR0aW5ncy9zY3Jldy1kb3RzJyBhcyAqO1xuXG4uc3BlYy12YXVsdCB7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG5cdGdhcDogNjRweDtcblx0cGFkZGluZzogNjRweDtcblx0YmFja2dyb3VuZDogdmFyKC0taHVsbC1wYW5lbC1kYXJrKTtcblx0Ym94LXNoYWRvdzogdmFyKC0tcGFuZWwtbGlmdCk7XG5cdEBpbmNsdWRlIHNjcmV3LWRvdHMoOHB4LCA4cHgpO1xuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcblxuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdGdhcDogMzJweDtcblx0XHRwYWRkaW5nOiAzMnB4O1xuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBTdGlja3kgQVRDIGJhciAoY29tcG9uZW50KVxuLy9cbi8vIEZpeGVkLWJvdHRvbSBxdWljay1idXkgYmFyIHRoYXQgYXBwZWFycyBvbiBzY3JvbGwgKFBoYXNlIDIgcmVuZGVycyBpdFxuLy8gYWx3YXlzLXNob3duIHZpYSBgLS1zaG93bmA7IFBoYXNlIDMgd2lsbCBKUy1hdHRhY2ggc2Nyb2xsLXNob3cvaGlkZVxuLy8gd2l0aCBJbnRlcnNlY3Rpb25PYnNlcnZlciBvbiB0aGUgcHJpbWFyeSBidXktYWN0aW9ucyBibG9jaykuIENsYXNzXG4vLyBob29rcyAoYC0tc2hvd25gKSBzdGF5IHN0YWJsZS5cbi8vXG4vLyBFbWJlciAycHggdG9wIHJhaWwgKDo6YmVmb3JlKSByZWFkcyBhcyBhIFwic2lnbmFsXCIgYmFyIGFib3ZlIHRoZVxuLy8gaHVsbC1wYW5lbC1saWZ0IGJnLiBDb250ZW50OiB0aHVtYiArIG1ldGEgKHRpdGxlICsgbGluZSkgKyBwcmljZSArIENUQS5cbi8vXG4vLyBBbmF0b215OlxuLy8gICBfX2lubmVyICAgIOKAlCBncmlkIHJvdzogdGh1bWIgLyBtZXRhIC8gcHJpY2UgLyBjdGEgKGRyb3BzIHByaWNlIG9uIG1vYmlsZSlcbi8vICAgX190aHVtYiAgICDigJQgNTbDlzU2IHByZXZpZXdcbi8vICAgX19tZXRhICAgICDigJQgdmVydGljYWwgc3RhY2tcbi8vICAgX190aXRsZSAgICDigJQgY2hyb21lLWhpZ2hsaWdodCBkaXNwbGF5IHRpdGxlXG4vLyAgIF9fbGluZSAgICAg4oCUIGNocm9tZS1kaW0gdXBwZXJjYXNlIHNwZWMgbGluZVxuLy8gICBfX3ByaWNlICAgIOKAlCBlbWJlciB0YWJ1bGFyLW51bSBwcmljZSAoaGlkZGVuIOKJpDcwMClcbi8vICAgX19jdGEgICAgICDigJQgdXN1YWxseSBjbGFzcy1taXggLmJ1dHRvbi5idXR0b24tLXByaW1hcnlcblxuLnN0aWNreS1hdGMge1xuXG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdGJvdHRvbTogMDtcblx0ei1pbmRleDogNDA7XG5cdHBhZGRpbmc6IDE2cHggMDtcblx0YmFja2dyb3VuZDogdmFyKC0taHVsbC1wYW5lbC1saWZ0KTtcblx0Ym94LXNoYWRvdzpcblx0XHRpbnNldCAwIDFweCAwIHJnYmEoMjUwLCAyNTAsIDI1MCwgMC4xNiksXG5cdFx0aW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjg1KSxcblx0XHQwIC0xMnB4IDMycHggLThweCByZ2JhKDAsIDAsIDAsIDAuODUpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlO1xuXG5cdCY6OmJlZm9yZSB7XG5cblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IC0ycHg7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHRoZWlnaHQ6IDJweDtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsXG5cdFx0XHRyZ2JhKDI1NSwgMTIyLCA0NiwgMC4yNSkgMCUsXG5cdFx0XHRyZ2JhKDI1NSwgMTIyLCA0NiwgMC44NSkgNTAlLFxuXHRcdFx0cmdiYSgyNTUsIDEyMiwgNDYsIDAuMjUpIDEwMCVcblx0XHQpO1xuXHRcdGJveC1zaGFkb3c6IDAgLTEycHggMzBweCByZ2JhKDI1NSwgMTIyLCA0NiwgMC4zNSk7XG5cblx0fVxuXG5cdCYtLXNob3duIHtcblxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblxuXHR9XG5cblx0Jl9faW5uZXIge1xuXG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDU2cHggMWZyIGF1dG8gYXV0bztcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogMTZweDtcblxuXHR9XG5cblx0Jl9fdGh1bWIge1xuXG5cdFx0d2lkdGg6IDU2cHg7XG5cdFx0aGVpZ2h0OiA1NnB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWh1bGwtcGFuZWwpO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdGJveC1zaGFkb3c6XG5cdFx0XHRpbnNldCAwIDFweCAwIHJnYmEoMjUwLCAyNTAsIDI1MCwgMC4xNiksXG5cdFx0XHQwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcblxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1oaWdobGlnaHQpO1xuXG5cdH1cblxuXHQmX19saW5lIHtcblxuXHRcdG1hcmdpbi10b3A6IDJweDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTZlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblxuXHR9XG5cblx0Jl9fcHJpY2Uge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcblx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdH1cblxuXHRAbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcblxuXHRcdCZfX2lubmVyIHtcblxuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0MHB4IDFmciBhdXRvO1xuXG5cdFx0fVxuXG5cdFx0Jl9fcHJpY2Uge1xuXG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBTdGlja3kgc2hvcCBjaGlwIChjb21wb25lbnQpXG4vL1xuLy8gRmxvYXRpbmcgYm90dG9tLXJpZ2h0IHNob3Agc2hvcnRjdXQgY2hpcCB0aGF0IHBlcnNpc3RzIGFzIHRoZSByZWFkZXJcbi8vIHNjcm9sbHMgYSBjYXRlZ29yeSBwYWdlLiBFbWJlci10aW50ZWQgcGFuZWwgd2l0aCBhIGNvdW50ICsgbGFiZWwgK1xuLy8gYXJyb3cgZ2x5cGguIEFuY2hvci1lbGVtZW50ICh3aG9sZSBjaGlwIGlzIGNsaWNrYWJsZSkuXG4vL1xuLy8gQW5hdG9teTpcbi8vICAgX19jb3VudCAgIOKAlCBlbWJlciB0YWJ1bGFyLW51bSBjb3VudCAoXCI0MlwiKVxuLy8gICBfX2xhYmVsICAg4oCUIGNocm9tZS13YXJtIHVwcGVyY2FzZSBsYWJlbCAoXCJTaG9wIFByZXF1ZWwgaGlsdHNcIilcbi8vICAgX19hcnJvdyAgIOKAlCBlbWJlciBhcnJvdyBnbHlwaFxuXG4uc3RpY2t5LXNob3Age1xuXG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0cmlnaHQ6IDMycHg7XG5cdGJvdHRvbTogMzJweDtcblx0ei1pbmRleDogMzA7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG5cdHBhZGRpbmc6IDE0cHggMjJweDtcblx0YmFja2dyb3VuZDogcmdiYSgyMCwgMjAsIDIwLCAwLjk1KTtcblx0Ym94LXNoYWRvdzpcblx0XHRpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjM1KSxcblx0XHRpbnNldCAwIC0xcHggMCByZ2JhKDI1NSwgMTIyLCA0NiwgMC4zNSksXG5cdFx0MCAxMHB4IDI4cHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjkpLFxuXHRcdDAgMCAyMHB4IHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjM1KTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLCB0cmFuc2Zvcm0gMjAwbXMgZWFzZTtcblxuXHQmOmhvdmVyIHtcblxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcblx0XHRib3gtc2hhZG93OlxuXHRcdFx0aW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMTIyLCA0NiwgMC41NSksXG5cdFx0XHRpbnNldCAwIC0xcHggMCByZ2JhKDI1NSwgMTIyLCA0NiwgMC41NSksXG5cdFx0XHQwIDE0cHggMzJweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuOTUpLFxuXHRcdFx0MCAwIDMycHggcmdiYSgyNTUsIDEyMiwgNDYsIDAuNTUpO1xuXG5cdH1cblxuXHQmX19jb3VudCB7XG5cblx0XHRmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG5cdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblxuXHR9XG5cblx0Jl9fbGFiZWwge1xuXG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTZlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtd2FybSk7XG5cblx0fVxuXG5cdCZfX2Fycm93IHtcblxuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdH1cblxuXHRAbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcblxuXHRcdHJpZ2h0OiAxNnB4O1xuXHRcdGJvdHRvbTogMTZweDtcblx0XHRwYWRkaW5nOiAxMnB4IDE4cHg7XG5cblx0XHQmX19sYWJlbCB7XG5cblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIFN0b2NrIGluZGljYXRvciAocHJpbWl0aXZlKVxuLy9cbi8vIE9uZS1saW5lIHN0b2NrL2Rpc3BhdGNoIHNpZ25hbCDigJQgZW1iZXIgZG90ICsgdXBwZXJjYXNlIHN0YXR1cyB0ZXh0LlxuLy8gVXNlZCBpbiB0aGUgcHJvZHVjdC1oZXJvIGJ1eS1hY3Rpb25zIGFib3ZlIHRoZSBBVEMgcm93LlxuXG4uc3RvY2staW5kaWNhdG9yIHtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDEycHg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRmb250LXNpemU6IDEycHg7XG5cdGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiB2YXIoLS1jaHJvbWUtd2FybSk7XG5cblx0Jl9fZG90IHtcblxuXHRcdHdpZHRoOiA4cHg7XG5cdFx0aGVpZ2h0OiA4cHg7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tZW1iZXIpO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAxMnB4IHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjc1KTtcblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgVGVzdGltb25pYWwgY2FyZCAoY29tcG9uZW50KVxuLy9cbi8vIE93bmVyLXJlcG9ydCBxdW90ZSBjYXJkOiBiaWcgdHJhbnNsdWNlbnQgZW1iZXIgcXVvdGUtZ2x5cGggaW4gdGhlIHRvcC1cbi8vIHJpZ2h0IGNvcm5lciwgYSByb3cgb2YgZW1iZXIgc3RhcnMsIHRoZSBxdW90ZSBib2R5LCBhbmQgYSBmb290IHJvdyB3aXRoXG4vLyBhdmF0YXIgKyBuYW1lL3Byb2R1Y3QgbWV0YSBzZXBhcmF0ZWQgYnkgYSBoYWlybGluZS4gU2l0cyBpbiBhXG4vLyAuZ3JpZC5ncmlkLS0zIGFzIHRoZSB0ZXN0aW1vbmlhbC1ncmlkIHNlY3Rpb24ncyBjaGlsZHJlbi5cbi8vXG4vLyBBbmF0b215OlxuLy8gICBfX21hcmsgICAgICAg4oCUIGxhcmdlIGVtYmVyIFwiIGdseXBoLCBhYnNvbHV0ZSB0b3AtcmlnaHQsIDE1JSBvcGFjaXR5XG4vLyAgIF9fc3RhcnMgICAgICDigJQgNSBlbWJlciBzdGFycyAoVW5pY29kZSDimIUpLCAxOHB4IHdpdGggdGV4dC1zaGFkb3cgZ2xvd1xuLy8gICBfX2JvZHkgICAgICAg4oCUIHRoZSBxdW90ZSB0ZXh0ICgxNS41cHggY2hyb21lLXdhcm0sIGZsZXg6MSBzbyBmb290XG4vLyAgICAgICAgICAgICAgICAgIHN0aWNrcyB0byB0aGUgYm90dG9tIG9mIHRoZSBjYXJkKVxuLy8gICBfX2Zvb3QgICAgICAg4oCUIGF2YXRhciArIG1ldGEgcm93LCB0b3AgaGFpcmxpbmUgc2VwYXJhdG9yXG4vLyAgIF9fYXZhdGFyICAgICDigJQgNDhweCBzcXVhcmUgd2l0aCBlbWJlciBpbml0aWFscyBvbiBodWxsLXBhbmVsLWRhcmtcbi8vICAgX19tZXRhICAgICAgIOKAlCB2ZXJ0aWNhbCBzdGFjayAobmFtZSArIHByb2R1Y3QpXG4vLyAgIF9fbmFtZSAgICAgICDigJQgMTNweCB1cHBlcmNhc2UgY2hyb21lLWhpZ2hsaWdodFxuLy8gICBfX3Byb2R1Y3QgICAg4oCUIDEwcHggdXBwZXJjYXNlIGNocm9tZS1kaW1cbi8vICAgX19wcm9kdWN0LWVtIOKAlCBlbWJlciBoaWdobGlnaHQgc3BhbiBmb3IgdGhlIHByb2R1Y3QgbmFtZSBpbnNpZGUgcHJvZHVjdFxuLy9cbi8vIFJlZ2lzdHJ5LWFsaWFzZWQgZnJvbSBtb2NrdXAgYC50ZXN0aW1vbmlhbGAg4oaSIHNoaXBwZWQgYC50ZXN0aW1vbmlhbC1jYXJkYC5cbi8vXG4vLyBXYWxrZWQgZnJvbSBNQVM0MyAocG9zdCAxMjg0MCkgYXMgQVJUU0FCRVJTIFMyIFAxMC5cblxuLnRlc3RpbW9uaWFsLWNhcmQge1xuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAyMnB4O1xuXHRtaW4taGVpZ2h0OiAzODBweDtcblx0cGFkZGluZzogNDBweCAzNnB4IDM2cHg7XG5cdGJhY2tncm91bmQ6IHZhcigtLWh1bGwtcGFuZWwpO1xuXHRib3gtc2hhZG93OlxuXHRcdGluc2V0IDAgMXB4IDAgcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjE2KSxcblx0XHRpbnNldCAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIDAuNTUpLFxuXHRcdDAgMTBweCAyOHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgMC45NSksXG5cdFx0MCAycHggNnB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjcpO1xuXG5cdCZfX21hcmsge1xuXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMzBweDtcblx0XHRyaWdodDogMzRweDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDcycHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXHRcdG9wYWNpdHk6IDAuMTU7XG5cblx0fVxuXG5cdCZfX3N0YXJzIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cdFx0dGV4dC1zaGFkb3c6IDAgMCAxMnB4IHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjQpO1xuXG5cdH1cblxuXHQmX19ib2R5IHtcblxuXHRcdGZsZXg6IDE7XG5cdFx0Zm9udC1zaXplOiAxNS41cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsaW5lLWhlaWdodDogMS42O1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtd2FybSk7XG5cblx0fVxuXG5cdCZfX2Zvb3Qge1xuXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogMTZweDtcblx0XHRwYWRkaW5nLXRvcDogMjJweDtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSg2MiwgNjIsIDYyLCAwLjM1KTtcblxuXHR9XG5cblx0Jl9fYXZhdGFyIHtcblxuXHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR3aWR0aDogNDhweDtcblx0XHRoZWlnaHQ6IDQ4cHg7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0taHVsbC1wYW5lbC1kYXJrKTtcblx0XHRib3gtc2hhZG93OiB2YXIoLS1jaHJvbWUtdG9wLXNvZnQpO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG5cdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblxuXHR9XG5cblx0Jl9fbWV0YSB7XG5cblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiAzcHg7XG5cblx0fVxuXG5cdCZfX25hbWUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTRlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtaGlnaGxpZ2h0KTtcblxuXHR9XG5cblx0Jl9fcHJvZHVjdCB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4yNGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXG5cdH1cblxuXHQmX19wcm9kdWN0LWVtIHtcblxuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIFRpZXIgY2FyZCAoY29tcG9uZW50KVxuLy9cbi8vIENvbXBvc2VkIGluc2lkZSBgLnRpZXItY29tcGFyaXNvbl9fZ3JpZGAgdG8gcmVwcmVzZW50IG9uZSBzdWJzY3JpcHRpb24gL1xuLy8gcHJvZHVjdCB0aWVyIGluIGEgbGFkZGVyIGNvbXBhcmlzb24uIERhcmsgcmdiYSBzdXJmYWNlIHdpdGggYSBzdWJ0bGVcbi8vIGJhY2tkcm9wLWJsdXIsIGluc2V0IGNocm9tZS1oaWdobGlnaHQgdG9wIGVkZ2UgKyBpbnNldCBzaGFkb3cgYm90dG9tLFxuLy8gZHJvcHBlZCBzaGFkb3dzIGZvciBkZXB0aCwgcGx1cyBkZWNvcmF0aXZlIHNjaS1maSBcInNjcmV3XCIgZG90cyBhdCB0aGVcbi8vIHRvcCBjb3JuZXJzLlxuLy9cbi8vIE1vZGlmaWVyIGAtLWN1cnJlbnRgIGhpZ2hsaWdodHMgdGhlIG9wZXJhdG9yLXJlY29tbWVuZGVkIHRpZXIg4oCUIHJlcGxhY2VzXG4vLyB0aGUgYmFzZSBzaGFkb3cgd2l0aCBhbiBlbWJlci1ob3QtcmltICsgcGFuZWwtbGlmdCwgYnJpZ2h0ZW5zIHRoZVxuLy8gYmFja2dyb3VuZC4gVGhlIHJlY29tbWVuZGVkIHRpZXIgYWxzbyBjYXJyaWVzIGEgZmxvYXRpbmcgYF9fcmliYm9uYFxuLy8gYmFkZ2UgdGhhdCBzaXRzIGFib3ZlIHRoZSB0b3AgZWRnZSBvZiB0aGUgY2FyZC5cbi8vXG4vLyBNZWRpYSBwYW5lIChgX19zdGFnZWApIGlzIGEgNDozIGJhY2tncm91bmQgaW1hZ2UuIEJlbG93IGl0OiBpbmRleCBsYWJlbFxuLy8gKGVtYmVyKSwgdGllciBuYW1lLCBwcmljZSAod2l0aCBlbWJlciBoaWdobGlnaHQpLCBhbmQgYSBidWxsZXRlZCBzcGVjXG4vLyBsaXN0IHdoZXJlIGVhY2ggYnVsbGV0IGlzIGFuIGVtYmVyIGRvdCB3aXRoIGEgc29mdCBnbG93LlxuLy9cbi8vIFdhbGtlZCBmcm9tIE1BUzQzIChwb3N0IDEyODQwKSBhcyBBUlRTQUJFUlMgUzIgUDQuXG5cbi50aWVyLWNhcmQge1xuXG5cdGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAyMCwgMC45NCk7XG5cdGJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpO1xuXHQtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpO1xuXHRib3gtc2hhZG93OlxuXHRcdGluc2V0IDAgMXB4IDAgcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjE2KSxcblx0XHRpbnNldCAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIDAuNTUpLFxuXHRcdDAgMTBweCAyOHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgMC45NSksXG5cdFx0MCAycHggNnB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjcpO1xuXHRwYWRkaW5nOiAyNHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMTZweDtcblxuXHQvLyBEZWNvcmF0aXZlIFwic2NyZXdcIiBkb3RzIGF0IHRoZSB0b3AgY29ybmVycyDigJQgc2NpLWZpIHBhbmVsLXBsYXRlIGRldGFpbC5cblx0Jjo6YmVmb3JlLFxuXHQmOjphZnRlciB7XG5cblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogNnB4O1xuXHRcdGhlaWdodDogNnB4O1xuXHRcdHRvcDogNnB4O1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAyMCwgMC45OCk7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMzApO1xuXG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXG5cdFx0bGVmdDogNnB4O1xuXG5cdH1cblxuXHQmOjphZnRlciB7XG5cblx0XHRyaWdodDogNnB4O1xuXG5cdH1cblxuXHQvLyBSZWNvbW1lbmRlZCB0aWVyIOKAlCBlbWJlci1ob3QtcmltIGdsb3cgKyBicmlnaHRlciBwYW5lbCBiYWNrZ3JvdW5kLlxuXHQmLS1jdXJyZW50IHtcblxuXHRcdGJhY2tncm91bmQ6IHJnYmEoMzYsIDM2LCAzNiwgMC45NCk7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tZW1iZXItaG90LXJpbSksIHZhcigtLXBhbmVsLWxpZnQpO1xuXG5cdH1cblxuXHQvLyBGbG9hdGluZyBiYWRnZSBhYm92ZSB0aGUgY2FyZCB0b3AgZWRnZSDigJQgMy1zdG9wIGVtYmVyIGdyYWRpZW50IHdpdGhcblx0Ly8gZW1iZXItZ2xvdy1zbSBoYWxvLiBcIlJlY29tbWVuZGVkXCIgb3Igc2ltaWxhciBjb3B5LlxuXHQmX19yaWJib24ge1xuXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTEycHg7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRwYWRkaW5nOiA2cHggMTRweDtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLFxuXHRcdFx0dmFyKC0tZW1iZXItZ2xvdyksXG5cdFx0XHR2YXIoLS1lbWJlciksXG5cdFx0XHR2YXIoLS1lbWJlci1kZWVwKVxuXHRcdCk7XG5cdFx0Y29sb3I6IHZhcigtLW9uLXByaW1hcnktZml4ZWQpO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjIwZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRib3gtc2hhZG93OiB2YXIoLS1lbWJlci1nbG93LXNtKTtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdH1cblxuXHQmX19zdGFnZSB7XG5cblx0XHRhc3BlY3QtcmF0aW86IDQgLyAzO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWh1bGwtcGFuZWwtZGFyayk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuNyk7XG5cblx0fVxuXG5cdCZfX2lkeCB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMjBlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0fVxuXG5cdCZfX25hbWUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxN3B4O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtaGlnaGxpZ2h0KTtcblxuXHR9XG5cblx0Jl9fcHJpY2Uge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXG5cdH1cblxuXHQmX19wcmljZS1lbSB7XG5cblx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cblx0fVxuXG5cdCZfX3NwZWNzIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRnYXA6IDZweDtcblxuXHR9XG5cblx0Ly8gQnVsbGV0ZWQgc3BlYyDigJQgZW1iZXIgc3F1YXJlIGRvdCB3aXRoIHNvZnQgZ2xvdyBsZWZ0IG9mIGVhY2ggbGluZS5cblx0Jl9fc3BlYyB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblx0XHRsaW5lLWhlaWdodDogMS40O1xuXHRcdHBhZGRpbmctbGVmdDogMTJweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQmOjpiZWZvcmUge1xuXG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHRvcDogOHB4O1xuXHRcdFx0d2lkdGg6IDRweDtcblx0XHRcdGhlaWdodDogNHB4O1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tZW1iZXIpO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDZweCByZ2JhKDI1NSwgMTIyLCA0NiwgMC42NSk7XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIFRydXN0IGNoaXAgKGNvbXBvbmVudClcbi8vXG4vLyBJY29uICsgYm9keSBob3Jpem9udGFsIHRydXN0IGNoaXAg4oCUIHVzZWQgaW4gdGhlIHNob3AtYXJjaGl2ZSB0cnVzdC1iYXJcbi8vIHN0cmlwICg0LWNlbGwgcm93IG9mIHByb29mIHNpZ25hbHM6IGRlbGl2ZXJ5LCBzZXJ2aWNlLCBndWFyYW50ZWUsXG4vLyB3YXJyYW50eSkuIERpc3RpbmN0IHNoYXBlIGZyb20gYC50cnVzdC1jbHVzdGVyX19pdGVtYCAod2hpY2ggaXMgYSBzbWFsbFxuLy8gdmVydGljYWwgbGFiZWwvdGV4dCBzdGFjayBmb3IgdGhlIHByb2R1Y3QtaGVybyBkb3NzaWVyKS5cbi8vXG4vLyBUcnVzdCBjaGlwcyBzaXQgaW5zaWRlIGAuZ3JpZC5ncmlkLS00YCBvbiBgLnNlY3Rpb24uc2VjdGlvbi0tc3RyaXBgXG4vLyAodGhpbiBiYW5kIHdpdGggY2hyb21lIGhhaXJsaW5lcyB0b3AgKyBib3R0b20sIG5vIGVtYmVyKS4gRWFjaCBjaGlwXG4vLyBoYXMgYSB2ZXJ0aWNhbCBoYWlybGluZSBvbiB0aGUgcmlnaHQ7IGxhc3QgY2hpcCBkcm9wcyBpdCAoYDpsYXN0LWNoaWxkYCkuXG4vL1xuLy8gQW5hdG9teTpcbi8vICAgX19pY29uICAg4oCUIFNWRyBob2xkZXIgKDIyw5cyMiBjaHJvbWUtd2FybSBzdHJva2UpXG4vLyAgIF9fYm9keSAgIOKAlCB2ZXJ0aWNhbCB0ZXh0IHN0YWNrXG4vLyAgIF9fdGl0bGUgIOKAlCBjaHJvbWUtaGlnaGxpZ2h0IGRpc3BsYXktc2NhbGUgbGluZVxuLy8gICBfX25vdGUgICDigJQgY2hyb21lLWRpbSBib2R5IHN1Yi1saW5lXG5cbi50cnVzdC1jaGlwIHtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDE2cHg7XG5cdHBhZGRpbmc6IDAgMjRweDtcblx0Ym94LXNoYWRvdzogaW5zZXQgLTFweCAwIDAgcmdiYSg2MiwgNjIsIDYyLCAwLjQ1KTtcblxuXHQmOmZpcnN0LWNoaWxkIHtcblxuXHRcdHBhZGRpbmctbGVmdDogMDtcblxuXHR9XG5cblx0JjpsYXN0LWNoaWxkIHtcblxuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblxuXHR9XG5cblx0Jl9faWNvbiB7XG5cblx0XHRmbGV4LXNocmluazogMDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0d2lkdGg6IDQwcHg7XG5cdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDEyMiwgNDYsIDAuMDgpO1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMTIyLCA0NiwgMC4yOCk7XG5cblx0XHRzdmcge1xuXG5cdFx0XHR3aWR0aDogMjJweDtcblx0XHRcdGhlaWdodDogMjJweDtcblx0XHRcdHN0cm9rZTogY3VycmVudENvbG9yO1xuXHRcdFx0ZmlsbDogbm9uZTtcblx0XHRcdHN0cm9rZS13aWR0aDogMS42O1xuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19ib2R5IHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRnYXA6IDRweDtcblxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtaGlnaGxpZ2h0KTtcblxuXHR9XG5cblx0Jl9fbm90ZSB7XG5cblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNDtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cblx0fVxuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXG5cdFx0cGFkZGluZzogMTJweCAwO1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoNjIsIDYyLCA2MiwgMC40NSk7XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBUcnVzdCBjbHVzdGVyIChjb21wb3NpdGlvbilcbi8vXG4vLyBTbWFsbCA0LWNlbGwgdHJ1c3Qtc2lnbmFsIGdyaWQg4oCUIGZhY3RvcnktZGlyZWN0IC8gZ3VhcmFudGVlIC8gc3VwcG9ydCAvXG4vLyBjaGVja291dCBiYWRnZXMuIFNpdHMgYmVsb3cgdGhlIGJ1eS1hY3Rpb25zIGJsb2NrIGluIHRoZSBwcm9kdWN0LWhlcm9cbi8vIGRvc3NpZXIuIERlbnNlciBhbmQgc21hbGxlciB0aGFuIGAuc2lnbmFsLWNlbGxgICh3aGljaCBpcyB0aGUgYmlnZ2VyXG4vLyBoZXJvIHRydXN0LXN0cmlwIHBhdHRlcm4gZnJvbSB0aGUgaG9tZXBhZ2UpIOKAlCB0cnVzdC1jbHVzdGVyIGl0ZW1zIGFyZVxuLy8gMTBweCBsYWJlbHMgZm9yIGEgc3VwcG9ydGluZy1pbmZvcm1hdGlvbiByZWFkLlxuLy9cbi8vIENvbXBvc2VzIHZpYSBgLmdyaWQuZ3JpZC0tNGAgb3V0ZXIgd2l0aCBhbiBgLnRydXN0LWNsdXN0ZXJgIGNocm9tZVxuLy8gbW9kaWZpZXIgcHJvdmlkaW5nIHRoZSB0b3AgaGFpcmxpbmUgKyBwYWRkaW5nICsgbW9iaWxlIGNvbGxhcHNlLlxuLy9cbi8vIEFuYXRvbXk6XG4vLyAgIF9faXRlbSAgIOKAlCBvbmUgbGFiZWwvdGV4dCB2ZXJ0aWNhbCBzdGFja1xuLy8gICBfX2xhYmVsICDigJQgY2hyb21lLXdhcm0gMTBweCA2MDAgdXBwZXJjYXNlICh0aGUgYmFkZ2UgaGVhZGxpbmUpXG4vLyAgIF9fdGV4dCAgIOKAlCBjaHJvbWUtZGltIDEwcHggZXhwbGFuYXRvcnkgbGluZVxuXG4udHJ1c3QtY2x1c3RlciB7XG5cblx0bWFyZ2luLXRvcDogMjRweDtcblx0cGFkZGluZy10b3A6IDI0cHg7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSg2MiwgNjIsIDYyLCAwLjM1KTtcblxuXHQmX19pdGVtIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRnYXA6IDRweDtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTZlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblx0XHRsaW5lLWhlaWdodDogMS40O1xuXG5cdH1cblxuXHQmX19sYWJlbCB7XG5cblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIFZhcmlhbnQgc2VsZWN0b3IgKHByaW1pdGl2ZSlcbi8vXG4vLyBMYWJlbGVkIG9wdGlvbnMgZ3JpZCBmb3IgYSBwcm9kdWN0IHZhcmlhdGlvbiBjaG9pY2Ug4oCUIFNhYmVyIENvcmVcbi8vIGVsZWN0cm9uaWNzLCBCbGFkZSBMZW5ndGgsIEJsYWRlIENvbG91ciwgZXRjLiBPbiBXb29Db21tZXJjZSBzaW1wbGVcbi8vIHByb2R1Y3RzIHRoaXMgaXMgYSBgcGFfKmAgYXR0cmlidXRlIHN3YXRjaDsgb24gQ29tcG9zaXRlIFByb2R1Y3RzXG4vLyBlYWNoIG9wdGlvbiBpcyBhIGNoaWxkIHByb2R1Y3QgaW4gYSBjb21wb25lbnQuIENsYXNzIGhvb2tzXG4vLyAoYC52YXJpYW50LXNlbGVjdG9yX19vcHRpb25gLCBgLS1hY3RpdmVgKSBzdGF5IHN0YWJsZSBzbyBDb21wb3NpdGUnc1xuLy8gSlMgY2FuIGF0dGFjaCB3aXRob3V0IGEgcmVuYW1lLlxuLy9cbi8vIEFuYXRvbXk6XG4vLyAgIF9fbGFiZWwgICAgICAgICDigJQgc21hbGwtY2FwcyBjaHJvbWUtZGltIGxhYmVsIHJvdyAod2l0aCBvcHRpb25hbFxuLy8gICAgICAgICAgICAgICAgICAgICByaWdodC1hbGlnbmVkIF9fbGFiZWwtbGluayBlLmcuIFwiTGVuZ3RoIGd1aWRlIOKGklwiKVxuLy8gICBfX2xhYmVsLWxpbmsgICAg4oCUIGVtYmVyIGlubGluZSBsaW5rIGluc2lkZSBfX2xhYmVsIChyaWdodC1hbGlnbmVkKVxuLy8gICBfX29wdGlvbnMgICAgICAg4oCUIGZsZXggcm93IG9mIG9wdGlvbiBjaGlwcyAod3JhcClcbi8vICAgX19vcHRpb25zLS1mdWxsLXdpZHRoICDigJQgZXZlbmx5LWRpc3RyaWJ1dGVkIGxhcmdlciBjaGlwcyAoYmxhZGUgbGVuZ3RoKVxuLy8gICBfX29wdGlvbiAgICAgICAg4oCUIGNoaXA6IGRhcmsgaHVsbC1wYW5lbC1iZyArIGluc2V0IGJvcmRlclxuLy8gICBfX29wdGlvbi0tYWN0aXZlIOKAlCBhY3RpdmUgY2hpcDogaHVsbC1wYW5lbC1saWZ0IGJnICsgZW1iZXIgaG90LXJpbVxuXG4udmFyaWFudC1zZWxlY3RvciB7XG5cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMnB4O1xuXG5cdCZfX2xhYmVsIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXG5cdH1cblxuXHQmX19sYWJlbC1saW5rIHtcblxuXHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdH1cblxuXHQmX19vcHRpb25zIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGdhcDogOHB4O1xuXG5cdFx0Ji0tZnVsbC13aWR0aCB7XG5cblx0XHRcdC52YXJpYW50LXNlbGVjdG9yX19vcHRpb24ge1xuXG5cdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHRcdHBhZGRpbmc6IDE0cHg7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX29wdGlvbiB7XG5cblx0XHRwYWRkaW5nOiAxMHB4IDE0cHg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTBlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtd2FybSk7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0taHVsbC1wYW5lbCk7XG5cdFx0Ym94LXNoYWRvdzpcblx0XHRcdGluc2V0IDAgMCAwIDFweCByZ2JhKDYyLCA2MiwgNjIsIDAuNTUpLFxuXHRcdFx0aW5zZXQgMCAxcHggMCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMDgpO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdCYtLWFjdGl2ZSB7XG5cblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWh1bGwtcGFuZWwtbGlmdCk7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWhpZ2hsaWdodCk7XG5cdFx0XHRib3gtc2hhZG93OiB2YXIoLS1lbWJlci1ob3QtcmltKTtcblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgVmlkZW8gcGFuZWwgKGNvbXBvbmVudClcbi8vXG4vLyAxNjo5IHZpZGVvIHN0YWdlIGNvbnRhaW5lciB3aXRoIGEgY2VudHJlZCBwbGF5IGJ1dHRvbiArIGR1cmF0aW9uXG4vLyBiYWRnZS4gUGhhc2UgMiBzaG93cyBhIFwiUEhPVE9HUkFQSCBCUklFRlwiIHBsYWNlaG9sZGVyIGRlc2NyaWJpbmcgdGhlXG4vLyBpbnRlbmRlZCBkZW1vIHNob3Q7IFBoYXNlIDMgc3dhcHMgZm9yIGEgcmVhbCBlbWJlZCAvIHRodW1ibmFpbC5cbi8vXG4vLyBBbmF0b215OlxuLy8gICBfX3N0YWdlICAgICAg4oCUIDE2OjkgZGFyayBwYW5lbCB3aXRoIHBsYWNlaG9sZGVyIGJyaWVmICsgcGxheSArIGR1cmF0aW9uXG4vLyAgIF9fYnJpZWYgICAgICDigJQgaXRhbGljIGJyaWVmIHByb3NlIChjZW50cmVkLCBtYXgtd2lkdGggNjQwcHgpXG4vLyAgIF9fcGxheSAgICAgICDigJQgODjDlzg4IGRhcmsgc3F1YXJlIHdpdGggZW1iZXIgaG90LXJpbSArIGVtYmVyIHBsYXkgZ2x5cGhcbi8vICAgX19kdXJhdGlvbiAgIOKAlCBib3R0b20tcmlnaHQgY2hyb21lLXdhcm0gZHVyYXRpb24gY2hpcFxuXG5AdXNlICcuLi9zZXR0aW5ncy9zY3Jldy1kb3RzJyBhcyAqO1xuXG4udmlkZW8tcGFuZWwge1xuXG5cdCZfX3N0YWdlIHtcblxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRhc3BlY3QtcmF0aW86IDE2IC8gOTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1odWxsLXBhbmVsLWRhcmspO1xuXHRcdGJveC1zaGFkb3c6IHZhcigtLXBhbmVsLWxpZnQpO1xuXHRcdEBpbmNsdWRlIHNjcmV3LWRvdHMoOHB4LCA4cHgpO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblxuXHRcdFx0Y29udGVudDogXCJQSE9UT0dSQVBIIEJSSUVGIMK3IFZJREVPIFNUSUxMXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDI0cHg7XG5cdFx0XHRsZWZ0OiAyNHB4O1xuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC4yNGVtO1xuXHRcdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblxuXHRcdH1cblxuXHR9XG5cblx0Jl9fYnJpZWYge1xuXG5cdFx0bWF4LXdpZHRoOiA2NDBweDtcblx0XHRwYWRkaW5nOiAwIDk2cHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNjtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cblx0fVxuXG5cdCZfX3BsYXkge1xuXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiA4OHB4O1xuXHRcdGhlaWdodDogODhweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZDogcmdiYSg2LCA2LCA2LCAwLjY1KTtcblx0XHRib3gtc2hhZG93OiB2YXIoLS1lbWJlci1ob3QtcmltKTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblxuXHR9XG5cblx0Jl9fZHVyYXRpb24ge1xuXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGJvdHRvbTogMTZweDtcblx0XHRyaWdodDogMTZweDtcblx0XHRwYWRkaW5nOiA4cHggMTJweDtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDYsIDYsIDYsIDAuODApO1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjE0KTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTRlbTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBTaXRlIGhlYWRlciBicmFuZCBkZWx0YVxuLy9cbi8vIEZyYW1ld29yaydzIHN0cnVjdHVyYWwgc2l0ZS1oZWFkIChmcmFtZXdvcmstdjIvZ2xvYmFsL3Njc3MvbGF5b3V0cy9fc2l0ZS1oZWFkLnNjc3MpXG4vLyBvd25zIHBvc2l0aW9uaW5nICsgZ3JpZC4gVGhpcyBsYXllciBwYWludHMgdGhlIGJyYW5kIOKAlCBjYXJib24gYmFja2dyb3VuZCxcbi8vIGNocm9tZS13YXJtIHRleHQsIGNocm9tZS13YXJtIGljb25zLCBlbWJlci1nbG93IHNpZ25hdHVyZSBzZWFtIGF0IHRoZSBiYXNlLlxuXG4uc2l0ZS1oZWFkIHtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jYXJib24pO1xuXHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXG5cdC8vIEVtYmVyLWdsb3cgYm90dG9tIHNlYW0g4oCUIG1hdGNoZXMgdGhlIHRydXN0LXN0cmlwIHNpZ25hdHVyZSBmcm9tIE1BUzQzLlxuXHQvLyBIYWlybGluZSBvZiBlbWJlciBvbiB0b3Agb2YgYSBzb2Z0IGdsb3csIGdpdmVzIHRoZSBoZWFkZXIgYVxuXHQvLyBzZXBhcmF0aW9uIGVkZ2UgYWdhaW5zdCB0aGUgaGVybyB3aXRob3V0IGEgaGVhdnkgYm9yZGVyLlxuXHRib3gtc2hhZG93OlxuXHRcdGluc2V0IDAgLTFweCAwIHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjM1KSxcblx0XHQwIDhweCAyNHB4IC04cHggcmdiYSgyNTUsIDEyMiwgNDYsIDAuMjUpO1xuXG5cdCZfX2FsZXJ0cyB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jaGFyY29hbC13YXJtKTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Ly8gRW1iZXIgaGFpcmxpbmUgYXQgdGhlIGJvdHRvbSBvZiB0aGUgYWxlcnRzIHN0cmlwIHNvIGl0IHNlcGFyYXRlc1xuXHRcdC8vIGZyb20gdGhlIG1haW4gYmFyIHdpdGhvdXQgYSB3YXJtLWJyb3duIGZpbGwuXG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgyNTUsIDEyMiwgNDYsIDAuMzUpO1xuXG5cdH1cblxuXHQmX19tYWluIHtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNhcmJvbik7XG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblxuXHRcdC8vIEV2ZXJ5IGljb24gaW5zaWRlIHRoZSBtYWluIGJhciAoYnVyZ2VyICsgc2VhcmNoICsgd2lzaGxpc3QgK1xuXHRcdC8vIGJhc2tldCkg4oCUIGNocm9tZS13YXJtIGFnYWluc3QgY2FyYm9uIHJlYWRzIHdlbGwgd2l0aG91dCBwdWxsaW5nXG5cdFx0Ly8gYXR0ZW50aW9uIG9mZiB0aGUgbmF2IGl0ZW1zLlxuXHRcdC5pY29uIHtcblxuXHRcdFx0ZmlsbDogdmFyKC0tY2hyb21lLXdhcm0pO1xuXG5cdFx0fVxuXG5cdFx0Ly8gPGJ1dHRvbj4gZGVmYXVsdHMgaXRzIG93biBjb2xvdXIg4oCUIHNldCBleHBsaWNpdGx5IHNvIHRoZSBidXJnZXJcblx0XHQvLyBsYWJlbCBpc24ndCBkYXJrLlxuXHRcdC5zaXRlLW5hdl9fYnVyZ2VyIHtcblxuXHRcdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblxuXHRcdFx0Jjpob3ZlciB7XG5cblx0XHRcdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblxuXHRcdFx0XHQuaWNvbiB7XG5cblx0XHRcdFx0XHRmaWxsOiB2YXIoLS1lbWJlcik7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cdC8vIEFjdGlvbiBpY29ucyAoc2VhcmNoLCBhY2NvdW50LCBiYXNrZXQpIOKAlCBidW1wIHRvIDI0cHggZm9yIHZpc3VhbFxuXHQvLyB3ZWlnaHQgYWdhaW5zdCB0aGUgY2hyb21lLWhlYXZ5IGNvbXBvc2l0aW9uIG9mIHRoZSBTQVMxIGFlc3RoZXRpYyxcblx0Ly8gYW5kIGxldCBlYWNoIGFjdGlvbiB3cmFwIHR1cm4gZW1iZXIgb24gaG92ZXIuXG5cdCZfX2FjdGlvbnMge1xuXG5cdFx0LS1pY29uLXNpemU6IDI0cHg7XG5cblx0XHQ+ICoge1xuXG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG5cblx0XHRcdCY6aG92ZXIge1xuXG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0XHRcdFx0Lmljb24ge1xuXG5cdFx0XHRcdFx0ZmlsbDogdmFyKC0tZW1iZXIpO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0Ly8gQnJlYXRoaW5nIHJvb20gYmV0d2VlbiBiYXNrZXQgaWNvbiBhbmQgY291bnQgbnVtYmVyLlxuXHRcdCZfX2Jhc2tldF9fY291bnQge1xuXG5cdFx0XHRtYXJnaW4tbGVmdDogOHB4O1xuXHRcdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblx0XHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgU2l0ZSBuYXYgYnJhbmQgZGVsdGFcbi8vXG4vLyBGcmFtZXdvcmsncyBzdHJ1Y3R1cmFsIHNpdGUtbmF2IG93bnMgdGhlIGZsZXgvcG9zaXRpb25pbmcgb2YgdGhlIG5hdlxuLy8gY29udGFpbmVyICsgbG9nbyArIGJ1cmdlciArIG1lbnUuIFRoaXMgbGF5ZXIgcGFpbnRzIG1lbnUgaXRlbXMgaW4gdGhlXG4vLyBTQVMxIGNocm9tZSB0eXBlIHNwZWMgKFNwYWNlIEdyb3Rlc2ssIHdpZGUgbGV0dGVyLXNwYWNpbmcsIHVwcGVyY2FzZSxcbi8vIGNocm9tZS13YXJtKSB3aXRoIGFuIGVtYmVyIGhvdmVyLlxuXG4uc2l0ZS1uYXYge1xuXG5cdCZfX21lbnUge1xuXG5cdFx0Jl9faXRlbSxcblx0XHQmX19pdGVtOm5vdChbY2xhc3NdKSB7XG5cblx0XHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCYuaXMtYWN0aXZlLFxuXHRcdFx0JlthcmlhLWN1cnJlbnQ9XCJwYWdlXCJdIHtcblxuXHRcdFx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG5cdC8vIERhcmsgbW9kaWZpZXIgdmFyaWFudCDigJQgdXNlZCBpbnNpZGUgdGhlIGRlc2t0b3AtbmF2IGRyYXdlciB3aGVyZSB0aGVcblx0Ly8gbmF2IGFwcGVhcnMgb24gdGhlIGRyYXdlcidzIG93biBjYXJib24gZ3JvdW5kLiBTYW1lIGJhc2UgY29sb3VyLCBub1xuXHQvLyByZS1kZWNsYXJlIG5lZWRlZCwgYnV0IHRoaXMgaG9vayBpcyBoZXJlIGZvciBmdXR1cmUgYWRqdXN0bWVudC5cblx0Ji0tZGFyayB7XG5cblx0XHQuc2l0ZS1uYXZfX21lbnVfX2l0ZW0ge1xuXG5cdFx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBEZXNrdG9wIG1lZ2EtbmF2IGRyYXdlciBicmFuZCBkZWx0YVxuLy9cbi8vIEZyYW1ld29yaydzIHN0cnVjdHVyYWwgZGVza3RvcC1uYXYgb3ducyB0aGUgZHJhd2VyIHBvc2l0aW9uaW5nICsgcGFuZWxcbi8vIGdyaWQuIFRoaXMgbGF5ZXIgcGFpbnRzIHRoZSBkcmF3ZXI6IGNhcmJvbiBiYWNrZ3JvdW5kLCBjaHJvbWUtd2FybSBtZW51XG4vLyBpdGVtcywgZW1iZXIgaG92ZXIsIGhhaXJsaW5lIHNlcGFyYXRvcnMgYmV0d2VlbiBwYW5lbHMuXG5cbi5kZXNrdG9wLW5hdiB7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2FyYm9uKTtcblx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblx0Ym94LXNoYWRvdzogMCA4cHggMzJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG5cblx0Jl9faW5uZXIge1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2FyYm9uKTtcblxuXHR9XG5cblx0Jl9fbWVudSB7XG5cblx0XHQmX19pdGVtIHtcblxuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTRlbTtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Ji5pcy1hY3RpdmUge1xuXG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdC8vIFBhbmVsIHN1Yi1tZW51IGl0ZW1zIChvcGVuZWQgdmlhIG1lZ2EtbWVudSBkcmF3ZXIpIOKAlCBzbGlnaHRseVxuXHRcdC8vIHNtYWxsZXIgKyBjaHJvbWUtZGltIGZvciBoaWVyYXJjaHkuXG5cdFx0Jl9fZHJhd2VyIHtcblxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2hhcmNvYWwpO1xuXG5cdFx0XHQmX19pdGVtIHtcblxuXHRcdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcblxuXHRcdFx0XHQmOmhvdmVyIHtcblxuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0fVxuXG59XG4iLCIvLyBBUlRTQUJFUlMg4oCUIE1vYmlsZSBuYXYgZHJhd2VyIGJyYW5kIGRlbHRhXG4vL1xuLy8gRnJhbWV3b3JrJ3Mgc3RydWN0dXJhbCBtb2JpbGUtbmF2IG93bnMgdGhlIGRyYXdlciBwb3NpdGlvbmluZyArIGxpc3QuXG4vLyBUaGlzIGxheWVyIHBhaW50cyB0aGUgZHJhd2VyOiBjYXJib24gYmFja2dyb3VuZCwgY2hyb21lLXdhcm0gaXRlbXMsXG4vLyBlbWJlciBob3Zlci5cblxuLm1vYmlsZS1uYXYge1xuXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNhcmJvbik7XG5cdGNvbG9yOiB2YXIoLS1jaHJvbWUtd2FybSk7XG5cblx0Jl9faGVhZGVyIHtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNhcmJvbik7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjIpO1xuXG5cdFx0Jl9fdGl0bGUge1xuXG5cdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC44cHg7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNocm9tZS1oaWdobGlnaHQpO1xuXG5cdFx0fVxuXG5cdFx0Jl9fY2xvc2Uge1xuXG5cdFx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXG5cdFx0XHQuaWNvbiB7XG5cblx0XHRcdFx0ZmlsbDogdmFyKC0tY2hyb21lLXdhcm0pO1xuXG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0XHRcdFx0Lmljb24ge1xuXG5cdFx0XHRcdFx0ZmlsbDogdmFyKC0tZW1iZXIpO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxuXHQmX19ib2R5IHtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNhcmJvbik7XG5cblx0fVxuXG5cdCZfX2xpc3Qge1xuXG5cdFx0Jl9faXRlbSB7XG5cblx0XHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE4NCwgMTc2LCAxNjYsIDAuMSk7XG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmLmlzLWFjdGl2ZSB7XG5cblx0XHRcdFx0Y29sb3I6IHZhcigtLWVtYmVyKTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxufVxuIiwiLy8gQVJUU0FCRVJTIOKAlCBGb290ZXIgYnJhbmQgZGVsdGFcbi8vXG4vLyBGcmFtZXdvcmsncyBzdHJ1Y3R1cmFsIGZvb3RlciBvd25zIHRoZSBjb2x1bW5zL3Byb21vL2xlZ2FsIHBvc2l0aW9uaW5nLlxuLy8gVGhpcyBsYXllciBwYWludHMgdGhlIGZvb3RlcjogY2FyYm9uIGJhY2tncm91bmQsIGNocm9tZS13YXJtIHRleHQsXG4vLyBjaHJvbWUtZGltIGNvbHVtbiBoZWFkaW5ncywgZW1iZXItc2NhciBDVEEgYmFuZCwgZW1iZXIgaGFpcmxpbmUgc2VhbVxuLy8gYXQgdGhlIHRvcC5cblxuLmZvb3RlciB7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2FyYm9uKTtcblx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblxuXHQvLyBFbWJlciBoYWlybGluZSBzZWFtIGF0IHRoZSB0b3AgZWRnZSDigJQgbWlycm9ycyB0aGUgc2l0ZS1oZWFkIGJvdHRvbVxuXHQvLyBzZWFtLCBicmFja2V0cyB0aGUgcGFnZSdzIGNvbnRlbnQgYmV0d2VlbiB0d28gZW1iZXIgYWNjZW50cy5cblx0Ym94LXNoYWRvdzpcblx0XHRpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjM1KSxcblx0XHQwIC04cHggMjRweCAtOHB4IHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjIwKTtcblxuXHQvLyBBYm92ZS1mb290ZXIgQ1RBIGJhbmQg4oCUIGNoYXJjb2FsLXdhcm0gc3VyZmFjZSB3aXRoIGFuIGVtYmVyIGhvdC1yaW1cblx0Ly8gKGJyaWdodCBlbWJlciBpbnNldCArIHNvZnQgZ2xvdyBzaGFkb3cpIHJhdGhlciB0aGFuIGEgd2FybS1icm93biBmaWxsLlxuXHQvLyBLZWVwcyB0aGUgY29udmVyc2lvbiBwdXNoIHZpc3VhbGx5IGRpc3RpbmN0IGZyb20gdGhlIGZvb3RlciBib2R5XG5cdC8vIHdpdGhvdXQgaW50cm9kdWNpbmcgYW4gZWFydGh5IHRvbmUuXG5cdCZfX2N0YSB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jaGFyY29hbC13YXJtKTtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWhpZ2hsaWdodCk7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC44cHg7XG5cdFx0Ym94LXNoYWRvdzogdmFyKC0tZW1iZXItaG90LXJpbSk7XG5cblx0XHQmX19pbm5lciB7XG5cblx0XHRcdG1heC13aWR0aDogdmFyKC0tc2l0ZS1tYXgtd2lkdGgpO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX2lubmVyIHtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNhcmJvbik7XG5cblx0fVxuXG5cdCZfX2NvbHVtbnMge1xuXG5cdFx0Y29sb3I6IHZhcigtLWNocm9tZS13YXJtKTtcblxuXHRcdC8vIENvbHVtbiBoZWFkaW5ncyAobGlua2xlc3MgbGFiZWwgcm93cykg4oCUIGNocm9tZS1kaW0gKyBjaHJvbWUtZm9udFxuXHRcdC8vIHNvIHRoZSB2aXN1YWwgaGllcmFyY2h5IHJlYWRzOiBoZWFkaW5nIChsYWJlbCkg4oaSIGxpbmtzIChyZWFkYWJsZSkuXG5cdFx0Jl9fbGlzdCB7XG5cblx0XHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXG5cdFx0XHQvLyBUaGUgZmlyc3QgaXRlbSBvZiBlYWNoIGNvbHVtbiBpcyB0aGUgaGVhZGluZyDigJQgY2hyb21lLWRpbVxuXHRcdFx0Ly8gdXBwZXJjYXNlLlxuXHRcdFx0PiA6Zmlyc3QtY2hpbGQge1xuXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuXHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1jaHJvbWUtZGltKTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcblxuXHRcdFx0fVxuXG5cdFx0XHRhIHtcblxuXHRcdFx0XHRjb2xvcjogdmFyKC0tY2hyb21lLXdhcm0pO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cblx0XHRcdFx0XHRjb2xvcjogdmFyKC0tZW1iZXIpO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxuXHQvLyBCcmFuZCBpZGVudGl0eSBhcmVhIOKAlCBsb2dvICsgYnJhbmQgc3RhdGVtZW50ICsgc21hbGwgcHJpbnQuXG5cdCZfX3Byb21vIHtcblxuXHRcdCZfX2xvZ28ge1xuXG5cdFx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWhpZ2hsaWdodCk7XG5cblx0XHR9XG5cblx0XHQmX19pbmZvIHtcblxuXHRcdFx0Y29sb3I6IHZhcigtLWNocm9tZS1kaW0pO1xuXHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNTU7XG5cblx0XHR9XG5cblx0fVxuXG5cdCZfX2xlZ2FsIHtcblxuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTg0LCAxNzYsIDE2NiwgMC4xNSk7XG5cdFx0cGFkZGluZy10b3A6IDI0cHg7XG5cdFx0bWFyZ2luLXRvcDogNDBweDtcblxuXHRcdGEge1xuXG5cdFx0XHRjb2xvcjogdmFyKC0tY2hyb21lLWRpbSk7XG5cblx0XHRcdCY6aG92ZXIge1xuXG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1lbWJlcik7XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgU2VjdGlvbiBicmFuZCBkZWx0YSArIHRvbmUgbW9kaWZpZXJzXG4vL1xuLy8gRnJhbWV3b3JrJ3Mgc3RydWN0dXJhbCBgLnNlY3Rpb25gIChmcmFtZXdvcmstdjIvZ2xvYmFsL3Njc3MvbGF5b3V0cy9fc2VjdGlvbi5zY3NzKVxuLy8gcHJvdmlkZXMgdGhlIHBhZGRpbmctZmFsbGJhY2sgKyBgLnNlY3Rpb25fX2lubmVyYCBjb250ZW50IHdyYXBwZXIgKyBnZW5lcmljXG4vLyB0b25lIG1vZGlmaWVycyAoYC0tYW5jaG9yYCwgYC0tYnJpZ2h0YCwgZXRjLikuIFRoaXMgYnJhbmQgbGF5ZXIgc2V0c1xuLy8gQVJUU0FCRVJTJ3MgdmVydGljYWwgcmh5dGhtIGFuZCBhZGRzIFNBUzEtZmxhdm91cmVkIHRvbmUgKyBzaWduYXR1cmVcbi8vIG1vZGlmaWVycy5cbi8vXG4vLyBNb2RpZmllcnMgaGVyZSBjb21wb3NlIGZyZWVseSB3aXRoIGAuc2VjdGlvbmA6XG4vLyAgIFBsYWluLWJnIHRvbmVzOiAgICAtLWNhcmJvbiwgLS12b2lkLCAtLWNoYXJjb2FsXG4vLyAgIFNpZ25hdHVyZSBlZmZlY3RzOiAtLXBhbmVsLXNlYW0gIChjaGFyY29hbCArIGVtYmVyIGdsb3cgc2VhbSB0b3ArYm90dG9tKVxuLy8gICAgICAgICAgICAgICAgICAgICAgLS1lbWJlci1iYW5kICAoZW1iZXIgZ3JhZGllbnQgKyByYWRpYWwgb3ZlcmxheXMpXG4vLyAgIFJoeXRobSBvdmVycmlkZXM6ICAtLXRpZ2h0ICAgICAgICgzMHB4IDAgcGFkZGluZyBpbnN0ZWFkIG9mIDk2cHgpXG4vL1xuLy8gSW5kaXZpZHVhbCBzaWduYXR1cmUgbW9kaWZpZXJzIChwYW5lbC1zZWFtLCBlbWJlci1iYW5kKSBNQVkgY2FycnkgdGhlaXJcbi8vIG93biBwYWRkaW5nL2NvbnRlbnQgY29sb3VycyBzaW5jZSB0aGV5IGRlZmluZSBhIHdob2xlIHZpc3VhbCBiYW5kIGlkaW9tLlxuXG4uc2VjdGlvbiB7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRpc29sYXRpb246IGlzb2xhdGU7XG5cdHBhZGRpbmctdG9wOiA5NnB4O1xuXHRwYWRkaW5nLWJvdHRvbTogOTZweDtcblxuXHQvLyBVTklWRVJTQUwgc2VjdGlvbiBlZGdlcyDigJQgYSBzdWJ0bGUgaW5zZXQgY2hyb21lIGhhaXJsaW5lIGF0IHRoZSB0b3Bcblx0Ly8gYW5kIGEgc3VidGxlIGluc2V0IGRhcmsgaGFpcmxpbmUgYXQgdGhlIGJvdHRvbS4gUHJvdmlkZXMgc3RydWN0dXJhbFxuXHQvLyBkZWZpbml0aW9uIGJldHdlZW4gYWRqYWNlbnQgc2VjdGlvbnMgd2l0aG91dCBuZWVkaW5nIGEgaGVhdnkgYm9yZGVyLlxuXHQvLyBNb2RpZmllcnMgd2l0aCB0aGVpciBvd24gYm94LXNoYWRvdyAoLS1wYW5lbC1zZWFtLCAtLWVtYmVyLWJhbmQpXG5cdC8vIG92ZXJyaWRlIHRoaXMgYnkgY2FzY2FkZS5cblx0Ym94LXNoYWRvdzpcblx0XHRpbnNldCAwIDFweCAwIHJnYmEoMjUwLCAyNTAsIDI1MCwgMC4xNCksXG5cdFx0aW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjg1KTtcblxuXHQvLyBVTklWRVJTQUwgc2VjdGlvbiBvdmVybGF5IOKAlCBhIGJhcmVseS12aXNpYmxlIHRvcCBjaHJvbWUtaGlnaGxpZ2h0XG5cdC8vIHRpbnQgZmFkaW5nIHRvIHRyYW5zcGFyZW50IGJ5IDglLCB0aGVuIGEgc3VidGxlIGRhcmsgc2hhZGUgZmFkaW5nXG5cdC8vIGluIG92ZXIgdGhlIGxhc3QgMTIlIGF0IHRoZSBib3R0b20uIEFkZHMgaGludC1vZi1lZGdlIHBvbGlzaCBvblxuXHQvLyBldmVyeSBzZWN0aW9uLiBNb2RpZmllcnMgKC0taW1hZ2VkLCAtLWVtYmVyLWJhbmQpIGNhbiBvdmVycmlkZSB0aGlzXG5cdC8vIDo6YmVmb3JlJ3MgYmFja2dyb3VuZCB0byBsYXllciB0aGVpciBvd24gb3ZlcmxheSBjb250ZW50IGluc3RlYWQuXG5cdCY6OmJlZm9yZSB7XG5cblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRpbnNldDogMDtcblx0XHR6LWluZGV4OiAwO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsXG5cdFx0XHRyZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMDI4KSAwJSxcblx0XHRcdHRyYW5zcGFyZW50IDglLFxuXHRcdFx0dHJhbnNwYXJlbnQgODglLFxuXHRcdFx0cmdiYSgwLCAwLCAwLCAwLjMyKSAxMDAlXG5cdFx0KTtcblxuXHR9XG5cblx0Ly8gTGlmdCB0aGUgY29udGVudCB3cmFwcGVyIGFib3ZlIHRoZSA6OmJlZm9yZSBvdmVybGF5ICh6OjApLiBVbml2ZXJzYWxcblx0Ly8gc28gZXZlcnkgc2VjdGlvbiByZWFkcyBpdHMgY29udGVudCBvbiB0b3Agb2YgYW55IGxheWVyZWQgdHJlYXRtZW50LlxuXHQ+IC5zZWN0aW9uX19pbm5lciB7XG5cblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblxuXHR9XG5cblx0Ly8gSW1hZ2VkIHNlY3Rpb24g4oCUIHNldHMgYSBiYWNrZ3JvdW5kIGltYWdlIHZpYSBpbmxpbmUgYC0tc2VjdGlvbi1iZy1pbWFnZWBcblx0Ly8gY3VzdG9tIHByb3AgKHNhbWUgcGF0dGVybiBhcyBgLS1oZXJvLWltYWdlYCBvbiBgLmhlcm9gKSBhbmQgUkVQTEFDRVNcblx0Ly8gdGhlIHVuaXZlcnNhbCA6OmJlZm9yZSBvdmVybGF5IHdpdGggYSBzdHJvbmdlciBkYXJrIHNjcmltIHNvIHBob3RvXG5cdC8vIGNvbnRlbnQgZG9lc24ndCB3YXNoIG91dCB0ZXh0LiBDb21wb3NlcyB3aXRoIGEgdG9uZSBtb2RpZmllciBhcyBhXG5cdC8vIGZhbGxiYWNrIGNvbG91ciB1bmRlciB0aGUgaW1hZ2UgKGUuZy4gYC5zZWN0aW9uLS1jYXJib24gLnNlY3Rpb24tLWltYWdlZGBcblx0Ly8g4oCUIGNhcmJvbiBzaG93cyBpZiBpbWFnZSBmYWlscykuXG5cdCYtLWltYWdlZCB7XG5cblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1zZWN0aW9uLWJnLWltYWdlLCBub25lKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG5cdFx0Jjo6YmVmb3JlIHtcblxuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZyxcblx0XHRcdFx0cmdiYSg2LCA2LCA2LCAwLjU4KSAwJSxcblx0XHRcdFx0cmdiYSg2LCA2LCA2LCAwLjY2KSA1MCUsXG5cdFx0XHRcdHJnYmEoNiwgNiwgNiwgMC43NCkgMTAwJVxuXHRcdFx0KTtcblxuXHRcdH1cblxuXHR9XG5cblx0Ly8gUGxhaW4tYmcgdG9uZXMg4oCUIGJhY2tncm91bmQtY29sb3IgbG9uZ2hhbmQgKE5PVCBgYmFja2dyb3VuZDpgIHNob3J0aGFuZClcblx0Ly8gc28gY29tcG9zaW5nIHdpdGggYC5zZWN0aW9uLS1pbWFnZWRgIGRvZXNuJ3Qgd2lwZSB0aGUgaW1hZ2UuIENvbnRlbnRcblx0Ly8gY29sb3VycyBzdGF5IGFzLWlzIChjaHJvbWUtd2FybSBvbiBkYXJrIGdyb3VuZHMgdmlhIGJvZHkgaW5oZXJpdGFuY2UpLlxuXHQmLS1jYXJib24ge1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2FyYm9uKTtcblxuXHR9XG5cblx0Ji0tdm9pZCB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS12b2lkKTtcblxuXHR9XG5cblx0Ji0tY2hhcmNvYWwge1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2hhcmNvYWwpO1xuXG5cdH1cblxuXHQvLyBQYW5lbC1zZWFtIHNpZ25hdHVyZSDigJQgY2hhcmNvYWwgYmFuZCB3aXRoIGVtYmVyLWdsb3cgaW5zZXQgaGFpcmxpbmVzXG5cdC8vIHRvcCArIGJvdHRvbSBhbmQgc29mdCBvdXRlciBnbG93LiBCcmFja2V0cyB0aGUgc3RyaXAgYmV0d2VlbiB0d29cblx0Ly8gZ2xvd2luZyBlbWJlciBzZWFtcy4gYGJhY2tncm91bmQtY29sb3JgIChub3Qgc2hvcnRoYW5kKSBmb3IgdGhlIHNhbWVcblx0Ly8gaW1hZ2Utc2FmZSByZWFzb24gYXMgYWJvdmUuXG5cdCYtLXBhbmVsLXNlYW0ge1xuXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNoYXJjb2FsKTtcblx0XHRib3gtc2hhZG93OlxuXHRcdFx0aW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMTIyLCA0NiwgMC41KSxcblx0XHRcdGluc2V0IDAgLTFweCAwIHJnYmEoMjU1LCAxMjIsIDQ2LCAwLjUpLFxuXHRcdFx0MCAtOHB4IDI0cHggLThweCByZ2JhKDI1NSwgMTIyLCA0NiwgMC4zNSksXG5cdFx0XHQwIDhweCAyNHB4IC04cHggcmdiYSgyNTUsIDEyMiwgNDYsIDAuMzUpO1xuXG5cdH1cblxuXHQvLyBFbWJlci1iYW5kIHNpZ25hdHVyZSDigJQgNC1zdG9wIHZlcnRpY2FsIGVtYmVyIGdyYWRpZW50IHdpdGggcmFkaWFsXG5cdC8vIGhpZ2hsaWdodHMgYmFrZWQgaW4gdmlhIDo6YmVmb3JlLiBTZXRzIG9uLXByaW1hcnktZml4ZWQgYXMgdGhlXG5cdC8vIGRlZmF1bHQgdGV4dCBjb2xvdXIgc28gY29udGVudCBpbmhlcml0cyBkYXJrLXdhcm0gdGV4dCBvbiB0aGUgZW1iZXJcblx0Ly8gYmcuIEVtYmVyLXNwZWNpZmljIGJveC1zaGFkb3cgKGNocm9tZS1nbGludCBpbnNldCB0b3AgKyBkYXJrIGVtYmVyLVxuXHQvLyBzY2FyIGluc2V0IGJvdHRvbSArIHNvZnQgb3V0ZXIgZW1iZXIgZ2xvdykgUkVQTEFDRVMgdGhlIHVuaXZlcnNhbFxuXHQvLyBoYWlybGluZSBzaGFkb3c7IHRoZSA6OmJlZm9yZSBiYWNrZ3JvdW5kIFJFUExBQ0VTIHRoZSB1bml2ZXJzYWxcblx0Ly8gb3ZlcmxheSB3aXRoIGJyYW5kLXJhZGlhbCBoaWdobGlnaHRzLlxuXHQvL1xuXHQvLyBUd28gaW50ZW5zaXR5IGN1c3RvbSBwcm9wcyBleHBvc2UgdGhlIG91dGVyIGdsb3cgKyByYWRpYWwgYWxwaGFzIHNvXG5cdC8vIGhlYXZpZXIgdmFyaWFudHMgKGUuZy4gdGhlIG5ld3NsZXR0ZXItc2lnbnVwIGNhcHR1cmUgYmFuZCkgY2FuIHB1c2hcblx0Ly8gdGhlbSBoaWdoZXIgaW5saW5lIHdpdGhvdXQgYSBuZXcgbW9kaWZpZXI6XG5cdC8vICAgLS1lbWJlci1iYW5kLWdsb3ctYWxwaGEgICAgKG91dGVyIGdsb3csIGRlZmF1bHQgMC4zNSlcblx0Ly8gICAtLWVtYmVyLWJhbmQtcmFkaWFsLWFscGhhICAoOjpiZWZvcmUgcmFkaWFscywgZGVmYXVsdCAwLjMwKVxuXHQvLyBWZXJ0aWNhbCBwYWRkaW5nIG92ZXJyaWRlcyBnbyB0aHJvdWdoIGlubGluZSBgcGFkZGluZy10b3AvYm90dG9tYC5cblx0Ji0tZW1iZXItYmFuZCB7XG5cblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLFxuXHRcdFx0dmFyKC0tZW1iZXItZ2xvdykgMCUsXG5cdFx0XHR2YXIoLS1lbWJlci1icmlnaHQpIDI1JSxcblx0XHRcdHZhcigtLWVtYmVyKSA1NSUsXG5cdFx0XHR2YXIoLS1lbWJlci1mb3JnZSkgMTAwJVxuXHRcdCk7XG5cdFx0Y29sb3I6IHZhcigtLW9uLXByaW1hcnktZml4ZWQpO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0Ym94LXNoYWRvdzpcblx0XHRcdGluc2V0IDAgMnB4IDAgcmdiYSgyNTUsIDIzNSwgMTgwLCAwLjU1KSxcblx0XHRcdGluc2V0IDAgLTFweCAwIHJnYmEoOTAsIDI2LCAwLCAwLjU1KSxcblx0XHRcdDAgLTEycHggNDBweCAtOHB4IHJnYmEoMjU1LCAxMjIsIDQ2LCB2YXIoLS1lbWJlci1iYW5kLWdsb3ctYWxwaGEsIDAuMzUpKTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cblx0XHRcdGJhY2tncm91bmQ6XG5cdFx0XHRcdHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDE1JSAyNSUsIHJnYmEoMjU1LCAyMzUsIDE4MCwgdmFyKC0tZW1iZXItYmFuZC1yYWRpYWwtYWxwaGEsIDAuMzApKSAwJSwgcmdiYSgyNTUsIDIzNSwgMTgwLCAwKSA1NSUpLFxuXHRcdFx0XHRyYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA4NSUgNzUlLCByZ2JhKDIwOSwgNzIsIDE2LCB2YXIoLS1lbWJlci1iYW5kLXJhZGlhbC1hbHBoYSwgMC4zMCkpIDAlLCByZ2JhKDIwOSwgNzIsIDE2LCAwKSA2MCUpO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQvLyBUaWdodGVyIHJoeXRobSDigJQgdXNlZCBieSBzaG9ydCBzaWduYWwgYmFuZHMgKGUuZy4gcGFuZWwtc2VhbSB0cnVzdFxuXHQvLyByb3cpIHRoYXQgbmVlZCBhIG5hcnJvd2VyIGJlYXQgdGhhbiB0aGUgZGVmYXVsdCA5NnB4LlxuXHQmLS10aWdodCB7XG5cblx0XHRwYWRkaW5nLXRvcDogMzBweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuXHR9XG5cblx0Ly8gVGhpbiBzdHJpcCBiYW5kIHdpdGggc3VidGxlIGNocm9tZSBoYWlybGluZXMgdG9wICsgYm90dG9tIChub1xuXHQvLyBlbWJlciDigJQgdGhhdCdzIGAuc2VjdGlvbi0tcGFuZWwtc2VhbWApLiBGb3IgdHJ1c3QtYmFycywgcmVpbmZvcmNlbWVudFxuXHQvLyBiYW5kcywgYW5kIGFueSBzaWduYWwtc3RyaXAgcGF0dGVybiB0aGF0IHdhbnRzIGEgaG9yaXpvbnRhbCBzZXBhcmF0b3Jcblx0Ly8gdHJlYXRtZW50IHdpdGhvdXQgdGhlIGVtYmVyLWdsb3cgc2lnbmF0dXJlLiBDb21wb3NlIHdpdGggYSB0b25lXG5cdC8vIG1vZGlmaWVyIGZvciB0aGUgYmFuZCBiYWNrZ3JvdW5kLlxuXHQmLS1zdHJpcCB7XG5cblx0XHRwYWRkaW5nLXRvcDogMjRweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMjRweDtcblx0XHRib3gtc2hhZG93OlxuXHRcdFx0aW5zZXQgMCAxcHggMCByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMTApLFxuXHRcdFx0aW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjYwKTtcblxuXHR9XG5cblx0Ly8gRmx1c2ggc2VjdGlvbiDigJQgemVybyB2ZXJ0aWNhbCBwYWRkaW5nICsgZnVsbC1ibGVlZCBpbm5lciAocmVtb3Zlc1xuXHQvLyB0aGUgZnJhbWV3b3JrJ3MgYC5zZWN0aW9uX19pbm5lcmAgbWF4LXdpZHRoICsgZ3V0dGVycykuIEZvciBmdWxsLVxuXHQvLyBibGVlZCBlZGl0b3JpYWwgc3BsaXRzIChwb3J0cmFpdCArIHRleHQgcGFuZWwgd2l0aCBubyB2aXNpYmxlXG5cdC8vIGNvbnRhaW5lciBndXR0ZXJzKS4gQ29tcG9zZXMgd2l0aCBhbnkgdG9uZSBvciBpbWFnZWQgbW9kaWZpZXIg4oCUXG5cdC8vIHRoZSB0b25lIC8gaW1hZ2UgZ29lcyBlZGdlIHRvIGVkZ2UuXG5cdCYtLWZsdXNoIHtcblxuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXG5cdFx0PiAuc2VjdGlvbl9faW5uZXIge1xuXG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQvLyBFbWJlciByYWRpYWwgb3ZlcmxheSDigJQgc3VidGxlIFwicmVhY3RvciBibG9vbVwiIGF0IGEgY29uZmlndXJhYmxlXG5cdC8vIGNvcm5lci4gTGF5ZXJzIG9uIFRPUCBvZiBgLnNlY3Rpb24tLWltYWdlZGAncyBkYXJrIHNjcmltIChjb21wb3NlXG5cdC8vIHRoZW0gdG9nZXRoZXI6IGAuc2VjdGlvbi5zZWN0aW9uLS1pbWFnZWQuc2VjdGlvbi0tcmFkaWFsLWVtYmVyYClcblx0Ly8gc28gdGhlIHJhZGlhbCByZWFkcyB0aHJvdWdoIHRoZSBpbWFnZWQgcGhvdG8gZGltbWluZy5cblx0Ly9cblx0Ly8gUG9zaXRpb24gLyBzaXplIC8gYWxwaGEgY29uZmlndXJhYmxlIHZpYSBpbmxpbmUgY3VzdG9tIHByb3BzOlxuXHQvLyAgIC0tcmFkaWFsLXBvc2l0aW9uOiA4JSA5MiU7ICAgIC8vIGJyYW5kLXN0b3J5IGJvdHRvbS1sZWZ0XG5cdC8vICAgLS1yYWRpYWwtc2l6ZTogICAgIDQwJSAzMCU7XG5cdC8vICAgLS1yYWRpYWwtYWxwaGE6ICAgIDAuMTI7XG5cdC8vXG5cdC8vIERlZmF1bHRzIGFyZSB0aGUgcGFuZWwtc3BsaXQgdmFsdWVzIChib3R0b20tcmlnaHQsIDMwJS8yNSUsIDAuMTQpLlxuXHQmLS1yYWRpYWwtZW1iZXIge1xuXG5cdFx0Jjo6YmVmb3JlIHtcblxuXHRcdFx0YmFja2dyb3VuZDpcblx0XHRcdFx0bGluZWFyLWdyYWRpZW50KDE4MGRlZyxcblx0XHRcdFx0XHRyZ2JhKDYsIDYsIDYsIDAuNTgpIDAlLFxuXHRcdFx0XHRcdHJnYmEoNiwgNiwgNiwgMC42NikgNTAlLFxuXHRcdFx0XHRcdHJnYmEoNiwgNiwgNiwgMC43NCkgMTAwJVxuXHRcdFx0XHQpLFxuXHRcdFx0XHRyYWRpYWwtZ3JhZGllbnQoXG5cdFx0XHRcdFx0ZWxsaXBzZSB2YXIoLS1yYWRpYWwtc2l6ZSwgMzAlIDI1JSlcblx0XHRcdFx0XHRhdCB2YXIoLS1yYWRpYWwtcG9zaXRpb24sIDkyJSA4OCUpLFxuXHRcdFx0XHRcdHJnYmEoMjU1LCAxMjIsIDQ2LCB2YXIoLS1yYWRpYWwtYWxwaGEsIDAuMTQpKSAwJSxcblx0XHRcdFx0XHR0cmFuc3BhcmVudCA3MCVcblx0XHRcdFx0KTtcblxuXHRcdH1cblxuXHR9XG5cbn1cbiIsIi8vIEFSVFNBQkVSUyDigJQgR3JpZCBtb2JpbGUgb3ZlcnJpZGVzIChicmFuZC1sZXZlbCBvcGluaW9uKVxuLy9cbi8vIEZyYW1ld29yaydzIGAuZ3JpZC0tM2AgYW5kIGAuZ3JpZC0tNWAgKGZyYW1ld29yay12Mi9nbG9iYWwvc2Nzcy9jb3JlL19ncmlkLnNjc3MpXG4vLyBvbmx5IHN0ZXAgZG93biB0byAyLWNvbHVtbiBhdCDiiaQ3Njg7IHRoZXkgbmV2ZXIgY29sbGFwc2UgdG8gc2luZ2xlLWNvbHVtbi5cbi8vIE9uIEFSVFNBQkVSUyBwcm9kdWN0L2Jyb3dzZSBncmlkcyB0aGlzIGxlYXZlcyBlYWNoIGNhcmQgYXQgfjE4MHB4IGF0IHBob25lXG4vLyB3aWR0aCDigJQgdG9vIGNyYW1wZWQgZm9yIHRoZSBwcm9kdWN0LWNhcmQncyBzcGVjIHRhYmxlICsgcHJpY2UvQ1RBIHJvdyBhbmRcbi8vIGZvciB0aGUgbGluay1ib3gncyBvdmVybGFpZCB0aXRsZSBjbHVzdGVyLlxuLy9cbi8vIFRoaXMgb3ZlcnJpZGUgY29sbGFwc2VzIGJvdGggYC5ncmlkLS0zYCBhbmQgYC5ncmlkLS01YCB0byBzaW5nbGUtY29sdW1uIGF0XG4vLyDiiaQ3MDAg4oCUIGEgYnJhbmQtbGV2ZWwgb3BpbmlvbiB0aGF0IGNhcmRzIHNob3VsZCBicmVhdGhlIG9uIHBob25lcy5cbi8vXG4vLyBGcmFtZXdvcmsgYC5ncmlkLS0yYCwgYC5ncmlkLS00YCwgYC5ncmlkLS02YCBhbHJlYWR5IGNvbGxhcHNlIHRvIHNpbmdsZS1cbi8vIGNvbHVtbiAob3IgMi1jb2wgaW4gdGhlIGNhc2Ugb2YgYC0tNmApIGF0IDc2OCwgc28gdGhleSBkb24ndCBuZWVkIGhlbHAgaGVyZS5cbi8vXG4vLyBBZGRlZCAyMDI2LTA3LTMwIGFzIHBhcnQgb2YgdGhlIFMyLlA4IHdhbGsgd2hlbiB0aGUgcHJvZHVjdC1ncmlkICMyIHBob25lXG4vLyB2ZXJpZnkgc3VyZmFjZWQgdGhpcy4gQWxzbyBmaXhlcyBsYXRlbnQgcGhvbmUtbGF5b3V0IHJlZ3Jlc3Npb25zIGluIFMyLlA1XG4vLyAocHJvZHVjdC1ncmlkICMxKSBhbmQgUzIuUDYgKGJyb3dzZS1ncmlkKSB3aGljaCBib3RoIHVzZSBgLmdyaWQtLTNgLlxuXG5AbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcblxuXHQuZ3JpZC0tMyxcblx0LmdyaWQtLTUge1xuXG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuXG5cdH1cblxufVxuIl19 */
